diff options
Diffstat (limited to 'macros/generic/musixtex/doc/musixdoc/layout.tex')
-rw-r--r-- | macros/generic/musixtex/doc/musixdoc/layout.tex | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/macros/generic/musixtex/doc/musixdoc/layout.tex b/macros/generic/musixtex/doc/musixdoc/layout.tex new file mode 100644 index 0000000000..a22a88255c --- /dev/null +++ b/macros/generic/musixtex/doc/musixdoc/layout.tex @@ -0,0 +1,185 @@ +\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} |