diff options
Diffstat (limited to 'macros/musixtex/doc/musixdoc/extracting.tex')
-rw-r--r-- | macros/musixtex/doc/musixdoc/extracting.tex | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/macros/musixtex/doc/musixdoc/extracting.tex b/macros/musixtex/doc/musixdoc/extracting.tex new file mode 100644 index 0000000000..2039733fd0 --- /dev/null +++ b/macros/musixtex/doc/musixdoc/extracting.tex @@ -0,0 +1,101 @@ +\chapter{Extracting Parts from a Multi-Instrument Score}\label{parts} +From the typesetting viewpoint, the major characteristic of orchestral and +chamber music is that the scores not only have several instruments, but +variants of the same basic score are needed in which one of the instruments is +highlighted while some others are typeset in smaller notes or are +omitted. +Of course, it must be possible to permute the highlighted instruments and +the small-type instruments or +omitted instruments, depending on the instrument to which the +version of the score is dedicated. + +The following is the most general approach to part extraction when +using \musixtex\ without \textbf{PMX} or \textbf{M-Tx} pre-processors. A +simpler approach which will work for most purposes is described in Section~\ref{musixtnt}. + +\section{Coding rules}\label{CodingRules} + To make a ``selectable'' orchestral score you must prepare the master score +(i.e., the score with all instruments typed) as follows: + + \begin{enumerate} + \item Avoid referring to instrument numbers with roman +numerals. For example use \verb|\setclefs|~$n$ instead of +\verb|\cleftoksiii=| . + \item Introduce symbolic names for the instruments; for example, define: + \begin{verbatim} + \def\Piano{1}% + \def\Flute{2}% + \def\Oboe{3}% + \def\Soprano{4}% + \end{verbatim} +and code, for example + \smallskip + + \verb|\setstaffs\Piano2| rather than \verb|\setstaffs12|. + + \item If, initially, the Piano is the instrument number 1, replace all +\verb|\notes|, \verb|\Notes|, \verb|\NOtes|, etc., with +\verb|\notes\selectinstrument\Piano|, \verb|\Notes\selectinstrument\Piano|, +\verb|\NOtes\selectinstrument\Piano|, etc. + + \item Instead of using \verb|&| or \verb|\nextinstrument| to move to +instrument $n+1$, use \verb|\selectinstrument\Flute| and similar instead. + \end{enumerate} +For example, +\begin{verbatim} + \Notes\selectinstrument\Piano ... | ... + \selectinstrument\Flute ... + \selectinstrument\Oboe ... + \selectinstrument\Soprano ... \en +\end{verbatim} +With this coding, difficult things such as putting the Flute above the Oboe +are done easily: just say \verb|\def\Flute{3}| and \verb|\def\Oboe{2}|. + + \section{Selecting, hiding or putting instruments in the background} + + To put, for example, the Flute and the Oboe in the background, i.e., typesetting +them in small notes, state at the beginning: + \begin{quote} + \verb|\setsize\Flute\tinyvalue\setsize\Oboe\tinyvalue| + \end{quote} +where the value \keyindex{tinyvalue} for \keyindex{setsize} corresponds to notes and staffs +of size \keyindex{tinynotesize}. + If, instead of putting an instrument in the background, one wants to omit it, +this is done by: + \begin{quote} + \verb|\setstaffs\Flute{0}\setstaffs\Oboe{0}| + \end{quote} +since nothing is typeset for +instruments having \emph{zero} staffs (not to be confused with one-line staffs such +as percussions). + + \section{Recommendations} + \begin{itemize} + \item When hiding instruments, reduce +\keyindex{instrumentnumber} by the number of hidden instruments; otherwise +bars and leading braces will enclose the position of these dummy arguments, +which would be ugly. + + \item Exchange the actual instrument numbers so that hidden instruments have +numbers \emph{greater} than the value of \verb|\instrumentnumber|. + Hidden instruments with numbers +less than \verb|\instrumentnumber| will cause an excess of vertical +space at their phantom positions; this is not +recommended. + + \item In hidden instruments, rests no longer behave like \verb|\hbox{...}| and +\verb|raise|-ing them will result in an error. + + \item In hidden instruments, explicit \verb|\hbox|es will remain as empty +boxes, thus causing abnormal vertical spacings between instruments. Therefore, +anything suspect should be made conditional with: + +\begin{quote} +\keyindex{ifactiveinstrument}\ \textit{code to be omitted if instrument is hidden}\ \verb|\fi| +\end{quote} +Most \musixtex{} commands become properly hidden if requested. But +problematic +parts of code can nonetheless be protected with \verb|\ifactiveinstrument|. + + \end{itemize} + |