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