[Tex/LaTex] Formatting a book with scene markers

book-designindentationpage-breaking

I'm laying out my wife's book using LaTeX; I'm using KOMA-Script scrbook as my document class, but I don't think that my question here is specific to KOMA. Between certain scenes, we have scene markers to indicate to the reader that either time has passed or the point of view has changed; standard fare in novels. It would look something like:

…and we came to the end of the paragraph.

• • •

Meanwhile, in this other paragraph…

With the layout that I'm producing, I want to introduce two specific behaviours to this:

  1. I never want a scene separator as the first text on a page. If I have to squeeze some vertical spacing to fit the scene separator at the bottom of the previous page, that's what I want to do. If it's better to move some of the text of the previous page (while avoiding widows/orphans) to the new page, that's what I want to do. I'd also like to do this with as little human intervention as possible, since I'm using LaTeX as an intermediate format for the print document.

  2. I want the paragraph following the scene separator to not be indented, just as if this were the beginning of a chapter.

What I have made is a command:

\usepackage{fontspec,xunicode}
\defaultfontfeatures{Ligatures=TeX}
\newfontfamily\cleffont{Apple Symbols}
\makeatletter

\newcommand{\Scene}{%
  \begin{center}%
    {{\fontsize{2\dimexpr\f@size}%
    \z@\cleffont{𝄞}}}%
  \end{center}}
\makeatother

So that I use it as:

…and we came to the end of the paragraph.

\Scene

Meanwhile, in this other paragraph…

Can I do either of these, and how?

Best Answer

For 1. and 2. you can do something like this:

\makeatletter
\newcommand{\Scene}{%
  \par\nobreak\@afterheading
  \bgroup
  \begin{center}%
    {{\fontsize{2\dimexpr\f@size}%
      \z@\cleffont{𝄞}}}%
  \end{center}
  \egroup\@afterindentfalse\@afterheading}
\makeatother

or, to have even vertical spacing you could also say

\makeatletter
\newcommand{\Scene}{%
  \par\nobreak\@afterheading
  \vspace{\topsep}
  \addvspace{\topsep\relax}
    \noindent\hfil%
    {{\fontsize{2\dimexpr\f@size}%
      \z@\cleffont{𝄞}}}%
    \hfil\par%
  \vspace{\topsep}
  \@afterindentfalse\@afterheading%
}
\makeatother