Tag 6
This commit is contained in:
parent
c1d3b34851
commit
200080fe9d
241 changed files with 62140 additions and 10 deletions
74
musixtex/doc/musixdoc/accidentals.tex
Normal file
74
musixtex/doc/musixdoc/accidentals.tex
Normal file
|
@ -0,0 +1,74 @@
|
|||
\chapter{Accidentals}
|
||||
\vspace*{-3ex}
|
||||
Accidentals can be introduced in two ways.
|
||||
The first way, using explicit macros, consists for
|
||||
example in coding \keyindex{fl}\pitchp~to put a \ital{flat} at the
|
||||
pitch $p$, presumably right before a note at the same pitch. This is a
|
||||
non-spacing command and will automatically place the accidental an
|
||||
appropriate distance to the left of the anticipated note head.
|
||||
Naturals, sharps, double flats and double sharps are coded \keyindex{na}\pitchp,
|
||||
\keyindex{sh}\pitchp, \keyindex{dfl}\pitchp~and \keyindex{dsh}\pitchp~respectively.
|
||||
|
||||
The alternate macros \keyindex{lfl}, \keyindex{lna}, \keyindex{lsh},
|
||||
\keyindex{ldfl} and \keyindex{ldsh}
|
||||
place the same accidentals, but shifted one note head width
|
||||
to the left. These can be used if a note head has been shifted to the left, or
|
||||
to avoid collision with other accidentals
|
||||
in a chord. If you want to shift an accidental by some other amount for
|
||||
more precise positioning, you could use \keyindex{loffset} with the normal
|
||||
accidental macro as the second parameter.
|
||||
|
||||
The second way of coding accidentals is to modify the parameter of a
|
||||
note command. Just put the symbol
|
||||
\verb|^| for a sharp, \verb|_| for a flat, \verb|=|~for a natural,
|
||||
\verb|>| for a double sharp, or \verb|<| for a double
|
||||
flat, right before the letter or number representing the pitch.
|
||||
For example, \verb|\qb{^g}| yields a
|
||||
$G\sharp$. This may be used effectively in collective coding, e.g.
|
||||
\verb|\qu{ac^d}|.
|
||||
|
||||
There are two sizes of accidentals. By default they will be large unless there
|
||||
is not enough space between notes, in which case they will be made small. Either
|
||||
size can be forced locally by coding \keyindex{bigfl}, \keyindex{bigsh}, etc., or
|
||||
\keyindex{smallfl}, \keyindex{smallsh}, etc. If you want all accidentals to
|
||||
be large, then declare \keyindex{bigaccid} near the top of the input file. For
|
||||
exclusively small ones use \keyindex{smallaccid}; \keyindex{varaccid} will restore
|
||||
variable sizes.
|
||||
|
||||
For editorial purposes, small accidentals can be placed \ital{above} note
|
||||
heads. This is done using \keyindex{uppersh}\pitchp, \keyindex{upperna}\pitchp, or
|
||||
\keyindex{upperfl}\pitchp:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOtes\uppersh l\qa l\en
|
||||
\NOtes\upperna m\qa m\en
|
||||
\NOtes\upperfl l\qa l\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
\vspace*{-2ex}
|
||||
It also possible to introduce \ital{\ixem{cautionary accidental}s},
|
||||
i.e.,~small accidentals enclosed in parentheses. This is done by preceding
|
||||
the name of the accidental keyword with ``\verb|c|''\label{cautionary}.
|
||||
Available cautionary accidentals are \keyindex{csh}, \keyindex{cfl},
|
||||
\keyindex{cna},
|
||||
\keyindex{cdfl} and \keyindex{cdsh}, which give
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOtes\csh g\qa g\en
|
||||
\NOtes\cfl h\qa h\en
|
||||
\NOtes\cna i\qa i\en
|
||||
\NOtes\cdfl j\qa j\en
|
||||
\NOtes\cdsh k\qa k\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
\vspace*{-2ex}
|
||||
\noindent The distance between notes and accidentals is controlled by
|
||||
\keyindex{accshift}\verb|=|\ital{any \TeX\ dimension}, where
|
||||
positive values shift to the left and negative to right, with a
|
||||
default of~\verb|0pt|.
|
||||
For ``big'' cautionary accidentals, use, for example,
|
||||
\verb|{|\keyindex{largenotesize}\verb|\csh|\pitchp\verb|}| or see Section~\ref{brapar}.
|
310
musixtex/doc/musixdoc/barlines.tex
Normal file
310
musixtex/doc/musixdoc/barlines.tex
Normal file
|
@ -0,0 +1,310 @@
|
|||
\chapter{Bar Lines}
|
||||
\section{Single, double, and invisible bar lines}\label{doublebars}
|
||||
The usual macro to typeset a single bar line is \keyindex{bar}.
|
||||
There is a possibility of
|
||||
confusion with a command in \TeX's math mode that has exactly the same name.
|
||||
However, there will generally be no problem, because inside
|
||||
\verb|\startpiece...\endpiece|,
|
||||
\verb|\bar| will take the musical meaning, while outside, it will have the
|
||||
mathematical one.
|
||||
If for some reason you need the math \verb|\bar| inside, you can use
|
||||
\verb|\endcatcodesmusic...\bar...\catcodesmusic|.
|
||||
|
||||
To typeset a double bar line with two thin rules, use \keyindex{doublebar}. You could
|
||||
also issue \keyindex{setdoublebar} to cause the next \verb|\bar| (or
|
||||
\keyindex{stoppiece}, \keyindex{alaligne}, or \keyindex{alapage}) to be replaced
|
||||
by a double bar.
|
||||
There is no specific command to print a thin-thick double bar line, but
|
||||
\keyindex{setdoubleBAR} will cause one in the same cases where
|
||||
\verb|\setdoublebar| would cause a thin-thin double bar line.
|
||||
To typeset a double-bar line in the middle of a bar, use \keyindex{zdoublebar};
|
||||
use \keyindex{zzdoublebar} to force the mid-bar double-bar line to the end
|
||||
of a system.
|
||||
|
||||
To make the next bar line invisible, use \keyindex{setemptybar} before
|
||||
\verb|\bar|.
|
||||
|
||||
You can suppress the beginning vertical rule with saying \keyindex{nostartrule}
|
||||
and restore the default with \keyindex{startrule} after that. Note that
|
||||
it is conventional practice to omit beginning rules for single-staff music.
|
||||
|
||||
\section{Simple discontinuous bar lines}
|
||||
Normally, bars (as well as double bars, final bars and repeat bars) are
|
||||
drawn continuously from the bottom of the lowest staff of the
|
||||
lowest instrument to the top of the highest staff of the uppermost
|
||||
instrument. However, if desired, they can be made discontinuous between
|
||||
instruments by saying \keyindex{sepbarrules}. An example of this is given in
|
||||
%avrb
|
||||
%{\tt ANGESCAO} (or {\tt ANGESCAM}) example; it has also been used in the
|
||||
%avre
|
||||
\texttt{avemaria.tex} in Section~\ref{avemaria}\label{avemaria2}.
|
||||
|
||||
Continuous bar lines can be restored with \keyindex{stdbarrules}. In
|
||||
the extension library are some more types of bar rules, mainly for very old
|
||||
music, see Section~\ref{otherbars}.
|
||||
|
||||
% DAS. Andre, are there some other kinds of bars in an addon?
|
||||
|
||||
\section{Elementary asynchronous bar lines}
|
||||
|
||||
Situations may arise where the bar lines in different instruments are not
|
||||
aligned with one another. To set this up, first say \verb|\sepbarrules|.
|
||||
Then use a combination of the following five commands:
|
||||
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
\item\keyindex{hidebarrule}\onen~hides the bar rule for instrument $n$, until
|
||||
this is changed by \verb|\showbarrule|\onen.
|
||||
\item\keyindex{showbarrule}\onen~stops hiding the bar rule for instrument $n$,
|
||||
until this is changed by \verb|\hidebarrule|\onen.
|
||||
\item\keyindex{Hidebarrule}\onen~hides the bar rule for instrument $n$, only
|
||||
for the next bar.
|
||||
\item\keyindex{Showbarrule}\onen~shows the bar rule for instrument
|
||||
$n$ once only,
|
||||
and then resets it.
|
||||
%
|
||||
% DAS ???
|
||||
% and then resets it to \verb|hidebarrule|.
|
||||
%
|
||||
\item\keyindex{showallbarrules} resets all defined instruments to
|
||||
\verb|\showbarrule|\onen. This command is automatically inserted with double
|
||||
bars, final bars and repeats.
|
||||
\end{itemize}
|
||||
|
||||
Thus, this example
|
||||
|
||||
\begin{music}
|
||||
\instrumentnumber3
|
||||
\setmeter3{{\meterfrac{3}{4}}}
|
||||
\setmeter2{{\meterfrac{2}{4}}}
|
||||
\setmeter1{{\meterfrac{3}{8}}}
|
||||
\nobarnumbers
|
||||
\sepbarrules
|
||||
|
||||
\startextract
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\hidebarrule2\hidebarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\showbarrule2\bar
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\hidebarrule2\showbarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\showbarrule2\hidebarrule3\bar
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\hidebarrule2\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\setdoublebar
|
||||
\bar\hidebarrule3
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\Hidebarrule2\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\bar
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\message{Showbarrule3 coming}%
|
||||
\Hidebarrule2\Showbarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\bar
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\Hidebarrule2\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\setrightrepeat
|
||||
\endextract
|
||||
\end{music}
|
||||
|
||||
\noindent was obtained with the following coding:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\instrumentnumber3
|
||||
\setmeter3{{\meterfrac{3}{4}}}
|
||||
\setmeter2{{\meterfrac{2}{4}}}
|
||||
\setmeter1{{\meterfrac{3}{8}}}
|
||||
\nobarnumbers
|
||||
\sepbarrules
|
||||
|
||||
\startextract
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\hidebarrule2\hidebarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\showbarrule2\bar
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\hidebarrule2\showbarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\showbarrule2\hidebarrule3\bar
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\hidebarrule2\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\setdoublebar
|
||||
\bar\hidebarrule3
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\Hidebarrule2\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\bar
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\message{Showbarrule3 coming}%
|
||||
\Hidebarrule2\Showbarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\bar
|
||||
\NOtes\pt f\qa f&\qa f&\qa f\en
|
||||
\Hidebarrule2\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
|
||||
\setrightrepeat
|
||||
\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section{Dotted, dashed, asynchronous and discontinuous bar lines}\label{musixdbr}
|
||||
|
||||
The extension
|
||||
package \href{http://icking-music-archive.org/software/musixtex/add-ons/musixdbr.tex}
|
||||
{\underline{\ttxem{musixdbr.tex}}} by Rainer {\sc Dunker} provides commands for
|
||||
dashed, dotted, and arbitrarily discontinuous bar lines. It supports
|
||||
individual bar line settings for each instrument, multi-staff instruments,
|
||||
different sizes of staves, and even different numbers of lines per staff,
|
||||
|
||||
To use the package, you must \verb|\input musixdbr| after \verb|musixtex|, and
|
||||
execute the macro \keyindex{indivbarrules} which activates individual bar line
|
||||
processing. Then the following commands are available:
|
||||
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
|
||||
\item \keyindex{sepbarrule}\onen~separates bar lines of instrument $n$ from those of instrument $n-1$
|
||||
|
||||
\item \keyindex{condashbarrule}\onen~connects bar lines of instrument $n$ to those of instrument $n-1$
|
||||
with a dashed line
|
||||
|
||||
\item \keyindex{condotbarrule}\onen~connects bar lines of instrument $n$ to those of instrument $n-1$
|
||||
with a dotted line
|
||||
|
||||
\item \keyindex{conbarrule}\onen~connects bar lines of instrument $n$ to those of instrument $n-1$
|
||||
|
||||
\item \keyindex{hidebarrule}\onen~hides bar lines of instrument $n$
|
||||
|
||||
\item \keyindex{showdashbarrule}\onen~dashes bar lines of instrument $n$
|
||||
|
||||
\item \keyindex{showdotbarrule}\onen~dots bar lines of instrument $n$
|
||||
|
||||
\item \keyindex{showbarrule}\onen~shows bar lines of instrument $n$
|
||||
|
||||
\item \keyindex{sepmultibarrule}\onen~separates bar lines within multistaff instrument $n$
|
||||
|
||||
\item \keyindex{condashmultibarrule}\onen~dashes bar lines between staves of multistaff instrument $n$
|
||||
|
||||
\item \keyindex{condotmultibarrule}\onen~dots bar lines between staves of multistaff instrument $n$
|
||||
|
||||
\item \keyindex{conmultibarrule}\onen~ shows bar lines between staves of multistaff instrument $n$
|
||||
|
||||
\item \keyindex{allbarrules}[\ital{any of the above commands, without numerical parameter}] sets bar
|
||||
line style for all instruments together.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
Dashing and dotting style may be changed by redefining the macros
|
||||
\verb|\barlinedash| or \verb|\barlinedots| respectively (see original definitions in \verb|musixdbr.tex|).
|
||||
|
||||
Here is an example of the use of these macros:
|
||||
|
||||
\begin{music}
|
||||
\input musixdbr
|
||||
|
||||
\instrumentnumber4 \setstaffs23 \setstaffs32 \setlines14\setsize2\tinyvalue
|
||||
\indivbarrules
|
||||
\parindent0pt\startextract
|
||||
%\startpiece
|
||||
%\scale{2}
|
||||
% normal barlines
|
||||
\bar
|
||||
% separate instrument 2 from 1
|
||||
\sepbarrule2
|
||||
\notes\en\bar
|
||||
% barlines on staves
|
||||
\allbarrules\sepbarrule
|
||||
\allbarrules\sepmultibarrule
|
||||
\allbarrules\showbarrule
|
||||
\NOTes\en\bar
|
||||
% barlines between staves
|
||||
\allbarrules\conbarrule
|
||||
\allbarrules\conmultibarrule
|
||||
\allbarrules\hidebarrule
|
||||
\NOTes\en\bar
|
||||
% dashed barlines on staves
|
||||
\allbarrules\sepbarrule
|
||||
\allbarrules\sepmultibarrule
|
||||
\allbarrules\showdashbarrule
|
||||
\NOTes\en\bar
|
||||
% dashed barlines between staves
|
||||
\allbarrules\condashbarrule
|
||||
\allbarrules\condashmultibarrule
|
||||
\allbarrules\hidebarrule
|
||||
\NOTes\en\bar
|
||||
% dotted barlines on staves
|
||||
\allbarrules\sepbarrule
|
||||
\allbarrules\sepmultibarrule
|
||||
\allbarrules\showdotbarrule
|
||||
\NOTes\en\bar
|
||||
% dotted barlines between staves
|
||||
\allbarrules\condotbarrule
|
||||
\allbarrules\condotmultibarrule
|
||||
\allbarrules\hidebarrule
|
||||
\NOTes\en\bar
|
||||
% a wild mixture of all
|
||||
\showdotbarrule1\hidebarrule2\showdashbarrule3\showbarrule4%
|
||||
\condashbarrule2\conbarrule3\condotbarrule4%
|
||||
\condashmultibarrule2\sepmultibarrule3%
|
||||
\NOTes\en\bar
|
||||
% conventional ending
|
||||
\allbarrules\showbarrule
|
||||
\allbarrules\conbarrule
|
||||
\allbarrules\conmultibarrule
|
||||
\NOTes\en\setdoubleBAR\endextract
|
||||
\end{music}
|
||||
|
||||
This is the code:
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\input musixdbr
|
||||
\instrumentnumber4\setstaffs23\setstaffs32\setlines14\setsize2\tinyvalue
|
||||
\indivbarrules\parindent0pt\startextract
|
||||
% normal barlines
|
||||
\bar
|
||||
% separate instrument 2 from 1
|
||||
\sepbarrule2
|
||||
\notes\en\bar
|
||||
% barlines on staves
|
||||
\allbarrules\sepbarrule
|
||||
\allbarrules\sepmultibarrule
|
||||
\allbarrules\showbarrule
|
||||
\NOTes\en\bar
|
||||
% barlines between staves
|
||||
\allbarrules\conbarrule
|
||||
\allbarrules\conmultibarrule
|
||||
\allbarrules\hidebarrule
|
||||
\NOTes\en\bar
|
||||
% dashed barlines on staves
|
||||
\allbarrules\sepbarrule
|
||||
\allbarrules\sepmultibarrule
|
||||
\allbarrules\showdashbarrule
|
||||
\NOTes\en\bar
|
||||
% dashed barlines between staves
|
||||
\allbarrules\condashbarrule
|
||||
\allbarrules\condashmultibarrule
|
||||
\allbarrules\hidebarrule
|
||||
\NOTes\en\bar
|
||||
% dotted barlines on staves
|
||||
\allbarrules\sepbarrule
|
||||
\allbarrules\sepmultibarrule
|
||||
\allbarrules\showdotbarrule
|
||||
\NOTes\en\bar
|
||||
% dotted barlines between staves
|
||||
\allbarrules\condotbarrule
|
||||
\allbarrules\condotmultibarrule
|
||||
\allbarrules\hidebarrule
|
||||
\NOTes\en\bar
|
||||
% a wild mixture of all
|
||||
\showdotbarrule1\hidebarrule2\showdashbarrule3\showbarrule4%
|
||||
\condashbarrule2\conbarrule3\condotbarrule4%
|
||||
\condashmultibarrule2\sepmultibarrule3%
|
||||
\NOTes\en\bar
|
||||
% conventional ending
|
||||
\allbarrules\showbarrule
|
||||
\allbarrules\conbarrule
|
||||
\allbarrules\conmultibarrule
|
||||
\NOTes\en\setdoubleBAR\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
|
127
musixtex/doc/musixdoc/barnumbering.tex
Normal file
127
musixtex/doc/musixdoc/barnumbering.tex
Normal file
|
@ -0,0 +1,127 @@
|
|||
\chapter{Bar Numbering}
|
||||
The current bar number is stored in a count register call \keyindex{barno}.
|
||||
When \verb|\startpiece| is encountered, \verb|\barno| is set equal to
|
||||
another count register called \verb|\startbarno|, whose default value is one.
|
||||
Therefore, if you want the first bar to have a number $n$ different from~$1$, you
|
||||
may either say \verb|\startbarno=|$n$ before \verb|\startpiece|, or say
|
||||
\verb|\barno=|$n$ afterwards, but before the first bar line. You may also alter the bar
|
||||
number at any time, either by explicitly resetting \verb|\barno|, or by
|
||||
incrementing it with a command like \verb|\advance\barno-1|.
|
||||
|
||||
\musixtex\ supports two distinct modes for printing bar numbers. In \ital{periodic}
|
||||
bar numbering, the bar number is
|
||||
placed above the top staff with a user-selectable frequency. In
|
||||
\ital{system} bar numbering, the
|
||||
number will appear at the beginning of each system.
|
||||
|
||||
\section{Periodic bar numbering}
|
||||
In a normal piece, periodic bar number printing is turned on by default, with a frequency
|
||||
of one. In an extract, the default is to not print bar numbers.
|
||||
To turn off bar numbering say \keyindex{nobarnumbers}. To reinstate periodic
|
||||
bar numbering, or to initiate it in an extract, say \keyindex{barnumbers}.
|
||||
To change to a
|
||||
different frequency $n$, say \verb|\def|\keyindex{freqbarno}\verb|{|$n$\verb|}|.
|
||||
|
||||
The appearance and positioning of the bar number is controlled by the
|
||||
token \keyindex{writethebarno}, which by default is defined as\\
|
||||
\verb|\def\writethebarno{\fontbarno\the\barno\kernm\qn@width}|
|
||||
where the font is defined as \verb|\def\fontbarno{\it}|. You can change
|
||||
either of these as desired, for example
|
||||
|
||||
\medskip
|
||||
\begin{music}\barnumbers
|
||||
\parindent0pt\startpiece
|
||||
\Notes\Dqbu gh\Dqbl jh\en
|
||||
\notes\Dqbbu fg\Dqbbl hk\en\bar
|
||||
\Notes\Tqbu ghi\Tqbl mmj\en
|
||||
\def\fontbarno{\bf}%
|
||||
\notes\Tqbbu fgj\Tqbbl njh\en\bar
|
||||
\Notes\Qqbu ghjh\Qqbl jifh\en\bar
|
||||
\notes\Qqbbu fgge\Qqbbl jhgi\en\endpiece
|
||||
\end{music}
|
||||
\noindent which was coded as
|
||||
\begin{quote}\begin{verbatim}\barnumbers
|
||||
\Notes\Dqbu gh\Dqbl jh\en
|
||||
\notes\Dqbbu fg\Dqbbl hk\en\bar
|
||||
\Notes\Tqbu ghi\Tqbl mmj\en
|
||||
\def\fontbarno{\bf}%
|
||||
\notes\Tqbbu fgj\Tqbbl njh\en\bar
|
||||
\Notes\Qqbu ghjh\Qqbl jifh\en\bar
|
||||
\notes\Qqbbu fgge\Qqbbl jhgi\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section{System bar numbering}
|
||||
To have a bar number printed just above the beginning of each system, use
|
||||
\keyindex{systemnumbers}. The distance above the staff is controlled
|
||||
by \verb|\raisebarno|, which by default is \verb|4\internote| (to fit
|
||||
above a treble clef). This can be redefined with the command
|
||||
\begin{quote}
|
||||
\verb|\def|\keyindex{raisebarno}\verb|{|\ital{any \TeX~dimension}\verb|}|
|
||||
\end{quote}
|
||||
Similarly, the horizontal position is defined by \keyindex{shiftbarno}
|
||||
which by default is \verb|0pt|.
|
||||
|
||||
The number normally is enclosed in a
|
||||
box. If you don't like that, you may redefine the macro \verb|\writebarno|
|
||||
which by default is defined as
|
||||
\begin{quote}
|
||||
\verb|\def|\keyindex{writebarno}\verb|{\boxit{\eightbf\the\barno\barnoadd}}|
|
||||
\end{quote}
|
||||
This uses the utility \musixtex\ macro \keyindex{boxit} which will enclose
|
||||
any text string in a box.
|
||||
|
||||
Here are some possible alternate formats for system bar numbers:
|
||||
|
||||
\medskip
|
||||
\begin{music}\nostartrule
|
||||
\def\fontbarno{\it}%
|
||||
\let\extractline\hbox
|
||||
\startbarno=36
|
||||
\hbox to \hsize{%
|
||||
\hss
|
||||
\raise20pt\hbox{(a) }%
|
||||
\systemnumbers\startextract
|
||||
\Notes\wh g\en
|
||||
\zendextract
|
||||
\hss
|
||||
\def\writebarno{\tenrm\the\barno\barnoadd}%
|
||||
\def\raisebarno{2\internote}%
|
||||
\def\shiftbarno{2.5\Interligne}%
|
||||
\raise20pt\hbox{(b) }%
|
||||
\systemnumbers\startextract
|
||||
\Notes\wh g\en
|
||||
\zendextract
|
||||
\hss
|
||||
\def\writebarno{\llap{\tenbf\the\barno\barnoadd}}%
|
||||
\def\raisebarno{2\internote}%
|
||||
\def\shiftbarno{1.3\Interligne}%
|
||||
\raise20pt\hbox{(c) }%
|
||||
\systemnumbers\startextract
|
||||
\Notes\wh g\en
|
||||
\zendextract
|
||||
\hss}
|
||||
\end{music}
|
||||
\noindent These were coded as
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
\item[(a)] (default)
|
||||
\item[(b)]
|
||||
\begin{verbatim}
|
||||
\def\writebarno{\tenrm\the\barno\barnoadd}%
|
||||
\def\raisebarno{2\internote}%
|
||||
\def\shiftbarno{2.5\Interligne}%
|
||||
\end{verbatim}
|
||||
\item[(c)]
|
||||
\begin{verbatim}
|
||||
\def\writebarno{\llap{\tenbf\the\barno\barnoadd}}%
|
||||
\def\raisebarno{2\internote}%
|
||||
\def\shiftbarno{1.3\Interligne}%
|
||||
\end{verbatim}
|
||||
\end{itemize}
|
||||
|
||||
If the previous line does not stop with a bar rule, then the next
|
||||
printed system bar number will immediately be followed by the contents
|
||||
of the token \keyindex{writezbarno}, whose
|
||||
default setting is the lower case character `\verb|a|'. You might want to
|
||||
change this to `\verb|+|', in which case you should say
|
||||
\verb|\def\writezbarno{+}|.
|
||||
|
627
musixtex/doc/musixdoc/beams.tex
Normal file
627
musixtex/doc/musixdoc/beams.tex
Normal file
|
@ -0,0 +1,627 @@
|
|||
\chapter{Beams}
|
||||
\section{Starting a beam}
|
||||
|
||||
Each beam must be declared with a macro issued before the first spacing
|
||||
note under the beam is coded. Two distinct kinds of macros are provided
|
||||
for this. The first kind initiates a ``fixed-slope'' beam, with an arbitrary
|
||||
slope and starting height chosen by the user, while the second kind, a
|
||||
``semi-automatic'' beam,
|
||||
\ital{computes}~the slope and, in addition, adjusts the starting height in some
|
||||
cases.
|
||||
|
||||
\def\nps{{\tt\char123}$n${\tt\char125}\pitchp{\tt\char123}$s${\tt\char125}}
|
||||
|
||||
The basic form of the macros for starting fixed-slope beams is exemplified
|
||||
by the one for a single upper beam, \keyindex{ibu}\nps. Here
|
||||
$n$ is the reference number of the beam, $p$ the starting ``pitch'', and
|
||||
$s$ the slope.
|
||||
|
||||
The reference number is assigned by the user.
|
||||
It is needed because more than one beam may be open at
|
||||
a time, and it tells \musixtex\ to which beam subsequent beamed notes and
|
||||
other beam specification commands are assigned.
|
||||
By default, the reference number must be in the range [$0,5$],
|
||||
but the range for 8th to 128th beams will be expanded to [$0,8$] or [$0,11$]
|
||||
if \verb|musixadd| or \verb|musixmad| respectively has been \verb|\input|.
|
||||
|
||||
Alternatively, you can specify the number of $8$th to $64$th beams
|
||||
directly\footnote{$8$th to $64$th beams are so basic that the maximum
|
||||
number of these beams is related to the maximum number of instruments
|
||||
by this command.
|
||||
Using $m>12$ may require e-\TeX.}
|
||||
with \keyindex{setmaxinstruments}\verb|{|$m$\verb|}|
|
||||
within the range $7<m\leq 100$; the corresponding reference number may then be
|
||||
in the range from 0 to $(m-1)$.
|
||||
\label{musixmad_setmaxinstruments_ccxviiibeams}
|
||||
For $128$th beams, use \keyindex{setmaxcxxviiibeams}\verb|{|$m$\verb|}|.
|
||||
For $256$th notes, which can only appear in beams, see Section~\ref{musixbbm}.
|
||||
|
||||
The ``pitch'' parameter $p$ is a pitch that is three
|
||||
staff spaces \ital{below} the bottom of the heavy connecting bar (\ital{above}
|
||||
the bar for a lower beam); in many (but not all)
|
||||
cases it should be input as the actual pitch of the first note. The slope $s$
|
||||
is an integer in the range [$-9,9$]. When multipled
|
||||
by $5$\%~it gives the actual slope of the heavy bar. Typically a slope of $2$ or $3$
|
||||
is okay for ascending scales, and $6$ to $9$ for ascending arpeggios.
|
||||
|
||||
The full set of fixed-slope beam initiation macros is as follows:
|
||||
\begin{quote}\begin{description}\setlength{\itemsep}{0ex}
|
||||
|
||||
\item[\keyindex{ibu}\nps~:]initiates an \ital{upper beam}.
|
||||
\item[\keyindex{ibl}\nps~:]initiates a \ital{lower beam}.
|
||||
\item[\keyindex{ibbu}\nps~:]initiates a \ital{double upper beam}.
|
||||
\item[\keyindex{ibbl}\nps~:]initiates a \ital{double lower beam}.
|
||||
\item[\keyindex{ibbbu}\nps~:]initiates a \ital{triple upper beam}.
|
||||
\item[\keyindex{ibbbl}\nps~:]initiates a \ital{triple lower beam}.
|
||||
\item[\keyindex{ibbbbu}\nps~:]initiates a \ital{quadruple upper beam}.
|
||||
\item[\keyindex{ibbbbl}\nps~:]initiates a \ital{quadruple lower beam}.
|
||||
\end{description}\end{quote}
|
||||
|
||||
A semi-automatic beam is initiated with a command that has \ital{four}
|
||||
parameters, the beam number, the first and last pitches, and the total
|
||||
horizontal extent in
|
||||
\verb|\noteskip|s, based on the value in effect at the start. For example,
|
||||
if you input \verb|\Ibu2gj3|, \musixtex\ will understand that you want to
|
||||
build an upper beam (beam number $2$) horizontally extending \verb|3\noteskip|,
|
||||
the first note of which is a \verb|g| and the last note a \verb|j|.
|
||||
Knowing these parameters it will choose the highest slope number that
|
||||
corresponds to a slope not more than $(\hbox{\tt j}-\hbox{\tt
|
||||
g})/(3\keyindex{noteskip})$. The nominal height of the heavy bar is offset the same as
|
||||
for fixed-slope beams. However, if there is no sufficiently steep beam
|
||||
slope available, then \musixtex\ will raise (or lower) the starting point.
|
||||
|
||||
Eight such macros are available: \keyindex{Ibu}, \keyindex{Ibbu},
|
||||
\keyindex{Ibbbu}, \keyindex{Ibbbbu}, \keyindex{Ibl}, \keyindex{Ibbl},
|
||||
\keyindex{Ibbbl} and \keyindex{Ibbbbl}.
|
||||
|
||||
\section{Adding notes to a beam}
|
||||
|
||||
Spacing notes belonging to beams are coded with the macro
|
||||
\keyindex{qb}\verb|{|$n$\verb|}|\pitchp~where $n$ is
|
||||
the beam number and $p$ the pitch of the note. \musixtex\ adjusts the
|
||||
length of the note stem to link to the beam.
|
||||
|
||||
Chord notes within a beam are entered before the main note with the
|
||||
non-spacing macro \keyindex{zqb}\verb|{|$n$\verb|}|\pitchp. Again,
|
||||
the stem length will be automatically adjusted as required.
|
||||
|
||||
There are also special macros for semi-automatic beams with
|
||||
two, three, or four notes:
|
||||
\keyindex{Dqbu}, \keyindex{Dqbl}, \keyindex{Dqbbu}, \keyindex{Dqbbl},
|
||||
\keyindex{Tqbu}, \keyindex{Tqbl}, \keyindex{Tqbbu}, \keyindex{Tqbbl},
|
||||
\keyindex{Qqbu}, \keyindex{Qqbl}, \keyindex{Qqbbu} and \keyindex{Qqbbl}.
|
||||
%\check
|
||||
For example \verb|\Dqbu gh| is equivalent to \verb|Iqbu1gh\qb1 g\tbu1\qb1 h|,
|
||||
except that the special macros don't require a beam number.
|
||||
Their use is illustrated in the following example:
|
||||
|
||||
\medskip
|
||||
\begin{music}\nostartrule
|
||||
\parindent0pt\startpiece
|
||||
\Notes\Dqbu gh\Dqbl jh\en
|
||||
\notes\Dqbbu fg\Dqbbl hk\en\bar
|
||||
\Notes\Tqbu ghi\Tqbl mmj\en
|
||||
\notes\Tqbbu fgj\Tqbbl njh\en\bar
|
||||
\Notes\Qqbu ghjh\Qqbl jifh\en
|
||||
\notes\Qqbbu fgge\Qqbbl jhgi\en\setemptybar\endpiece
|
||||
\end{music}
|
||||
\noindent This was coded as\footnote{Editor's note: Most music
|
||||
typesetting books recommend beam slopes that are \ital{less} than
|
||||
the slope between the starting and ending note; these macros cannot
|
||||
provide that.}:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\Dqbu gh\Dqbl jh\en
|
||||
\notes\Dqbbu fg\Dqbbl hk\en\bar
|
||||
\Notes\Tqbu ghi\Tqbl mmj\en
|
||||
\notes\Tqbbu fgj\Tqbbl njh\en\bar
|
||||
\Notes\Qqbu ghjh\Qqbl jifh\en
|
||||
\notes\Qqbbu fgge\Qqbbl jhgi\en
|
||||
\end{verbatim}\end{quote}
|
||||
%\check
|
||||
|
||||
\section{Ending a beam}
|
||||
The termination of a given
|
||||
beam must be declared \ital{before} coding the last spacing note
|
||||
connected to that beam. The macros for doing that are
|
||||
\keyindex{tbu}\verb|{|$n$\verb|}| for an upper beam and
|
||||
\keyindex{tbl}\verb|{|$n$\verb|}| for a lower one. These work for
|
||||
beams of any
|
||||
multiplicity. So for example an upper triple beam with
|
||||
32nd notes is initiated by
|
||||
\verb|\ibbbu|\nps\ but terminated by \verb|\tbu{|$n$\verb|}|.
|
||||
|
||||
Since beams usually finish with a \verb|\qb| for the last note, the
|
||||
following shortcut macros have been provided:
|
||||
|
||||
\begin{quote}\begin{description}\setlength{\itemsep}{0ex}
|
||||
\item \keyindex{tqb}\enpee~is equivalent to \verb|\tbl{|$n$\verb|}\qb|\enpee
|
||||
\item \keyindex{tqh}\enpee~is equivalent to \verb|\tbu{|$n$\verb|}\qb|\enpee
|
||||
\item \keyindex{ztqb}\enpee~is equivalent to \verb|\tbl{|$n$\verb|}\zqb|\enpee~i.e., no spacing afterwards
|
||||
\item \keyindex{ztqh}\enpee~is equivalent to \verb|\tbu{|$n$\verb|}\zqb|\enpee~i.e., no spacing afterwards
|
||||
\end{description}\end{quote}
|
||||
The following
|
||||
synonyms may be used:
|
||||
\begin{quote}\begin{tabular}{lcl}
|
||||
\keyindex{tql} & for & \keyindex{tqb}\\
|
||||
\keyindex{tqu} & for & \keyindex{tqh}\\
|
||||
\keyindex{ztql} & for & \keyindex{ztqb}\\
|
||||
\keyindex{ztqu} & for & \keyindex{ztqh}\\
|
||||
\end{tabular}\end{quote}
|
||||
|
||||
|
||||
\section{Changing multiplicity after the beam starts}
|
||||
Multiplicity (the number of heavy bars) can be increased at any position after
|
||||
the beam starts. The commands are \keyindex{nbbu}\onen~which increases the multiplicity of
|
||||
upper beam
|
||||
number $n$ to two starting at the current position, \keyindex{nbbbu}\onen~to
|
||||
increase it to three, and \keyindex{nbbbbu}\onen~to increase to four. The
|
||||
commands \keyindex{nbbl}\onen\dots\keyindex{nbbbbl}\onen~do the same
|
||||
for lower beams.
|
||||
Thus, the
|
||||
sequence
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\Notes\ibu0h0\qb0e\nbbu0\qb0e\nbbbu0\qb0e\nbbbbu0\qb0e\tbu0\qb0e\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent has been coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\ibu0h0\qb0e\nbbu0\qb0e\nbbbu0\qb0e\nbbbbu0\qb0e\tbu0\qb0e\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
To decrease multiplicity to one, use \keyindex{tbbu}\onen~or
|
||||
\keyindex{tbbl}\onen. To decrease to two or three use
|
||||
\keyindex{tbbbu}\onen\dots\keyindex{tbbbbl}\onen. For example,
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\Notes\ibbbu0h0\qb0e\tbbbu0\qb0e\tbbu0\qb0e\tbu0\qb0e\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent has been coded as
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\startextract
|
||||
\Notes\ibbbu0h0\qb0e\tbbbu0\qb0e\tbbu0\qb0e\tbu0\qb0e\en
|
||||
\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
Although at first it may seem counterintuitive,
|
||||
the macros \keyindex{tbbu} and \keyindex{tbbl} and higher order counterparts
|
||||
may also be invoked when the multiplicity is one. In this case
|
||||
a second, third, or fourth heavy bar will be opened one note width \ital{before}
|
||||
the current stem, and immediately closed \ital{at} the stem.
|
||||
Thus the following sequences
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\let\extractline\hbox
|
||||
\hbox to \hsize{%
|
||||
\hss
|
||||
\startextract
|
||||
\Notes\ibu0e0\qbp0e\roff{\tbbu0\tqh0e}\en
|
||||
\zendextract
|
||||
\hss\hss
|
||||
\startextract
|
||||
\Notes\ibu0e0\qbpp0e\roff{\tbbbu0\tbbu0\tqh0e}\en
|
||||
\zendextract
|
||||
\hss}
|
||||
\end{music}
|
||||
\noindent are coded
|
||||
\hspace*{\fill}\begin{minipage}{.4\textwidth}\begin{verbatim}
|
||||
\Notes\ibu0e0\qbp0e%
|
||||
\roff{\tbbu0\tqh0e}\en
|
||||
\end{verbatim}\end{minipage}\hfill
|
||||
\begin{minipage}{.4\textwidth}\begin{verbatim}
|
||||
\Notes\ibu0e0\qbpp0e%
|
||||
\roff{\tbbbu0\tbbu0\tqh0e}\en
|
||||
\end{verbatim}\end{minipage}\hfill\\[4ex]
|
||||
The following abbreviations have been provided:
|
||||
\begin{quote}\begin{description}\setlength{\itemsep}{0ex}
|
||||
\item \keyindex{tqqb}\enpee~is equivalent to \verb|\tbbl{|$n$\verb|}\tqb|\enpee
|
||||
\item \keyindex{tqqh}\enpee~is equivalent to \verb|\tbbu{|$n$\verb|}\tqh|\enpee
|
||||
\item \keyindex{tqqqh}\enpee~is equivalent to \verb|\tbbbu{|$n$\verb|}\tqqh|\enpee
|
||||
\item \keyindex{tqqqb}\enpee~is equivalent to \verb|\tbbbl{|$n$\verb|}\tqqb|\enpee
|
||||
\item \keyindex{nqqb}\enpee~is equivalent to \verb|\tbbl{|$n$\verb|}\qb|\enpee
|
||||
\item \keyindex{nqqh}\enpee~is equivalent to \verb|\tbbu{|$n$\verb|}\qb|\enpee
|
||||
\item \keyindex{nqqqh}\enpee~is equivalent to \verb|\tbbbu{|$n$\verb|}\qb|\enpee
|
||||
\item \keyindex{nqqqb}\enpee~is equivalent to \verb|\tbbbl{|$n$\verb|}\qb|\enpee
|
||||
\end{description}\end{quote}
|
||||
and the following
|
||||
synonyms may be used:
|
||||
\begin{quote}\begin{tabular}{lcl}
|
||||
\keyindex{tqql} & for & \keyindex{tqqb}\\
|
||||
\keyindex{tqqu} & for & \keyindex{tqqh}\\
|
||||
\keyindex{tqqql} & for & \keyindex{tqqqb}\\
|
||||
\keyindex{tqqqu} & for & \keyindex{tqqqh}\\
|
||||
\keyindex{nqql} & for & \keyindex{nqqb}\\
|
||||
\keyindex{nqqu} & for & \keyindex{nqqh}\\
|
||||
\keyindex{nqqql} & for & \keyindex{nqqqb}\\
|
||||
\keyindex{nqqqu} & for & \keyindex{nqqqh}\\
|
||||
\end{tabular}\end{quote}
|
||||
|
||||
\medskip
|
||||
|
||||
The symmetrical pattern is also possible. For example:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\Notes\ibbl0j0\roff{\tbbl0}\qb0j\tbl0\qbp0j\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent has been coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\ibbl0j0\roff{\tbbl0}\qb0j\tbl0\qbp0j\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
The constructions in this section illustrate some general
|
||||
properties of
|
||||
beam initiation and termination commands: To mate properly with the
|
||||
expected stems, the starting position of the heavy bar(s) (for initiation commands)
|
||||
and the ending position (for terminations) will be at
|
||||
different horizontal locations
|
||||
depending on whether they are for upper or lower beams: The position for
|
||||
upper beam commands is one note head width to the right of those for
|
||||
lower beams. In fact this is the \ital{only} difference between upper
|
||||
and lower termination commands. Both types will operate on whatever kind of
|
||||
beam is open and has the same beam number.
|
||||
|
||||
Recognizing this principle, in the example just given it was necessary to
|
||||
shift the double termination to the right by one note head width, using the
|
||||
command \keyindex{roff}\verb|{|\dots\verb|}|, which does precisely that for
|
||||
any \musixtex\ macro.
|
||||
|
||||
Here is another, slightly more complicated example which also uses
|
||||
\verb|\roff|:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\notes\ibbbu0e0\roff{\tbbbu0}\qb0f\en
|
||||
\notesp\tbbu0\qbp0f\en
|
||||
\Notes\tbu0\qb0f\en
|
||||
\notesp\ibbu0f0\roff{\tbbu0}\qbp0f\en
|
||||
\Notes\qb0f\en
|
||||
\notes\tbbbu0\tbbu0\tbu0\qb0f\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent has been coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\notes\ibbbu0e0\roff{\tbbbu0}\qb0f\en
|
||||
\notesp\tbbu0\qbp0f\en
|
||||
\Notes\tbu0\qb0f\en
|
||||
\notesp\ibbu0f0\roff{\tbbu0}\qbp0f\en
|
||||
\Notes\qb0f\en
|
||||
\notes\tbbbu0\tbbu0\tbu0\qb0f\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\noindent Note that the first beam opening command used a pitch one step
|
||||
below the note. This makes the stem shorter by one pitch unit, since it is always
|
||||
the \ital{closest} heavy bar that is separated from the given pitch by
|
||||
three staff spaces.
|
||||
|
||||
We close this section with an example showing how to
|
||||
open a beam of one sense, increase multiplicity, then terminate with
|
||||
opposite sense:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\Notes\ibl0p0\qb0p\nbbl0\qb0p\nbbbl0\qb0p\tbu0\qb0e\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent which has been coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\ibl0p0\qb0p\nbbl0\qb0p\nbbbl0\qb0p\tbu0\qb0e\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
One may save some typing by defining personalized
|
||||
\TeX\ macros to
|
||||
perform any oft-repeated sequence of commands. For example,
|
||||
one could define a set of four sixteenths by the macro:
|
||||
|
||||
\verb|\def\qqh#1#2#3#4#5{\ibbl0#2#1\qb#2\qb#3\qb#4\tbl0\qb#5}|
|
||||
|
||||
\noindent where the first argument is the slope and the other four
|
||||
arguments are the pitches of the four successive sixteenths.
|
||||
|
||||
%\check
|
||||
\section{Shorthand beam notations for repeated or alternated notes}\index{repeated patterns}
|
||||
Sometimes you may want to indicate repeated or alternated short notes with open note heads joined
|
||||
by a beam. Here are examples of how to do that
|
||||
using the \keyindex{hb} macro:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\Notes\ibbl0j0\hb0j\tbl0\hb0j\en
|
||||
\Notes\ibbl0h4\hb0h\tbl0\hb0j\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent which has been coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\ibbl0j0\hb0j\tbl0\hb0j\en
|
||||
\Notes\ibbl0h4\hb0h\tbl0\hb0j\en
|
||||
\end{verbatim}\end{quote}\noindent
|
||||
There are also dotted and double-dotted versions \keyindex{hbp} and
|
||||
\keyindex{hbpp}.
|
||||
|
||||
|
||||
A different look could be obtained as follows:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\notes\ha j\loffset{0.5}{\ibbl1n3}\qsk\tbl1\qsk\ha l\sk\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent which has been coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\notes\ha j\loffset{0.5}{\ibbl1n4}\qsk\tbl1\qsk\ha l\sk\en
|
||||
\end{verbatim}\end{quote}
|
||||
It is possible to combine this notation
|
||||
with a conventional beam, as in
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\notes\ibl0h3\qb0j\loffset1{\ibbbl1m3}\qsk\tbl1\qsk\tql0l\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent which has been coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\notes\ibl0h3\qb0j\loffset1{\ibbbl1m3}\qsk\tbl1\qsk\tql0l\en
|
||||
\end{verbatim}\end{quote}\noindent
|
||||
or, for whole notes, to dispense with stems:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\Notes\loff{\zw j}\ibbl0l4\sk\tbl0\wh l\en
|
||||
\Notes\ibbu0e4\wh g\tbu0\roff{\wh i}\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent which has been coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\loff{\zw j}\ibbl0l4\sk\tbl0\wh l\en
|
||||
\Notes\ibbu0e4\wh g\tbu0\roff{\wh i}\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
Short ``beams'' centered on note stems (or directly over
|
||||
or under whole notes)
|
||||
indicate \emph{tremolos}. Commands that generate tremolo indications are described in Section~\ref{tremolos}.
|
||||
|
||||
|
||||
% \begin{music}\nostartrule
|
||||
%\startextract
|
||||
%\Notes\ibl0h0\qb0{hhh}\tbl0\qb0h\bsk\bsk\bsk\bsk
|
||||
% \ibu0j0\qb0{jjj}\tbu0\qb0j\en
|
||||
%\NOTes\loffset{0.5}{\ibl0j9}\roffset{0.5}{\tbl0}\zhl h%
|
||||
% \loffset{0.5}{\ibu0g9}\roffset{0.5}{\tbu0}\hu j\en\bar
|
||||
%\notes\ibbl0i0\qb0{hhh}\tbl0\qb0h\bsk\bsk\bsk\bsk
|
||||
% \ibbu0i0\qb0{jjj}\tbu0\qb0j%
|
||||
% \ibbl0i0\qb0{hhh}\tbl0\qb0h\bsk\bsk\bsk\bsk
|
||||
% \ibbu0i0\qb0{jjj}\tbu0\qb0j\en
|
||||
%\NOTes\loffset{0.5}{\ibbl0k9}\roffset{0.5}{\tbl0}\zhl h%
|
||||
% \loffset{0.5}{\ibbu0f9}\roffset{0.5}{\tbu0}\hu j\en
|
||||
%\zendextract
|
||||
% \end{music}
|
||||
% \noindent whose coding (due to Werner {\sc Icking}) is
|
||||
%
|
||||
%\begin{quote}\begin{verbatim}
|
||||
%\Notes\ibl0h0\qb0{hhh}\tbl0\qb0h\bsk\bsk\bsk\bsk
|
||||
% \ibu0j0\qb0{jjj}\tbu0\qb0j\en
|
||||
%\NOTes\loffset{0.5}{\ibl0j9}\roffset{0.5}{\tbl0}\zhl h%
|
||||
% \loffset{0.5}{\ibu0g9}\roffset{0.5}{\tbu0}\hu j\en\bar
|
||||
%\notes\ibbl0i0\qb0{hhh}\tbl0\qb0h\bsk\bsk\bsk\bsk
|
||||
% \ibbu0i0\qb0{jjj}\tbu0\qb0j%
|
||||
% \ibbl0i0\qb0{hhh}\tbl0\qb0h\bsk\bsk\bsk\bsk
|
||||
% \ibbu0i0\qb0{jjj}\tbu0\qb0j\en
|
||||
%\NOTes\loffset{0.5}{\ibbl0k9}\roffset{0.5}{\tbl0}\zhl h%
|
||||
% \loffset{0.5}{\ibbu0f9}\roffset{0.5}{\tbu0}\hu j\en
|
||||
%\end{verbatim}\end{quote}
|
||||
|
||||
\section{Beams that cross line breaks}
|
||||
|
||||
Although careful typesetting can usually avoid it, occasionally
|
||||
a beam may need to cross a line break. If so, it must be manually terminated at
|
||||
the end of one line and continued in the next. This
|
||||
can be done by shifting beam terminations and initiations
|
||||
using \keyindex{roff} and/or
|
||||
\keyindex{loff}, or by inserting a spacing command such as
|
||||
\keyindex{hsk}. We give an example from {\sc Grieg}'s ``Hochzeit auf
|
||||
Troldhaugen'':\index{Grieg, E.@{\sc Grieg, E.}}\medskip
|
||||
|
||||
\begin{music}
|
||||
\parindent0pt
|
||||
\def\rqs{\lower\Interligne\rlap\qs}
|
||||
\def\snotes{\vnotes1\elemskip}
|
||||
\setstaffs1{2}
|
||||
\generalsignature{2}
|
||||
\setclef1{\bass}
|
||||
\interstaff{12}
|
||||
\startpiece
|
||||
%%% bar 1
|
||||
\addspace\afterruleskip
|
||||
\snotes|\tinynotesize\ibsluru0n\ibbu0m5\qb0{=m}\tqh0n\en
|
||||
\qspace
|
||||
\Notes\zchar{-7}\sPed\loffset{.3}{\fl E}\zq E\qu{_I}%
|
||||
|\zql g\ibu2l0\busf2\qb2{=m}\en
|
||||
\Notes|\tubslur0o\qb2{_l}\en
|
||||
\Notes\loffset{.3}{\fl L}\zq L\ibl0L0\qb0{_b}%
|
||||
|\ibl1h0\zqb1g\bupz2\qb2l\en
|
||||
\Notes\zq L\tqb0b|\tbl1\zqb1g\bupz2\tqh2l\en
|
||||
\NOtes\zq L\ql b|\zql g\qu l\en
|
||||
\notes\zchar{-7}\sPed\zchar{-7}{\eightit ~~~sempre}%
|
||||
\zchar{14}{\pp\eightit~sempre}\zq I\ibbu1J0\qb1L|\qs\en
|
||||
\notes\qs|\zq N\ibbu3d0\qb3{_d}\en
|
||||
\notes\qb1E|\rqs\en
|
||||
\notes\qs|\fl e\zq N\rq e\qb3d\en
|
||||
%%% bar 2
|
||||
\bar
|
||||
\notes\loffset{.3}{\fl I}\zq I\qb1{_L}|\rqs\en
|
||||
\qspace
|
||||
\notes\qs|\lfl d\zq d\zq {=f}\qb3N\en
|
||||
\notes\tqh1{_E}|\rqs\en
|
||||
\notes\qs|\zq d\zq g\tqh3N\en
|
||||
\notes\zq I\ibbu0J0\qb0L|\rqs\en
|
||||
\notes\qs|\zq d\ibbu1d0\qb1N\en
|
||||
\notes\qb0E|\rqs\en
|
||||
\notes\qs|\fl e\rq e\zq d\qb1N\en
|
||||
\notes\zq I\qb0L|\rqs\en
|
||||
\notes\qs|\zq f\zq d\qb1N\en
|
||||
\notes\tqh0E|\rqs\en
|
||||
\notes\qs|\zq g\zq d\tqh1N\en
|
||||
\notes\zq I\ibbu0J0\qb0L|\rqs\en
|
||||
\notes\qs|\zq d\ibbu1d0\qb1N\en
|
||||
\notes\qb0E|\rqs\en
|
||||
\notes\rlap\qs\hsk\tbu0|\rq e\zq d\zqb1N\hsk\tbu1\en
|
||||
\endpiece
|
||||
\end{music}
|
||||
\noindent The prolongation of the two upper beams at the end is
|
||||
illustrated in the code fragment
|
||||
\begin{quote}\begin{verbatim}
|
||||
\notes\rlap{\qs}\hsk\tbu0|\rq e\zq d\zqb1N\hsk\tbu1\en
|
||||
\end{verbatim}\end{quote}
|
||||
%\check
|
||||
|
||||
\section{Beams with notes on several different staves}
|
||||
|
||||
Here's a simple example from {\sc Brahms}'s
|
||||
Intermezzo Op.~118, provided by
|
||||
Miguel {\sc Filgueiras}:\index{Brahms, J.@{\sc Brahms, J.}}\medskip
|
||||
|
||||
\begin{music}
|
||||
\interstaff{12}
|
||||
\setstaffs1{2}
|
||||
\setclef1\bass
|
||||
\generalmeter\allabreve
|
||||
\startextract
|
||||
\NOtes\qp\nextstaff\isluru0q\zq{q}\ql{j}\en
|
||||
\bar
|
||||
\nspace
|
||||
\Notes\ibu0L2\qb0{CEJLcL}%
|
||||
\nextstaff\roff{\zw{l}}\pt{p}\zh{_p}\pt{i}\hl{_i}\en
|
||||
\Notes\qb0J\itied1a\qb0a\nextstaff\tslur0o\zq{o}\ql{h}\en
|
||||
\bar
|
||||
\Notes\ttie1\zh{.L.a}\hl{.e}%
|
||||
\nextstaff\qb0{chj}\tbl0\qb0l\cl{q}\ds\en
|
||||
\NOtes\qp\nextstaff\zq{q}\ql{j}\en
|
||||
\endextract
|
||||
\end{music}
|
||||
%\check
|
||||
\noindent The coding is
|
||||
\begin{verbatim}
|
||||
\interstaff{13}
|
||||
\instrumentnumber{1}
|
||||
\setstaffs1{2}
|
||||
\setclef1\bass
|
||||
\generalmeter\allabreve
|
||||
\startextract
|
||||
\NOtes\qp\nextstaff\isluru0q\zq{q}\ql{j}\en
|
||||
\bar
|
||||
\nspace
|
||||
\Notes\ibu0a1\qb0{CEJLcL}%
|
||||
\nextstaff\roff{\zw{l}}\pt{p}\zh{_p}\pt{i}\hl{_i}\en
|
||||
\Notes\qb0J\itied1a\qb0a\nextstaff\tslur0o\zq{o}\ql{h}\en
|
||||
\bar
|
||||
\Notes\ttie1\zh{.L.a}\hl{.e}%
|
||||
\nextstaff\qb0{chj}\tbl0\qb0l\cl{q}\ds\en
|
||||
\NOtes\qp\nextstaff\zq{q}\ql{j}\en
|
||||
\endextract
|
||||
\end{verbatim}
|
||||
|
||||
\noindent (This example also shows that there is no problem in extending
|
||||
a beam across a bar line.)
|
||||
|
||||
The general features that enable this type of coding as well as the
|
||||
more complex example to follow are
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
% \item Commands like \Bslash{\tt ibu}, \Bslash{\tt ibl},
|
||||
%\Bslash{\tt Ibu}, and \Bslash{\tt Ibl} \rm
|
||||
%define beams whose initial vertical position and slope are fixed
|
||||
%relative
|
||||
%to the staff where they begin, but notes in other staves can still be
|
||||
%connected to them using \Bslash{\tt qb}\onen.
|
||||
%
|
||||
% \item The commands \keyindex{tbu}\onen\rm~or \keyindex{tbl}\onen\rm~terminate
|
||||
%beam $n$ at the specified position, but \musixtex\ remembers the beam
|
||||
%parameters until a new beam with the same number is defined.
|
||||
%Therefore, even after beam $n$ has been ``finished'' by a \verb|\tbu| or
|
||||
%\verb|\tbl| command, commands like \Bslash{\tt qb}\enpee\rm~will still
|
||||
%generate notes connected to the phantom extension of this beam,
|
||||
%\ital{provided they are issued in a different staff}. If the command
|
||||
%\verb|\qb|\enpee\rm~were issued on the same staff as the beam after
|
||||
% the beam had ended, an error would result.
|
||||
%
|
||||
\item Commands like {\Bslash\texttt{ibu}}, {\Bslash\texttt{ibl}},
|
||||
{\Bslash\texttt{Ibu}}, and {\Bslash\texttt{Ibl}}
|
||||
define beams whose initial vertical position and slope are fixed
|
||||
relative
|
||||
to the staff where they begin, but notes in other staves can still be
|
||||
connected to them using {\Bslash\texttt{qb}\onen}.
|
||||
|
||||
\item The commands {\keyindex{tbu}\onen} or {\keyindex{tbl}\onen}
|
||||
terminate
|
||||
beam $n$ at the specified position, but \musixtex\ remembers the beam
|
||||
parameters until a new beam with the same number is defined.
|
||||
Therefore, even after beam $n$ has been ``finished'' by a \verb|\tbu| or
|
||||
\verb|\tbl| command, commands like {\Bslash{\tt qb}\enpee} will still
|
||||
generate notes connected to the phantom extension of this beam,
|
||||
\ital{provided they are issued in a different staff}. If the command
|
||||
\verb|\qb|\enpee\ were issued on the same staff as the beam after
|
||||
the beam had ended, an error would result.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\item If the beam is initiated on one staff,
|
||||
notes in a lower staff can be connected to it, but only \ital{after} the beam
|
||||
has been defined. This may require using the command \keyindex{prevstaff}
|
||||
to go back one staff, as described in Section~\ref{movingtostaffs}.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
Here is an example:
|
||||
|
||||
\begin{music}
|
||||
\setstaffs13
|
||||
\setclef1{6000}
|
||||
\startextract
|
||||
\notesp
|
||||
\nextstaff\Ibbbu0Af7\prevstaff
|
||||
\qb0{AEH^JLa}\relax\nextstaff
|
||||
\qb0{******^c}\tqh0e\relax
|
||||
|\zq{h^jl}\ql o\en
|
||||
\notesp
|
||||
\nextstaff
|
||||
\Ibbbu0hG6\qb0{hec}\prevstaff
|
||||
\qb0{***aLJ}\tqh0H\relax\nextstaff
|
||||
|\zq{h^jl}\ql o\en \nspace
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
\noindent which is coded as:
|
||||
|
||||
\begin{quote}
|
||||
\begin{verbatim}
|
||||
\setstaffs13
|
||||
\setclef1{6000}
|
||||
\startextract
|
||||
\notesp
|
||||
\nextstaff\Ibbbu0Af7\prevstaff
|
||||
\qb0{AEH^JLa}\relax\nextstaff
|
||||
\qb0{******^c}\tqh0e\relax
|
||||
|\zq{h^jl}\ql o\en
|
||||
\notesp
|
||||
\nextstaff
|
||||
\Ibbbu0hG6\qb0{hec}\prevstaff
|
||||
\qb0{***aLJ}\tqh0H\relax\nextstaff
|
||||
|\zq{h^jl}\ql o\en \nspace
|
||||
\zendextract
|
||||
\end{verbatim}
|
||||
\end{quote}
|
||||
In this example we see not only multiple uses of \keyindex{nextstaff} and
|
||||
\keyindex{prevstaff}, but also the character \verb|*| to make virtual beam notes
|
||||
(see Section~\ref{CollectiveCoding}).
|
||||
|
||||
|
||||
\section{Discontinuities in Long Beams}
|
||||
By default, \texttt{musixtex} produces beams using special fonts. Unfortunately, long beams may have
|
||||
unsightly discontinuities (gaps or bumps). See Section~\ref{musixvbm}
|
||||
for a solution to this problem.
|
498
musixtex/doc/musixdoc/changing.tex
Normal file
498
musixtex/doc/musixdoc/changing.tex
Normal file
|
@ -0,0 +1,498 @@
|
|||
\chapter{Changing Clefs, Keys and Meters}
|
||||
|
||||
\section{Introduction}\label{contextintro}
|
||||
|
||||
To define clefs, key signatures, or meters at the start of a piece,
|
||||
or to change one or more of these attributes\footnote{In this section,
|
||||
\ital{attribute} will refer to any clef, key signature, or meter.}~anywhere
|
||||
else in a score,
|
||||
\musixtex\ requires two steps. The first step is to \ital{set} the new values of
|
||||
the attributes.
|
||||
Most of the commands for this have the form \verb|\set|...~. They will be
|
||||
described in the following subsections.
|
||||
|
||||
But this alone will
|
||||
not cause anything to be changed or printed. The second step is to activate the
|
||||
change. This is done by issuing one of the
|
||||
following commands (outside \verb|\notes|$\dots$\verb|\en|):
|
||||
\verb|\startpiece|, \verb|\startextract|, \verb|\contpiece|,
|
||||
\verb|\Contpiece|,
|
||||
\verb|\alaligne|, \verb|\alapage|, \verb|\zalaligne|, \verb|\zalapage|,
|
||||
\verb|\changecontext|,
|
||||
\verb|\Changecontext|, \verb|\zchangecontext|, \verb|\changesignature|,
|
||||
\verb|\changeclefs|, or \verb|\zchangeclefs|. Most of these perform
|
||||
other functions as well, and some may be used even when no attributes
|
||||
change. Features unrelated to changing attributes are detailed elsewhere.
|
||||
The first eleven will activate all pending new attributes.
|
||||
If more than one type is activated by a single command in this manner,
|
||||
then regardless of the order
|
||||
they were set, they will always appear in the following order: clef, key signature,
|
||||
meter.
|
||||
The last three commands in the above list obviously activate only
|
||||
the specific type of attribute referred to in the name of the command.
|
||||
|
||||
The macros \verb|\changecontext|, \verb|\Changecontext|, \verb|\zchangecontext|
|
||||
will respectively insert a single, double, or invisible bar
|
||||
line before printing the attributes.
|
||||
|
||||
\section{Key Signatures}
|
||||
|
||||
We've already seen in Section~\ref{whatspecify} how to set key
|
||||
signatures for all instruments with \keyindex{generalsignature}, or for
|
||||
specific instruments with \keyindex{setsign}. As just noted, these commands only
|
||||
prepare for the insertion of the signatures into the score; it is
|
||||
really \verb|\startpiece| that puts them in place at the beginning of the
|
||||
score.
|
||||
|
||||
The commands \verb|\generalsignature| and \verb|\setsign| also serve to set
|
||||
new key signature(s) anywhere in score. The change can then be activated with one of
|
||||
the eleven general commands listed above, or with \keyindex{changesignature} if
|
||||
in the middle of a bar.
|
||||
While neither \verb|\changesignature| nor \verb|\zchangecontext| prints a bar
|
||||
line, the differences are that the latter increments the bar number counter and
|
||||
inserts a horizontal space of \verb|\afterruleskip| after the new signature(s).
|
||||
All of these options will repost signatures that have not been changed.
|
||||
|
||||
Normally, changing a signature from flats to sharps or vice-versa, or
|
||||
reducing the number of sharps or flats, will produce the appropriate set of
|
||||
naturals to indicate what has been suppressed. This standard feature can be
|
||||
temporarily inhibited by the command \keyindex{ignorenats} issued right before
|
||||
the change-activating command.
|
||||
|
||||
Here is an example showing various possibilities for changing key signatures.
|
||||
Note the comments between the code lines.
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\instrumentnumber2\setstaffs22%
|
||||
\setclef1{\bass}\generalsignature2%
|
||||
\startextract
|
||||
\Notes\qu K&\qu d|\qu e\en
|
||||
% Signature change in a single instrument with two staves.
|
||||
% Naturals appear by default, indicating cancelled sharps.
|
||||
\setsign20\changesignature
|
||||
\Notes\qu J&\qu d|\qu e\en
|
||||
% When changing signature in the middle of a bar and no naturals
|
||||
% are posted, the new signature can be confused with a simple accidental.
|
||||
\setsign11\ignorenats\changesignature
|
||||
\Notes\qu M&\qu d|\qu e\en
|
||||
% New signatures after a double bar line
|
||||
\generalsignature{-2}\Changecontext%
|
||||
\Notes\qu K&\qu d|\qu e\en%
|
||||
\Notes\qu K&\qu d|\qu e\en%
|
||||
% New signatures after an invisible bar line. Note the
|
||||
% difference in spacing compared with beat 3 of the prior measure
|
||||
\generalsignature{1}\zchangecontext%
|
||||
\Notes\qu K&\qu d|\qu e\en%
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\begin{music}
|
||||
\instrumentnumber2\setstaffs22%
|
||||
\setclef1{\bass}\generalsignature2%
|
||||
\startextract
|
||||
\Notes\qu K&\qu d|\qu e\en
|
||||
% Signature changing in a single instrument with 2 staves
|
||||
% Naturals are allowed to shown there are no more sharps
|
||||
\setsign20\changesignature
|
||||
\Notes\qu J&\qu d|\qu e\en
|
||||
% Signature changing in a single staff without naturals
|
||||
% if there is no bar line, the signatures are confusing:
|
||||
% it is not clear if they are for a single note or not
|
||||
\setsign11\ignorenats\changesignature
|
||||
\Notes\qu M&\qu d|\qu e\en
|
||||
% New signatures after a double bar line
|
||||
\generalsignature{-2}\Changecontext%
|
||||
\Notes\qu K&\qu d|\qu e\en%
|
||||
\Notes\qu K&\qu d|\qu e\en%
|
||||
% New signatures after an invisible bar line
|
||||
% see the difference in space comparing beat 2
|
||||
\generalsignature{1}\zchangecontext%
|
||||
\Notes\qu K&\qu d|\qu e\en%
|
||||
\endextract
|
||||
\end{music}
|
||||
|
||||
|
||||
\section{Clefs}\label{treblelowoct}\label{ClefChanges}
|
||||
|
||||
Macros that define clefs have already been discussed in Section~\ref{whatspecify}. By way of review, here are all of the possible clefs
|
||||
(applied to the lowest staff):
|
||||
%avrb
|
||||
\newcommand{\musicintextsign}[1]{\musicintext#1{\notes\en}}
|
||||
|
||||
\begin{center}\vskip-1ex\footnotesize%\small
|
||||
\begin{tabular}{||c|c|c|c|c||}\hline\hline
|
||||
&&&&\\
|
||||
\verb+\setclef1\treble+&&&\verb+\setclef1\alto+&\\
|
||||
\verb+\setclef10+&\verb+\setclef11+&\verb+\setclef12+
|
||||
&\verb+\setclef13+&\verb+\setclef14+\\[-2ex]%\hline
|
||||
\musicintextsign{\treble}&\musicintextsign1&\musicintextsign2
|
||||
&\musicintextsign{\alto}&\musicintextsign4\\[3ex]\hline
|
||||
%\end{tabular}
|
||||
&&&&\\
|
||||
%\begin{tabular}{ccccc}
|
||||
&\verb+\setclef1\bass+&&\verb+\setclefsymbol1\empty+\footnotemark&\\
|
||||
\verb+\setclef15+&\verb+\setclef16+&\verb+\setclef17+
|
||||
&\verb+\setclef18+&\verb+\setclef19+\\[-2ex]%\hline
|
||||
\musicintextsign5&\musicintextsign{\bass}&\musicintextsign7
|
||||
&\musicintextsign8&\musicintextsign9\\[3ex]\hline\hline
|
||||
%This one uses \setclefsymbol1\empty :
|
||||
%&\musicintextnoclef{\notes\qu h\en}&\musicintextsign9\\[3ex]\hline\hline
|
||||
\end{tabular}
|
||||
\footnotetext{Details of the macro {\tt\Bslash setclefsymbol} will be discussed later}
|
||||
\end{center}
|
||||
%avre
|
||||
|
||||
Just as with key signatures, these commands only \ital{prepare} for clef changes.
|
||||
To \ital{activate} them, any of the first eleven commands listed in Section~\ref{contextintro} could be used. However, one should keep in mind that,
|
||||
according to modern conventions, a clef change at a bar line is posted
|
||||
\emph{before} the bar line, whereas, for example, \verb|\changecontext|, would post it
|
||||
\emph{after} the bar line. In part for this reason, we have the special command
|
||||
\keyindex{changeclefs}. It can be used anywhere outside
|
||||
\verb+\notes...\en+ to activate a clef change and insert an amount of
|
||||
horizontal space to accommodate the new clef symbol(s), without printing a
|
||||
bar line. Sometimes no added
|
||||
space is required, in which case \keyindex{zchangeclefs} should be used.
|
||||
|
||||
Here are some examples of clef changes:
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\instrumentnumber2\setstaffs22%
|
||||
\setclef1{\bass}\generalsignature2%
|
||||
\startextract
|
||||
% Change in one staff only, with added space
|
||||
\setclef1\treble\changeclefs%
|
||||
\Notes\qu k&\qu e|\cu{.d}\ccu{e}\en%
|
||||
% Combined with signature change, also no extra space needed
|
||||
% twice the same clef in staff 2 - with the help of a blank clef
|
||||
\setclef28\zchangeclefs\setclef2\treble%
|
||||
\setclef1\bass\zchangeclefs\setsign1{-2}\setsign2{-2}%
|
||||
\ignorenats\changesignature%
|
||||
\Notes\qu K&\cu{de}|\qu e\en%
|
||||
% clef change before barline
|
||||
\setclef1\treble\zchangeclefs\bar%
|
||||
\Notes\qu k&\cu{de}|\qu e\en%
|
||||
% clef change after barline
|
||||
\setclef1\bass\bar\changeclefs%
|
||||
\Notes\qu K&\cu{de}|\qu e\en%
|
||||
% clef change after barline with changecontext
|
||||
\setclef1\treble\changecontext%
|
||||
\Notes\cu k&\cu d|\qu e\en%
|
||||
% twice the same clef
|
||||
\setclef18\zchangeclefs\setclef1\treble\changeclefs%
|
||||
\Notes\cu k&\cu e |\en%
|
||||
\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
\begin{music}
|
||||
\instrumentnumber2\setstaffs22%
|
||||
\setclef1{\bass}\generalsignature2%
|
||||
\startextract
|
||||
% Change in one staff only, with added space
|
||||
\setclef1\treble\changeclefs%
|
||||
\Notes\qu k&\qu e|\cu{.d}\ccu{e}\en%
|
||||
% Combined with signature change, also no extra space needed
|
||||
% twice the same clef in staff 2 - with the help of a blank clef
|
||||
\setclef28\zchangeclefs\setclef2\treble%
|
||||
\setclef1\bass\zchangeclefs\setsign1{-2}\setsign2{-2}%
|
||||
\ignorenats\changesignature%
|
||||
\Notes\qu K&\cu{de}|\qu e\en%
|
||||
% clef change before barline
|
||||
\setclef1\treble\zchangeclefs\bar%
|
||||
\Notes\qu k&\cu{de}|\qu e\en%
|
||||
% clef change after barline
|
||||
\setclef1\bass\bar\changeclefs%
|
||||
\Notes\qu K&\cu{de}|\qu e\en%
|
||||
% clef change after barline with changecontext
|
||||
\setclef1\treble\changecontext%
|
||||
\Notes\cu k&\cu d|\qu e\en%
|
||||
% twice the same clef
|
||||
\setclef18\zchangeclefs\setclef1\treble\changeclefs%
|
||||
\Notes\cu k&\cu e |\en%
|
||||
\endextract
|
||||
\end{music}
|
||||
|
||||
\noindent Of course the examples in the last two bars are contrary
|
||||
to accepted practice.
|
||||
|
||||
If \keyindex{atnextbar} is being used to center material and new clefs before
|
||||
the bar line should be
|
||||
excluded from the ``notes'' region within which material is centered,
|
||||
you may use the command \keyindex{Changeclefs}, as in the following:
|
||||
|
||||
\begin{music}
|
||||
\nobarnumbers
|
||||
\nostartrule
|
||||
\generalmeter{\meterC}
|
||||
\startextract%
|
||||
\NOTEs\en
|
||||
\def\atnextbar{\znotes\centerHpause{11}\en}%
|
||||
\setclef1\bass\Changeclefs%
|
||||
\setleftrepeat%
|
||||
\generalmeter{\allabreve}%
|
||||
\changecontext%
|
||||
\NOTEs\en
|
||||
\def\atnextbar{\znotes\centerHpause{12}\en}%
|
||||
\setclef1\treble\Changeclefs%
|
||||
\setrightrepeat\bar%
|
||||
\NOTEs\en
|
||||
\def\atnextbar{\znotes\centerHpause{13}\en}%
|
||||
\endextract
|
||||
\end{music}\noindent
|
||||
which was coded as
|
||||
\begin{quote}
|
||||
\begin{verbatim}
|
||||
\generalmeter{\meterC}
|
||||
\startextract%
|
||||
\NOTEs\en
|
||||
\def\atnextbar{\znotes\centerHpause{11}\en}%
|
||||
\setclef1\bass\Changeclefs%
|
||||
\setleftrepeat%
|
||||
\generalmeter{\allabreve}%
|
||||
\changecontext%
|
||||
\NOTEs\en
|
||||
\def\atnextbar{\znotes\centerHpause{12}\en}%
|
||||
\setclef1\treble\Changeclefs%
|
||||
\setrightrepeat\bar%
|
||||
\NOTEs\en
|
||||
\def\atnextbar{\znotes\centerHpause{13}\en}%
|
||||
\endextract
|
||||
\end{verbatim}
|
||||
\end{quote}
|
||||
|
||||
Clef changes initiated with the \verb|\setclef| command have several features
|
||||
in common. When activated after the beginning of the piece, the printed symbol
|
||||
is smaller than the normal one used at the beginning of the piece. Also,
|
||||
\musixtex\ automatically adjusts vertical positions of noteheads consistent
|
||||
with the new clef.
|
||||
|
||||
There is an additional group of macros for setting new clefs which does not share
|
||||
either of these features. In other words, they will always print full sized symbols, and they
|
||||
won't change the vertical positions of noteheads from what they would have been
|
||||
before the new symbol was printed. We could call this process ``clef symbol substitution'',
|
||||
because all it does is print a different symbol (or no symbol at all) in place of
|
||||
the underlying clef which was set in the normal way.
|
||||
|
||||
You'll need to use clef symbol substitution if you want to have a so-called
|
||||
\index{octave clefs}\label{octclef}octave treble clef or octave bass
|
||||
clef, i.e., one containing a numeral 8 above or
|
||||
below the normal symbol. The syntax for setting upper
|
||||
octaviation
|
||||
is \keyindex{setbassclefsymbol}\onen\keyindex{bassoct}\\
|
||||
or \keyindex{settrebleclefsymbol}\onen\keyindex{trebleoct}; for lower octaviation
|
||||
it is\\ \keyindex{setbassclefsymbol}\onen\keyindex{basslowoct} or
|
||||
\keyindex{settrebleclefsymbol}\onen\keyindex{treblelowoct}. Because these sequences act to
|
||||
\ital{replace} normal bass or treble clefs with a different symbol, they
|
||||
require that the normal clefs be set first. For example
|
||||
|
||||
\noindent\begin{minipage}{80mm}
|
||||
\begin{music}\nostartrule
|
||||
\parindent 19mm
|
||||
\instrumentnumber{4}
|
||||
\generalmeter{\empty}
|
||||
\setclef1\bass \setclef2\bass \setclef3\treble \setclef4\treble
|
||||
\setbassclefsymbol1\basslowoct
|
||||
\setbassclefsymbol2\bassoct
|
||||
\settrebleclefsymbol3\treblelowoct
|
||||
\settrebleclefsymbol4\trebleoct
|
||||
\startextract
|
||||
\Notes\qu{`abcdefghi}&\qu{`abcdefghi}&\qu{abcdefghi}&\qu{abcdefghi}&\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\end{minipage}
|
||||
\begin{minipage}{50mm}
|
||||
\begin{verbatim}
|
||||
\parindent 19mm
|
||||
\instrumentnumber{4}
|
||||
\generalmeter{\empty}
|
||||
\setclef1\bass \setclef2\bass
|
||||
\setclef3\treble \setclef4\treble
|
||||
\setbassclefsymbol1\basslowoct
|
||||
\setbassclefsymbol2\bassoct
|
||||
\settrebleclefsymbol3\treblelowoct
|
||||
\settrebleclefsymbol4\trebleoct
|
||||
\startextract
|
||||
\Notes\qu{`abcdefghi}&\qu{`abcdefghi}%
|
||||
&\qu{abcdefghi}&\qu{abcdefghi}&\en
|
||||
\zendextract
|
||||
\end{verbatim}
|
||||
\end{minipage}
|
||||
|
||||
\index{clefs (empty)}
|
||||
Another application of clef symbol substitution is to cause no clef to be
|
||||
printed, as for example might be desired in percussion music, This
|
||||
can be accomplished with \keyindex{setclefsymbol}\onen\verb|\empty|, which
|
||||
once activated would replace \ital{all} clef symbols in the first (lowest)
|
||||
staff of instrument $n$ with blanks.
|
||||
|
||||
Normal symbols for those clefs that have been substituted can be restored by
|
||||
\keyindex{resetclefsymbols}.
|
||||
|
||||
Four other small clef symbols are available: \verb|\smalltrebleoct|,
|
||||
\verb|\smalltreblelowoct|, \verb|\smallbassoct|, and \verb|\smallbasslowoct|.
|
||||
They look just like the corresponding normal-sized symbols, and are useful by
|
||||
clef symbol substitution for clef changes after the beginning of a piece, as
|
||||
demonstrated in the following example.
|
||||
|
||||
The various clef symbol substitution commands can only be used to substitute for
|
||||
\texttt{treble}, \texttt{alto}, or \texttt{bass} clefs.
|
||||
|
||||
In the following example, (1) is two normal clef changes. At (2) the clef is first changed
|
||||
back to treble and then the \verb|\treblelowoct| symbol is substituted by using
|
||||
\verb|\settrebleclefsymbol|.
|
||||
When changing the clef away from treble and then back as at (3), the substitution
|
||||
symbol is still in force. At (4), \verb|\resetclefsymbols| cancels the symbol substitution.
|
||||
If using \verb|\setclefsymbol| all available clefs are changed to the same symbol, as you can see
|
||||
in the three clefs after (5) in comparison with (2). These also illustrate the use of the small
|
||||
octave clef symbol. Obviously the second clef after (5) is
|
||||
nonsense; \verb|\resetclefsymbols| puts matters in order at (6) and (7).
|
||||
|
||||
\begin{music}
|
||||
\instrumentnumber1\setclef1\bass
|
||||
\startpiece
|
||||
\notes\zchar{-5}{1}\qu H\en\setclef1\treble\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\bar
|
||||
\notes\zchar{-5}{2}\qu J\en
|
||||
\setclef1\treble\settrebleclefsymbol1\treblelowoct\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\bar
|
||||
\notes\zchar{-5}{3}\qu I\en\setclef1\treble\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\bar
|
||||
\notes\zchar{-5}{4}\qu J\en\resetclefsymbols\setclef1\treble\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\doublebar
|
||||
\notes\zchar{-5}{5}\qu J\en
|
||||
\setclef1\treble\setclefsymbol1\smalltreblelowoct\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\bar
|
||||
\notes\qu I\en\setclef1\treble\changeclefs
|
||||
\notes\zchar{-5}{6}\qu i\en\resetclefsymbols\setclef1\bass\changeclefs\bar
|
||||
\notes\zchar{-5}{7}\qu J\en\setclef1\treble\changeclefs
|
||||
\notes\qu i\en
|
||||
\endpiece
|
||||
\end{music}
|
||||
|
||||
\noindent This is the code:
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\instrumentnumber1\setclef1\bass
|
||||
\startpiece
|
||||
\notes\zchar{-5}{1}\qu H\en\setclef1\treble\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\bar
|
||||
\notes\zchar{-5}{2}\qu J\en
|
||||
\setclef1\treble\settrebleclefsymbol1\treblelowoct\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\bar
|
||||
\notes\zchar{-5}{3}\qu I\en\setclef1\treble\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\bar
|
||||
\notes\zchar{-5}{4}\qu J\en\resetclefsymbols\setclef1\treble\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\doublebar
|
||||
\notes\zchar{-5}{5}\qu J\en
|
||||
\setclef1\treble\setclefsymbol1\smalltreblelowoct\changeclefs
|
||||
\notes\qu i\en\setclef1\bass\changeclefs\bar
|
||||
\notes\qu I\en\setclef1\treble\changeclefs
|
||||
\notes\zchar{-5}{6}\qu i\en\resetclefsymbols\setclef1\bass\changeclefs\bar
|
||||
\notes\zchar{-5}{7}\qu J\en\setclef1\treble\changeclefs
|
||||
\notes\qu i\en
|
||||
\endpiece
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section{Meter changes}
|
||||
|
||||
As mentioned in Section~\ref{generalmeter}, a common \itxem{meter} for all
|
||||
staves can be specified by \keyindex{generalmeter}\verb|{|$m$\verb|}|,
|
||||
where $m$ denotes the meter. On the other hand, meter changes in specific
|
||||
staves are implemented with
|
||||
\keyindex{setmeter}\onen\verb|{{|$m1$\verb|}{|$m2$\verb|}{|$m3$\verb|}{|$m4$\verb|}}|,
|
||||
where $n$ is the number of the instrument, $m1$ specifies the meter
|
||||
of the first (lowest) staff, $m2$ the second staff, and so forth. (Only enter
|
||||
as many $m$'s as necessary.)
|
||||
|
||||
Since meter changes are meaningful only across bars, there is no special command to
|
||||
activate a new meter; rather, they are activated with the general commands
|
||||
\keyindex{changecontext}, etc., listed in Section~\ref{contextintro}.
|
||||
|
||||
The next example shows a few methods to get a meter change, in all staves or
|
||||
in a single staff.
|
||||
|
||||
\begin{small}
|
||||
\begin{quote}\begin{verbatim}
|
||||
\instrumentnumber2\setstaffs22%
|
||||
\generalmeter{\meterfrac{4}{4}\meterfrac{2}{4}\meterfrac{1}{4}}%
|
||||
\setclef1{\bass}\generalsignature2%
|
||||
\startextract
|
||||
\setmeter1{{\meterfrac{2}{4}}}%
|
||||
\setmeter2{{\lower2pt\hbox{\meterfrac{\meterlargefont 2}{}}}%
|
||||
{\meterfrac{3}{4}}}\changecontext
|
||||
\Notes\qu K&\cu{de}|\qu e\en
|
||||
% bar 11
|
||||
% Meters, clefs, and key signatures.
|
||||
% All 3 clefs after bar (probably bad form) if no changeclefs
|
||||
\setmeter1{{\meterfrac{2}{8}}}%
|
||||
\setmeter2{{\meterfrac{3}{6}}{\meterfrac{3}{8}}}%
|
||||
\setsign2{-1}%
|
||||
% How to force showing the bass clef?
|
||||
\setclef1\bass\setclef2{23}%
|
||||
\Changecontext
|
||||
\Notes\qu K&\cu{de}|\qu e\en
|
||||
% bar 12
|
||||
% Meters, clefs, and key signatures, with clef before the bar.
|
||||
% Maybe not best form if signatures are involved
|
||||
\setmeter1{{\meterfrac{2}{4}}}%
|
||||
\setmeter2{{\meterfrac{3}{8}}{\meterfrac{3}{6}}}%
|
||||
\setsign2{-1}%
|
||||
\setclef1\treble\zchangeclefs\changecontext
|
||||
\Notes\qu k&\cu{de}|\qu e\en
|
||||
\end{verbatim}\end{quote}
|
||||
\end{small}
|
||||
\begin{music}
|
||||
\instrumentnumber2\setstaffs22%
|
||||
\generalmeter{\meterfrac{4}{4}\meterfrac{2}{4}\meterfrac{1}{4}}%
|
||||
\setclef1{\bass}\generalsignature2%
|
||||
\startextract
|
||||
\setmeter1{{\meterfrac{2}{4}}}%
|
||||
% How big the '2' must be?
|
||||
\setmeter2{{\lower2pt\hbox{\meterfrac{\meterlargefont 2}{}}}%
|
||||
{\meterfrac{3}{4}}}\changecontext
|
||||
\Notes\qu K&\cu{de}|\qu e\en
|
||||
% bar 11
|
||||
% Meter Clefs and Key Signatures
|
||||
% all 3 clefs after bar if no changeclefs
|
||||
\setmeter1{{\meterfrac{2}{8}}}%
|
||||
\setmeter2{{\meterfrac{3}{6}}{\meterfrac{3}{8}}}%
|
||||
\setsign2{-1}%
|
||||
% How to force showing the bass clef?
|
||||
\setclef1\bass\setclef2{23}%
|
||||
\Changecontext
|
||||
\Notes\qu K&\cu{de}|\qu e\en
|
||||
% bar 12
|
||||
% Meter Clefs Keys Signatures all 3 with clef before the bar
|
||||
% probably not if signatures are involved
|
||||
\setmeter1{{\meterfrac{2}{4}}}%
|
||||
\setmeter2{{\meterfrac{3}{8}}{\meterfrac{3}{6}}}%
|
||||
\setsign2{-1}%
|
||||
\setclef1\treble\zchangeclefs\changecontext
|
||||
\Notes\qu k&\cu{de}|\qu e\en
|
||||
\endextract
|
||||
\end{music}
|
||||
|
||||
\section{Changes at the end of a system}
|
||||
It is conventional music-typesetting practice to indicate changes of clef, time signature,
|
||||
and key signature that apply to the start of a \emph{new} system
|
||||
also at the end of the previous system, as in the following:
|
||||
|
||||
\begin{music}
|
||||
\nobarnumbers
|
||||
\setstaffs12
|
||||
\setclef{1}{\bass}
|
||||
\generalmeter{\meterfrac44}
|
||||
\generalsignature{+2}
|
||||
\startextract%
|
||||
\Notes\wh K|\qa{fghi}\en
|
||||
\setclef{1}{66}\changeclefs%
|
||||
\generalmeter{\meterfrac34}%
|
||||
\generalsignature{-1}%
|
||||
\Changecontext%
|
||||
\zendextract%
|
||||
\generalsignature{-1}
|
||||
\setclef{1}{66}
|
||||
\generalmeter{\meterfrac34}
|
||||
\startextract%
|
||||
\NOtes\ha{.K}|\qa{Mad}\en%
|
||||
\bar%
|
||||
\Notes\ha{.K}|\qa{Mad}\en%
|
||||
\endextract%
|
||||
\end{music}
|
180
musixtex/doc/musixdoc/embedding.tex
Normal file
180
musixtex/doc/musixdoc/embedding.tex
Normal file
|
@ -0,0 +1,180 @@
|
|||
\chapter{Embedding Musical Excerpts in Text Documents}
|
||||
|
||||
Here we discuss the options for including music in text documents. The first
|
||||
decision is whether or not to use \LaTeX\footnote{We'll assume a user wanting
|
||||
to embed a musical excerpt in a \LaTeX\ document is already familiar with the
|
||||
fundamentals of \LaTeX. For more information about it, see for example the manual
|
||||
\ital{\LaTeX: A Document Preparation System} by Leslie {\sc Lamport}}.
|
||||
Because \LaTeX\ so effectively simplifies
|
||||
production of text-based \TeX\ documents, most users take that path, and most of the
|
||||
descriptions given here will assume that's the case\footnote{Please do not be confused;
|
||||
while \LaTeX\ is recommended for text-based documents containing musical
|
||||
excerpts, its use is definitely discouraged for ordinary self-contained musical scores
|
||||
of any sort.}.
|
||||
|
||||
If for some reason you choose not to use \LaTeX\ for musical excerpts,
|
||||
the basic approach is simply to set off the musical
|
||||
parts between \verb|\startpiece| or \verb|\contpiece| and \verb|\stoppiece| or
|
||||
\verb|\endpiece|, or between \verb|\startextract| and \verb|\zendextract|. But
|
||||
some details in what follows will also apply without \LaTeX.
|
||||
|
||||
There are two basic approaches to embedding musical excerpts in \LaTeX\
|
||||
documents. The first method is to directly include the \musixtex\ code in
|
||||
the \LaTeX\ source file. That will be the subject of the next subsection. The
|
||||
other is to create an EPS (encapsulated Postscript) or PDF file containing only the
|
||||
excerpt, and then ``paste'' it into the \LaTeX\ file. That will be covered in
|
||||
Section~\ref{embedeps}.
|
||||
|
||||
The advantages of using the direct method are that all of the source code for
|
||||
all excerpts can be kept in the same file as the text, and that there is no
|
||||
limit on the length of the excerpt.
|
||||
The advantage of the EPS/PDF method is that you don't have to burden the \LaTeX\
|
||||
source with any of the \musixtex\ paraphernalia. That in turn permits use of
|
||||
primitive versions of the \TeX\ compiler that may not have the capacity
|
||||
to handle the direct method (due to the number of registers consumed by \LaTeX\
|
||||
and \musixtex). The disadvantages are that you must create and keep
|
||||
track of a separate \TeX\ and EPS/PDF file for every excerpt, and that the excerpt
|
||||
must not span any page breaks. On balance, the
|
||||
direct method is probably to be preferred.
|
||||
|
||||
\section{Directly embedding excerpts in \LaTeX\ documents}\label{excerpts}
|
||||
|
||||
To use the direct method, add \verb|\usepackage{musixtex}| to the preamble.
|
||||
This will cause the file
|
||||
\ttxem{musixtex.sty} to be loaded, so naturally you must make that file
|
||||
available in a place where \TeX\ can find it. That file simply inputs two
|
||||
other files, \verb|musixtex.tex| and \ttxem{musixltx.tex}, which again must
|
||||
obviously be available to \TeX.
|
||||
|
||||
Now you are in position to directly embed an excerpt by inserting code at the
|
||||
appropriate place in the source file. The most common type of excerpt is
|
||||
one that occupies less than a full line and is to be horizontally centered. In
|
||||
that case, the extract should begin with the command \keyindex{begin\LBR music\RBR},
|
||||
followed by any preliminary commands. Then, instead of \verb|\startpiece|,
|
||||
use \keyindex{startextract}. Now comes the normal \musixtex\ coding. Finally,
|
||||
end the extract with \keyindex{endextract} instead of \verb|\endpiece|
|
||||
or \verb|\stoppiece|, followed by \keyindex{end\LBR music\RBR}.
|
||||
|
||||
To terminate an extract without any bar line, use \keyindex{zendextract}
|
||||
instead of \verb|\endextract|.
|
||||
To create a left-justified excerpt, use the sequence
|
||||
\begin{quote}
|
||||
\verb|\let\extractline\leftline|.
|
||||
\end{quote}
|
||||
If several extracts are to be placed on the same line, you can
|
||||
redefine \keyindex{extractline} as demonstrated in the following
|
||||
example\footnote{The macro {\tt\Bslash extractline} is defined once and for all in
|
||||
{\tt musixtex.tex} as {\tt\Bslash centerline}. You might think that the suggested
|
||||
coding would permanently redefine {\tt\Bslash extractline}, thereby upsetting the
|
||||
normal function of {\tt\Bslash startextract ... \Bslash endextract} for subsequent use.
|
||||
But it doesn't, because any actions within
|
||||
\keyindex{begin\LBR music\RBR}...\keyindex{end\LBR music\RBR} are local, not
|
||||
global.}:
|
||||
|
||||
% DAS temp (where is the reference???)
|
||||
%An example of this is given at \ref{extractline} on page \pageref{extractline}.
|
||||
% end DAS temp
|
||||
\begin{quote}\begin{verbatim}
|
||||
\begin{music}\nostartrule
|
||||
\let\extractline\hbox
|
||||
\hbox to \hsize{%
|
||||
\hss\startextract ... \zendextract\hss%
|
||||
\hss\startextract ... \zendextract\hss}
|
||||
\end{music}
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
An even shorter type of extract is one that is embedded \ital{within} a line of text.
|
||||
To insert \musixtex\ symbols within a line of text, you could begin by defining
|
||||
\keyindex{notesintext} as follows\footnote{provided by Rainer {\sc Dunker}}:
|
||||
|
||||
\begin{quote}\begin{verbatim}\begin{music}\nostartrule
|
||||
\makeatletter
|
||||
\def\notesintext#1{%
|
||||
{\let\extractline\relax
|
||||
\setlines10\smallmusicsize \nobarnumbers \nostartrule
|
||||
\staffbotmarg0pt \setclefsymbol1\empty \global\clef@skip0pt
|
||||
\startextract\addspace{-\afterruleskip}#1\zendextract}}
|
||||
\makeatother
|
||||
\end{music}\end{verbatim}\end{quote}
|
||||
|
||||
Then, for example, the code
|
||||
|
||||
\begin{verbatim}
|
||||
Use \raisebox{0ex}[0ex][0ex]{\notesintext{\notes\rql1\qu2\en}}
|
||||
not \raisebox{0ex}[0ex][0ex]{\notesintext{\notes\ql2\lqu1\en}}
|
||||
\end{verbatim}
|
||||
|
||||
\noindent would produce: ``Use \raisebox{0ex}[0ex][0ex]{\notesintext{\notes\rql1\qu2\en}} not
|
||||
\raisebox{0ex}[0ex][0ex]{\notesintext{\notes\ql2\lqu1\en}}~''.
|
||||
|
||||
\noindent The \verb|\raisebox| voids the vertical space that is introduced by the notes.
|
||||
|
||||
Finally, you may want to insert an extract containing more than one line
|
||||
of music. This is the easiest of all: between
|
||||
\verb|\begin{music}| and \verb|\end{music}|, use \ital{exactly} the same
|
||||
coding you would to make an ordinary score.
|
||||
|
||||
\enlargethispage*{4ex}
|
||||
The best way to learn how to apply these methods is to study
|
||||
the source files for this document\footnote{Do note,
|
||||
however, that {\tt musixdoc.tex} loads a \texttt{musixdoc.sty} package
|
||||
in its preamble, not just \texttt{musixtex.sty}; the former performs the functions of \texttt{musixtex.sty}
|
||||
as well as numerous tasks peculiar to this particular document.}.
|
||||
|
||||
%DAS I don't think this section is worth including.
|
||||
|
||||
% \section{Wide music in \LaTeX}\label{musixblx}
|
||||
% Another difficulty appears with \LaTeX: internal \LaTeX\ macros handle the
|
||||
%page size in a way which is not supposed to be changed within a given document.
|
||||
%This means that text horizontal and vertical sizes are somewhat frozen so that
|
||||
%one can hardly insert pieces of music of page size different from the size
|
||||
%specified by the \LaTeX{} \itxem{style}.
|
||||
%Although a \ttxem{musixblx.tex} has been provided, which makes the
|
||||
%\ital{environment} \verb|bigmusic| available.
|
||||
%\zkeyindex{begin\LBR bigmusic\RBR}
|
||||
%The main drawback is an unpredictable behaviour of top and bottom
|
||||
%printouts, especially page numberings.
|
||||
%
|
||||
% If the whole of a document has wide pages, it can be handled with the
|
||||
%\ttxem{a4wide} style option, or any derivate of it.
|
||||
|
||||
\section{Embedding musical excerpts as PDF or EPS files}
|
||||
\label{embedeps}
|
||||
To use this method of including excerpts, you first must create a separate
|
||||
\musixtex\ input file for each excerpt. Process each such file with
|
||||
\TeX\ and \verb|musixflx| to generate a \verb|.dvi| file. Generate
|
||||
a Postscript file from each \verb|.dvi| using \verb|dvips|. Then
|
||||
convert each Postscript file to a \verb|.pdf| or \verb|.eps| file using
|
||||
\verb\ps2pdf\ or \verb\ps2eps\;
|
||||
if you are using Windows, {GSview} can be used for either. Note that
|
||||
conversion to EPS (Encapsulated Postscript) is possible only for \emph{single-page} Postscript files.
|
||||
|
||||
To set up your \LaTeX\ document for including \verb|.pdf| or \verb|.eps| files, you must post
|
||||
the command \verb|\usepackage{graphicx}| in the preamble of the
|
||||
document. Now, you may include each \texttt{sample.pdf} or \texttt{sample.eps} file at the appropriate place
|
||||
in the {\LaTeX} document with a command
|
||||
like \keyindex{includegraphics}\verb|{sample}|. If an embedded file is a PDF (rather than an EPS),
|
||||
the document must be processed with \verb|pdflatex| (rather than \verb|latex|).
|
||||
|
||||
\section{Issues concerning \texorpdfstring{{\Bslash catcodes}}{catcodes}}
|
||||
\label{catcodeprobs}
|
||||
|
||||
\musixtex\ uses the following symbols differently from plain \TeX: \verb|>|,
|
||||
\verb|<|, \verb&|&, \verb|&|, \verb|!|, \verb|*|, \verb|.|, and \verb|:|\ .\\
|
||||
The symbols are given their special meanings by executing the macro
|
||||
\keyindex{catcodesmusic}, and are restored to their plain \TeX\ meanings with
|
||||
\keyindex{endcatcodesmusic}. When setting either a self-contained score or
|
||||
a musical extract, you normally need not worry
|
||||
about this at all, because \verb|\startpiece| or \verb|\startextract| executes
|
||||
\verb|\catcodesmusic| and \verb|\endpiece| or \verb|\endextract| executes
|
||||
\verb|\endcatcodesmusic|. But there are some special situations where you
|
||||
might need to use these catcode-modifying macros explicitly. One is if you
|
||||
were to define a personalized macro outside
|
||||
\verb|\startpiece ... \endpiece|, but which incorporated any of the
|
||||
symbols with their \musixtex\ meanings. Another would be if you wished to have
|
||||
access to facilities enabled by alternate style files such as
|
||||
{\tt\ixem{french.sty}} which change \keyindex{catcode}s themselves. In
|
||||
such cases, provided you have input \verb|musixtex.tex|, you can always
|
||||
invoke \keyindex{catcodesmusic} to set the \keyindex{catcode}s at their
|
||||
\musixtex\ values, and \keyindex{endcatcodesmusic} to restore them to their
|
||||
prior values.
|
125
musixtex/doc/musixdoc/examples.tex
Normal file
125
musixtex/doc/musixdoc/examples.tex
Normal file
|
@ -0,0 +1,125 @@
|
|||
\chapter{\musixtex\ Examples}
|
||||
|
||||
The file \verb|musixdoc.tex|, the source for this manual, contains many useful
|
||||
examples. In the manual, many examples are accompanied by a display of the code
|
||||
that produced them, while for a few only an image of the extract is included and you'll
|
||||
have to look in the \verb|musixdoc| source files to see the coding.
|
||||
|
||||
Other useful examples cannot be embedded in the source, either because they are
|
||||
meant to be in \TeX, not \LaTeX, or because they are simply too large. For
|
||||
these the source files also are provided separately.
|
||||
|
||||
When compiling or viewing any of the examples, you should keep in mind that
|
||||
most DVI previewers and laser printers have
|
||||
their origin one inch below and one inch to the right of the upper right corner
|
||||
of the paper, while the musical examples have their upper left
|
||||
corner just one centimeter to the right and below the top left corner of the page.
|
||||
Therefore, special parameters may have to be given to the DVI transcription
|
||||
programs unless special \keyindex{hoffset} and \keyindex{voffset} \TeX\
|
||||
commands have been included within the \TeX\ source.
|
||||
|
||||
\section{Small examples}
|
||||
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
|
||||
\item{\tt ossiaexa.tex}~: This is a stand-alone example of the use of ossia,
|
||||
provided by Olivier Vogel (Section~\ref{ossia} on page \pageref{ossia}).
|
||||
|
||||
\item{\tt 8bitchar.tex}~: Using 8bit characters.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\section{Full examples}
|
||||
The small examples above and the longer ones mentioned below are included in
|
||||
the documentation folder of the \musixtex\ package.
|
||||
Some of them require
|
||||
\verb|musixcpt.tex| which makes examples created in
|
||||
Music\TeX\ compatible with \musixtex. Here we mention a few of
|
||||
special interest.
|
||||
|
||||
\subsection{Examples mentioned in the manual}
|
||||
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
\item{\tt avemaria.tex}~: the ``M\'editation'' (alias ``Ave Maria'') by
|
||||
Charles {\sc Gounod} for organ and violin or voice.\index{Gounod, C.@{\sc Gounod, C.}}
|
||||
To run this five-page example you'll also need \texttt{avemariax.tex}.
|
||||
It demonstrates the use of separated bar rules (Section~\ref{avemaria2})
|
||||
and the use of staves of different sizes (Section~\ref{avemaria}).
|
||||
Also, an additional instrument is created for lyrics. This was a common
|
||||
practice before the \texttt{musixlyr} package was created by Rainer Dunker.
|
||||
|
||||
\item{\tt glorias.tex}~: a local melody for the French version of
|
||||
\ital{Gloria in excelsis Deo}, a three-page piece demonstrating the use of the hardlyrics
|
||||
commands (Section~\ref{glorias}). {\tt gloriab.tex} is the same piece, but with organ accompaniment.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Other examples, provided by the authors of \musixtex }
|
||||
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
|
||||
\item{\tt traeumer.tex}~: the famous ``Tr\"aumerei'' by
|
||||
Robert {\sc Schumann}\index{Schumann, R.@{\sc Schumann, R.}} for piano, in genuine
|
||||
\musixtex\ but with some
|
||||
additions to perform ascending bitmapped \itxem{crescendos}.
|
||||
There are also S-shaped slurs between 2 staves.
|
||||
|
||||
\item{\tt parnasum.tex}~: the first page of ``Doctor gradus ad
|
||||
Parnassum'' by Claude {\sc Debussy}\index{Debussy,
|
||||
C.@{\sc Debussy, C.}} for piano.
|
||||
It contains a rather complex example of a new command \verb+\Special+
|
||||
to create staff-jumping doubly beamed notes.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Additional documentation}
|
||||
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
|
||||
\item{\tt sottieng}~: Notation mistakes, provided by Jean-Pierre Coulon.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\section{Compiling \texttt{musixdoc.ltx}}
|
||||
|
||||
This manual is an excellent example of a primarily text document with embedded
|
||||
musical excerpts. For this reason, it is a \LaTeX\ document and must be compiled
|
||||
with \verb|latex| rather than \verb|etex|. Those wishing to combine text and
|
||||
musical excerpts should carefully study how it is done here.
|
||||
|
||||
Before compiling or recompiling \verb|musixdoc.ltx|, you should remove all the auxiliary
|
||||
files {\tt musixdoc.[mx1\|\allowbreak mx2\|\allowbreak aux\|\allowbreak toc\|\allowbreak ind\|\allowbreak idx\|\allowbreak ilg\|\allowbreak out]}
|
||||
if they are present. Then the following command sequence will produce \verb|musixdoc.ps|:
|
||||
\begin{quote}\begin{verbatim}
|
||||
latex musixdoc
|
||||
musixflx musixdoc
|
||||
latex musixdoc
|
||||
makeindex musixdoc
|
||||
latex musixdoc
|
||||
latex musixdoc
|
||||
dvips -e0 musixdoc
|
||||
\end{verbatim}\end{quote}
|
||||
The initial three steps \verb|latex|\allowbreak$\to$\allowbreak\verb|musixflx|\allowbreak$\to$\allowbreak\verb|latex| build up the basic appearance of the document including musical examples.
|
||||
The \verb|makeindex| step produces the database for the index.
|
||||
After that, \verb|latex| must be run at least twice to complete cross referencing.
|
||||
Finally, \verb|dvips| converts the \verb|.dvi| file into \verb|.ps|;
|
||||
the \texttt{-e0} option prevents \texttt{dvips} from making pixel adjustments
|
||||
intended for letters in words.
|
||||
To produce \verb|musixdoc.pdf|, use \verb|ps2pdf| or the Distiller component of Adobe Acrobat, or open \verb|musixdoc.ps| in \texttt{GSview}, go to
|
||||
{\tt File\|Convert}, select \verb|pdfwrite| at 600 dpi resolution, and click
|
||||
\verb|OK|.
|
||||
|
||||
Alternatively, if you have the \verb|musixtex| script, just run
|
||||
\verb|musixtex -x musixdoc|
|
||||
(where
|
||||
the \verb|-x| option is only needed to create a new index database).
|
||||
|
||||
%If you use an older version of \LaTeX\ which doesn't automatically
|
||||
%invoke $\varepsilon$\hbox{-}\nobreak\TeX, you will encounter the
|
||||
%error ``{\tt !~No room for new \string\count}''.
|
||||
%This is because \verb|musixdoc.tex| invokes \verb|musixtex.tex|, which together with \LaTeX\
|
||||
%requires more storage registers than available in \TeX.
|
||||
%You may be able get around this by using the command
|
||||
%\verb|elatex| instead of \verb|latex|;
|
||||
%however, it is strongly recommended to upgrade your \TeX\ system to a more recent
|
||||
%version in which \verb|latex| automatically invokes $\varepsilon$\hbox{-}\nobreak\TeX.
|
||||
|
2369
musixtex/doc/musixdoc/extensions.tex
Normal file
2369
musixtex/doc/musixdoc/extensions.tex
Normal file
File diff suppressed because it is too large
Load diff
101
musixtex/doc/musixdoc/extracting.tex
Normal file
101
musixtex/doc/musixdoc/extracting.tex
Normal file
|
@ -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}
|
||||
|
231
musixtex/doc/musixdoc/fonts.tex
Normal file
231
musixtex/doc/musixdoc/fonts.tex
Normal file
|
@ -0,0 +1,231 @@
|
|||
\chapter{Font Selection and Text Placement}
|
||||
|
||||
\section{Predefined text fonts}
|
||||
While any font with support for \TeX\ can be used by \musixtex, certain styles and
|
||||
sizes can be selected using shortcut commands.
|
||||
For ordinary text, the shortcuts cover fonts of nine different
|
||||
sizes and six styles. The sizes in points are $7$, $8$, $9$, $10$, $12$, $14$, $17$, $20$, and $25$;
|
||||
the styles are from the standard Computer Modern family: Roman, bold, italic, bold italic
|
||||
and small capitals.
|
||||
The size selection macros from smallest to biggest are
|
||||
\keyindex{tinytype},
|
||||
\keyindex{smalltype},
|
||||
\keyindex{Smalltype},
|
||||
\keyindex{normtype}, \keyindex{medtype}, \keyindex{bigtype},
|
||||
\keyindex{Bigtype},
|
||||
\keyindex{BIgtype} and \keyindex{BIGtype}.
|
||||
The style may be selected or changed using \keyindex{rm} (Roman), \keyindex{bf}
|
||||
(bold), \keyindex{it} (italic), \keyindex{bi} (bold italic) or
|
||||
\keyindex{sc} (small-capitals). If no style is explicitly selected, Roman style
|
||||
will be used for the sizes \verb|\medtype| or smaller; for the larger sizes,
|
||||
bold style is the default. Thus, for example,
|
||||
eight point italic is selected with \verb|\smalltype\it|, while
|
||||
twelve point Roman is selected using \verb|\medtype\rm| or simply
|
||||
\verb|\medtype|. To change between styles while maintaining the same size,
|
||||
code \verb|\rm|, \verb|\it|, \verb|\bf|, \verb|\bi| or \verb|\sc|, as in Plain \TeX.
|
||||
When \musixtex\ is started, the default font for ordinary text is
|
||||
ten point Roman, equivalent to \verb|\normtype\rm|.
|
||||
|
||||
Another group of fonts, in bold extended italic style, is predefined in point sizes
|
||||
$8$, $10$, $12$, $14$, and $17$ for dynamic markings. The appropriate font for the current
|
||||
staff size may be selected simply by using \keyindex{ppff} as a
|
||||
font specification. Macros \keyindex{tinydyn}, \keyindex{smalldyn}, \keyindex{normdyn}, or \keyindex{meddyn} may be
|
||||
used to redefine \verb|\ppff| to represent one of the smallest four.
|
||||
|
||||
|
||||
A selection of predefined fonts is summarized in Table~\ref{predefinedfonts}. The second column gives an
|
||||
explicit control sequence that can alternatively be used locally as a font specification.
|
||||
\font\ctinytype=cmr7
|
||||
\font\ctinytypebf=cmbx7
|
||||
\font\ctinytypeit=cmti7
|
||||
\font\csmalltype=cmr8
|
||||
\font\csmalltypebf=cmbx8
|
||||
\font\csmalltypeit=cmti8
|
||||
\font\cSmalltype=cmr9
|
||||
\font\cSmalltypebf=cmbx9
|
||||
\font\cSmalltypeit=cmti9
|
||||
\font\cnormtype=cmr10
|
||||
\font\cnormtypebf=cmbx10
|
||||
\font\cnormtypeit=cmti10
|
||||
\font\cnormtypebi=cmbxti10
|
||||
\font\cnormtypesc=cmcsc10
|
||||
\font\cmedtype=cmr12
|
||||
\font\cmedtypebf=cmbx12
|
||||
\font\cmedtypeit=cmti12
|
||||
\font\cmedtypebi=cmbxti10 scaled \magstep1
|
||||
\font\cmedtypesc=cmcsc10 scaled \magstep1
|
||||
\font\cbigtype=cmbx12 scaled \magstep1
|
||||
\font\cBigtype=cmbx12 scaled \magstep2
|
||||
\font\cBIgtype=cmbx12 scaled \magstep3
|
||||
\font\cBIGtype=cmbx12 scaled \magstep4
|
||||
\font\cppfftwelve=cmbxti10 at 8pt
|
||||
\font\cppffsixteen=cmbxti10
|
||||
\font\cppfftwenty=cmbxti10 scaled \magstep1
|
||||
\font\cppfftwentyfour=cmbxti10 scaled \magstep2
|
||||
\font\cppfftwentynine=cmbxti10 scaled \magstep3
|
||||
\font\cbigtype=cmbx12 scaled \magstep1
|
||||
\font\cBigtype=cmbx12 scaled \magstep2
|
||||
\font\cBIgtype=cmbx12 scaled \magstep3
|
||||
\font\cBIGfont=cmbx12 scaled \magstep4
|
||||
\begin{table}
|
||||
\begin{center}
|
||||
\renewcommand{\arraystretch}{1.15}
|
||||
\begin{tabular}{lll}
|
||||
\hline
|
||||
Size and style & Font specification & Example \\
|
||||
\hline
|
||||
\verb|\tinytype| & \verb|\sevenrm| & {\ctinytype tiny Roman} \\
|
||||
\verb|\tinytype\bf| & \verb|\sevenbf| & {\ctinytypebf tiny bold} \\
|
||||
\verb|\tinytype\it| & \verb|\sevenit| & {\ctinytypeit tiny italic} \\
|
||||
\verb|\smalltype| & \verb|\eightrm| & {\csmalltype small Roman} \\
|
||||
\verb|\smalltype\bf| & \verb|\eightbf| & {\csmalltypebf small bold} \\
|
||||
\verb|\smalltype\it| & \verb|\eightit| & {\csmalltypeit small italic} \\
|
||||
\verb|\Smalltype| & \verb|\ninerm| & {\cSmalltype Small Roman} \\
|
||||
\verb|\Smalltype\bf| & \verb|\ninebf| & {\cSmalltypebf Small bold} \\
|
||||
\verb|\Smalltype\it| & \verb|\nineit| & {\cSmalltypeit Small italic} \\
|
||||
\verb|\normtype| & \verb|\tenrm| & {\cnormtype normal Roman} \\
|
||||
\verb|\normtype\bf| & \verb|\tenbf| & {\cnormtypebf normal bold} \\
|
||||
\verb|\normtype\it| & \verb|\tenit| & {\cnormtypeit normal italic}\\
|
||||
\verb|\normtype\bi| & \verb|\tenbi| & {\cnormtypebi normal bold italic}\\
|
||||
\verb|\normtype\sc| & \verb|\tensc| & {\cnormtypesc normal small capitals}\\
|
||||
\verb|\medtype| & \verb|\twelverm| & {\cmedtype medium Roman} \\
|
||||
\verb|\medtype\bf| & \verb|\twelvebf| & {\cmedtypebf medium bold} \\
|
||||
\verb|\medtype\it| & \verb|\twelveit| & {\cmedtypeit medium italic}\\
|
||||
\verb|\medtype\bi| & \verb|\twelvebi| & {\cmedtypebi medium bold italic}\\
|
||||
\verb|\medtype\sc| & \verb|\twelvesc| & {\cmedtypesc medium small capitals}\\
|
||||
\verb|\bigtype| & \verb|\frtbf| & {\cbigtype big bold} \\[.4ex]
|
||||
\verb|\Bigtype| & \verb|\svtbf| & {\cBigtype Big bold} \\[.4ex]
|
||||
\verb|\BIgtype| & \verb|\twtybf| & {\cBIgtype BIg bold} \\[.4ex]
|
||||
\verb|\BIGtype| & \verb|\twfvbf| & {\cBIGtype BIG bold} \\
|
||||
~ & \verb|\ppfftwelve| & {\cppfftwelve pp ff diminuendo}\\
|
||||
~ & \verb|\ppffsixteen| & {\cppffsixteen pp ff diminuendo}\\
|
||||
~ & \verb|\ppfftwenty| & {\cppfftwenty pp ff diminuendo}\\
|
||||
~ & \verb|\ppfftwentyfour| & {\cppfftwentyfour pp ff diminuendo}\\[.4ex]
|
||||
~ & \verb|\ppfftwentynine| & {\cppfftwentynine pp ff diminuendo}\\[.4ex]
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Various predefined fonts}
|
||||
\label{predefinedfonts}
|
||||
\end{table}
|
||||
|
||||
\section{User-defined text fonts}
|
||||
|
||||
Since \musixtex\ is a superset of \TeX, you are free to use the standard \TeX\
|
||||
machinery for defining and using any special font you desire. You must first
|
||||
of course ensure that (a)~all the necessary font files (e.g., \verb|bla10.tfm|,
|
||||
\verb|bla10.pfb|, or equivalents) are installed in the right places in your system, (b)~all
|
||||
configuration files (e.g., \verb|config.ps| or equivalent) have been updated, and
|
||||
(c)~the \TeX\ file-name database has been updated, as required by your \TeX\ system. Then you can use the font just as
|
||||
in any \TeX\ document, e.g., by coding \verb|\font blafont=bla10| and then
|
||||
\verb|\zchar{10}{\blafont Text in user-defined font}|.
|
||||
|
||||
You might also wish to replace once and for all the typefaces invoked by the
|
||||
commands described in the previous section. Again, before doing this, you must
|
||||
follow steps (a-c) of the previous paragraph for all fonts in question.
|
||||
\label{UserFonts}
|
||||
You can use bitmapped fonts, which are converted to
|
||||
Postscript by e.g.,~\verb|dvips|, but you also may replace them
|
||||
by native Postscript fonts.
|
||||
|
||||
The extension library
|
||||
\verb|musixtmr.tex|\footnote{by Hiroaki {\sc Morimoto}}
|
||||
replaces the default Computer Modern text fonts by
|
||||
the Times series of fonts; see Section~\ref{times}.
|
||||
Other extension libraries, \verb|musixplt.tex| and \verb|musixhv.tex|, replace the default text fonts by
|
||||
Palatino and Helvetica fonts, respectively; see Sections~\ref{palatino} and \ref{helvetica}.
|
||||
\font\tnormtype=ptmr7t
|
||||
\font\tnormtypebf=ptmb7t
|
||||
\font\tnormtypeit=ptmri7t
|
||||
\font\tbigtype=ptmr7t scaled \magstep2
|
||||
\font\tBigtype=ptmr7t scaled \magstep3
|
||||
\font\pnormtype=pplr8r
|
||||
\font\pnormtypebf=pplb8r
|
||||
\font\pnormtypeit=pplri8r
|
||||
\font\pbigtype=pplrc8r at 14pt
|
||||
\font\pBigtype=pplrc8r at 17pt
|
||||
\font\hnormtype=phvr8r at 10pt
|
||||
\font\hnormtypebf=phvb8r at 10pt
|
||||
\font\hnormtypeit=phvro8r at 10pt
|
||||
\font\hbigtype=phvr8r at 14pt
|
||||
\font\hBigtype=phvr8r at 17pt
|
||||
Here is a comparison of some Times,
|
||||
Palatino and Helvetica fonts:
|
||||
\begin{center}
|
||||
\begin{tabular}{lll}
|
||||
\hline
|
||||
{\tnormtype normal Times Roman} & {\pnormtype normal Palatino Roman} &{\hnormtype normal Helvetica Roman} \\
|
||||
{\tnormtypebf normal Times bold} & {\pnormtypebf normal Palatino bold}& {\hnormtypebf normal Helvetica bold} \\
|
||||
{\tnormtypeit normal Times italic} & {\pnormtypeit normal Palatino italic } & {\hnormtypeit normal Helvetica italic }\\[.4ex]
|
||||
{\tbigtype Times big} & {\pbigtype Palatino big } & {\hbigtype Helvetica big } \\[.4ex]
|
||||
{\tBigtype Times Big } & {\pBigtype Palatino Big } & {\hBigtype Helvetica Big } \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
For users who prefer to stick with the default Computer Modern
|
||||
family but want to use the T$1$-encoded EC variants, the extension library
|
||||
\verb|musixec.tex| is available; see Section~\ref{ecfonts}\@.
|
||||
|
||||
\section{Text placement}\label{textplacement}
|
||||
Special macros are provided to allow precise placement of any \TeX\ text, vertically
|
||||
relative to the staff, and horizontally relative to any note in
|
||||
the staff.
|
||||
|
||||
The macros in the first group will vertically position the text with the
|
||||
baseline at any specified pitch or staff line. They must be used
|
||||
inside \verb|\notes...\en|. They will not insert any additional
|
||||
horizontal space. They have the forms
|
||||
\keyindex{zcharnote}\pitchp\verb|{|\ital{text}\verb|}|, \keyindex{lcharnote}\pitchp\verb|{|\ital{text}\verb|}|,
|
||||
and \keyindex{ccharnote}\pitchp\verb|{|\ital{text}\verb|}|,
|
||||
where \ital{p} is the pitch. With the first one, text will spill to the right
|
||||
from the current insertion point, with the second it will spill to the left, and with the
|
||||
third it will be centered horizontally.
|
||||
The following abbreviations are available:
|
||||
\begin{quote}
|
||||
\begin{tabular}{lcl}
|
||||
\keyindex{zcn}& for&\verb|\zcharnote| \\
|
||||
\keyindex{lcn}& for&\verb|\lcharnote| \\
|
||||
\keyindex{ccn}& for&\verb|\ccharnote| \\
|
||||
\end{tabular}
|
||||
\end{quote}
|
||||
|
||||
There are similar macros \keyindex{zchar}\pitchp\verb|{|\ital{text}\verb|}|,
|
||||
\keyindex{lchar}\pitchp\verb|{|\ital{text}\verb|}|, and \keyindex{cchar}\pitchp\verb|{|\ital{text}\verb|}|,
|
||||
which differ from the previous three in that the pitch \ital{must} be given with
|
||||
a number (representing the number of staff positions up from the lowest line),
|
||||
and that the number need not be an integer.
|
||||
|
||||
To vertically position any text midway between two consecutive staves, use
|
||||
\keyindex{zmidstaff}\verb|{|{\it text}\verb|}|, \keyindex{lmidstaff}\verb|{|{\it text}\verb|}|,
|
||||
or \keyindex{cmidstaff}\verb|{|{\it text}\verb|}| at the appropriate point in the lower staff.
|
||||
|
||||
The macros \keyindex{uptext}\verb|{|\ital{text}\verb|}| and
|
||||
\keyindex{Uptext}\verb|{|\ital{text}\verb|}|
|
||||
are simply shorthands for
|
||||
\verb|\zchar{10}{|\ital{text}\verb|}| and
|
||||
\verb|\zchar{14}{|\ital{text}\verb|}|,
|
||||
respectively.
|
||||
|
||||
The text items handled by all of the above macros can include any appropriate
|
||||
string of \TeX\
|
||||
control sequences, including font definitions, \verb|\hbox|'es, etc.
|
||||
|
||||
Material posted with any of the macros described in this section will not
|
||||
create any additional horizontal or vertical space within the current system,
|
||||
and will overwrite anything in the current system that gets in the way. It is
|
||||
the typesetter's responsibility to ensure there is adequate white space
|
||||
within the current system to accommodate any text placed with
|
||||
these macros. On the other hand, if text is placed far above or below a
|
||||
system, \musixtex\ will usually insert additional vertical space if needed.
|
||||
|
||||
\section{Rehearsal marks}
|
||||
|
||||
Rehearsal marks are usually
|
||||
boxed or circled uppercase letters or digits. They can be defined using the macros
|
||||
\keyindex{boxit}\verb|{|\ital{text}\verb|}| or
|
||||
\keyindex{circleit}\verb|{|\ital{text}\verb|}|. For boxed text,
|
||||
the margin between the text and box is controlled by the dimension
|
||||
register \keyindex{boxitsep}, which can be reset to any \TeX\ dimension if the
|
||||
default value of \verb|3pt| is unsatisfactory. To place the mark, use \verb|\Uptext| or
|
||||
any of the other macros defined in the previous section.
|
143
musixtex/doc/musixdoc/frontmatter.tex
Normal file
143
musixtex/doc/musixdoc/frontmatter.tex
Normal file
|
@ -0,0 +1,143 @@
|
|||
\title{\Huge\bfseries\musixtex\\[\bigskipamount]
|
||||
\LARGE\bfseries Using \TeX{} to write polyphonic\\or
|
||||
instrumental music\\\Large\itshape Version 1.35}
|
||||
\author{}
|
||||
|
||||
|
||||
%\author{\Large\rm Daniel \sc Taupin\\\large\sl
|
||||
% Laboratoire de Physique des Solides\\\normalsize\sl
|
||||
% (associ\'e au CNRS)\\\normalsize\sl
|
||||
% b\^atiment 510, Centre Universitaire, F-91405 ORSAY Cedex\\\medskip
|
||||
% \\\Large\rm Ross \sc Mitchell\\\large\sl
|
||||
% CSIRO Division of Atmospheric Research,\\\normalsize\sl
|
||||
% Private Bag No.1, Mordialloc, Victoria 3195,\\ Australia \\\medskip
|
||||
% \\\Large\rm Andreas \sc Egler\\\large\sl
|
||||
% (Ruhr--Uni--Bochum)\\ Ursulastr. 32\\ D-44793 Bochum}
|
||||
\date{Revised \today}
|
||||
\maketitle
|
||||
\vfill
|
||||
\thispagestyle{empty}
|
||||
\begin{flushright}\it
|
||||
If you are not familiar with \TeX{} at all, I would recommend\\
|
||||
to find another software package to do musical typesetting.\\
|
||||
Setting up \TeX{} and \musixtex\ on your machine and mastering it is\\
|
||||
an awesome job which gobbles up a lot of your time and disk space.\\[\medskipamount]
|
||||
But, once you master it\ldots\\[\smallskipamount]
|
||||
Hans {\sc Kuykens} (ca.~1995)
|
||||
|
||||
\vspace*{4ex}
|
||||
In my humble opinion, that whole statement is obsolete.\\[\smallskipamount]
|
||||
Christof\/ {\sc Biebricher} (2006)
|
||||
\end{flushright}
|
||||
|
||||
\clearpage
|
||||
|
||||
\pagenumbering{roman}\setcounter{page}{2}
|
||||
|
||||
|
||||
\vspace*{20ex}
|
||||
\begin{quote}
|
||||
\musixtex{} may be freely copied, duplicated and used in conformance to
|
||||
the GNU General Public License (Version 2, 1991, see included file {\tt
|
||||
copying})\footnote{Thanks to the Free Software Foundation for advice. See
|
||||
\href{http://www.gnu.org}{\underline{\tt http://www.gnu.org}}}.
|
||||
|
||||
You may take it or parts of it to include in other packages, but no packages
|
||||
called \musixtex{} without specific suffix may be distributed under the name
|
||||
\musixtex{} if different from the original distribution (except obvious bug
|
||||
corrections).
|
||||
|
||||
Adaptations for specific implementations (e.g., fonts) should be provided as
|
||||
separate additional \TeX\ or \LaTeX\ files which override original definitions.
|
||||
\end{quote}
|
||||
|
||||
\clearpage
|
||||
|
||||
\chapter*{Preface}
|
||||
\addcontentsline{toc}{chapter}{Preface}
|
||||
\musixtex\ was developed by Daniel Taupin, Ross Mitchell and Andreas
|
||||
Egler,
|
||||
building
|
||||
on earlier work by Andrea Steinbach and Angelika Schofer.
|
||||
Unfortunately, Daniel Taupin, the main developer, died all too early in a 2003
|
||||
climbing accident. The \musixtex\ community was shocked by this tragic and unexpected
|
||||
event. You may read tributes to Daniel Taupin that are archived at the
|
||||
\href{http://icking-music-archive.org}{\underline{Werner Icking Music Archive}} (WIMA\index{WIMA}).
|
||||
|
||||
Since then, the only significant update to \musixtex\ has been in version 1.15 (April 2011) which
|
||||
takes advantage of the greater capacity of the e\TeX\ version of \TeX.
|
||||
This manual
|
||||
is the definitive reference to all features of
|
||||
\musixtex\ version~1.33a.
|
||||
|
||||
Novice users need not start here.
|
||||
Most
|
||||
music typesetting tasks can be accomplished entirely by using the \textbf{PMX}
|
||||
(for instrumental music) or \mbox{\textbf{M-Tx}} (for vocal music)
|
||||
preprocessors to generate the \musixtex\ input file, relieving the user of
|
||||
learning any of the commands or syntax of \musixtex\ itself. It is only
|
||||
for out-of-the-ordinary constructions that one must learn these details in order
|
||||
to insert the necessary \musixtex\ commands into the preprocessor's input file
|
||||
as so-called inline \TeX.
|
||||
|
||||
Advanced users might
|
||||
want to use \verb|autosp|, another preprocessor. It simplifies
|
||||
the production of \musixtex\ scores by automating the choice of
|
||||
note-spacing commands; see Section~\ref{autosp}.
|
||||
|
||||
It is possible to create inputs for \musixtex, \textbf{PMX}, \mbox{\textbf{M-Tx}} or
|
||||
\texttt{autosp} using any text editor, such as \verb|notepad| or \verb|vi| or
|
||||
\verb|emacs|. Currently there is no graphical user interface for
|
||||
generating input files, other than \TeX-oriented integrated
|
||||
graphical development environments such as \TeX Works.
|
||||
|
||||
The \href{http://icking-music-archive.org/software/indexmt6.html}
|
||||
{\underline{Werner Icking Music Archive}} contains excellent and detailed
|
||||
instructions for installing \TeX, \musixtex{} and the strongly recommended
|
||||
preprocessors \textbf{PMX}
|
||||
and \mbox{\textbf{M-Tx}} on
|
||||
\href{http://icking-music-archive.org/software/htdocs/Getting_Started_Four_Scenar.html#SECTION00022000000000000000}
|
||||
{\underline{Linux/\unix}},
|
||||
\href{http://icking-music-archive.org/software/htdocs/Getting_Started_Four_Scenar.html#SECTION00021000000000000000}
|
||||
{\underline{Windows}} and
|
||||
\href{http://icking-music-archive.org/software/htdocs/Getting_Started_Four_Scenar.html#SECTION00023000000000000000}
|
||||
{\underline{Mac OS}}.
|
||||
See
|
||||
\href{http://icking-music-archive.org/software/htdocs/Introduction.html#SECTION00012000000000000000}
|
||||
{\underline{this}}
|
||||
page at WIMA for documentation of
|
||||
\textbf{PMX} and \mbox{\textbf{M-Tx}}.
|
||||
|
||||
\begin{flushright}
|
||||
Oliver Vogel\\ Don Simons\\ Andre van Ryckeghem\\ Cornelius Noack\\
|
||||
Hiroaki Morimoto\\
|
||||
Bob Tennent\\ \today
|
||||
\end{flushright}
|
||||
|
||||
\clearpage
|
||||
|
||||
\makeatletter
|
||||
\renewcommand\tableofcontents{%
|
||||
\if@twocolumn
|
||||
\@restonecoltrue\onecolumn
|
||||
\else
|
||||
\@restonecolfalse
|
||||
\fi
|
||||
\chapter*{\contentsname
|
||||
\@mkboth{%
|
||||
\contentsname}{\contentsname}}%
|
||||
\addcontentsline{toc}{chapter}{Contents} % added by RDT
|
||||
\@starttoc{toc}%
|
||||
\if@restonecol\twocolumn\fi
|
||||
}
|
||||
\makeatother
|
||||
|
||||
|
||||
%\begin{small}
|
||||
\tableofcontents
|
||||
%\end{small}
|
||||
|
||||
\clearpage
|
||||
\setcounter{page}{1}
|
||||
\pagenumbering{arabic}
|
||||
\renewcommand{\thepage}{\arabic{page}}
|
10
musixtex/doc/musixdoc/index.tex
Normal file
10
musixtex/doc/musixdoc/index.tex
Normal file
|
@ -0,0 +1,10 @@
|
|||
\makeatletter
|
||||
\renewenvironment{theindex}
|
||||
{\pagestyle{plain}\parindent\z@
|
||||
\parskip\z@ \@plus .3\p@\relax
|
||||
\let\item\@idxitem}
|
||||
{\thispagestyle{plain}}
|
||||
\makeatother
|
||||
\begin{multicols}{3}[\chapter*{Index}\addcontentsline{toc}{chapter}{Index}]
|
||||
\printindex
|
||||
\end{multicols}
|
822
musixtex/doc/musixdoc/introduction.tex
Normal file
822
musixtex/doc/musixdoc/introduction.tex
Normal file
|
@ -0,0 +1,822 @@
|
|||
\chapter{Introduction to \musixtex}
|
||||
|
||||
This chapter is not a tutorial on the use of \musixtex, but instead serves as
|
||||
an overview of some of its capabilities, quirks, and history.
|
||||
|
||||
\musixtex\ is a set of macros and fonts which enables music typesetting
|
||||
within the \TeX\ system. It requires as a prerequisite a working
|
||||
installation of \TeX.
|
||||
\musixtex\ might be regarded as the digital equivalent of a box of type. It
|
||||
contains symbols for staves, notes, chords, beams, slurs and ornaments,
|
||||
ready to be arranged to form a sheet of music. But it must be told how to position
|
||||
those symbols on the page. This could be done by the typesetter
|
||||
himself, if he or she elects to proceed by entering \musixtex\ commands manually
|
||||
into an input file. However most users will find it far less taxing to let
|
||||
such decisions be made largely by the preprocessor
|
||||
\href{http://icking-music-archive.org/software/indexmt6.html#pmx}
|
||||
{\underline{\textbf{PMX}}}, which in addition uses a much simpler input
|
||||
language than \musixtex.
|
||||
|
||||
Lyrics can also be handled by \musixtex. There is a set of primitive
|
||||
commands for this which are described later. But there is also a far
|
||||
more adaptable set of macros contained in the extension file
|
||||
\verb|musixlyr.tex|, and there is the preprocessor
|
||||
\href{http://icking-music-archive.org/software/indexmt6.html#mtx}
|
||||
{\underline{\mbox{\textbf{M-Tx}}}}\ which provides easy, transparent access to
|
||||
these macros.
|
||||
|
||||
Most users of \TeX\ are familiar with \LaTeX, a set of \TeX\ macros
|
||||
which eases document layout. In fact many may only use \LaTeX.
|
||||
Until recently, \LaTeX\ and \musixtex\ coexisted only grudgingly, owing
|
||||
primarily to the limited availabily of storage registers. But with modern
|
||||
versions of \TeX\ and with the use of e\LaTeX, only a modest increase in
|
||||
complexity is incurred with the addition of musical excerpts to a \LaTeX\
|
||||
document. Still, fortunately, for typesetting a musical score there is
|
||||
rarely if ever any advantage to using \LaTeX. Only if one wanted to create a
|
||||
text document with embedded musical examples would there be much use for it.
|
||||
Even in that case there is a perfectly fine way to avoid using \musixtex\
|
||||
directly in the document file, namely, by using \musixtex\ to create
|
||||
\verb|pdf| or \verb|eps| files for
|
||||
each of the examples, and then embedding references to those in the file for
|
||||
the larger document. But for anyone who still wants to use both together, there is
|
||||
no better example than this manual, as generated with the files
|
||||
\verb|musixdoc.tex| and \verb|musixdoc.sty|. A few further details about such
|
||||
nonstandard applications are given in Section~\ref{excerpts}.
|
||||
|
||||
\section{Primary features of \musixtex}
|
||||
\subsection{Music typesetting is two-dimensional} Written music is not
|
||||
usually a linear sequence of symbols like a literary text. Rather,
|
||||
except for unaccompanied single-note instruments like clarinets,
|
||||
trumpets and human voices, it has the form of a two-dimensional matrix.
|
||||
Thus, a logical way of coding music consists
|
||||
in horizontally accumulating a set of \ital{vertical combs} with
|
||||
\ital{horizontal teeth} as depicted in Table~\ref{readtable}.
|
||||
%\def\hboxit#1{\boxit{\rlap{#1}\hphantom{note sequence three}}}
|
||||
\begin{table}
|
||||
\begin{center}
|
||||
\small
|
||||
\renewcommand{\arraystretch}{1.4}
|
||||
\setlength{\arrayrulewidth}{1.5pt}
|
||||
\setlength{\tabcolsep}{2ex}
|
||||
\begin{tabular}{|ll|ll|}\fbox{note sequence one}
|
||||
&\fbox{note seq.\ four}
|
||||
&\fbox{note seq.\ seven}
|
||||
&\fbox{note seq.\ ten}\\\fbox{note sequence two}
|
||||
&\fbox{note seq.\ five}
|
||||
&\fbox{note seq.\ eight}
|
||||
&\fbox{note seq.\ eleven}\\\fbox{note sequence three}
|
||||
&\fbox{note seq.\ six}
|
||||
&\fbox{note seq.\ nine}
|
||||
&\fbox{note seq.\ twelve}\\
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{A logical way of coding music}\label{readtable}
|
||||
\end{table}
|
||||
Accordingly, in \musixtex\ the fundamental macro used to represent
|
||||
one of those vertical combs (or one of the columns in Table~\ref{readtable})
|
||||
is of the form
|
||||
\begin{center}
|
||||
\verb|\notes ... & ... & ... \en|\footnote{The command
|
||||
\keyindex{en} is an abbreviation for the command \keyindex{enotes}, which may also be used.}
|
||||
\end{center}\index{"&@{\tt\char'046}}
|
||||
\noindent where the character \verb|&| is used to separate the notes to be
|
||||
typeset on respective staves of the various instruments, starting from the
|
||||
bottom.
|
||||
|
||||
In the case of an instrument whose score has to be written with
|
||||
several staves, they are separated by the
|
||||
character \|\index{\tt\char'174@{\tt\char'174}}.
|
||||
|
||||
Thus, a score written for a keyboard instrument and
|
||||
a single-line instrument (e.g., piano and violin)
|
||||
will be coded as follows:
|
||||
\begin{center}
|
||||
\verb=\notes ... | ... & ...\en=
|
||||
\end{center}
|
||||
\noindent for each column of simultaneous \ital{groups of notes}.
|
||||
Each of those groups, represented by a single box in Table~\ref{readtable}\
|
||||
and by a sequence of three dots in the the two example macros above, may contain
|
||||
not only chord notes to be played simultaneously, but short sequences of
|
||||
consecutive
|
||||
notes or chords. As we'll soon see, this implies the need for two fundamentally different
|
||||
kinds of basic macros in \musixtex: those whose tokens are automatically followed
|
||||
by some amount of space (called \ital{spacing} macros), and those that are not.
|
||||
The former type, for example,
|
||||
would be used to produce the notes and rests in a single-line score;
|
||||
the latter would be used, for example, for chord notes and ornaments.
|
||||
|
||||
\subsection{Horizontal spacing}
|
||||
Deciding upon the proper horizontal spacing of notes is a very complicated matter
|
||||
that we will not address in any detail here. Obviously short-duration notes
|
||||
should be closer together than longer ones. Almost as obviously, the spacing
|
||||
cannot be linearly proportional to the duration; otherwise for example a whole
|
||||
note would occupy 32 times as much horizontal space as a thirty-second note. And
|
||||
in polyphonic scores the spacing in one staff is often influenced by the notes
|
||||
in another. This is a decision that the typesetter or preprocessor
|
||||
must make. Once the decision is made, \musixtex\ can provide the desired spacing.
|
||||
The main mechanism is through a set of macros described in
|
||||
Section~\ref{newspacings}. At this point we shall only mention that to control
|
||||
spacing, one of those
|
||||
macros will be selected to replace the symbol \verb|\notes| in the two examples
|
||||
above, and it will imply that whenever a spacing macro in encountered within
|
||||
a group of notes, a
|
||||
certain specific amount of horizontal space will be inserted.
|
||||
|
||||
\subsection{Music tokens}
|
||||
The tokens provided by \musixtex\ include
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
\item note symbols without stems;
|
||||
\item note symbols with stems, and flags for eighth notes and
|
||||
shorter;
|
||||
\item beam beginnings and endings;
|
||||
\item beginnings and endings of ties and slurs;
|
||||
\item accidentals;
|
||||
\item ornaments: arpeggios, trills, mordents, turns, staccatos,
|
||||
pizzicatos, fermatas, etc.;
|
||||
\item bar lines;
|
||||
\item meters, key signatures, clefs.
|
||||
\end{itemize}
|
||||
For example, \verb|\wh a| produces a whole note at nominal frequency 222.5~Hz,
|
||||
\verb|\wh h| produces one an octave higher, \verb|\qu c|
|
||||
produces an up-stemmed quarter note C (250~Hz), and \verb|\cl J| produces a down-stemmed C
|
||||
eighth note an octave lower.
|
||||
|
||||
To generate chords with solid note heads, the non-spacing macro \keyindex{zq}
|
||||
can be used. It produces a solid note head at the specified pitch,
|
||||
the vertical position of which
|
||||
is memorized and recalled whenever the next stemmed note (possibly with a flag) is
|
||||
coded. The stem length is automatically adjusted to link all simultaneous notes. Thus, the
|
||||
\mbox{C-major} chord
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract\NOtes\zq{ceg}\qu j\en\zendextract
|
||||
\end{music}
|
||||
\noindent is coded \verb|\zq c\zq e\zq g\qu j| or more concisely,
|
||||
\verb|\zq{ceg}\qu j|; the \verb|u| in the spacing note macro
|
||||
\verb|\qu| is what generates the upstem.
|
||||
|
||||
\subsection{Beams}
|
||||
Each beam \index{beams} is generated by a pair of macros. The first defines
|
||||
the beginning horizontal position (implicitly the current position), altitude,
|
||||
direction (upper or lower), multiplicity (number of lateral bars), slope and
|
||||
reference number. This latter feature is needed so independent beams
|
||||
can overlap. The second macro of the pair specifies the termination
|
||||
location (again implicitly) and the reference number.
|
||||
|
||||
\subsection{Setting anything on the score}
|
||||
A general macro (\keyindex{zcharnote}) provides a means of
|
||||
putting any sequence of symbols (possibly contained in an \verb|\hbox{...}|) at any
|
||||
pitch of any staff of any instrument. This allows any symbol defined in a font
|
||||
(letters, math symbols, etc.) to be placed in the score at a position keyed
|
||||
to the music both in time (horizontally) and pitch (vertically) on the staff,
|
||||
\section{A simple example}
|
||||
Before going into more detail, we give below an example of the two first
|
||||
bars of the sonata in \mbox{C-major} KV545 by {\sc Mozart}\index{Mozart, W.A.@{\sc
|
||||
Mozart, W.A.}}:
|
||||
|
||||
\begin{music}
|
||||
\parindent11mm
|
||||
\setname1{Piano}
|
||||
\setstaffs12
|
||||
\generalmeter{\meterfrac44}
|
||||
\startextract
|
||||
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
|
||||
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\ql l\sk\ql n\en
|
||||
\bar
|
||||
\Notes\ibu0f0\qb0{dgf}|\qlp i\en
|
||||
\notes\tbu0\qb0g|\ibbl1j3\qb1j\tbl1\qb1k\en
|
||||
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
The coding is as follows:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\begin{music}
|
||||
\parindent10mm
|
||||
\instrumentnumber{1} % a single instrument
|
||||
\setname1{Piano} % whose name is Piano
|
||||
\setstaffs1{2} % with two staffs
|
||||
\generalmeter{\meterfrac44} % 4/4 meter chosen
|
||||
\startextract % starting real score
|
||||
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
|
||||
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\ql l\sk\ql n\en
|
||||
\bar
|
||||
\Notes\ibu0f0\qb0{dgf}|\qlp i\en
|
||||
\notes\tbu0\qb0g|\ibbl1j3\qb1j\tbl1\qb1k\en
|
||||
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
|
||||
\zendextract % terminate excerpt
|
||||
\end{music}
|
||||
\end{verbatim}\end{quote}
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
\item \verb|\ibu0f0| begins an upper beam, aligned on the
|
||||
\ital{f}, reference number 0, slope 0
|
||||
\item \verb|\tbu0| terminates this beam before writing
|
||||
the second \ital{g} by means of \verb|\qb0g|
|
||||
\item \verb|\qb..| indicates a note belonging to a beam.
|
||||
\item \verb|\sk| sets a space between the two quarters in the right
|
||||
hand, so that the second one is aligned with the third eighth in the left hand.
|
||||
\item\verb|\qlp| is a dotted quarter note.
|
||||
\item\verb|\ibbl1j3| begins a double beam, aligned on the \ital{C}
|
||||
(\verb|j| at this pitch) with slope 15\%.
|
||||
\end{itemize}
|
||||
|
||||
\section{The three pass system}\label{threepass}
|
||||
\subsection{Introduction}
|
||||
\TeX's line-breaking procedure implicitly assumes
|
||||
that a normal line of text will contain many words, so that inter-word
|
||||
glue need not stretch or shrink too much to justify the line.
|
||||
One might at first consider extending this to music, treating each bar like a
|
||||
word with no stretchable internal space. But typically this would lead to unsightly
|
||||
gaps before each bar rule, simply because the number of bars per line
|
||||
is normally many fewer than the number of words in a line of text.
|
||||
\musixtex\ needs a more sophisticated horizontal spacing algorithm
|
||||
than is used in \TeX.
|
||||
|
||||
To understand how \musixtex\ solves this problem, we have to
|
||||
recognize two different kinds of horizontal space, \ital{hard}\ and
|
||||
\ital{scalable}. Hard space is fixed and always represents the same
|
||||
physical distance.
|
||||
Examples of hard space are the widths of bar rules, clefs,
|
||||
and key signatures. Scalable space can be stretched as needed. It
|
||||
is what is normally used for the space after notes or rests. At the
|
||||
outset it is only defined in a relative sense. In other words,
|
||||
scalable spaces are defined as multiples of \verb|\elemskip|, an
|
||||
initially undefined basic spacing unit. For example, in \textbf{PMX}\
|
||||
all sixteenth notes
|
||||
are typically assigned a scalable width of \verb|1.41\elemskip|.
|
||||
One main job of \musixtex\ is to compute the physical value of
|
||||
\verb|\elemskip|, often expressed in points (72nds of an inch).
|
||||
The correct value is that which makes all the scalable space on
|
||||
a line just fill up what's not occupied by hard space. Obviously
|
||||
it may vary from line to line.
|
||||
|
||||
To this end a three pass system was developed. To start the
|
||||
first pass on the file \verb|jobname.tex|, you would enter\footnote{
|
||||
In many cases it will suffice to run {\tt tex}, but with \musixtex~1.15,
|
||||
it is possible to create a file requiring the enhanced capacity of
|
||||
{\tt etex}. Since {\tt etex} can handle any file {\tt tex} can, it's best
|
||||
always to use {\tt etex}.}
|
||||
\verb|etex jobname|.
|
||||
Information about each bar is written to
|
||||
an external file named \verb|jobname.mx1|.
|
||||
This file begins with a header containing parameters
|
||||
such as line width and paragraph indentation. Then the hard and
|
||||
scalable space is listed for each bar.
|
||||
\index{scalable width}\index{hard width}
|
||||
|
||||
The second pass, which is started with \verb|musixflx jobname|,
|
||||
determines optimal values of the basic spacing unit \verb|\elemskip|
|
||||
for each line, so as to properly fill each line, and to spread
|
||||
the piece nicely over an integral number of full lines. This routine was originally written
|
||||
in \textsc{fortran} rather than \TeX, the main reason
|
||||
being the lack of an array handling capability in \TeX; the current version
|
||||
of \verb|musixflx| is a \textsc{lua} script, which may be executed without
|
||||
compilation in any standard \TeX\ system.
|
||||
|
||||
\verb|musixflx| reads in the file \verb|jobname.mx1|, and writes its
|
||||
output to \verb|jobname.mx2|. The latter file contains a single entry for
|
||||
each line of music in the reformatted output. The key piece of information
|
||||
is the revised value of \keyindex{elemskip} for each line.
|
||||
|
||||
Next, the file is \TeX-ed again, by entering \verb|etex jobname|. On this third pass,
|
||||
the \verb|jobname.mx2| file is read in, and the information
|
||||
is used to physically define the final score and embed the
|
||||
page descriptions into a \verb|dvi|\ file.
|
||||
|
||||
You may wonder how the same command can
|
||||
cause something different to happen the second time it is issued. The explanation
|
||||
is that \musixtex\ checks for the presence of \verb|jobname.mx2|. If it's
|
||||
not present, the first pass is executed; if it is, the third pass. Obviously if
|
||||
you've made some corrections that affect any horizontal spacing, you must remember
|
||||
to delete the old \verb|jobname.mx2| and then rerun all three passes, or
|
||||
build or use a script that does so.
|
||||
|
||||
\subsection{An example}
|
||||
|
||||
Here's an example. Here, no value for \verb|\elemskip| is explicitly specified,
|
||||
so \musixtex\ assigns a single, default value. After the first pass you might get
|
||||
the following output:
|
||||
|
||||
\begin{music}
|
||||
\hsize=100mm
|
||||
\generalmeter{\meterfrac24}%
|
||||
\parindent 0pt
|
||||
\setsign1{-3}
|
||||
\nostartrule
|
||||
\startpiece\bigaccid
|
||||
\NOtes\qu{ce}\en
|
||||
\bar
|
||||
\NOtes\qu{gh}\en
|
||||
\bar
|
||||
\NOtes\qu{=b}\en
|
||||
\Notes\ds\cu g\en
|
||||
\bar
|
||||
\NOtes\qu{^f=f}\en
|
||||
\raggedstoppiece\contpiece% this is cheated, the problem was to get
|
||||
% pass 1 and pass 3 at the same time
|
||||
\NOtes\qu{=e}\itied0e\qu{_e}\en
|
||||
\bar
|
||||
\Notes\ttie0\Qqbu ed{_d}c\en
|
||||
\bar
|
||||
\Notes\ibu0b{-2}\qb0{=b}\en
|
||||
\notes\nbbu0\qb0{=a}\tqh0N\en
|
||||
\Notes\Dqbu cf\en
|
||||
\raggedstoppiece\contpiece
|
||||
\NOtes\uptext{\it tr}\qu e\uptext{\it tr}\qu d\en
|
||||
\bar
|
||||
\NOtes\qu c\qp\en
|
||||
\setdoubleBAR\raggedstoppiece
|
||||
\end{music}
|
||||
|
||||
\noindent Note that the space after every quarter note is the same, and
|
||||
that lines are not justified.
|
||||
After running \verb|musixflx| and \TeX-ing the second time you'll
|
||||
get:
|
||||
|
||||
\begin{music}
|
||||
\hsize=100mm
|
||||
\generalmeter{\meterfrac24}%
|
||||
\parindent 0pt
|
||||
\generalsignature{-3}
|
||||
\nostartrule
|
||||
\startpiece\bigaccid
|
||||
\NOtes\qu{ce}\en
|
||||
\bar
|
||||
\NOtes\qu{gh}\en
|
||||
\bar
|
||||
\NOtes\qu{=b}\en
|
||||
\Notes\ds\cu g\en
|
||||
\bar
|
||||
\NOtes\qu{^f=f}\en
|
||||
\bar
|
||||
\NOtes\qu{=e}\itied0e\qu{_e}\en
|
||||
\bar
|
||||
\Notes\ttie0\Qqbu ed{_d}c\en
|
||||
\bar
|
||||
\Notes\ibu0b{-2}\qb0{=b}\en
|
||||
\notes\nbbu0\qb0{=a}\tqh0N\en
|
||||
\Notes\Dqbu cf\en
|
||||
\bar
|
||||
\NOtes\uptext{\it tr}\qu e\uptext{\it tr}\qu d\en
|
||||
\bar
|
||||
\NOtes\qu c\qp\en
|
||||
\Endpiece
|
||||
\end{music}
|
||||
|
||||
\noindent Now \musixtex\ has determined a number of lines
|
||||
(which is different from the original number), the lines are justified,
|
||||
and if you look carefully you
|
||||
can see that the space after quarters in the first line
|
||||
is smaller than in the second. This example was coded as:
|
||||
\begin{verbatim}
|
||||
\hsize=100mm
|
||||
\generalmeter{\meterfrac24}%
|
||||
\parindent 0pt
|
||||
\generalsignature{-3}
|
||||
\nostartrule
|
||||
\startpiece\bigaccid
|
||||
\NOtes\qu{ce}\en\bar
|
||||
\NOtes\qu{gh}\en\bar
|
||||
\NOtes\qu{=b}\en
|
||||
\Notes\ds\cu g\en\bar
|
||||
\NOtes\qu{^f=f}\en\bar
|
||||
\NOtes\qu{=e}\itied0e\qu{_e}\en\bar
|
||||
\Notes\ttie0\Qqbu ed{_d}c\en\bar
|
||||
\Notes\ibu0b{-2}\qb0{=b}\en
|
||||
\notes\nbbu0\qb0{=a}\tqh0N\en
|
||||
\Notes\Dqbu cf\en\bar
|
||||
\NOtes\uptext{\it tr}\qu e\uptext{\it tr}\qu d\en\bar
|
||||
\NOtes\qu c\qp\en\Endpiece
|
||||
\end{verbatim}
|
||||
|
||||
\subsection{Adjusting the layout}
|
||||
|
||||
One benefit of the 3-pass system is the quick and easy
|
||||
alteration to the layout which can be achieved
|
||||
by changing only one parameter, namely \keyindex{mulooseness}. This value
|
||||
acts analogously to \TeX's \verb|\looseness| command. For non-\TeX-perts: if you
|
||||
state \verb|\looseness=-1| somewhere inside any paragraph, then
|
||||
\TeX\ will try to make the paragraph one line shorter than it normally would.
|
||||
With \verb|\mulooseness|, \musixtex\ does the same, but for \ital{systems}
|
||||
and \ital{sections} rather than lines and paragraphs. A system is just a group of
|
||||
staves treated as a unit, and in this discussion is analogous to a line of text.
|
||||
What is a \ital{section}? It's any chunk of coding not containing a
|
||||
forced system break, System breaks can be forced with
|
||||
\keyindex{stoppiece}, \keyindex{endpiece}, \keyindex{zstoppiece},
|
||||
\keyindex{Stoppiece}, \keyindex{Endpiece}, \keyindex{alaligne}
|
||||
\keyindex{zalaligne}, \keyindex{alapage} or \keyindex{zalapage}. If none
|
||||
of these is present, the section comprises the whole piece.
|
||||
Somewhere\footnote{Advisably, at the beginning or
|
||||
at the end of the section, for the sake of clarity.}
|
||||
before the end of the section, you can change the value of
|
||||
\keyindex{mulooseness} to something different from the default of $0$, and
|
||||
\musixtex\ will typeset that section with a different number of systems.
|
||||
|
||||
To give an easy example, changing the last line in the previous example to:
|
||||
\begin{verbatim}
|
||||
\NOtes\qu c\qp\en\mulooseness=1\Endpiece
|
||||
\end{verbatim}
|
||||
yields:
|
||||
|
||||
\begin{music}
|
||||
\hsize=100mm
|
||||
\generalmeter{\meterfrac24}%
|
||||
\parindent 0pt
|
||||
\generalsignature{-3}
|
||||
\nostartrule
|
||||
\startpiece\bigaccid
|
||||
\NOtes\qu{ce}\en
|
||||
\bar
|
||||
\NOtes\qu{gh}\en
|
||||
\bar
|
||||
\NOtes\qu{=b}\en
|
||||
\Notes\ds\cu g\en
|
||||
\bar
|
||||
\NOtes\qu{^f=f}\en
|
||||
\bar
|
||||
\NOtes\qu{=e}\itied0e\qu{_e}\en
|
||||
\bar
|
||||
\Notes\ttie0\Qqbu ed{_d}c\en
|
||||
\bar
|
||||
\Notes\ibu0b{-2}\qb0{=b}\en
|
||||
\notes\nbbu0\qb0{=a}\tqh0N\en
|
||||
\Notes\Dqbu cf\en
|
||||
\bar
|
||||
\NOtes\uptext{\it tr}\qu e\uptext{\it tr}\qu d\en
|
||||
\bar
|
||||
\NOtes\qu c\qp\en
|
||||
\mulooseness1\Endpiece
|
||||
\end{music}
|
||||
|
||||
\noindent On the other hand,
|
||||
\begin{verbatim}
|
||||
\NOtes\qu c\qp\en\mulooseness=-1\Endpiece
|
||||
\end{verbatim}
|
||||
yields
|
||||
|
||||
\begin{music}
|
||||
\hsize=100mm
|
||||
\generalmeter{\meterfrac24}%
|
||||
\parindent 0pt
|
||||
\generalsignature{-3}
|
||||
\nostartrule
|
||||
\startpiece\bigaccid
|
||||
\NOtes\qu{ce}\en
|
||||
\bar
|
||||
\NOtes\qu{gh}\en
|
||||
\bar
|
||||
\NOtes\qu{=b}\en
|
||||
\Notes\ds\cu g\en
|
||||
\bar
|
||||
\NOtes\qu{^f=f}\en
|
||||
\bar
|
||||
\NOtes\qu{=e}\itied0e\qu{_e}\en
|
||||
\bar
|
||||
\Notes\ttie0\Qqbu ed{_d}c\en
|
||||
\bar
|
||||
\Notes\ibu0b{-2}\qb0{=b}\en
|
||||
\notes\nbbu0\qb0{=a}\tqh0N\en
|
||||
\Notes\Dqbu cf\en
|
||||
\bar
|
||||
\NOtes\uptext{\it tr}\qu e\uptext{\it tr}\qu d\en
|
||||
\bar
|
||||
\NOtes\qu c\qp\en
|
||||
\mulooseness-1\Endpiece
|
||||
\end{music}
|
||||
|
||||
\noindent which is tighter than you would ever want, but serves to further
|
||||
demonstrate the use of \keyindex{mulooseness}.
|
||||
|
||||
If you want to build up a \musixtex\ input file
|
||||
manually (which in fact very few users will ever need to do, considering the
|
||||
availability of \textbf{PMX}), here is a roadmap for one way to proceed:
|
||||
\begin{enumerate}
|
||||
\item Enter the data one \verb|\notes| group at a time, taking care to select the
|
||||
relative horizontal spacing for each group (via the macros discussed in Section~\ref{newspacings})
|
||||
so as to maintain a consistent relationship between scalable space and note durations.
|
||||
This will be discussed in a great deal more detail in Chapter~\ref{preparing}.
|
||||
\item \TeX~$\Longrightarrow$ {\tt musixflx} $\Longrightarrow$ \TeX.
|
||||
\item Look at the output and decide if you want to have more or fewer
|
||||
systems, e.g.,~to fill the page or to get an even number of
|
||||
pages.\index{musixflx@{\tt musixflx}}
|
||||
\item If you want to change the number of systems in a section, adjust
|
||||
\keyindex{mulooseness} accordingly. Keep in mind that each section cannot have fewer
|
||||
systems than bars.
|
||||
\item Delete \verb|jobname.mx2| and repeat the process\\
|
||||
\TeX~$\Longrightarrow$ \verb|musixflx| $\Longrightarrow$ \TeX.
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
There is an alternate way to proceed if you know at the outset
|
||||
how many systems
|
||||
you want in a section. You can specify it directly by assigning a
|
||||
positive number to \keyindex{linegoal} somewhere within the
|
||||
section (\verb|\linegoal| requires
|
||||
version 0.83 or later of \verb|musixflx|).
|
||||
\keyindex{mulooseness} must be zero
|
||||
for \keyindex{linegoal} to work. Both are automatically reset to
|
||||
zero after processing the end of a section e.g., as defined by
|
||||
\keyindex{stoppiece}.
|
||||
|
||||
Finally, for large scores (more than 4 pages or so), having
|
||||
only one section and an overall value of \verb|\mulooseness| becomes
|
||||
impractical since one wants not only to have nicely spaced systems, but also
|
||||
completely filled pages without empty top and
|
||||
bottom margins on the last page. It is then wise to force the total number of
|
||||
pages and possibly the line breaks in each page, which can be done using
|
||||
\keyindex{alapage} and/or \keyindex{alaligne}\footnote{This is the technique
|
||||
always used by \textbf{PMX} in constructing a \musixtex\ input file.}.
|
||||
%avrb
|
||||
%, or more automatically by
|
||||
%means of the \keyindex{autolines} command borrowed from \musictex\ and
|
||||
%implemented in the additional {\ttxem{musixcpt.tex}} file
|
||||
%avre
|
||||
|
||||
There is another advantage to \musixtex's way of using scalable space and
|
||||
the three pass system. In
|
||||
\TeX nical terms it eliminates the need for \ital{glue}, and enables
|
||||
every horizontal position in a line to be computed. This in turn enables certain
|
||||
variable length symbols such as slurs to be specified by macros entered at
|
||||
their beginning and ending points, rather than having to estimate the
|
||||
length of the symbol and enter it at the starting point.
|
||||
|
||||
\subsection{Using \texttt{musixflx}}
|
||||
|
||||
On most systems, \verb|musixflx| can be invoked by typing the name of the program
|
||||
and the name of the file to be acted upon; i.e.,
|
||||
\begin{quote}
|
||||
\verb|musixflx jobname.mx1|
|
||||
\end{quote}
|
||||
Optionally, you can add a letter to indicate one of the debug modes, which are:
|
||||
\begin{quote}
|
||||
\verb|d | for debug information to screen\\
|
||||
\verb|f | for debug information to file \verb|jobname.mxl|\\
|
||||
\verb|s | to get the computed lines immediately on screen
|
||||
\end{quote}
|
||||
To allow for ease of use with scripts, \verb|musixflx| can be fed
|
||||
with either \verb|jobname.mx1|, \verb|jobname.tex| or only
|
||||
\verb|jobname|, any one of which will open \verb|jobname.mx1|.
|
||||
|
||||
\subsection{Unrecorded spaces: the novice's bugaboo}
|
||||
|
||||
Because of the way \musixtex\ accounts for hard and scalable space and avoids
|
||||
using glue, it is absolutely essential that every horizontal space be
|
||||
properly entered into the input file. The most common error in this regard
|
||||
is including a blank space in the midst \ital{or at the end} of an input line.
|
||||
Such a blank space, or for that matter any stray character not entered with
|
||||
an appropriate \musixtex\ macro, will not be properly
|
||||
recognized and recorded by \musixtex, but it will still be treated like
|
||||
ordinary text by \TeX. The symptoms of such a transgression will be an
|
||||
{\bf Overfull hbox} warning during the third pass, and the appearance of
|
||||
either excessive blank horizontal space or thick black vertical lines in
|
||||
the page image.
|
||||
|
||||
\medskip
|
||||
\centerline{\fbox{Considerable discipline is needed to avoid this problem!}}
|
||||
\smallskip
|
||||
|
||||
The best technique for avoiding such unpleasantness is to avoid entering
|
||||
any nonessential blanks within input lines, and to end every
|
||||
input line with either \verb|%|\index{%@{\tt\char37}} or
|
||||
\keyindex{relax}, unless it already ends with a control sequence
|
||||
ending in a letter.
|
||||
|
||||
There are other ways to enter unrecorded space which should be
|
||||
avoided. Between \verb|\startpiece| and \verb|\stoppiece| or
|
||||
\verb|\endpiece|, never use \verb|\hskip| or \verb|\kern| except
|
||||
within \ital{zero}-boxes like \verb|\rlap|, \verb|\llap|,
|
||||
\verb|\zcharnote|, \verb|\uptext|, etc., and never assign hard
|
||||
values to scalable dimensions like \verb|\noteskip|,
|
||||
\verb|\elemskip|, \verb|\afterruleskip| and \verb|\beforeruleskip|\footnote{Note that {\Bslash hardspace} does not fall in this
|
||||
category; it is specifically designed to enter hard space in a way
|
||||
that \musixtex\ can properly record it}.
|
||||
|
||||
Here is a checklist of tips related to spacing issues. Because the
|
||||
foregoing several paragraphs are so important, some of their content
|
||||
is repeated in the list.
|
||||
|
||||
\begin{enumerate}
|
||||
\item
|
||||
Between \verb|\startpiece| and \verb|\stoppiece| or \verb|\endpiece|,
|
||||
end every input line with a either \verb|%| or a command with no arguments
|
||||
(including \verb|\relax| and \verb|\en|).
|
||||
\item \verb|\off| must only be used with scalable values, e.g.,
|
||||
\verb|\noteskip|, \verb|\elemskip|, \verb|\afterruleskip|, and
|
||||
\verb|\beforeruleskip|.
|
||||
\item Remember that \verb|\qqsk|, \verb|\qsk| and \verb|\hqsk| are scalable, i.e., \verb|\qsk|
|
||||
doesn't necessarily mean exactly one note head width (it depends on \verb|\elemskip|).
|
||||
\item Lyrics and any other non-\musixtex\ text must be put in zero-width boxes
|
||||
such as
|
||||
\verb|\zcharnote|, \verb|\zchar|, \verb|\rlap|, \verb|\lrlap|, \verb|\llap|,
|
||||
\verb|\uptext|, or \verb|\zsong|. Additional specific capabilities for entering
|
||||
lyrics are provided by
|
||||
\verb|\hardlyrics|, \verb|\hsong|, and---most significantly---the
|
||||
text-placement macros defined in \verb|musixlyr.tex| (see Chapter~\ref{lyrics},
|
||||
p.~\pageref{lyrics}).
|
||||
\item
|
||||
Between \verb|\startpiece| and \verb|\stoppiece| or \verb|\endpiece|,
|
||||
don't assign hard values to \verb|\noteskip|, \verb|\beforeruleskip|,
|
||||
or \verb|\afterruleskip|.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\section{Further highlights}
|
||||
%\check
|
||||
\subsection{Key signatures}
|
||||
\begin{sloppypar}
|
||||
A single key signature can be assigned~to~all~instruments,~for~example~by
|
||||
\keyindex{generalsignature}\verb|{-2}|
|
||||
which sets two flats on each staff. \keyindex{generalsignature}
|
||||
can be overridden for selected instruments, for example by
|
||||
\keyindex{setsign}\verb|2{1}| which puts one sharp on each staff
|
||||
of instrument number 2. Of course, the current signature as well
|
||||
as meters and clefs may change at any time.\end{sloppypar}
|
||||
\subsection{Transposition}
|
||||
With some extra attention, a score can be input in such a way that it is
|
||||
fairly easily transposed. There is an internal register
|
||||
called \keyindex{transpose}, the default value of which is zero, but which may be
|
||||
set to any reasonable positive or negative value. It defines a number of pitch
|
||||
steps (lines or spaces on a staff) by which all pitched symbols with be offset, provided
|
||||
they have been entered with letter values to represent their pitch.
|
||||
However,
|
||||
it will neither change the local accidentals nor the key signature.
|
||||
|
||||
For
|
||||
example, suppose a piece were originally input in F major, and it contained a
|
||||
B natural, and you wanted to transpose it to G. If you simply set
|
||||
\verb|\transpose| to 1 with no other special considerations, then
|
||||
the key signature would not change, and
|
||||
the B~natural would appear as a C~natural, whereas it should be a C~sharp.
|
||||
So first you must explicitly change the key signature. Then, to
|
||||
solve the problem with accidentals, you should declare
|
||||
\verb|\relativeaccid|, which will cause the actual appearance of any
|
||||
accidental to depend on the pitch of
|
||||
the accidental as well as the current key signature. But the use of this
|
||||
facility requires the typesetter to have entered the original set of accidentals
|
||||
according to a nonstandard convention wherein an accidental does not
|
||||
specifically refer to the black or white keys on a piano, but to the
|
||||
amount by which the pitch is altered up or down from what it would naturally
|
||||
have been, taking the key signature into account.\index{relative accidentals} This
|
||||
is discussed in more detail in Section~\ref{transposeaccids}. Now, finally, you
|
||||
can enter \verb|\transpose=1| with more or less the desired effect.
|
||||
|
||||
More or less, because there is also an issue with stem
|
||||
and beam directions. Normally a typesetter would want full control over them,
|
||||
and would exercise that control by entering them with macros that explicitly
|
||||
assign the direction. Naturally the assigned directions would persist
|
||||
even after changing \verb|\transpose|. With respect to stems of unbeamed notes,
|
||||
this matter can also be addressed at
|
||||
the input level, by using special macros for notes that leave the
|
||||
decision about stem directions up to \musixtex. These macros do the right
|
||||
thing in the face of transposition. They are discussed in
|
||||
Chapter~\ref{autostemdirections}. Unfortunately there is no corresponding
|
||||
such facility for beams, so the typesetter will have to edit the transposed
|
||||
score to adjust beam directions as required\footnote{\textbf{PMX}
|
||||
will automatically adjust both stem and beam directions when transposing, which
|
||||
is yet another reason to use it. However
|
||||
if a piece is to be transposed, the typesetter must still explicitly activate relative accidentals
|
||||
and enter accidentals according to the relative-accidental convention.}.
|
||||
|
||||
%\check
|
||||
\subsection{Extracting parts from a score}
|
||||
It is possible to extract separate scores for
|
||||
each individual instrument of a multi-instrument score.
|
||||
If you use \textbf{PMX}, it is very easy;
|
||||
see the documentation for \textbf{PMX}.
|
||||
If you use \musixtex\ without a preprocessor,
|
||||
see Chapter~\ref{parts}.
|
||||
|
||||
%After assigning symbolic numbers to instruments,
|
||||
%there are macros (see \ref{instrum-inhibit}) that permit
|
||||
% \begin{itemize}\setlength{\itemsep}{0ex}
|
||||
% \item choosing which instrument the following source code is attached to,
|
||||
% \item choosing which staff of an instrument the following source code is
|
||||
%attached to,
|
||||
% \item hiding one or several instruments by zeroing out their staff sizes and staff
|
||||
%numbers.
|
||||
% \end{itemize}
|
||||
|
||||
%\check
|
||||
\subsection{Staff and note sizes}
|
||||
Although the standard staff size is 20pt, \musixtex\ allows scores with
|
||||
sizes of 16, 24, or 29pt. Furthermore, any instrument may be assigned its own special staff
|
||||
size (usually smaller than the overall staff size), and there are special macros
|
||||
(e.g., \verb|\smallnotesize|, \verb|\tinynotesize|) that cause notes, beams, and
|
||||
accidentals all to take a different size.
|
||||
|
||||
\subsection{Add-in macro libraries}
|
||||
During the early stages of \musixtex's development, common versions of \TeX\ itself were
|
||||
very limited in capacity, especially in terms of the numbers of registers that could
|
||||
be defined for use in macros. For this historical reason, many important enhancements
|
||||
to \musixtex\ are available only via add-in libraries. The user can thus pick and choose
|
||||
which to include for any particular compilation. Most of these are included in
|
||||
a \musixtex\ distribution, and their uses are discussed in this manual. The
|
||||
libraries have names like \verb|blabla.tex|, and are activated by including a line
|
||||
like \verb|\input blabla|\ within the the input file. The most common such files
|
||||
are \ttxem{musixadd.tex} and \ttxem{musixmad.tex} which respectively increase the
|
||||
number of instruments from the default 6 to 9 or 12 as well as increasing available numbers
|
||||
of other features; \verb|musixps.tex| which enables Type~K Postscript slurs; and
|
||||
\verb|musixlyr.tex| which greatly eases typesetting lyrics. In fact the latter two,
|
||||
while now included in \musixtex\ distributions, are not documented in this manual but
|
||||
in separate files, namely \verb|musixps.tex| itself and
|
||||
\verb|mxlyrdoc.pdf| respectively.
|
||||
|
||||
|
||||
\section{Installing and Using \musixtex}\label{using}
|
||||
|
||||
As stated in the preface,
|
||||
the \href{http://icking-music-archive.org/software/indexmt6.html}
|
||||
{\underline{Werner Icking Music Archive}}\ (WIMA) contains excellent and detailed
|
||||
instructions for installing \TeX, \musixtex{} and the strongly recommended
|
||||
preprocessors \textbf{PMX}
|
||||
(for instrumental music) and \mbox{\textbf{M-Tx}} (for vocal music) under
|
||||
\href{http://icking-music-archive.org/software/htdocs/Getting_Started_Four_Scenar.html#SECTION00022000000000000000}
|
||||
{\underline{Linux/\unix}},
|
||||
\href{http://icking-music-archive.org/software/htdocs/Getting_Started_Four_Scenar.html#SECTION00021000000000000000}
|
||||
{\underline{Windows}} and
|
||||
\href{http://icking-music-archive.org/software/htdocs/Getting_Started_Four_Scenar.html#SECTION00023000000000000000}
|
||||
{\underline{Mac OS}}.
|
||||
|
||||
As stated in Section~\ref{threepass}, to compile a \musixtex-formatted score, you must run
|
||||
in sequence \verb|etex|, \verb|musixflx|,
|
||||
and \verb|etex| again. This will produce a \verb|.dvi| file. From this point
|
||||
forward, this file can be processed like the device-independent output file
|
||||
for any \TeX\ document. The most common approach and the only one to
|
||||
be discussed here is to next generate a Postscript file. This is accomplished
|
||||
by running \verb|dvips|, which is included in every \TeX\ system; to prevent
|
||||
inappropriate adjustments that \verb|dvips| makes by default, it is recommended to
|
||||
add the option \verb|-e0|. To view the
|
||||
Postscript, most users run {\tt GSview} or {\tt gv}, a front-end to {\tt ghostscript}, which must
|
||||
be separately downloaded and installed. Finally, you may produce a PDF file
|
||||
using \verb|ps2pdf| or GSview, and view that with any PDF viewer, such as
|
||||
the Adobe Reader or {\tt GSview}.
|
||||
|
||||
You also can view the \verb|.dvi| file directly using a DVI viewer such as Yap or \verb|xdvi|,
|
||||
but, if you are using type K Postscript slurs or vectorized beams, some DVI viewers will not display them.
|
||||
|
||||
Rather than executing all the foregoing programs separately, most users will
|
||||
find it more convenient to use the \verb|musixtex| script that comes in most
|
||||
distributions of \musixtex. For example, \verb|musixtex jobname|
|
||||
will by default run the three passes described in Section~\ref{threepass},
|
||||
convert the result to PDF and delete intermediate files.
|
||||
There are many options available to
|
||||
change the behavior; run
|
||||
|
||||
\verb|musixtex -h|
|
||||
|
||||
\noindent to get a summary.
|
||||
|
||||
|
||||
\section{Where to get help using \musixtex}
|
||||
|
||||
The home base for all matters related to \musixtex\ is the
|
||||
Werner Icking Music Archive, at
|
||||
\href{http://icking-music-archive.org}{\underline{http://icking-music-archive.org}}.
|
||||
There is a
|
||||
\href{http://tug.org/mailman/listinfo/tex-music}{\underline{mailing list}},
|
||||
hosted by TUG, the \TeX\ Users Group, where you will always find
|
||||
someone willing to answer questions and help solve problems.
|
||||
|
||||
\section{A very brief history of \musixtex}
|
||||
The idea of using \TeX\ to typeset music appears to have originated
|
||||
around 1987 with the master's thesis of Andrea
|
||||
{\sc Steinbach} and Angelika {\sc Schofer}\footnote{Steinbach A. \& Schofer
|
||||
A., \ital{Automatisierter Notensatz mit \TeX}, master's thesis,
|
||||
Rheinische Friedrich-Wilhelms Universit\"at,
|
||||
Bonn, Germany, 1987}. They called their package
|
||||
\mutex\index{mutex@\protect\mutex}. It was limited to a single staff.
|
||||
It introduced two key concepts: (1) using
|
||||
a large number of font characters to construct beams and slurs, and (2) using
|
||||
\TeX\ glue to help control horizontal spacing and justification.
|
||||
|
||||
The next major step came around 1991 when Daniel {\sc Taupin} created \musictex.
|
||||
Its major enhancement was to allow multiple staves. But this came at a
|
||||
price: some flexibility was lost in controlling horizontal spacing and
|
||||
a great deal of trial and error became necessary to avoid excessive or
|
||||
insufficient gaps before and after bar lines.
|
||||
|
||||
\musictex\ was a single-pass system. To remedy its shortcomings it became clear
|
||||
that a multi-pass system would be required. Around 1997 Dr.~Taupin along with Ross {\sc Mitchell}
|
||||
and Andreas {\sc Egler} created the first version of \musixtex. At last a fully
|
||||
automatic procedure was coded so as to provide pleasing horizontal spacing in
|
||||
multi-staff scores.
|
||||
|
||||
Significant enhancements to \musixtex, which have already been mentioned, have been provided
|
||||
by Stanislav {\sc Kneifl} (Type~K Postscript slurs) and
|
||||
Rainer {\sc Dunker} (Lyrics handling via \verb|musixlyr.tex|).
|
||||
|
||||
Since Dr.~Taupin passed away in 2003, \musixtex\ has been maintained by a
|
||||
varying cast including Olivier {\sc Vogel}, Hiroaki {\sc Morimoto},
|
||||
Bob {\sc Tennent}, Andre {\sc Van Ryckeghem},
|
||||
Cornelius {\sc Noack}, and Don {\sc Simons}.
|
||||
|
||||
No discussion of the history of \musixtex\ would be complete without mentioning
|
||||
the contributions of Werner {\sc Icking}. From the early days of \mutex\ until
|
||||
his untimely death in 2001, he served this line of software as its most prominent
|
||||
proponent, beta tester, web site and mailing list editor, consultant,
|
||||
problem solver, and inspiration for
|
||||
many third-party enhancements including \textbf{PMX}. In fact he founded the
|
||||
mailing list and the archive that now is named in his honor. The web site is
|
||||
currently edited by Christian {\sc Mondrup}, the software page by Bob {\sc Tennent},
|
||||
and the mailing list by Maurizio {\sc Codogno}.
|
||||
|
||||
|
185
musixtex/doc/musixdoc/layout.tex
Normal file
185
musixtex/doc/musixdoc/layout.tex
Normal file
|
@ -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}
|
407
musixtex/doc/musixdoc/lyrics.tex
Normal file
407
musixtex/doc/musixdoc/lyrics.tex
Normal file
|
@ -0,0 +1,407 @@
|
|||
\chapter{Lyrics}\index{lyrics}\label{lyrics}
|
||||
\musixtex{} itself doesn't manage lyrics very well. You should use
|
||||
\verb+musixlyr+ instead, a \musixtex\ extension package for lyrics handling by Rainer Dunker.
|
||||
The \TeX~source and
|
||||
\href{http://icking-music-archive.org/software/musixtex/add-ons/mxlyrdoc.pdf}
|
||||
{\underline{documentation}}~are included in the \musixtex~distribution.
|
||||
|
||||
But first we recall briefly the older methods, which may still be useful when
|
||||
only a small number of words are involved.
|
||||
|
||||
\section{Native lyrics method: placing single words}
|
||||
\subsection{Native \musixtex\ commands for lyrics}
|
||||
\begin{enumerate}\setlength{\itemsep}{0ex}
|
||||
\item An obvious solution is to use the commands
|
||||
\keyindex{zcharnote} (expanded to the right),
|
||||
\keyindex{lcharnote} (expanded to the left),
|
||||
\keyindex{ccharnote} (centered), to post the text at any position (computed in
|
||||
\verb|\internote|s) with respect to the lower line of the current staff.
|
||||
The pitch should be usually negative, to have the text below the staff.
|
||||
|
||||
Example:\quad
|
||||
\raisebox{0ex}[4ex][3ex]{\musicintextnoclefn{\notes\sk\zcharnote{N}{Word}\wh g\sk\en}}
|
||||
\quad is coded by \quad
|
||||
\verb|\zcharnote{N}{Word}\wh g|~.
|
||||
|
||||
\item The vertical position can also be given with a number in the commands
|
||||
\keyindex{zchar} (expanded to the right),
|
||||
\keyindex{lchar} (expanded to the left),
|
||||
\keyindex{cchar} (centered). The number is internally multiplied by \verb|\internote|~.
|
||||
|
||||
Example:\quad
|
||||
\raisebox{0ex}[4ex][3ex]{\musicintextnoclefn{\notes\sk\cchar{-4}{Word}\wh g\sk\en}}
|
||||
\quad is coded by \quad
|
||||
\verb|\cchar{-5}{Word}\wh g|~.
|
||||
|
||||
\item Of easier use are the commands \keyindex{zsong} (right of the note),
|
||||
\keyindex{lsong} (left) and \keyindex{csong} (centered) which post the lyrics
|
||||
at the lower staff line \ital{minus} the previous
|
||||
\keyindex{interinstrument}~$n$ or the \keyindex{staffbotmarg} quantity. These
|
||||
commands only have one argument, namely the lyrics text:
|
||||
%\begin{center}
|
||||
\keyindex{zsong}\verb|{|\ital{text}\verb|}|\quad
|
||||
\keyindex{lsong}\verb|{|\ital{text}\verb|}|\quad
|
||||
\keyindex{csong}\verb|{|\ital{text}\verb|}|
|
||||
%\end{center}
|
||||
Depending on the values of the inter-instrument spacings and margins, the
|
||||
resulting vertical position might be inappropriate. Then it can be changed for
|
||||
any specific $n$-th instrument until further change using
|
||||
\begin{quote}
|
||||
\keyindex{setsongraise}~$n$\verb|{|\ital{any \TeX-dimension}\verb|}|
|
||||
\end{quote}
|
||||
As an example, the following French song\\
|
||||
\begin{music}
|
||||
\generalsignature{1}
|
||||
\startextract
|
||||
\geometricskipscale
|
||||
\NOtes\zsong{Au }\qu g\en
|
||||
\NOtes\zsong{clair }\qu g\en
|
||||
\NOtes\zsong{de }\qu g\en
|
||||
\NOtes\zsong{la }\qu h\en
|
||||
\bar
|
||||
\NOTes\zsong{lu- }\hu i\en
|
||||
\NOTes\zsong{ne, }\hu h\en
|
||||
\bar
|
||||
\NOtes\zsong{mon }\qu g\en
|
||||
\NOtes\zsong{a- }\qu i\en
|
||||
\NOtes\zsong{mi }\qu h\en
|
||||
\NOtes\zsong{Pier- }\qu h\en
|
||||
\bar
|
||||
\NOTes\zsong{rot, }\wh g\sk\en
|
||||
\endextract
|
||||
\end{music}
|
||||
|
||||
\noindent was coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\generalsignature{1}
|
||||
\startextract
|
||||
\geometricskipscale
|
||||
\NOtes\zsong{Au }\qu g\zsong{clair }\qu g\en
|
||||
\NOtes\zsong{de }\qu g\zsong{la }\qu h\en\bar
|
||||
\NOTes\zsong{lu- }\hu i\zsong{ne, }\hu h\en\bar
|
||||
\NOtes\zsong{mon }\qu g\zsong{a- }\qu i\en
|
||||
\NOtes\zsong{mi }\qu h\zsong{Pier- }\qu h\en\bar
|
||||
\NOTes\zsong{rot, }\wh g\sk\en
|
||||
\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Adapting note spacing for lyrics}
|
||||
|
||||
The command \keyindex{hardlyrics}\verb|{longword}| provides a spacing that is equal to the length
|
||||
of the text argument \verb|{longword}|. In the same time the argument \verb|{longword}|
|
||||
is saved in \keyindex{thelyrics}
|
||||
|
||||
As an example \quad
|
||||
\raisebox{0ex}[5ex][4ex]%
|
||||
{\musicintextnoclefn{\staffbotmarg2\Interligne%
|
||||
\hardlyrics{clair}\notes\hsong{\thelyrics}\wh g\en\notes\wh{gg}\en}}
|
||||
\quad is coded by:
|
||||
\begin{tabular}{l}
|
||||
\verb|\hardlyrics{clair}%|\\
|
||||
\verb|\notes\hsong{\thelyrics}\wh g\en|\\
|
||||
\verb|\notes\wh{gg}\en|\\
|
||||
\end{tabular}
|
||||
|
||||
All notes with long lyrics need such a treatment. The commands only carry out on
|
||||
\verb|\notes| (not on \verb|\Notes|, \verb|\NOtes|...).
|
||||
|
||||
If you want to go back to the normal placing on an easy way, you simply can replace
|
||||
'\verb|\hardlyrics|' by '\verb|\softlyrics|'.
|
||||
|
||||
A complete score is given in example {\tt glorias.tex}\label{glorias} and in
|
||||
{\tt gloriab.tex}, the latter exhibiting not only the song tune but also the
|
||||
organ accompaniment.
|
||||
|
||||
Alternate versions of \verb|\hsong| are \keyindex{dhsong} which has a fixed
|
||||
length of \verb|2\noteskip| and \keyindex{thsong} whose fixed length is
|
||||
\verb|3\noteskip|. These are useful when the text is set below (or above) a
|
||||
collective coding of two or three notes.
|
||||
|
||||
\section{Musixlyr}\label{musixlyr}
|
||||
|
||||
Lyrics are best handled by the \texttt{musixlyr}\index{musixlyr} package by Rainer Dunker.
|
||||
The package can be used by inserting a line in your source code:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\input musixtex
|
||||
\input musixlyr
|
||||
...
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
The manual, the input file and a few examples are in \musixtex\ distributions, or they
|
||||
may be downloaded
|
||||
\href{http://icking-music-archive.org/software/musixtex/add-ons/musixlyr21c.zip}
|
||||
{\underline{for Windows}} or \href{http://icking-music-archive.org/software/musixtex/add-ons/musixlyr21c.tgz}
|
||||
{\underline{for \unix}}. Look at the manual for a detailed description. Here is an overview
|
||||
of the commands and an example of use.\pagebreak
|
||||
|
||||
\def\keyexample#1{\keyindex{#1}}
|
||||
|
||||
\noindent\begin{small}\begin{tabbing}
|
||||
\verb|\NOtes|\keyexample{assignlyricshere}\verb|{alto}\qa c\en|\quad\= assigning without staff number\kill
|
||||
Example\> Explanation
|
||||
\end{tabbing}
|
||||
\vspace{-1ex}
|
||||
\hrule
|
||||
\vspace{-2ex}
|
||||
\begin{tabbing}
|
||||
\verb|\NOtes|\keyexample{assignlyricshere}\verb|{alto}\qa c\en|\quad\= assigning without staff number\kill
|
||||
\keyexample{setlyrics}\verb|{sopr}{the ly_-ric words_}|\> defining the lyrics text\\
|
||||
\keyexample{copylyrics}\verb|{sopr}{alto}|\> alto has same lyrics as soprano\\
|
||||
\keyexample{appendlyrics}\verb|{alto}{more words}|\> alto lyrics is longer\\
|
||||
\keyexample{assignlyrics}\verb|2{sopr,alto}|\>soprano and alto lyrics at staff $2$\\
|
||||
\keyexample{assignlyricsmulti}\verb|{1}{2}{alto}|\>assign alto lyrics to staff $2$ of instrument $1$\\
|
||||
\verb|\NOtes|\keyexample{assignlyricshere}\verb|{alto}\qa c\en|\>assigning without staff number\\
|
||||
\keyexample{auxlyr}\verb|\assignlyrics{2}{sopr}|\> assign soprano above staff $2$\\[.8ex]
|
||||
\keyexample{lyrrule}\verb|\qu c|...\keyexample{lyrruleend}\verb|\qu c|\>make a melisma by hand\\
|
||||
\keyexample{beginmel}\verb|\qu c|...\keyexample{endmel}\verb|\qu c|\>melisma, same as word extension underline\\[.8ex]
|
||||
\keyexample{lyr}\verb|\qu c|\>force a syllable from lyrics text at this note or rest\\
|
||||
\keyexample{lyric}\verb|{word}\qu c|\>insert syllable 'word' at this note\\
|
||||
\verb|\loffset{2}{|\keyexample{lyric*}\verb|{1.}}\qu c|\>combine \verb|1.| with regular syllable\\
|
||||
\keyexample{lyrich}\verb|{syl}\qu c|\>same as \verb|\lyric|, but with hyphenation\\
|
||||
\keyexample{lyrich*}\verb|{}\qu c|\>same as \verb|\lyric*|, but with hyphenation\\
|
||||
\keyexample{lyricsoff}...\keyexample{lyricson}\>stop lyrics, then start again\\
|
||||
\keyexample{nolyr}\verb|\qu c|\>no syllable at this note\\[.8ex]
|
||||
\keyexample{llabel}\verb|{labelname}name|\>labelling a ``go to'' target in text\\
|
||||
\keyexample{golyr}\verb|{labelname}\qu c|\>perform a jump, in music code\\[.8ex]
|
||||
\keyexample{lyrpt}\verb|,\qu c|\>add a comma to the syllable under this note\\
|
||||
\keyexample{lyrnop}\verb|\qu c|\>remove last character in syllable\\
|
||||
\keyexample{lclyr}\verb|\qu c|\>make first character lower case\\
|
||||
\keyexample{llyr}\verb|\qu c|\>left justified syllable\\
|
||||
\keyexample{leftlyrtrue}\verb|\qu c|...\keyexample{leftlyrfalse}\verb|\qu c|\>start and stop left justification as the default\\
|
||||
\keyexample{lyroffset}\verb|{-4}\qu c|\>shift syllable $1$ notehead to the left\\[.8ex]
|
||||
\keyexample{minlyrspace}\verb|{3pt}\qu c|\>define minimum space between the words\\
|
||||
\keyexample{forcelyrhyphenstrue}\verb|\qu c|\>always use a hyphen from now on\\
|
||||
\keyexample{forcelyrhyphensfalse}\verb|\qu c|\>remove hyphen and make one word if necessary \\
|
||||
\keyexample{showlyrshifttrue}\verb|\qu c|\>show the lyric shift\\[.8ex]
|
||||
\keyexample{lyrraise}\verb|{1}{a 2\Interligne}|\>raise lyrics below staff $1$ by \verb|2\Interligne|\\
|
||||
\keyexample{lyrraisemulti}\verb|{1}{2}{a 2\Interligne}|\>raise alto lyrics above staff $2$ of instrument $1$\\
|
||||
\keyexample{lyrraisehere}\verb|{b 2\Interligne}\qu c|\>raise lyrics below this staff by \verb|2\Interligne|\\[.8ex]
|
||||
\keyexample{minlyrrulelength}\verb|{2mm}|\>melismas shorter than $2$mm are not shown \\
|
||||
\keyexample{minmulthyphens}\verb|{15mm}|\>distance between hyphens in 'hyphen melisma'\\
|
||||
\verb|\def|\keyexample{lyrhyphenchar}\verb|{-}|\>chose a hyphen character\\
|
||||
\verb|\setlyrics{|\keyexample{lyrlayout}\verb|{\it}..}|\>apply italics to all lyrics lines\\
|
||||
\keyexample{verses}\verb|{,\beginmel}\qu c|\>initiate melisma at second verse\\[.8ex]
|
||||
\verb|\small|\keyexample{setlyrstrut}\>adapt the vertical distance between lyrics lines\\
|
||||
\keyexample{lyrstrutbox}\verb|{10pt}|\> (re)define the distance between the lyrics lines\\[.8ex]
|
||||
\keyexample{lyrmodealter}\verb|2|\>attach lyrics of staff $2$ to the upper voice\\
|
||||
\keyexample{lyrmodealtermulti}\verb|{1}{2}|\>attach lyrics of instr.\ $1$ staff $2$ to the upper voice\\
|
||||
\keyexample{lyrmodealterhere}\verb|\qu c|\>attach lyrics of this staff to the upper voice\\
|
||||
\keyexample{lyrmodenormal}\verb|2|\>restore the default behaviour\\
|
||||
\keyexample{lyrmodenormalmulti}\verb|{1}{2}|\>restore the default behaviour at staff $2$ of instr.\ $1$\\
|
||||
\keyexample{lyrmodenormalhere}\verb|\qu c|\>restore the default behaviour of this staff\\[.8ex]
|
||||
\keyexample{lyrlink}\>linking two words with a '$_{_\smile}$'\\
|
||||
\keyexample{lowlyrlink}\>same as \verb|\lyrlink| but a little bit lower\\[.8ex]
|
||||
\keyexample{resetlyrics}\>set word pointer to the first word in all lyrics lines\\[.8ex]
|
||||
\keyexample{enableauxlyrics}\>don't use this anymore\\
|
||||
\keyexample{setsongraise}\verb|{1}{2\Interligne}|\>same as \verb|{\lyrraise}{1}{b 2\Interligne}|\\
|
||||
\keyexample{auxsetsongraise}\verb|{1}{2\Interligne}|\>same as \verb|{\lyrraisemulti}{1}{b 2\Interligne}|\\
|
||||
\keyexample{oldlyrlinestart}\>don't let the lyrics extend to the left margin\\
|
||||
\end{tabbing}\end{small}
|
||||
|
||||
As a further illustration of the use of the commands, have a look at the following
|
||||
example\footnote{The example is taken from the \texttt{musixlyr} manual.}:
|
||||
|
||||
\medskip\medskip
|
||||
%\oneversespace
|
||||
\begin{music}
|
||||
\input musixlyr
|
||||
\resetlyrics \small
|
||||
\lyrmodealter0
|
||||
\setlyrics{soprano}{bring her die Gans,} \auxlyr{\assignlyrics1{soprano}}
|
||||
\copylyrics{soprano}{alto} \assignlyrics1{alto}
|
||||
|
||||
\generalsignature{-2}
|
||||
\advance\stafftopmarg1\Interligne
|
||||
\advance\staffbotmarg2\Interligne
|
||||
|
||||
\startextract\addspace\afterruleskip
|
||||
\NOtes\zqu g\ql e\en
|
||||
\bar
|
||||
\Notes\zqu i\beginmel\ibslurd0f\ibl0f{-1}\qb0{fe}\en
|
||||
\Notes\auxlyr\beginmel\ibsluru1i\zqup i\qb0d\en
|
||||
\Notes\tqb0e\en
|
||||
\Notes\endmel\tbslurd0e\ql c\en
|
||||
\notes\ibbu0h{-1}\qb0h\tqh0g\en
|
||||
\NOtes\auxlyr\endmel\tbsluru1h\zqu h\ql c\en
|
||||
\bar
|
||||
\NOTEs\auxlyr\lyr\zwh i% The lyrics of the whole notes
|
||||
\lyr\wh b\en % must be given manually.
|
||||
\endextract
|
||||
\lyrmodenormal0
|
||||
\end{music}
|
||||
\medskip
|
||||
|
||||
%\oneversespace
|
||||
|
||||
which was coded as:
|
||||
\begin{quote}
|
||||
\begin{verbatim}
|
||||
% define lyrics above the staff
|
||||
\setlyrics{soprano}{bring her die Gans,}
|
||||
% lyric beneath the staff are the same
|
||||
\copylyrics{soprano}{alto}
|
||||
% assign alto lyrics below staff 1 on the notes with stem down
|
||||
\assignlyrics1{alto}
|
||||
% assign soprano lyrics above staff 1 on the notes with stem up
|
||||
\auxlyr{\assignlyrics1{soprano}}
|
||||
% attach both lyrics to the upper voice
|
||||
\lyrmodealter0
|
||||
\generalsignature{-2}
|
||||
% make place for the lyrics
|
||||
\advance\stafftopmarg1\Interligne\advance\staffbotmarg2\Interligne
|
||||
\startextract\addspace\afterruleskip
|
||||
\NOtes\zqu g\ql e\en\bar
|
||||
% start melisma in lower lyrics
|
||||
\Notes\zqu i\beginmel\ibslurd0f\ibl0f{-1}\qb0{fe}\en
|
||||
% start melisma in upper lyrics
|
||||
\Notes\auxlyr\beginmel\ibsluru1i\zqup i\qb0d\tqb0e\en
|
||||
% end melisma in lower lyrics
|
||||
\Notes\endmel\tbslurd0e\ql c\en
|
||||
\notes\ibbu0h{-1}\qb0h\tqh0g\en
|
||||
% start melisma in upper lyrics
|
||||
\NOtes\auxlyr\endmel\tbsluru1h\zqu h\ql c\en\bar
|
||||
% The lyrics of the whole notes (without stem) must be given manually.
|
||||
\NOTEs\auxlyr\lyr\zwh i\lyr\wh b\en
|
||||
\endextract
|
||||
\lyrmodenormal0
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section{Getting enough vertical space for lyrics}
|
||||
Since songs are
|
||||
usually equivalent to a one-staff instrument (possibly with several voices)
|
||||
the recommended solution consists in adjusting the distance between
|
||||
instruments using either \keyindex{interinstrument}\verb|=|\ital{any
|
||||
\TeX-dimension} to give more place below all instruments or using
|
||||
\keyindex{setinterinstrument} to make more space above. Note that {\Bslash
|
||||
setinterinstrument} defines spacing above and not below an instrument. Since
|
||||
lyrics are usually set below the staff, the first argument of a
|
||||
\verb|\setinterinstrument| should be the song instrument number \ital{minus
|
||||
one}.
|
||||
|
||||
In the case of a single staff tune, or if the song instrument is the lowest
|
||||
one, then additional place can be provided using \keyindex{staffbotmarg}.
|
||||
|
||||
\section{Fine tuning the placement of the lyrics}
|
||||
When not using \verb|\hardlyrics|, on short notes, sometimes
|
||||
the lyrics are shifted away from the notes or they collide with other words.
|
||||
This are a few approaches to get around this:
|
||||
\begin{enumerate}\setlength{\itemsep}{0ex}
|
||||
\item Making more music lines for the notes to go further apart. This could be done with
|
||||
\verb|\mulooseness|.
|
||||
\item Stretch a bar with short notes in it by i.e.,~replacing \verb|\notes| by \verb|\NOTes|.
|
||||
\item Insert space between the notes by using \verb|\sk|, \verb|\hsk|, \verb|\qsk|, \verb|\qqsk|, ...
|
||||
\item Stretch a bar with short notes in it by using the command \keyindex{scale}:
|
||||
\begin{verbatim}
|
||||
\scale{1.6}\notes..\en\scale{1}%
|
||||
\end{verbatim}
|
||||
This method can be used in \textbf{PMX} but only with care, because it changes horizontal spacing
|
||||
in a way that \textbf{PMX} will not be aware of. It will not move bars to the next line, but
|
||||
will shorten the other bars on the line.
|
||||
|
||||
As an example, the lyrics of this music line are better placed by using \verb|\scale| in
|
||||
the first bar and moving to the left the word 'mon'. Note that the hyphen is removed
|
||||
when there is no place for it:
|
||||
|
||||
\begin{music}
|
||||
\input musixlyr
|
||||
\resetlyrics
|
||||
\setlyrics{v1}{Au clair de la lu-ne, mon a-mi Pier-rot,}%
|
||||
\assignlyrics1{}\assignlyrics1{v1}%
|
||||
\staffbotmarg2\Interligne\generalsignature{1}%
|
||||
\startextract
|
||||
\geometricskipscale
|
||||
\notes\qu{gggh}\en\bar
|
||||
\Notes\hu{ih}\en\bar
|
||||
\notes\qu{gihh}\en\bar
|
||||
\Notes\wh g\en
|
||||
\endextract
|
||||
% \end{music}
|
||||
%%%%% combined for saving registers %%%%%
|
||||
% \begin{music}\nostartrule
|
||||
% \input musixlyr
|
||||
\resetlyrics
|
||||
\setlyrics{v1}{Au clair de la lu-ne, \kernm1exmon a-mi Pier-rot,}%
|
||||
\assignlyrics1{}\assignlyrics1{v1}%
|
||||
\staffbotmarg2\Interligne\generalsignature{1}%
|
||||
\startextract \geometricskipscale
|
||||
\scale{1.4}\notes\qu{gggh}\en\bar\scale{1}%
|
||||
\Notes\hu{ih}\en\bar
|
||||
\notes\qu{gihh}\en\bar
|
||||
\Notes\wh g\en
|
||||
\endextract
|
||||
\end{music}
|
||||
|
||||
\medskip
|
||||
The code of the second music line is (\verb|\assignlyrics1{}| is only needed because
|
||||
lyrics are assigned before this in this manual):
|
||||
\begin{quote}\begin{verbatim}
|
||||
\begin{music}
|
||||
\input musixlyr
|
||||
\resetlyrics
|
||||
\setlyrics{v1}{Au clair de la lu-ne, \kernm1exmon a-mi Pier-rot,}%
|
||||
\assignlyrics1{}\assignlyrics1{v1}%
|
||||
\staffbotmarg2\Interligne\generalsignature{1}%
|
||||
\startextract \geometricskipscale
|
||||
\scale{1.4}\notes\qu{gggh}\en\bar\scale{1}%
|
||||
\Notes\hu{ih}\en\bar
|
||||
\notes\qu{gihh}\en\bar
|
||||
\Notes\wh g\en
|
||||
\endextract
|
||||
\end{music}
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\item Moving a word in any direction
|
||||
|
||||
\begin{small}
|
||||
\noindent\begin{tabular}{ll}
|
||||
\multicolumn{2}{l}{\Bslash setlyrics\{alto\}\{\Bslash kernm3ex1.$\sim\sim$firstsyllable...\}}\\
|
||||
& left-move verse number\\
|
||||
\verb|\setlyrics{alto}{...\kern1exword...}| &right-move a single word\\
|
||||
\verb|\setlyrics{alto}{...\lower2pt\hbox{word}...}|& lower a single word\\
|
||||
\verb|\setlyrics{alto}{...\raise2pt\hbox{word}...}|& raise a single word\\
|
||||
\multicolumn{2}{l}{\Bslash def\Bslash strut\{\Bslash vbox to 2\Bslash Interligne\{\}\}%
|
||||
\Bslash setlyrics\{alto\}\{\Bslash lyrlayout\{\Bslash strut\}...\}} \\
|
||||
& control distance between verses\\
|
||||
\verb|\lyrlayout{\vphantom{Mp(\lowlyrlink}|& minimum distance between verses\\
|
||||
\multicolumn{2}{l}{\Bslash setbox\Bslash lyrstrutbox=\Bslash hbox\{\Bslash vphantom\{yM\Bslash lyrlink\}\}}\\
|
||||
& redefine default lyrstrut
|
||||
\end{tabular}
|
||||
\end{small}
|
||||
|
||||
\item Placing of accents can be made easier as shows this example:
|
||||
\begin{center}
|
||||
\begin{minipage}{50mm}
|
||||
\begin{music}\nostartrule
|
||||
\input musixlyr
|
||||
\catcode`\ä\active \defä{\"a}
|
||||
\catcode`\ö\active \defö{\"o}
|
||||
\catcode`\å\active \letå\aa
|
||||
\setlyrics1{å ä ö}
|
||||
\assignlyrics1{}\assignlyrics11
|
||||
\startextract
|
||||
\setsongraise1{1ex}\NOtes\qa{ggg}\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\end{minipage}%
|
||||
\begin{minipage}{80mm}
|
||||
\verb|\catcode`\|\"a\verb|\active \def|\"a\verb|{\"a}|\\
|
||||
\verb|\catcode`\|\"o\verb|\active \def|\"o\verb|{\"o}|\\
|
||||
\verb|\catcode`\|\aa\verb|\active \let|\aa\verb|\aa|\\
|
||||
\verb|\setlyrics1{|\aa\ \"a\ \"o\verb|} \assignlyrics1{}|\\
|
||||
\verb|\assignlyrics11|\\
|
||||
\verb|\startextract|\\
|
||||
\verb|\NOtes\qa{ggg}\en|\\
|
||||
\verb|\zendextract|\\
|
||||
\end{minipage}
|
||||
\end{center}
|
||||
\item Using an 8-bit encoded characterset.\label{8bit}
|
||||
If you use default (Computer Modern) fonts, you will want to switch to
|
||||
the EC variants
|
||||
by putting
|
||||
%\verb+\input plainenc\relax\inputencoding{cp850}+ % doesn't work!
|
||||
\verb+\input musixec+
|
||||
after \verb+\input musixtex+ in your source file.
|
||||
|
||||
\end{enumerate}
|
||||
|
1095
musixtex/doc/musixdoc/miscellaneous.tex
Normal file
1095
musixtex/doc/musixdoc/miscellaneous.tex
Normal file
File diff suppressed because it is too large
Load diff
102
musixtex/doc/musixdoc/musixdoc.ltx
Normal file
102
musixtex/doc/musixdoc/musixdoc.ltx
Normal file
|
@ -0,0 +1,102 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
%
|
||||
% musixdoc.tex : the document
|
||||
%
|
||||
\documentclass[twoside,11pt,notitlepage]{report}
|
||||
|
||||
\usepackage{musixdoc}
|
||||
|
||||
|
||||
%\includeonly{%
|
||||
%frontmatter,
|
||||
%introduction,
|
||||
%settingup,
|
||||
%preparing,
|
||||
%writingnotes,
|
||||
%beams,
|
||||
%restsdoc,
|
||||
%spacing,
|
||||
%accidentals,
|
||||
%transposition,
|
||||
%slurstiesfont,
|
||||
%slurstiesTypeK,
|
||||
%barlines,
|
||||
%barnumbering,
|
||||
%layout,
|
||||
%changing,
|
||||
%repeats,
|
||||
%fonts,
|
||||
%miscellaneous,
|
||||
%smaller,
|
||||
%staffsize,
|
||||
%parameters,
|
||||
%extracting,
|
||||
%lyrics,
|
||||
%embedding,
|
||||
%extensions,
|
||||
%examples,
|
||||
%summary,
|
||||
%index
|
||||
%}
|
||||
|
||||
\startmuflex
|
||||
|
||||
\makeindex
|
||||
|
||||
\begin{document}
|
||||
|
||||
\include{frontmatter}
|
||||
|
||||
\setcounter{page}{1}
|
||||
\pagenumbering{arabic}
|
||||
\renewcommand{\thepage}{\arabic{page}}
|
||||
|
||||
\include{introduction}
|
||||
\include{settingup}
|
||||
\include{preparing}
|
||||
\include{writingnotes}
|
||||
\include{beams}
|
||||
\include{restsdoc}
|
||||
\include{spacing}
|
||||
\include{accidentals}
|
||||
\include{transposition}
|
||||
\include{slurstiesfont}
|
||||
\include{slurstiesTypeK}
|
||||
\include{barlines}
|
||||
\include{barnumbering}
|
||||
\include{layout}
|
||||
\include{changing}
|
||||
\include{repeats}
|
||||
\include{fonts}
|
||||
\include{miscellaneous}
|
||||
\include{smaller}
|
||||
\include{staffsize}
|
||||
\include{parameters}
|
||||
\include{extracting}
|
||||
\include{lyrics}
|
||||
\include{embedding}
|
||||
\include{extensions}
|
||||
\include{examples}
|
||||
|
||||
\include{summary}
|
||||
|
||||
\include{index}
|
||||
|
||||
\end{document}
|
149
musixtex/doc/musixdoc/musixdoc.sty
Normal file
149
musixtex/doc/musixdoc/musixdoc.sty
Normal file
|
@ -0,0 +1,149 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
%
|
||||
|
||||
\usepackage[papersize={210mm,11in},margin=1.125in]{geometry} % a4 width, letter-paper height
|
||||
\pagestyle{headings}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{multicol}
|
||||
%\usepackage{etex}
|
||||
\usepackage{amssymb}
|
||||
|
||||
|
||||
\newcommand{\comment}[1]{}
|
||||
|
||||
%\usepackage{indentfirst}
|
||||
|
||||
\usepackage{mflogo}
|
||||
|
||||
\usepackage[cp1252]{inputenc} % needed for ç in extensions.tex
|
||||
|
||||
% default is Computer Modern OT1 encoding
|
||||
\usepackage[T1]{fontenc} % for CM, \input musixec after musixtex
|
||||
\usepackage[osf]{mathpazo} % Palatino text, with old-style figures; use $n$ for lining figures
|
||||
%\usepackage{mathptmx} % Times text
|
||||
%\usepackage{helvet}\renewcommand{\familydefault}{\sfdefault} % Helvetica text
|
||||
|
||||
% use OT1 encoding for tt to avoid need for cm-super fonts
|
||||
\renewcommand{\ttfamily}{\fontencoding{OT1}\fontfamily{cmtt}\selectfont}
|
||||
|
||||
|
||||
\usepackage{textcomp}
|
||||
|
||||
\input musixtex
|
||||
\input musixvbm % experimental vectorized beams
|
||||
\input musixbm
|
||||
\input musixcho
|
||||
\input musixdat
|
||||
\input musixext
|
||||
\input musixgre
|
||||
\input musixgui
|
||||
\input musixlit
|
||||
\input musixltx
|
||||
\input musixper
|
||||
|
||||
%%% \input musixps deferred to Section 10.2
|
||||
|
||||
%\input musixec % EC (Computer Modern) text in music
|
||||
\input musixplt % Palatino text in music
|
||||
%\input musixtmr % Times text in music
|
||||
%\input musixhv % Helvetica text in music
|
||||
|
||||
\usepackage{paralist}
|
||||
\setlength{\pltopsep}{1pt plus 2pt minus 1pt}
|
||||
\setlength{\plitemsep}{4.5pt plus 2pt minus 1pt}
|
||||
\renewenvironment{enumerate}{\begin{compactenum}}{\end{compactenum}}
|
||||
\renewenvironment{itemize}{\begin{compactitem}}{\end{compactitem}}
|
||||
\renewenvironment{description}{\begin{compactdesc}}{\end{compactdesc}}
|
||||
|
||||
\setcounter{tocdepth}{1}
|
||||
\setcounter{secnumdepth}{2}
|
||||
|
||||
% more place for section numbers in \tableofcontents
|
||||
\usepackage{tocloft}
|
||||
\setlength{\cftsecnumwidth}{3.0em}
|
||||
|
||||
\renewcommand{\chaptermark}[1]{\markboth{\itshape Chapter \thechapter. #1}{}}
|
||||
\renewcommand{\sectionmark}[1]{\markright{\itshape\thesection. #1}}
|
||||
|
||||
\usepackage[colorlinks=true]{hyperref}
|
||||
|
||||
\nobarnumbers
|
||||
|
||||
\def\st@ffs{1}
|
||||
|
||||
% for usage of notes inside text
|
||||
\let\nblines\z@
|
||||
|
||||
\def\notesintext#1{% no staff lines, no clefs
|
||||
{\let\extractline\relax
|
||||
\setlines10\smallmusicsize \nobarnumbers \nostartrule
|
||||
\staffbotmarg0pt \setclefsymbol1\empty \global\clef@skip0pt
|
||||
\startextract\addspace{-\afterruleskip}#1\zendextract}}
|
||||
\def\musicintext#1#2{% normal
|
||||
{\let\extractline\relax
|
||||
\smallmusicsize \nobarnumbers
|
||||
\staffbotmarg0pt \setclef1{#1}
|
||||
\startextract\addspace{-\afterruleskip}#2\endextract}}
|
||||
% macro adapted to insert music without clef:
|
||||
\def\musicintextnoclef#1{% no clef small
|
||||
{\let\extractline\relax
|
||||
\smallmusicsize \nobarnumbers
|
||||
\staffbotmarg0pt \setclefsymbol1\empty
|
||||
\startextract\addspace{-\afterruleskip}#1\endextract}}
|
||||
\def\musicintextnoclefn#1{% no clef normal
|
||||
{\let\extractline\relax
|
||||
\nobarnumbers
|
||||
\staffbotmarg0pt \setclefsymbol1\empty
|
||||
\startextract\addspace{-\afterruleskip}#1\endextract}}
|
||||
|
||||
\def\musictex{Music\TeX{}}
|
||||
\def\onen{{\ttfamily\char123}$n${\ttfamily\char125}}
|
||||
\def\pitchp{{\ttfamily\char123}$p${\ttfamily\char125}}
|
||||
\def\itbrace#1{{\ttfamily\char123}$#1${\ttfamily\char125}}
|
||||
\def\nochange{{\ital{NOT to be changed}}}
|
||||
|
||||
\ifx\setendvolta\undefined\def\setendvolta{\endvolta}\fi
|
||||
\ifx\setendvoltabox\undefined\def\setendvoltabox{\endvoltabox}\fi
|
||||
\def\tty{\csname normalshape\endcsname\csname mediumseries\endcsname\ttfamily}
|
||||
\def\mutex{M\raise\tw@\p@\hbox{\kern\m@ne\p@ u\kern\m@ne\p@}\TeX}
|
||||
\def\Bslash{\ttfamily\char'134}
|
||||
\def\|{\texttt{\char'174}}
|
||||
\def\LBR{\texttt{\char'173}}
|
||||
\def\RBR{\texttt{\char'175}}
|
||||
\def\keyindex#1{\leavevmode
|
||||
\hbox{{\Bslash #1}}\index{#1@{\protect\small\protect\Bslash #1}}}
|
||||
\def\zkeyindex#1{\index{#1@{\protect\small\protect\Bslash #1}}}
|
||||
\def\ixem#1{#1\index{#1}}
|
||||
\def\itxem#1{\textit{#1}\index{#1}}
|
||||
\def\ttxem#1{\texttt{#1}\index{#1@\texttt{#1}}}
|
||||
\def\ixtt#1{\index{#1@\texttt{#1}}}
|
||||
\def\ital#1{\textit{#1\/}}
|
||||
\def\enpee{{\ttfamily{\char123$n$\char125\char123$p$\char125}}}
|
||||
|
||||
\def\unix{\textsc{unix}}
|
||||
|
||||
\sloppy
|
||||
|
||||
|
||||
\def\underscoreSymbol{\leavevmode \kern.06em \vbox{\hrule width.3em}}%
|
||||
\def\_{\protect\underscoreSymbol}
|
||||
|
||||
|
||||
\endinput
|
220
musixtex/doc/musixdoc/parameters.tex
Normal file
220
musixtex/doc/musixdoc/parameters.tex
Normal file
|
@ -0,0 +1,220 @@
|
|||
\chapter{Layout Parameters}\label{LayoutParameters}
|
||||
Most layout parameters are set by \musixtex\ to reasonable default values.
|
||||
However, some projects will require altering one or more of them. In this
|
||||
section we discuss the most important parameters and how to change them.
|
||||
|
||||
\section{List of layout parameters}
|
||||
In the following, the indication ``\nochange'' does not mean that this
|
||||
parameter cannot be changed at all, but that it should not be modified
|
||||
directly, e.g,.~by saying something like \verb|\Interligne=14pt|. In other
|
||||
words, changes in these parameters must be accomplished only by more
|
||||
comprehensive macros which not only revise them but at the same time perform
|
||||
other necessary related changes. Even though you cannot \ital{change} these,
|
||||
you may \ital{refer} to them in your coding if that proves useful.
|
||||
|
||||
\begin{description}\setlength{\itemsep}{0ex}
|
||||
\item[\keyindex{Interligne} :]vertical distance between the bottoms of
|
||||
consecutive staff lines of the current instrument, taking no account of a
|
||||
possible alteration by \keyindex{setsize}; \nochange.
|
||||
\item[\keyindex{internote} :]vertical spacing between notes one scale
|
||||
step apart in the current instrument, taking account of a possible alteration
|
||||
by \keyindex{setsize}; \nochange.
|
||||
Note that each distinct instrument may have a different
|
||||
\verb|\internote| (see Chapter~\ref{staffspacing}).
|
||||
\item[\keyindex{Internote} :]vertical spacing between notes one scale
|
||||
step apart in any instrument whose \keyindex{setsize} has the default
|
||||
value \keyindex{normalvalue} ($1.0$), equal to \verb|0.5\Interligne|; \nochange.
|
||||
\item[\keyindex{staffbotmarg} :]margin below the first (lowest) staff of the
|
||||
first (lowest) instrument. Changes are recognized at the next system.
|
||||
Default is \verb|3\Interligne|.
|
||||
\item[\keyindex{stafftopmarg} :]margin above the last (uppermost) staff of
|
||||
last (uppermost) instrument. Changes are recognized at the next system.
|
||||
Default is \verb|3\Interligne|.
|
||||
\item[\keyindex{interbeam} :]vertical distance between beams; \nochange.
|
||||
\item[\keyindex{interstaff} :]a very important macro with a single numerical
|
||||
argument representing the factor that multiplies \verb|2\internote| to give the
|
||||
distance between the bottom of one staff and the bottom of the next one. In
|
||||
fact the macro redefines the parameter \verb|\interfacteur|. Default is 9.
|
||||
\verb|\interstaff| applies to all the
|
||||
instruments; to set the inter-staff spacing for a single instrument,
|
||||
use \keyindex{setinterstaff}\itbrace{n}\itbrace{m},
|
||||
$n$ is the instrument and $m$ is the replacement factor for that instrument.
|
||||
Note that
|
||||
after you have used \keyindex{setinterstaff},
|
||||
you cannot reset the distances for that instrument with
|
||||
\keyindex{interstaff}; you must subsequently use
|
||||
\keyindex{setinterstaff} for that purpose.
|
||||
\item[\keyindex{interportee} :]distance between the bottom of one staff and
|
||||
the bottom of the next one. It is always reset to
|
||||
2 times \keyindex{internote} times the \keyindex{interfacteur} for the current
|
||||
instrument at the next system.
|
||||
Therefore, trying to change \verb|\interportee| will have no effect. Change
|
||||
\verb|\interstaff| or use \keyindex{setinterstaff} instead.
|
||||
\item[\keyindex{interinstrument} :]additional vertical distance between
|
||||
two consecutive instruments. This means that the distance between the lowest
|
||||
line of the previous instrument and the lowest line of the top staff of the current
|
||||
instrument is \verb|\interportee+\interinstrument|. The
|
||||
default value of \verb|\interinstrument| is zero, but sometimes you
|
||||
may want additional space between distinct instruments. This is a general
|
||||
dimension register. As usual in \TeX, it can be set using a command such as
|
||||
\verb|\interinstrument=10pt| or \verb|\interinstrument=6\internote|. Its
|
||||
value can be overridden for the space above any particular instrument
|
||||
with the macro \keyindex{setinterinstrument}\itbrace{n}\itbrace{s}, where
|
||||
$n$ is the instrument and $s$ is the replacement value of the space to
|
||||
be added. The \verb|\setinterinstrument| macro may be useful in some vocal
|
||||
scores to provide vertical space for lyrics.
|
||||
Note that
|
||||
after you have used \keyindex{setinterinstrument},
|
||||
you cannot reset the distances for that instrument with
|
||||
\keyindex{interinstrument}; you must subsequently use
|
||||
\keyindex{setinterinstrument} for that purpose.
|
||||
|
||||
\item[\keyindex{systemheight} :]distance from the bottom of the
|
||||
lowest staff to the top of the highest one. This is the length of any
|
||||
vertical lines such as repeats that span the full height of a system;
|
||||
\nochange.
|
||||
\end{description}
|
||||
|
||||
In addition, when handling notes of a given staff of a given instrument, the
|
||||
following dimensions are available (note these are not true registers, but
|
||||
\ital{equivalenced symbols} through a \verb|\def|):
|
||||
|
||||
\begin{description}\setlength{\itemsep}{0ex}
|
||||
\item[\keyindex{altplancher} :]altitude of the lowest line of the lowest
|
||||
instrument; \nochange.
|
||||
\item[\keyindex{altitude} :]altitude of the lowest line of the lowest
|
||||
staff of the current instrument; \nochange.
|
||||
\item[\keyindex{altportee} :]altitude of the lowest line of the current
|
||||
staff; \nochange.
|
||||
|
||||
%??? Next perhaps will change to steps of \verb|\internote|.
|
||||
|
||||
\item[\keyindex{stemfactor} :]parameter defining the length of stems on
|
||||
half, quarter, and beamed eighth notes, in units of \verb|\interbeam|.
|
||||
Normally a stem has the length of one octave,
|
||||
i.e.,~\verb|3.5|\keyindex{Interligne}. However, this is not correct for small or tiny
|
||||
note sizes. Therefore, stem length is defined as a multiple of the
|
||||
dimension \keyindex{interbeam}, which is chosen because it is automatically
|
||||
redefined as a
|
||||
different multiple of \keyindex{Interligne} whenever note size is changed. For
|
||||
example, with \verb|\normalmusicsize| when \verb|\setsize| is
|
||||
\verb|\normalvalue|, \verb|\interbeam| is \verb|0.75|\keyindex{Interligne}. This
|
||||
legislates a default value for \keyindex{stemfactor} of $4.66$ ($=3.5/0.75$).
|
||||
To change stem length, it is easiest to use e.g.,~\keyindex{stemlength}\verb|{3.5}|, which simply redefines \verb|\stemfactor|.
|
||||
Subsequently, \verb|\stemfactor| will not automatically be reset to the default,
|
||||
but keep in mind that if it is changed
|
||||
inside a notes group, the change will only be effective within that notes group.
|
||||
\end{description}
|
||||
|
||||
\section{A convenient macro for changing layout parameters}
|
||||
Of the parameters just described that can be changed, many should only be
|
||||
changed between the end of one system and the beginning of the next. The
|
||||
command sequence \verb|\def\atnextline{|\ital{any control sequence}\verb|}|
|
||||
may be useful for this purpose. It will cause \ital{any control sequence} to
|
||||
be inserted right before the next new line is begun, provided the line break
|
||||
is not initiated by a \verb|\startpiece|. Thus this will work with
|
||||
automatically generated line breaks, with those forced by \verb|\alaligne|, and
|
||||
with those forced by explicit use of \verb|\endpiece| or \verb|\stoppiece|
|
||||
followed by \verb|\contpiece|. (Note, however, that in the latter case it
|
||||
would be just as convenient to enter the parameter changes explicitly as well.)
|
||||
The control sequence will only be executed once,
|
||||
after which \verb|\atnextline| is redefined as \verb|\empty|.
|
||||
|
||||
\section{Changing the number of lines per staff}\label{stafflinenumber}
|
||||
Naturally, the default number of lines per staff is five. But you may want a
|
||||
different number in some or all staves, for example for gregorian music,
|
||||
percussion music, guitar tablature, or early baroque keyboard music. To do so,
|
||||
use the command \keyindex{setlines}\itbrace{n}\itbrace{m}~where $n$ is the
|
||||
instrument number and $m$ is the number of lines.
|
||||
|
||||
\section{Resetting normal layout parameters}
|
||||
The general size can only be changed with one of the commands
|
||||
\keyindex{smallmusicsize},
|
||||
\keyindex{normalmusicsize}, \keyindex{largemusicsize}, or
|
||||
\keyindex{Largemusicsize}. Beyond that, the command
|
||||
\keyindex{resetlayout} will reset the following key layout parameters
|
||||
to their default values: \keyindex{staffbotmarg} (\verb|3\Interligne|),
|
||||
\keyindex{stafftopmarg} (\verb|3\Interligne|), \keyindex{interstaff} ($9$),
|
||||
number of lines per staff for all instruments ($5$); and will reset all clef
|
||||
symbols to standard clef symbols.
|
||||
|
||||
\section{Split and Shortened Systems}
|
||||
It is sometimes desirable to typeset a ``shortened'' system or to split
|
||||
a system into left and right segments, as in the following (extracted from a
|
||||
Geminiani \emph{concerto grosso}):
|
||||
|
||||
\begin{music}
|
||||
\smallmusicsize
|
||||
\setclef1\bass
|
||||
\setclef5\treble\settrebleclefsymbol5\trebleoct
|
||||
\generalsignature{-2}
|
||||
\instrumentnumber5
|
||||
\songbottom{1}\songtop{5}
|
||||
\setinterinstrument4{1\internote}
|
||||
\nobarnumbers
|
||||
\generalmeter{\meterfrac38}
|
||||
\hbox to\hsize\bgroup\vbox\bgroup\hsize=1.7in
|
||||
\startpiece\addspace\afterruleskip
|
||||
\Notes\qa G\sk&\ibu1i{-1}\qb1i\qb1{.g}&\ca d\qa g&\ca n\itieu3n\qa n&\ca g\ds\en
|
||||
\notes\ds\sk&\sk\tbbu1\tqu1g&\sk\sk&\sk\sk\ttie3&\ds\sk\en
|
||||
\znotes&&&&\lcn{q}{\bf D.S. al\kern3ex}\coda p\en
|
||||
\setdoublebar\endpiece
|
||||
\egroup\hfill\vbox\bgroup\hsize=3.7in
|
||||
\generalmeter{\allabreve}
|
||||
\startpiece\addspace\afterruleskip
|
||||
\znotes&&&&\coda o\en
|
||||
\NOtes\qa{.G}&\qa{.k}&\qa{.d}&\qa n&\qa g\en
|
||||
\notes\sk\sk\qs\cca N&\sk\sk\qs\cca i&\sk\sk\qs\cca k&\qs\ibbl3p{-2}\qb3{p}\qb3{o}\tql3n&\qp\sk\sk\sk\en
|
||||
\NOtes\qa{.M}&\qa{.h}&\qa{.k}&\qa o&\ha k\en
|
||||
\Notes\sk&\sk&\sk&\itieu3r\qa r&\sk\en
|
||||
\notes\qs\cca M&\qs\cca h&\qs\cca k&\sk\sk&\sk\sk\en
|
||||
\bar
|
||||
\NOtes\wh L\sk&\qa{g}\qa{g}&\ha{l}\sk&\ttie3\ha r\sk&\ha{g}\sk\en
|
||||
\NOTes\sk&\ha j&\ha{n}&\tr s\ha q&\ha{n}\en
|
||||
\bar
|
||||
\nspace
|
||||
\NOtesp\ha{.K}&\ha{.h}&\ha{.k}&\ha{.r}&\ha{.^m}\en
|
||||
\setdoublebar\endpiece
|
||||
\egroup\egroup
|
||||
\end{music}
|
||||
|
||||
This was coded as follows:
|
||||
\begin{footnotesize}
|
||||
\begin{quote}\begin{verbatim}
|
||||
\setclef1\bass\setclef5\treble\settrebleclefsymbol5\trebleoct
|
||||
\generalsignature{-2}
|
||||
\instrumentnumber5\songbottom{1}\songtop{5}
|
||||
\nobarnumbers
|
||||
\generalmeter{\meterfrac38}
|
||||
\hbox to\hsize\bgroup\vbox\bgroup\hsize=1.7in % specify length of left segment
|
||||
\startpiece\addspace\afterruleskip
|
||||
\Notes\qa G\sk&\ibu1i{-1}\qb1i\qb1{.g}
|
||||
&\ca d\qa g&\ca n\itieu3n\qa n&\ca g\ds\en
|
||||
\notes\ds\sk&\sk\tbbu1\tqu1g
|
||||
&\sk\sk&\sk\sk\ttie3&\ds\sk\en
|
||||
\znotes&&&&\lcn{q}{\bf D.S. al\kern3ex}\coda p\en
|
||||
\setdoublebar\endpiece
|
||||
\egroup\hfill\vbox\bgroup\hsize=3.7in % specify length of right segment
|
||||
\generalmeter{\allabreve}
|
||||
\startpiece\addspace\afterruleskip
|
||||
\znotes&&&&\coda o\en
|
||||
\NOtes\qa{.G}&\qa{.k}&\qa{.d}&\qa n&\qa g\en
|
||||
\notes\sk\sk\qs\cca N&\sk\sk\qs\cca i
|
||||
&\sk\sk\qs\cca k
|
||||
&\qs\ibbl3p{-2}\qb3{p}\qb3{o}\tql3n
|
||||
&\qp\sk\sk\sk\en
|
||||
\NOtes\qa{.M}&\qa{.h}&\qa{.k}&\qa o&\ha k\en
|
||||
\Notes\sk&\sk&\sk&\itieu3r\qa r&\sk\en
|
||||
\notes\qs\cca M&\qs\cca h&\qs\cca k
|
||||
&\sk\sk&\sk\sk\en
|
||||
\bar
|
||||
\NOtes\wh L\sk&\qa{g}\qa{g}&\ha{l}\sk
|
||||
&\ttie3\ha r\sk&\ha{g}\sk\en
|
||||
\NOTes\sk&\ha j&\ha{n}&\tr s\ha q&\ha{n}\en
|
||||
\bar
|
||||
\nspace
|
||||
\NOtesp\ha{.K}&\ha{.h}&\ha{.k}&\ha{.r}&\ha{.^m}\en
|
||||
\setdoublebar\endpiece
|
||||
\egroup\egroup % close open \bgroups
|
||||
\end{verbatim}\end{quote}
|
||||
\end{footnotesize}
|
285
musixtex/doc/musixdoc/preparing.tex
Normal file
285
musixtex/doc/musixdoc/preparing.tex
Normal file
|
@ -0,0 +1,285 @@
|
|||
\chapter{Preparing to Enter Notes}\label{preparing}
|
||||
\section{After the setup, what next?}
|
||||
|
||||
The command \keyindex{startmuflex} initiates the serious business of
|
||||
\musixtex. On the first \TeX\ pass it
|
||||
opens \ital{jobname}{\tt .mx1} for writing bar-by-bar tabulations of all
|
||||
hard and scalable space to be fed to \verb|musixflx| on the second pass.
|
||||
\verb|musixflx| generates \ital{jobname}{\tt .mx2} which defines the
|
||||
number of bars in each system and the factors relating scalable space
|
||||
to hard space in each system. On the third pass both files will be opened
|
||||
and read to define the final spacing. These files should be closed before
|
||||
leaving \TeX, preferably before
|
||||
\keyindex{bye} or \keyindex{end}, with \keyindex{endmuflex}. Normally \TeX\
|
||||
closes all open files on its own when terminating the program, but it is still
|
||||
cleaner to do this explicitly.
|
||||
|
||||
After \verb|\startmuflex|, the command \keyindex{startpiece} will initiate
|
||||
the first system, containing all instruments you have previously defined.
|
||||
The indentation will be \keyindex{parindent}, so if you want nonzero
|
||||
indentation, this register should be set to the desired hard dimension
|
||||
before issuing \verb|\startpiece|.
|
||||
|
||||
\section{Horizontal spacing commands}\label{newspacings}
|
||||
\subsection{Basic note spacing}
|
||||
\musixtex\ provides a set of macros each of which defines a particular
|
||||
increment of scalable spacing. The default set is tabulated in
|
||||
Figure~\ref{spacingtable}.
|
||||
\begin{table}
|
||||
\begin{small}
|
||||
\begin{center}
|
||||
\tinynotesize
|
||||
\renewcommand{\arraystretch}{1.5}% I hate LaTeX (attributed to Daniel Taupin)
|
||||
\begin{tabular}{|l|l|l@{~~~~}l|}
|
||||
\multicolumn{1}{c}{Usage}&
|
||||
\multicolumn{1}{c}{spacing}&
|
||||
\multicolumn{2}{c}{Suggested use}\\\hline
|
||||
\keyindex{znotes}\verb| ... & ... & ... \en|&(non spacing)
|
||||
&&specials\\
|
||||
\keyindex{notes}\verb| ... & ... & ... \en|&\verb=2=\keyindex{elemskip}
|
||||
&\ccu1&16th\\
|
||||
\keyindex{notesp}\verb| ... & ... & ... \en|&\verb=2.5\elemskip=
|
||||
&\pt1\ccu1&dotted 16th, 8th triplet\\
|
||||
\keyindex{Notes}\verb| ... & ... & ... \en|&\verb=3\elemskip=
|
||||
&\cu1&8th\\
|
||||
\keyindex{Notesp}\verb| ... & ... & ... \en|&\verb=3.5\elemskip=
|
||||
&\cup1&dotted 8th, quarter triplet\\
|
||||
\keyindex{NOtes}\verb| ... & ... & ... \en|&\verb=4\elemskip=
|
||||
&\qu1&quarter\\
|
||||
\keyindex{NOtesp}\verb| ... & ... & ... \en|&\verb=4.5\elemskip=
|
||||
&\qup1&dotted quarter, half triplet\\
|
||||
\keyindex{NOTes}\verb| ... & ... & ... \en|&\verb=5\elemskip=
|
||||
&\hu1&half\\
|
||||
\keyindex{NOTesp}\verb| ... & ... & ... \en|&\verb=5.5\elemskip=
|
||||
&\hup1&dotted half\\
|
||||
\keyindex{NOTEs}\verb| ... & ... & ... \en|&\verb=6\elemskip=
|
||||
&\wh1&whole\\\hline
|
||||
\end{tabular}\end{center}
|
||||
\end{small}
|
||||
\caption{Spacing Commands}
|
||||
\label{spacingtable}
|
||||
\end{table}
|
||||
What each of these macros actually does is to set an
|
||||
internal dimension register \keyindex{noteskip} to the given multiple
|
||||
of the fundamental spacing unit \keyindex{elemskip}
|
||||
(which has dimensions of length, usually given in points).
|
||||
Normally, every \itxem{spacing note} (e.g.,
|
||||
\keyindex{qu},
|
||||
\keyindex{qb}, \keyindex{hl}) will then be followed by a spacing of
|
||||
width \keyindex{noteskip}. By selecting a particular note spacing macro
|
||||
from the above table, the typesetter can thus control the relative spacing
|
||||
between notes.
|
||||
|
||||
The actual spacing will therefore be determined by the value of
|
||||
\verb|\elemskip|. On the first pass, \TeX\ will set a default value for
|
||||
\verb|\elemskip| based on the declared music size, or the user can
|
||||
set it to any hard dimension he chooses. However, the value on the
|
||||
first pass doesn't matter as much as you might think (more about that later).
|
||||
On the second pass,
|
||||
\verb|musixflx| determines where the system breaks will come,
|
||||
and then computes the final value of \verb|\elemskip| for each system.
|
||||
|
||||
If the arithmetic progression of note spacings in the above table does not
|
||||
meet your wishes, you may activate an alternate set with
|
||||
the command \keyindex{geometricskipscale}. As implied by the name, this
|
||||
is a geometric progression, where {\Bslash Notes} is
|
||||
$\sqrt{2}$ times wider than {\Bslash notes}, {\Bslash NOtes} is $\sqrt{2}$
|
||||
times wider than {\Bslash Notes}, and so forth.
|
||||
Then the factors in the middle column
|
||||
of the above table will be replaced by the sequence
|
||||
$2.00$, $2.38$, $2.83$, $3.36$, $4.00$, $4.76$, $5.66$, $6.72$, and $8.00$. Two additional
|
||||
macros, \verb|\NOTEsp| and \verb|\NOTES|, will be defined corresponding to
|
||||
factors $9.52$ and $11.32$. The original arithmetic progression can be
|
||||
restored by \keyindex{arithmeticskipscale}.
|
||||
|
||||
If neither of the predefined progressions satisfies you, you may define
|
||||
your own, using the more general macro \verb|\vnotes| in the same manner
|
||||
that \musixtex\ uses it for the predefined progressions. So for example
|
||||
\verb|\def\NOtes{\vnotes5.34\elemskip}| will redefine \verb|\NOtes| in
|
||||
the obvious way, and the extension to the other spacing macros should
|
||||
likewise be obvious.
|
||||
The following abbreviations may be useful:
|
||||
\begin{quote}
|
||||
\begin{tabular}{lcl}
|
||||
\keyindex{nnotes} &for&\verb|\vnotes1.6\elemskip|\\
|
||||
\keyindex{nnnotes} &for&\verb|\vnotes1.28\elemskip|
|
||||
\end{tabular}
|
||||
\end{quote}
|
||||
|
||||
In addition, inside any pair \verb|\notes...\en| there are two
|
||||
equivalent ways to
|
||||
locally redefine \verb|\noteskip| to another scalable value, namely by
|
||||
issuing a command like
|
||||
\verb|\noteskip=2.4\noteskip| or \keyindex{multnoteskip}\verb|{2.4}|, which
|
||||
have the expected effect until the notes group is terminated or
|
||||
\verb|\noteskip| is further redefined.
|
||||
Finally, by issuing a command like
|
||||
\keyindex{scale}\verb|{2.4}| outside any notes group, you can scale all subsequent
|
||||
\verb|\noteskip|s by any desired factor.
|
||||
|
||||
These facilities may be useful, for example,
|
||||
to control spacing when there are three equal duration notes in one staff against two
|
||||
in another.
|
||||
|
||||
|
||||
%\subsection{\Bslash{\tt elemskip}, \Bslash{\tt beforeruleskip} and
|
||||
%\Bslash{\tt afterruleskip}}
|
||||
%
|
||||
% avr wants to call these "commands", but das doesn't.
|
||||
%\subsection{Commands {\Bslash\texttt{elemskip}},
|
||||
%{\Bslash\texttt{beforeruleskip}}
|
||||
%and {\Bslash\texttt{afterruleskip}}}
|
||||
%\subsection{{\Bslash\texttt{elemskip}},
|
||||
%{\Bslash\texttt{beforeruleskip}}
|
||||
%and {\Bslash\texttt{afterruleskip}}}
|
||||
|
||||
\subsection{Before and after rule skips}
|
||||
|
||||
|
||||
We've just seen how \verb|\elemskip| is used to scale the spacings between notes.
|
||||
There are two other spacing units that share some behavior with \verb|\elemskip|:
|
||||
\verb|\beforeruleskip| is the horizontal space that is automatically inserted
|
||||
\ital{before} every bar line, while \verb|\afterruleskip| goes \ital{after}
|
||||
every bar line. (In
|
||||
practice \verb|\beforeruleskip| is almost aways set to \verb|0pt| because there
|
||||
will typically already be a space of \verb|1\noteskip| before every barline.)
|
||||
On the first pass, just as with \verb|\elemskip|, \musixtex\ assigns them default
|
||||
values according to the following table:
|
||||
|
||||
%\begin{quote}\begin{tabular}{lrrr}\hline
|
||||
%\ital{using}&\keyindex{elemskip}&\keyindex{afterruleskip}
|
||||
% &\keyindex{beforeruleskip}\\\hline
|
||||
%\keyindex{normalmusicsize}&6pt&8pt&0pt\\
|
||||
%\keyindex{smallmusicsize}&4.8pt&6pt&0pt\\\hline
|
||||
%\end{tabular}\end{quote}
|
||||
|
||||
\begin{center}\begin{tabular}{lrrr}\hline
|
||||
\ital{using}&\keyindex{elemskip}&\keyindex{afterruleskip}
|
||||
&\keyindex{beforeruleskip}\\\hline
|
||||
\keyindex{normalmusicsize}&{\tt 6pt}&{\tt 8pt}&{\tt 0pt}\\
|
||||
\keyindex{smallmusicsize}&{\tt 4.8pt}&{\tt 6pt}&{\tt 0pt}\\\hline
|
||||
\end{tabular}\end{center}
|
||||
|
||||
\noindent In the second pass, \verb|musixflx| assigns new values to each
|
||||
of these dimensions, a different set for each line or system. It does this
|
||||
in such a way that available scalable horizontal space in each system is
|
||||
exactly filled up.
|
||||
|
||||
The values that are assigned to these dimensions on the first pass, whether by
|
||||
default or explicitly by the user or in some combination, only matter insofar
|
||||
as their relative sizes. That's why we earlier stated that the first-pass value
|
||||
of \verb|\elemskip| didn't matter as much as you might think. For both music sizes
|
||||
in the table above, it appears that by default \verb|\afterruleskip| is
|
||||
\verb|1.3333\elemskip|\footnote{Editor's note: It is a mystery why the authors
|
||||
%of \musixtex\ didn't simply define \Bslash{\tt beforeruleskip} and \Bslash{\tt afterruleskip} as
|
||||
%specific multiples of \Bslash{\tt elemskip}}.
|
||||
of \musixtex\ didn't simply define \Bslash\texttt{beforeruleskip} and \Bslash\texttt{afterruleskip} as
|
||||
specific multiples of \Bslash\texttt{elemskip}.}.
|
||||
|
||||
Note that if you do want to change any of these
|
||||
values, you have to do so \ital{after} setting the
|
||||
music size and before \verb|\startpiece|.
|
||||
|
||||
Here is an example that illustrates the various dimensions under discussion:\\
|
||||
%\check
|
||||
\begin{music}\nostartrule
|
||||
\afterruleskip7pt
|
||||
\beforeruleskip2pt
|
||||
\parindent0pt
|
||||
\setclefsymbol1\empty
|
||||
% special problems afford special solutions
|
||||
\makeatletter\global\clef@skip\z@ \makeatother
|
||||
\startpiece
|
||||
\zchar{16}{\hbox to\afterruleskip{\downbracefill}}%
|
||||
\zchar{19}{\hbox to\afterruleskip{\hss a\hss}}%
|
||||
\addspace\afterruleskip
|
||||
\zchar{16}{\hbox to2\elemskip{\downbracefill}}%
|
||||
\zchar{19}{\hbox to2\elemskip{\hss b\hss}}%
|
||||
\zchar{3}{\hbox to\elemskip{\upbracefill}\hbox to\elemskip{\upbracefill}}%
|
||||
\zchar{-1}{\hbox to\elemskip{\hss e\hss}\hbox to\elemskip{\hss e\hss}}%
|
||||
\notes\qa l\en
|
||||
\znotes\en
|
||||
\zchar{16}{\hbox to4\elemskip{\downbracefill}}%
|
||||
\zchar{19}{\hbox to4\elemskip{\hss c\hss}}%
|
||||
\zchar{3}{\hbox to\elemskip{\upbracefill}\hbox to\elemskip{\upbracefill}%
|
||||
\hbox to\elemskip{\upbracefill}\hbox to\elemskip{\upbracefill}}%
|
||||
\zchar{-1}{\hbox to\elemskip{\hss e\hss}\hbox to\elemskip{\hss e\hss}%
|
||||
\hbox to\elemskip{\hss e\hss}\hbox to\elemskip{\hss e\hss}}%
|
||||
\NOtes\qa l\en
|
||||
\znotes\en
|
||||
\zchar{16}{\hbox to\beforeruleskip{\downbracefill}}%
|
||||
\zchar{19}{\hbox to\beforeruleskip{\hss d\hss}}%
|
||||
\setemptybar\endpiece
|
||||
\end{music}
|
||||
\begin{quote}\begin{tabular}{l@{~$\rightarrow$~}l}
|
||||
a&\keyindex{afterruleskip}\\
|
||||
b&\keyindex{notes}\verb| = \vnotes 2\elemskip|\\
|
||||
c&\keyindex{NOtes}\verb| = \vnotes 4\elemskip|\\
|
||||
d&\keyindex{beforeruleskip}\\
|
||||
e&\keyindex{elemskip}
|
||||
\end{tabular}\end{quote}
|
||||
|
||||
\section{Moving from one staff or instrument to another}
|
||||
\label{movingtostaffs}
|
||||
|
||||
When entering notes inside \verb|\notes ... \en|, the usual way to suspend
|
||||
input for one instrument and start the next (higher) is with the character
|
||||
``\verb|&|''\index{"&@{\tt\char'046}}. If the instrument has more than one
|
||||
staff, to switch to the next (higher) one you can use the character
|
||||
``\verb+|+''\index{\tt\char'174@{\tt\char'174}}.
|
||||
|
||||
There are some alternate navigation commands that may be useful in
|
||||
special situations. Due to ``catcode
|
||||
problems'' (see Section~\ref{catcodeprobs}) it may sometimes be necessary
|
||||
to use the more explicit commands
|
||||
\keyindex{nextinstrument} and \keyindex{nextstaff}, which have the same
|
||||
meanings as ``\verb|&|'' and ``\verb+|+'' respectively. To switch to the previous
|
||||
(next lower) staff of the same instrument, use \keyindex{prevstaff}. This might
|
||||
be useful if a beam starts in a higher staff than where it ends. More
|
||||
generally, to switch to an arbitrary instrument $n$, use
|
||||
\keyindex{selectinstrument}\onen, and to switch to an arbitrary staff $n$
|
||||
of the current instrument, use \keyindex{selectstaff}\verb|{|$n$\verb|}|. In the
|
||||
latter case if $n$ exceeds the number of staves defined for the instrument, you
|
||||
will receive an error message. You can enter part of a successive voice on
|
||||
the \ital{same} staff by using \verb|\selectstaff{|$n$\verb|}| with $n$ for
|
||||
the \ital{current} staff.
|
||||
|
||||
|
||||
\section{Automatic note spacing}
|
||||
\label{autosp}
|
||||
|
||||
A preprocessor called \texttt{autosp}\index{autosp@{\tt autosp}} automates the generation
|
||||
of note-spacing commands by converting (non-standard) commands
|
||||
of the form \verb|\anotes ... \en| into one or more conventional
|
||||
note-spacing commands, as determined by the note values
|
||||
themselves, with \verb|\sk| spacing commands inserted as necessary.
|
||||
The coding for an entire measure can be entered one part at
|
||||
a time, without concern for note-spacing changes within the
|
||||
part or spacing requirements of other parts.
|
||||
For example, from the input
|
||||
\begin{verbatim}
|
||||
\anotes\qa J\qa K&\ca l\qa m\ca n\en
|
||||
\end{verbatim}
|
||||
\texttt{autosp} generates
|
||||
\begin{verbatim}
|
||||
\Notes\qa J\sk\qa K\sk&\ca l\qa m\sk\ca n\en
|
||||
\end{verbatim}
|
||||
\texttt{autosp} also supports non-standard commands for adding ``global''
|
||||
skips (i.e., in every staff) and centered whole-bar rests.
|
||||
|
||||
As an option, \emph{all} note-spacing commands (except \verb|\znotes|
|
||||
and \verb|\vnotes|) will be processed similarly; this is useful for correcting
|
||||
the spacing in single-instrument parts extracted from a multi-instrument score;
|
||||
see Section~\ref{musixtnt}.
|
||||
|
||||
The \texttt{autosp} package is available in
|
||||
\href{https://www.tug.org/texlive/}{\underline{TeXLive}}
|
||||
and
|
||||
\href{http://miktex.org/}{\underline{MiKTeX}}, and
|
||||
can also be found at
|
||||
the \href{http://icking-music-archive.org/software/autosp/autosp.zip}
|
||||
{\underline{Werner Icking Music Archive}}
|
||||
or at
|
||||
\href{http://mirrors.ctan.org/support/autosp.zip}{\underline{CTAN}}
|
||||
(the Comprehensive \TeX\ Archive Network).
|
||||
|
272
musixtex/doc/musixdoc/repeats.tex
Normal file
272
musixtex/doc/musixdoc/repeats.tex
Normal file
|
@ -0,0 +1,272 @@
|
|||
\chapter{Repeats}
|
||||
|
||||
To replace a bar line with a left, right, or left-right repeat, use one of the
|
||||
commands \keyindex{leftrepeat}, \keyindex{rightrepeat} or
|
||||
\keyindex{leftrightrepeat} in place of \verb|\bar|. If a \verb|\leftrepeat|
|
||||
happens to come at the end of a system, it will automatically be moved to the
|
||||
start of the next system. If a \verb|\leftrightrepeat| happens to come at the
|
||||
end of a system, \musixtex\ will automatically post a right repeat at the end
|
||||
of the system and a left repeat at the beginning of the next.
|
||||
|
||||
For example,
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOTes\ha g\en
|
||||
\leftrepeat
|
||||
\NOTes\ha h\en
|
||||
\leftrightrepeat
|
||||
\NOTes\ha i\en
|
||||
\rightrepeat
|
||||
\NOTEs\wh j\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent has been coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOTes\ha g\en
|
||||
\leftrepeat
|
||||
\NOTes\ha h\en
|
||||
\leftrightrepeat
|
||||
\NOTes\ha i\en
|
||||
\rightrepeat
|
||||
\NOTEs\wh j\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
To insert a right-repeat at a forced line break or at the end of a piece, use
|
||||
\verb|\setrightrepeat| \textit{before}\ \verb|\alaligne| or \verb|\endpiece|.
|
||||
In fact it is possible to use \keyindex{setleftrepeat},
|
||||
\keyindex{setrightrepeat} or \keyindex{setleftrightrepeat} before any
|
||||
\keyindex{bar}, \keyindex{stoppiece} or \keyindex{changecontext}; but
|
||||
be aware that whereas \verb|\setrightrepeat| behaves properly if the bar is at the
|
||||
end of a system, \verb|\setleftrepeat| and \verb|\setleftrightrepeat| do not,
|
||||
placing
|
||||
the left-repeat symbol at the end of the system rather
|
||||
than at the beginning of the next system; see the
|
||||
\verb|\zleftrepeat| \verb|\zzleftrepeat| \verb|\zzleftrightrepeat|
|
||||
and \verb|\zzleftrightrepeat| commands described below.
|
||||
|
||||
|
||||
The following commands generate repeat symbols as usual, but
|
||||
are assumed to be in the \emph{middle} of a bar; that is,
|
||||
the bar counter is not incremented:
|
||||
\begin{itemize}
|
||||
\item[] \keyindex{zrightrepeat}
|
||||
\item[] \keyindex{zleftrepeat}
|
||||
\item[] \keyindex{zleftrightrepeat}
|
||||
\end{itemize}
|
||||
For example, to insert a left-repeat at a forced line break or at the
|
||||
beginning of a piece, simply use \verb|\zleftrepeat| immediately \textit{after}
|
||||
\verb|\startpiece| or \verb|\alaligne|. To insert a left-right repeat at a
|
||||
forced line break, use \verb|\setrightrepeat\alaligne\zleftrepeat|.
|
||||
|
||||
The following commands are similar but force the mid-bar break to the
|
||||
end of a system:
|
||||
\begin{itemize}
|
||||
\item[] \keyindex{zzrightrepeat}
|
||||
\item[] \keyindex{zzleftrepeat}
|
||||
\item[] \keyindex{zzleftrightrepeat}
|
||||
\end{itemize}
|
||||
For
|
||||
\verb|\zzleftrepeat| and \verb|\zzleftrightrepeat|, the left-repeats occur
|
||||
at the beginning of the following system. The bar numbers are
|
||||
correctly adjusted, using \keyindex{writezbarno} for the continuation
|
||||
if \keyindex{systemnumbers} is in use.
|
||||
|
||||
As an example, here is
|
||||
a \emph{bourr\'ee} by G.-F.~Handel coded using \verb|\zleftrepeat| at the beginning
|
||||
of the \textbf{A} section and \verb|\zzleftrightrepeat|
|
||||
between the \textbf{A} and the \textbf{B} sections:
|
||||
|
||||
\begin{music}
|
||||
\smallmusicsize
|
||||
\generalmeter{\allabreve}
|
||||
\generalsignature{1}
|
||||
\startbarno=0
|
||||
\nobarnumbers
|
||||
\nostartrule
|
||||
\startpiece\addspace\afterruleskip
|
||||
\systemnumbers
|
||||
\zleftrepeat%
|
||||
\znotes\ccn{10}{\boxit{\bf A}}\en
|
||||
\NOtes\qa d\en%
|
||||
\bar%1
|
||||
\NOtes\qa{g}\qa{i}\qa{h}\qa{g}\en%
|
||||
\bar%2
|
||||
\NOTes\ha{k}\ha{i}\en%
|
||||
\bar%3
|
||||
\NOtes\qa{l}\qa{k}\qa{j}\qa{i}\en%
|
||||
\bar%4
|
||||
\NOtes\qa j\en
|
||||
\NOTes\ha i\en%
|
||||
\zzleftrightrepeat%
|
||||
\znotes\ccn{10}{\boxit{\bf B}}\en
|
||||
\NOtes\qa k\en%
|
||||
\bar%5
|
||||
\NOtes\qa{l}\qa{j}\qa{h}\en
|
||||
\Notes\ibl3i2\qb3i\tql3j\en%
|
||||
\bar%6
|
||||
\NOtes\qa{k}\qa{i}\qa{g}\en
|
||||
\Notes\ibu3h2\qb3h\tqu3i\en%
|
||||
\bar%7
|
||||
\NOtes\qa{j}\qa{i}\qa{h}\qa{g}\en%
|
||||
\bar%8
|
||||
\Notes\ibu3h1\qb3{h}\qb3{g}\qb3{h}\tqu3i\en
|
||||
\NOtes\qa h\en
|
||||
\Notes\ibl3i2\qb3i\tql3j\en%
|
||||
\bar%9
|
||||
\NOtes\qa k\en
|
||||
\Notes\ibl3i2\qb3i\tql3j\en
|
||||
\NOtes\qa k\en
|
||||
\Notes\ibl3j{-2}\qb3j\tql3i\en%
|
||||
\bar%10
|
||||
\NOtes\qa j\en
|
||||
\Notes\ibu3h2\qb3h\tqu3i\en
|
||||
\NOtes\qa j\en
|
||||
\Notes\ibu3i{-2}\qb3i\tqu3h\en%
|
||||
\bar%11
|
||||
\NOtes\qa{i}\qa{g}\en
|
||||
\NOtesp\tr{11}\qa{.h}\en
|
||||
\Notes\ca g\en%
|
||||
\bar%12
|
||||
\NOTesp\ha{.g}\en%
|
||||
\setrightrepeat%
|
||||
\endpiece%
|
||||
\end{music}
|
||||
|
||||
\noindent No explicit adjustment of \verb|\barno| was necessary. The right-repeat
|
||||
at the end of the \textbf{B}~section was produced by
|
||||
\verb|\setrightrepeat\endpiece|.
|
||||
|
||||
|
||||
|
||||
\section{First and second endings (Voltas)}\index{volta}
|
||||
|
||||
All volta commands must be entered right before the bar line command
|
||||
(or repeat, etc.) where they are to take effect. There are three
|
||||
commands that suffice to set all voltas. To start one, use
|
||||
\keyindex{Setvolta}\verb|{|\textit{text}\verb|}|; to terminate it
|
||||
with or without a vertical line, use \keyindex{endvolta} or
|
||||
\keyindex{endvoltabox} respectively. The text by default will be followed
|
||||
by a period. There are also various alternate
|
||||
commands (e.g., \verb|\setendvoltabox| is equivalent to \verb|\endvoltabox|).
|
||||
Some such alternate forms are used in the following example, but the first three
|
||||
mentioned above are all that are required:
|
||||
|
||||
\medskip \begin{music}
|
||||
\parindent0pt
|
||||
\nostartrule
|
||||
\startpiece
|
||||
\addspace\afterruleskip
|
||||
\NOTEs\wh a\en\bar
|
||||
\NOTEs\wh b\en\setvoltabox{1.-3}\bar
|
||||
\NOTEs\wh c\en\setvolta4\setendvolta\rightrepeat
|
||||
\NOTEs\wh d\en\doublebar
|
||||
\NOTEs\wh e\en\bar
|
||||
\NOTEs\wh f\en\leftrepeat
|
||||
\NOTEs\wh g\en\bar
|
||||
\NOTEs\wh h\en\Setvolta1\bar
|
||||
\NOTEs\wh i\en\bar
|
||||
\NOTEs\wh j\en\Setvolta2\setendvoltabox\rightrepeat
|
||||
\NOTEs\wh i\en\bar
|
||||
\NOTEs\wh h\en\setendvoltabox
|
||||
\Endpiece
|
||||
\end{music}
|
||||
\noindent This was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\startpiece \addspace\afterruleskip
|
||||
\NOTEs\wh a\en\bar
|
||||
\NOTEs\wh b\en\setvoltabox{1.-3}\bar
|
||||
\NOTEs\wh c\en\setvolta4\setendvolta\rightrepeat
|
||||
\NOTEs\wh d\en\doublebar
|
||||
\NOTEs\wh e\en\bar
|
||||
\NOTEs\wh f\en\leftrepeat
|
||||
\NOTEs\wh g\en\bar
|
||||
\NOTEs\wh h\en\Setvolta1\bar
|
||||
\NOTEs\wh i\en\bar
|
||||
\NOTEs\wh j\en\Setvolta2\setendvoltabox\rightrepeat
|
||||
\NOTEs\wh i\en\bar
|
||||
\NOTEs\wh h\en\setendvoltabox
|
||||
\Endpiece
|
||||
\end{verbatim}\end{quote}
|
||||
\zkeyindex{leftrepeat}\zkeyindex{rightrepeat}
|
||||
|
||||
If the volta only spans one measure and ends without a vertical segment,
|
||||
it can be specified simply by saying
|
||||
\keyindex{setvolta}\verb|{|\textit{text}\verb|}| before the bar line command
|
||||
that starts it, and it will automatically terminate at the
|
||||
second bar line command:
|
||||
|
||||
\medskip \begin{music}
|
||||
\parindent0pt \nostartrule\startpiece \addspace\afterruleskip
|
||||
\NOTEs\wh a\en\bar
|
||||
\NOTEs\wh b\en\setvolta{1.-3}\bar \NOTEs\wh c\en\setvolta4\rightrepeat
|
||||
\NOTEs\wh d\en\bar
|
||||
\NOTEs\wh e\en\Endpiece
|
||||
\end{music}
|
||||
\noindent which was coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\parindent0pt \startpiece \addspace\afterruleskip
|
||||
\NOTEs\wh a\en\bar
|
||||
\NOTEs\wh b\en\setvolta{1.-3}\bar \NOTEs\wh c\en\setvolta4\rightrepeat
|
||||
\NOTEs\wh d\en\bar
|
||||
\NOTEs\wh e\en\Endpiece
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
The height above the top staff line of the horizontal line in a volta symbol
|
||||
is determined by the token \keyindex{raisevolta} which is \verb|4\internote| by
|
||||
default. You can change this to any desired dimension.
|
||||
|
||||
The period after the text can be
|
||||
removed by saying \verb|\def|\keyindex{voltadot}\verb|{}|
|
||||
and restored by \verb|\def|\keyindex{voltadot}\verb|{.}|\ .
|
||||
|
||||
\section{Special symbols for repeating long sections}
|
||||
|
||||
Four special symbols and corresponding macros are available, namely
|
||||
\keyindex{coda}~$p$, \keyindex{Coda}~$p$,
|
||||
and \keyindex{segno}~$p$, where $p$ specifies the pitch; and \keyindex{Segno}
|
||||
with no argument. Their behavior is illustrated in this example:
|
||||
|
||||
\begin{music}
|
||||
\startextract
|
||||
\NOtes\segno n\en
|
||||
\bar
|
||||
\NOtes\coda n\en
|
||||
\NOtes\Segno\en
|
||||
\bar
|
||||
\NOtes\Coda n\en
|
||||
\endextract
|
||||
\end{music}
|
||||
\noindent which has been coded:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOtes\segno m\en\bar
|
||||
\NOtes\coda m\en
|
||||
\NOtes\Segno\en\bar
|
||||
\NOtes\Coda m\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section{Repeating a single bar}
|
||||
The special symbol for a single-bar repeat is generated by \keyindex{duevolte}, as shown
|
||||
in the following example:
|
||||
|
||||
\begin{music}
|
||||
\generalmeter\meterC
|
||||
\setclef1\bass\setstaffs1{2}
|
||||
\startextract
|
||||
\NOtes|\qa{cegj}\en
|
||||
\def\atnextbar{\znotes\centerpause|\en}\bar
|
||||
\NOtes\qa{cdef}|\en
|
||||
\def\atnextbar{\znotes|\centerbar{\duevolte}\en}%
|
||||
\endextract
|
||||
\end{music}
|
||||
\noindent whose coding is:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\generalmeter\meterC
|
||||
\setclef1\bass\setstaffs1{2}
|
||||
\startextract
|
||||
\NOtes|\qa{cegj}\en
|
||||
\def\atnextbar{\znotes\centerpause|\en}\bar
|
||||
\NOtes\qa{cdef}|\en
|
||||
\def\atnextbar{\znotes|\centerbar{\duevolte}\en}%
|
||||
\endextract
|
||||
\end{verbatim}\end{quote}
|
233
musixtex/doc/musixdoc/restsdoc.tex
Normal file
233
musixtex/doc/musixdoc/restsdoc.tex
Normal file
|
@ -0,0 +1,233 @@
|
|||
\chapter{Rests}
|
||||
\section{Ordinary rests}
|
||||
A separate macro is defined for each kind of ordinary rest. They cause
|
||||
a space after the symbol, just like spacing note commands, but they have
|
||||
no parameters. A whole rest is coded as
|
||||
\keyindex{pause},
|
||||
half rest \keyindex{hpause} or \keyindex{hp},
|
||||
quarter rest \keyindex{qp} or \keyindex{soupir},
|
||||
eighth rest \keyindex{ds}, sixteenth rest \keyindex{qs},
|
||||
$32$nd~rest \keyindex{hs}, and $64$th rest \keyindex{qqs}.
|
||||
Dotted rests may be obtained by
|
||||
using
|
||||
\keyindex{pausep},
|
||||
\keyindex{hpausep} or \keyindex{hpp}, \keyindex{qpp}, \keyindex{dsp}, \keyindex{qsp},
|
||||
\keyindex{hsp} and \keyindex{qqsp},
|
||||
and double-dotted rests by
|
||||
\keyindex{pausepp},
|
||||
\keyindex{hpausepp} or \keyindex{hppp}, \keyindex{qppp}, \keyindex{dspp}, \keyindex{qspp},
|
||||
\keyindex{hspp} and \keyindex{qqspp},.
|
||||
|
||||
|
||||
Longer rests, normally interpreted as lasting
|
||||
two or four bars respectively, can be coded as \keyindex{PAuse}
|
||||
and \keyindex{PAUSe}, which yield:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\generalmeter{\meterfrac44}
|
||||
\startextract
|
||||
\def\atnextbar{\znotes\centerbar\PAuse\en}%
|
||||
\NOTEs\en\bar
|
||||
\def\atnextbar{\znotes\centerbar\PAUSe\en}%
|
||||
\NOTEs\en
|
||||
\endextract
|
||||
\end{music}
|
||||
%\check
|
||||
\noindent
|
||||
The command \keyindex{Hpause} $p$ $n$ provides an arbitrary length pause at pitch
|
||||
$p$ and of length $n$ \keyindex{noteskip}. For example,
|
||||
\verb|\NOTes\Hpause4{0.83}\en|
|
||||
produces
|
||||
|
||||
\begin{music}
|
||||
\nostartrule
|
||||
\startextract
|
||||
\NOTes\Hpause4{0.83}\en
|
||||
\endextract
|
||||
\end{music}
|
||||
|
||||
|
||||
\section{Raising rests and non-spacing rests}\index{raising rests}
|
||||
All the
|
||||
previous rests (except \keyindex{pausep},
|
||||
\keyindex{hpausep} and \keyindex{Hpause}) are \ital{hboxes}, which means that
|
||||
they can be vertically offset if needed using the
|
||||
standard \TeX\ command \keyindex{raise}. For example:
|
||||
|
||||
\begin{quote}
|
||||
\begin{verbatim}
|
||||
\raise 2\Interligne\qp
|
||||
\raise 3mm\qqs
|
||||
\end{verbatim}
|
||||
\end{quote}
|
||||
|
||||
\noindent where \keyindex{Interligne} is the distance from one staff line to the
|
||||
next.
|
||||
Similarly, non-spacing rests may be coded using the \TeX\ command \keyindex{rlap}, as in
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\notes\ibbu0h{-1}\zccl e\qb0h\raise-4\Interligne\rlap\qs\qb0e\en
|
||||
\notes\raise-4\Interligne\rlap\ds\qb0f\tqu0g\en
|
||||
\endextract
|
||||
\end{music}\noindent
|
||||
for which the coding is
|
||||
\begin{verbatim}
|
||||
\notes\ibbu0h{-1}\zccl e\qb0h\raise-4\Interligne\rlap\qs\qb0e\en
|
||||
\notes\raise-4\Interligne\rlap\ds\qb0f\tqu0g\en
|
||||
\end{verbatim}
|
||||
|
||||
In addition, four special macros are available to raise or lower a whole or
|
||||
half rest. The ordinary \verb|\pause| or
|
||||
\verb|\hpause| cannot be used outside the staff because a short horizontal line
|
||||
must be added to distinguish between the whole and the half rest. The commands,
|
||||
which are non-spacing\footnote{Editor's note: The reason for having defined these
|
||||
as non-spacing is not obvious}, are
|
||||
are
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
\item \keyindex{liftpause}~$n$ to get a
|
||||
\hbox to10pt{\liftpause{-2}\hss}
|
||||
raised from original position by $n$ staff line intervals,
|
||||
\item \keyindex{lifthpause}~$n$ to get
|
||||
\hbox to10pt{\lifthpause{-1}\hss} raised the same way.
|
||||
\item \keyindex{liftpausep}~$n$ to get a
|
||||
\hbox to10pt{\liftpausep{-2}\hss}
|
||||
raised from original position by $n$ staff line intervals,
|
||||
\item \keyindex{lifthpausep}~$n$ to get
|
||||
\hbox to10pt{\lifthpausep{-1}\hss} raised the same way.
|
||||
\end{itemize}
|
||||
|
||||
%\check
|
||||
\section{Bar-centered rests}\label{barcentered}
|
||||
Sometimes it is necessary to place a rest (or some other symbols) exactly in the middle
|
||||
of the notes region of a bar
|
||||
(i.e., excluding any initial clef and key or time signatures).
|
||||
This can usually be done with combinations of the commands
|
||||
\keyindex{atnextbar},
|
||||
\keyindex{centerbar},
|
||||
\keyindex{cPAUSe},
|
||||
\keyindex{cPAuse},
|
||||
\keyindex{cpause},
|
||||
\keyindex{chpause},
|
||||
\keyindex{cHpause} $n$,
|
||||
as demonstrated in the following example:
|
||||
|
||||
\begin{music}
|
||||
\generalmeter\meterC
|
||||
\generalsignature{3}
|
||||
\setclef1\bass
|
||||
\setstaffs1{2}
|
||||
\parindent0pt
|
||||
\startextract
|
||||
\NOtes|\qa{cegj}\en
|
||||
\def\atnextbar{\znotes\centerbar{\cpause}|\en}%
|
||||
\generalsignature{-3}\changecontext
|
||||
\NOTes\ha{Nc}|\en
|
||||
\def\atnextbar{\znotes|\centerbar{\cpause}\en}%
|
||||
\setclef1\alto\changeclefs%
|
||||
\generalmeter{\meterfrac21}\changecontext%
|
||||
\NOTEs\wh d\pause|\en
|
||||
\def\atnextbar{\znotes|\centerbar{\cPAuse}\en}%
|
||||
\bar
|
||||
\NOTEs|\en
|
||||
\def\atnextbar{\znotes\centerbar{\cHpause{12}}|\centerbar{\cHpause{12}}\en}%
|
||||
\endextract
|
||||
\end{music}
|
||||
\noindent with the coding
|
||||
\begin{verbatim}
|
||||
\generalmeter\meterC
|
||||
\generalsignature{3}
|
||||
\setclef1\bass
|
||||
\setstaffs1{2}
|
||||
\parindent0pt
|
||||
\startextract
|
||||
\NOtes|\qa{cegj}\en
|
||||
\def\atnextbar{\znotes\centerbar{\cpause}|\en}%
|
||||
\generalsignature{-3}\changecontext
|
||||
\NOTes\ha{Nc}|\en
|
||||
\def\atnextbar{\znotes|\centerbar{\cpause}\en}%
|
||||
\setclef1\alto\changeclefs%
|
||||
\generalmeter{\meterfrac21}\changecontext%
|
||||
\NOTEs\wh d\pause|\en
|
||||
\def\atnextbar{\znotes|\centerbar{\cPAuse}\en}%
|
||||
\bar
|
||||
\NOTEs|\en
|
||||
\def\atnextbar{\znotes\centerbar{\cHpause{12}}|\centerbar{\cHpause{12}}\en}%
|
||||
\endextract
|
||||
\end{verbatim}\noindent
|
||||
|
||||
The following abbreviations are provided:
|
||||
\begin{quote}
|
||||
\begin{tabular}{lcl}
|
||||
\keyindex{centerpause}& for & \verb|\centerbar{\cpause}|\\
|
||||
\keyindex{centerhpause}& for & \verb|\centerbar{\chpause}|\\
|
||||
\keyindex{centerPAuse}& for & \verb|\centerbar{\cPAuse}|\\
|
||||
\keyindex{centerPAUSe}& for & \verb|\centerbar{\cPAUSe}|\\
|
||||
\keyindex{centerHpause} $n$ & for & \verb|\centerbar{\cHpause| $n$\verb|}|
|
||||
\end{tabular}
|
||||
\end{quote}
|
||||
Material other than these rests may be used as arguments to
|
||||
\verb|\centerbar|, as in:\\
|
||||
\begin{music}
|
||||
\nostartrule
|
||||
\generalmeter\meterC
|
||||
\parindent0pt
|
||||
\startextract
|
||||
\NOTEs\sk\hqsk\en\def\atnextbar{\znotes\centerbar{\ccn{9}{\meterfont7}}%
|
||||
\centerbar{\cPAUSe\off{2\elemskip}\cPAuse\off{2\elemskip}\cpause}\en}\bar
|
||||
\NOtes\ql{ghij}\en
|
||||
\def\atnextbar{\znotes\centerbar{\liftpause2}\en}\bar
|
||||
\NOTes\en
|
||||
\def\atnextbar{\znotes\centerbar{\duevolte}\en}\bar
|
||||
\NOTes\en
|
||||
\def\atnextbar{\znotes\loffset{0.7}{\centerbar{\Fermataup l\wh j}}\en}
|
||||
\endextract
|
||||
\end{music}
|
||||
\noindent for which the coding is:
|
||||
\begin{verbatim}
|
||||
\generalmeter\meterC
|
||||
\parindent0pt
|
||||
\startextract
|
||||
\NOTEs\en\def\atnextbar{\znotes\centerbar{\ccn{9}{\meterfont7}}%
|
||||
\centerbar{\cPAUSe\off{2\elemskip}\cPAuse\off{2\elemskip}\cpause}\en}\bar
|
||||
\NOtes\ql{ghij}\en
|
||||
\def\atnextbar{\znotes\centerbar{\liftpause2}\en}\bar
|
||||
\NOTes\en
|
||||
\def\atnextbar{\znotes\centerbar{\duevolte}\en}\bar
|
||||
\NOTes\en
|
||||
\def\atnextbar{\znotes\loffset{0.7}{\centerbar{\Fermataup l\wh j}}\en}
|
||||
\endextract
|
||||
\end{verbatim}
|
||||
In the last measure,
|
||||
it has been necessary to use \keyindex{loffset} to correct the centering of
|
||||
the off-center command
|
||||
\verb|\wh|\ldots.
|
||||
|
||||
%To get proper positioning of \keyindex{centerbar} material before
|
||||
%a clef change, you may use an invisible bar line as in
|
||||
%\begin{quote}
|
||||
%\begin{verbatim}
|
||||
%\setclef1\bass
|
||||
%\startextract%
|
||||
%\NOTEs\Hpause4{0.83}\en
|
||||
%\def\atnextbar{\znotes\centerbar{\ccn9{\meterfont{4}}}\en}%
|
||||
%\qspace\setemptybar\bar% invisible bar line
|
||||
%\setclef1\alto\zchangeclefs\bar%
|
||||
%\NOtes\qa{abcd}\en
|
||||
%\endextract
|
||||
%\end{verbatim}
|
||||
%\end{quote}
|
||||
%which produces
|
||||
%
|
||||
%\begin{music}
|
||||
%\nostartrule
|
||||
%\nobarnumbers
|
||||
%\setclef1\bass
|
||||
%\startextract%
|
||||
%\NOTEs\Hpause4{0.83}\en
|
||||
%\def\atnextbar{\znotes\centerbar{\ccn9{\meterfont{4}}}\en}%
|
||||
%%\qspace\setemptybar\bar% invisible bar line
|
||||
%\setclef1\alto\changeclefs\bar%
|
||||
%\NOtes\qa{abcd}\en
|
||||
%\endextract
|
||||
%\end{music}
|
367
musixtex/doc/musixdoc/settingup.tex
Normal file
367
musixtex/doc/musixdoc/settingup.tex
Normal file
|
@ -0,0 +1,367 @@
|
|||
\chapter{Setting up the Input File}
|
||||
\section{What makes a \TeX\ file a \musixtex\ file?}
|
||||
A \musixtex\ input file is a special kind of \TeX\ input file. What makes it
|
||||
special is that it must contain the command
|
||||
\verb|\input musixtex|
|
||||
before any reference to \musixtex\ macros. After that might follow
|
||||
\verb|\input musixadd| or \verb|\input musixmad| if you want to have
|
||||
respectively up to nine or twelve instruments or simultaneous beams,
|
||||
ties, or slurs.\ixtt{musixtex.tex}\ixtt{musixadd.tex}\ixtt{musixmad.tex}
|
||||
If you want to have greater numbers of these elements, you can assign them
|
||||
directly by including one or more of these commands:
|
||||
\verb|\setmaxinstruments|,
|
||||
\verb|\setmaxcxxviiibeams|,
|
||||
\verb|\setmaxcclvibeams|,
|
||||
\verb|\setmaxgroups|,
|
||||
\verb|\setmaxslurs|,
|
||||
\verb|\setmaxtrills|,
|
||||
\verb|\setmaxoctlines|.
|
||||
|
||||
Since it is still a \TeX\ file, after that, if you wished to,
|
||||
you could write a whole non-musical book
|
||||
using normal \TeX\ commands provided that you did not
|
||||
use \verb|&| as a tab character like in plain \TeX; in \TeX\ lingo,
|
||||
its \keyindex{catcode} has been changed.
|
||||
|
||||
\section{Cautions for the non \TeX pert}
|
||||
When \TeX\ reads anything, it inputs one \ital{token} at a time. A token
|
||||
may be either a \ital{command} or a character. A command (or \ital{macro},
|
||||
or \ital{control sequence}) is a
|
||||
\ital{backslash} (``{\Bslash}'') immediately followed by sequence of
|
||||
letters with no intervening spaces. For practical purposes, any single symbol (letter, digit,
|
||||
special character, or space) that is not part of a command counts as a character
|
||||
and therefore as a token.
|
||||
|
||||
Each command expects a specific number of parameters.
|
||||
The tokens ``\verb|{|'' and ``\verb|}|'' are very special, in that (1) they
|
||||
must occur in matched pairs, and (2) any matched pair together with
|
||||
the stuff inside counts as a single parameter.
|
||||
If the first
|
||||
parameter expected is a single letter, it must either be
|
||||
separated from the command by a space or
|
||||
enclosed in braces (otherwise it would be interpreted as part of the command).
|
||||
For example the command \verb|\ibu| expects three parameters, so the
|
||||
following are all OK: \verb|\ibu123|, \verb|\ibu1A3|, \verb|\ibu1{`A}3|,
|
||||
\verb|\ibu{1}{2}{3}|, \verb|\ibu1{-2}3|, or \verb|\ibu1{23}4|, but
|
||||
\verb|\ibu1234| is not OK; the first three digits are taken as parameters,
|
||||
leaving the ``4'' with no purpose other than to cause some of the dreaded
|
||||
unrecorded space that we have already mentioned.
|
||||
|
||||
In the rest of this manual, when describing commands we will write
|
||||
things like \verb|\qb{|$n$\verb|}{|$p$\verb|}|. It should be understood that
|
||||
when $n$ and $p$ are replaced by their literal values, the braces may
|
||||
or may not be necessary. In particular, if both are single digits, no
|
||||
braces are needed; but if $n$ has two digits, or if $p$ has more than
|
||||
one character, they must be surrounded by braces.
|
||||
|
||||
Spaces (blank characters) in the input file must be handled very carefully.
|
||||
They are ignored at the beginning of a line, enabling logical
|
||||
indentation schemes to help make the file human-readable. There are also a few
|
||||
other places within lines where blank spaces are OK (such as mentioned in the prior paragraph),
|
||||
but in general is it safest to avoid
|
||||
any unnecessary blanks between the beginning and end of an input line.
|
||||
At the end of a line, the truth is that a command with no parameters, such as
|
||||
\verb|\bar| or \verb|\en| will cause no trouble. However if a command with
|
||||
one or more parameters is the last item in an input line, it will cause
|
||||
unrecorded space. The way around this is to end the line with either ``\verb|%|''
|
||||
or \verb|\relax|.
|
||||
|
||||
\section{Usual setup commands}\label{whatspecify}
|
||||
|
||||
\subsection{Music size}
|
||||
|
||||
The first decision is what size type to use. \musixtex\ offers four sizes:
|
||||
``small'' \mbox{(\texttt{16pt}-high staves),} ``normal'' (\texttt{20pt}),\index{sizes} ``large''
|
||||
(\texttt{24pt}), and ``Large'' (\texttt{29pt}). The default is
|
||||
\keyindex{normalmusicsize}. If you want a different size, then you have to
|
||||
enter \keyindex{smallmusicsize}, \keyindex{largemusicsize}, or
|
||||
\keyindex{Largemusicsize}. Each of these commands defines not only the
|
||||
desired staff size but many other related sizes such as note heads, ornaments,
|
||||
stem lengths, etc.
|
||||
|
||||
\subsection{Number of instruments}
|
||||
|
||||
The command \keyindex{instrumentnumber}\onen~defines the
|
||||
number of instruments to be $n$. If not entered, the default is $1$. This number is used in loops
|
||||
that build staves,
|
||||
set key signatures, set meters, etc., so if it differs from $1$ it must be explicitly
|
||||
defined before any further commands. The default maximum number of instruments is $6$
|
||||
but this can be increased by using \keyindex{setmaxinstruments}\onen.
|
||||
|
||||
\subsection{Number of staves per instrument}
|
||||
|
||||
An instrument may have one or more staves (e.g.,~a piano would normally have 2 staves).
|
||||
The differences between one
|
||||
instrument of several staves and several instruments with one staff each are as follows:
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
\item Different instruments may have different \itxem{key signatures}, while different
|
||||
staves of an instrument will all have the same key signature.
|
||||
\item A \itxem{beam} may include notes in different
|
||||
staves of the same instrument.
|
||||
\item A \itxem{chord} may extend across several staves of the same
|
||||
instrument.
|
||||
\item If an instrument has more than one staff, they will be linked together
|
||||
with a big, curly brace at the beginning of each line.
|
||||
\end{itemize}
|
||||
The default number of staves per instrument is $1$. If it is different, then it
|
||||
must be specified by \keyindex{setstaffs}\verb|{|$n$\verb|}{|$p$\verb|}|
|
||||
where $p$ is the number of staves and $n$ is the
|
||||
number of the instrument. In \musixtex, instruments are numbered
|
||||
\ital{starting with the lowest}.
|
||||
So for example \verb|setstaffs32|
|
||||
assigns two staves to the third instrument from the bottom.
|
||||
|
||||
\subsection{Clefs for each staff}
|
||||
|
||||
The default clef for every staff is the \ital{treble} clef. To assign
|
||||
any other clef, the command is
|
||||
\keyindex{setclef}\verb|{|$n$\verb|}{|$s_1s_2s_3s_4$\verb|}|
|
||||
where $n$ is the number of the instrument, $s_1$ is a digit specifying the
|
||||
clef for the first (lowest) staff, $s_2$ for the second staff, and so forth.
|
||||
Note that like
|
||||
instruments, staves of a given instrument are numbered starting with
|
||||
the lowest. The parameters $s_2$, $s_3$ and $s_4$ can be omitted, in which case
|
||||
any unspecified staves will be assigned a treble clef.
|
||||
|
||||
The digits $s$ can range from $0$ to $9$, with the following meanings:
|
||||
$s=0$ signifies treble or G clef.
|
||||
$s=1$ to $4$ mean C-clef, respectively on the first (lowest) through fourth staff line.
|
||||
$1$ is also called \ital{soprano}, $3$ \ital{alto} and $4$ \ital{tenor}.
|
||||
$s=5$ to $s=7$ mean F-clef, respectively on the third through fifth staff line. $5$ is
|
||||
also called \ital{baritone} and $6$ is the normal \ital{bass}.
|
||||
$s=8$ is used to specify an ``empty'' clef.
|
||||
$s=9$ represents a G clef on the first line, also called \ital{French violin} clef.
|
||||
|
||||
The three tokens \verb|\treble|, \verb|\alto|, and \verb|\bass| can be used instead
|
||||
of a digit for $s$, but only if there would have been but one digit in the string.
|
||||
So for example the clefs for a standard piano score
|
||||
could be specified by
|
||||
\keyindex{setclef}\verb|1{\bass}|.
|
||||
|
||||
Treble and bass clefs with the digit $8$ above or below are also possible; see
|
||||
Section~\ref{treblelowoct}.
|
||||
|
||||
\subsection{Key signatures}
|
||||
|
||||
To set a common key signature for all instruments, use
|
||||
\keyindex{generalsignature}\verb|{|$s$\verb|}|,
|
||||
where $s>0$ is the number of \itxem{sharps} in the
|
||||
signature and $s<0$ the number of \itxem{flats}\footnote{We once saw a
|
||||
score in G-minor where the signature consisted of two flats (B and E) plus
|
||||
one sharp (F). This is not directly supported by \musixtex.}. To override
|
||||
the common key signature for instrument $n$, use
|
||||
\keyindex{setsign}\verb|{|$n$\verb|}{|$s$\verb|}|. Note that differing
|
||||
key signatures cannot be assigned to different staves of the same instrument.
|
||||
|
||||
\subsection{Meters}
|
||||
|
||||
A common \itxem{meter} for all staves can be specified by
|
||||
\keyindex{generalmeter}\verb|{|$m$\verb|}|,\label{generalmeter}
|
||||
where $m$ describes the appearance of the meter indication, and can take several
|
||||
different forms. If the meter is a \ital{fraction} (e.g.,~$3/4$) the command is
|
||||
\verb|\generalmeter{|\keyindex{meterfrac}\verb|{3}{4}}|.
|
||||
Other possible tokens~$m$ are \keyindex{meterC},
|
||||
\keyindex{allabreve}, \keyindex{reverseC}, \keyindex{reverseallabreve}, \keyindex{meterN} and
|
||||
\keyindex{meterplus}.
|
||||
To insert extra space before the meter is
|
||||
written, use \keyindex{meterskip}$d$ where $d$ is any hard \TeX\
|
||||
%dimension\footnote{{\Bslash\tt meterskip} is not a macro but a
|
||||
dimension\footnote{{\tt\Bslash meterskip} is not a macro but a
|
||||
dimension register. Whatever follows it
|
||||
must be a \TeX\ dimension and {\it it must not be enclosed in braces}.}.
|
||||
The assignment must occur outside \verb|\startpiece...\endpiece| and will be
|
||||
reset to zero after first meter is posted.
|
||||
|
||||
These are illustrated in the following example:
|
||||
|
||||
%\check
|
||||
\begin{music}
|
||||
\generalmeter\meterC
|
||||
\nostartrule
|
||||
\parindent0pt\startpiece
|
||||
\NOtes\qa{cegj}\en
|
||||
\generalmeter\allabreve\changecontext
|
||||
\NOTes\ha{ce}\en
|
||||
\generalmeter\reverseC\changecontext
|
||||
\NOTEs\zbreve g\en
|
||||
\generalmeter\reverseallabreve\changecontext
|
||||
\NOTEs\zwq g\en
|
||||
\generalmeter{\meterfrac{3\meterplus2\meterplus3}8}\changecontext
|
||||
\notesp\Tqbu ceg\Dqbl jg\Tqbu gec\en
|
||||
\generalmeter{\meterN3}\meterskip4pt\changecontext
|
||||
\Notes\qa{ceg}\en\setemptybar
|
||||
\endpiece
|
||||
\end{music}
|
||||
\noindent which was coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\generalmeter\meterC
|
||||
\nostartrule
|
||||
\parindent0pt\startpiece
|
||||
\NOtes\qa{cegj}\en
|
||||
\generalmeter\allabreve\changecontext
|
||||
\NOTes\ha{ce}\en
|
||||
\generalmeter\reverseC\changecontext
|
||||
\NOTEs\zbreve g\en
|
||||
\generalmeter\reverseallabreve\changecontext
|
||||
\NOTEs\zwq g\en
|
||||
\generalmeter{\meterfrac{3\meterplus2\meterplus3}8}\changecontext
|
||||
\notesp\Tqbu ceg\Dqbl jg\Tqbu gec\en
|
||||
\generalmeter{\meterN3}\meterskip4pt\changecontext
|
||||
\Notes\qa{ceg}\en\setemptybar
|
||||
\endpiece
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
To override the common meter for any staff, use
|
||||
\keyindex{setmeter}\verb|{|$n$\verb|}{{|$m_1$\verb|}{|$m_2$\verb|}{|$m_3$\verb|}{|$m_4$\verb|}}|.\linebreak
|
||||
This works just like \verb|\setclef|. For example,
|
||||
\verb|setmeter3{{\meterfrac{12}8}\allabreve}|
|
||||
sets the meter to 12/8 for the first staff of the third instrument, and
|
||||
\ital{alla breve} for the second staff.
|
||||
|
||||
|
||||
\subsection{Instrument names}
|
||||
|
||||
To set an \itxem{instrument name}, use
|
||||
\keyindex{setname}\verb|{|$n$\verb|}{|\ital{name of the instrument}\verb|}|.
|
||||
This will place the name in the space to the left of the
|
||||
first staff or group of staves for instrument $n$. To specify the amount of space
|
||||
available, use \verb|\parindent|$d$ where $d$ is any hard \TeX\ dimension.
|
||||
For multi-line instrument names, use \TeX\ commands as in the following:
|
||||
\begin{verbatim}
|
||||
\setname1{\vbox{%
|
||||
\hbox to\parindent{\hss Bass\hss}%
|
||||
\hbox to\parindent{\hss Recorder\hss}}}
|
||||
\end{verbatim}
|
||||
|
||||
\section{Groupings of instruments}\label{curlybrackets}
|
||||
By default, all staves in a system will be joined
|
||||
at the left by a thin, vertical rule. In addition, if an instrument has more than
|
||||
one staff, they will be joined by a big, curly brace. Now we introduce a way
|
||||
to delineate groups of instruments or choirs with a square brace containing two parallel
|
||||
vertical rules, the left one thick and the right one thin. This is commonly used
|
||||
to group together the voices in a choir.
|
||||
|
||||
If there is only one choir, this can be done with
|
||||
\begin{quote}
|
||||
\keyindex{songtop}\onen\\
|
||||
\keyindex{songbottom}\verb|{|$m$\verb|}|
|
||||
\end{quote}
|
||||
\noindent where $m$ and $n$ are the instrument numbers of the first
|
||||
and last voices. An example is shown in Section~\ref{song}.
|
||||
|
||||
If there is more than one choir to be set off with
|
||||
square braces, each one can be specified with
|
||||
\begin{quote}
|
||||
\keyindex{grouptop}\verb|{|$g$\verb|}{|$n$\verb|}|\\
|
||||
\keyindex{groupbottom}\verb|{|$g$\verb|}{|$m$\verb|}|
|
||||
\end{quote}
|
||||
\noindent where $m$ and $n$ are the instrument numbers of the first
|
||||
and last voices of group number~$g$. \musixtex{} allows up to three
|
||||
groups, numbered from $1$ to $3$. The command \verb|\songtop| is equivalent
|
||||
to \verb|\grouptop 1|; \verb|\songbottom| is equivalent to
|
||||
\verb|\groupbottom 1|.
|
||||
|
||||
With \ttxem{musixadd.tex} or \ttxem{musixmad.tex}, the allowable number of
|
||||
groups is increased to four.
|
||||
Alternatively, you can specify the allowable number of groups to $m$ by
|
||||
\keyindex{setmaxgroups}\verb|{|$m$\verb|}|%
|
||||
\footnote{Using $m>4$ may require e-\TeX.}.
|
||||
\label{musixmad_setmaxgroups}
|
||||
|
||||
If any of the instruments grouped this way has more than one staff, the
|
||||
heavy curly brace will be shifted to the left of the square brace.
|
||||
|
||||
Previously defined square braces can be removed by declaring
|
||||
\verb|\songtop| less than \verb|\songbottom|. The same applies to
|
||||
\verb|\grouptop| and \verb|\groupbottom| for the same group number.
|
||||
|
||||
An alternate command allows you to specify all choirs at once:
|
||||
\begin{quote}
|
||||
\keyindex{akkoladen}\verb|{{|{\it lower\_1\/}\verb|}{|{\it upper\_1\/}%
|
||||
\verb|}{|{\it lower\_2\/}\verb|}{|{\it upper\_2\/}\verb|}{|%
|
||||
{\it lower\_3\/}\verb|}{|{\it upper\_3\/}\verb|}}|
|
||||
\end{quote}
|
||||
\noindent where {\it lower\_n\/} and {\it upper\_n\/} are instrument
|
||||
numbers that denote the span of bracket number $n$. For
|
||||
setting fewer than three brackets, just omit all unneeded
|
||||
\verb|{|{\it lower\_n\/}\verb|}{|{\it upper\_n\/}\verb|}|~pairs.
|
||||
|
||||
For example,
|
||||
\verb|\instrumentnumber{5}\akkoladen{{1}{2}{3}{5}}|
|
||||
\noindent yields the first example below, with five single-staff instruments
|
||||
divided into two groups.
|
||||
The second example has two instruments, the first (lower) with two staves and the
|
||||
second with three. Each instrument is set off by default with a curly bracket.
|
||||
|
||||
If for some reason you want more than one \ital{instrument}\ grouped
|
||||
within a curly
|
||||
bracket, then you can use the
|
||||
command
|
||||
|
||||
\keyindex{curlybrackets}\verb|{{|{\it lower\_1\/}\verb|}{|{\it upper\_1\/}%
|
||||
\verb|}{|{\it lower\_2\/}\verb|}{|{\it upper\_2\/}\verb|}...|
|
||||
|
||||
\noindent to be used as illustrated in the third example below.\\
|
||||
\begin{small}
|
||||
\begin{minipage}[t]{29ex}
|
||||
\begin{music}
|
||||
% just to avoid wasting space ...
|
||||
\sepbarrules
|
||||
\smallmusicsize
|
||||
\instrumentnumber{5} \akkoladen{{1}{2}{3}{5}}
|
||||
\startextract\notes\en\bar\notes\en\zendextract
|
||||
\end{music}
|
||||
\begin{quote}is coded as:
|
||||
\begin{verbatim}
|
||||
\sepbarrules
|
||||
\smallmusicsize
|
||||
\instrumentnumber{5}
|
||||
\akkoladen{{1}{2}{3}{5}}
|
||||
\startextract
|
||||
\notes\en\bar\notes\en
|
||||
\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
\end{minipage}
|
||||
\begin{minipage}[t]{27ex}
|
||||
\begin{music}
|
||||
\sepbarrules
|
||||
\smallmusicsize
|
||||
\instrumentnumber2 \setstaffs12\setstaffs23
|
||||
\startextract \notes\en\bar\notes\en\zendextract
|
||||
\end{music}
|
||||
\begin{quote}is coded as:
|
||||
\begin{verbatim}
|
||||
\sepbarrules
|
||||
\smallmusicsize
|
||||
\instrumentnumber2
|
||||
\setstaffs12
|
||||
\setstaffs23
|
||||
\startextract
|
||||
\notes\en\bar\notes\en
|
||||
\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
\end{minipage}
|
||||
\begin{minipage}[t]{27ex}
|
||||
\begin{music}
|
||||
\sepbarrules
|
||||
\smallmusicsize
|
||||
\instrumentnumber5 %\setstaffs12\setstaffs23
|
||||
\curlybrackets{1235}
|
||||
\startextract \notes\en\bar\notes\en\zendextract
|
||||
\end{music}
|
||||
\begin{quote}is coded as:
|
||||
\begin{verbatim}
|
||||
\sepbarrules
|
||||
\instrumentnumber5
|
||||
\smallmusicsize
|
||||
\curlybrackets{1235}
|
||||
\startextract
|
||||
\notes\en\bar\notes\en
|
||||
\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
\end{minipage}
|
||||
\end{small}
|
||||
|
||||
|
||||
|
||||
|
382
musixtex/doc/musixdoc/slurstiesTypeK.tex
Normal file
382
musixtex/doc/musixdoc/slurstiesTypeK.tex
Normal file
|
@ -0,0 +1,382 @@
|
|||
\chapter{Postscript Slurs, Ties and Hairpins}\label{PostscriptSlurs}
|
||||
|
||||
\input musixps
|
||||
|
||||
|
||||
All of the aforementioned limitations of font-based slurs can be circumvented
|
||||
by using type~K Postscript slurs\footnote{``K'' stands for Stanislav Kneifl,
|
||||
the developer of the type~K Postscript slur package.}. As well as slurs, the package includes
|
||||
ties and crescendos.
|
||||
Its use is very similar to font-based slurs, and in fact identical if only
|
||||
the elementary slur and tie initiation and termination macros are used.
|
||||
|
||||
In order to use type~K Postscript slurs, ties and hairpins, you must first place \texttt{musixps.tex}
|
||||
anywhere \TeX\ can find it. You must also place \texttt{psslurs.pro}
|
||||
somewhere that \texttt{dvips} can find it.
|
||||
|
||||
The \index{mxsk font}\texttt{mxsk} font is required for ``half ties,'' which
|
||||
are special symbols that are used by default for the second portion of a tie
|
||||
that crosses a line break. If you like
|
||||
this treatment you must install the font in your \TeX\ system. However, perfectly
|
||||
acceptable line-breaking ties will appear if you invoke \keyindex{nohalfties},
|
||||
and then you will not have to install this font.
|
||||
|
||||
Once the software mentioned in the prior two paragraphs is installed and the
|
||||
\TeX\ filename database is refreshed, the type~K package can be
|
||||
invoked by including the command \verb|\input musixps|
|
||||
near the beginning of your source file (but after loading \verb\musixtex.tex\).
|
||||
The resulting dvi file should then be converted into Postscript using \textbf{dvips}.
|
||||
If desired, a PDF file can then be generated with \textbf{ps2pdf}, \textbf{ghostscript},
|
||||
or \textbf{Adobe Acrobat} (see Section~\ref{using} for more information on this).
|
||||
|
||||
Two minor inconveniences with type~K Postscript slurs are that (1) they won't appear
|
||||
in many dvi previewers, and (2) they won't appear in PDF files generated with
|
||||
\textbf{pdftex} or \textbf{dvipdfm}. The former limitation can be circumvented by using a Postscript
|
||||
viewer such as \textbf{GSview}. The latter simply requires that you create an intermediate
|
||||
Postscript file with \textbf{dvips}, then make the PDF with any of the software
|
||||
mentioned above.
|
||||
|
||||
|
||||
\section{Initiating and terminating type K Postscript slurs}
|
||||
|
||||
Basic usage of type K slurs is the same as for font-based slurs. To initiate one,
|
||||
use for example \verb|\isluru0g| to start an upper slur with ID 0 above a virtual note
|
||||
at pitch level {\tt g}. To terminate one, use a command like
|
||||
\verb|\tslur0i| which terminates the slur with ID 0 on a
|
||||
virtual note at pitch level {\tt i}.
|
||||
Both types of commands are non-spacing and must precede the first or last
|
||||
note under the slur.
|
||||
|
||||
Termination macros are not restricted to being used
|
||||
with their initiation counterpart. For example, a slur
|
||||
beginning as a ``beam'' slur may be terminated as a
|
||||
normal slur, or \emph{vice versa}. These would be achieved by using macro pairs
|
||||
\verb|\ibslur...\tslur...| or \verb|\islur...\tbslur...|, respectively.
|
||||
Unlike font-based slurs, adjusting the vertical positioning of the slur termination should not be necessary.
|
||||
|
||||
You can shift the starting or ending point slightly to the left
|
||||
or right by substituting one of the commands \keyindex{ilsluru},
|
||||
\keyindex{ilslurd}, \keyindex{irsluru},
|
||||
\keyindex{irslurd}, \keyindex{trslur} or \keyindex{tlslur}.
|
||||
For shifts farther to the left, use
|
||||
\keyindex{iLsluru},
|
||||
\keyindex{iLslurd}
|
||||
or \keyindex{tLslur};
|
||||
for shifts farther to the right, use
|
||||
\keyindex{iRsluru},
|
||||
\keyindex{iRslurd}
|
||||
or \keyindex{tRslur}.
|
||||
|
||||
|
||||
You can control the shape of type~K slurs with variants of
|
||||
the termination command. To make the slur a bit flatter than default use
|
||||
\keyindex{tfslur}0f; a bit higher, \keyindex{thslur}0f; higher still,
|
||||
\keyindex{tHslur}0f; or
|
||||
even higher, \keyindex{tHHslur}0f. These commands have an effect like
|
||||
\keyindex{midslur} does for font-based slurs.
|
||||
|
||||
All combinations of the shifting and curvature variants are allowed,
|
||||
e.g.\ \verb|\trHHslur|.
|
||||
|
||||
|
||||
The following examples demonstrate how much better the type K slurs perform
|
||||
in the extreme situations of the prior two typeset examples. The coding is
|
||||
exactly the same as above except that \verb|\input musixps| has been added:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\begin{music}\nostartrule
|
||||
\input musixps
|
||||
\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\en
|
||||
....
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\instrumentnumber{1}
|
||||
\generalmeter{\meterfrac34}
|
||||
\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0j\ql j\en
|
||||
\bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0n\ql n\en\zendextract
|
||||
\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\en
|
||||
\bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0z\ql z\en\zendextract
|
||||
|
||||
\startextract
|
||||
\NOTes\isluru0c\ql c\en\notes\tslur0j\ql j\en\bar
|
||||
\NOTes\isluru0c\ql c\en\notes\tslur0n\ql n\en
|
||||
\NOTes\isluru0c\ql c\en\notes\tslur0s\ql s\en\bar
|
||||
\NOTes\isluru0c\ql c\en\notes\tslur0z\ql z\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
|
||||
|
||||
|
||||
For maximal control over type K slurs, you can use one of the commands
|
||||
\keyindex{iSlur}~$npvh$ and
|
||||
\keyindex{tSlur}~$npvhca$, where the characters in
|
||||
$npvhca$ respectively stand for ID number, height, vertical offset, horizontal offset,
|
||||
curvature, and angularity.
|
||||
All offsets are in \verb|internote|, and the slur direction is determined
|
||||
by the sign of the vertical offset. See the comments in \verb|musixps.tex|
|
||||
for precise definitions of the other parameters. Examples of permissible forms for
|
||||
these commands are
|
||||
\verb|iSlur0c11| and \verb|tSlur0{!d}11{.2}0|.
|
||||
|
||||
The next example shows how you can use \verb|iSlur| in difficult
|
||||
circumstances:
|
||||
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\nobarnumbers
|
||||
\generalsignature1%
|
||||
\generalmeter{\meterfrac{2}{4}}%
|
||||
\nostartrule
|
||||
\startextract
|
||||
\NOtes\zchar{-8}{\Bslash irslur...\Bslash tlslur}\irslurd0{'b}\zhl b\sk\zq{!e}\qu{'c}\en\bar
|
||||
\NOtes\zh{'d}\zhu{`f}\off{7.2pt}\tlslur0{'b}\ql b\ql b\en\bar
|
||||
%
|
||||
\NOtes\zchar{-8}{\Bslash irslur...\Bslash tlfslur}\irslurd0{'b}\zhl b\sk\zq{!e}\qu{'c}\en\bar
|
||||
\NOtes\zh{'d}\zhu{`f}\off{7.2pt}\tlfslur0{'b}\ql b\ql b\en\bar
|
||||
%
|
||||
\NOtes\zchar{-8}{\Bslash iSlur...\Bslash tSlur}\iSlur0{'b}{-.5}3\zhl b\sk\zq{!e}\qu{'c}\en\bar
|
||||
\NOtes\zh{'d}\zhu{`f}\off{7.2pt}\tSlur0{'b}{.5}{-1}{.3}0\ql b\ql b\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent with this coding:
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOtes\irslurd0{'b}\zhl b\sk\zq{!e}\qu{'c}\en\bar
|
||||
\NOtes\zh{'d}\zhu{`f}\off{7.2pt}\tlslur0{'b}\ql b\ql b\en\bar
|
||||
%
|
||||
\NOtes\irslurd0{'b}\zhl b\sk\zq{!e}\qu{'c}\en\bar
|
||||
\NOtes\zh{'d}\zhu{`f}\off{7.2pt}\tlfslur0{'b}\ql b\ql b\en\bar
|
||||
%
|
||||
\NOtes\iSlur0{'b}{-.5}3\zhl b\sk\zq{!e}\qu{'c}\en\bar
|
||||
\NOtes\zh{'d}\zhu{`f}\off{7.2pt}\tSlur0{'b}{.5}{-1}{.3}0\ql b\ql b\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
|
||||
The ID number for a slur, tie or crescendo should
|
||||
normally range from $0$ to $9$. If it is bigger
|
||||
than nine but less than $15$,
|
||||
the object can cross a line break but not a page break. If bigger than
|
||||
14 but less than $2^{31}$, it can't be broken at all,
|
||||
nor can a slur termination be positioned at a beam with
|
||||
e.g., \verb|\tbsluru{17684}{16}|; however \verb|\ibsluru{152867}{16}| is okay.
|
||||
|
||||
It's also okay to have opened simultaneously a slur, tie and crescendo all
|
||||
with the same ID, or a slur, tie and decrescendo, but not a crescendo and
|
||||
decrescendo.
|
||||
|
||||
\def\emen{{\tt\char123}$n${\tt\char125\char123}$m${\tt\char125}}
|
||||
|
||||
`
|
||||
\section{Type~K Postscript beam slurs}
|
||||
Type~K beam slurs are defined differently than the font-based ones:
|
||||
They require as parameters both a slur ID number $n$ and a beam ID number $m$,
|
||||
but that's all. The commands are
|
||||
\keyindex{iBsluru}\emen, \keyindex{iBslurd}\emen, and
|
||||
\keyindex{tBslur}\emen.
|
||||
They must be placed \ital{after} the beam initiation or termination command.
|
||||
Type~K slurs may start on one beam and end on another.
|
||||
For example,
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\ibu0i0\iBsluru00\qb0{eh}\tbu0\qb0i\ibu0j0\qb0{jl}\tbu0%
|
||||
\slurtext{6}\tBslur00\qb0e\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\noindent produces
|
||||
%\begin{center}
|
||||
%\includegraphics[scale=1]{./mxdexamples/psbeamslur.eps}
|
||||
%\end{center}
|
||||
|
||||
\begin{music}\nostartrule\startextract
|
||||
\Notes\ibu0g2\iBsluru00\qb0{eh}\tbu0\qb0i\ibu0j0\qb0{jl}\tbu0%
|
||||
\slurtext{6}\tBslur00\qb0e\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
This example also illustrates the use of the macro
|
||||
\keyindex{slurtext}. It has just one parameter---some text to be
|
||||
printed---and it centers it just above or below the midpoint of
|
||||
the next slur that is closed.
|
||||
This works only for non-breaking slurs; if the slur is broken,
|
||||
the text
|
||||
disappears\footnote{If you insist on viewing files with a dvi viewer that
|
||||
doesn't display
|
||||
type~K slurs, you may also find that
|
||||
figures placed with \keyindex{slurtext} will appear at the end of the
|
||||
slur rather than the middle.}.
|
||||
%The placing of the slur text is done with a very dirty Postscript
|
||||
%hack, so I am not really sure that everything you want to typeset
|
||||
%will be placed at the correct position (if you are interested, see
|
||||
%the end of psslurs.pro for details). If you find something that won't
|
||||
%work, let me know.
|
||||
|
||||
% DAS: why do we need this ???
|
||||
%\paragraph{General coding for Postscript slurs and ties of type K.}
|
||||
%This can be done by:
|
||||
%\begin{quote}\begin{verbatim}
|
||||
%\i[h.shift]slur[u|d]{slur ID}{note height}
|
||||
%\t[h.shift][slur height]slur{slur ID}{note height}
|
||||
%\iBslur[u|d]{slur ID}{beam ID}
|
||||
%\tB[slur.height]slur{slur ID}{beam ID}
|
||||
%\end{verbatim}\end{quote}
|
||||
%\noindent where h.shift can be 'l', 'r' or nothing
|
||||
%and slur.height can be 'f', nothing, 'h', 'H' or 'HH'
|
||||
%
|
||||
%Example: \keyindex{tlfslur} means 'terminate left flat slur'.
|
||||
%
|
||||
%
|
||||
%There are also simple slurs with same invocation and parameters as the
|
||||
%original ones.
|
||||
|
||||
\section{Type~K Postscript ties}
|
||||
All of the foregoing Type~K slur commands
|
||||
except the shape-changing ones
|
||||
have counterparts for ties. Simply
|
||||
replace ``\verb|slur|'' with ``\verb|tie|'', and for terminations omit
|
||||
the pitch parameter. Type~K ties not only are positioned differently by
|
||||
default, but they also have different shapes than slurs. If you want to change
|
||||
the shape of a tie, redefine \verb|\pstiehgt| from its default of $0.7$.
|
||||
|
||||
\section{Dotted type K slurs and ties.}%please check the capital D(otted)
|
||||
A slur or tie can be made dotted simply by entering \keyindex{dotted} anywhere before
|
||||
the beginning of the slur or tie. Only the first slur or tie following this
|
||||
command will be affected. On the other hand, if you enter \keyindex{Dotted}, then \emph{all}
|
||||
slurs and ties from this point forward will be dotted until you say
|
||||
\keyindex{Solid}. Furthermore, inside \verb|\Dotted...\Solid| you can make any individual
|
||||
slur or tie solid saying \verb|\solid| before its beginning.
|
||||
|
||||
\section{Avoiding collisions with staff lines.}
|
||||
In Postscript it is possible to do computations that would be very hard
|
||||
to implement directly in TeX. Type~K slurs can use this facility to check whether
|
||||
the curve of a slur or tie is anywhere nearly tangent to any staff line, and if
|
||||
so, to adjust
|
||||
the altitude of the curve to avoid the collision. By default this feature is turned
|
||||
on.
|
||||
You can disable it either
|
||||
globally (\keyindex{Nosluradjust}, \keyindex{Notieadjust}) or locally
|
||||
(\keyindex{nosluradjust}, \keyindex{notieadjust}), and you can also turn it
|
||||
back on globally (\keyindex{Sluradjust},
|
||||
\keyindex{Tieadjust}) or locally (\keyindex{sluradjust}, \keyindex{tieadjust}).
|
||||
Here ``locally''
|
||||
means that the command will only affect the next slur or tie to be opened.
|
||||
|
||||
\section{Type K Postscript hairpins}\label{kcresc}
|
||||
|
||||
There are two different types. The first type is normally initiated with either
|
||||
\keyindex{icresc}\onen~or \keyindex{idecresc}\onen, and terminated with
|
||||
\keyindex{tcresc}\onen, where $n$ is a hairpin index,
|
||||
which is virtually unlimited but certain restrictions apply if it exceeds $14$.
|
||||
The altitude is set by the value of \keyindex{setcrescheight}, which by default
|
||||
is $-5$ and which must be expressed numerically. Note that
|
||||
\keyindex{tcresc}~is the same as \keyindex{tdecresc}.
|
||||
|
||||
You can shift the starting or ending point horizontally by replacing the
|
||||
foregoing macros with
|
||||
\keyindex{ilcresc}, \keyindex{ildecresc},
|
||||
\keyindex{ircresc}, \keyindex{irdecresc},
|
||||
\keyindex{tlcresc}, \keyindex{tldecresc},
|
||||
\keyindex{trcresc}, \keyindex{trdecresc},
|
||||
for example to make space for an alphabetic dynamic mark.
|
||||
|
||||
The second form of Postscript hairpin macros allows individual and arbitrary
|
||||
specification of the altitude and horizontal offset. The syntax is
|
||||
\keyindex{Icresc}\itbrace{n}\itbrace{h}\itbrace{s}, where $h$ is the
|
||||
altitude---which must be numerical---and $s$ is the horizontal offset
|
||||
in \verb|\internote|. Similar syntax obtains for \keyindex{Idecresc}\
|
||||
and \keyindex{Tcresc}.
|
||||
|
||||
These hairpins may span several lines. If one of them spans three systems
|
||||
then the height of the middle section can be adjusted with
|
||||
\keyindex{liftcresc}\itbrace{n}\itbrace{h}. The height of the first and last
|
||||
parts of a broken crescendo will be defined by the height parameter in
|
||||
\keyindex{Icresc}~or \keyindex{Tcresc}.
|
||||
|
||||
There are numerous other nuances and shorthand macros that are described
|
||||
in the comments in \verb|musixps.tex|.
|
||||
|
||||
As an example of a Postscript hairpin,
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\generalmeter{\meterfrac{12}8}
|
||||
\startextract
|
||||
\Notes\ccharnote{-8}{\ppp}\Icresc0{-7}6\ca{bdegh'bde}\en
|
||||
\Notes\Tcresc0{-4}{-2}\zcharnote{-5}{\fff}\ca{'f}\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
\noindent was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\input musixps
|
||||
\generalmeter{\meterfrac{12}8}
|
||||
\startextract
|
||||
\Notes\ccharnote{-8}{\ppp}\Icresc0{-7}6\ca{bdegh'bde}\en
|
||||
\Notes\Tcresc0{-4}{-2}\zcharnote{-5}{\fff}\ca{'f}\en
|
||||
\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
|
||||
\section{Line-breaking slurs, ties and hairpins}
|
||||
Tyle K slurs, ties and crescendos going across line breaks are handled
|
||||
automatically. In fact they can go over more lines than two (this is
|
||||
true also for ties, though it would be somewhat strange).
|
||||
|
||||
There is a switch \verb|\ifslopebrkslurs| that controls the default
|
||||
height of the end point
|
||||
of the first segment of all broken slurs. By default the height will be
|
||||
the same as the beginning. To have it raised by \verb|3\internote|, simply
|
||||
issue the command \keyindex{slopebrkslurstrue}. To revert to the default,
|
||||
use \keyindex{slopebrkslursfalse}.
|
||||
|
||||
To locally override the default height of the end of the first segment,
|
||||
use the command \keyindex{breakslur}\enpee,
|
||||
which sets the height for slur number $n$ to pitch $p$, just like with
|
||||
font-based slurs.
|
||||
|
||||
You can raise or lower the starting point of the second segment of a broken slur
|
||||
with the command \keyindex{liftslur}\verb|{|$n$\verb|}{|$h$\verb|}|, with
|
||||
parameters slur ID and relative offset in
|
||||
\verb|\internote|s measured from the slur beginning. Its effect is
|
||||
the same as \keyindex{Liftslur} for font-based slurs, except it is not
|
||||
necessary to code
|
||||
it within \verb|\atnextstaff{}|, just anywhere inside the slur.
|
||||
|
||||
As already mentioned, anything with $\mathrm{ID}<10$ is broken fully automatically, but
|
||||
you should be careful about slurs, ties and crescendos with $10\le\mathrm{ID}<15$.
|
||||
These cannot cross page breaks, although they can cross line breaks.
|
||||
|
||||
If the second segment of a broken tie is less than 15pt long, then by
|
||||
default it will have a special shape which begins horizontally. These shapes are
|
||||
called \ital{half ties} and are contained in the font \index{mxsk font}\verb|mxsk|.
|
||||
Of course if they are to be used, the font files must be integrated into the
|
||||
\TeX\ installation. Their use can be turned off with \keyindex{nohalfties}
|
||||
and back on with \keyindex{halfties}.
|
||||
|
||||
%\paragraph{Backwards compatibility.}
|
||||
%There are several ``aliases'' which allow to use the old, bitmapped slur
|
||||
%commands for PS slurs without any change. There are however a few differences:
|
||||
%the \keyindex{invertslur} is not implemented yet and
|
||||
%the \keyindex{curve} and \keyindex{midslur} macros have no effect.
|
||||
|
||||
%\paragraph{Memory requirements.}
|
||||
\enlargethispage*{4ex}
|
||||
\section{A few final technical details}
|
||||
Each \verb|\i...| and \verb|\t...|
|
||||
produces a \verb|\special| command, which must be stored in TeX's main memory.
|
||||
Therefore, if too many slurs occur in one page, some memory problems could
|
||||
occur. The only solution is to use font-based slurs.
|
||||
%The only solutions are to use Big\TeX\
|
||||
%BigTex? it is apparently the mascot for the Texas State Fair
|
||||
|
||||
Type~K slurs need the Postscript header file
|
||||
\index{psslurs.pro}\texttt{psslurs.pro} to be included in the
|
||||
output Postscript file. This is made to happen by the \TeX\ command
|
||||
\verb|\special{header=psslurs.pro}|, which is automatically
|
||||
included when you \verb|\input musixps|. So normally this is not
|
||||
of concern. However if you wish to extract a subset of pages from
|
||||
the master \verb|dvi| file using \index{dvidvi}\texttt{dvidvi}, then
|
||||
you have three options: (1)~include the first page in the subset,
|
||||
(2)~manually issue the
|
||||
\verb|\special| command in the \TeX\ source for the first page of the subset, or
|
||||
(3)~use the option \texttt{-h psslurs.pro} when you run \texttt{dvips}.
|
||||
|
598
musixtex/doc/musixdoc/slurstiesfont.tex
Normal file
598
musixtex/doc/musixdoc/slurstiesfont.tex
Normal file
|
@ -0,0 +1,598 @@
|
|||
\chapter{Font-based Slurs, Ties and Hairpins}
|
||||
Two fundamentally different implementations of slurs, ties, and hairpins are
|
||||
available. First, there are the
|
||||
original \ital{font-based} versions. These are constructed with traditional
|
||||
\TeX\ font characters that were created with \MF\ and stored in \TeX\ font files.
|
||||
Second, it is now possible
|
||||
to generate these shapes directly with Postscript, dispensing altogether with
|
||||
the font characters\footnote{Please do not be confused by the availability of
|
||||
Postscript versions of the font-based slur fonts (along with all other \musixtex\ fonts).
|
||||
Once installed in a \TeX\ system,
|
||||
their function and use are 100\% transparently identical with bitmapped versions
|
||||
of the slur fonts. On the other
|
||||
hand, Postscript slurs are functionally distinct from font-based slurs, and only
|
||||
share some of the same syntax.}. We shall first describe the font-based versions,
|
||||
then Type~K Postscript slurs, which are one of two available Postscript slur
|
||||
options\footnote{An
|
||||
alternate approach to Postscript slurs, called {\it Type~M} after its developer
|
||||
Hiroaki {\sc Morimoto}, is available from the
|
||||
\href{http://icking-music-archive.org/software/indexmt6.html}
|
||||
{\underline{Icking Music Archive}}.}. If you plan to use Type~K Postscript slurs,
|
||||
you may skip directly to Chapter~\ref{PostscriptSlurs}.
|
||||
|
||||
Font-based slurs and ties provided by \musixtex\ can be divided into two categories:
|
||||
\label{simpleslur}
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
\item Those where the complete slur symbol is composed of a single
|
||||
character from one of the slur fonts, and
|
||||
\item those where the slur symbol is composed of three distinct
|
||||
characters, to form the beginning, middle and end of the slur.
|
||||
\end{itemize}
|
||||
The former are called \ital{simple slurs} and the latter,
|
||||
\ital{compound slurs}. In many cases the distinction between the two is
|
||||
invisible to the user, in that many of the macros described below will
|
||||
automatically select between the two types. However, there are other macros
|
||||
that allow simple slurs to be forced.
|
||||
|
||||
The next few sections describe the usual method of slur coding, where the
|
||||
choice between simple or compound slurs is made automatically.
|
||||
In this case, slurs are initiated and terminated by separate macros,
|
||||
similar to beams.
|
||||
|
||||
\section{Font-based slur initiation}
|
||||
A slur must be initiated \ital{before}
|
||||
the spacing note on which the slur begins, and terminated \ital{before} the
|
||||
note on which it ends.
|
||||
|
||||
The basic slur initiation macro is
|
||||
\keyindex{isluru}\enpee, which initiates an upper slur, with reference
|
||||
number $n$, beginning on a note at pitch $p$. The starting point of the slur is
|
||||
centered above a virtual quarter note head at pitch~$p$\footnote{The slur will start in the same place regardless of whether there is
|
||||
{\it actually} a note at pitch $p$.}.
|
||||
Similarly, \keyindex{islurd}\enpee\ initiates a lower slur.
|
||||
These slurs are terminated by coding
|
||||
\keyindex{tslur}\enpee\ where $n$ is the reference number and $p$ is the
|
||||
termination pitch.
|
||||
|
||||
As with beams, the reference number $n$ by default can take values from $0$ to $5$, or
|
||||
up to $8$ or $11$ respectively if \ttxem{musixadd.tex} or \ttxem{musixmad.tex} is included.
|
||||
You can also specify the maximum number
|
||||
directly with \keyindex{setmaxslurs}\verb|{|$m$\verb|}| where
|
||||
$7<m\leq 100$%
|
||||
\footnote{This may require e-\TeX.};
|
||||
the reference number $n$ will be in the range between $0$ and $m-1$.
|
||||
\label{musixmad_setmaxslurs}
|
||||
|
||||
To illustrate with an elementary example, the following passage
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOtes\islurd0g\qu g\tslur0{'c}\qu c\en
|
||||
\Notes\isluru0{'e}\ibl0e{-2}\qb0{edc}\tslur0b\tqb0b\en
|
||||
\bar
|
||||
\NOtes\islurd0{'a}\qu a\tslur0{`f}\qu f\en
|
||||
\NOTes\hu g\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
\noindent was coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOtes\islurd0g\qu g\tslur0{'c}\qu c\en
|
||||
\Notes\isluru0{'e}\ibl0e{-2}\qb0{edc}\tslur0b\tqb0b\en
|
||||
\bar
|
||||
\NOtes\islurd0{'a}\qu a\tslur0{`f}\qu f\en
|
||||
\NOTes\hu g\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
Other macros are provided to change the horizontal starting and ending points of the slur
|
||||
in relation to the initial and final notes. Thus, \keyindex{issluru}\enpee\
|
||||
initiates a ``short'' upper slur suitable for linking notes involved in chords.
|
||||
The
|
||||
starting point is shifted to the right, and is vertically aligned with the
|
||||
center of a virtual quarter note head at pitch~$p$. If a lower short slur
|
||||
is wanted, one should use \keyindex{isslurd}\enpee.
|
||||
|
||||
Sometimes, busy scores call for slurs which are vertically aligned with the
|
||||
ends of note stems rather than note heads. These ``beam'' slurs---so called
|
||||
because the slur is written at usual beam height---are provided by the
|
||||
macros \keyindex{ibsluru}\enpee\ and \keyindex{ibslurd}\enpee. These macros
|
||||
initiate slurs raised or lowered by the current stem height to accommodate
|
||||
stems or beams above or below.
|
||||
%\check
|
||||
|
||||
\section{Font-based slur termination}
|
||||
Font-based slurs that are not forced to be simple must be terminated by an explicit
|
||||
command right before the last note under the slur. There are termination
|
||||
commands analogous to each of the initiation commands already presented. They
|
||||
are summarized in the following table:
|
||||
\begin{center}
|
||||
\begin{tabular}{ll}
|
||||
Initiation & Termination \\
|
||||
\hline
|
||||
\keyindex{isluru}, \keyindex{islurd} & \keyindex{tslur} \\
|
||||
\keyindex{issluru}, \keyindex{isslurd} & \keyindex{tsslur} \\
|
||||
\keyindex{ibsluru} & \keyindex{tbsluru}\\
|
||||
\keyindex{ibslurd} & \keyindex{tbslurd}\\
|
||||
\hline
|
||||
\end{tabular} \end{center}
|
||||
|
||||
\noindent All of these command have two parameters, $n$ and $p$.
|
||||
|
||||
These specific termination macros are not restricted to
|
||||
being used with their initiation counterpart. A slur started
|
||||
in one sense can be terminated in another. For example, a
|
||||
slur beginning as a ``beam'' slur may be terminated as a
|
||||
normal slur, or \emph{vice versa}. These would be achieved using macro pairs
|
||||
\verb|\ibslur...\tslur...| or \verb|\islur...\tbslur...|, respectively; however, it may be necessary
|
||||
to adjust the vertical position of the slur termination. For example,
|
||||
|
||||
\begin{music}
|
||||
\startextract
|
||||
\Notes\ibsluru1g\qa g\ha l\sk\tslur1e\zq g\zq i\qu k\en
|
||||
\Notes\islurd1h\qu h\ha f\sk\tbslurd1c\zq h\zq j\ql l\en
|
||||
\endextract
|
||||
\end{music}\noindent
|
||||
has been coded as follows:
|
||||
\begin{quote}
|
||||
\begin{verbatim}
|
||||
\startextract
|
||||
\Notes\ibsluru1g\qa g\ha l\sk\tslur1e\zq g\zq i\qu k\en
|
||||
\Notes\islurd1h\qu h\ha f\sk\tbslurd1c\zq h\zq j\ql l\en
|
||||
\endextract
|
||||
\end{verbatim}
|
||||
\end{quote}
|
||||
\section{Font-based ties} Font-based ties will have the same shapes as
|
||||
ordinary font-based slurs of the same length between notes of equal pitch,
|
||||
but there are two important distinctions:
|
||||
(1) There cannot be any pitch difference between start and end, and (2) the
|
||||
positions of both the beginning and end of a tie relative to the note heads
|
||||
are slightly different from those of an ordinary slur\footnote{Editor's note: In
|
||||
fact, it appears that the default positioning of the ends of ties is exactly
|
||||
the same as that of short slurs.}.
|
||||
Upper ties are initiated by \keyindex{itieu}\enpee, which starts an upper tie of
|
||||
reference number $n$ at pitch $p$.
|
||||
Lower ties are initiated by \keyindex{itied}\enpee, which starts an lower tie of
|
||||
reference number $n$ at pitch $p$. The starting position of the tie is the same
|
||||
as \verb|\issluru| and
|
||||
\verb|\isslurd| respectively. The tie is terminated by coding
|
||||
\keyindex{ttie}\onen. Note that no pitch parameter is required.
|
||||
|
||||
There are also \ital{short ties}, which bear the same relation to ordinary
|
||||
ties as short slurs to ordinary slurs. They are intended to be used between chords.
|
||||
They are initiated with
|
||||
\keyindex{itenu}\enpee~or \keyindex{itenl}\enpee\footnote{Editor's note: It is
|
||||
not clear why this command uses ``{\tt l}'' when all other similar ones use
|
||||
``{\tt d}''.}, and terminated with \keyindex{tten}\onen.
|
||||
|
||||
The following example illustrates the differences in positioning of the various
|
||||
slur and tie options:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOTes\islurd0g\qu g\tslur0g\qu g\isslurd0g\qu g\tsslur0g\qu g%
|
||||
\ibsluru0g\qu g\tbsluru0g\qu g\itied0g\qu g\ttie0\qu g%
|
||||
\itenl0g\qu g\tten0\qu g\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent It was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOTes\islurd0g\qu g\tslur0g\qu g\isslurd0g\qu g\tsslur0g\qu g%
|
||||
\ibsluru0g\qu g\tbsluru0g\qu g\itied0g\qu g\ttie0\qu g%
|
||||
\itenl0g\qu g\tten0\qu g\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\noindent Here are some more general examples of font-based slurs and ties
|
||||
discussed so far:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOTes\isluru0g\hl g\tslur0h\hl h\en
|
||||
\NOTes\islurd0c\issluru1g\zh{ce}\hu g\tslur0d\tsslur1h\zh{df}\hu h\en
|
||||
\NOTes\ibsluru0g\islurd1g\hu g\tubslur0h\hu h\en
|
||||
\NOTes\itieu0k\hl k\ttie0\tdbslur1f\hl k\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent This was coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOTes\isluru0g\hl g\tslur0h\hl h\en
|
||||
\NOTes\islurd0c\issluru1g\zh{ce}\hu g\tslur0d\tsslur1h\zh{df}\hu h\en
|
||||
\NOTes\ibsluru0g\islurd1g\hu g\tubslur0h\hu h\en
|
||||
\NOTes\itieu0k\hl k\ttie0\tdbslur1f\hl k\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section{Dotted slurs}
|
||||
|
||||
Any font-based slur may be made dotted by specifying \keyindex{dotted}
|
||||
just before it is initiated:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOtes\dotted\islurd0g\qu g\tslur0{'c}\qu c\en
|
||||
\Notes\dotted\isluru0{'e}\ibl0e{-2}\qb0{edc}\tslur0b\tqb0b\en\bar
|
||||
\NOtes\dotted\slur{'a}{`f}d1\qu{'a`f}\en
|
||||
\NOTes\hu g\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
\noindent This was coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOtes\dotted\islurd0g\qu g\tslur0{'c}\qu c\en
|
||||
\Notes\dotted\isluru0{'e}\ibl0e{-2}\qb0{edc}\tslur0b\tqb0b\en\bar
|
||||
\NOtes\dotted\slur{'a}{`f}d1\qu{'a`f}\en
|
||||
\NOTes\hu g\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section{Modifying font-based slur properties}
|
||||
Several macros are provided to modify the shape of slurs already initiated.
|
||||
These macros must be coded right before the slur \ital{termination}. Invoking
|
||||
any of the macros described in this section will force the slur to be compound.
|
||||
|
||||
By default, the midpoint of a font-based slur is three \verb|\internote|s
|
||||
above or below a line between its ends. This can be changed using the macro
|
||||
\keyindex{midslur}~$h$ where $h$ is the revised vertical displacement. For
|
||||
example, \verb|\midslur6| coded right before \verb|\tslur| causes an upper slur to
|
||||
rise to a maximum height of \verb|6\internote| above the starting position.
|
||||
For example,
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOtes\multnoteskip8\isluru0i\ql i\en
|
||||
\notes\tslur0i\ql i\en
|
||||
\zendextract
|
||||
\startextract
|
||||
\NOtes\multnoteskip8\isluru0i\ql i\en
|
||||
\notes\midslur7\tslur0i\ql i\en
|
||||
\zendextract
|
||||
\startextract
|
||||
\NOtes\multnoteskip8\isluru2i\ql i\en
|
||||
\notes\midslur{11}\tslur2i\ql i\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOtes\multnoteskip8\isluru0i\ql i\en
|
||||
\notes\tslur0i\ql i\en
|
||||
\NOtes\multnoteskip8\isluru0i\ql i\en
|
||||
\notes\midslur7\tslur0i\ql i\en
|
||||
\NOtes\multnoteskip8\isluru2i\ql i\en
|
||||
\notes\midslur{11}\tslur2i\ql i\en
|
||||
\end{verbatim}\end{quote}
|
||||
For downward slurs, use negative values; for example,
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOtes\multnoteskip8\islurd0i\qu i\en
|
||||
\notes\tslur0i\qu i\en
|
||||
\zendextract
|
||||
\startextract
|
||||
\NOtes\multnoteskip8\islurd0i\qu i\en
|
||||
\notes\midslur{-7}\tslur0i\qu i\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOtes\multnoteskip8\islurd0i\qu i\en
|
||||
\notes\tslur0i\qu i\en
|
||||
\NOtes\multnoteskip8\islurd0i\qu i\en
|
||||
\notes\midslur{-7}\tslur0i\qu i\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
The macro \keyindex{curve}$hij$ allows more precise control over the shape
|
||||
of a slur or tie. The first parameter $h$
|
||||
is the vertical deviation and it works exactly like the sole parameter of
|
||||
\verb|\midslur| described above. The second and
|
||||
third parameters $i$ and $j$ set the initial and final gradient respectively.
|
||||
They are defined as the horizontal distance required to attain maximum
|
||||
vertical deviation. Thus smaller numbers for $i$
|
||||
and $j$ lead to more extreme gradients.
|
||||
The default setting is \verb|\curve344|. Hence, coding \verb|\curve322|
|
||||
doubles the initial and final gradient relative to the default.
|
||||
As with \verb|\midslur|, \verb|\curve| must be coded {\em immediately} before
|
||||
the slur termination. The example below illustrates the use of \verb|\curve|.
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOtes\multnoteskip8\itieu0g\ql g\en
|
||||
\notes\ttie0\ql g\en
|
||||
\zendextract
|
||||
\startextract
|
||||
\NOtes\multnoteskip8\itieu1g\ql g\en
|
||||
\notes\curve 322\ttie1\ql g\en
|
||||
\zendextract
|
||||
\startextract
|
||||
\NOtes\multnoteskip8\itieu2g\ql g\en
|
||||
\notes\curve 111\ttie2\ql g\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent This was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOtes\multnoteskip8\itieu0g\ql g\en
|
||||
\notes\ttie0\ql g\en
|
||||
\NOtes\multnoteskip8\itieu1g\ql g\en
|
||||
\notes\curve 322\ttie1\ql g\en
|
||||
\NOtes\multnoteskip8\itieu2g\ql g\en
|
||||
\notes\curve 111\ttie2\ql g\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
Two macros are provided to control the behaviour of slurs which extend across
|
||||
line breaks. Normally, the part of the slur before the line break is
|
||||
treated as a tie. This can be changed using \keyindex{breakslur}\enpee,
|
||||
which sets the termination height of
|
||||
the broken slur at the line break to pitch $p$, for slur number $n$.
|
||||
|
||||
After the line break, the slur is normally resumed at the initial pitch
|
||||
reference, i.e., the one coded in \verb|\islur|. To change this, the macro
|
||||
\keyindex{Liftslur}\verb|{|$n$\verb|}{|$h$\verb|}| may be used.
|
||||
Here $n$ is again the slur reference
|
||||
number and $h$ is the change in height relative to the initialization height.
|
||||
This macro is normally used following line breaks, in which case it is best
|
||||
coded using the \verb|\atnextline| macro. For example, coding
|
||||
\verb|\def\atnextline{\Liftslur06}| raises the continuation of slur zero
|
||||
by \verb|6\internote| relative to its initialization height.
|
||||
|
||||
The following example illustrates the use of the macros for broken slurs:
|
||||
\medskip
|
||||
|
||||
\begin{minipage}[t]{85mm}
|
||||
Default, without adjustments:
|
||||
|
||||
\begin{music}
|
||||
\hsize=50mm
|
||||
\generalmeter{\meterfrac24}%
|
||||
\parindent 0pt\staffbotmarg0pt%
|
||||
%
|
||||
%\interstaff{14\internote}%
|
||||
%
|
||||
\nostartrule
|
||||
\startpiece\bigaccid
|
||||
\Notes\ibsluru1b\qu b\qu g\en\bar
|
||||
\Notes\qu{'c!}\tslur1f\qu f\en
|
||||
\mulooseness1\Endpiece
|
||||
\end{music}
|
||||
\begin{verbatim}
|
||||
\Notes\ibsluru1b\qu b\qu g\en\bar
|
||||
\Notes\qu{'c!}\tslur1f\qu f\en
|
||||
\end{verbatim}
|
||||
\end{minipage}%
|
||||
\begin{minipage}[t]{75mm}
|
||||
With~\verb|\Liftslur|~and~\verb|\breakslur|~:\\
|
||||
\begin{music}
|
||||
\hsize=50mm
|
||||
\generalmeter{\meterfrac24}%
|
||||
\parindent 0pt\staffbotmarg0pt%
|
||||
%
|
||||
%\interstaff{14\internote}%
|
||||
%
|
||||
\nostartrule
|
||||
\startpiece\bigaccid
|
||||
\def\atnextline{\Liftslur17}%
|
||||
\Notes\ibsluru1b\qu b\qu g\breakslur1g\en\bar
|
||||
\Notes\qu{'c!}\tslur1f\qu f\en
|
||||
\mulooseness1\Endpiece
|
||||
\end{music}
|
||||
\begin{verbatim}
|
||||
\def\atnextline{\Liftslur17}%
|
||||
\Notes\ibsluru1b\qu b\qu g%
|
||||
\breakslur1g\en\bar
|
||||
\Notes\qu{'c!}\tslur1f\qu f\en
|
||||
\end{verbatim}
|
||||
\end{minipage}\medskip
|
||||
|
||||
Occasionally in keyboard works one needs to begin a slur in one
|
||||
staff but end it in another. This can be done using the macro
|
||||
\keyindex{invertslur}\onen\ which is best described by
|
||||
reference to the example
|
||||
shown below.
|
||||
|
||||
% Finding the final pitch is try and error, sorry, no way out.
|
||||
|
||||
\begin{music}
|
||||
\setstaffs1{2}
|
||||
\setclef1\bass\interstaff{10.5}
|
||||
\startextract
|
||||
\NOtes\multnoteskip5\isluru0a\ql a\en
|
||||
\notes\invertslur0\curve311\tslur0j|\qu d\en
|
||||
\NOtes\multnoteskip{10}\isluru0a\ql a\en
|
||||
\notes\invertslur0\curve333\tslur0j|\qu d\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent This was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOtes\multnoteskip5\isluru0a\ql a\en
|
||||
\notes\invertslur0\curve311\tslur0g|\qu d\en
|
||||
\NOtes\multnoteskip{10}\isluru0a\ql a\en
|
||||
\notes\invertslur0\curve333\tslur0g|\qu d\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\noindent Slur inversion as just described takes effect where the slope is zero; therefore it
|
||||
only works with ascending slurs that were started with \verb|\isluru|, and with
|
||||
descending slurs started with \verb|\islurd|. Otherwise no horizontal place
|
||||
can be found and the result is erratic.
|
||||
|
||||
A different approach removes this restriction. The idea is to stop the slur at
|
||||
the desired inversion point and restart it in the other sense at the
|
||||
same place. The commands to do this are as follows:
|
||||
\begin{itemize}\setlength{\itemsep}{0ex}
|
||||
\item \keyindex{Tslurbreak}\enpee~stops slur number $n$ \ital{exactly} at pitch $p$,
|
||||
not above or below the virtual note head.
|
||||
\item \keyindex{Islurubreak}\enpee~restarts an upper slur at the same position,
|
||||
not above a virtual note head.
|
||||
\item \keyindex{Islurdbreak}\enpee~restarts a lower slur at the same position,
|
||||
not below a virtual note head.
|
||||
\end{itemize}
|
||||
|
||||
\noindent The vertical position may have to be adjusted to minimize any discontinuity
|
||||
in the slope. For example, the following pattern
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\setclef1\treble
|
||||
\startextract
|
||||
\NOTes\multnoteskip 3\isluru0a\ql a\en
|
||||
\NOTes\multnoteskip 3\Tslurbreak0d\Islurdbreak0d\sk\en
|
||||
\Notes\tslur0h\qu h\en
|
||||
\NOTes\multnoteskip 3\islurd0a\ql a\en
|
||||
\NOTes\multnoteskip 3\Tslurbreak0d\Islurubreak0d\sk\en
|
||||
\Notes\tslur0h\qu h\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\begin{music}\nostartrule
|
||||
\NOTes\multnoteskip 3\isluru0a\ql a\en
|
||||
\NOTes\multnoteskip 3\Tslurbreak0d\Islurdbreak0d\sk\en
|
||||
\Notes\tslur0h\qu h\en
|
||||
\NOTes\multnoteskip 3\islurd0a\ql a\en
|
||||
\NOTes\multnoteskip 3\Tslurbreak0d\Islurubreak0d\sk\en
|
||||
\Notes\tslur0h\qu h\en
|
||||
\end{music}
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section{Simple slurs}
|
||||
|
||||
\ital{Simple} slurs and ties have advantages in some cases: (1) They will
|
||||
always have the best possible shape, and (2) if \verb|\noteskip| doesn't
|
||||
change from start to finish, they are easier to code. But they have drawbacks
|
||||
as well: (1) They are limited in length to 68pt
|
||||
for slurs and 220pt for
|
||||
ties, (2) their maximum vertical extent is \verb|8\internote|, and (3) they
|
||||
may not extend across a line break.
|
||||
Despite all these limitations, simple slurs are extremely useful in many
|
||||
applications where the slurs are short and contained within a bar.
|
||||
|
||||
Simple slurs must be coded {\em before} the note on which the slur begins.
|
||||
The primary macro is
|
||||
\keyindex{slur}\verb|{|$p_1$\verb|}{|$p_2$\verb|}|$sl$
|
||||
where $p_1$ and $p_2$ are respectively the initial and final pitches,
|
||||
$s$ is the sense (either ``{\tt u}'' or ``{\tt d}''), and $l$ is the length,
|
||||
in {\tt noteskip}s.
|
||||
Thus, thirds slured in pairs can be coded
|
||||
|
||||
%\check
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOtes\slur ced1\qu{ce}\en
|
||||
\NOtes\slur dfd1\qu{df}\en
|
||||
\NOtes\slur egd1\qu{eg}\en
|
||||
\NOtes\slur{'e}cu1\ql{ec}\en
|
||||
\NOtes\slur{'d}bu1\ql{db}\en
|
||||
\NOtes\slur{'c}au1\ql{ca}\en
|
||||
\end{verbatim}\end{quote}
|
||||
which yields
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOtes\slur ced1\qu{ce}\en
|
||||
\NOtes\slur dfd1\qu{df}\en
|
||||
\NOtes\slur egd1\qu{eg}\en
|
||||
\NOtes\slur{'e}cu1\ql{ec}\en
|
||||
\NOtes\slur{'d}bu1\ql{db}\en
|
||||
\NOtes\slur{'c}au1\ql{ca}\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
%%
|
||||
|
||||
There are similar commands to force simple versions of the other
|
||||
variants of font-based slurs and ties. Simple ties may be set using
|
||||
\keyindex{tie}\verb|{|$p$\verb|}|$sl$ (only one pitch is needed).
|
||||
Simple short slurs and short ties can be forced with the macros
|
||||
\keyindex{sslur}\verb|{|$p_1$\verb|}{|$p_2$\verb|}|$sl$ and
|
||||
\keyindex{stie}\verb|{|$p$\verb|}|$sl$ respectively. Finally,
|
||||
simple beam slurs can be forced with
|
||||
\keyindex{bslur}$s$\verb|{|$p_1$\verb|}{|$p_2$\verb|}|$l$.
|
||||
|
||||
|
||||
\section{Font-based hairpins (crescendos and decrescendos)}\label{sec:crescnd}
|
||||
|
||||
There are two categories of font-based hairpins. The first type requires only
|
||||
one command, \keyindex{crescendo}\verb|{|$\ell$\verb|}| or
|
||||
\keyindex{decrescendo}\verb|{|$\ell$\verb|}|, where $\ell$ is any \TeX{}
|
||||
dimension, either a fixed one---for example in points---or a scalable one
|
||||
expressed either explicitly or implicitly as some number of
|
||||
\verb|\noteskip|s. These should be used as arguments to
|
||||
\verb|\zcharnote|, \verb|\zchar|, \verb|\uptext|, \verb|\zmidstaff|, etc., to
|
||||
post them at the desired altitude. The longest such symbol is $\simeq$ 68 mm.
|
||||
|
||||
The second type of font-based hairpin requires two commands, one to start it
|
||||
and another to end it. The starting macro is \keyindex{icresc}. It has no
|
||||
arguments. Only one invocation suffices to start any number and combination of
|
||||
crescendos and diminuendos. The ending macros are \keyindex{tcresc} or
|
||||
\keyindex{tdecresc}. They should be used as arguments of \verb|\zcharnote| etc,
|
||||
which will set the altitude. For example,
|
||||
|
||||
\begin{music}
|
||||
\parindent0pt
|
||||
\generalmeter{\meterfrac{12}8}
|
||||
\setstaffs1{2}
|
||||
\startextract
|
||||
\Notes\cmidstaff\ppp|\ca c\en
|
||||
\Notes\icresc|\ca{defgh'abcde}\en
|
||||
\Notes\zmidstaff{\loff\tcresc}\cmidstaff\fff|\ca{'f}\en
|
||||
\endextract
|
||||
\end{music}
|
||||
|
||||
\noindent which was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\cmidstaff\ppp|\ca c\en
|
||||
\Notes\icresc|\ca{defgh'abcde}\en
|
||||
\Notes\zmidstaff{\loff\tcresc}\cmidstaff\fff|\ca{'f}\en
|
||||
\end{verbatim}\end{quote}
|
||||
\medskip
|
||||
|
||||
\noindent while
|
||||
|
||||
\begin{music}
|
||||
\parindent0pt
|
||||
\generalmeter{\meterfrac{12}8}
|
||||
\setstaffs1{2}
|
||||
\startextract
|
||||
\Notes\cmidstaff\ppp|\ca c\en
|
||||
\Notes\icresc|\ca{defgh'abcde}\en
|
||||
\Notes\zcharnote N{\tcresc}\cmidstaff\fff|\zcharnote q{\tcresc}\ca{'f}\en
|
||||
\endextract
|
||||
\end{music}
|
||||
|
||||
\noindent was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\cmidstaff\ppp|\ca c\en
|
||||
\Notes\icresc|\ca{defgh'abcde}\en
|
||||
\Notes\zcharnote N{\tcresc}\cmidstaff\fff|\zcharnote q{\tcresc}\ca{'f}\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section{Limitations of font-based slurs}
|
||||
The change in altitude between slur initiation and slur termination is limited to
|
||||
\verb|16\Internote|. Thus unexpected vertical gaps can appear, as seen in
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\instrumentnumber{1}
|
||||
\generalmeter{\meterfrac34}
|
||||
\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0j\ql j\en
|
||||
\bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0n\ql n\en\zendextract
|
||||
|
||||
\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\en
|
||||
\bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0z\ql z\en\zendextract
|
||||
\end{music}
|
||||
\noindent whose coding was
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOTes\multnoteskip3\isluru0c\ql c\tslur0j\ql j\en
|
||||
\bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0n\ql n\en
|
||||
\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\en
|
||||
\bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0z\ql z\en
|
||||
\end{music}
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
Furthermore, if the slope becomes too steep, even worse results can occur, such as
|
||||
|
||||
\medskip
|
||||
\begin{music}\nostartrule
|
||||
\instrumentnumber{1}
|
||||
\generalmeter{\meterfrac34}
|
||||
\startextract\NOTes\isluru0c\ql c\en\notes\tslur0j\ql j\en
|
||||
\bar\NOTes\isluru0c\ql c\en\notes\tslur0n\ql n\en
|
||||
\NOTes\isluru0c\ql c\en\notes\tslur0s\ql s\en
|
||||
\bar\NOTes\isluru0c\ql c\en\notes\tslur0z\ql z\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
Another limitation of font-based slurs crops up when one attempts to
|
||||
generate bitmapped versions for high-resolution printers: the characters
|
||||
for long ties can exceed \MF's maximum capacity.
|
190
musixtex/doc/musixdoc/smaller.tex
Normal file
190
musixtex/doc/musixdoc/smaller.tex
Normal file
|
@ -0,0 +1,190 @@
|
|||
\chapter{Smaller (or Larger) Notes in Normal-Sized Staves}
|
||||
Here we describe how to change the size of note symbols without changing the
|
||||
size of the staff itself. Changing overall staff size will be treated in
|
||||
Chapter~\ref{staffspacing}.
|
||||
|
||||
\section{Arbitrary sequences of notes}
|
||||
Written-out ornaments and \itxem{cadenzas} are usually typeset with
|
||||
smaller notes and spacing than normal. The smaller \ital{size} can be
|
||||
initiated anywhere inside a \verb|\notes| group by stating
|
||||
\keyindex{smallnotesize} or \keyindex{tinynotesize}. Normal note size is then
|
||||
restored by \keyindex{normalnotesize} or simply by terminating the
|
||||
\verb|notes| group and starting another. Smaller \ital{spacing} must also be
|
||||
explicitly indicated, usually by redefining \verb|\noteskip| in some way.
|
||||
|
||||
As an example, this excerpt, from the beginning
|
||||
of the Aria of the ``Creation'' by Joseph {\sc Haydn})\index{Haydn, J.@{\sc
|
||||
Haydn, J.}},
|
||||
|
||||
\begin{music}
|
||||
\instrumentnumber{2}
|
||||
\generalmeter{\meterfrac44}
|
||||
\def\qbl#1#2#3{\ibl{#1}{#2}{#3}\qb{#1}{#2}}
|
||||
\setstaffs2{2}
|
||||
\setclef1\bass
|
||||
\setclef2\bass
|
||||
\startbarno0
|
||||
\startextract
|
||||
\NOtes\qp&\zmidstaff{\bf II}\qp|\qu g\en
|
||||
% mesure 1
|
||||
\bar
|
||||
\Notes\itieu2J\wh J&\zw N\ibl0c0\qb0e|\qu j\en
|
||||
\notes&\qbl0c0|\multnoteskip\tinyvalue\tinynotesize
|
||||
\Ibbu1ki2\qb1{kj}\tqh1i\hqsk\en
|
||||
\Notes&\qb0e\tbl0\qb0c|\qu j\en
|
||||
\Notes&\ibl0c0\qb0{ece}\tbl0\qb0c|\ql l\sk\ql j\en
|
||||
% mesure 2
|
||||
\bar
|
||||
\Notes\ttie2\wh J&\ql J\sk\ql L|\zqupp g\qbl1e0%
|
||||
\zq c\qb1e\zq c\qb1e\zq c\tbl1\zqb1e\en
|
||||
\notes&|\sk\ccu h\en
|
||||
\Notes&\ql N\sk\ibl0L{-4}\qbp0L|\ibl1e0\zq c\zqb1e\cu g%
|
||||
\zq c\zqb1e\raise\Interligne\ds\zqu g\qb1g\en
|
||||
\notes&\sk\tbbl0\tbl0\qb0J|\tbl1\zq c\qb1e\en
|
||||
\endextract
|
||||
\end{music}
|
||||
\noindent can be coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\instrumentnumber{2}
|
||||
\generalmeter{\meterfrac44}
|
||||
\setstaffs2{2}
|
||||
\setclef2{\bass}
|
||||
\setclef1{\bass}
|
||||
\startbarno=0
|
||||
\startextract
|
||||
\NOtes\qp&\zmidstaff{\bf II}\qp|\qu g\en
|
||||
% mesure 1
|
||||
\bar
|
||||
\Notes\itieu2J\wh J&\zw N\ibl0c0\qb0e|\qu j\en
|
||||
\notes&\ibl0c0\qb0c|\multnoteskip\tinyvalue\tinynotesize
|
||||
\Ibbu1ki2\qb1{kj}\tqh1i\en
|
||||
\Notes&\qb0e\tbl0\qb0c|\qu j\en
|
||||
\Notes&\ibl0c0\qb0{ece}\tbl0\qb0c|\ql l\sk\ql j\en
|
||||
% mesure 2
|
||||
\bar\Notes\ttie2\wh J&\ql J\sk\ql L|\zqupp g\qbl1e0%
|
||||
\zq c\qb1e\zq c\qb1e\zq c\tbl1\zqb1e\en
|
||||
\notes&|\sk\ccu h\en
|
||||
\Notes&\ql N\sk\ibl0L{-4}\qbp0L|\ibl1e0\zq c\zqb1e\cu g%
|
||||
\zq c\zqb1e\raise\Interligne\ds\zqu g\qb1g\en
|
||||
\notes&\sk\tbbl0\tbl0\qb0J|\tbl1\zq c\qb1e\en
|
||||
\endextract
|
||||
\end{verbatim}\end{quote}
|
||||
Similarly, you may use
|
||||
\keyindex{largenotesize} or \keyindex{Largenotesize} to get \emph{larger} notes.
|
||||
|
||||
\section{Grace notes}
|
||||
Grace notes are a special case of small and tiny notes, namely single-stemmed
|
||||
eighth notes with a diagonal slash through the flag. To enable this, there
|
||||
are the macros \keyindex{grcu}\pitchp\ and \keyindex{grcl}\pitchp, which by
|
||||
themselves would
|
||||
produce normal-sized eighth notes with a slash. They should be used along
|
||||
with the note size reduction macros and spacing reduction macros just
|
||||
discussed. In addition, chordal grace notes can be built as in the following
|
||||
example:
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOTes\hu h\en
|
||||
\notes\multnoteskip\smallvalue\smallnotesize\grcu j\en
|
||||
\NOTes\hu i\en
|
||||
\bar
|
||||
\notes\multnoteskip\tinyvalue\tinynotesize\zq h\grcl j\en
|
||||
\NOTEs\wh i\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent which was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\startextract
|
||||
\NOTes\hu h\en
|
||||
\notes\multnoteskip\smallvalue\smallnotesize\grcu j\en
|
||||
\NOTes\hu i\en
|
||||
\bar
|
||||
\notes\multnoteskip\tinyvalue\tinynotesize\zq h\grcl j\en
|
||||
\NOTEs\wh i\en
|
||||
\zendextract
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\section[Ossia]{Ossia\texorpdfstring{\protect\footnote{Italian \textit{o sia} (or else)}}{}}
|
||||
This clever example had been provided by Olivier Vogel:\label{ossia}
|
||||
|
||||
%\begin{center}
|
||||
%\includegraphics[scale=1]{./mxdexamples/ossiavogel.eps}
|
||||
%\end{center}
|
||||
|
||||
\begin{music}
|
||||
%\startextract
|
||||
%\hsize70mm
|
||||
\let\extractline\hbox
|
||||
\hbox to \hsize{\hss
|
||||
\def\xnum#1#2#3{\off{#1\elemskip}\zcharnote{#2}{\smalltype\it #3}%
|
||||
\off{-#1\elemskip}}%
|
||||
\newbox\ornamentbox
|
||||
\setbox\ornamentbox=\hbox to 0pt{\kern-4pt\vbox{\hsize=2.6cm%
|
||||
\makeatletter
|
||||
\nostartrule\smallmusicsize\setsize1{\smallvalue}\setclefsymbol1\empty\global\clef@skip0pt%
|
||||
\makeatother
|
||||
%\smallmusicsize\setsize1{\smallvalue}\setclefsymbol1\empty%
|
||||
%\startpiece
|
||||
%\addspace{2pt}%
|
||||
\startextract
|
||||
\addspace{-2pt}%
|
||||
\let\notest\notes\def\notes{\vnotes2.1\elemskip}%
|
||||
\notes\ibbbl2{'c}0\qb2b\qb2c\qb2d\tbbbl2\qb2c\en%
|
||||
\notes\xnum{1.15}{'e}3\qb2d\qb2c\tbl2\qb2d\en%
|
||||
\notes\ibl2{'c}1\usf e\qb2c\en%
|
||||
\notes\tbl2\qb2{'d}\en
|
||||
\let\notes\notest%
|
||||
%\zstoppiece%
|
||||
\endextract
|
||||
}\hss}
|
||||
%\setbox\ornamentbox=\hbox to 0pt{Hello}
|
||||
%
|
||||
%
|
||||
%\normalmusicsize\nopagenumbers
|
||||
%\def\nbinstruments{1}%
|
||||
\setstaffs12\setclef1{60}%
|
||||
\generalsignature{-2}\generalmeter{\meterfrac{3}{4}}%
|
||||
%\parindent 0pt%
|
||||
%\stafftopmarg0pt\staffbotmarg5\Interligne\interstaff{10}\relax
|
||||
%\startpiece\addspace\afterruleskip%
|
||||
\startextract\addspace\afterruleskip%
|
||||
\NOtes\ibl1{'G}{-1}\qb1G\sk\bigna F\tbl1\qb1F|%
|
||||
\ibbl2{'b}0\qb2b\qb2a\qb2b\tbl2\qb2c\en%
|
||||
\NOtes\hl{'E}\bsk\raise6\internote\ds\ibu3{G}1\bigsh F%
|
||||
\qb3F\qb3G\tbu3\qb3{'A}|\zcharnote{10}{\copy\ornamentbox}\qlp{'c}\sk\sk%
|
||||
\cl d\en%
|
||||
%\endpiece
|
||||
\endextract
|
||||
\hss}
|
||||
%\vfill\eject\endmuflex
|
||||
\end{music}
|
||||
|
||||
|
||||
The code is:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\hsize70mm%
|
||||
\def\xnum#1#2#3{\off{#1\elemskip}\zcharnote{#2}{\smalltype\it #3}%
|
||||
\off{-#1\elemskip}}%
|
||||
\newbox\ornamentbox
|
||||
\setbox\ornamentbox=\hbox to 0pt{\kern-4pt\vbox{\hsize=2.6cm%
|
||||
\nostartrule\smallmusicsize\setsize1{\smallvalue}\setclefsymbol1\empty%
|
||||
\startpiece\addspace{2pt}%
|
||||
\notes\ibbbl2{'c}0\qb2b\qb2c\qb2d\tbbbl2\qb2c\en%
|
||||
\notes\xnum{1.15}{'e}3\qb2d\qb2c\tbl2\qb2d\en%
|
||||
\notes\ibl2{'c}1\usf e\qb2c\en%
|
||||
\notes\tbl2\qb2{'d}\en%
|
||||
\zstoppiece%
|
||||
}\hss}
|
||||
\normalmusicsize\nopagenumbers
|
||||
\def\nbinstruments{1}%
|
||||
\setstaffs12\setclef1{60}%
|
||||
\generalsignature{-2}\generalmeter{\meterfrac{3}{4}}%
|
||||
\parindent 0pt%
|
||||
\stafftopmarg0pt\staffbotmarg5\Interligne\interstaff{10}\relax
|
||||
\startpiece\addspace\afterruleskip%
|
||||
\notes\ibl1{'G}{-1}\qb1G\sk\bigna F\tbl1\qb1F|%
|
||||
\ibbl2{'b}0\qb2b\qb2a\qb2b\tbl2\qb2c\en%
|
||||
\notes\hl{'E}\bsk\raise6\internote\ds\ibu3{G}1\bigsh F%
|
||||
\qb3F\qb3G\tbu3\qb3{'A}|\zcharnote{10}{\copy\ornamentbox}\qlp{'c}\sk\sk%
|
||||
\cl d\en%
|
||||
\end{verbatim}\end{quote}
|
106
musixtex/doc/musixdoc/spacing.tex
Normal file
106
musixtex/doc/musixdoc/spacing.tex
Normal file
|
@ -0,0 +1,106 @@
|
|||
\chapter{Skipping Spaces and Shifting Symbols}\label{spacing}
|
||||
We've already mentioned that when coding a sequence of notes inside a
|
||||
particular pair \verb|\notes...\en|, the command \keyindex{sk} can
|
||||
be used to skip horizontally by one \keyindex{noteskip}. This would be
|
||||
used for example to align the third note in one staff with the second note
|
||||
in another. Skipping in this manner is logically equivalent to inserting
|
||||
blank space; as such, the space must be recorded by \musixtex. This command
|
||||
and the others discussed here will
|
||||
do just that, so that \verb|musixflx| can properly account for
|
||||
the added space.
|
||||
|
||||
To skip by one \verb|noteskip| while in a collective coding sequence,
|
||||
you may simply insert an asterisk (``\verb|*|''\index{*}). This would have
|
||||
the same effect as stopping the sequence, entering {\Bslash sk}, then
|
||||
restarting. For example,
|
||||
|
||||
\begin{music}
|
||||
\setstaffs12
|
||||
\startextract
|
||||
\Notes\hu{e*f*g}|\qu{gghhii}\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent was coded as
|
||||
\verb|\Notes\hu{e*f*g}|{\tt |}\verb|\qu{gghhii}\en|
|
||||
|
||||
To skip forward
|
||||
by one half of a \verb|\noteskip|, use \keyindex{hsk}.
|
||||
To skip \emph{backward}
|
||||
by one or half \verb|\noteskip|, use \keyindex{bsk},
|
||||
or \keyindex{hbsk}, respectively.
|
||||
|
||||
To insert spacing of approximately one note head width, you can use
|
||||
\keyindex{qsk}, or for two-thirds, half or one-quarter of that, \keyindex{tqsk}, \keyindex{hqsk}
|
||||
or \keyindex{qqsk}, respectively.
|
||||
To skip backward one note-head width or two-thirds or half that, use
|
||||
\keyindex{bqsk}, \keyindex{btsk} or \keyindex{bhsk}, respectively. More generally,
|
||||
to skip an arbitrary distance, use \keyindex{off}\verb|{|$D$\verb|}|
|
||||
where $D$ is any \itxem{scalable dimension}, e.g.,~\verb|\noteskip| or
|
||||
\verb|\elemskip|. Indeed, if you look in the
|
||||
\musixtex\ source, you will see that \verb|\off| is the basic control
|
||||
sequence used to define all the other skip commands.
|
||||
|
||||
The foregoing commands only work \ital{inside} a \verb|\notes...\en| group.
|
||||
A different set of commands must be used to insert space \ital{outside}
|
||||
such a group. \keyindex{nspace} produces an
|
||||
additional spacing of half a note head width;
|
||||
\keyindex{qspace}, one note head width. These are ``hard'' spacings. To
|
||||
insert an arbitrary amount of hard space outside a \verb|\notes...\en|
|
||||
group, use \keyindex{hardspace}\verb|{|$d$\verb|}| where
|
||||
$d$ is any fixed dimension\label{hardspace}. The foregoing three commands are the only
|
||||
space-generating commands that insert hard space; all the others insert
|
||||
scalable spacing: \keyindex{elemskip},
|
||||
\keyindex{beforeruleskip}, \keyindex{afterruleskip}, \keyindex{noteskip} and
|
||||
their multiples. Finally, to insert
|
||||
scalable spacing outside
|
||||
a \verb|\notes...\en| group, use
|
||||
\keyindex{addspace}\verb|{|$D$\verb|}|. The argument may be negative, in
|
||||
which case the normal spacing will be reduced. For example, after
|
||||
\keyindex{changecontext}, many users prefer to reduce the space with
|
||||
a command like
|
||||
\verb|addspace{-|\keyindex{afterruleskip}\verb|}|.
|
||||
|
||||
There is yet another set of commands for simply shifting a note, symbol, or sequence
|
||||
inside \verb|\notes...\en|
|
||||
without adding or subtracting any space. To shift by one note head width,
|
||||
you may write \keyindex{roff}\verb|{|\ital{any macro}\verb|}|
|
||||
or \keyindex{loff}\verb|{|\dots\verb|}| for a right or left shift respectively.
|
||||
To shift by half of a note head width, use
|
||||
\keyindex{hroff}\verb|{|\dots\verb|}| or
|
||||
\keyindex{hloff}\verb|{|\dots\verb|}|.
|
||||
For example, to get
|
||||
%\check
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\Notes\roff{\zwh g}\qu g\qu h\qu i\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent you would code:
|
||||
|
||||
%\check
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\roff{\zwh g}\qu g\qu h\qu i\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
\noindent To shift notes or symbols by an arbitrary amount, use
|
||||
\keyindex{roffset}\verb|{|$N$\verb|}{|\dots\verb|}| or
|
||||
\keyindex{loffset}\verb|{|$N$\verb|}{|\dots\verb|}|, where
|
||||
$N$ is the distance to be shifted in note head widths. For example
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\Notes\roffset{1.5}{\zwh g}\qu g\qu h\qu i\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent was coded as
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\roffset{1.5}{\zwh g}\qu g\qu h\qu i\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
An important feature of these shift commands is that the offset,
|
||||
whether implicit or explicit, is \ital{not} added to
|
||||
the total spacing amount, but any spacing due to the included commands is.
|
||||
|
101
musixtex/doc/musixdoc/staffsize.tex
Normal file
101
musixtex/doc/musixdoc/staffsize.tex
Normal file
|
@ -0,0 +1,101 @@
|
|||
\chapter{Staff Size} \index{staff size}\label{staffspacing}
|
||||
In contrast with the prior section, here we describe how to change the sizes
|
||||
of everything...staff, notes, and all other symbols. In
|
||||
Section~\ref{whatspecify} we saw how to set the size for all instruments at
|
||||
the start of a score. Any one of the same macros---\verb|\normalmusicsize|,
|
||||
\verb|\smallmusicsize|, \verb|\largemusicsize|, or
|
||||
\verb|\Largemusicsize|---can be used to change the size of all instruments
|
||||
midway through a score, but in this case it must come between
|
||||
\verb|\stoppiece| and \verb|\startpiece|.
|
||||
|
||||
Once the overall staff size is set, you can alter the size of any desired
|
||||
instrument with the macro \keyindex{setsize}\itbrace{n}\itbrace{s}, where
|
||||
$n$ is the instrument number and $s$ is a factor by which the size is to be
|
||||
changed from the prevailing overall size. There are five predefined macros
|
||||
that should be used for the size factor $s$. Their names and respective values
|
||||
are \keyindex{normalvalue}~($1.0$), \keyindex{smallvalue}~($0.80$),
|
||||
\keyindex{tinyvalue}~($0.64$), \keyindex{largevalue}~($1.2$), and
|
||||
\keyindex{Largevalue}~($1.44$). \musixtex\ should not crash if you use an
|
||||
explicit number different from any of these, but the result may be
|
||||
less than satisfactory.
|
||||
|
||||
Once again, if used at the beginning of a piece, the \verb|\setsize| macro
|
||||
must precede \verb|\startpiece| (not \verb|\contpiece|), and if used after
|
||||
the beginning, must be preceded by \verb|\stoppiece|.
|
||||
|
||||
As an example, we give two bars of the \ital{Ave Maria} by Charles {\sc
|
||||
Gounod}\index{Gounod, C.@{\sc Gounod, C.}}, based on the first prelude of
|
||||
J. S. Bach's \ital{Well Tempered Clavier}, as transcribed for
|
||||
organ, violin and voice by Markus {\sc Veittes}:\label{avemaria}
|
||||
|
||||
\begin{music}
|
||||
\def\oct{\advance\transpose by 7}
|
||||
\def\liftqs#1{\raise#1\Interligne\qs}
|
||||
\parindent0pt
|
||||
\sepbarrules
|
||||
\instrumentnumber{3}
|
||||
\generalmeter{\meterC}
|
||||
\setinterinstrument2{3\Interligne}
|
||||
\setsize3\tinyvalue
|
||||
\setsize2\tinyvalue
|
||||
\setclef1\bass
|
||||
\setstaffs1{2}
|
||||
\startpiece\addspace\afterruleskip
|
||||
%Takt 9
|
||||
\notes\zhl c\liftqs6\qupp e|\ds&\oct
|
||||
\itieu5h\hl h&\tx ~~~gra---*\itied4h\hu h\en
|
||||
\notes|\ibbl0j3\qb0h\tqb0l\en
|
||||
\notes|\ibbl1k0\qb1{ohl}\tqb1o\en
|
||||
\notes\zhl c\liftqs6\qupp e|\ds&\oct
|
||||
\ttie5\ibl4c0\qb4h&\ttie4\ibu5g{-3}\qb5h\en
|
||||
\notes|\ibbl0j3\qb0h\tqb0l&\oct\qb4a&\tx ---*\tqh5a\en
|
||||
\notes|\ibbl1k0\qb1o\qb1h&\oct\qb4b&\tx ~~ti~-*\cu b\en
|
||||
\notes|\qb1l\tqb1o&\oct\tqb4c&\tx a*\cu c\en
|
||||
\bar
|
||||
%Takt 10
|
||||
\notes\zhl c\liftqs6\qupp d|\ds&\oct
|
||||
\qlp d&\tx ~~~ple---*\ibsluru4e\qup d\en
|
||||
\notes|\ibbu1g3\bigaccid\qb1{^f}\tqh1h\en
|
||||
\notes|\ibbu2i0\qb2k\qb2f\en
|
||||
\notes|\qb2h\tqh2k&\oct\cl e&\tubslur4f\cu e\en
|
||||
\notes\zhl c\liftqs6\qupp d|\ds&\oct\ql d&\tx na,*\qu d\en
|
||||
\notes|\ibbu1g3\qb1f\tqh1h\en
|
||||
\notes|\ibbu2i0\qb2{kfh}\tqh2k&\qp&\qp\en
|
||||
\endpiece
|
||||
\end{music}
|
||||
This example was coded as:
|
||||
\begin{quote}\begin{verbatim}
|
||||
\def\oct{\advance\transpose by 7}
|
||||
\def\liftqs#1{\raise#1\Interligne\qs}
|
||||
\parindent0pt
|
||||
\sepbarrules
|
||||
\instrumentnumber{3}
|
||||
\generalmeter{\meterC}
|
||||
\setinterinstrument2{3\Interligne}
|
||||
\setsize3\tinyvalue
|
||||
\setsize2\tinyvalue
|
||||
\setclef1\bass
|
||||
\setstaffs1{2}
|
||||
\startpiece\addspace\afterruleskip
|
||||
%Takt 9
|
||||
\notes\zhl c\liftqs6\qupp e|\ds&\oct
|
||||
\itieu5h\hl h&\tx ~~~gra---*\itied4h\hu h\en
|
||||
\notes|\ibbl0j3\qb0h\tqb0l\en
|
||||
\notes|\ibbl1k0\qb1{ohl}\tqb1o\en
|
||||
\notes\zhl c\liftqs6\qupp e|\ds&\oct
|
||||
\ttie5\ibl4c0\qb4h&\ttie4\ibu5g{-3}\qb5h\en
|
||||
\notes|\ibbl0j3\qb0h\tqb0l&\oct\qb4a&\tx ---*\tqh5a\en
|
||||
\notes|\ibbl1k0\qb1o\qb1h&\oct\qb4b&\tx ~~ti~-*\cu b\en
|
||||
\notes|\qb1l\tqb1o&\oct\tqb4c&\tx a*\cu c\en
|
||||
\bar
|
||||
%Takt 10
|
||||
\notes\zhl c\liftqs6\qupp d|\ds&\oct
|
||||
\qlp d&\tx ~~~ple---*\ibsluru4e\qup d\en
|
||||
\notes|\ibbu1g3\bigaccid\qb1{^f}\tqh1h\en
|
||||
\notes|\ibbu2i0\qb2k\qb2f\en
|
||||
\notes|\qb2h\tqh2k&\oct\cl e&\curve222\tubslur4f\cu e\en
|
||||
\notes\zhl c\liftqs6\qupp d|\ds&\oct\ql d&\tx na,*\qu d\en
|
||||
\notes|\ibbu1g3\qb1f\tqh1h\en
|
||||
\notes|\ibbu2i0\qb2{kfh}\tqh2k&\qp&\qp\en
|
||||
\endpiece
|
||||
\end{verbatim}\end{quote}
|
310
musixtex/doc/musixdoc/summary.tex
Normal file
310
musixtex/doc/musixdoc/summary.tex
Normal file
|
@ -0,0 +1,310 @@
|
|||
\newgeometry{margin=0.5in}
|
||||
\makeatletter
|
||||
\def\@makeschapterhead#1{} % omit chapter head to save space
|
||||
\chapter*{}
|
||||
\addcontentsline{toc}{chapter}{Summary of Denotations}
|
||||
\def\@makeschapterhead#1{% restore usual definition
|
||||
\vspace*{50\p@}%
|
||||
{\parindent \z@ \raggedright
|
||||
\normalfont
|
||||
\interlinepenalty\@M
|
||||
\Huge \bfseries #1\par\nobreak
|
||||
\vskip 40\p@
|
||||
}}
|
||||
\makeatother
|
||||
\parskip0pt plus 2pt
|
||||
\parindent0pt
|
||||
\thispagestyle{empty}
|
||||
\centerline{\frtbf Pitches}
|
||||
\smallskip
|
||||
\setclef1\bass
|
||||
\afterruleskip2pt
|
||||
\newcommand{\bs}{\ttfamily\footnotesize\char92}
|
||||
\begin{footnotesize}\ttfamily
|
||||
\nostartrule\startpiece%
|
||||
%
|
||||
% Pitches
|
||||
%
|
||||
\addspace\afterruleskip
|
||||
\notes\wh{`ABCDEFG}\wh{!ABCDEFG}\wh{HIJKLMNabcde}\off{-26\noteskip}%
|
||||
\zchar{14}{\llap`A}\sk
|
||||
\zchar{14}{\llap`B}\sk
|
||||
\zchar{14}{\llap`C}\sk
|
||||
\zchar{14}{\llap`D}\sk
|
||||
\zchar{14}{\llap`E}\sk
|
||||
\zchar{14}{\llap`F}\sk
|
||||
\zchar{14}{\llap`G}\sk
|
||||
\zchar{14}A\sk
|
||||
\zchar{14}B\sk
|
||||
\zchar{14}C\sk
|
||||
\zchar{14}D\sk
|
||||
\zchar{14}E\sk
|
||||
\zchar{14}F\sk
|
||||
\zchar{14}G\sk
|
||||
\zchar{-5}{\llap'A}\zchar{14}H\sk
|
||||
\zchar{-5}{\llap'B}\zchar{14}I\sk
|
||||
\zchar{-5}{\llap'C}\zchar{14}J\sk
|
||||
\zchar{-5}{\llap'D}\zchar{14}K\sk
|
||||
\zchar{-5}{\llap'E}\zchar{14}L\sk
|
||||
\zchar{-5}{\llap'F}\zchar{14}M\sk
|
||||
\zchar{-5}{\llap'G}\zchar{14}N\sk
|
||||
\zchar{14}a\sk
|
||||
\zchar{14}b\sk
|
||||
\zchar{14}c\sk
|
||||
\zchar{14}d\sk
|
||||
\zchar{14}e\sk\en
|
||||
\stoppiece\vskip-7\Interligne\setclef1\treble\contpiece
|
||||
\notes\wh{abcdefg}\wh{hijklmno}\wh{pqrstuvwxyz}\off{-26\noteskip}%
|
||||
\zchar{-8}a\sk
|
||||
\zchar{-8}b\sk
|
||||
\zchar{-8}c\sk
|
||||
\zchar{-8}d\sk
|
||||
\zchar{-8}e\sk
|
||||
\zchar{-8}f\sk
|
||||
\zchar{-8}g\sk
|
||||
\zchar{-8}h\zchar{-4}{\llap'a}\sk
|
||||
\zchar{-8}i\zchar{-4}{\llap'b}\sk
|
||||
\zchar{-8}j\zchar{-4}{\llap'c}\sk
|
||||
\zchar{-8}k\zchar{-4}{\llap'd}\sk
|
||||
\zchar{-8}l\zchar{-4}{\llap'e}\sk
|
||||
\zchar{-8}m\zchar{-4}{\llap'f}\sk
|
||||
\zchar{-8}n\zchar{-4}{\llap'g}\sk
|
||||
\zchar{-8}o\zchar{-4}{\llap{'\kern-2pt'}a}\sk
|
||||
\zchar{-8}p\zchar{-4}{\llap{'\kern-2pt'}b}\sk
|
||||
\zchar{-8}q\zchar{-4}{\llap{'\kern-2pt'}c}\sk
|
||||
\zchar{-8}r\zchar{-4}{\llap{'\kern-2pt'}d}\sk
|
||||
\zchar{-8}s\zchar{-4}{\llap{'\kern-2pt'}e}\sk
|
||||
\zchar{-8}t\zchar{-4}{\llap{'\kern-2pt'}f}\sk
|
||||
\zchar{-8}u\zchar{-4}{\llap{'\kern-2pt'}g}\sk
|
||||
\zchar{-8}v\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}a}\sk
|
||||
\zchar{-8}w\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}b}\sk
|
||||
\zchar{-8}x\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}c}\sk
|
||||
\zchar{-8}y\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}d}\sk
|
||||
\zchar{-8}z\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}e}\sk\en
|
||||
\stoppiece
|
||||
\smallskip
|
||||
\centerline{\frtbf Notes and Accidentals}
|
||||
%
|
||||
% Notes& Accidentals
|
||||
%
|
||||
\contpiece
|
||||
\Notes
|
||||
\zchar{-4}{\eightrm Accidentals:}%
|
||||
\zchar9{\bs maxima}\maxima i\relax
|
||||
\zchar{12}{\bs longa}\longa i%
|
||||
\zchar9{\bs breve}\breve i%
|
||||
\zchar{12}{\bs wq}\wq i%
|
||||
\zchar{12}{\bs wqq}\wqq i%
|
||||
\zchar{12}{\bs wh}\wh i%
|
||||
\zchar{12}{\bs hu}\zchar{-4}>\hu{>f}%
|
||||
\zchar{12}{\bs hl}\loff{\zchar{-4}{\bs cdsh}}\cdsh l\hl l%
|
||||
\zchar{12}{\bs qu}\zchar{-4}\^\qu{^f}%
|
||||
\zchar{12}{\bs ql}\loff{\zchar{-4}{\bs csh}}\csh l\ql l%
|
||||
\zchar{12}{\bs cu}\zchar{-4}=\cu{=f}%
|
||||
\zchar{12}{\bs cl}\loff{\zchar{-4}{\bs cna}}\cna l\cl l%
|
||||
\zchar{12}{\bs ccu}\zchar{-4}\_\ccu{_f}%
|
||||
\zchar{12}{\bs ccl}\loff{\zchar{-4}{\bs cfl}}\cfl l\ccl l%
|
||||
\zchar{12}{\bs cccu}\zchar{-4}<\cccu{<f}%
|
||||
\zchar{12}{\bs cccl}\loff{\zchar{-4}{\bs cdfl}}\cdfl l\cccl l%
|
||||
\multnoteskip{1.2}%
|
||||
\zchar{12}{\bs ccccu}\ccccu f%
|
||||
\zchar{12}{\bs ccccl}\ccccl l%
|
||||
\multnoteskip{.8}%
|
||||
\zchar{12}{\bs grcu}\grcu f%
|
||||
\zchar{12}{\bs grcl}\grcl l\en
|
||||
\stoppiece
|
||||
%
|
||||
% various note heads
|
||||
%
|
||||
\contpiece
|
||||
\Notes
|
||||
\multnoteskip{1.1}%
|
||||
\zchar{10}{\bs dqu$^{123}$}\dqu g%
|
||||
\zchar{10}{\bs yqu$^{123}$}\yqu g%
|
||||
\multnoteskip{.9}%
|
||||
\zchar{10}{\bs dcqu$^2$}\dcqu g%
|
||||
\zchar{10}{\bs dhqu$^2$}\dhqu g%
|
||||
\zchar{10}{\bs doqu$^2$}\doqu g%
|
||||
\zchar{10}{\bs xqu$^2$}\xqu g%
|
||||
\zchar{10}{\bs oxqu$^2$}\oxqu g%
|
||||
\zchar{10}{\bs roqu$^2$}\roqu g%
|
||||
\zchar{10}{\bs tgqu$^2$}\tgqu f%
|
||||
\zchar{10}{\bs kqu$^2$}\kqu f%
|
||||
\zchar{10}{\bs squ$^3$}\squ g%
|
||||
\zchar{10}{\bs lsqu$^3$}\lsqu j%
|
||||
\zchar{10}{\bs rsqu$^3$}\rsqu k%
|
||||
\zchar{10}{\bs cqu$^4$}\cqu g%
|
||||
\zchar{10}{\bs cql$^4$}\cql k%
|
||||
\zchar{10}{\bs chu$^4$}\chu g%
|
||||
\zchar{10}{\bs chl$^4$}\chl k\en
|
||||
%
|
||||
% Pointed Notes and Accents
|
||||
%
|
||||
\stoppiece
|
||||
\vspace*{-2ex}
|
||||
\centerline{\frtbf Pointed Notes and Accents}
|
||||
\contpiece
|
||||
\Notes
|
||||
\zchar{-5}{\eightrm Accent on beam with prefix {\tt b} and beam reference
|
||||
number instead of the pitch}%
|
||||
\zchar{13}{\bs lpz}\lpz f\qu f%
|
||||
\zchar{13}{\bs upz}\upz l\ql l%
|
||||
\zchar{13}{\bs lsf}\lsf f\qu f%
|
||||
\zchar{13}{\bs usf}\usf l\ql l%
|
||||
\zchar{13}{\bs lst}\lst f\qu f%
|
||||
\zchar{13}{\bs ust}\ust l\ql l%
|
||||
\zchar{13}{\bs lppz}\lppz f\qu f%
|
||||
\zchar{13}{\bs uppz}\uppz l\ql l%
|
||||
\zchar{13}{\bs lsfz}\lsfz f\qu f%
|
||||
\zchar{13}{\bs usfz}\usfz l\ql l%
|
||||
\zchar{13}{\bs lpzst}\lpzst f\qu f%
|
||||
\zchar{13}{\bs upzst}\upzst l\ql l%
|
||||
\zchar{16}{\bs downbow}\zchar9\downbow\ql l%
|
||||
\zchar{13}{\bs upbow}\zchar9\upbow\ql l%
|
||||
\zchar{16}{\bs flageolett}\flageolett l\ql l%
|
||||
\zchar{13}{\bs whp}\whp i%
|
||||
\zchar{13}{\bs qupp}\qupp h\en
|
||||
\stoppiece
|
||||
\centerline{\frtbf Clefs}
|
||||
%
|
||||
% clefs
|
||||
%
|
||||
\setclefsymbol1\empty
|
||||
%\setlines 11\relax
|
||||
\nostartrule\contpiece
|
||||
\NOtes
|
||||
\zchar{13}{\bs trebleclef}\zchar0\trebleclef\sk
|
||||
\zchar9{\bs altoclef}\zchar0\altoclef\sk
|
||||
\zchar{13}{\bs bassclef}\zchar0\bassclef\sk
|
||||
\zchar9{\bs smalltrebleclef}\zchar0\smalltrebleclef\sk
|
||||
\zchar{13}{\bs smallaltoclef}\zchar0\smallaltoclef\sk
|
||||
\zchar9{\bs smallbassclef}\zchar0\smallbassclef\sk
|
||||
\zchar{13}{\bs drumclef$^2$}\zchar0\drumclef\sk
|
||||
\zchar9{\bs gregorianCclef$^3$}\zchar0\gregorianCclef\sk
|
||||
\zchar{13}{\bs gregorianFclef$^3$}\zchar0\gregorianFclef\sk
|
||||
\zchar9{\bs oldGclef$^4$}\zchar0\oldGclef\sk\en
|
||||
\zstoppiece
|
||||
%
|
||||
% Rests
|
||||
%
|
||||
\centerline{\frtbf Rests}
|
||||
\setlines 15\relax
|
||||
\nostartrule
|
||||
\resetclefsymbols\contpiece
|
||||
\Notes
|
||||
\multnoteskip{0.8}%
|
||||
\zchar{13}{\bs qqs}\qqs\qsk
|
||||
\zchar{13}{\bs hs}\hs
|
||||
\zchar{13}{\bs qs}\qs
|
||||
\zchar{13}{\bs ds}\ds
|
||||
\zchar{13}{\bs qp}\qp
|
||||
\zchar{13}{\bs hp}\hp
|
||||
\zchar{13}{\bs qqsp}\qqsp\qsk
|
||||
\zchar{13}{\bs hsp}\hsp
|
||||
\zchar{13}{\bs qsp}\qsp
|
||||
\zchar{13}{\bs dsp}\dsp
|
||||
\zchar{13}{\bs qpp}\qpp
|
||||
\zchar{13}{\bs hpp}\hpp
|
||||
\multnoteskip{1.5}%
|
||||
\zchar{9}{\bs lifthpause}\roff{\lifthpause5}\sk
|
||||
\zchar{13}{\bs pause}\pause
|
||||
\zchar{13}{\bs pausep}\pausep
|
||||
\zchar{9}{\bs liftpause}\roff{\liftpause4}\sk
|
||||
\zchar{13}{\bs PAuse}\PAuse
|
||||
\zchar{13}{\bs PAUSe}\PAUSe
|
||||
\zchar{13}{\bs Hpause$^4$}\Hpause i{.8}\sk\en
|
||||
\stoppiece\vskip-2\Interligne
|
||||
%
|
||||
\smallskip
|
||||
\centerline{\frtbf Miscellaneous Symbols}
|
||||
%
|
||||
% more Symbols
|
||||
%
|
||||
\nostartrule
|
||||
\contpiece
|
||||
\Notes\multnoteskip{0.25}\zchar{-4}{\bs allabreve}%
|
||||
\zchar{14}{\bs tr}\tr n%
|
||||
\zchar0\allabreve\qqsk
|
||||
\zchar{14}{\bs Trille}\Trille n{0.9}\sk
|
||||
\zchar{14}{\bs trille}\zchar{-4}{\bs meterC}\trille n{0.9}\zchar0\meterC\sk
|
||||
\zchar{14}{\bs shake}\zchar{-4}{\bs reverseC}\shake n\zchar0\reverseC\sk
|
||||
\zchar{14}{\bs Shake}\zchar{-8}{\bs reverseallabreve}\Shake n%
|
||||
\zchar0\reverseallabreve\hqsk
|
||||
\zchar{18}{\bs mordent}\mordent n\hqsk
|
||||
\zchar{14}{\bs Mordent}\Mordent n\zchar{-4}{\bs meterplus}%
|
||||
\zchar0{\meterfrac{3\meterplus2\meterplus3}8}\hqsk
|
||||
\zchar{18}{\bs turn}\turn n\hqsk
|
||||
\zchar{18}{\bs backturn}\backturn n\zchar{-4}{\bs duevolte}\duevolte\hqsk
|
||||
\zchar{14}{\bs Shakel}\Shakel n\sk
|
||||
\zchar{18}{\bs Shakesw}\Shakesw n\zchar{-4}{\bs l[r]par}%
|
||||
\lpar f\rpar f{\stemlength4\qu f}%
|
||||
\zchar{14}{\bs Shakene}\Shakene n\sk
|
||||
\zchar{18}{\bs Shakenw}\Shakenw n\sk
|
||||
\zchar{14}{\bs trt}\trt n\hqsk\en
|
||||
\stoppiece
|
||||
%
|
||||
% again
|
||||
%
|
||||
\contpiece
|
||||
\NOtes\zchar9{\bs metron}\zchar{13}{\small\metron\qu{99}}\sk\en
|
||||
\setvoltabox1\bar
|
||||
\NOtes\loffset2{\zchar{17}{\bs setvoltabox}}\en
|
||||
\setvolta2\setendvolta\rightrepeat
|
||||
\NOtes\loff{\zchar{17}{\bs setvolta}}\en
|
||||
\doublebar
|
||||
\notes\zchar{17}{\kern-\afterruleskip\bs coda}\coda n\en\bar
|
||||
\notes\zchar{17}{\kern-\afterruleskip\bs Coda}\Coda n\en
|
||||
\NOtes
|
||||
\zchar{17}{\bs segno}\segno n\sk
|
||||
\zchar{17}{\kern-2\afterruleskip\bs Segno}\Segno\hsk
|
||||
\zchar{-4}{\bs caesura}\sk\caesura
|
||||
\zchar{-4}{\bs cbreath}\cbreath\qsk
|
||||
\zchar{9}{\bs PED}\PED\hsk
|
||||
\zchar{9}{\bs sPED}\sPED\hsk\qqsk
|
||||
\zchar{9}{\bs pdld}\pdld\hsk\qsk
|
||||
\zchar{9}{\bs pdlud}\pdlud\hsk\qsk
|
||||
\zchar{9}{\bs pdlu}\pdlu\hsk\qqsk
|
||||
\zchar{9}{\bs DEP}\DEP\hsk
|
||||
\zchar{9}{\bs sDEP}\sDEP\hsk\en
|
||||
\stoppiece
|
||||
%
|
||||
% and again ...
|
||||
%
|
||||
\contpiece
|
||||
\Notes
|
||||
\zchar{-14}{\eightrm $^1$musixdia.tex\quad$^2$musixper.tex\quad$^3$musixgre.tex%
|
||||
\quad$^4$musixlit.tex}%
|
||||
\zchar{17}{\bs fermataup}\fermataup l%
|
||||
\zchar{-8}{\bs fermatadown}\fermatadown f{\stemlength3\ql i}%
|
||||
\zchar{13}{\bs Fermataup}\Fermataup l%
|
||||
\zchar{-4}{\kern8pt\bs Fermatadown}\Fermatadown f\wh i%
|
||||
\loff{\zchar{17}{\bs arpeggio d5}}\arpeggio d5\sk
|
||||
\multnoteskip{.66}%
|
||||
\loff{\zchar{13}{\bs bracket}}\bracket e{10}\zq n\ql e\en
|
||||
\notes\stemlength3%
|
||||
\zchar{17}{\bs uptrio}\uptrio{11}16\ql l\ql n\bsk\bsk
|
||||
\zchar{-8}{\bs downtrio}\downtrio{-5}17\qu c\qu e\en
|
||||
\Notes
|
||||
\zchar{17}{\bs octfinup}\octfinup n{.8}%
|
||||
\zchar{-4}{\bs octfindown}\octfindown K{.8}\sk\hsk
|
||||
\zchar{17}{\bs slide}%
|
||||
\slide i58\slide i57\slide i56\slide i55\slide i54%
|
||||
\slide i53\slide i52\slide i51\slide i5{-1}%
|
||||
\slide i5{-2}\slide i5{-3}\slide i5{-4}\slide i5{-5}%
|
||||
\slide i5{-6}\slide i5{-7}\slide i5{-8}\sk\en
|
||||
\leftrepeat
|
||||
\Notes
|
||||
\loffset2{\zchar{-4}{\bs leftrepeat}}%
|
||||
\boxitsep=2pt\zchar{17}{\bs boxit A}\zchar9{\boxit A}\en
|
||||
\leftrightrepeat
|
||||
\Notes
|
||||
\loffset2{\zchar{-8}{\bs leftrightrepeat}}%
|
||||
\zchar{17}{\bs circleit B}\uptext{\circleit B}\en
|
||||
\rightrepeat
|
||||
\NOtes
|
||||
\loffset2{\zchar{-4}{\bs rightrepeat}}\en
|
||||
\endpiece\advance\textheight-40mm\eject%
|
||||
\endmuflex
|
||||
\end{footnotesize}
|
||||
\restoregeometry
|
||||
|
217
musixtex/doc/musixdoc/transposition.tex
Normal file
217
musixtex/doc/musixdoc/transposition.tex
Normal file
|
@ -0,0 +1,217 @@
|
|||
\chapter{Transposition and Octaviation}\label{octaviation}
|
||||
Two different subjects are discussed in this section. First, there
|
||||
are commands that cause notes to be printed at different pitches than
|
||||
entered. We shall refer to this as \ital{logical} transposition.
|
||||
Second, there are notations for octaviation that do
|
||||
not otherwise alter the appearance of the score, which we'll call
|
||||
\ital{octaviation lines}.
|
||||
|
||||
\section{Logical transposition and octaviation}
|
||||
|
||||
Logical transposition is controlled by an integer-valued \TeX\ register
|
||||
\keyindex{transpose}. Its default value is $0$. If you enter
|
||||
\verb|\transpose=|$n$ outside of notes commands, then all subsequent pitches specified by
|
||||
letters will be transposed by $n$ positions. Normally this method would be
|
||||
used to transpose an entire piece. Pitches specified with
|
||||
numbers will not be affected, so if you think you will ever want to
|
||||
transpose a piece, you should enter all note pitches with letters.
|
||||
|
||||
One way to transpose up or down by one octave would be to increase or decrease
|
||||
\keyindex{transpose} by $7$.
|
||||
A more convenient way to transpose locally up or down by one octave
|
||||
makes use respectively of the characters
|
||||
\verb|'| (close-quote, interpreted as an \itxem{acute accent}) and \verb|`| (open-quote, interpreted as
|
||||
a \itxem{grave accent}),
|
||||
placed immediately before the letter specifying the pitch. So
|
||||
for example \verb|\qu{'ab}| is equivalent to \verb|\qu{hi}| and
|
||||
\verb|\qu{`kl}| is equivalent to \verb|\qu{de}|. These characters have
|
||||
cumulative effects; thus,
|
||||
for example, \verb|\qu{''A'A}| and \verb|\qu{''A}\qu{'A}| are both equivalent to \verb|\qu{ah}|.
|
||||
Alterations to the value of
|
||||
\verb|\transpose| in notes commands are \emph{local}: when changing to a different staff or
|
||||
instrument or encountering \verb|\en|, \verb|\transpose| will be reset to the
|
||||
value it had before the accents were used. (That value is stored in
|
||||
another register called \keyindex{normaltranspose}). Another way to localize
|
||||
changes to \verb|\transpose| is to create an explicit \TeX\ ''group'' by enclosing commands in \verb|{...}| braces.
|
||||
|
||||
At any point it is possible to reset the \verb|\transpose| register
|
||||
explicitly to the \verb|\normaltranspose| value
|
||||
by prefacing a pitch indication with
|
||||
``\verb|!|''. Thus \verb|\qu{!a'a}| always
|
||||
gives the note \verb|a| and its upper octave \verb|h|, shifted by the
|
||||
value of {\Bslash normaltranspose},
|
||||
regardless of the number of grave and
|
||||
acute accents earlier in that group.
|
||||
|
||||
\section{Behavior of accidentals under logical transposition}\label{transposeaccids}
|
||||
The above processes indeed change the vertical position of the note heads
|
||||
and associated symbols (e.g., stems and beams), but they don't take
|
||||
care of the necessary changes of accidentals when transposing. For example,
|
||||
suppose an F$\sharp$ occurs in the key of C major. If the piece is
|
||||
transposed up three steps to the key of F, the F$\sharp$ should logically
|
||||
become a
|
||||
B$\natural$. But if all you do is set \verb|\transpose=3|, the note will
|
||||
be typeset as a B$\sharp$. In other words, \musixtex\ will interpret the~\verb|\sh|
|
||||
or~\verb|^| to mean ``print a $\sharp$''.
|
||||
|
||||
Naturally there is a solution, but it requires the typesetter to plan
|
||||
ahead: To force accidentals to behave well under transposition, they
|
||||
must be entered according to the \ital{relative
|
||||
accidental convention}. To alert \musixtex\ that you are using this
|
||||
convention to enter notes, you must issue the command
|
||||
\keyindex{relativeaccid}. Once you have done this, the meaning of
|
||||
accidental macros and characters (accents) in the input file is changed.
|
||||
Under the convention, when for example a
|
||||
\verb|\sh| is entered, it indicates a note that is supposed to sound
|
||||
\ital{one half step higher than what it would normally be under the
|
||||
current key signature}. Flats and naturals on entry similarly indicate
|
||||
notes one half step lower or at the same pitch as what the key signature
|
||||
dictates. \musixtex\ will take account of the key signature, and print
|
||||
the correct symbol according to the modern notational convention,
|
||||
provided you have explicitly entered the transposed key signature using
|
||||
for example \verb|\generalsignature|.
|
||||
|
||||
Many people have a difficult time understanding how this works, so
|
||||
here are two simple examples in great detail. Consider the case already mentioned
|
||||
of the F$\sharp$ in the key of C major. With
|
||||
\verb|\relativeaccid| in effect, it should still be entered as \verb|\sh f|, and
|
||||
with no transposition it will still appear as F$\sharp$. With
|
||||
\verb|\transpose=3| and \verb|\generalsignature{-1}| it will appear
|
||||
(correctly) as B$\natural$. Conversely, suppose you want to enter a
|
||||
B$\natural$ when originally in the key of F. With \verb|\relativeaccid| in effect, it
|
||||
should be entered as \verb|\sh i|. (That's the part that people
|
||||
have the most trouble with: ``If I want a natural, why do I have to enter a sharp?'' Answer:
|
||||
``Go back and re-read the previous paragraph very carefully.'') With no transposition, it will be
|
||||
printed as B$\natural$. Now to transpose this to C major, set
|
||||
\verb|\transpose=-3| and \verb|\generalsignature0|, and it will appear
|
||||
as F$\sharp$.
|
||||
|
||||
If you have invoked \verb|\relativeaccid| and then
|
||||
later for some reason wish to revert to the ordinary convention,
|
||||
enter \keyindex{absoluteaccid}.
|
||||
|
||||
\section{Octaviation lines}
|
||||
The first kind of notation for octave transposition covers a
|
||||
horizontal range that must be specified at the outset. The sequence
|
||||
|
||||
\medskip
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOTEs\octfinup{10}{3.5}\ql{!'a}\ql b\ql c\ql d\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent can be coded as
|
||||
\verb|\NOTEs\octfinup{10}{3.5}\qu a\qu b\qu c\qu d\en|.
|
||||
\zkeyindex{octfinup}
|
||||
Here, the dashed line is at staff level 10 and extends \verb|3.5\noteskip|.
|
||||
Conversely, lower octaviation can be coded. For example
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOTEs\octfindown{-5}{2.6}\ql j\ql i\ql h\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent is coded as
|
||||
\verb|\NOTEs\octfindown{-5}{2.6}\ql j\ql i\ql h\en|.
|
||||
\zkeyindex{octfindown}
|
||||
To change the text that is part of these notations, redefine one of
|
||||
the macros \keyindex{octnumberup} or \keyindex{octnumberdown}. The reason for
|
||||
the distinction between up and down is that, traditionally, upper octaviation
|
||||
only uses the figure
|
||||
``8'' to denote its beginning, while lower octaviation uses a more
|
||||
elaborate indication such as \hbox{\ppffsixteen8$^{va}$\kern 0.2em\eightit bassa}. Thus
|
||||
|
||||
\bigskip
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\NOTEs\def\octnumberup{\ppffsixteen8$^{va}$}\octfinup{10}{2.5}\qu c\qu d\qu e\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent is coded
|
||||
|
||||
\noindent\verb|\NOTEs\def\octnumberup{\ppffsixteen8$^{va}$}\octfinup{10}{2.5}\qu c\qu d\qu e\en|
|
||||
|
||||
\noindent while
|
||||
|
||||
\begin{music}
|
||||
\startextract
|
||||
\NOTEs\def\octnumberdown{\ppffsixteen8$_{ba}$}\octfindown{-5}{2.5}\ql l\ql
|
||||
k\ql j\en
|
||||
\endextract
|
||||
\end{music}
|
||||
\noindent is coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\NOTEs\def\octnumberdown{\ppffsixteen8$_{ba}$}%
|
||||
\octfindown{-5}{2.5}\ql l\ql k\ql j\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
The foregoing constructions have the drawbacks that (a) the span must be
|
||||
indicated ahead of time and (b) they cannot extend across a line break.
|
||||
Both restrictions are removed with the use of the alternate macros \keyindex{Ioctfinup},
|
||||
\keyindex{Ioctfindown} and
|
||||
\keyindex{Toctfin}.
|
||||
|
||||
{\Bslash Ioctfinup}~$np$ indicates an upward octave transposition line with reference number
|
||||
$n$ and with dashed line at pitch $p$.
|
||||
By default $n$ must be in the range $[0,5]$, but
|
||||
you can specify a larger maximum number
|
||||
directly with \keyindex{setmaxoctlines}\verb|{|$m$\verb|}|
|
||||
where $7<m\leq 100$\footnote{This may require e-\TeX.}; the
|
||||
reference number will be in the range between $0$ and $m-1$.
|
||||
\label{musixmad_setmaxoctlines}
|
||||
|
||||
Usually $p$ will be numeric and $>9$,
|
||||
but it can also be a letter.
|
||||
{\Bslash Ioctfindown}~$np$ starts a lower octave transposition line at pitch $p$
|
||||
(usually $p<-1$). Both extend until terminated with {\Bslash Toctfin}. The
|
||||
difference between {\Bslash Ioctfinup}~$n$ and {\Bslash Ioctfindown}~$n$ is
|
||||
the relative position of the figure ``8'' with respect to the dashed line, and
|
||||
the sense of the terminating hook As shorthand, \keyindex{ioctfinup} is equivalent to
|
||||
\verb|\Ioctfinup 0| and \keyindex{ioctfindown} is equivalent to
|
||||
\verb|\Ioctfindown 0|.
|
||||
|
||||
For example,
|
||||
|
||||
\medskip
|
||||
\begin{music}\nostartrule
|
||||
\instrumentnumber{1}
|
||||
\setstaffs12
|
||||
\setclef1{6000}
|
||||
%
|
||||
\startextract
|
||||
\notes\wh{CDEFGH}|\wh{cde}\Ioctfinup 1p\wh{fgh}\en
|
||||
\bar
|
||||
\notes\Ioctfindown 2A\wh{IJKLMN}|\wh{ijklmn}\en
|
||||
\bar
|
||||
\Notes\wh{NMLKJI}|\wh{nmlkji}\Toctfin1\en
|
||||
\bar
|
||||
\Notes\wh{HGFED}\Toctfin2\wh C|\wh{hgfedc}\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent is coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\begin{music}\nostartrule
|
||||
\instrumentnumber{1}
|
||||
\setstaffs12
|
||||
\setclef1{6000}
|
||||
%
|
||||
\startextract
|
||||
\notes\wh{CDEFGH}|\wh{cde}\Ioctfinup 1p\wh{fgh}\en
|
||||
\bar
|
||||
\notes\Ioctfindown 2A\wh{IJKLMN}|\wh{ijklmn}\en
|
||||
\bar
|
||||
\Notes\wh{NMLKJI}|\wh{nmlkji}\Toctfin1\en
|
||||
\bar
|
||||
\Notes\wh{HGFED}\Toctfin2\wh C|\wh{hgfedc}\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\end{verbatim}\end{quote}
|
||||
%\check
|
||||
|
||||
The elevation of octaviation lines may be changed in midstream using
|
||||
\keyindex{Liftoctline}~$n$$p$, where $n$ is the reference number of the
|
||||
octave line, and $p$ a (possibly negative) number of
|
||||
\keyindex{internote}s (staff pitch positions) by which elevation of the dashed line should be changed.
|
||||
This may be useful when octaviation lines extend over several systems and the
|
||||
elevation needs to be changed in systems after the one where it was initiated.
|
||||
|
294
musixtex/doc/musixdoc/writingnotes.tex
Normal file
294
musixtex/doc/musixdoc/writingnotes.tex
Normal file
|
@ -0,0 +1,294 @@
|
|||
\chapter{Writing Notes}\label{autostemdirections}
|
||||
There are two major kinds of note macros, those that include a space (of
|
||||
length \keyindex{noteskip}) after
|
||||
the printed symbol, and those that don't cause any space. A single-line melody would be
|
||||
written using the first type. All notes of a chord except the last would
|
||||
use the second.
|
||||
|
||||
Another distinction concerns stemmed notes. Some macros explicitly set the
|
||||
stem direction with either ``\verb|u|'' or ``\verb|l|'' contained in the name of
|
||||
the macro. On the other hand, an ``\verb|a|'' in the macro's name usually signifies
|
||||
\ital{automatic} stem direction selection. In this case notes below the middle
|
||||
staff line will get up stems, otherwise down.
|
||||
|
||||
Note pitches can be specified either by letters or numbers. If no transposition
|
||||
or octaviation is in effect, letters ranging
|
||||
from \verb|a| to \verb|z| represent notes starting with the A below
|
||||
middle C. Upper case letters from \verb|A| to \verb|N| represent pitches
|
||||
two octaves lower than their lower case counterparts. Any letter can be used in
|
||||
any clef, but some users may
|
||||
prefer to use the lower case letters in treble clef, and the upper case ones
|
||||
in bass clef.
|
||||
|
||||
Alternatively, a one- or two-digit, positive or negative integer can always be used.
|
||||
The number represents
|
||||
the vertical position on the staff, with \verb|0| for the lowest line and
|
||||
\verb|1| for the space right above, \ital{regardless of the clef}.
|
||||
Unlike with letters, the
|
||||
associated pitch will depend on the clef, and notes entered this way are
|
||||
immune to transposition and octaviation.
|
||||
|
||||
Notes lower than \verb|A| and higher than \verb|z| can be entered, with
|
||||
either numbers as just described, or with octaviation as will be explained in
|
||||
Chapter~\ref{octaviation}.
|
||||
|
||||
\section{Normal (unbeamed) spacing notes}\label{NormalNotes}
|
||||
In the following, \verb|{|$p$\verb|}| signifies a pitch specification as
|
||||
described above. However it
|
||||
is understood that if the pitch is a single character, the brackets are
|
||||
not necessary, provided that if it is a letter, a space separates the
|
||||
macro from the letter.
|
||||
|
||||
|
||||
\begin{quote}\begin{description}\setlength{\itemsep}{0ex}
|
||||
\item[\keyindex{breve}{\tt\char123}$p${\tt\char125} :]breve (\hbox to 8pt{\zbreve1\hss}) .
|
||||
\item[\keyindex{longa}{\tt\char123}$p${\tt\char125} :]longa (\hbox to8pt{\zlonga1\hss}) .
|
||||
\item[\keyindex{longaa}{\tt\char123}$p${\tt\char125} :]longa with automatic stem direction\footnote{Editor's note: Evidently there is no explicit up-stemmed longa} .
|
||||
\item[\keyindex{maxima}{\tt\char123}$p${\tt\char125} :]maxima (\hbox to16pt{\zmaxima1\hss}) .
|
||||
\item[\keyindex{wq}{\tt\char123}$p${\tt\char125} :]arbitrary duration note (\hbox to8pt{\zwq1\hss})
|
||||
(also used as alternate representation of a \ital{breve}).
|
||||
\item[\keyindex{wqq}{\tt\char123}$p${\tt\char125} :]long arbitrary duration note
|
||||
(\hbox to8pt{\zwqq1\hss}) (also used as alternate
|
||||
representation of a \ital{longa}).
|
||||
\item[\keyindex{wh}{\tt\char123}$p${\tt\char125} :]whole note.
|
||||
\item[\keyindex{hu}{\tt\char123}$p${\tt\char125} :]half note with stem up.
|
||||
\item[\keyindex{hl}{\tt\char123}$p${\tt\char125} :]half note with stem down.
|
||||
\item[\keyindex{ha}{\tt\char123}$p${\tt\char125} :]half note with automatic stem direction
|
||||
\item[\keyindex{qu}{\tt\char123}$p${\tt\char125} :]quarter note with stem up.
|
||||
\item[\keyindex{ql}{\tt\char123}$p${\tt\char125} :]quarter note with stem down.
|
||||
\item[\keyindex{qa}{\tt\char123}$p${\tt\char125} :]quarter note with automatic stem direction.
|
||||
\item[\keyindex{cu}{\tt\char123}$p${\tt\char125} :]eighth note\footnote{The ``{\tt c}''
|
||||
within this macro name stands for the equivalent British term ``crotchet''} with stem up.
|
||||
\item[\keyindex{cl}{\tt\char123}$p${\tt\char125} :]eighth note with stem down.
|
||||
\item[\keyindex{ca}{\tt\char123}$p${\tt\char125} :]eighth note with automatic stem direction.
|
||||
\item[\keyindex{ccu}{\tt\char123}$p${\tt\char125} :]sixteenth note with stem up.
|
||||
\item[\keyindex{ccl}{\tt\char123}$p${\tt\char125} :]sixteenth note with stem down.
|
||||
\item[\keyindex{cca}{\tt\char123}$p${\tt\char125} :]sixteenth note with automatic stem direction.
|
||||
\item[\keyindex{cccu}{\tt\char123}$p${\tt\char125} :]$32$nd note with stem up.
|
||||
\item[\keyindex{cccl}{\tt\char123}$p${\tt\char125} :]$32$nd note with stem down.
|
||||
\item[\keyindex{ccca}{\tt\char123}$p${\tt\char125} :]$32$nd note with automatic stem direction.
|
||||
\item[\keyindex{ccccu}{\tt\char123}$p${\tt\char125} :]$64$th note with stem up.
|
||||
\item[\keyindex{ccccl}{\tt\char123}$p${\tt\char125} :]$64$th note with stem down.
|
||||
\item[\keyindex{cccca}{\tt\char123}$p${\tt\char125} :]$64$th note with automatic stem direction.
|
||||
\item[\keyindex{cccccu}{\tt\char123}$p${\tt\char125} :]$128$th note with stem up.
|
||||
\item[\keyindex{cccccl}{\tt\char123}$p${\tt\char125} :]$128$th note with stem down.
|
||||
\item[\keyindex{ccccca}{\tt\char123}$p${\tt\char125} :]$128$th note with automatic stem direction.
|
||||
\end{description}\end{quote}
|
||||
As an example, the sequence
|
||||
|
||||
%\check
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\Notes\cu c\cl j\en\bar
|
||||
\Notes\ccu c\ccl j\en\bar
|
||||
\Notes\cccu c\cccl j\en\bar
|
||||
\Notes\ccccu c\ccccl j\en\bar
|
||||
\Notes\cccccu c\cccccl j\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
\noindent was coded as
|
||||
\begin{quote}\begin{verbatim}
|
||||
\Notes\cu c\cl j\en\bar
|
||||
\Notes\ccu c\ccl j\en\bar
|
||||
\Notes\cccu c\cccl j\en\bar
|
||||
\Notes\ccccu c\ccccl j\en\bar
|
||||
\Notes\cccccu c\cccccl j\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
|
||||
|
||||
For \keyindex{breve} there is a possibility of
|
||||
confusion with a command in \TeX's math mode that has exactly the same name.
|
||||
However, there will generally be no problem, because inside
|
||||
\verb|\startpiece...\endpiece|,
|
||||
\verb|\breve| will take the musical meaning, while outside, it will have the
|
||||
mathematical one.
|
||||
If for some reason you need the math \verb|\breve| inside, you can use
|
||||
\verb|\endcatcodesmusic...\breve...\catcodesmusic|.
|
||||
|
||||
\section{Non-spacing note heads}
|
||||
These macros are used to create chords. Any number of them can be entered
|
||||
in sequence, followed by a spacing note. All of the note heads will be
|
||||
joined to the spacing note and the stem length will automatically be adjusted
|
||||
as needed.
|
||||
|
||||
\begin{quote}\begin{description}\setlength{\itemsep}{0ex}
|
||||
\item[\keyindex{zq}{\tt\char123}$p${\tt\char125} :]quarter (or shorter) note head.
|
||||
\item[\keyindex{zh}{\tt\char123}$p${\tt\char125} :]half note head.
|
||||
\end{description}\end{quote}
|
||||
%das ???
|
||||
% \begin{remark} Notes of duration longer than whole notes are
|
||||
%always non-spacing. This saves one useless definition, since these notes are
|
||||
%always longer than other simultaneous ones. If needed they can be followed by
|
||||
%\keyindex{sk} to force spacing.
|
||||
%\end{remark}
|
||||
|
||||
\section{Shifted non-spacing note heads}
|
||||
These symbols are used mainly
|
||||
in chords containing an interval of a \ital{second}. They provide note
|
||||
heads shifted either to the left or right of the default position by
|
||||
the width of one note head.
|
||||
|
||||
\begin{quote}\begin{description}\setlength{\itemsep}{0ex}
|
||||
\item[\keyindex{rw}{\tt\char123}$p${\tt\char125} :]whole note head shifted right.
|
||||
\item[\keyindex{lw}{\tt\char123}$p${\tt\char125} :]whole note head shifted left.
|
||||
\item[\keyindex{rh}{\tt\char123}$p${\tt\char125} :]half note head shifted right\footnote{Some may not
|
||||
have realized that half and whole note heads have different shapes}.
|
||||
\item[\keyindex{lh}{\tt\char123}$p${\tt\char125} :]half note head shifted left.
|
||||
\item[\keyindex{rq}{\tt\char123}$p${\tt\char125} :]quarter note head shifted right.
|
||||
\item[\keyindex{lq}{\tt\char123}$p${\tt\char125} :]quarter note head shifted left.
|
||||
\end{description}\end{quote}
|
||||
|
||||
\section{Non-spacing notes}
|
||||
These macros provide normal notes, with stems if applicable, but without any
|
||||
following space.
|
||||
\begin{quote}\begin{description}\setlength{\itemsep}{0ex}
|
||||
\item[\keyindex{zhu}\pitchp~:]half note with stem up but no spacing. It acts like
|
||||
\verb|\hu| for chord building, i.e., it will join together any immediately
|
||||
preceding non-spacing note heads.
|
||||
\item[\keyindex{zhl}\pitchp~:]half note with stem down but no spacing. It acts like
|
||||
\keyindex{hl} for chord building.
|
||||
\item[\keyindex{zqu}\pitchp~:]quarter note with stem up but no spacing. It acts like
|
||||
\verb|\qu| for chord building.
|
||||
\item[\keyindex{zql}\pitchp~:]quarter note with stem down but no spacing. It acts
|
||||
like \verb|\ql| for chord building.
|
||||
\item[\keyindex{zcu}\pitchp, \keyindex{zccu}, \keyindex{zcccu},
|
||||
\keyindex{zccccu}, \keyindex{zcccccu}
|
||||
:]eighth, ..., note with stem up but no spacing. They act like
|
||||
\verb|\cu| for chord building.
|
||||
\item[\keyindex{zcl}\pitchp, \keyindex{zccl}, \keyindex{zcccl},
|
||||
\keyindex{zccccl}, \keyindex{zcccccl}
|
||||
:]eighth, ..., note with stem down but no spacing. They act
|
||||
like \verb|\cl| for chord building.
|
||||
\item[\keyindex{rhu}\pitchp, \keyindex{rhl}, \keyindex{rqu}, \keyindex{rql},
|
||||
\keyindex{rcu}, \keyindex{rcl} :] \verb|\rhu| acts like \verb|\zhu|,
|
||||
but the note is shifted one note width to the right; others analogous.
|
||||
\item[\keyindex{lhu}\pitchp, \keyindex{lhl}, \keyindex{lqu}, \keyindex{lql},
|
||||
\keyindex{lcu}, \keyindex{lcl} :]same
|
||||
as above, but the note is shifted one note width to the left.
|
||||
\item[\keyindex{zw}\pitchp~:]whole note with no following space.
|
||||
\item[\keyindex{zwq}\pitchp~:]arbitrary duration note
|
||||
(\hbox to8pt{\zwq1\hss}) with no following space.
|
||||
\item[\keyindex{zbreve}\pitchp~:]breve
|
||||
(\hbox to8pt{\zbreve1\hss}) with no following space.
|
||||
\item[\keyindex{zlonga}\pitchp~:]longa
|
||||
(\hbox to8pt{\zlonga1\hss}) with no following space.
|
||||
\item[\keyindex{zmaxima}\pitchp~:]maxima
|
||||
(\hbox to16pt{\zmaxima1\hss}) with no following space.
|
||||
\end{description}\end{quote}
|
||||
%\check
|
||||
|
||||
\section{Spacing note heads}
|
||||
|
||||
Although not needed in normal music scores, these may be useful in
|
||||
very special cases.
|
||||
|
||||
\begin{quote}\begin{description}\setlength{\itemsep}{0ex}
|
||||
\item[\keyindex{nh}{\tt\char123}$p${\tt\char125} :]spacing half note head.
|
||||
\item[\keyindex{nq}{\tt\char123}$p${\tt\char125} :]spacing quarter note head.
|
||||
\end{description}\end{quote}
|
||||
|
||||
\noindent As an example, the sequence
|
||||
|
||||
\begin{music}\nostartrule
|
||||
\startextract
|
||||
\notes\nq c\nq j\en\barre
|
||||
\Notes\nh c\nh j\en\barre
|
||||
\notes\nq {cdef}\en
|
||||
\zendextract
|
||||
\end{music}
|
||||
|
||||
\noindent was coded as
|
||||
|
||||
\begin{quote}\begin{verbatim}
|
||||
\notes\nq c\nq j\en\barre
|
||||
\Notes\nh c\nh j\en\barre
|
||||
\notes\nq {cdef}\en
|
||||
\end{verbatim}\end{quote}
|
||||
|
||||
Non spacing variants are also provided, namely
|
||||
\keyindex{znh} and \keyindex{znq}.
|
||||
% DAS: why???
|
||||
|
||||
\section{Dotted notes}\label{dots}
|
||||
|
||||
By appending one or two \verb|p|'s (for ``pointed'') to the name, many of the
|
||||
macros just introduced provide one or two dots after the notehead:
|
||||
\keyindex{whp}, \keyindex{whpp},
|
||||
\keyindex{zwp}, \keyindex{zwpp},
|
||||
\keyindex{hup}, \keyindex{hupp},
|
||||
\keyindex{hlp}, \keyindex{hlpp},
|
||||
\keyindex{hap}, \keyindex{happ},
|
||||
\keyindex{zhp}, \keyindex{zhpp},
|
||||
\keyindex{qup}, \keyindex{qupp},
|
||||
\keyindex{qlp}, \keyindex{qlpp},
|
||||
\keyindex{qap}, \keyindex{qapp},
|
||||
\keyindex{zqp}, \keyindex{zqpp},
|
||||
\keyindex{cup}, \keyindex{cupp},
|
||||
\keyindex{clp}, \keyindex{clpp},
|
||||
\keyindex{qbp} and \keyindex{qbpp}, all followed by a pitch argument.
|
||||
The ones that start with ``\verb|z|'' are used in chords.
|
||||
The dot(s) will be raised if the note is on a line.
|
||||
|
||||
A more explicit way uses one of the macros
|
||||
\keyindex{pt}{\tt\char123}$p${\tt\char125},
|
||||
\keyindex{ppt}{\tt\char123}$p${\tt\char125}, or
|
||||
\keyindex{pppt}{\tt\char123}$p${\tt\char125} right
|
||||
before any note macro to place one to three dots after the normal note
|
||||
head at pitch $p$. Again they will be raised if on a line. In fact this is the only
|
||||
way to get a triple-dotted note.
|
||||
For example a
|
||||
quarter note with one dot could be coded \verb|\pt h\qu h|, with two dots
|
||||
as \keyindex{ppt}\verb| h\qu h| and with three as
|
||||
\keyindex{pppt}\verb| h\qu h|.
|
||||
As a matter of style, if two voices share one staff, the dots in
|
||||
the lower voice should be \emph{lowered} if the note is on a line. For
|
||||
this you can use \keyindex{lpt},
|
||||
\keyindex{lppt} and \keyindex{lpppt}.
|
||||
|
||||
Yet another method for posting a dot is to insert a \ital{period} before
|
||||
the letter representing the pitch. Thus \verb|\qu{.a}| is equivalent to
|
||||
either \verb|\pt a\qu a| or \verb|\qup a| . This may be useful when
|
||||
using \ital{collective coding}, which will be discussed in the next
|
||||
section.
|
||||
|
||||
Non-spacing dotted notes can be produced using
|
||||
\keyindex{zhup}, \keyindex{zhlp}, \keyindex{zqup}, \keyindex{zqlp},
|
||||
\keyindex{zcup}, \keyindex{zclp}, \keyindex{zqbp}, followed by a pitch,
|
||||
and similarly with two \verb|p|'s for
|
||||
double-dotted notes.
|
||||
The following provide dotted chord notes shifted left or right:
|
||||
\keyindex{lhp},
|
||||
\keyindex{rhp},
|
||||
\keyindex{lqp},
|
||||
\keyindex{rqp},
|
||||
and similarly with two \verb|p|'s for
|
||||
double-dotted notes.
|
||||
|
||||
|
||||
\section{Sequences of equally spaced notes; collective coding}
|
||||
\label{CollectiveCoding}
|
||||
|
||||
It isn't necessary to write a separate macro
|
||||
sequence \verb|\notes...\en| for every individual column of notes.
|
||||
Rather, a single such macro can contain all the notes in all staves
|
||||
over an extended horizontal range, as long as all spacings are equal or
|
||||
multiples of a unique value of \keyindex{noteskip}.
|
||||
The notes in each staff could be entered one after another as normal
|
||||
spacing notes as already described in Section~\ref{NormalNotes}. Then
|
||||
each spacing note will cause the insertion point to advance horizontally by the
|
||||
operative value of \verb|\noteskip| defined by the choice of
|
||||
\verb|\notes|, \verb|\Notes|, \verb|\NOtes|, etc. Of course in such sequences
|
||||
non-spacing chord notes can be entered right before their associated
|
||||
spacing note. If you need to skip forward by one \verb|\noteskip|, for
|
||||
example after a quarter note when there are two eighth notes in
|
||||
another staff, you can use \keyindex{sk}.
|
||||
|
||||
If there are only spacing notes in such a sequence, a further
|
||||
simplification is available, called \ital{collective coding}. For instance
|
||||
\verb|\qu{cdefghij}| writes the C major scale in quarters with
|
||||
up stems. Similarly \verb|\cl{abcdef^gh}| writes the
|
||||
\ital{A-minor} scale in non-beamed eighths. (Here ``\verb|^|'' represents
|
||||
a sharp). If necessary a void can be inserted in a collective coding sequence
|
||||
by using~\verb|*|\index{*}. Not all note-generating macros can be
|
||||
used to perform collective coding, but most of them can.
|
Loading…
Add table
Add a link
Reference in a new issue