summaryrefslogtreecommitdiff
path: root/macros/musixtex/doc/musixdoc/changing.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/musixtex/doc/musixdoc/changing.tex')
-rw-r--r--macros/musixtex/doc/musixdoc/changing.tex498
1 files changed, 498 insertions, 0 deletions
diff --git a/macros/musixtex/doc/musixdoc/changing.tex b/macros/musixtex/doc/musixdoc/changing.tex
new file mode 100644
index 0000000000..24b329a5f2
--- /dev/null
+++ b/macros/musixtex/doc/musixdoc/changing.tex
@@ -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}