185 lines
9 KiB
TeX
185 lines
9 KiB
TeX
\chapter{Managing the Layout of your Score}
|
|
\section{Line and page breaking}\label{linebreak}
|
|
If every bar ends with \verb|\bar| and no other line- or page-breaking commands
|
|
are used, then the external program \verb|musixflx| will decide where to insert
|
|
line and page breaks. Line breaks will only come at bar lines. The total
|
|
number of lines will depend on the initial value of \verb|\elemskip|, which by
|
|
default is \verb|6pt| in \verb|\normalmusicsize|.
|
|
|
|
You can force a line or page break by replacing \keyindex{bar} with
|
|
\keyindex{alaligne} or \keyindex{alapage} respectively. On the other hand,
|
|
to forbid line-breaking at a particular bar, replace \verb|\bar|
|
|
with \keyindex{xbar}. To force a line or page break where there is
|
|
no bar line, use \keyindex{zalaligne} or \keyindex{zalapage}. To mark any
|
|
mid-bar location as an optional line-breaking point, use \keyindex{zbar};
|
|
to force the mid-bar bar line to the end of a system, use \keyindex{zzbar}.
|
|
|
|
The heavy final double bar of a piece is one of the consequences of
|
|
\keyindex{Endpiece} or \keyindex{Stoppiece}. If you just want to terminate
|
|
the text with a simple bar, say \keyindex{stoppiece} or \keyindex{endpiece}.
|
|
To terminate it with no bar line at all, code \keyindex{zstoppiece}.
|
|
If you want to suppress right-justification of the last line of a score,
|
|
use \keyindex{raggedstoppiece}; the bar line can be suppressed by
|
|
using \keyindex{zendpiece} (or \keyindex{setemptybar}).
|
|
|
|
Once you have stopped the score by any of these means, you may want to restart
|
|
it, and there are several ways to do so. If you don't need to change the key
|
|
signature, meter, or clef,
|
|
you can use \keyindex{contpiece} for no indentation, or \keyindex{Contpiece}
|
|
to indent by \keyindex{parindent}. If you do want to change some score
|
|
attribute that takes up space, for example
|
|
with \keyindex{generalsignature} after \verb|\stoppiece|, then to restart you
|
|
must use \keyindex{startpiece}. However, if you don't want \verb|\barno| reset
|
|
to 1, you must save its new starting value to \verb|\startbarno|. You may also
|
|
wish to modify instrument names or \verb|\parindent| before restarting.
|
|
|
|
Recall that thin-thin or thin-thick double bars or blank bar lines can be
|
|
inserted without stopping by using the commands described in Section~\ref{doublebars}.
|
|
Those commands can also be used before \verb|\stoppiece|,
|
|
\verb|\alaligne|, or \verb|\alapage|
|
|
|
|
\section{Page layout}
|
|
Blank space above and below each staff is controlled by the dimension
|
|
registers \keyindex{stafftopmarg} and \keyindex{staffbotmarg}. For more
|
|
info see Chapter~\ref{LayoutParameters}.
|
|
|
|
The macro \keyindex{raggedbottom} will remove all vertical glue and
|
|
compact everything toward the top of page.
|
|
In contrast, the macro \keyindex{normalbottom} will restore default
|
|
behavior, in which vertical space between the systems is distributed
|
|
so that the first staff
|
|
on the page is all the way at the top and the last staff all the way at
|
|
the bottom.
|
|
The macro \keyindex{musicparskip} will allow the existing space between
|
|
systems to increase by up to \verb|5\Interligne|.
|
|
|
|
The following values of page-layout parameters will allow as much material
|
|
as possible
|
|
on a page, provided the printer supports these dimensions which
|
|
imply approximately half-inch margins:
|
|
|
|
\begin{center}
|
|
\begin{tabular}{|l|l|}\hline
|
|
\multicolumn{1}{|c|}{A$4$}&\multicolumn{1}{|c|}{letter}\\\hline
|
|
\verb+\hsize=190mm+&\verb+\hsize=7.5in+\\\hline
|
|
\verb+\vsize=270mm+&\verb+\vsize=10in+\\\hline
|
|
\end{tabular}
|
|
\end{center}
|
|
\zkeyindex{parindent}\zkeyindex{hoffset}\zkeyindex{voffset}
|
|
\zkeyindex{hsize}\zkeyindex{vsize}
|
|
You may have to be more conservative if you have headlines or footlines
|
|
or want
|
|
even/odd-page asymmetry, such as with the \keyindex{rectoverso}
|
|
command in \verb|musixsty.tex| (Section~\ref{musixsty}).
|
|
If a score is going to be ``published'' at a public repository (such as
|
|
\mbox{\textsc{imslp}}), you may want to allow for \emph{either}
|
|
A$4$ \emph{or} letter paper, for example by setting the \verb|\hsize| to~190~mm
|
|
and the \verb|\vsize| to~10~in.
|
|
|
|
To generate a score in ``landscape''\index{landscape mode} mode, adjust the
|
|
text-size parameters above accordingly (e.g., \verb+\hsize=10in+ and \verb+\vsize=7.5in+)
|
|
and add a suitable \verb\papersize\ ``special'' to the \TeX\ output, as in
|
|
\verb+\special{papersize=11in,8.5in}+.
|
|
|
|
|
|
For \emph{any} values of
|
|
\verb|\hsize| and \verb|\vsize|,
|
|
material will normally be centered on the page by using
|
|
command sequences such as the following, which simply split the difference between the page size and the text size,
|
|
and then subtract one inch because of \TeX\ conventions:
|
|
\begin{enumerate}
|
|
\item[For A$4$ paper, portrait mode (210~mm $\times$ 297~mm):]\quad\\[-2ex]
|
|
\begin{verbatim}
|
|
\hoffset=210mm\advance\hoffset-\hsize\divide\hoffset2
|
|
\advance\hoffset-1.0in
|
|
\voffset=297mm\advance\voffset-\vsize\divide\voffset2
|
|
\advance\voffset-1.0in
|
|
\end{verbatim}
|
|
\item[For letter-size paper, portrait mode (8.5~in $\times$ 11~in):] \quad\\[-2ex]
|
|
\begin{verbatim}
|
|
\hoffset=8.5in\advance\hoffset-\hsize\divide\hoffset2
|
|
\advance\hoffset-1.0in
|
|
\voffset=11in\advance\voffset-\vsize\divide\voffset2
|
|
\advance\voffset-1.0in
|
|
\end{verbatim}
|
|
\end{enumerate}
|
|
|
|
To determine the maximal dimensions that \emph{your} printer is capable of,
|
|
process the standard file \verb|testpage.tex| with \LaTeX\ and
|
|
print the result. The ``rulers'' on four sides will indicate
|
|
how much of the one-inch ``margin'' material outside the frame can actually be printed.
|
|
Your \verb|\hsize| and \verb|\vsize| parameters can be increased, or, if necessary, decreased
|
|
accordingly. If your score is going to be printed by a publisher or a colleague, you can send
|
|
\verb|testpage.pdf| to them to determine what margins are necessary for their
|
|
printer.
|
|
|
|
However, if the margins on the \verb|testpage| output are \emph{not}
|
|
symmetric,
|
|
the printer is mis-aligned.
|
|
If this can't be corrected, the margin offsets will
|
|
have to be adjusted. Ideally, this should be done in the \TeX\ configuration
|
|
so all \TeX\ output will be corrected, but offsets can be adjusted
|
|
for just \verb|musixtex| output using
|
|
\verb|\advance\hoffset ...| and/or
|
|
\verb|\advance\voffset ...|
|
|
after the ``normal'' settings given above.
|
|
|
|
|
|
|
|
|
|
\section{Page numbering, headers and footers}\index{page
|
|
number}\index{footnote}
|
|
|
|
There are no special page numbering facilities in \musixtex; you must rely on
|
|
macros from plain \TeX. There is a count register in \TeX\ called
|
|
\verb|\pageno|. It is always initialized to $1$ and incremented by one
|
|
at every page break. By saying \keyindex{pageno}\verb|=|$n$, it can be reset to any
|
|
value at any time, and will continue to be incremented from the new value.
|
|
|
|
By default, \TeX\ will place a page number on
|
|
every page, centered at the bottom. Unfortunately, this is not the preferred
|
|
location according to any standard practice. To suppress this default
|
|
behavior, say \keyindex{nopagenumbers}.
|
|
|
|
One way to initiate page numbering in a more acceptable location is to take
|
|
advantage of the facts that (a) \TeX\ prints the contents of the control sequences
|
|
\keyindex{headline} and \keyindex{footline} at the top and bottom
|
|
respectively of every page, and (b) the value of \verb|\pageno| can be printed by
|
|
saying \keyindex{folio}. Therefore, for example, the following sequence of
|
|
commands, issued anywhere before the end of the first page, will cause page
|
|
numbers and any desired text to be printed at the top of every page,
|
|
alternating between placement of the number at the left and right margins, and
|
|
alternating between the two different text strings (the capitalized text in
|
|
the example):
|
|
|
|
\begin{quote}\begin{verbatim}
|
|
\nopagenumbers
|
|
\headline={\ifodd\pageno\rightheadline\else\leftheadline\fi}%
|
|
\def\rightheadline{\tenrm\hfil RIGHT RUNNING HEAD\hfil\folio}%
|
|
\def\leftheadline{\tenrm\folio\hfil LEFT RUNNING HEAD\hfil}%
|
|
\voffset=2\baselineskip
|
|
\end{verbatim}\end{quote}
|
|
|
|
\section{Controlling the total number of systems and pages}\index{page/line layout}
|
|
|
|
Once all the notes are entered into a \musixtex\ score, it would be convenient
|
|
if there were a simple sequence of commands to
|
|
cause a specified number of systems to be uniformly distributed over a
|
|
specified number of pages. Unfortunately that's not directly
|
|
possible\footnote{It \textit{is} possible in \textbf{PMX}.}.
|
|
Rather, some trial and error will usually be required to achieve the desired final
|
|
layout. To this end, some combination of the following strategies may be used:
|
|
|
|
\begin{enumerate}\setlength{\itemsep}{0ex}
|
|
\item Assign a value to the count register \keyindex{linegoal} representing
|
|
the total number of systems. The count register \keyindex{mulooseness} must be $0$ if using
|
|
\verb|\linegoal|.
|
|
\item Explicitly force line and page breaking as desired, using
|
|
the macros \verb|\alaligne|, \verb|\alapage|, \verb|\zalaligne|
|
|
or \verb|\zalapage|.
|
|
\item Adjust both \keyindex{mulooseness} and the initial value of
|
|
\keyindex{elemskip}: increasing \verb|\mulooseness| from its default of 0 will
|
|
increase the total number of systems, while changing the initial value of
|
|
\verb|\elemskip| (use \verb|\showthe\elemskip| to find its default value) may change the
|
|
total number of systems accordingly.
|
|
\end{enumerate}
|