summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/musixtex/musixdoc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/musixtex/musixdoc.tex')
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc.tex10732
1 files changed, 5917 insertions, 4815 deletions
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc.tex
index 68d837a6ae5..17cafecb4c9 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc.tex
@@ -1,4 +1,8 @@
%
+% mxdoc111d.tex (formerly file 110d, internally called 109d1)
+% Different from version posted in that it has the extra paragraph
+% "You may wonder ..." in section 1.3
+%
% This file is part of MusiXTeX
%
% MusiXTeX is free software; you can redistribute it and/or modify
@@ -16,18 +20,49 @@
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
% Boston, MA 02111-1307, USA.
%
+% This version 109d1 postdates the one posted to the site.
+%
\ifx\documentclass\undefined
\documentstyle[twoside,11pt,musixdoc,multicol,backgrnd]{report}
\else
- \documentclass[twoside,11pt]{report}
+ \documentclass[twoside,11pt,a4paper]{report}
\usepackage{multicol}
\usepackage{musixdoc}
- \usepackage{backgrnd}
-% \usepackage{amsmath}
-% \usepackage[emtex]{changebar}
+ \usepackage{etex}
+ \usepackage[dvips,bookmarks=true,bookmarksnumbered=true,bookmarksopen=true,colorlinks=true,pdfborder={0 0 0}]{hyperref}
+ \usepackage{url}
+ \usepackage{indentfirst}
+ \usepackage[ansinew]{inputenc}
+\makeatletter
+\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}}
+\makeatother
+\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}}
\fi
\def\musictex{Music\TeX{}}
+\def\onen{{\tt\char123}$n${\tt\char125}}
+\def\pitchp{{\tt\char123}$p${\tt\char125}}
+\def\itbrace#1{{\tt\char123}$#1${\tt\char125}}
+\def\nochange{(\ital{NOT to be changed})}
\ifx\setendvolta\undefined\def\setendvolta{\endvolta}\fi
\ifx\setendvoltabox\undefined\def\setendvoltabox{\endvoltabox}\fi
@@ -39,29 +74,32 @@
%\changebarsep 10 pt
\title{\Huge\bf\musixtex\raise1.5ex\hbox{\large\copyright}\\[\bigskipamount]
\LARGE\bf Using \TeX{} to write polyphonic\\or
-instrumental music\\\Large\sl Version T.104~-- \today}
+instrumental music\\\Large\sl Version T.114~-- June, 2006}
\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\\ E-mail : {\tt
-taupin@lps.u-psud.fr}\\\medskip
+% b\^atiment 510, Centre Universitaire, F-91405 ORSAY Cedex\\ E-mail : {\tt
+%taupin@lps.u-psud.fr}\\\medskip
+ 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\ddag\\\large\sl
+% \\\Large\rm Andreas \sc Egler\ddag\\\large\sl
+ \\\Large\rm Andreas \sc Egler\\\large\sl
(Ruhr--Uni--Bochum)\\ Ursulastr. 32\\ D-44793 Bochum}
\date{}
-%\show\maketitle
-\let\endtitleORI\endtitlepage
- \def\endtitlepage{\vfill\noindent $^\ddag$ {\it For personal reasons, Andreas
-Egler decided to retire from authorship of this work. Nevertherless, he has
-done an important work about that, and I decided to keep his name on this
-first page. {\sc D. Taupin}}\endtitleORI}
+%\let\endtitleORI\endtitlepage
+% \def\endtitlepage{\vfill\noindent $^\ddag$ {\it For personal reasons, Andreas
+%Egler decided to retire from authorship of this work. Nevertherless, he has
+%done an important work about that, and I decided to keep his name on this
+%first page. {\sc D. Taupin}}\endtitleORI}
\maketitle
\clearpage
%\check
-\thispagestyle{empty}
+\pagenumbering{roman}\setcounter{page}{2}
+
+%\thispagestyle{empty}
\null
\vfill
@@ -81,15 +119,14 @@ 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...\\[\smallskipamount]
-{\sc Hans Kuykens}
+Hans {\sc Kuykens}
\end{flushright}
\begin{center}
- Although one of the authors contested that point once the common work had
-begun, \musixtex{} may be freely copied, duplicated and used in conformance to
+\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 Free Software Foundation for advising us. See
-{\tt http://www.gnu.org}}.
+\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
@@ -97,104 +134,176 @@ called \musixtex{} without specific suffix may be distributed under the name
corrections).
Adaptations for specific implementations (e.g. fonts) should be provided as
-separate additional TeX or LaTeX files which override original definition.
-
+separate additional \TeX\ or \LaTeX\ files which override original definitions.
\end{center}
\clearpage
-\setcounter{page}1
-\tableofcontents
-\setcounter{secnumdepth}3
-\pagestyle{headings}
-
-\chapter{What is \musixtex{} ?}
-
-\hrule\smallskip
-\section*{Preface}
-
-\noindent Dear user,
-
-This is still an imperfect version, which means that some features will be
-added or corrected. However our intent is to avoid removing existing commands,
-in order to spare your own adaptation problems or your typing time correcting
-scores you already have in your archive.
-
+\chapter*{Preface to Version T.113}
+%\thispagestyle{empty}
+
+The main author of \musixtex{}, Daniel Taupin, died all too early in a 2003
+climbing accident. The \musixtex\ community was shocked by this tragic and unexpected
+event. You may read some tributes to Daniel Taupin which are archived at the
+\href{http://icking-music-archive.org}{\underline{Werner Icking Music Archive}}.
+
+Now, almost two years after his death, we would like to help keep his excellent
+work alive and current by assembling a new release. This new version corrects various
+minor bugs without adding any new functionality. At the same time it incorporates directly
+into the distribution some additional packages:
+\begin{itemize}\setlength{\itemsep}{0ex}
+\item Type 1 (postscript) versions of all the \musixtex{} fonts, created by
+Takanori Uchiyama;
+\item Postscript Slur Package K (Ver 0.92, 12~May~02) by Stanislav Kneifl;
+\item musixlyr (Ver 2.1c, 12 June 03) a \musixtex{} extension package for lyrics
+handling, by Rainer Dunker.
+\end{itemize}
+We would like to thank the authors of these packages for generously agreeing to allow their
+contributions to be included in the main \musixtex{} package.
+
+We have left the remainder of this manual largely as Daniel Taupin left it,
+except we have updated various references and provided dynamic links to
+archived versions where possible.
+
+This documentation is rather technical and is probably not the best way to
+begin typesetting music. If you are a beginner, you should visit the
+software section of the
+\href{http://icking-music-archive.org/software/indexmt6.html}
+{\underline{Werner Icking Music Archive}}.
+In particular, we recommend
+\href{http://icking-music-archive.org/software/pmx/pmxccn.pdf}
+{\underline{Cornelius Noack's tutorial}}. It contains helpful information for
+getting started with \musixtex, as well as a tutorial for \textbf{PMX}, a
+preprocessor for \musixtex\ with a much simpler input language, and a brief
+introduction to \textbf{M-Tx}, a preprocessor for \textbf{PMX}~which eases
+the inclusion of lyrics.
+
+\bigskip
+
+\begin{flushright}
+In the name of the community, Olivier Vogel
+(\href{mailto:oliviervogel@freesurf.ch}{\url{oliviervogel@freesurf.ch}}),
+July 30, 2005
+\end{flushright}
-Sections marked with a star, or paragraphs marked ``???'' or ``.!.'', indicate
-either that text is partly missing, or that something might change at a
-next release.
+%\clearpage
+
+\chapter*{Preface to Version T.114}
+%\thispagestyle{empty}
+
+In order to expedite the release of version T.113 of \musixtex, only the most
+essential modifications were made to the manual. With version T.114 the manual
+has been extensively edited from cover to cover. Some material has been
+rearranged, and references to \musictex, the immediate predecessor to
+\musixtex, have been removed. The software itself remains
+very stable. Only the slightest changes have been made since version T.113.
+
+It remains true that this is the definitive reference to all features of
+\musixtex, but also that it is not the best place for a novice user to start.
+The \href{http://icking-music-archive.org/software/indexmt6.html}
+{\underline{Werner Icking Music Archive}}\ contains excellent and detailed
+instructions for installing \musixtex{} and the strongly recommended
+preprocessors \textbf{PMX}
+(for instrumental music) and \textbf{M-Tx} (for vocal) under
+\href{http://icking-music-archive.org/software/musixtex/musixtex-for-unix.html}
+{\underline{Linux/\unix}} or
+\href{http://icking-music-archive.org/software/musixtex/musixwinstall.pdf}
+{\underline{Windows 2000}}. Once the software is installed, most common
+music typesetting tasks can be accomplished entirely by using one of these
+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, so he
+may insert the necessary \musixtex\ commands into the preprocessor's input file
+as so called inline \TeX.
+\href{http://icking-music-archive.org/software/pmx/pmxccn.pdf}
+{\underline{Cornelius Noack's tutorial}} is an important resource which,
+in addition to gently introducing the
+novice to \textbf{PMX} and \textbf{M-Tx}, gives further details on installing
+Postscript slur facilities.
+
+\begin{flushright}
+Don Simons, Andre van Ryckeghem, Cornelius Noack, August 30, 2005
+\end{flushright}
- \smallskip
- \noindent{\bf Remarque, Bemerkung, Cuidado, etc.:} If you have problems
-understanding technical musical terms in english, please look at:
+\clearpage
-\begin{center} ftp://ftp.gmd.de/music/lists/glossary/glossary.ps \end{center}
-which gives the translation of most terms into French, German, Dutch, Danish
-and Swedish. This file {\tt glossary.eps.gz} is also included in the
-distribution.
-\index{glossary}\index{glossaire}\index{lexique}\index{traduction}\index{dictionnaire}
+%\pagenumbering{roman}
+\renewcommand{\baselinestretch}{.8}\footnotesize\normalsize
+\tableofcontents \setcounter{secnumdepth}3
+\renewcommand{\baselinestretch}{1}\footnotesize\normalsize
- \smallskip\hrule\medskip
+%avrb page 4 was on top
+\clearpage
+%avre
- \musixtex\ is a set of \TeX\ macros to typeset polyphonic, orchestral or
-polyphonic music. Therefore, it is mainly supposed to be used to type wide
-scores -- just because true musicians seldom like to have to frequently turn
-pages -- and this is not really compatible with \LaTeX's standard page
-formats. Even with \verb|A4.sty|, the \verb|\textheight| and \verb|\textwidth|
-are too small for musician needs.
+\setcounter{page}{1}
+\pagenumbering{arabic}
+\renewcommand{\thepage}{\arabic{page}}
+\pagestyle{headings}
-However, a \LaTeX\ style has also been provided (and it is used for the
-typing of the present paper) but this \verb|musixtex| style is fit for
-musicographic books rather than for normal scores to be actually played.
- It should be emphasized that \musixtex\ is not intended to be a
-compiler which would translate some \ixem{standard musical
-notation}s into \TeX\, nor to decide by itself about aesthetic problems in music typing.
-\musixtex\ only typesets staves, notes, chords, beams, slurs and ornaments as
-requested by the composer. Since it makes very few typesetting decisions,
-\musixtex\ appears to be a versatile and rather powerful tool. However, due
-to the important amount of information to be provided to the typesetting
-process, coding \musixtex\ might appear to be as awfully complicated as
-the real keyboard or orchestral music. It should therefore be interfaced by
-some pre-compiler in the case of the composer/typesetter wanting aesthetic
-decisions to be automatically made by somebody (or something) else.
-%
-%\footnote{A short description to all known compilers for \musixtex\ can be
-%found on page \pageref{compiler}f.}.
-\section{\musixtex\ principal features}
- %\check
- \subsection{Music typesetting is two-dimensional} Most people who have just
-learned a bit of music at college, probably think that music is a linear
-sequence of symbols, similar to literary texts to be \TeX-ed. On the contrary,
-with the exception of strictly monodic instruments like most orchestral wind
-instruments and solo voices, one should be aware that
-reading music is actually a matricial operation: the non-soloist musician
-successively reads \ital{columns} of simultaneous notes which he
-plays if he is a pianist, clavichordist or organist, which he reads
-and watches if he
-conducts an orchestra, and which he is supposed to check and partially play
-when he is a soloist who wants to play in time with the accompanying
-instrument or choir.
-
- In fact, our personal experience of playing piano and organ as well as
-sometimes helping as an alternate Kapellmeister leads us to think that music
-reading and composing is actually a slightly more complicated intellectual
-process: music reading, music composing and music thinking seem to be a three
-layer process. The musician usually reads or thinks several consecutive notes
-(typically a long \ital{beat} or a group of logically connected notes), then
-he goes down to the next instrument or voice and finally assembles the whole
-to build a sequence of music lasting roughly a few seconds. He then proceeds
-to the next \ital{beat} or \ital{bar} of his score.
-
- Thus, it appears that the humanly logical way of coding music consists
+\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 \TeX\ macros which enables the typesetting of music with
+systems of up to twelve staves. It requires as a prerequisite a working
+installation of \TeX\footnote{See section \ref{installation}~for guidance on
+installing \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 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{\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|eps| files for
+each of the examples, then embedding references to those in the file for
+the book. 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 described in Table \ref{readtable}.
+\ital{horizontal teeth} as depicted in Table~\ref{readtable}.
\def\hboxit#1{\boxit{\rlap{#1}\hphantom{note sequence three}}}
\begin{table}
\begin{center}
+%avrb
+ \small
+ %avre
\begin{tabular}{|ll|ll|}\hboxit{note sequence one}
&\hboxit{note seq.\ four}
&\hboxit{note seq.\ seven}
@@ -207,116 +316,114 @@ in horizontally accumulating a set of \ital{vertical combs} with
&\hboxit{note seq.\ twelve}\\
\end{tabular}
\end{center}
- \caption{The order in which a musician reads music}\label{readtable}
+ \caption{A logical way of coding music}\label{readtable}
\end{table}
-This is the reason
-why, in \musixtex\ the fundamental \ital{macro} is of the form
+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 ... & ... & ... \enotes|\footnote{Also
-available for \keyindex{enotes} is the abbreviation \keyindex{en}.}
+\verb|\notes ... & ... & ... \enotes|\footnote{The abbreviation
+\keyindex{en} can be used in place of \keyindex{enotes}.}
\end{center}\index{\&}
\noindent where the character \verb|&| is used to separate the notes to be
-typeset on respective staffs of the various instruments, starting from the
+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 staffs, these staffs are separated by the
+several staves, they are separated by the
character \|. \index{"|@{\tt\char'174}}
Thus, a score written for a keyboard instrument and
-a monodic instrument (for example piano and violin)
+a single-line instrument (e.g., piano and violin)
will be coded as follows:
\begin{center}
\verb=\notes ... | ... & ...\enotes=
\end{center}
\noindent for each column of simultaneous \ital{groups of notes}.
-It is worth emphasizing that we actually said \ital{``groups of notes''}:
-this means that in each section of the previous macro, the music typesetter is
-welcome to insert, not only chord notes to be played at once, but small
-sequences of consecutive notes which build something he understands as a
-musical phrase. This is why note typing macros are of two kinds in \musixtex,
-namely the note macros which are not followed by spacing afterwards, and those
-which induce horizontal spacing afterwards.
- \subsection{The spacing of the notes} It seems that many books have dealt
-with this problem. Although it can lead to interesting algorithms, we think it
-is not an important point in practice.
-
-In fact, each column of notes has not necessarily the same spacing
-and, in principle, this \itxem{spacing} should depend on the shortest
-duration of the simultaneous notes. But this cannot be established as a rule,
-for at least two reasons:
-\begin{enumerate}
- \item spacing does not depend only on the local notes,
-but also on the context, at least in the same bar.
- \item in the case of polyphonic music, exceptions can easily be found.
-Here is an example:
-
-\begin{music}
-\generalmeter{\meterfrac44}
-\startextract\NOtes\zhu j\ql h\hl g\hu k\ql f\enotes\endextract
-\end{music}
-\noindent where it can be clearly seen that the half notes at beats 2 and 3
-must be spaced as if they were quarter notes since they overlap, which is
-obvious only because of the presence of the indication of the
-\itxem{meter} 4/4.
-\end{enumerate}
-So the typesetter has to take care of good readable spacings on his own.
-Therefore, we preferred to provide the composer/typesetter with a
-set of macros which can be found in \ref{newspacings}.
- \subsection{Music tokens, rather than a ready-made generator}
-The tokens provided by \musixtex\ are:
-\begin{itemize}
- \item the note symbols \ital{without stem};
- \item the note symbols \ital{with stems, and hooks for eighth notes and
-shorter};
- \item the indication of beam beginnings and beam ends;
- \item the indication of beginnings and ends of ties and slurs;
- \item the indication of accidentals;
- \item the ornaments: arpeggios, trills, mordents, pinc\'es, turns, staccatos
-and pizzicatos, fermatas, etc.;
- \item the bars, the meter and signature changes, etc.
+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 elemental macros in \musixtex, those that 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 represent all 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}
- Thus, \verb|\wh a| produces an \ital{A (of nominal frequency 222.5~Hz,
-unless transposed)} of duration being a
-\ital{whole note}. In the same way, \verb|\wh h| produces an \ital{A
-(445~Hz)} of duration represented by a \ital{whole note}, \verb|\qu c|
-produces a \ital{C (250~Hz approx.)} whose value is a \ital{quarter note with
-stem up}, \verb|\cl J| produces a \ital{C (125~Hz approx.)} of
-duration equal to an \ital{eighth note with stem down}, etc.
-
- To generate quarter, eighth, sixteenth, etc. chords, the macro \keyindex{zq}
-can be used: it produces a quarter note head, the vertical position of which
-is memorized and recalled when another stemmed note (possibly with a hook) is
-coded; then the stem is adjusted to link all simultaneous notes. Thus, the
-perfect C-major chord, i.e.
-\begin{music}
-\startextract\NOtes\zq{ceg}\qu j\en\endextract
+\smallskip
+
+ Thus 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 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
+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, in a more concise way,
-\verb|\zq{ceg}\qu j| (stem up): in fact, single notes are treated\dots\ like
-one-note chords.
- %\check
+ \noindent is coded \verb|\zq c\zq e\zq g\qu j| or more concisely,
+\verb|\zq{ceg}\qu j|. Here the \verb|u| in the spacing note macro
+\verb|\qu| is what causes the upstem.
\subsection{Beams}
-\ital{Beams}\index{beams} are generated using macros which define their
-beginning (at the current horizontal position), together with their altitude,
-their direction (upper or lower), their multiplicity, their slope and their
-reference number. This latter feature -- the reference number -- appears to
-be necessary, since one may want to write beams whose horizontal extents
-overlap: therefore, it is necessary to specify which beam the notes belong to
-and which beam is terminated at a given position.
+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 (in fact, some \verb|\hbox{...}|) at any
-pitch of any staff of any instrument. Thus, any symbol defined in a font
-(letters, math symbols, etc.) can be used to typeset music.
+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 giving more details, we give below an example of the two first
+ Before going into more detail, we give below an example of the two first
bars of the sonata in C-major KV545 by {\sc Mozart}\index{Mozart, W.A.@{\sc
Mozart, W.A.}}:
\begin{music}
-\parindent10mm
+\parindent11mm
\setname1{Piano}
\setstaffs12
\generalmeter{\meterfrac44}
@@ -327,11 +434,11 @@ Mozart, W.A.}}:
\Notes\ibu0f0\qb0{dgf}|\qlp i\en
\notes\tbu0\qb0g|\ibbl1j3\qb1j\tbl1\qb1k\en
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
-\endextract
+\zendextract
\end{music}
- The \ital{coding} is set as follows:
+ The coding is as follows:
\begin{quote}\begin{verbatim}
-\begin{music}
+\begin{music}\nostartrule
\parindent10mm
\instrumentnumber{1} % a single instrument
\setname1{Piano} % whose name is Piano
@@ -344,63 +451,88 @@ Mozart, W.A.}}:
\Notes\ibu0f0\qb0{dgf}|\qlp i\en
\notes\tbu0\qb0g|\ibbl1j3\qb1j\tbl1\qb1k\en
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
-\endextract % terminate excerpt
+\zendextract % terminate excerpt
\end{music}
\end{verbatim}\end{quote}
-\begin{itemize}
+\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 is aligned with the third eighth of the left hand.
- \item\verb|\qlp| is a quarter with a point.
+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) of slope 15\%.
+(\verb|j| at this pitch) with slope 15\%.
\end{itemize}
\section{The three pass system}
\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.
-This strategy does not work very well for music. If each bar of music
-is treated as a word, in the sense that inter-bar glue is placed
-at the end of each bar, then the usual result is the appearance of
-unsightly gaps before each bar rule. This follows naturally from the
-fact that the number of bars per line is normally many fewer
-than the number of words in a line of text.
-
-To address the above aim, a three pass system was developed.
-On the first pass, information about each bar is written to
-an external file, by default \verb|jobname.mx1|.
-This file begins with a header listing parameters
-such as line width, paragraph indentation, clef, sign and meter widths,
-and the first-pass elemental spacing \keyindex{elemskip}.
-Width information within the bars is classified either as ``soft'' or ``hard'':
-``soft'' widths are those amenable to subsequent rescaling (e.g. a note box),
-while ``hard'' widths represent unscalable material such as clef symbols,
-key signatures and bar rules.\index{soft width}\index{hard width}
-
-After the first pass, an external routine is run to
-determine optimal values of the elemental spacing (\verb|\elemskip|)
-for each line, so as to properly fill each line, and to lead to
-the piece filling an integral number of lines. This routine was written
+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 elemental spacing unit. For example, in \textbf{PMX}\
+all sixteenth notes
+are typically assigned a scalable width of 1.41\verb|\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 \verb|tex 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 elemental 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 written
in FORTRAN and now converted to C rather than \TeX, the main reason
-being the lack of an array
-handling capability in \TeX, and the concern that if such a routine
-were added to \musixtex, storage problems might be exacerbated.
+being the lack of an array handling capability in \TeX.
-The resulting routine reads in the file \verb|jobname.mx1|, and writes its
+\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 re-\TeX-ed. On this third pass,
+Next, the file is \TeX-ed again, by entering \verb|tex jobname|. On this third pass,
the \verb|jobname.mx2| file is read in, and the information
-used as described above.
+is used to physically define the final score and embed the
+page descriptions into a \verb|dvi|\ file.
-To give an easy example: after pass 1 you get the following output:
+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 batch script that does so.
+
+Here's an example. Here, no value for \verb|\elemskip| is explicitly specified,
+so \musixtex\ assign a single, default value. After the first pass you might get
+the following output:
\begin{music}
\hsize=100mm
@@ -431,7 +563,11 @@ To give an easy example: after pass 1 you get the following output:
\NOtes\qu c\qp\enotes
\setdoubleBAR\raggedstoppiece
\end{music}
-After running \verb|musixflx| and \TeX-ing the second time you'll get:
+
+\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
@@ -461,7 +597,12 @@ After running \verb|musixflx| and \TeX-ing the second time you'll get:
\NOtes\qu c\qp\enotes
\Endpiece
\end{music}
-which was coded as:
+
+\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}%
@@ -481,23 +622,27 @@ which was coded as:
\NOtes\uptext{\it tr}\qu e\uptext{\it tr}\qu d\en\bar
\NOtes\qu c\qp\en\Endpiece
\end{verbatim}
-The biggest advantage of using a 3-pass system is the very easy and fast
-alteration to the layout which is possible, especially of a long masterpiece,
-by changing only one parameter, namely \keyindex{mulooseness}. This value
-acts analogous to \TeX's \verb|\looseness| command. For non-\TeX-perts: if you
-end a paragraph and state \verb|\looseness=-1| somewhere inside, then
-\TeX\ will try to make this paragraph one line shorter than it normally would.
-\musixtex\ does the same, but instead for paragraphs, for \ital{sections}.
-What is a \ital{section}? As long as you don't force a line break, this means
-the whole piece. When you force a line break with either
+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} you start a
-new \ital{section}. Somewhere\footnote{Advisably, at the beginning or
+\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 \ital{section}, you can change the value of
-\keyindex{mulooseness} to something different from the default of 0.
+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}
@@ -533,12 +678,12 @@ yields:
\NOtes\qu c\qp\enotes
\mulooseness1\Endpiece
\end{music}
-or:
+
+\noindent On the other hand,
\begin{verbatim}
\NOtes\qu c\qp\en\mulooseness=-1\Endpiece
\end{verbatim}
-yields (a little bit tight, but only for the sake of
-demonstration of \keyindex{mulooseness}):
+yields
\begin{music}
\hsize=100mm
@@ -568,56 +713,72 @@ demonstration of \keyindex{mulooseness}):
\NOtes\qu c\qp\enotes
\mulooseness-1\Endpiece
\end{music}
-Here is the fastest way to get a satisfactory output:
+
+\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 build up the piece bar\footnote{Or two or three,
-whatever you prefer.} by bar. Pay much attention to correct spacings, and go
-on only when you are really satisfied with them.
+ \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 2.
\item \TeX~$\Longrightarrow$ {\tt musixflx} $\Longrightarrow$ \TeX.
\item Look at the output and decide if you want to have more or fewer
-systems lines, e.g.~to fill the page or to get an even number of
+systems, e.g.~to fill the page or to get an even number of
pages.\index{musixflx@{\tt musixflx}}
- \item Adjust \keyindex{mulooseness}. However, {\large\bf beware~:}
-\verb|\mulooseness| increases the target number of lines by its value. This is
-of no serious trouble for large pieces, but if you say \verb|\mulooseness=3|
-in a piece or in a section which only has 3 bars (three in the musical sense,
-i.e. two \verb|\bar| in the text), then {\tt musixflx} will not be able to split
-3 bars into 4 lines... and it will hopefully result in a diagnostic by {\tt
-musixflx}, but possibly also in an arithmetic fault...
- \item Delete the \verb|jobname.mx2| and again\\
-\TeX~$\Longrightarrow$ \verb|musixflx| $\Longrightarrow$ \TeX
-\quad\ital{(For hackers: watch the difference in {\tt jobname.mx1}!)}
-\end{enumerate}
-
-\begin{remark}
-Instead of looking at the output of the previous run and modifying the
-number of systems using \keyindex{mulooseness} one can directly specify
-the number of lines in a section by assigning a positive number to
-\keyindex{linegoal}. Use \keyindex{linegoal} in the same way as
-\keyindex{mulooseness} somewhere in a section, preferable at start
-or end. \keyindex{mulooseness} must be zero for \keyindex{linegoal}
-to work. Both are automatically set to zero after processing the end
-of a section e.g. by \keyindex{stoppiece}. \keyindex{linegoal}
-requires the latest version of musixflx (0.83).
-\end{remark}
-
- \noindent If you have really followed this step by step, then your whole
-layout will be ready and you will not have to generate \verb|jobname.mx2|
-again. This only holds as long as you don't change any spacings.
-
-If you get the warning: \verb|You can't use \raise ...|, than read the upper
-paragraph again and follow the instruction of point 5.
-
-There are some more advantages. Without using \ital{glue},
-every horizontal position in a line can be computed. This enables using,
-e.g.~octave lines, without specifying a dimension, but by saying
-\verb|\i...| and \verb|\t...|.
+ \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}
- \subsection{External executable {\tt musixflx}}
-One drawback affecting portability between computers is the executable
-{\tt musixflx}\index{musixflx@{\tt musixflx}}. We are still searching for
-people who are able to compile the C-source and maintain it.
+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{External executable \texttt{musixflx}}
+One issue that compromises portability between computers is the
+need for the executable {\tt musixflx}\index{musixflx@{\tt
+musixflx}}.
+%avrb
+To address this, the C source and compiled versions for various OS's are included in
+\verb|musixtex.zip| and are available from the
+\href{http://icking-music-archive.org}{\underline{Werner Icking Music Archive}}.
+%avre
On most computers, the executable is invoked by typing the name of the program
and the name of the file to be acted upon. \ital{i.e.}
@@ -632,443 +793,375 @@ Optionally, you can add a letter to indicate one of the debug modes, which are:
\end{quote}
To allow for ease of use with a batch file, \verb|musixflx| can either be fed
with \verb|jobname.mx1|, \verb|jobname.tex| or only
-\verb|jobname|, all of which opens \verb|jobname.mx1|.
-
- \medskip For large scores (more than 4 pages approximately), having
-only one section and an overall value of \verb|\mulooseness| becomes
-impractical since one wants not only to have nicely spaced systems, but one
-also usually wants to have completely filled pages to avoid empty top and
-bottom margins on the last page. It is then wise to force the total number of
-pages and maybe the line breaks in each page, which can be done by either using
-explicit \keyindex{alapage} and \keyindex{alaligne}, or more automatically by
-means of the \keyindex{autolines} command borrowed from \musictex\ and
-implemented in the additional {\ttxem{musixcpt.tex}} file.
- \subsection{Restrictions and warnings} If you have worked with \musictex\
-before, you must be aware that two main things have changed, namely the
-spacing (and spacing commands) and the line breaking, see section~\ref{spacing},
-p.~\pageref{spacing} and section~\ref{linebreak} p.~\pageref{linebreak}.
-
- %\check
- A serious practical problem concerns the effect of unrecorded spaces, such as
-those created by source lines not ended by \verb|%| \index{%@{\tt\char37}} or
-\keyindex{relax} or another control sequence ending in a letter. These will
-result in the dreadful {\bf Overfull hbox} messages appearing during pass 3.
+\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{\boxit{Considerable discipline is needed to avoid this problem!}}
-When you start using this software package, you will spend a lot of time
-searching for the cause of over/underfull-hbox warnings, which will appear during
-pass 3. You may ignore them during pass 1,
-but \ital{you must} find their cause when they
-appear during pass 3.
-
-In \musixtex\ there is no glue (only $\pm$ 1pt behind \verb|\writesignatures|),
-so it works only if every space is recorded in the correct way. As a result,
-never use
-\verb|\hskip| or \verb|\kern| with the exception of \ital{zero}-boxes, like
-\verb|\rlap|, \verb|\llap|, \verb|\zcharnote|, \verb|\uptext|, etc., or
-(apparently) fixed length boxes like \verb|\hsong|. But that is not all---all
-spacing commands\footnote{Except {\Bslash hardspace} which is an exception and has
-the opposite purpose.} must be fed with scalable values
-(\ital{e.g.} \verb|\noteskip|, \verb|\elemskip|, \verb|\afterruleskip| and
-\verb|\beforeruleskip|, optionally preceded by an integer or decimal number).
-
-\verb|musixflx| can't work if the values of \verb|\noteskip|,
-\verb|\afterruleskip|, \verb|\beforeruleskip|, are directly assigned
-``hard''\footnote{Hard values are all values which are not scalable}
-values in between
-\verb|\startpiece| and \verb|\stoppiece|\footnote{{\Bslash endpiece} has the
-same meaning}.\index{hard spacing}
-
-These restrictions make it hardly compatible with most sources designed for
-\musictex\footnote{Most examples provided by D. {\sc Taupin} in
-\musictex's distribution can be run with \musixtex\ without serious
-problems... However, they will eventually have to be corrected for the sake of
-compatibility.}. Most of them have to be adjusted to get things going.
-
-Some values are much more important than in \musictex,
-namely \verb|\elemskip|, \verb|\afterruleskip| and \verb|\beforeruleskip|.
-The ratio between them is especially very important if you use
-\keyindex{mulooseness} often to adjust the number of lines:
-all of them are multiplied by the same factor in each section.
- %\check
- \subsection{\musixtex's laws}
-\begin{enumerate}
- \item Never have a line that doesn't finish either with a control sequence
-or with a \verb|%|
-inside of \verb|\startpiece...\stoppiece|
+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
+the \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{center}
-\Large\bf !!! \musixtex\ forgives NOTHING !!!
-\end{center}
- (a space in the default font (using plain-\TeX) causes 3.33pt of unrecorded space,
- but there is only $\pm$ 1pt of glue in \musixtex)
- \item \verb|\off| must be used with relative values, like
- \verb|\noteskip|, \verb|\elemskip|, \verb|\after[before]ruleskip|
- \item \verb|\qsk| and \verb|\hqsk| are now scalable, e.g. \verb|\qsk|
- doesn't mean exactly one note head width (it depends on \verb|\elemskip|
- and \verb|flex_factor|)
- \item Text of songs and any non-\musixtex\ text must be put in zero boxes, like
- \verb|\zcharnote|, \verb|zchar|, \verb|rlap|, \verb|lrlap|, \verb|llap|,
-\verb|uptext|, \verb|zsong...|. However, specific features are now provided,
-namely \verb|\hardlyrics| and \verb|\hsong| (see \ref{lyrics},
+\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|).
+ \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|\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 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-emplacement macros defined in \verb|musixlyr.tex| (see \ref{lyrics},
p.~\pageref{lyrics}).
- \item Don't touch either \verb|\noteskip| with hard values,
- or \verb|\after[before]ruleskip| at all inside of
- \verb|\startpiece (\debutmorceau) ... \stop[end]piece (\susp[fin]morceau)|
+ \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{Some highlights}
- %\check
- \subsection{Signatures}
-Signatures can be stated either for all instruments, for example by
-\keyindex{generalsignature}\verb|{-2}| which sets two flats on each staff, or
-separately for each instrument.
-
-Thus, the \keyindex{generalsignature}
-can be partly overridden by
-\keyindex{setsign}\verb|2{1}| which puts one
-sharp on the staffs of \itxem{instrument number} 2. Of course, the
-current signature may change at any time as well as the meters and clefs.
- \subsection{Transposition}
- An important question is: \ital{``can \musixtex\ transpose a score~?''}.
-The answer is now 99.5~\% \ital{yes}. If fact, there is an internal register
-named \keyindex{transpose} the default value of which is zero, but it may be
-set to any reasonable positive or negative value. In that case, it offsets all
-symbols pitched with letter symbols by that number of pitch steps. However,
-it will neither change the signature nor the local accidentals, and if -- for
-example -- you transpose a piece written in $C$ by 1 pitch, \musixtex\ will
-not know whether you want it in $D\flat$, in $D$ or in $D\sharp$. This might
-become tricky if accidentals occur within the piece, which might have to be
-converted into flats, naturals, sharps or double sharps, depending on the new
-chosen signature. To avoid this trouble, \ital{relative} accidentals
-have been implemented, the actual output of which depends on the pitch of
-this accidental and on the current signature.\index{relative accidentals}
- %\check
- \subsection{Selecting special instrument scores}
-Another question is: \ital{``can I write an orchestral score and extract the
-separate scores for individual instruments~?''} The answer is 95~\%
-\ital{yes}: in fact, you can define your own macros
-\verb|\mynotes...\enotes|, \verb|\myNotes...\enotes| with as many
-arguments as there are in the orchestral score (hopefully this
-is less than, or equal to
-9, but \TeX perts know how to work around) and change its definition
-depending on the selected instrument (or insert a test dependent
-on the value of some
-selection register). But the limitation is that the numbering of instruments
-may change, so that \verb|\setsign3| may have to become \verb|\setsign1| if
-instrument 3 is alone. But, in turn, this is not a serious problem for
-average \TeX\ wizard apprentices.
- %\check
- \subsection{Variable staff and note sizes}
- Although the standard staff size is 20pt, \musixtex\ allows scores of 16pt
-and 24pt staff sizes. In addition, any instrument may have a special staff
-size (usually smaller than the overall staff size) and special commands
-\verb|\smallnotesize| or \verb|\tinynotesize| enable notes (and also beams or
-accidentals) to be of a smaller size, in order to quote optional notes or
-\ital{cadenzas}.
- %\check
-\section{How to get it}
-Primary site is {\tt hprib.lps.u-psud.fr} (anonymous {\tt ftp}); say:
-
- \verb|cd pub/musixtex|
-
- \verb|mget musix*.tex| (to get the macros)
-
- \verb|cd /pub/musixtex/mf|
-
- \verb|mget *.mf| (to get the source of the fonts)
-
- \verb|cd /pub/musixtex/tfm|
-
- \verb|binary|
-
- \verb|mget *.tfm| (to get the font metrics)
-
-\noindent or:
-
- \verb|cd /pub/music\_zips|
-
- \verb|binary|
- \verb|mget musix*.zip| (to get the zipped packages specific to \musixtex)
-
-\medskip\noindent Official mirrors are
-the CTAN servers. To get it you have tou say:
-
- \verb|cd ctan| (to go to the CTAN server)
-
- \verb|cd macros/musixtex/taupin|
-
- \verb|binary|
-
- \verb|mget *.zip| (to get the zipped packages)
-
-\medskip The whole \itxem{distribution} can fit into a single 1.2Mbyte or
-1.44Mbyte diskette. All sources (including fonts) are provided,
-either separately or ``zipped''.
-
-{\sl REMARK: normally, the {\tt musixtex.zip} file expands into binary files
-valid for any system, and text files (the \TeX{} and \MF{} sources) in the
-\unix{} representation, namely with a ``LF'' character between each record. PC
-users might complain that their own coding is ``CR+LF'' (``CR'' usually
-appears as a ``{\tt \^{}M}''), but we checked that:
- \begin{itemize}
- \item the \ixem{MS-DOS} editor handles both denotations,
- \item the ``emacs'' and ``microemacs'' also do,
- \item the \TeX{} and \MF{} executable routines (et least the emTeX ones)
-also accept both representations.
- \end{itemize}
- However, for the sake of compatibility, we now provide two routines for PC's,
-namely {\tt dtou.exe} and {\tt utod.exe}, which convert text/source files
-from/to the MS-DOS denotation to/from the \unix{} denotation.
-}
-
- %\check
-\section{Enhancements}
- \subsection{Recent easy enhancements} Many enhancements have been asked for,
-to the ``father'' of \musixtex, namely \musictex, and this is a proof that it
-is considered as useful by many people. Some of these enhancements which
-seemed hard were in fact rather easy to implement, for example small notes to
-represent grace notes and cadenzas, or gregorian chant features.
-
- Some of them were more difficult, such as handling of lyrics now provided
-since version T.40.
- %\check
- \subsection{Enhancement limitations}
-Many requested improvements have not been
-\ital{yet} implemented for several reasons:
- \begin{itemize}
- \item The authors' natural laziness (!)
- \item More seriously: many of them would require using some more
-registers; unfortunately, \TeX\ registers are not numerous (256 of each
-kind and the limit of \keyindex{dimen} registers is nearly reached
-(especially using \LaTeX), but we do our best).
- \item We do not think it is wise to introduce in \musixtex\ itself a great
-number of macros which would be poorly used by most users: the reason is that
-\TeX\ memory and --- moreover --- \TeX\ registers are severely limited and that
-unused macros may occupy many of these, leading to things crashing
-because of \verb|TeX capacity exceeded|.
-
- Therefore, many additional library files are now provided, which may be
-invoked or not, depending on the user's specific needs. Most of them are used
-to compile this \LaTeXe\ manual... except the {\tt musixadd.tex} and {\tt
-musixmad.tex}.
- \end{itemize}
+\section{Further highlights}
%\check
- \section{Acknowledgements} The idea of implementing the present package is
-due to the previous work (\mutex)\index{mutex@\protect\mutex} of \mbox{Andrea
-{\sc Steinbach}} and Angelika {\sc Schofer}\footnote{Steinbach A. \& Schofer
-A., \ital{Theses} (1987, 1988), Rheinische Friedrich-Wilhelms Universit\"at,
-Bonn, Germany.}. This work provided the basis of the Metafont codes which are
-still used here... with 100\% corrections and updates.\index{Schofer, A.@{\sc
-Schofer, A.}}\index{Steinbach, A.@{\sc Steinbach, A.}}
-
-
- English language is progressively checked thanks to Cecil {\sc Churms} from
-National Accelerator Center (South Africa).
+ \subsection{Key signatures}
+A single key signature can be assigned to all \nolinebreak3
+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.
+\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
+section~\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
-\chapter{Practical use}
-\section{Heading statements}
-Before any reference to \musixtex\ macros:
-
-\verb|\input musixtex|\footnote{It is highly recommended to build up a format.
-If you don't know how to do, you can refer to the same instruction you
-perhaps heard or read before: ``Ask you local \TeX-wizard.''. Otherwise
-it might be a good idea to look at chapter \ref{installation}
-(``Installation'') where some hints are given to build a \musixtex\ format
-(ref{formatbuild}).}
+ \subsection{Extracting parts from a score} Another question is:
+\ital{``Can I write a full score and then extract separate scores for
+each individual instrument?''}
+
+The answer is yes, but only with a great deal of special attention---so much,
+in fact, that we shall strongly recommend that if you want
+to do this, you should use \textbf{PMX}, which makes the process
+very easy. If for some reason you choose to ignore this advice, you may
+refer to the details that were provided in the prior version of this manual,
+\href{http://icking-music-archive.org/software/musixtex/mxdoc112.pdf}
+{\underline{mxdoc112.pdf}}.
+
+%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
- \noindent which may be followed by \verb|\input musixadd| in the case you
-have more than six instruments or more than 6 simultaneous beams
-or ties or slurs.\index{musixtex.tex@{\tt musixtex.tex}}
-\index{musixadd.tex@{\tt musixadd.tex}}
+ \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
+\verb|musixtex.zip|, 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 \verb|musixtex.zip|, are not documented in this manual but
+in separate files inside \verb|musixtex.zip|, namely \verb|musixps.tex| itself and
+\verb|mxlyrdoc.pdf| respectively.
+
+\section{Where to get the software and help using it}
+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}}.
+The most up-to-date versions of \musixtex\ and friends are located in the
+\href{http://icking-music-archive.org/software/indexmt6.html}{\underline{software}}
+section of the archive. Assuming you already have \TeX\ and only want to install
+\musixtex, the file you need to download will be named
+\href{http://icking-music-archive.org/software/musixtex/musixtex.zip}
+{\underline{\texttt{musixtex.zip}}} . Further details about
+the installation process are given in section \ref{installation}.
+
+The Werner Icking Archive also hosts the
+\href{http://icking-music-archive.org/mailman/listinfo/tex-music}
+{\underline{\TeX-music mailing list}}, 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, the primary maintainer of \musixtex\ has been
+Olivier {\sc Vogel}, with substantial assistance from 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 Don {\sc Simons},
+and the mailing list by Maurizio {\sc Codogno}.
- %\check
- After that, you may write a complete book of \TeX\ provided that you do not
-use \verb|&| as a tabulation character (its \keyindex{catcode} has been
-changed) inside the music score and that you do not overwrite \musixtex's
-definitions. This means that no special macros have been designed to help you
-write titles, author names, comments, literature excerpts, etc., unless you
-use \LaTeX\ with the \verb|musixtex| style.\index{\&}
- %\check
- \section{Before you
-begin to write notes}
- \subsection{Warnings for the non \TeX pert}
-\begin{quote}
%\check
-When \TeX\ reads a parameter, it inputs one \ital{token}. This means
-\ital{one} figure or \ital{one} character or \ital{one}
-command\footnote{Syntactically, a \ital{command} is made of a
+\chapter{Elements of \musixtex}
+\section{Setting up the input file}
+\subsection{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 more than six or nine instruments or simultaneous beams,
+ties, or slurs.\ixtt{musixtex.tex}\ixtt{musixadd.tex}\ixtt{musixmad.tex}
+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).
+
+ \subsection{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
-\ital{letters}.}. If you want to give more than one char or e.g. a negative
-number(`-' is one token and a digit is one) or a command which reads another
-parameter, then you have to use braces to transfer the parameter correctly.
-For example, the command \verb|\meterfrac| reads two parameters; if you want
-to declare a $\frac{8}{12}$ timing and you code: \verb|\meterfrac812|, then
-you will get a $\frac{8}{1}$ timing and a misplaced ``\verb|2|''. The correct
-coding is \verb|\meterfrac{8}{12}| or \verb|\meterfrac8{12}|.
-
-
- %\check
- The next problem is due to spaces. Spaces are ignored at the
-beginning of a line. Spaces are ignored immediately behind a \TeX-command
-(they indicate the end of that command unless \TeX\ finds characters which are
-not \ital{letters}). All other spaces insert \ital{unexpected} space and
-they will cause a lot of trouble during third pass. Same remark holds for end
-of lines. Thus \verb|\bar| or \verb|\enotes| as last statement in current line
-cause no trouble, because an end of line indicates to \TeX\ the end of a
-command.
-
- %\check
- If you state \verb|\qu g| and start a new line, then you get into trouble, but
-if you say \hbox{\verb|\qu g%|\relax
- $<new line><spaces>$}, you have no more problem
-and this is better readable.
-
-If this sounds complicated, remember that \TeX\ was designed to typeset
-text and not music...
-
- \end{quote}
- %\check
- \subsection{What you have to specify}\label{whatspecify}
- \leavevmode
- You should first specify whether you want to typeset music in ``normal'' size
-(20pt\index{sizes} per staff) or ``small'' size (16pt) or ``large'' size
-(24pt). This is only optional, the default setting is
-\keyindex{normalmusicsize}. If you want the smaller size, then you have to
-say\footnote{This sets up not only the size of staff, but also the elementary
-spacing and the space behind the bar rule.} \keyindex{smallmusicsize},
-\keyindex{largemusicsize}, and \keyindex{Largemusicsize} to have the larger
-sizes of 24pt and 28.8pt.
-
-
-
- Then, the first compulsory declaration is:
-
- \keyindex{instrumentnumber}\verb|{|$n$\verb|}|
-
- \noindent where $n$ is the number of instruments, used by
-\musixtex\ to performs loops building staffs, setting signatures, meters,
-etc. Therefore, it must be defined before any other statements.
-If not then default value is one. An instrument
-may consist of several staffs, e.g.~the piano. The difference between one
-instrument of several staffs and several instruments is as follows:
-\begin{itemize}
- \item distinct instruments may have distinct \itxem{signatures}, distinct
-staffs of a unique instrument share the same signature.
- \item \itxem{stems} may be hung to \itxem{beams} belonging to differents
-staffs of the same instrument.
- \item \itxem{chords} may extend across several staffs of the same
+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|\enotes| 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|.
+
+ \subsection{Usual setup commands}\label{whatspecify}
+
+ The first decision is what size type to use. \musixtex\ offers four sizes:
+``small'' (16-pt-high staves), ``normal'' (20pt),\index{sizes} ``large''
+(24pt), and ``Large'' (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.
+
+ 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.
+
+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 staffs of a unique \itxem{instrument} are tied together
-with a big brace at the beginning of each line.
+ \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}
- If the number of staffs is not
-equal to one, this number must be specified by:
-
- \keyindex{setstaffs} $n$\verb|{|$p$\verb|}|
-
- \noindent where $p$ is the number of staffs, and where $n$ is the
-number of the instrument considered (e.g.~\verb|setstaffs3|
-for the 3rd instrument, starting from the bottom).
-
- %\check
- Unless all your instruments only use the \ital{violin} clef, you
-have to specify all the clefs used for all the instruments. This is done by
-coding:
-
-\keyindex{setclef}\verb|{|$n$\verb|}{|$s_1s_2s_3s_4$\verb|}%|
-
-\noindent where $n$ is the number of the instrument, $s_1$ is one figure
-specifying the clef of the lower staff, $s_2$ the clef of the second staff,
-etc.
-
- The value $s_1=0$ means the \ital{violin} clef (G clef or \itxem{clef de
-sol} in French) for the lower staff, $s_2=0$ means the violin clef for the
-second staff, etc. If $s_2$, $s_3$ or $s_4$ are omitted in the second argument
-of the \verb|\setclef|, these staffs have de default clef, namely 0, i.e. the
-violin clef.
-
- The values $s_1=1$ through $s_1=4$
-mean the \ital{alto} clef (\itxem{clef d'ut} in French) set on first (lower)
-through fourth (next to upper) line of the staff.
-
- The value $s_1=5$ means the \ital{bass} clef at third (middle) line,
-$s_1=6$ means the usual \ital{bass} clef (F clef or \itxem{clef de fa} in
-French) at the usual fourth line, and $s_1=7$ means the \ital{bass}
-(\itxem{subbass}) clef (F clef or \itxem{clef de fa} in
-French) at the fifth line.
-
- The value $s_1=8$ is not used.
-
- The value $s_1=9$ means the \itxem{french violin clef}, an ancient feature
-which sets the G clef (\ital{clef de sol} in French) at the fist line of the
-staff.
-
- If remembering the digits associated with usual clefs seems too difficult,
-one can also say
-
- \verb|\setclef{|$n$\verb|}{|\keyindex{treble}\verb|}|
-
-\noindent to get the \ixem{violin clef} on all staffs of the specified
-instrument. In the same way the most used \itxem{alto clef} (alto clef on 3rd
-line) can also be called with
-
-
- \verb|\setclef{|$n$\verb|}{|\keyindex{alto}\verb|}|
-
-\noindent which sets the lower staff of thet instrument to the alto clef, but
-sets other staffs above to the violin clef.
-The usual \itxem{bass clef} on fourth line
-can also be called with
-
- \verb|\setclef{|$n$\verb|}{|\keyindex{bass}\verb|}|
-
-\noindent {\sl IMPORTANT: the commands \verb|\alto| and \verb|\bass| only set
-these clefs at the first staff. Other staffs still have the default value of
-violin clef.}
-As an example, a standard piano score
-should include:
-
- \keyindex{setclef}\verb|1{\bass}%| \quad or\quad
- \keyindex{setclef}\verb|1\bass|
-
-\noindent taking account of the fact that the bass clef is set on the lower
-staff, but the upper one has the default value of violin clef.
-If the signature is not void, one should code:
-
- \keyindex{generalsignature}\verb|{|$s$\verb|}|
-
-\noindent where $s>0$ indicates the number of \itxem{sharps} in the
-signature and $s<0$ the number of \itxem{flats}\footnote{We have seen once a
+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.
+
+ 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 not used.
+$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}|.
+
+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.}
-
- If a \itxem{meter} indication is to be posted, it should be
-specified using the macro
-
- \keyindex{generalmeter}\verb|{|$m$\verb|}%|
-
- %\check
- \noindent where $m$ is the description of the meter indication which should
-appear on each staff. If it is a \ital{fraction} (e.g.~3/4) on should code
-
- \verb|\generalmeter{\meterfrac{3}{4}}%|
-
-\noindent or, in a simpler way (if the numbers are less than 10):
-
- \verb|\generalmeter{\meterfrac34}%|
-
-You can suppress the beginning vertical rule with saying \keyindex{nostartrule}
-and restore the default with \keyindex{startrule} after that.
-
- Special denotations can be used, such as \keyindex{meterC},
+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.
+
+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} and
-\keyindex{meterplus}.
+\keyindex{meterplus}. These are illustrated in the following example:
%\check
\begin{music}
@@ -1083,10 +1176,10 @@ and restore the default with \keyindex{startrule} after that.
\generalmeter\reverseallabreve\changecontext
\NOTEs\zwq g\enotes
\generalmeter{\meterfrac{3\meterplus2\meterplus3}8}\changecontext
-\Notes\Tqbu ceg\Dqbl jg\Tqbu gec\enotes
+\Notes\Tqbu ceg\Dqbl jg\Tqbu gec\enotes\setemptybar
\endpiece
\end{music}
-which was coded as:
+\noindent which was coded as:
\begin{quote}\begin{verbatim}
\generalmeter\meterC
\nostartrule
@@ -1099,82 +1192,69 @@ which was coded as:
\generalmeter\reverseallabreve\changecontext
\NOTEs\zwq g\enotes
\generalmeter{\meterfrac{3\meterplus2\meterplus3}8}\changecontext
-\Notes\Tqbu ceg\Dqbl jg\Tqbu gec\enotes
+\Notes\Tqbu ceg\Dqbl jg\Tqbu gec\enotes\setemptybar
\endpiece
\end{verbatim}\end{quote}
- However, not all music scores have the same meter in each staff.
-Especially, some staffs may have \ital{ternary} meters while others have
-\ital{binary}. This can be specified by using the \keyindex{generalmeter} macro
-to set the meter for most of the scores and overriding it by:
-
-\keyindex{setmeter}\verb|2{{\meterfrac{12}8}\allabreve}%|
-
- \noindent which sets the meter to 12/8 for the first (lower)
-staff, and \ital{alla breve} for the second staff of the instrument number 2.
-
-Sometimes it might be useful to insert additional space before the meter is
-written. This is possible by assigning a value to \keyindex{meterskip} in the
-preamble. It is reset to zero after first meter indication.
- \subsection{Instrument names} If you want the \itxem{name of the instrument}s
-(or the \itxem{name of the voice}s) to be displayed in front of their
-respective staffs at the beginning, you may code:
-\keyindex{setname} $n$\verb|{|\ital{name of the instrument}\verb|}%|
-
- %\check
- \noindent where $n$ is the number of the instrument
-considered. In this case, you should also adjust the \keyindex{parindent}
-dimension so that the long name of an instrument does not spill too far into
-the left margin.
- \subsection{Polyphonic songs}
-Except staffs of a unique instrument tied together with a big brace, staffs
-normally begin on the left with a thin vertical rule. However, it is usual to
-tie all human voices together with a left heavy and right thin vertical rule.
-
- \subsubsection{Case of only one choir}
- In the usual case where you have only one choir, this can be specified
-by:
+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.
+
+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.
+
+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.
+ \subsection{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}\verb|{|$n$\verb|}|\\
+\keyindex{songtop}\onen\\
\keyindex{songbottom}\verb|{|$m$\verb|}|
\end{quote}
\noindent where $m$ and $n$ are the instrument numbers of the first
-and last choral voices. Example is shown in \ref{song}.
+and last voices. An example is shown in section~\ref{song}.
- No heavy square brace is produced when the bottom instrument has a number
-greater than the top one. This feature can be used to remove choir heavy
-braces between distinct parts of the same score.
-
- \subsubsection{Case of several choirs or several orchestras}
- Your may divide your instruments into up to three groups linked together with
-a left square brace. Each of these groups is specified with:
+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 choral voices of group number $g$. \musixtex{} allows up to three
-groups, numbered from 1 to 3, plus the ``zero'' group consisting of the voices
-or instruments which belong to no declared group. \verb|\songtop| is equivalent
-to \verb|\grouptop 1| and \verb|\songbottom| is equivalent to
+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 {\tt musixadd.tex}, this number of groups is raised to four.
-
- This grouping feature can also be used to collect not only voices but also
-instruments with one or several staffs. In that case the normal brace is
-shifted left of the square havy brace.
+With \ttxem{musixadd.tex}, the allowable number of groups is increased to four.
- \subsection{Removing square choir braces}
+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 choir braces can be removed by stating a
-\verb|\songtop| less than the \verb|\songbottom|. The same applies to
-\verb|\grouptop| and \verb|\groupbottom| of the same group number.
+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.
- \subsection{Specifying all brackets together}
-
- Alternatively, you can use the following command for specifying all
-required brackets together:
+ 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|}{|%
@@ -1183,63 +1263,135 @@ required brackets together:
\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;
-\verb|\akkoladen{}| cancels all brackets.
-
-Example:
-\begin{quote}
- \verb|\instrumentnumber{5} \akkoladen{{1}{2}{3}{5}}|
-\end{quote}
-yields:\par\nopagebreak
+\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 2 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 extension file
+%\ttxem{curly.tex}\footnote{Submitted
+\href{http://icking-music-archive.org/software/musixtex/add-ons/curly.tex}
+{\underline{\ttxem{curly.tex}}}\footnote{Submitted
+by Mthimkhulu {\sc Molekwa} to the mutex list}, which defines 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{minipage}[t]{50mm}
\begin{music}
% just to avoid wasting space ...
- \smallmusicsize\setsize1\smallvalue\setsize2\smallvalue
- \setsize3\smallvalue\setsize4\smallvalue\setsize5\smallvalue
+ \sepbarrules
+ \smallmusicsize
+\setsize1\smallvalue\setsize2\smallvalue
+\setsize3\smallvalue\setsize4\smallvalue\setsize5\smallvalue
\instrumentnumber{5} \akkoladen{{1}{2}{3}{5}}
- \startextract \hardspace{2cm}\zendextract
+ \startextract\notes\en\bar\notes\en\zendextract
\end{music}
-which was coded as:
-
+\begin{quote}is coded as:
+\begin{verbatim}
+ \sepbarrules
+ \smallmusicsize
+ \setsize1\smallvalue
+ \setsize2\smallvalue
+ \setsize3\smallvalue
+ \setsize4\smallvalue
+ \setsize5\smallvalue
+ \instrumentnumber{5}
+ \akkoladen{{1}{2}{3}{5}}
+ \startextract
+ \notes\en\bar\notes\en
+ \zendextract
+\end{verbatim}\end{quote}
+\end{minipage}
+\begin{minipage}[t]{50mm}
+\begin{music}
+ \sepbarrules
+ \smallmusicsize
+\setsize1\smallvalue\setsize2\smallvalue
+ \instrumentnumber2 \setstaffs12\setstaffs23
+ \startextract \notes\en\bar\notes\en\zendextract
+\end{music}
+\begin{quote}is coded as:
\begin{verbatim}
- \smallmusicsize\setsize1\smallvalue\setsize2\smallvalue
+ \sepbarrules
+ \smallmusicsize
+ \setsize1\smallvalue
+ \setsize2\smallvalue
+ \instrumentnumber2
+ \setstaffs12
+ \setstaffs23
+ \startextract
+ \notes\en\bar\notes\en
+ \zendextract
+\end{verbatim}\end{quote}
+\end{minipage}
+\begin{minipage}[t]{50mm}
+\begin{music}
+ \input curly
+ \sepbarrules
+ \smallmusicsize
+ \setsize1\smallvalue\setsize2\smallvalue
+ \smallmusicsize
\setsize3\smallvalue\setsize4\smallvalue\setsize5\smallvalue
- \instrumentnumber{5} \akkoladen{{1}{2}{3}{5}}
- \startextract \hardspace{2cm}\zendextract
-\end{verbatim}
+ \instrumentnumber5 %\setstaffs12\setstaffs23
+ \curlybrackets{1235}
+ \startextract \notes\en\bar\notes\en\zendextract
+\end{music}
+\begin{quote}is coded as:
+\begin{verbatim}
+ \input curly
+ \sepbarrules
+ \instrumentnumber5
+ \smallmusicsize
+ \setsize1\smallvalue
+ \setsize2\smallvalue
+ \setsize3\smallvalue
+ \setsize4\smallvalue
+ \setsize5\smallvalue
+ \curlybrackets{1235}
+ \startextract
+ \notes\en\bar\notes\en
+ \zendextract
+\end{verbatim}\end{quote}
+\end{minipage}
- %\check
-\section{Starting your masterpiece}
- \subsection{Typing the first system}
-Just code
-\keyindex{startmuflex}
-
-\noindent which opens the \ital{jobname}{\tt .mx1} during \TeX ing the first
-time your masterpiece. All informations are now written to it. During pass 3
-it will be open for read in and all computed values are used to set the
-lines\footnote{The files must be closed before leaving \TeX, preferably before
+
+\section{Preparing to enter notes}
+ \subsection{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 his own when terminating the program, but it is still
-wiser to do this explicitly.}.
+closes all open files on its own when terminating the program, but it is still
+cleaner to do this explicitly.
-\begin{remark} do not worry too much if you forget \verb|\startmuflex|; in
-most cases --- since version T.39 --- the \verb|\startpiece| command will do
-it, if necessary. Conversely, only the first \verb|\startmuflex| is effective,
-the others are inefficient... for safety. \end{remark}
+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|.
-Then code
+ \subsection{Horizontal spacing commands}\label{newspacings}
+\subsubsection{Basic note spacing}
+\musixtex\ provides a set of macros each of which defines a particular
+increment of scalable spacing. The default set is tabulated below:
- %\check
-\keyindex{startpiece}
-
-\noindent which will initiate (with indentation \keyindex{parindent})
-the first set of staffs for all instruments you have previously defined. But
-that is not sufficient to begin writing notes and silences. In fact, you
-must also choose the spacing of the notes.
- \subsection{Easy selecting note spacing}\label{newspacings}
-Therefore, we preferred to provide the composer/typesetter with a
-set of macros (incidentally, this can be adjusted):
\begin{center}
\tinynotesize
\renewcommand{\arraystretch}{1.5}% I hate LaTeX
@@ -1252,89 +1404,138 @@ set of macros (incidentally, this can be adjusted):
\keyindex{notes}\verb| ... & ... & ... \enotes|&\verb=2=\keyindex{elemskip}
&\ccu1&16th\\
\keyindex{notesp}\verb| ... & ... & ... \enotes|&\verb=2.5\elemskip=
- &\pt1\ccu1&16th pointed, 8th triplet\\
+ &\pt1\ccu1&dotted 16th, 8th triplet\\
\keyindex{Notes}\verb| ... & ... & ... \enotes|&\verb=3\elemskip=
&\cu1&8th\\
\keyindex{Notesp}\verb| ... & ... & ... \enotes|&\verb=3.5\elemskip=
- &\cup1&8th pointed, 4th triplet\\
+ &\cup1&dotted 8th, quarter triplet\\
\keyindex{NOtes}\verb| ... & ... & ... \enotes|&\verb=4\elemskip=
- &\qu1&4th\\
+ &\qu1&quarter\\
\keyindex{NOtesp}\verb| ... & ... & ... \enotes|&\verb=4.5\elemskip=
- &\qup1&4th pointed, 2th triplet\\
+ &\qup1&dotted quarter, half triplet\\
\keyindex{NOTes}\verb| ... & ... & ... \enotes|&\verb=5\elemskip=
- &\hu1&2th\\
+ &\hu1&half\\
\keyindex{NOTesp}\verb| ... & ... & ... \enotes|&\verb=5.5\elemskip=
- &\hup1&2th pointed\\
+ &\hup1&dotted half\\
\keyindex{NOTEs}\verb| ... & ... & ... \enotes|&\verb=6\elemskip=
- &\wh1&1th\\\hline
+ &\wh1&whole\\\hline
\end{tabular}\end{center}
-\noindent
-If you don't like them, define your own using e.g.:
-
-\verb|\def\NOtes{\vnotes5.34\elemskip}|
-
- %\check
-\noindent
-which means, when you use this \keyindex{NOtes} definition, that all
-\ital{spacing} notes and commands, results a spacing of 5.34 $\times$
-\keyindex{elemskip}.
-The size of the spatial unit (\keyindex{elemskip}) can be freely
-adjusted (it shows only effect outside \verb|\startpiece...\endpiece|).
-
- In practice, the choice of the macro \verb|\notes|, \verb|\Notes|,
-\verb|\NOtes|, etc., to initiate of column of notes sets an
-internal dimension register, named \keyindex{noteskip} to the given multiple
-of \keyindex{elemskip}. Thus, each \itxem{spacing note} (\keyindex{qu},
-\keyindex{qb}, \keyindex{hl}, etc.) will be followed by a spacing of
-\keyindex{noteskip}. Then, the advantage of the definition of \verb|\elemskip|
-is that, whenever it is changed, all subsequent \verb|\noteskip|s
-will be updated proportionally so that a simple change of \verb|\elemskip|
-can expand or shrink all consecutive note spacings as a whole.
-
-\medskip
-{\bf All said above counts only for first pass.}
-
-\medskip If the arthmetic progression of note spacings does not meet your
-wishes, your may force a geometric progression, where {\Bslash Notes} is
-$\sqrt{2}$ times wider as {\Bslash notes}, {\Bslash NOtes} is $\sqrt{2}$
-times wider as {\Bslash Notes}, etc. In that case, {\Bslash Notesp} is
-approximately $\sqrt{\sqrt{2}}=1.189$ times wider as {\Bslash Notes} and so
-on. The geometric progression if forced by the command
-\keyindex{geometricskipscale}, and the original arithmetic progression is
+\smallskip
+
+\noindent 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 arthmetic 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}.
- Inside the pair \verb|\notes...\enotes| you may freely change the value of
-\verb|\noteskip| (not \verb|\elemskip|) provided you keep it scalable in the
-normal situation\footnote{But: provided you keep it \ital{not scalable} if
-you use the {\Bslash hardnotes} or {\Bslash hardlyrics} features (see
-\ref{lyrics}).}. \verb|\noteskip| can be changed with a command like
-
-\verb|\noteskip=2.4\noteskip|
-
-\noindent which obviously keeps it scalable, or by means of
-
-\keyindex{multnoteskip}\verb|{2.4}|
-
-\noindent which performs the same multiplication in a smarter way. You can
-also force all \verb|\noteskip|s to be re-scaled by a factor of 3.1415 using
-
-\keyindex{scale}\verb|{2.4}|
-
-\noindent or \verb|\def|\keyindex{scalenoteskip}\verb|{2.4}| which is more
-dangerous and not advises although compatible with \musictex.
-
-\medskip
-
-To fill the music line (system) without glue, the values of \verb|\elemskip|,
-\verb|\afterruleskip| and \verb|\beforeruleskip| are adjusted from the
-external program {\tt musixflx}\index{musixflx@{\tt musixflx}}. So what
-spacing you really get, depends on the internal line-breaking routine.
-
-Spacings for advanced \musixtex'ers: a `normal' bar (slightly~!) magnified:
-\medskip
+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.
+
+In addition, inside any pair \verb|\notes...\enotes| 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.
+
+%\subsubsection{\Bslash{\tt elemskip}, \Bslash{\tt beforeruleskip} and
+%\Bslash{\tt afterruleskip}}
+%
+% avr wants to call these "commands", but das doesn't.
+%\subsubsection{Commands {\Bslash\texttt{elemskip}},
+%{\Bslash\texttt{beforeruleskip}}
+%and {\Bslash\texttt{afterruleskip}}}
+\subsubsection{{\Bslash\texttt{elemskip}},
+{\Bslash\texttt{beforeruleskip}}
+and {\Bslash\texttt{afterruleskip}}}
+
+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}&6pt&8pt&0pt\\
+\keyindex{smallmusicsize}&4.8pt&6pt&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}
+\begin{music}\nostartrule
\afterruleskip7pt
\beforeruleskip2pt
\parindent0pt
@@ -1361,7 +1562,7 @@ Spacings for advanced \musixtex'ers: a `normal' bar (slightly~!) magnified:
\znotes\en
\zchar{16}{\hbox to\beforeruleskip{\downbracefill}}%
\zchar{19}{\hbox to\beforeruleskip{\hss d\hss}}%
-\endpiece
+\setemptybar\endpiece
\end{music}
\begin{quote}\begin{tabular}{l@{~$\rightarrow$~}l}
a&\keyindex{afterruleskip}\\
@@ -1370,227 +1571,236 @@ c&\keyindex{NOtes}\verb| = \vnotes 4\elemskip|\\
d&\keyindex{beforeruleskip}\\
e&\keyindex{elemskip}
\end{tabular}\end{quote}
-As default the values are set up as follows:
-\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{quote}
-If you want to change upper values, you have to do that behind
-\verb|\normalmusicsize| or \verb|\smallmusicsize| and before
-\verb|\startpiece|.
-\end{quote}
+
+\subsection{Moving from one staff or instrument to another}
+ \label{movingtostaffs}
+
+When entering notes inside \verb|\notes ... \enotes|, 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}}.
+
+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
+\ital{same} staff by using \verb|\selectstaff{|$n$\verb|}| with $n$ for
+the \ital{current} staff.
+
%\check
-\section{Note pitch specification}
- Note pitches are usually specified by letters ranging from \verb|a| to
-\verb|z| for those which are usually written under the G-clef (\verb|a|
-corresponds to the $A$ of nominal frequency 222.5~Hz; the \ital{G} of the
-G-clef is denoted \verb|g|). Lower pitch notes are specified using upper
-case letters ranging from \verb|A| to \verb|N| (the \ital{F} of the F-clef
-is denoted \verb|M|, and \verb|F| is one octave below).
-
- If necessary, a numeric symbol can be used to place a symbol
-independently of the active clef, which has the drawback not to be
-transposable.
-
- Besides, notes below \verb|A| (i.e. the $A$ of nominal frequency 55.625~Hz),
-namely the lowest octave of the modern pianos, can only be coded using the
-transposition features (see below: \ital{transposition} and
-\ital{octaviation}) or in absolute vertical position using numbers.
- \section{Writing notes}
-There are two major kinds of note macros: \begin{enumerate} \item those
-which terminate a note/chord stem and are followed by a horizontal spacing of
-value \keyindex{noteskip},
- \item those which initiate or extend a note/chord stem and do not cause
-horizontal spacing.
-\end{enumerate}
- The first kind is used to type a melody, the second kind is used to
-type chords.
- \subsection{Single spacing notes}
-\begin{quote}\begin{description}
- \item[\keyindex{breve}~$p$ :]breve note (\hbox to 8pt{\zbreve1\hss}) at pitch $p$.
- \item[\keyindex{longa}~$p$ :]longa note
- (\hbox to8pt{\zlonga1\hss}) at pitch $p$.
- \item[\keyindex{longaa}~$p$ :]same as \verb|\longa|, with an ``automatic''
-stem up or down.
- \item[\keyindex{zmaxima}~$p$ :]maxima note
- (\hbox to16pt{\zmaxima1\hss}) at pitch $p$.
- \item[\keyindex{wq}~$p$ :]arbitrary duration note (also used as alternate
-representation of \ital{breve} note)
- (\hbox to8pt{\zwq1\hss}) at pitch $p$.
- \item[\keyindex{wqq}~$p$ :]long arbitrary duration note (also used as alternate
-representation of \ital{longa} note)
- (\hbox to8pt{\zwqq1\hss}) at pitch $p$.
- \item[\keyindex{wh}~$p$ :]whole note at pitch $p$.
- \item[\keyindex{hu}~$p$ :]half note at pitch $p$ with stem up.
- \item[\keyindex{hl}~$p$ :]half note at pitch $p$ with stem down.
- \item[\keyindex{ha}~$p$ :]half note at pitch $p$ with automatic
-stem\footnote{This
-means all stems belonging to notes below the third line are stemmed up,
-the other down, they work with every clef, but only for single notes.} choice.
- \item[\keyindex{qu}~$p$ :]quarter note at pitch $p$ with stem up.
- \item[\keyindex{ql}~$p$ :]quarter note at pitch $p$ with stem down.
- \item[\keyindex{qa}~$p$ :]quarter note at pitch $p$ with ``automatic'' stem.
- \item[\keyindex{cu}~$p$ :]eighth note\footnote{The {\Bslash c} of this macro
- name is taken from the French word ``croche'' which is by the way one
- half of the english ``crotchet''; {\Bslash cc...}, {\Bslash ccc...}
- are standing for ``double croche'', ``triple croche'', etc.}
- at pitch $p$ with stem up.
- \item[\keyindex{cl}~$p$ :]eighth note at pitch $p$ with stem down.
- \item[\keyindex{ca}~$p$ :]eighth note at pitch $p$ with ``automatic'' stem.
- \item[\keyindex{ccu}~$p$ :]sixteenth note at pitch $p$ with stem up.
- \item[\keyindex{ccl}~$p$ :]sixteenth note at pitch $p$ with stem down.
- \item[\keyindex{cca}~$p$ :]sixteenth note at pitch $p$ with ``automatic'' stem.
- \item[\keyindex{cccu}~$p$ :]32-th note at pitch $p$ with stem up.
- \item[\keyindex{cccl}~$p$ :]32-th note at pitch $p$ with stem down.
- \item[\keyindex{ccca}~$p$ :]32-th note at pitch $p$ with ``automatic'' stem.
- \item[\keyindex{ccccu}~$p$ :]64-th note at pitch $p$ with stem up.
- \item[\keyindex{ccccl}~$p$ :]64-th note at pitch $p$ with stem down.
- \item[\keyindex{ccccl}~$p$ :]64-th note at pitch $p$ with ``automatic'' stem.
+\section{Note pitch specification}\label{pitchspec}
+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
+section~\ref{octaviation}.
+
+ \section{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.
+
+ \subsection{Normal (unbeamed) spacing notes}\label{NormalNotes}
+In the following, \verb|{|$p$\verb|}| signifies a pitch specification as
+described in sections~\ref{pitchspec} and \ref{octaviation}. However it
+is understood that if the pitch is a single character, the brackets are
+not neecessary, 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{zmaxima}{\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} :]32nd note with stem up.
+ \item[\keyindex{cccl}{\tt\char123}$p${\tt\char125} :]32nd note with stem down.
+ \item[\keyindex{ccca}{\tt\char123}$p${\tt\char125} :]32nd note with automatic stem direction.
+ \item[\keyindex{ccccu}{\tt\char123}$p${\tt\char125} :]64nd note with stem up.
+ \item[\keyindex{ccccl}{\tt\char123}$p${\tt\char125} :]64nd note with stem down.
+ \item[\keyindex{ccccl}{\tt\char123}$p${\tt\char125} :]64nd note with automatic stem direction.
\end{description}\end{quote}
- As an example, the sequence:
+ As an example, the sequence
%\check
-\begin{music}
+\begin{music}\nostartrule
\startextract
\Notes\cu c\cl j\enotes\bar
\Notes\ccu c\ccl j\enotes\bar
\Notes\cccu c\cccl j\enotes\bar
\Notes\ccccu c\ccccl j\enotes
-\endextract
+\zendextract
\end{music}
- \noindent was coded as:
+ \noindent was coded as
\begin{quote}\begin{verbatim}
\Notes\cu c\cl j\enotes\bar
\Notes\ccu c\ccl j\enotes\bar
\Notes\cccu c\cccl j\enotes\bar
\Notes\ccccu c\ccccl j\enotes
\end{verbatim}\end{quote}
- If these notes are preceded by \ital{non-spacing} notes (i.e.
-macros \keyindex{zq} or \keyindex{zh}) their stem is extended up or down so
-as to join all notes into a single chord.
- \subsection{Non-spacing (chord) notes}
-\begin{quote}\begin{description}
- \item[\keyindex{zq}~$p$ :]quarter (or shorter) note head at pitch $p$ with no
-spacing after.
- \item[\keyindex{zh}~$p$ :]half note head at pitch $p$ with no spacing after.
-\end{description}\end{quote}
- It must be pointed out that the pitch $p$ of these notes is
-memorized so that the stem of the further spacing note will join them into
-a chord. This stem top and bottom pitch is \ital{reset} at each spacing
-note.
-
- \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}
- \subsection{Shifted non-spacing (chord) heads} These symbols are used mainly
-in chords where \ital{second} intervals are present. It is the
-responsibility of the typist to choose which heads should be shifted left or
-right.
-
-\begin{quote}\begin{description}
-\item[\keyindex{rw}~$p$ :]whole note head shifted right by one note
-width ($\approx$ 6pt), no spacing.
-\item[\keyindex{lw}~$p$ :]whole note head shifted left by one note
-width ($\approx$ 6pt), no spacing.
-\item[\keyindex{rh}~$p$ :]half note head shifted right by one note
-width ($\approx$ 6pt), no spacing.
-\item[\keyindex{lh}~$p$ :]half note head shifted left by one note
-width ($\approx$ 6pt), no spacing.
-\item[\keyindex{rq}~$p$ :]quarter note head shifted right by one note
-width ($\approx$ 6pt), no spacing.
-\item[\keyindex{lq}~$p$ :]quarter note head shifted left by
-one note width ($\approx$ 6pt), no spacing.
+ \subsection{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}
+
+ \subsection{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}
- %\check
- Except that they are shifted left of right, these macros act like
-\verb|\z...| macros for stem building.
- \subsection{Single non-spacing notes}
-\begin{quote}\begin{description}
- \item[\keyindex{zhu} :]half note with stem up but no spacing. It acts like
-\verb|\hu| for stem building.
- \item[\keyindex{zhl} :]half note with stem down but no spacing. It acts like
-\keyindex{hl} for stem building.
- \item[\keyindex{zqu} :]quarter note with stem up but no spacing. It acts like
-\verb|\qu| for stem building.
- \item[\keyindex{zql} :]quarter note with stem down but no spacing. It acts
-like \verb|\ql| for stem building.
- \item[\keyindex{zcu}, \keyindex{zccu}, \keyindex{zcccu}, \keyindex{zccccu}
-:]eighth, ..., note with stem up but no spacing. It acts like
-\verb|\cu| for stem building.
- \item[\keyindex{zcl}, \keyindex{zccl}, \keyindex{zcccl}, \keyindex{zccccl}
-:]eighth, ..., note with stem down but no spacing. It acts
-like \verb|\cl| for stem building.
- \item[\keyindex{zqb} :]note belonging to a beam but no spacing.
- \item[\keyindex{rhu}, \keyindex{rhl}, \keyindex{rqu}, \keyindex{rql},
+ \subsection{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}
+:]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}
+:]eighth, ..., note with stem down but no spacing. They act
+like \verb|\cl| for chord building.
+ \item[\keyindex{zqb}\pitchp~:]note belonging to a beam but no spacing. (DAS: put this later!)
+ \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 on the right, other analogous.
- \item[\keyindex{lhu}, \keyindex{lhl}, \keyindex{lqu}, \keyindex{lql},
+ 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 whole of the note is shifted one note width on the left.
- \item[\keyindex{zw}~$p$ :]whole note at pitch $p$ with no spacing after.
- \item[\keyindex{zwq}~$p$ :]arbitrary duration note
- (\hbox to8pt{\zwq1\hss}) at pitch $p$ with no spacing after.
- \item[\keyindex{zbreve}~$p$ :]breve note
- (\hbox to8pt{\zbreve1\hss}) at pitch $p$ with no spacing after.
- \item[\keyindex{zlonga}~$p$ :]longa note
- (\hbox to8pt{\zlonga1\hss}) at pitch $p$ with no spacing after.
- \item[\keyindex{zmaxima}~$p$ :]maxima note
- (\hbox to16pt{\zmaxima1\hss}) at pitch $p$ with no spacing after.
+ 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
+\subsection{Spacing note heads}
-\subsection{Single (spacing) stemless notes}
-
- Although not standard in real music scores, one may need to have stemless
-quarter and half note heads posted in the same way as whole notes. This can be
-done with the following commands:
+Although not needed in normal music scores, these may be useful in
+very special cases.
-\begin{quote}\begin{description}
-\item[\keyindex{nh}~$p$ :]half note head at pitch $p$.
-\item[\keyindex{nq}~$p$ :]quarter note head at pitch $p$.
+\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}
-\medskip As an example, the sequence:
+\noindent As an example, the sequence
-\begin{music}
+\begin{music}\nostartrule
\startextract
\notes\nq c\nq j\enotes\barre
\Notes\nh c\nh j\enotes\barre
\notes\nq {cdef}\enotes
-\endextract
+\zendextract
\end{music}
-\medskip \noindent was coded as:
+\noindent was coded as
-%\check
\begin{quote}\begin{verbatim}
\notes\nq c\nq j\enotes\barre
\Notes\nh c\nh j\enotes\barre
\notes\nq {cdef}\enotes
\end{verbatim}\end{quote}
- In case of special need, non spacing variants have been provided, namely
+Non spacing variants are also provided, namely
\keyindex{znh} and \keyindex{znq}.
+% DAS: why???
+ \subsection{Dotted notes}\label{dots}
- \subsection{Pointed notes}
-One simple way of doing consists in putting \keyindex{pt
-$p$} to get a \ital{dot} after the normal note head at pitch $p$. Thus a
-quarter note with one point can be coded \verb|\pt h\qu h|, with two points
-as \keyindex{ppt}\verb|\qu h| and with three points as
-\keyindex{pppt}\verb|\qu h|.
-
- A simpler way of doing consists in using compact macros, namely:
-\keyindex{whp}, \keyindex{whpp},
+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}\pitchp, \keyindex{whpp},
\keyindex{zwp}, \keyindex{zwpp},
\keyindex{hup}, \keyindex{hupp},
\keyindex{hlp}, \keyindex{hlpp},
@@ -1601,188 +1811,250 @@ as \keyindex{ppt}\verb|\qu h| and with three points as
\keyindex{cup}, \keyindex{cupp},
\keyindex{clp}, \keyindex{clpp},
\keyindex{qbp} and \keyindex{qbpp}.
-Where all \verb|\z...p| are useful in chords.
-
- You may also introduce pointed notes, especially in groups by coding
-a \ital{period} before (not after) the letter representing the pitch:
-\verb|\qu{.a.^b.c}| which is equivalent to:
-\begin{quote}\begin{verbatim}
-\pt{a}\qu{a}\pt{b}\sh{b}\qu{b}\pt{c}\qu{c}
-\end{verbatim}\end{quote}
-Finally, pointed notes can also be produced without spacing after, using
+Naturally, 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}, or \keyindex{pppt} 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|.
+
+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},
-and the same with two \verb|p|'s for
-double-pointed notes, like \keyindex{zhupp}, \keyindex{zhlpp},
-\keyindex{zqupp}, \keyindex{zqlpp},
-\keyindex{zcupp}, \keyindex{zclpp} and \keyindex{zqbpp}.
-
-If two voices share one staff, the points of the lower voice are lowered,
-if the note is on a note line. Therefore you can use \keyindex{lpt}~$p$ and
-\keyindex{lppt}~$p$.
+and similarly with two \verb|p|'s for
+double-dotted notes.
+
+As a matter of style, if two voices share one staff, the dots in
+the lower voice should be lowered if the note is on a line. For
+this you can use \keyindex{lpt}{\tt\char123}$p${\tt\char125} and
+\keyindex{lppt}{\tt\char123}$p${\tt\char125}.
+
+\subsection{Sequences of equally spaced notes; collective coding}
+\label{CollectiveCoding}
+
+It isn't necessary to write a separate macro
+sequence \verb|\notes...\enotes| 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.
- %\check
\section{Beams}
-
- Beams are not automatically handled, but they must be declared explicitely,
-\ital{before} the first spacing note involving them is coded. Two kinds of
-macros are provided:
-
-\begin{enumerate}
-
- \item fixed slope beams have an arbitrary slope chosen by the user in
-the range -45\% to +45\% (by multiples of 5\%);
-
- \item semi-automatic beams have their slope computed knowing the number
-of \keyindex{noteskip} over which they are supposed to extend, and knowing the
-initial and final pitch of the notes they are supposed to link.
-\end{enumerate}
- %\check
- \subsection{Fixed slope beams}
- \subsubsection{Beam initiation}
-\begin{quote}\begin{description}
- \item[\keyindex{ibu}~$nps$ :]initiates an \ital{upper beam} 3 horizontal
-line spacings above the pitch $p$~; $n$ is its reference number, which must be
-in the range [0-5] ([0-8] if \verb|musixadd| file has been \verb|\input|);
-$s$ is the slope of the beam.
-\end{description}\end{quote}
- $s$ is an integer in the range [-9,9].
-$s=1$ means a slope of 5\%, $s=9$ means a slope of 45\%,
-$s=-3$ means a slope of -15\%, etc.
-With usual spacings a slope of 2 or 3 is fit for ascending scales. A slope of
-6 to 9 is fit for ascending arpeggios.
-
-\begin{quote}\begin{description}
-
- \item[\keyindex{ibl}~$nps$ :]initiates a \ital{lower beam} 3 horizontal line
-spacings below the pitch $p$. Other parameters as above.
-
- \item[\keyindex{ibbu}~$nps$ :]initiates a \ital{double upper beam} (same
-parameter meaning).
- \item[\keyindex{ibbl}~$nps$ :]initiates a \ital{double lower beam} (same
-parameter meaning).
- \item[\keyindex{ibbbu}~$nps$ :]initiates a \ital{triple upper beam} (same
-parameter meaning).
- \item[\keyindex{ibbbl}~$nps$ :]initiates a \ital{triple lower beam} (same
-parameter meaning).
- \item[\keyindex{ibbbbu}~$nps$ :]initiates a \ital{quadruple upper beam} (same
-parameter meaning).
- \item[\keyindex{ibbbbl}~$nps$ :]initiates a \ital{quadruple lower beam} (same
-parameter meaning).
+\subsection{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. By default it must be
+in the range [0-5], but the maximum can be increased to 8 or 11 respectively
+if \verb|musixadd| or \verb|musixmad| has been \verb|\input|. The beam number 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. The ``pitch'' parameter 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 OK 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}
-Notes belonging to beams are coded in the form \keyindex{qb}~$np$ where $n$ is
-the beam number and $p$ the pitch of the note head. \musixtex\ adjusts the
-length of the note stem to link the bottom of the chord to a beam.
-
- \subsubsection{Beam termination}
- Beam termination is also not automatic. The termination of a given
-beam must be explicitely declared \ital{before} coding the last spacing note
-connected to that beam.
-\begin{quote}\begin{description}
- \item[\keyindex{tbu}~$n$ :]terminates upper beam number $n$ at current
-position. \item[\keyindex{tbl}~$n$ :]terminates lower beam number $n$ at
-current position.
-\end{description}\end{quote}
-\keyindex{tbu} and \keyindex{tbl} terminate beams of any
-multiplicity. Therefore 32-th notes hanging on a triple beam are initiated by
-\keyindex{ibbbu}~$nps$ and terminated by \keyindex{tbu}~$n$.
-
- Since beams usualy finish with a \verb|\qb| to link the last note, shorter
-macros have been provided:
-
- \begin{itemize}
-
- \item \keyindex{tqb} $np$ is equivalent to \verb|\tbl| $n$\verb|\qb| $np$
+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.
- \item \keyindex{tqh} $np$ is equivalent to \verb|\tbu| $n$\verb|\qb| $np$
+ Eight such macros are available: \keyindex{Ibu}, \keyindex{Ibbu},
+\keyindex{Ibbbu}, \keyindex{Ibbbbu}, \keyindex{Ibl}, \keyindex{Ibbl},
+\keyindex{Ibbbl} and \keyindex{Ibbbbl}.
- \item \keyindex{ztqb} $np$ is equivalent to \verb|\tbl| $n$\verb|\zqb| $np$
-(no spacing after)
+\subsection{Adding notes to a beam}
- \item \keyindex{ztqh} $np$ is equivalent to \verb|\tbu| $n$\verb|\zqb| $np$
-(no spacing after)
+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.
- \end{itemize}
+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.
- \subsubsection{Beams of increasing multiplicity}
- It is also possible to code beams whose multiplicity is not the same
-at the beginning. The multiplicity can be increased at any position. For
-instance, \keyindex{nbbu}~$n$ which sets the multiplicity of upper beam
-number $n$ to 2 starting at the current position, \keyindex{nbbbu}~$n$ sets
-its multiplicity to 3 and \keyindex{nbbbbu}~$n$ sets its multiplicity to 4.
-\keyindex{nbbl}~$n$ \dots
-\keyindex{nbbbbl}~$n$ perform the same functions for lower beams.
+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
- Note that the difference between upper and lower beams does not
-mainly consist in the beam being above or below the note heads; rather, it
-specifies whether the abscissa of the beginning and the end of this beam is
-aligned on the right (upper beam) or on the left (lower) beam. Thus, the
-sequence:
+ \subsection{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:
+
+\def\enpee{{\tt{\char123$n$\char125\char123$p$\char125}}}
+\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}
-\begin{music}
+\subsection{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\enotes
-\endextract
+\zendextract
\end{music}
\noindent has been coded as
\begin{quote}\begin{verbatim}
\Notes\ibu0h0\qb0e\nbbu0\qb0e\nbbbu0\qb0e\nbbbbu0\qb0e\tbu0\qb0e\enotes
\end{verbatim}\end{quote}
- It is quite possible to terminate with \keyindex{tbu} a beam initiated
-with \keyindex{ibl}. This may give:
-
-\begin{music}
-\startextract
-\Notes\ibl0p0\qb0p\nbbl0\qb0p\nbbbl0\qb0p\tbu0\qb0e\enotes
-\endextract
-\end{music}
-\noindent which has been coded as
-\begin{quote}\begin{verbatim}
-\Notes\ibl0p0\qb0p\nbbl0\qb0p\nbbbl0\qb0p\tbu0\qb0e\enotes
-\end{verbatim}\end{quote}
- \subsubsection{Beams of decreasing multiplicity}
- Partial termination of beams is also possible, by using \keyindex{tbbu}
-or \keyindex{tbbl}~: these macros terminate the current beam except that of
-order 1 (eighths). \keyindex{tbbbu} or \keyindex{tbbbl} terminate the current
-beam except those of order 1 and 2, etc.
+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}
+\begin{music}\nostartrule
\startextract
\Notes\ibbbu0h0\qb0e\tbbbu0\qb0e\tbbu0\qb0e\tbu0\qb0e\enotes
-\endextract
+\zendextract
\end{music}
\noindent has been coded as
\begin{quote}\begin{verbatim}
\startextract
\Notes\ibbbu0h0\qb0e\tbbbu0\qb0e\tbbu0\qb0e\tbu0\qb0e\enotes
-\endextract
+\zendextract
\end{verbatim}\end{quote}
-The macros \keyindex{tbbu} and \keyindex{tbbl} and higher order
-may also be invoked when only
-a single beam is active. Then, a second beam or third or ...
-(upper or lower according
-the initiating procedure) is opened \ital{one note width before
-the current position, and closed immediately}. Thus the following sequences
+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}
+\begin{music}\nostartrule
\let\extractline\hbox
\hbox to \hsize{%
\hss
\startextract
\Notes\ibu0e0\qbp0e\tbbu0\tbu0\qb0e\en
- \endextract
+ \zendextract
\hss\hss
\startextract
\Notes\ibu0e0\qbpp0e\tbbbu0\tbbu0\tbu0\qb0e\en
- \endextract
+ \zendextract
\hss}
\end{music}
-\noindent are coded:
+\noindent are coded
\hspace*{\fill}\begin{minipage}{.4\textwidth}\begin{verbatim}
\Notes\ibu0e0\qbp0e%
\tbbu0\tbu0\qb0e\en
@@ -1792,34 +2064,42 @@ the current position, and closed immediately}. Thus the following sequences
\tbbbu0\tbbu0\tbu0\qb0e\en
\end{verbatim}\end{minipage}\hfill
-\noindent The same behaviour occurs in the case of \keyindex{tbbbu},
-\keyindex{tbbbl}, \keyindex{tbbbbu} and \keyindex{tbbbbl}.
- The symmetrical pattern is also possible. For example:
+\medskip
-\begin{music}
+
+The symmetrical pattern is also possible. For example:
+
+\begin{music}\nostartrule
\startextract
\Notes\ibbl0j0\roff{\tbbl0}\qb0j\tbl0\qbp0j\enotes
-\endextract
+\zendextract
\end{music}
\noindent has been coded as:
\begin{quote}\begin{verbatim}
\Notes\ibbl0j0\roff{\tbbl0}\qb0j\tbl0\qbp0j\enotes
\end{verbatim}\end{quote}
- \begin{remark} these codings may seem complicated. In fact,
-it is the responsibility of the user to define macros which perform the most
-common sequences in his masterpiece. For example, one could define sets 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 consecutive sixteenths wanted.
-\end{remark}
-
-
-\noindent A slightly more complicated example is:
-\begin{music}
+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
@@ -1827,7 +2107,7 @@ arguments are the pitches of the four consecutive sixteenths wanted.
\notesp\ibbu0f0\roff{\tbbu0}\qbp0f\en
\Notes\qb0f\en
\notes\tbbbu0\tbbu0\tbu0\qb0f\en
-\endextract
+\zendextract
\end{music}
\noindent has been coded as:
\begin{quote}\begin{verbatim}
@@ -1838,59 +2118,86 @@ arguments are the pitches of the four consecutive sixteenths wanted.
\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\enotes
+\zendextract
+\end{music}
+\noindent which has been coded as
+\begin{quote}\begin{verbatim}
+\Notes\ibl0p0\qb0p\nbbl0\qb0p\nbbbl0\qb0p\tbu0\qb0e\enotes
+\end{verbatim}\end{quote}
+
+ \begin{remark} 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.
+\end{remark}
+
%\check
- \subsection{Repeated pattern beams}\index{repeated patterns}
-Note heads hanging on beams are not necessarily quarter (or higher order)
-note heads. It is possible to hang half note heads on beams
-using \keyindex{hb} macro, e.g.:
+ \subsection{Shorthand beam notations for repeated notes}\index{repeated patterns}
+Sometimes you may want to indicate repeated short notes with open note heads joined
+by a beam. Here's an example of how to do that
+using the \keyindex{hb} macro:
-\begin{music}
+\begin{music}\nostartrule
\startextract
\Notes\ibbl0j0\hb0j\tbl0\hb0j\enotes
\Notes\ibbu0g0\hb0g\tbu0\hb0g\enotes
-\endextract
+\zendextract
\end{music}
-\noindent has been coded as:
+\noindent which has been coded as:
\begin{quote}\begin{verbatim}
\Notes\ibbl0j0\hb0j\tbl0\hb0j\enotes
\Notes\ibbu0g0\hb0g\tbu0\hb0g\enotes
\end{verbatim}\end{quote}
+It is also possible to dispense with the stems:
-It is also possible to write
-
-\begin{music}
+\begin{music}\nostartrule
\startextract
\Notes\ibbl0j3\wh j\tbl0\wh l\enotes
\Notes\ibbu0g3\wh g\tbu0\wh i\enotes
-\endextract
+\zendextract
\end{music}
-\noindent which was coded as:
+\noindent which was coded as
\begin{quote}\begin{verbatim}
\Notes\ibbl0j3\wh j\tbl0\wh l\enotes
\Notes\ibbu0g3\wh g\tbu0\wh i\enotes
\end{verbatim}\end{quote}
-\noindent However, a better look could be obtained in a more sophisticated
-way\footnote{You are suggested to make your own macro if you have to type many
-of these, or better: use a pre-compiler.}:
+\noindent A different look could be obtained as follows:
-\begin{music}
+\begin{music}\nostartrule
\startextract
\Notes\loff{\zw j}\ibbl0j3\sk\tbl0\wh l\enotes
\Notes\ibbu0g3\wh g\tbu0\roff{\wh i}\enotes\qspace
-\endextract
+\zendextract
\end{music}
-\noindent which was simply coded as:
+\noindent which was coded as:
\begin{quote}\begin{verbatim}
\Notes\loff{\zw j}\ibbl0j3\sk\tbl0\wh l\enotes
\Notes\ibbu0g3\wh g\tbu0\roff{\wh i}\enotes\qspace
\end{verbatim}\end{quote}
- Single repeated notes can also be made --- in a much more sophisticated
-way\footnote{But you can write your own macro, thinking of using
-{\tt\char92transpose} to lift the oblique beams.}, for example:
+Yet another way to indicate repeated notes is given in the
+following example:
- \begin{music}
+ \begin{music}\nostartrule
\startextract
\Notes\ibl0h0\qb0{hhh}\tbl0\qb0h\bsk\bsk\bsk\bsk
\ibu0j0\qb0{jjj}\tbu0\qb0j\en
@@ -1902,9 +2209,9 @@ way\footnote{But you can write your own macro, thinking of using
\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
-\endextract
+\zendextract
\end{music}
- \noindent whose coding (due to W. {\sc Icking}) is;
+ \noindent whose coding (due to Werner {\sc Icking}) is
\begin{quote}\begin{verbatim}
\Notes\ibl0h0\qb0{hhh}\tbl0\qb0h\bsk\bsk\bsk\bsk
@@ -1919,58 +2226,15 @@ way\footnote{But you can write your own macro, thinking of using
\loffset{0.5}{\ibbu0f9}\roffset{0.5}{\tbu0}\hu j\en
\end{verbatim}\end{quote}
- \subsection{Beams across bars}
-The usual way most composers wrote their scores was beams inside bars,
-at least until the beginning of the XIX-th
-century. Unfortunately, later composers ({\sc Brahms}, {\sc Scriabin},
-{\sc Grieg}, etc.) wanted to write beams jumping across bars.
-This is possible without any problems.
-We give an example from {\sc Brahms}'s Intermezzo op.~118,1 provided by
-Miguel {\sc Filgueiras}:\index{Brahms, J.@{\sc Brahms, J.}}\medskip
+ \subsection{Beams that cross line breaks}
-\begin{music}
-\interstaff{12}
-\setstaffs1{2}
-\setclef1\bass
-\generalmeter\allabreve
-\startextract
-\NOtes\qp\nextstaff\isluru0q\zq{q}\ql{j}\enotes
-\bar
-\nspace
-\Notes\ibu0L2\qb0{CEJLcL}%
- \nextstaff\roff{\zw{l}}\pt{p}\zh{_p}\pt{i}\hl{_i}\enotes
-\Notes\qb0J\itied1a\qb0a\nextstaff\tslur0o\zq{o}\ql{h}\enotes
-\bar
-\Notes\ttie1\zh{.L.a}\hl{.e}%
- \nextstaff\qb0{chj}\tbl0\qb0l\cl{q}\ds\enotes
-\NOtes\qp\nextstaff\zq{q}\ql{j}\enotes
-\endextract
-\end{music}
- %\check
-\noindent whose coding is:
-\begin{verbatim}
-\interstaff{13}
-\instrumentnumber{1}
-\setstaffs1{2}
-\setclef1\bass
-\generalmeter\allabreve
-\startextract
-\NOtes\qp\nextstaff\isluru0q\zq{q}\ql{j}\enotes
-\bar
-\nspace
-\Notes\ibu0a1\qb0{CEJLcL}%
- \nextstaff\roff{\zw{l}}\pt{p}\zh{_p}\pt{i}\hl{_i}\enotes
-\Notes\qb0J\itied1a\qb0a\nextstaff\tslur0o\zq{o}\ql{h}\enotes
-\bar
-\Notes\ttie1\zh{.L.a}\hl{.e}%
- \nextstaff\qb0{chj}\tbl0\qb0l\cl{q}\ds\enotes
-\NOtes\qp\nextstaff\zq{q}\ql{j}\enotes
-\endextract
-\end{verbatim}
-Still to be done manually is the cut and prolongation across line breaks, which
-can be easily be done with shifting using \keyindex{roff} and/or
-\keyindex{loff}, or with insert of a spacing command (here done with
-\keyindex{hsk}). We give an example from {\sc Grieg}'s ``Hochzeit auf
+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}
@@ -2019,89 +2283,187 @@ Troldhaugen'':\index{Grieg, E.@{\sc Grieg, E.}}\medskip
\notes\rlap\qs\hsk\tbu0|\rq e\zq d\zqb1N\hsk\tbu1\en
\endpiece
\end{music}
-\noindent where the prolongation was coded as:
-\begin{verbatim}
+\noindent The prolongation of the two upper beam 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{verbatim}\end{quote}
%\check
- \subsection{Semi-automatic beams}
-In order to avoid tedious checks to adjust the slope (and even the starting
-pitch) of beams in music with a lot of steep beams, a set of automatically
-slope computing has recently been implemented. If
-you say \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 is a \verb|j|.
-Knowing these parameters it will choose the highest slope number which
-corresponds to a slope not more than $(\hbox{\tt j}-\hbox{\tt
-g})/(3\keyindex{noteskip})$. Moreover, if there is no sufficiently steep beam
-slope available, then it will raise 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}.
-
-Also available are ready definitions for often needed sets of double,
-triple and quadruple notes with computed slopes. These are:
-\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
+ \subsection{Beams with notes on several different staves}
+Here's a simple example from {\sc Brahms}'s
+Intermezzo op.~118,1 provided by
+Miguel {\sc Filgueiras}:\index{Brahms, J.@{\sc Brahms, J.}}\medskip
-\medskip
\begin{music}
-\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\endpiece
+\interstaff{12}
+\setstaffs1{2}
+\setclef1\bass
+\generalmeter\allabreve
+\startextract
+\NOtes\qp\nextstaff\isluru0q\zq{q}\ql{j}\enotes
+\bar
+\nspace
+\Notes\ibu0L2\qb0{CEJLcL}%
+ \nextstaff\roff{\zw{l}}\pt{p}\zh{_p}\pt{i}\hl{_i}\enotes
+\Notes\qb0J\itied1a\qb0a\nextstaff\tslur0o\zq{o}\ql{h}\enotes
+\bar
+\Notes\ttie1\zh{.L.a}\hl{.e}%
+ \nextstaff\qb0{chj}\tbl0\qb0l\cl{q}\ds\enotes
+\NOtes\qp\nextstaff\zq{q}\ql{j}\enotes
+\endextract
\end{music}
-\noindent which was simply coded as:
-\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
+\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}\enotes
+\bar
+\nspace
+\Notes\ibu0a1\qb0{CEJLcL}%
+ \nextstaff\roff{\zw{l}}\pt{p}\zh{_p}\pt{i}\hl{_i}\enotes
+\Notes\qb0J\itied1a\qb0a\nextstaff\tslur0o\zq{o}\ql{h}\enotes
+\bar
+\Notes\ttie1\zh{.L.a}\hl{.e}%
+ \nextstaff\qb0{chj}\tbl0\qb0l\cl{q}\ds\enotes
+\NOtes\qp\nextstaff\zq{q}\ql{j}\enotes
+\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\rm~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
+ \notes
+ \nextstaff\Ibbbu0Ae7\prevstaff
+ \qb0{AEH^JLa}\relax\nextstaff
+ \qb0{******^c}\tqh0e\relax
+ |\zq{h^jl}\ql o\enotes
+ \notes
+ \nextstaff
+ \Ibbbu0hH6\qb0{hec}\prevstaff
+ \qb0{***aLJ}\tqh0H\relax\nextstaff
+ |\zq{h^jl}\ql o\enotes \nspace
+ \zendextract
+ \end{music}
+
+ \noindent which is coded as:
+
+ \begin{quote}
+ \begin{verbatim}
+ \setstaffs13
+ \setclef1{6000}
+ \startextract
+ \notes
+ \nextstaff\Ibbbu0Ae7\prevstaff
+ \qb0{AEH^JLa}\relax\nextstaff
+ \qb0{******^c}\tqh0e\relax
+ |\zq{h^jl}\ql o\enotes
+ \notes
+ \nextstaff
+ \Ibbbu0hH6\qb0{hec}\prevstaff
+ \qb0{***aLJ}\tqh0H\relax\nextstaff
+ |\zq{h^jl}\ql o\enotes \nspace
+ \zendextract
+ \end{verbatim}
+ \end{quote}
+
+In this example we not only see multiple uses of \keyindex{nextstaff} and
+\keyindex{prevstaff}, but also the character \verb|*| to make virtual beam notes
+(see section \ref{CollectiveCoding}).
\section{Rests}
- Except that difference that they have no specific pitch, rests are coded in a
-very simple way.
\subsection{Ordinary rests}
- Full bar rests (also called ``pauses'') are coded as
-\keyindex{pause}, with a point behind as \keyindex{pausep};
-smaller rests are
-\keyindex{hpause} (of duration equal to a \ital{half note}),
-with a point behind as \keyindex{hpausep},
-\keyindex{qp} (duration equal to a \ital{quarter note},
- also \keyindex{soupir}),
-\keyindex{ds} (duration equal to an \ital{eighth note}),
-\keyindex{qs} (duration equal to an \ital{sixteenth note}),
-\keyindex{hs} (duration equal to an \ital{thirty second note}),
-\keyindex{qqs} (duration equal to an \ital{sixty fourth note}).
-
- Long rests (lasting several bars) can be coded as \keyindex{PAuse}
-and \keyindex{PAUSe}, which respectively yield:
-
-\begin{music}
+ 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}, dotted whole rest \keyindex{pausep},
+half rest \keyindex{hpause}, dotted half rest \keyindex{hpausep},
+quarter rest \keyindex{qp} or \keyindex{soupir},
+eighth rest \keyindex{ds}, sixteenth rest \keyindex{qs},
+32nd rest \keyindex{hs}, and 64th rest \keyindex{qqs}.
+
+ 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
+\NOTEs\en\zendextract
\end{music}
%\check
- \subsection{Lifted rests}\index{lifting rests}\index{rest lifting} All the
-previous rests with exception of \keyindex{pausep} (pause with a point) and
-\keyindex{hpausep} (half rest with a point) are \ital{hboxes}; this means that
-they can be vertically offset to meet polyphonic music requirements using the
+
+ \subsection{Raising rests}\index{raising rests}
+All the
+previous rests except \keyindex{pausep} and
+\keyindex{hpausep} are \ital{hboxes}, which means that
+they can be vertically offset if needed using the
standard \TeX\ command \keyindex{raise}. For example:
\begin{quote}
@@ -2111,45 +2473,39 @@ standard \TeX\ command \keyindex{raise}. For example:
\end{verbatim}
\end{quote}
- \noindent{\sl{\bfseries CAUTION:} do not try to lift rests (or notes but this
-looks so silly that...) using codings like
-\verb|\raise2mm|\keyindex{hbox}\verb|{\qp}|. The reason is that the rest
-symbol (e.g. \verb|\qp|) is embedded in braces, so that local counting of
-spaces (register \verb|\loc@skip|) will be lost, resulting in turn in
-overfull/undfull boxes, beam errors, erratic slurring, etc. In general, all
-rests and all notes should be coded at the brace level of the \verb|\notes|
-command, unless they are deliberately embedded in \keyindex{rlap} or
-\keyindex{llap} which actually overlook spacing counting but finally force no
-horizontal spacing, a behaviour which compensates the forgotten spacing count.}
-
- In addition, two symbols have been provided to put a \itxem{full rest} or a
-\itxem{half rest} above or below the staff. Then the ordinary \verb|\pause| or
-\verb|\hpause| cannot be used since there is a need for small horizontal line
-to distinguish between the full and the half rest. They are:
- \begin{itemize}
- \item \keyindex{liftpause}~$n$ (non spacing) to get a
+\noindent where \keyindex{Interligne} is the distance from one staff line to the
+next.
+
+In addition, two macros are available to put a whole or
+half rest above or below the staff. 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
+ \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$ (non spacing) to get
+ \item \keyindex{lifthpause}~$n$ to get
\hbox to10pt{\lifthpause{-1}\hss} raised the same way.
- \item \keyindex{liftpausep}~$n$ (non spacing) to get a
+ \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$ (non spacing) to get
+ \item \keyindex{lifthpausep}~$n$ to get
\hbox to10pt{\lifthpausep{-1}\hss} raised the same way.
\end{itemize}
%\check
\subsection{Bar centered rests}\label{barcentered}
-Sometimes it is necessary to place a rest (or other) exactly in the middle
-of a bar. This can be done with more sophisticated commands:
-%\keyindex{atnextbar}
+Sometimes it is necessary to place a rest (or any other symbol) exactly in the middle
+of a bar. This can be done with combinations of the commands
+\keyindex{atnextbar},
\keyindex{centerbar},
\keyindex{centerPAUSe},
\keyindex{centerPAuse},
\keyindex{centerpause},
-\keyindex{centerhpause}.
-For example:
+\keyindex{centerhpause},
+as demonstrated in the following example:
\begin{music}
\generalmeter\meterC
@@ -2168,6 +2524,7 @@ For example:
\addspace{10\elemskip}%
\def\atnextbar{\znotes\centerbar\duevolte|\centerbar\duevolte\en}\endpiece
\end{music}
+\noindent with the coding
\begin{verbatim}
\generalmeter\meterC
\setclef1\bass
@@ -2187,36 +2544,79 @@ For example:
\end{verbatim}
%\check
-\section{Phantom notes and spacing commands}\label{spacing}
-It may be interesting, when coding a sequence of notes within a unique pair
-\verb|\notes...\enotes|, to skip one note place in order -- for
-example -- to set the third note of one staff at the same abscissa as that of
-the second note of another staff. This can be done by inserting \keyindex{sk}
-which causes a spacing of one \keyindex{noteskip}\footnote{Never use
-\keyindex{kern} nor \keyindex{hskip}~: in fact \keyindex{sk} not only causes
-a space but also records that space for correct handling of beams, slurs,
-trills, octaviation dashed lines, line-breaking, etc.}. Sometimes it is useful
-to \ital{skip back} one noteskip, this can be done with \keyindex{bsk}. The
-spacing of a half \verb|\noteskip| can be yielded with \keyindex{hsk}.
-
- %\check
+\section{Skipping spaces and shifting symbols}\label{spacing}
+We've already mentioned that when coding a sequence of notes inside a
+particular pair \verb|\notes...\enotes|, 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,
- If you just want to shift a note or a symbol by one note head width,
-you may write \keyindex{roff}\verb|{|\ital{note/symbol}\verb|}| (shift right)
-or \keyindex{loff}\verb|{|\ital{note/symbol}\verb|}| (shift left).
- If you just want to shift a note or a symbol by one half note head width,
-you may write \keyindex{hroff}\verb|{|\ital{note/symbol}\verb|}| (shift right)
-or \keyindex{hloff}\verb|{|\ital{note/symbol}\verb|}| (shift left).
+\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 insert spacing of approximately one note head width, you can use
+\keyindex{qsk}, or for half of that, \keyindex{hqsk}. To skip backward
+by one \verb|\noteskip|, use \keyindex{bsk}. 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...\enotes| 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...\enotes|
+group, use \keyindex{hardspace}\verb|{|$d$\verb|}{|\dots\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...\enotes| 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...\enotes|
+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}
+\begin{music}\nostartrule
\startextract
\Notes\roff{\zwh g}\qu g\qu h\qu i\enotes
-\endextract
+\zendextract
\end{music}
-you code:
+\noindent you would code:
%\check
@@ -2224,290 +2624,271 @@ you code:
\Notes\roff{\zwh g}\qu g\qu h\qu i\enotes
\end{verbatim}\end{quote}
-If you want to shift notes or symbols right by more or less than one note head
-width, then you can use \keyindex{roffset} (or \keyindex{loffset} in the other
-direction) which has an additional first argument which is the number of note
-head widths the second argument should be shifted by. For example
+\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}
+\begin{music}\nostartrule
\startextract
\Notes\roffset{1.5}{\zwh g}\qu g\qu h\qu i\enotes
-\endextract
+\zendextract
\end{music}
-was coded:
+\noindent was coded as
\begin{quote}\begin{verbatim}
\Notes\roffset{1.5}{\zwh g}\qu g\qu h\qu i\enotes
\end{verbatim}\end{quote}
-\begin{important} the offset specified or implicitly specified in
-\verb|\roff|, \verb|\loff|, \verb|\roffset| and \verb|loffset| does not add to
-the total spacing amount; in other words this is just an offset, not a
-spacing. Conversely, the possible spacing of commands included in the argument
-of \verb|\roff|/\verb|\loff| and in the second argument
-of \verb|\roffset|/\verb|\loffset| actually adds to the total spacing in that
-bar of the current staff. Therefore, the symbol/note argument of these offset
-commands should usually produce no spacing, i.e. begin with \verb|\z|.
-
- Besides, it is not advised to insert several consecutive spacing notes in
-the \verb|\roff|/\verb|\loff| or \verb|\roffset|/\verb|\loffset| arguments,
-since it could mess up the global spacing accounting.
- \end{important}
-
- %\check
-
-
-To insert spacing of \ital{nearly} one \ital{note head width}, you can use
-\keyindex{qsk}(which has the drawback, that it is scalable, so what spacing
-you really get depends on the computed \verb|\elemskip| from \verb|musixflx|
-and the user chosen value of \verb|\elemskip|). The half of this spacing can
-be forced with \keyindex{hqsk}. Note that these two latter macros must be used
-inside a pair \verb|\notes...\enotes|.
-
- If you want to insert additional spacing before a group of notes, especially
-to avoid a collision with an accidental, you can write \keyindex{nspace} ---
-outside the \verb|\notes...\enotes| group --- and this will produces an
-additional spacing of a half note head width; in the same way,
-\keyindex{qspace} will yield a spacing of a note head width. Note that
-\verb|\nspace| and \verb|\qspace| are ``hard'' spacings, whose general
-feature is \verb|\hardspace|, described below.
-
-Sometimes the additional space behind \keyindex{changecontext}
-disturbs the eye of a typesetter, but this ugly spacing can be reduced with:
-
-\keyindex{addspace}\verb|{-|\keyindex{afterruleskip}\verb|}%|
-
-It should be emphasized that all these spacing commands work correctly, only
-when their dimension arguments are \itxem{scalable values} and not fixed
-dimensions; the scalable dimensions are \keyindex{elemskip},
-\keyindex{beforeruleskip}, \keyindex{afterruleskip}, \keyindex{noteskip} and
-their multiples.
-
-The only spacing command which can work with ``normal'' (that is,
-\ital{not scalable}) dimensions is:\label{hardspace}\index{hard spacing}
-
-
-\keyindex{hardspace}\verb|{|\ital{any \TeX~dimension}\verb|}%|
-
-\noindent but both \verb|\addspace| and \verb|\hardspace| can only be used
-outside of \verb|\notes...\enotes|.
-
-Conversely, a more general spacing is allowed within the
-\verb|\notes...\enotes| pairs, namely:
+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.
-\keyindex{off}\verb|{|$D$\verb|}%|
-
-\noindent where $D$ is a \itxem{scalable dimension}, for example
-\verb|\noteskip| or \verb|\elemskip|. In fact, if you look to the
-\musixtex\ source, you will find that \verb|\off| is the basic control
-sequence used to define \keyindex{sk}, \keyindex{qsk}, etc.
-
- %\check
-
-\section{Collective coding: sequences of notes}
-
-As seen in the {\sc Mozart} example, it is not necessary to write a macro
-sequence \verb|\notes...\enotes| for each column\footnote{Although
-the compiler compiles it faster.}. If, on all
-staffs of all instruments, spacings are equal or multiple of a unique value,
-the notes may be concatenated in each staff: each note in each staff makes
-the current position horizontally advance by the elementary spacing specified
-by the choice of \verb|\notes|, \verb|\Notes|, \verb|\NOtes|, etc.
-
- The major interest of this feature resides in that fact that
-the note macros are able to write several items; for instance
-\verb|\qu{cdefghij}| writes the \ital{C-major} scale in quarters with
-stem up. In the same way \verb|\cl{abcdef^gh}| writes the
-\ital{A-minor} scale in eighths. Not all note generating macros can be
-used to perform collective coding, but most of them can.
-
- If necessary a void space\footnote{same behaviour as {\Bslash sk}}
-can be inserted in a collective coding by using \verb|*|\index{*}.
-
- %\check
\section{Accidentals}
Accidentals can be introduced in two ways.
- The first way, the \ital{manual} way of coding them, consists for
-example in coding \keyindex{fl}\verb|a| to put a \ital{flat} at the
-pitch $a$, supposedly before the further note of that pitch.
-There is no control upon the fact that a note will be put at this position
-and at this pitch.
-Naturals, sharps, double flats and double sharps are coded \keyindex{na}~$p$,
-\keyindex{sh}~$p$, \keyindex{dfl}~$p$ and \keyindex{dsh}~$p$ respectively.
+ 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.
-Alternate procedures \keyindex{lfl}, \keyindex{lna}, \keyindex{lsh},
+The alternate macros \keyindex{lfl}, \keyindex{lna}, \keyindex{lsh},
\keyindex{ldfl} and \keyindex{ldsh}
-place the same accidentals, but their abscissa is shifted one note head width
-on the left. The purpose of this is to avoid collision of accidentals
-in a chord with narrow intervals.
-
- The second way of coding accidentals consists in putting the symbol
-\verb|^| (sharp), the symbol \verb|_| (flat), the symbol \verb|=| (natural), the
-symbol \verb|>| (double sharp), or the symbol \verb|<| (double
-flat) within the coding of the note, e.g.: \verb|\qb{^g}| yields a
-$G\sharp$. This may very well be combined with collective coding, e.g.:
+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}|.
- Two sizes are available for accidentals. They revert to the small
-version when notes are supposed to be too close to each other. These two
-sizes can be forced by coding \keyindex{bigfl}, \keyindex{bigsh}, etc., or
-\keyindex{smallfl}, \keyindex{smallsh}, etc. If one does not want to have any
-small accidentals, then one can declare \keyindex{bigaccid} (conversely
-\keyindex{smallaccid} or \keyindex{varaccid} -- the latter restoring variable
-sizes).
+ 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.
- Small accidentals can also be put \ital{above} the note
-heads. This is done using \keyindex{uppersh}~$p$, \keyindex{upperna}~$p$ or
-\keyindex{upperfl}~$p$:
+ 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}
+\begin{music}\nostartrule
\startextract
\NOtes\uppersh l\qa l\enotes
\NOtes\upperna m\qa m\enotes
\NOtes\upperfl l\qa l\enotes
-\endextract
+\zendextract
\end{music}
- It also possible to introduce \ital{\ixem{cautionary accidental}s} on a
-score, i.e.\ small size accidentals between parentheses. This done by preceding
-the name of the accidental keyword by a \verb|c|,\label{cautionary}
- e.g.~by coding \keyindex{cfl}~$p$ to get a cautionary flat.
- Available cautionary accidentals are \keyindex{csh}, \keyindex{cfl}, \keyindex{cna},
-\keyindex{cdfl} and \keyindex{cdsh}, which give:
-
-\begin{music}
+ It also possible to introduce \ital{\ixem{cautionary accidental}s},
+i.e.\ small accidentals enclosed in parentheses. This done by preceding
+the name of the accidental keyword with ``\verb|c|'',\label{cautionary}
+ e.g.~\keyindex{cfl}\pitchp~for a cautionary flat.
+ 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\enotes
\NOtes\cfl h\qa h\enotes
\NOtes\cna i\qa i\enotes
\NOtes\cdfl j\qa j\enotes
\NOtes\cdsh k\qa k\enotes
-\endextract
+\zendextract
\end{music}
\noindent
-Besides, the distance between note and accidental is influenced by
-\keyindex{accshift}\verb|=|\ital{any \TeX\ dimension}
+The distance between all 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 value of \verb|0pt|.
+
+ \section{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}.
+
+\subsection{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$, 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 set
+\keyindex{transpose} to 7 or $-7$. For example, to make a quarter note
+octave as a chord, you could define a macro as
+\verb|\def\soqu#1{\zq{#1}{\transpose=7 \qu{#1}}}|.
+Note that because \verb|\transpose| is altered inside a pair of braces, the
+effect of the alteration is only local and does not reach outside the braces.
+
+ Another more convenient way to transpose locally up or down by one octave
+makes use respectively of the characters
+\verb|'| (\itxem{acute accent}) and \verb|`| (\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 but in a somewhat restricted sense. They will alter the value of
+\verb|\transpose|, but only until changing to a different staff or
+instrument or encountering \verb|\enotes|, at which time it will be reset to the
+value it had before the accents were used. (That value is stored in
+another register called \keyindex{normaltranspose}). Thus for example
+\verb|\qu{''A'A}| and \verb|\qu{''A}\qu{'A}|
+are both equivalent to \verb|\qu{ah}|.
+
+At any point it is possible to reset the \verb|\transpose| register
+explicitly to the value it had
+when entering \verb|\notes|, 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 transpose} at the beginning of the current
+\verb|\notes...\enotes| group, regardless of the number of grave and
+acute accents occurring previously within that group.
+
+ \subsection{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}.
+
+\subsection{Octaviation lines}
+The first kind of notation for octave transposition covers a
+horizontal range that must be specified at the outset. The sequence
-\noindent
-positive values shift to left, negative to right, default is \verb|0pt|.
- \section{Transposition and octaviation}
-An important feature is the existence of a special register
-\keyindex{transpose} the normal value of which is 0. If you say
-
-\verb|\transpose=3|
-
-\noindent all subsequent pitches specified by
-upper or lower case letters\footnote{Pitches specified with figures are
-absolute and not transposed.} will be transposed 3 positions. If you set
-\keyindex{transpose} to 7 you may write your music one octave below its final
-pitch. Thus, you can define \ital{octaviation} macros like
-
-\verb|\def\soqu#1{\zq{#1}{\transpose=7 \qu{#1}}}|
-
-\noindent to build quarter note octaves in a single call. Note
-that the octaviated note is coded within braces so that the transposition
-is only local.
-
- \ital{Octaviation}\index{octaviation} can also be performed in another
-way, namely using special codes to transpose by multiples of 7 intervals.
-For example \verb|\qu{'ab}| is equivalent to \verb|\qu{hi}| and
-\verb|\qu{`kl}| is equivalent to \verb|\qu{de}|. It should be
-emphasized here that the \verb|'| (\itxem{acute accent}) and the \verb|`|
-(\itxem{grave accent}) have cumulative effects, so that \verb|\qu{''A'A}|
-is equivalent to \verb|\qu{ah}| and that the \verb|\transpose|
-parameter is only reset to its initial value (not necessarily zero) when
-changing staff or instrument (i.e. \| or \verb|&|) or at \verb|\enotes|.
- Since this may be confusing, it is useful to use the \verb|!| prefix
-to reset the \verb|\transpose| register explicitely to the value it had
-when entering \verb|\notes|\footnote{This value is saved in another
-register named \keyindex{normaltranspose}.}. Thus \verb|\qu{!a'a}| always
-gives the note \verb|a| and its upper octave \verb|h| \ital{shifted by the
-value of {\Bslash transpose} at the beginning of the current} \noindent
-\verb|\notes...\enotes| group (or \verb|\Notes...\enotes|,
-etc.) whatever the number of previous grave and acute accents occurring
-inbetween.
- \subsection{Typical piano octave transposition}
- \subsubsection{Local octave transposition of fixed length}
-\begin{music}
+\medskip
+\begin{music}\nostartrule
\startextract
-\NOTEs\octfinup{10}{3.5}\qu a\qu b\qu c\qu d\en
-\endextract
+\NOTEs\octfinup{10}{3.5}\ql{!'a}\ql b\ql c\ql d\en
+\zendextract
\end{music}
\noindent can be coded as
-\begin{quote}\begin{verbatim}
-\startextract
-\NOTEs\octfinup{10}{3.5}\qu a\qu b\qu c\qu d\en
-\endextract
-\end{verbatim}\end{quote}\zkeyindex{octfinup}
-\noindent that is, the dashed line extends 3.5$\times${\Bslash noteskip}.
-Conversely, lower octaviation can also be coded, for example:
+\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 3.5\verb|\noteskip|.
+Conversely, lower octaviation can be coded. For example
-\begin{music}
+\begin{music}\nostartrule
\startextract
\NOTEs\octfindown{-5}{2.6}\ql j\ql i\ql h\en
-\endextract
+\zendextract
\end{music}
-\noindent which is coded as
-\begin{quote}\begin{verbatim}
+\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}$ \it bassa}. Thus
+
+\bigskip
+\begin{music}\nostartrule
\startextract
-\NOTEs\octfindown{-5}{2.6}\ql j\ql i\ql h\en
-\endextract
-\end{verbatim}\end{quote}\zkeyindex{octfindown}
-If a more sophisticated posting is wanted, this can be achieved refefining
-the macro \keyindex{octnumber}, e.g.:
-
-\begin{music}
-\startextract
-\NOTEs\def\octnumber{\ppffsixteen8$^{va}$}\octfinup{10}3\qu c\qu d\qu e\en
-\endextract
+\NOTEs\def\octnumberup{\ppffsixteen8$^{va}$}\octfinup{10}{2.5}\qu c\qu d\qu e\en
+\zendextract
\end{music}
-\noindent whose coding is
-\begin{quote}\begin{verbatim}
-\startextract
-\NOTEs\def\octnumber{\ppffsixteen8$^{va}$}\octfinup{10}3\qu c\qu d\qu e\en
-\endextract
-\end{verbatim}\end{quote}
-\noindent or
+\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\octnumber{\ppffsixteen8$^{va\,bassa}$}\octfindown{-5}4\ql l\ql k\ql j\en
+\NOTEs\def\octnumberdown{\ppffsixteen8$_{ba}$}\octfindown{-5}{2.5}\ql l\ql
+k\ql j\en
\endextract
\end{music}
-\noindent coded as:
+\noindent is coded as
\begin{quote}\begin{verbatim}
-\startextract
-\NOTEs\def\octnumber{\ppffsixteen8$^{va\,bassa}$}%
- \octfindown{-5}4\ql l\ql k\ql j\en
-\endextract
+\NOTEs\def\octnumberdown{\ppffsixteen8$_{ba}$}%
+ \octfindown{-5}{2.5}\ql l\ql k\ql j\en
\end{verbatim}\end{quote}
-\subsubsection{Long or variable range octave transposition}
-Long range octave transpositions are better handled using
-\keyindex{Ioctfinup},
+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} whose effect extends over line breaks.
+\keyindex{Toctfin}.
-{\Bslash Ioctfinup}~$np$ starts an octave transposition of reference number
-$n$ (with $0\le n<6\equiv$\keyindex{maxoctlines}) dashed line at pitch $p$
-(usually $p>10$ but it can also be an alphabetic pitch specification),
-{\Bslash Ioctfindown}~$np$ starts a lower octave transposition at pitch $p$
-(usually $p<-2$), and both extend until terminated with {\Bslash toctfin}. The
+{\Bslash Ioctfinup}~$np$ indicate an upward octave transposition line with reference number
+$n$ ($0\le n<6$) and with dashed line at pitch $p$. 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 ``8'' figure with respect to the dashed line, and
-the sense of the terminating hook (note that {\Bslash Ioctfinup} has a hook
-under the dashed line, and conversely).
-
-For the sake of backward compatibility, \keyindex{ioctfinup} is equivalent to
+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:
+
+For example,
\medskip
- \begin{music}
+ \begin{music}\nostartrule
\instrumentnumber{1}
\setstaffs12
\setclef1{6000}
@@ -2520,11 +2901,11 @@ For example:
\Notes\wh{NMLKJI}|\wh{nmlkji}\Toctfin1\enotes
\bar
\Notes\wh{HGFED}\Toctfin2\wh C|\wh{hgfedc}\enotes
-\endextract
+\zendextract
\end{music}
-whose coding is
+\noindent is coded as
\begin{quote}\begin{verbatim}
-\begin{music}
+\begin{music}\nostartrule
\instrumentnumber{1}
\setstaffs12
\setclef1{6000}
@@ -2537,112 +2918,88 @@ whose coding is
\Notes\wh{NMLKJI}|\wh{nmlkji}\Toctfin1\enotes
\bar
\Notes\wh{HGFED}\Toctfin2\wh C|\wh{hgfedc}\enotes
-\endextract
+\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 a systems after the one where it was initiated.
-%\begin{changebar}
-
- The elevation of octaviation lines may be raised/lowered using
-\keyindex{Liftoctline}~$n$~$p$ where $n$ is the reference number of the
- wanted ocave line, and $n$ a number (possibly negative) number of
-\verb|\internote| by which the dashed line should be lifted. This is
-particularly useful when octaviation lines last several systems and need to be
-lifted in the systems occuring farther than the initiation.
-
-%\end{changebar}
-
- \subsection{Transposition of accidentals}
- The above processes indeed change the vertical position of the note heads
-and associated symbols (note stems, accents and beams) but they do not take
-care of the necessary changes of accidentals when transposing, i.e. the fact
-that an $F\sharp$ occurring with a zero signature should become a $B\natural$
-when transposing from the tonality of $C$ major to $F$ major where the normal
-$B$ is the $B\flat$. Since the intent of the composer is not obvious -- he
-may want to shift a group of notes within the same tonality or conversely to
-transpose it in another tonality -- this is not done automatically. Thus the
-\keyindex{sh}, \keyindex{fl}, \keyindex{na}, \keyindex{dsh} and
-\keyindex{dfl} symbols \ital{are not affected} by a change of the
-\keyindex{transpose} register.
-
- But the composer/typesetter may ask \musixtex\ to do that work. In this
-case, he should code \keyindex{relativeaccid}. In that case, a \verb|\sh|
-command means that the corresponding pitch\footnote{The musical output note,
-not the typesetting position.} has to be raised by \ital{one half pitch}
-with respect to its normal value \ital{according to the current signature}.
-Thus \verb|\sh b| (using \keyindex{relativeaccid}) means a $B\sharp$ if the
-signature is zero or positive, and a $B\natural$ if it is negative. The same
-logic applies for all accidentals using \keyindex{relativeaccid}.
-
-In the same way, the compact codes \verb|^|, \verb|_|, \verb|=| are normally
-not affected by transposition and signatures, but their behaviour will be
-changed by saying \keyindex{relativeaccid} and reset by
-\keyindex{absoluteaccid} (the default situation)\footnote{Note that the
-behaviour of {\Bslash sh}, {\Bslash na} and {\Bslash fl} with \musixtex\
-corresponds to the behaviour of {\Bslash Sh}, {\Bslash Na} and {\Bslash Fl}
-with \musictex+{musictrp.tex}. But the {\tt musixcpt.tex} file forces the same
-behaviour as \musixtex\ in that respect, see page \pageref{compatibility}.}.
-
- Although \ital{relative accidental coding} is an easy and safe way of
-coding \ital{transposable} scores, care should be exercised in getting rid
-of the habit of saying \verb|\na b| to raise the pitch of a $B$ when the
-tonality is $F$ major (i.e. with \keyindex{setsign$n$}\verb|=-1| or
-\keyindex{generalsignature}\verb|{-1}|). An example of sophisticated
-transposition is given in the score \verb|souvenir.tex| (which \verb|\input|s
-\verb|souvenix.tex|).
-
- %\check
\section{Slurs and ties}
-The slurs and ties provided by \musixtex\ can be divided into two categories:
+Two fundamentally different implementations of slurs, ties, and hairpins are
+available. (The hairpins ``go along for the ride'' with slurs and ties.) 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 section~\ref{PostscriptSlurs}.
+
+ \subsection{Font-based slurs}
+
+Font-based slurs and ties provided by \musixtex\ can be divided into two categories:
\label{simpleslur}
-\begin{itemize}
+\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 three discrete
+ \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 are called
-\ital{compound slurs}. To some extent the division between the two is
-invisible to the user, in that a number of the macros described below will
-select between the two types automatically. However, other macros are
-provided to
-enable simple slurs to be specified. Note that slurs of both types must be
-coded within the pair \verb|\notes...\enotes|.
- \subsection{General slur coding}
-This section describes 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,
-as is the case for beams.
- \subsubsection{Slur initiation}
-The slur must be initiated {\em before}
-the spacing note at which the slur begins, and terminated {\em before} the
-note at which the slur ends. The simplest slur initiation macro is
+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.
-\keyindex{isluru}~$np$
-
-\noindent which initiates an upper slur, with reference
-number $n$, beginning at pitch $p$. The starting point of the slur is
-centred above an imaginary quarter note head at pitch $p$.
-As for beams, the reference number $n$ takes values from 0 to 5, or
-0 to 8 if \ttxem{musixadd.tex} is included.
-Similarly, \keyindex{islurd}~$np$ initiates a lower slur.
+The next few subsections 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.
+
+ \subsubsection{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$.}.
+As with beams, the reference number $n$ can take values from 0 to 5, or
+up to 8 or 11 respectively if \ttxem{musixadd.tex} or \ttxem{musixmad.tex} is included.
+Similarly, \keyindex{islurd}\enpee\ initiates a lower slur.
These slurs are terminated by coding
-\keyindex{tslur}~$np$ where $n$ is the reference number and $p$ is the
-termination pitch. To illustrate with a simple example, the following
+\keyindex{tslur}\enpee\ where $n$ is the reference number and $p$ is the
+termination pitch. To illustrate with an elementary example, the following
passage
-\begin{music}
+\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
-\endextract
+\zendextract
\end{music}
\noindent was coded as:
@@ -2655,24 +3012,26 @@ passage
\end{verbatim}\end{quote}
Other macros are provided to change the starting and ending point of the slur
-in relation to the initial and final notes. Thus, \keyindex{issluru}~$np$
-initiates a ``short'' upper slur suitable for linking notes involved in chords. The
+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
-centre of an imaginary quarter note head at pitch $p$. If a lower short slur
-is wanted, one should use \keyindex{isslurd}~$np$.
-
+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}~$np$ and \keyindex{ibslurd}~$np$. These macros
+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
- \subsubsection{Slur termination}\label {slurtermin}
-Termination of slurs can be achieved in two ways. First, macros matching
-each of the initialization macros are provided, as shown below.\\
+ \subsubsection{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 alread presented. They
+are summarized in the following table:
\begin{center}
\begin{tabular}{ll}
Initiation & Termination \\
@@ -2682,123 +3041,87 @@ each of the initialization macros are provided, as shown below.\\
\keyindex{ibsluru} & \keyindex{tbsluru}\\
\keyindex{ibslurd} & \keyindex{tbslurd}\\
\hline
- \end{tabular} \end{center} These specific termination macros enable slurs
-started in one way to be terminated in another. For example, a slur beginning
+ \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. This would be achieved
using the macro pair \verb|\ibslur...\tslur|.
- \subsubsection{Ties} The coding of \itxem{ties} follows from the above
-discussion as a special case of slurs, i.e. when there is no pitch change.
-Upper ties are initiated by \keyindex{itieu}~$np$ which starts an upper tie of
-reference number $n$ at pitch $p$.
-Lower ties are initiated by \keyindex{itied}~$np$ 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
+ \subsubsection{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}~$n$.
+\keyindex{ttie}\onen. Note that no pitch parameter is required.
-Some simple examples of slurs and ties are illustrated below.
+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.
-\begin{music}
+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
-\endextract
+\zendextract
\end{music}
\noindent This was coded as:
\begin{quote}\begin{verbatim}
-\begin{music}
-\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
-\endextract
-\end{music}
\end{verbatim}\end{quote}
- \subsubsection{Short ties} Usual music coding makes ties not different of
-slurs, i.e. a tie is typed exactly like a slur linking two notes of same pitch.
-However, this traditional way of doing has two the drawback:
- \begin{itemize}
- \item in some special cases, a slur might be confused with a tie and
-conversely,
- \item chord ties cannot be implemented with the slur starting above or below
-the note, but only starting just right of the noetead and finishing just left
-of the other note head.
- \end{itemize}
- This can be done using \verb|\issluru| (\ref{slurtermin}, p.
-\pageref{slurtermin}) or \keyindex{itenu}~$np$, \keyindex{itenl}~$np$ for tie
-initiation, and \keyindex{tten}~$n$ to terminate it. As an example:
-
- \begin{music}
- \startextract
- \NOTes\itenl0d\itenl1e\itenu2g\itenu3j\zh{ceg}\hu j\enotes
- \bar
- \NOTes\tten0\tten1\tten2\tten3\zh{ceg}\hu j\enotes
- \endextract
- \end{music}
- \noindent was coded as:
- \begin{quote}\begin{verbatim}
- \begin{music}
- \startextract
- \NOTes\itenl0d\itenl1e\itenu2g\itenu3j\zh{ceg}\hu j\enotes
- \bar
- \NOTes\tten0\tten1\tten2\tten3\zh{ceg}\hu j\enotes
- \endextract
- \end{music}
- \end{verbatim}\end{quote}
- %\check
-
-
- \subsubsection{Slur limitations}
- The vertical gap between slur initiation and slur termination is limited to
-16\verb|\Internote|. Thus exceedingly ascending slurs lead to unfortunate
-results, such as~:
-
- \begin{music}
-\instrumentnumber{1}
-\generalmeter{\meterfrac34}
-\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0j\ql j\enotes
- \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0n\ql n\enotes\endextract
-\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\enotes
- \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0z\ql z\enotes\endextract
- \end{music}
- whose coding was:
- \begin{quote}\begin{verbatim}
-\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0j\ql j\enotes
- \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0n\ql n\enotes\endextract
+\subsubsection{Dotted slurs}
-\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\enotes
- \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0z\ql z\enotes\endextract
- \end{music}
- \end{verbatim}\end{quote}
+Any font-based slur may be made dotted by specifying \keyindex{dotted}
+just before it is initiated:
- Besides, tentative slurs of excessive slope may also yield unexpected shapes,
-such as:
- \begin{music}
-\instrumentnumber{1}
-\generalmeter{\meterfrac34}
-\startextract\NOTes\isluru0c\ql c\enotes\notes\tslur0j\ql j\enotes
- \bar\NOTes\isluru0c\ql c\enotes\notes\tslur0n\ql n\enotes
- \NOTes\isluru0c\ql c\enotes\notes\tslur0s\ql s\enotes
- \bar\NOTes\isluru0c\ql c\enotes\notes\tslur0z\ql z\enotes
- \endextract
- \end{music}
-
- \subsection{Dotted slurs} Compound and simple slurs (\ref{simpleslur},
-p.\pageref{simpleslur}) may be drawn dotted\footnote{Thanks to Werner {\sc
-Icking}.} specifying \keyindex{dotted} just before slur initiation.
-
-\begin{music}
+\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
-\endextract
+\zendextract
\end{music}
\noindent This was coded as:
@@ -2809,181 +3132,190 @@ Icking}.} specifying \keyindex{dotted} just before slur initiation.
\NOTes\hu g\en
\end{verbatim}\end{quote}
- \subsection{*Modifying slur properties}
+ \subsubsection{Modifying font-based slur properties}
Several macros are provided to modify the shape of slurs already initiated.
-These macros must be coded before the slur termination. Note that only
-compound slurs can be modified. Hence, calling any modification macro forces
-the slur type to be compound.
- \subsubsection{*Changing the rise or fall}
- By default, the arch of a slur rises and falls from its original height by
-three times the vertical note spacing. This can be changed using the macro
+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|\midslur{6}| coded before \verb|\tslur| causes an upper slur to
+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.
-Note that \verb|\midslur| must be coded {\em immediately} before the slur
-termination (eg, \verb|\tslur|). Coding \verb|\midslur| before setting a
-simple slur causes problems and should be avoided.\\[20pt]
+For example,
-\begin{music}
+\begin{music}\nostartrule
\startextract
\NOtes\multnoteskip8\isluru0g\ql g\en
\notes\tslur0g\ql g\en
-\endextract
+\zendextract
\startextract
\NOtes\multnoteskip8\isluru0g\ql g\en
\notes\midslur7\tslur0g\ql g\en
-\endextract
+\zendextract
\startextract
\NOtes\multnoteskip8\isluru2g\ql g\en
\notes\midslur{11}\tslur2g\ql g\en
-\endextract
+\zendextract
\end{music}
-This was coded as:
+\noindent was coded as
\begin{quote}\begin{verbatim}
-\startextract
\NOtes\multnoteskip8\isluru0g\ql g\en
\notes\tslur0g\ql g\en
-\endextract
-\startextract
\NOtes\multnoteskip8\isluru0g\ql g\en
\notes\midslur7\tslur0g\ql g\en
-\endextract
-\startextract
\NOtes\multnoteskip8\isluru2g\ql g\en
\notes\midslur{11}\tslur2g\ql g\en
-\endextract
\end{verbatim}\end{quote}
- \subsubsection{*Changing the curvature}
-The degree of curvature depends primarily on the initial and terminal
-gradient of the slur, relative to its mean slope. The macro
-\keyindex{curve}~$hij$ allows these to be modified. The first parameter $h$
-is the vertical deviation as for \verb|\midslur| described above. The second
-parameter $i$ sets the initial gradient, while the third parameter $j$ sets
-the
-final gradient. The latter parameters are defined as the horizontal distance
-required to attain maximum vertical deviation. Thus smaller numbers for $i$
+
+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.
-Likewise, coding \verb|\curve| before
-a simple slur causes problems and should be avoided.
-
-The example below illustrates the use of \verb|\curve| more clearly.
-
-
+the slur termination. The example below illustrates the use of \verb|\curve|.
-\begin{music}
+\begin{music}\nostartrule
\startextract
\NOtes\multnoteskip8\itieu0g\ql g\en
\notes\ttie0\ql g\en
-\endextract
+\zendextract
\startextract
\NOtes\multnoteskip8\itieu1g\ql g\en
\notes\curve 322\ttie1\ql g\en
-\endextract
+\zendextract
\startextract
\NOtes\multnoteskip8\itieu2g\ql g\en
\notes\curve 111\ttie2\ql g\en
-\endextract
+\zendextract
\end{music}
-This was coded as:
+\noindent This was coded as
\begin{quote}\begin{verbatim}
-\startextract
\NOtes\multnoteskip8\itieu0g\ql g\en
\notes\ttie0\ql g\en
-\endextract
+\zendextract
\startextract
\NOtes\multnoteskip8\itieu1g\ql g\en
\notes\curve 322\ttie1\ql g\en
-\endextract
+\zendextract
\startextract
\NOtes\multnoteskip8\itieu2g\ql g\en
\notes\curve 111\ttie2\ql g\en
-\endextract
\end{verbatim}\end{quote}
- %\check
-
-
- \subsubsection{*Breaking slurs across a line}
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}~$np$,
+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 reference number $n$.
+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, the one coded in \verb|\islur|. To change this, the macro
-\keyindex{Liftslur}~$np$ may be used. Here $n$ is again the slur reference
-number and $p$ is the change in height relative to the initialization height.
+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.
-These macros are illustrated by the following example.
-%%
-% Example
-%%
- %\check
+The following example illustrates the use of the macros for broken slurs:
+
+\begin{minipage}[t]{75mm}
+Default, without adjustments:\\
+\begin{music}
+\hsize=50mm
+\generalmeter{\meterfrac24}%
+\parindent 0pt\staffbotmarg0pt%
+%
+%\interstaff{14\internote}%
+%
+\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}%
+%
+\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
- \subsubsection{*Inverting slur termination}
Occasionally in keyboard works one needs to begin a slur in one
-stave but end it in another. This can be done using the macro
-\keyindex{invertslur}~$n$ which is best described by reference to the example
+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
+\setclef1\bass\interstaff{10.5}
\startextract
\NOtes\multnoteskip5\isluru0a\ql a\en
-\notes\invertslur0\curve311\tslur0g|\qu d\en
+\notes\invertslur0\curve311\tslur0j|\qu d\en
\NOtes\multnoteskip{10}\isluru0a\ql a\en
-\notes\invertslur0\curve333\tslur0g|\qu d\en
-\endextract
+\notes\invertslur0\curve333\tslur0j|\qu d\en
+\zendextract
\end{music}
-This was coded as:
+\noindent This was coded as
\begin{quote}\begin{verbatim}
-\setstaffs1{2}
-\setclef1{\bass}
-\startextract
\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
-\endextract
\end{verbatim}\end{quote}
- \begin{remark}
- Slur inversion is achieved at a place where its slope ise zero~; therefore it
-only works with ascending slurs started with \verb|\isluru|, and with
+\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.
- This second situation can be solved manually, stopping the slur at a
-reasonable place with \verb|\tslur| and restarting in the other sense at the
-same place. Stopping and restarting obviously refer to virtual note pitches (a
-vertical position without actual note) which should be adjusted to have the
-minimum discontinuity.
- \end{remark}
-
- To make this drawing easier, three commands have been provided:
- \begin{itemize}
- \item \keyindex{Tslurbreak}$np$ stops slur number $n$ exactly at pitch $p$,
+A different approach removes this restriction. The idea is to stop the slur at a
+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}$np$ restarts an upper slur at the same position,
+ \item \keyindex{Islurubreak}\enpee~restarts an upper slur at the same position,
not above a virtual note head.
- \item \keyindex{Islurdbreak}$np$ restarts an lower slur at the same position,
+ \item \keyindex{Islurdbreak}\enpee~restarts a lower slur at the same position,
not below a virtual note head.
\end{itemize}
- Thus, the following pattern
- \begin{music}
+\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
@@ -2992,43 +3324,37 @@ not below a virtual note head.
\NOTes\multnoteskip 3\islurd0a\ql a\en
\NOTes\multnoteskip 3\Tslurbreak0d\Islurubreak0d\sk\en
\Notes\tslur0h\qu h\en
-\endextract
+\zendextract
\end{music}
-was coded as
+\noindent was coded as
\begin{quote}\begin{verbatim}
- \begin{music}
-\setclef1\treble
-\startextract
+\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
-\endextract
\end{music}
-\end{verbatim}\end{quote}
-
-
+\end{verbatim}\end{quote}
-
- \subsection{Simple slurs}
-Simple slurs and ties have the advantage
-of optimal aesthetics and simple coding, but are limited in length to 68pt
+\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. Also, the maximum vertical extent of simple slurs is 8 times the
-internote spacing, and the slurs may not extend across a line break.
+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 extend to the right of the note immediately following.
-Hence they must be coded {\em before} the note at which the slur begins.
-The primary macro call is
-\keyindex{slur}~$p_1p_2sl$
+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 units of the current value of {\tt noteskip}.
-Thus, thirds slured in pairs can be coded:
+$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
@@ -3040,9 +3366,9 @@ Thus, thirds slured in pairs can be coded:
\NOtes\slur{'d}bu1\ql{db}\en
\NOtes\slur{'c}au1\ql{ca}\en
\end{verbatim}\end{quote}
-which yields:
+which yields
-\begin{music}
+\begin{music}\nostartrule
\startextract
\NOtes\slur ced1\qu{ce}\en
\NOtes\slur dfd1\qu{df}\en
@@ -3050,241 +3376,435 @@ which yields:
\NOtes\slur{'e}cu1\ql{ec}\en
\NOtes\slur{'d}bu1\ql{db}\en
\NOtes\slur{'c}au1\ql{ca}\en
-\endextract
+\zendextract
\end{music}
%%
-Similarly, ties may be set using
-\keyindex{tie}~$psl$ where $p$ is the (single) pitch, and the other
-parameters are as described above.
-
-Variants on these macros are provided to change the slur length
-and vertical offset relative to the starting note, as follows.
-\begin{itemize}
- \item \keyindex{sslur}~$p_1p_2sl$, which sets a `short' slur,
- designed for the case when a slur is required to link notes which
- form part of a chord (see \verb|\isslur| above).
- The macro \keyindex{stie}~$psl$ sets analagous ties.
-%! \item \keyindex{bslur}~$p_1p_2sl$, which sets a `beam' slur, raised or
-%! lowered so that the slur links the ends of note stems rather than
-%! note heads.
-\end{itemize}
- %\check
-
- \subsection{Restrictions}
-Generation of some of the slur fonts is problematic for \MF.
-In particular, the long ties tend to exceed \MF's
-maximum dimension for high resolution printers. However, for normal 300 dpi
-printers there is no problem. A solution to this limitation is planned
-for Postscript\raise1.5ex\hbox{\small\copyright} printers using
-DVIPS \verb|\special| commands.
-
-\section{Bars}
- \subsection{Bars and spacing}
- Ordinary \ital{bars} are coded using the macro \keyindex{bar}. Its drawback
-is that it does not differ from \verb|\bar| which is already defined in
-\TeX's mathematical mode. \index{bar (original meaning)@{\Bslash bar}
-\ital{(original meaning)}} Therefore, inside \verb|\startpiece...\endpiece|
-\ital{our} \verb|\bar| means a musician \ital{bar}\footnote{\ital{Mesure} in
-French, \ital{Takt} in German.} and outside, it keeps its original meaning.
-If you \ital{really} need the original \verb|\bar| inside, you can say
-\verb|\endcatcodesmusic...\bar...\catcodesmusic|.
- %\check
- \subsection{Bar numbering}
-Unless otherwise specified, \index{bar numbering}bars are
-numbered. This is a good means of finding errors provided that the \musixtex\
-user has put comments in his source text recording the (expected) bar number.
-However, this can look unpleasant for final outputs, since the habit is to
-number bars only each other five or ten bars. This is not a serious problem
-since the frequency of bar numbering is defined as:
+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$.
- \verb|\def|\keyindex{freqbarno}\verb|{1}|
+ \subsubsection{Limitations of font-based slurs}
+ The change in altitude between slur initiation and slur termination is limited to
+16\verb|\Internote|. Thus unexpected vertical gaps can appear, as seen in
-If you replace the {\tt1} by {\tt5}, bar numbering will occur each other five
-bars. You can also inhibit any bar number\footnote{default inside this manual}
-printing by telling:
+ \begin{music}\nostartrule
+\instrumentnumber{1}
+\generalmeter{\meterfrac34}
+\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0j\ql j\enotes
+ \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0n\ql n\enotes\zendextract
-\keyindex{nobarnumbers}
+\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\enotes
+ \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0z\ql z\enotes\zendextract
+ \end{music}
+ \noindent whose coding was
+ \begin{quote}\begin{verbatim}
+\NOTes\multnoteskip3\isluru0c\ql c\tslur0j\ql j\enotes
+ \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0n\ql n\enotes
+\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\enotes
+ \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0z\ql z\enotes
+ \end{music}
+ \end{verbatim}\end{quote}
-\noindent If you want to restore bar numbering after \verb|\nobarnumbers|,
-you can say
+Furthermore, if the slope becomes too steep, even worse results can occur, such as
-\keyindex{barnumbers}
+ \begin{music}\nostartrule
+\instrumentnumber{1}
+\generalmeter{\meterfrac34}
+\startextract\NOTes\isluru0c\ql c\enotes\notes\tslur0j\ql j\enotes
+ \bar\NOTes\isluru0c\ql c\enotes\notes\tslur0n\ql n\enotes
+ \NOTes\isluru0c\ql c\enotes\notes\tslur0s\ql s\enotes
+ \bar\NOTes\isluru0c\ql c\enotes\notes\tslur0z\ql z\enotes
+ \zendextract
+ \end{music}
- The bar counter is also accessible, its name is \keyindex{barno}.
-You can change it without any dramatic consequence.
+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.
+
+ \subsection{Type K postscript slurs}\label{PostscriptSlurs}
+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 (see section \ref{sec:crescnd}).
+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, 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 emplaced 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.
+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},
+\textbf{Adobe Acrobat} (see chapter \ref{installation} for more information on this).
+
+Two minor inconveniences with Type K postscript slurs are that (1) they won't appear
+in any standard dvi previewer, and (2) they won't appear in PDF files generated with
+\textbf{pdftex}. 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.
+
+\subsubsection{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.
+
+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}.
+
+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\enotes
+....
+\end{verbatim}\end{quote}
-Sometimes there is need for to start with a \verb|\barno| value which differs
-from 1. Perhaps the piece starts with an \ital{upbeat}, then you can code
+%\begin{center}
+%\includegraphics[scale=1]{./mxdexamples/pslurvgap.eps}
+%\end{center}
-\keyindex{startbarno}\verb|=0|
+\begin{music}\nostartrule
+\input musixps
+\instrumentnumber{1}
+\generalmeter{\meterfrac34}
+\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0j\ql j\enotes
+ \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0n\ql n\enotes\zendextract
-\noindent in front of \verb|\startpiece|; or you may want to typeset only an
-excerpt starting for example with bar number
-198, then you can code \verb|\startbarno=198|. Pay attention because
-saying \verb|\startbarno=|$n$ has a global meaning. So if you want to
-\verb|\input| several pieces whose starting bar numbers differ, you have to
-adjust the value of \verb|\startbarno| each time.\label{startbarno}
+\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\enotes
+ \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0z\ql z\enotes\zendextract
+% \end{music}
- %\check
+%\begin{music}\nostartrule
+%\input smallmusixpsx
+%\instrumentnumber{1}
+%\generalmeter{\meterfrac34}
+\startextract
+\NOTes\isluru0c\ql c\enotes\notes\tslur0j\ql j\enotes\bar
+\NOTes\isluru0c\ql c\enotes\notes\tslur0n\ql n\enotes
+\NOTes\isluru0c\ql c\enotes\notes\tslur0s\ql s\enotes\bar
+\NOTes\isluru0c\ql c\enotes\notes\tslur0z\ql z\enotes
+\zendextract
+ \end{music}
-The best compromise between information of the bar number and a pleasant
-lookout is the command \keyindex{systemnumbers} which draws the bar numbers
-only at the left top of every system (or staff? then the command will
-be renamed to \verb|\staffnumbers| or \verb|\staffbarnumbers|).
-You can influence the height of the system numbers by coding
+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|.
-\verb|\def|\keyindex{raisebarno}\verb|{|\ital{any \TeX~dimension}\verb|}|
+The next example shows how you can use \verb|iSlur| in difficult
+circumstances:
-\noindent whose default is set to \verb|4\internote| to fit above
-a violin clef. You can influence its horizontal position with
+\begin{music}\nostartrule
+\input musixps
+\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:
-\verb|\def|\keyindex{shiftbarno}\verb|{|\ital{any \TeX~dimension}\verb|}|
+\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}
-\noindent which default value is \verb|0pt|. If you don't like the box around
-the bar number or its font, you can redefine the macro which sets the system
-bar number; its default is
-\verb|\def|\keyindex{writebarno}%
- \verb|{\boxit{\eightbf\the\barno\barnoadd}}|
+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 OK.
- \noindent where \keyindex{boxit} is a utility macro provided by \musixtex{}
-whose purpose is to enclose its argument in a \raise-\boxitsep\hbox{\boxit{box}}.
+It's also OK 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}}
-\medskip
-\begin{music}
-\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}
-which was coded as
-\begin{itemize}
- \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 to the next system bar number
-is added the \keyindex{writezbarno} whose default setting is the lower
-character {\tt'a'}. If you want a {\tt'+}' instead, you can say
+\subsubsection{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,
-\verb|\def|\keyindex{writezbarno}\verb|{+}|
+\begin{quote}\begin{verbatim}
+\Notes\ibu0i0\iBsluru00\qb0{eh}\tbu0\qb0i\ibu0j0\qb0{jl}\tbu0%
+ \slurtext{6}\tBslur00\qb0e\en
+\end{verbatim}\end{quote}
- Besides, you can change the font and anything in the format of current bar
-numbers by changing the original definition of the macro
-\keyindex{writethebarno} or the font in \keyindex{fontbarno}, where the
-defaults are:
+\noindent produces
+%\begin{center}
+%\includegraphics[scale=1]{./mxdexamples/psbeamslur.eps}
+%\end{center}
+
+\begin{music}\nostartrule\input musixps\startextract
+\Notes\ibu0i0\iBsluru00\qb0{eh}\tbu0\qb0i\ibu0j0\qb0{jl}\tbu0%
+ \slurtext{6}\tBslur00\qb0e\en
+\zendextract\end{music}
+
+The above 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 despite the
+fact that Type K slurs will not be visible, you may also find that
+figures emplaced 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.
+
+\subsubsection{Type K postscript ties}
+All of the foregoing Type K slur commands 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.
+
+\subsubsection{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 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.
+
+\subsubsection{Avoiding collisions of Type K slurs and ties with staff lines.}
+In postscript it is possible to do some computations which 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.
+
+
+\subsubsection{Line breaking slurs and ties}
+Tyle K slurs and 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 ID$<$10 is broken fully automatically, but
+you should be careful about slurs, ties and crescendos with 10$\le$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.}
+\subsubsection{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 solutions are to use Big\TeX\ (if you aren't already), or to use
+font-based slurs.
+
+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}.
+
+
+\section{Bar Lines}
+ \subsection{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|.
- \verb|\def\writethebarno{\fontbarno\the\barno\kernm\qn@width}|
-
- \verb|\def\fontbarno{\it}|
+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.
- \noindent For example:
+To make the next bar line invisible, use \keyindex{setemptybar} before
+\verb|\bar|.
- \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 simply 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}
- %\check
+You can suppress the beginning vertical rule with saying \keyindex{nostartrule}
+and restore the default with \keyindex{startrule} after that.
+\subsection{Simple discoutinuous 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?
- %\check
+\subsection{Elementary asynchronous bar lines}
-\noindent Besides, you can suppress the messages of bar numbers on
-\verb|stdout| (normally screen) with \keyindex{nobarmessage}. In the same way,
-you can suppress the messages abour new lines (new systems) with
-\keyindex{nolinemessages}.
- %\check
+ 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:
- \subsection{Full and instrument divided bars}
-Normally, bars (as well as double bars, final bars and repeat bars) are
-drawn as a continuous line, starting for the bottom of the lower staff of the
-lower instrument, and ending at the top of the upper staff of the upper
-instrument. However, one may want to have discontinuous bars, that is, one
-continuous bar for all the staffs of a unique instrument. This is done by
-issuing the command \keyindex{sepbarrules}. An example of this is given in the
-{\tt ANGESCAO} (or {\tt ANGESCAM}) example; it has also been used in the
-example of section \ref{avemaria}.
-
- The initial situation can be forced or restored by \keyindex{stdbarrules}. In
-the extension library are some more types of bar rules, mainly for very old
-music, see \ref{otherbars}.
-
- \subsection{Instruments with no coherent bar division}
-
- In some special scores with several instruments, it may happen that distinc
-instruments, not only have different meters (e.g. 2/4 and 6/8 to avoid
-printing triolet codes for some instrument), but also have bar lines not
-synchronized. Obviously, this can be implemented \ital{{\bfseries only if}}
-\keyindex{sepbarrules} has been stated. Then, five specific commands can be issued~:
-
-\begin{itemize}
-\item\keyindex{hidebarrule} $n$ hides the bar rule for instrument $n$, until
-this is changed by \verb|\showbarrule|~$n$.
-\item\keyindex{showbarrule} $n$ stops hiding the bar rule for instrument $n$, until
-this is changed by \verb|\hidebarrule|~$n$.
-\item\keyindex{Hidebarrule} $n$ hides the bar rule for instrument $n$, only
+\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} $n$ exceptionally shows the bar rule for instrument $n$,
-and then resets intrument $n$ to \verb|Hidebarrule|.
+\item\keyindex{Showbarrule}\onen~shows the bar rule for instrument
+$n$ once only,
+and then resets it \verb|Hidebarrule|.
+%
+% DAS ???
+% and then resets it to \verb|hidebarrule|.
+%
\item\keyindex{showallbarrules} resets all defined instruments to
-\verb|showbarrule|~$n$. This command is automatically inserted with double
+\verb|\showbarrule|\onen. This command is automatically inserted with double
bars, final bars and repeats.
\end{itemize}
-Thus, the following example~:
+Thus, this example
\begin{music}
\instrumentnumber3
@@ -3324,7 +3844,7 @@ Thus, the following example~:
\endextract
\end{music}
-\noindent was obtained with the following coding
+\noindent was obtained with the following coding:
\begin{quote}\begin{verbatim}
\instrumentnumber3
\setmeter3{{\meterfrac{3}{4}}}
@@ -3360,301 +3880,860 @@ Thus, the following example~:
\Hidebarrule2\bar
\NOtes\multnoteskip{.333}\Tqbu fff&\qa f&\qa f\en
\setrightrepeat
-\endextract
+\zendextract
\end{verbatim}\end{quote}
+\subsection{Dotted, dashed, and more general asynchronous and discontinuous bar lines}\label{musixdbr}
-\section{Managing the layout of your score}
-\subsection{Line and page breaking}\label{linebreak}
+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,
-Those who usually worked with \musictex\ before must be aware that this has
-been deeply changed in \musixtex. All line-breaking decisions\footnote{With
-exception of the \musictex\ command {\Bslash autolines}, which is provided in
-the file {\tt musixcpt.tex}, see page \pageref{compatibility}.} are done by
-the external program \verb|musixflx|. Then you get the most even results when
-you insert the fewest \ital{manual} line breaks possible. But sometimes
-there is really need for them, e.g. page break should preferably occur when
-the musician has one hand free to turn the sheet.
+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:
-You can force a line break with \keyindex{alaligne} instead of \keyindex{bar}.
-In the same way, you can code \keyindex{alapage} to force an \keyindex{eject}
-with proper reinitialization of staffs, clefs and signatures.
+\begin{itemize}\setlength{\itemsep}{0ex}
- %\check
+\item \keyindex{sepbarrule}\onen~separates bar lines of instrument $n$ from those of instrument $n-1$
- On the other hand, you may want to forbid line-breaking at a bar,
-then you should replace \verb|\bar| with \keyindex{xbar}.
-
- Conversely, you may want to break a line \ital{not at a bar}\footnote{For
-example, you may prefer to turn the page at a place where the pianist has one
-hand free, in the middle of a bar.}. This is allowed by \keyindex{zbar}
-(optional line break) or forced by \keyindex{zalaligne} or
-\keyindex{zalapage}.
-
-The heavy final double bar of a piece is provided by \keyindex{Endpiece} or
-\keyindex{Stoppiece}. If you just want to terminate the text with a simple
-bar, you say \keyindex{stoppiece} or \keyindex{endpiece}. If you want to
-terminate it without a bar, you code \keyindex{zstoppiece}.
-
- Once you have stopped the score by any of these means, you can restart it
-using \keyindex{contpiece}. If you want to restart indenting the next line
-(system) by the dimension \keyindex{parindent}, then you should rather use
-\keyindex{Contpiece}, which is recommended when changing the
-the number of instruments within a single piece.
-
- However, neither \verb|\contpiece| nor \verb|\Contpiece| can be used if you
-change the signature (i.e. using \keyindex{generalsignature}) between
-\verb|stoppiece| and \verb|\contpiece|), since the space used by signatures is
-not constant and it has to be taken in account, e.g. by some
-\keyindex{changecontext}. In that case, you have to restart your score using
-\keyindex{startpiece}, which in turn requires you to save \verb|\barno| to its
-furtner starting value \verb|\startbarno| if you do not want it reset at 1,
-and to manage the instrument names and/or the \verb|\parindent| if necessary.
-
- If you want the next vertical bar to be a double bar, you have to
-declare \keyindex{doublebar} or \keyindex{setdoublebar} before the
-\keyindex{bar} (or the \keyindex{stoppiece} or \keyindex{alaligne} or
-\keyindex{alapage}) to be marked with a double thin bar. In the same way you
-can declare \keyindex{setdoubleBAR} if you want to have a heavy double bar
-(the same as \verb|\Stoppiece|) and even \keyindex{setemptybar} to make the
-next \verb|\bar| invisible\footnote{These latter features are given for your
-information, but they should be used only in case of emergency.}.
+\item \keyindex{condashbarrule}\onen~connects bar lines of instrument $n$ to those of instrument $n-1$
+ with a dashed line
- %\check
+\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:
-\subsection{How to manage individual page layout}
-\begin{enumerate}
- \item You write your own output routine, which centers the contents in the
-middle of the page. Most important are then the values of
-\keyindex{stafftopmarg} and \keyindex{staffbotmarg}, because they decide of
-the amount of margin between successive systems.
- \item If you say \keyindex{raggedbottom}, the vertical glue is removed and
-the score is rather compacted at the top of page.
- \item You change the value of \keyindex{parskip} and say
-\keyindex{normalbottom} (which behaves like \LaTeX's \keyindex{flushbottom}
-and which is done by default working with \verb|plain.tex|). Then the
-vertical space between the staffs is changed to get the first staff on page
-on top and the last staff on page to bottom (depends on \keyindex{vsize}).
-It might be clever to insert a \keyindex{eject} before the \keyindex{bye}.
-\keyindex{musicparskip} set between two systems no extra distance, but the
-possibility to increase the distance up to \verb|5\Interligne|.
-\end{enumerate}
-\noindent
-Besides, following values of e.g.~paper size are changed
-(only if you \ital{do not} work with \LaTeX) to:
\begin{quote}\begin{verbatim}
-\parindent= 0pt
-\hoffset= -15.4mm
-\voffset= -10mm
-\hsize= 190mm
-\vsize= 260mm
+\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}
+
+\section{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.
+
+\subsection{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}
+
+\subsection{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\\
+\verb|\def|\keyindex{raisebarno}\verb|{|\ital{any \TeX~dimension}\verb|}|.
+The horizontal position similarly 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\\
+\verb|\def|\keyindex{writebarno}\verb|{\boxit{\eightbf\the\barno\barnoadd}}|.\\
+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 This was 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{+}|.
+
+%DAS: Who cares ???
+%\noindent Besides, you can suppress the messages of bar numbers on
+%\verb|stdout| (normally screen) with \keyindex{nobarmessage}. In the same way,
+%you can suppress the messages abour new lines (new systems) with
+%\keyindex{nolinemessages}.
+ %\check
+
+\section{Managing the layout of your score}
+\subsection{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 6 pt 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}.
+
+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}.
+
+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|
+
+\subsection{Page layout}
+Blank space above and below each staff is controlled by the dimension
+registers \keyindex{stafftopmarg} and \keyindex{staffbotmarg}. For more
+info see section \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 the maximum material
+to fit on each page, provided the printer allows the margins that are implied.
+
+\begin{center}
+\begin{tabular}{|l|l|l|}\hline
+\multicolumn{1}{|c|}{A4}&\multicolumn{1}{|c|}{letter}&\multicolumn{1}{|c|}{A4 or letter}\\\hline
+\multicolumn{3}{|c|}{\tt\Bslash parindent= 0pt}\\\hline
+\multicolumn{3}{|c|}{\tt\Bslash hoffset= -15.4mm}\\\hline
+\multicolumn{3}{|c|}{\tt\Bslash voffset= -10mm}\\\hline
+\verb+\hsize= 190mm+&\verb+\hsize= 196mm+&\verb+\hsize= 190mm+\\\hline
+\verb+\vsize= 260mm+&\verb+\vsize= 247mm+&\verb+\vsize= 247mm+\\\hline
+\end{tabular}
+\end{center}
+%avre
\zkeyindex{parindent}\zkeyindex{hoffset}\zkeyindex{voffset}
\zkeyindex{hsize}\zkeyindex{vsize}
- %\check
-\subsection{How to adjust the global line and page layout}\index{page and line
-layout (global)}
+\subsection{Page numbering, headers and footers}\index{page
+number}\index{footnote}
- Once you have made your whole score, you will probably find out that all
-systems (all ``lines'') have a correct layout with nice beams, nice slurs, and
-others. But it is likely that:
- \begin{itemize}
- \item The result takes too many or too few pages and you estimate a more or
-less compact score would be suitable.
- \item The results takes a convenient number of pages, but the last page
-exhibits a widow line or an ugly blank space at the end.
- \end{itemize}
+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 \verb|1| and incremented by one
+at every page break. By saying \keyindex{pageno}$=n$, it can be reset to any
+value at any time, and will continue to be incremented from the new value.
- To solve this, you may revert to two strategies:
- \begin{enumerate}
- \item Explicitely force line and page breaking at the very places you like;
- this can be done using \verb|\alaligne|, \verb|\alapage|, \verb|\zalaligne|
-or \verb|\zalapage| commands. This can also be done using the
-\verb|\autolines| command imported from \musictex\ and provided in the {\tt
-musixcpt.tex} additional file. But this way of doing may result in
-unfortunately uneven distribution of the notes in the score, which is therefore
-not very smart.
- \item Adapt both the \keyindex{mulooseness} and the global value of
-\keyindex{elemskip}: increasing \verb|\mulooseness| (whose default is 0)
-increases the total number of systems, and if you are clever you may be able
-to fill an integer number of pages. Besides, increasing the stated
-\verb|\elemskip| (use \verb|\showthe\elemskip| to find its default value) also
-makes note spacing wider, and its advantage is that you can tune it by half a
-percent if needed.
-
-\begin{remark} \verb|\elemskip| can be retrieved in both the first and the third
-pass (second \TeX-ing pass), but any assignment of a value (a dimension value)
-to \verb|\elemskip| will be of no effect at third pass, since it is taken from
-the {\tt *.mx2} file yielded by {\tt musixflx}. On the contrary, assigning a
-value to \keyindex{noteskip} within \verb|\notes...\enotes| is efficient in
-both passes, and cause some weird errors if you mix up scalable and not
-scalable dimensions.
- \end{remark}
- \end{enumerate}
- %\check
+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}.
-\section{Changing score attributes}
+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):
- As seen before, you can change the signature of the whole set of instruments
-by \keyindex{generalsignature}~$n$ where $n>0$ means a number of sharps, $n<0$
-means a number of flats. Or, you may prefer to change the signature of only
-one or two instruments by the statement:
+\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}
-\keyindex{setsign} $n$\verb|{|$s$\verb|}|
+\subsection{Controlling the total number of systems and pages}\index{page and line
+layout (global)}
+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}
%\check
-\noindent
- where $n$ is the number of the instrument considered, and $s$ its
-specific signature. Since you may change simultaneously (with respect to the
-score) but consecutively (with respect to your code) the signatures of
-several instruments, this change takes place only when you say
-\keyindex{changesignature} (within a bar) or \keyindex{changecontext} (after
-a single vertical rule) or \keyindex{Changecontext} (after a double vertical
-rule) or \keyindex{zchangecontext} (without a bar rule\footnote{Old composers
-uses the bar rules very rarely}).
+\section{Changing clefs, key signatures, and meters}
+
+\subsection{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 11 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.
+
+\subsection{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 11 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.
- Normally, changing a signature from flats to sharps or sharps to flats or
-reducing the number of sharps/flats will produce the convenient set of
-naturals to emphasise what is suppressed. This standard feature can be
-temporarily inhibited by the command \keyindex{ignorenats} to be issued before
-the next {\Bslash changecontext} or {\Bslash changesignature}.
+\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}
- In the same way, you may want to change the active clefs.
-This is done by
-\keyindex{setclef}\verb|{|$n$\verb|}{|$s_1s_2s_3s_4$\verb|}%|
+\subsection{Clefs}\label{treblelowoct}
+
+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 11 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
+before the bar line, while for example \verb|\changecontext| would post it
+after the bar line. In part for this reason, we have the special command
+\keyindex{changeclefs}. It can be used anywhere outside
+\verb+\notes...\enotes+ 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:
- %\check
+\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 where $r$ is the number of the instrument, $s_1$ specifies the clef
-of the lower staff, $s_2$ the clef of the second staff, etc. $s_1=6$ means the
-\ital{bass} clef (\ixem{clef de fa} in French), $s_1=0$ means the \ital{violin}
-clef (\ixem{clef de sol} in French), $s_1=1$ through $s_1=4$ mean the
-\ital{alto} clef (\ixem{clef d'ut} in French) set on first (lower) through
-fourth (next to upper line of the staff), $s_1=5$ or $s_1=6$ mean the bass clef
-on the third or fourth line respectively.\index{violin clef}\index{bass
-clef}\index{alto clef}
-
- As seen above in the case of signatures, several clefs may be changed at the
-same time; thus all the clef changes become operational only when the macro
-\keyindex{changeclefs} is coded. Normal usage consists in issuing this
-command before the bar, not after (this helps the music player when the
-change happens across a line break).
- %\check
+\noindent Of course the examples in the last two bars are contrary
+to accepted practice.
+
+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}&\enotes
+\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}&\enotes
+\zendextract
+\end{verbatim}
+\end{minipage}
- The \verb|\changeclefs| command normally takes some horizontal space to put
-one of more clef symbols, but it may happen that you have no notes
-immediately before on the staff whose clef is changed. In that case, you can
-use \keyindex{zchangeclefs} which performs the same posting, overwritten left on
-the last part of the score in that staff. Of course it is your responsibility
-to ensure that no notes will collide with the clef change symbols.
- %\check
+\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}.
-The \musictex\ problem if a clef change is coded while one or several beams
-are pending has been removed in \musixtex. As an enhanced example, we provide
-an excerpt of {\sc Brahms}'s Intermezzo op.~117,1 initially coded by Miguel
-{\sc Filgueiras}:\index{Brahms, J.@{\sc Brahms, J.}}\medskip
+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 two clefs after (5) in comparison with (2). Obviously the second clef after (5) is
+nonsense; \verb|\resetclefsymbols| puts matters in order at (6) and (7).
\begin{music}
-\setstaffs1{2}
-\interstaff{11}
-\setclef1\bass % F- and G-clefs
-\generalsignature{-3}% 3 flats
-\parindent-4mm
-\advance\hsize8mm
+\instrumentnumber1\setclef1\bass
\startpiece
-\qspace\nspace
-\Notes\arpeggio E5\ibslurd0o\zq{EI}\qu N%
- \nextstaff\ibl0e{-2}\zq{eg}\qb0l\zq d\qb0k\enotes
-\setclef1\treble\zchangeclefs
-\nspace
-\Notes\tbu0\zq{ce}\qb0j\nextstaff\zq{sn}\cl l\enotes
-\notes\curve{-4}22\invertslur0\tslur0t\zq{be}\qu i\nextstaff\zq{sn}\ql l\enotes
-\setclef1\bass\changeclefs
-\notes\islurd0k\zq E\cu I\nextstaff
- \ibbu1h{-3}\zq{ae}\qb1h\tbu1\zq N\qb1g\enotes
-\bar
-\Notes\ibu0L{-2}\zq{EI}\qb0M\zqb0L%
- \nextstaff{\stemlength4\zql N}\ibu1f{-2}\qb1f\tbu1\zqb1e\hsk\enotes
-\setclef1\treble\changeclefs
-\nspace
-\Notes\tbu0\zq{Me}\qb0g\nextstaff\zq{ln}\cl s\en
-\notes\curve{-4}22\invertslur0\tslur0q\zq{be}\qu i\nextstaff\zq{ln}\ql s\en
-\setclef1\bass\changeclefs
-\notes\islurd0m\zq G\cu L\nextstaff
- \ibbu1j3\zq c\qb1j\tbu1\zq d\qb1k\enotes
-\bar
-\Notes\zq G\qu L%
- \nextstaff\ibl0e{-2}\zq{ei}\qb0l\zq d\zqb0k\enotes
-\setclef1\treble\changeclefs
-\nspace
-\Notes\tbu0\zq{ce}\qb0j\nextstaff\zq{sn}\cl l\enotes
-\notes\curve{-5}22\invertslur0\tslur0o\zq{be}\qu i\nextstaff\zq{sn}\ql l\enotes
-\setclef1\bass \changeclefs
-\notes\zq B\cu I\nextstaff\ibsluru0j%
- \ibbu1h{-3}\zq{ae}\qb1h\tbu1\zq N\qb1g\enotes
-\bar
-\Notes\zq{IL}\ql N\nextstaff\zql b\ibu0i{-2}\qb0i\enotes
-\scale{.5}%
-\Notes\nextstaff\qb0e\enotes
-\Notes\nextstaff\tinynotesize\isluru1f\grcu g\enotes
-\scale\normalvalue
-\Notes\zq B\cu I\nextstaff\zcl a\tslur1f\tbu0\zq d\qb0f\enotes
-\Notesp\zq E\qu I\nextstaff\tslur0e\zq N\zql e\ibu0g6\qbp0e\enotes
-\notes\sk\icresc\cu E\sk\zmidstaff\tcresc\nextstaff
- \ibsluru0i\nbbu0\qb0g\zq i\zcl g\qb0i\tbu0\qb0n\tubslur0k\enotes
+\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\treblelowoct\changeclefs
+\notes\qu i\en\setclef1\bass\changeclefs\bar
+\notes\zchar{-5}{6}\qu I\en\setclef1\treble\changeclefs
+\notes\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:
-\noindent The first bar of this excerpt was coded as:
-
- \begin{verbatim}
-\begin{music}
-\instrumentnumber{1}
-\setstaffs1{2}
-\interstaff{11}
-\setclef1\bass % F- and G-clefs
-\generalsignature{-3}% 3 flats
-\parindent0pt
+\begin{quote}\begin{verbatim}
+\begin{music}\nostartrule
+\instrumentnumber1\setclef1\bass
\startpiece
-\qspace\nspace
-\Notes\arpeggio E5\ibslurd0o\zq{EI}\qu N%
- \nextstaff\ibl0e{-2}\zq{eg}\qb0l\zq d\qb0k\enotes
-\setclef1\treble\zchangeclefs
-\nspace
-\Notes\tbu0\zq{ce}\qb0j\nextstaff\zq{sn}\cl l\enotes
-\notes\invertslur0\tslur0t\zq{be}\qu i\nextstaff\zq{sn}\ql l\enotes
-\setclef1\bass \changeclefs
-\notes\islurd0k\zq E\cu I\nextstaff
- \ibbu1h{-3}\zq{ae}\qb1h\tbu1\zq N\qb1g\enotes
-\end{music}\end{verbatim}%
-\ital{Meter} changes are implemented in following way:
+\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\treblelowoct\changeclefs
+\notes\qu i\en\setclef1\bass\changeclefs\bar
+\notes\zchar{-5}{6}\qu I\en\setclef1\treble\changeclefs
+\notes\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}
-\keyindex{setmeter} $n$%
- \verb|{{|$m1$\verb|}{|$m2$\verb|}{|$m3$\verb|}{|$m4$\verb|}}%|
+\subsection{Meter changes}
-\noindent
- where $n$ is the number of the instrument, $m1$ specifies the meter
-of the lower staff, $m2$ the meter of the second staff, etc. (if necessary!).
+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}.
-Since meter changes
-are meaningful only across bars, they are actually taken in account with
-\keyindex{changecontext} or \keyindex{Changecontext} or
-\keyindex{zchangecontext} or \keyindex{alaligne} or \keyindex{alapage}.
+The next example shows a few methods to get a meter change, in all staves or
+in a single staff.
+
+\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{\Bigtype 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}
+\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{\Bigtype 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{Repeats}
-To insert a \ital{repeat bar} you can use following sets of procedures,
-namely \keyindex{leftrepeat}, \keyindex{rightrepeat} and
-\keyindex{leftrightrepeat}, which are substitute the \keyindex{bar}.
-For example:
+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 if 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.
-\begin{music}
+For example,
+
+\begin{music}\nostartrule
\startextract
\NOTes\ha g\enotes
\leftrepeat
@@ -3663,7 +4742,7 @@ For example:
\NOTes\ha i\enotes
\rightrepeat
\NOTEs\wh j\enotes
-\endextract
+\zendextract
\end{music}
\noindent has been coded as:
\begin{quote}\begin{verbatim}
@@ -3675,71 +4754,33 @@ For example:
\rightrepeat
\NOTEs\wh j\enotes
\end{verbatim}\end{quote}
-Special cases are forced line breaks:
-if you want to force a new line at a repeat, you should code
-respectively:
-
-\begin{quote}
-\noindent\keyindex{setrightrepeat}\keyindex{alaligne}\\
-\keyindex{setrightrepeat}\keyindex{endpiece}\\
-\keyindex{alaligne}\keyindex{leftrepeat}\\
-\keyindex{contpiece}\keyindex{leftrepeat}\\
-\keyindex{startpiece}\keyindex{leftrepeat}
-\end{quote}
-\noindent or the combination of two of these in the case of a left/right
-repeat.
-
- A second way of coding consists in saying \keyindex{setleftrepeat},
-\keyindex{setrightrepeat} or \keyindex{setleftrightrepeat} before a bar
-(\keyindex{bar}), \keyindex{stoppiece} or \keyindex{changecontext}). In
-this case, the next single vertical bar will be replaced with the selected
-repeat bar. This meets the traditional music typesetting conventions in the
-only case of the \ital{right repeat} but, unfortunately, left and left/right
-repeats use to behave in a different manner when in the middle of a line and
-at a line break.
-
- \subsection{Specific first and second pass scoring}
-
-\RuleOn
-A frequent situation consists in a long part of score repeated two or several
-times, but its last few bars are different at first pass and at second pass.
-This can be specified by saying
-\keyindex{setvolta}\verb|{|\ital{text}\verb|}| before the \keyindex{bar}
-beginning the part specific to that first or second part\footnote{The word
-``volta'' comes from Italian, it means ``time'' in the sense of ``first
-time'', ``second time'' or ``pass'' in that case.}.
-
- Then, only one bar has a horizontal rule above. No termination command is
-needed since termination is implied by the following \verb|\bar| or repeat
-symbol. For example:
-
-\medskip \begin{music}
- \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{music}
-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}
-
-
-
- If the music typesetter wants to include more than one bar in the first
-pass[es] section and he wants all these to have a continuous line above, then
-he can code \keyindex{Setvolta}\verb|{|\ital{text}\verb|}| before the bar he
-wants the ``volta'' to begin, and put \keyindex{setendvolta} or
-\keyindex{setendvoltabox} before the bar they should end.
-\keyindex{setendvoltabox} makes the upper line to be terminated with a
-descending hook, symmetrical to the opening small vertical bar.
-
+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 contrast, to insert a left repeat at a forced line break or at the
+beginning of a piece, simply use \verb|\leftrepeat| immediately \textit{after}
+\verb|\startpiece| or \verb|\alaligne|. To insert a left-right repeat at a
+forced line break, use \verb|\setrightrepeat\alaligne\leftrepeat|.
+
+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 while \verb|\setleftrepeat| behaves properly if the
+bar is at the end of a system, \verb|\setleftrightrepeat| does not, placing
+the symbol only at the end of the system.
+
+ \subsection{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
@@ -3759,8 +4800,7 @@ descending hook, symmetrical to the opening small vertical bar.
\NOTEs\wh h\en\setendvoltabox
\Endpiece
\end{music}
- \noindent has been
-coded as:
+ \noindent This was coded as
\begin{quote}\begin{verbatim}
\startpiece \addspace\afterruleskip
\NOTEs\wh a\en\bar
@@ -3777,52 +4817,44 @@ coded as:
\NOTEs\wh h\en\setendvoltabox
\Endpiece
\end{verbatim}\end{quote}
- \zkeyindex{leftrepeat}\zkeyindex{rightrepeat} The
-``volta'' symbols are normally set at \verb|4\internote| above the upper line
-of the staff and one bar(length?) wide.
-
- The final down hook is stated, either by \keyindex{setendvoltabox} at the end,
-or \keyindex{setvoltabox} at the beginning.
-
-\begin{important}
- You are no more allowed to open \verb|\Setvolta| or \verb|\setvoltabox| whan
-another of these multi-bar volta is pending. To re-open a \verb|\Setvolta| at
-the ens of another one, you must explicitly order the first one to be closed
-at the end of the bar where the second one is opened. Given examples had to be
-corrected in order to meet this new safety requirement.
-
-\end{important}
-
- For the sake of portability, \keyindex{endvolta} is identical ti
-\verb|\setendvolta|, and \keyindex{endvoltabox} is identical to
-\verb|\setendvoltabox|. Theses changes in the names ar intended to recall that
-these commant take effect only at the next bar, repeat or line break.
-
-
-\RuleOff
+ \zkeyindex{leftrepeat}\zkeyindex{rightrepeat}
- The altitude of the ``volta'' above the upper staff can
-be changed, redefining \keyindex{raisevolta}, e.g.:
+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:
- \verb|\def\raisevolta{7\internote}|
-
- \noindent or define it to be any other valid dimension.
-
- \medskip\noindent{\sl REMARK: the dot after "volta" numbering can be removed,
-simply by saying:}
-
- \verb|\def|\keyindex{voltadot}\verb| {}|
+\medskip \begin{music}
+ \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{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}
-\noindent {\sl and reset by:}
+The height above the top staff line of the horizontal line in a volta symbol
+is determined by the token \keyindex{raisevolta} which is 4\verb|\internote| by
+default. You can change this to any desired dimension.
- \verb|\def|\keyindex{voltadot}\verb| {.}|
+The period after the text can be
+removed by saying \verb|\def|\keyindex{voltadot}\verb|{}|
+and restored by \verb|\def|\keyindex{voltadot}\verb|{.}|\ .
- \subsection{Large scope repeats and orientation marks}
+ \subsection{Special symbols for repeating long sections}
-Large scope repeats have also been provided
-with special symbols, namely \keyindex{coda}~$p$, \keyindex{Coda}~$p$,
-\keyindex{segno}~$p$, where $p$ specifies the pitch. A bigger symbol is
-\keyindex{Segno} with no argument. For example, the following figure
+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
@@ -3834,227 +4866,320 @@ with special symbols, namely \keyindex{coda}~$p$, \keyindex{Coda}~$p$,
\NOtes\Coda n\enotes
\endextract
\end{music}
-\noindent has been coded:
+\noindent which has been coded:
\begin{quote}\begin{verbatim}
\NOtes\segno m\enotes\bar
\NOtes\coda m\enotes
\NOtes\Segno\enotes\bar
\NOtes\Coda m\enotes
\end{verbatim}\end{quote}
-Orientation marks are set more often above larger orchestral pieces for
-easy come together of all instruments for exercise reasons. Often used are
-circled or boxed uppercase characters or digits. This can be done with
-
-\keyindex{boxit}\verb|{|\ital{text}\verb|}|~~~or\\
-\indent\keyindex{circleit}\verb|{|\ital{text}\verb|}|
-\noindent The distance between the box and the including text is influenced by
-
-\keyindex{boxitsep}\verb|=|\ital{any \TeX\ dimension}
-
-\noindent which is setup by default to \verb|3pt|. The usage is recommended
-with \keyindex{Uptext}, \keyindex{zcharnote}, \keyindex{zchar} or
-\keyindex{ccharnote}.
-
-\subsection{Repeating the last bar}
- This can be done using the symbol \keyindex{duevolte} (often used with
-\verb|\centerbar|, see example in \ref{barcentered}, p.
-\pageref{barcentered}), e.g.:
+\subsection{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\sk\sk\pause|\qa{cegj}\en
-\bar\NOtes\qa{cdef}|\sk\sk\duevolte\en
+\bar\NOtes\qa{cdef}|\sk\hsk\duevolte\en
\endextract
\end{music}
-whose coding is:
+\noindent whose coding is:
\begin{quote}\begin{verbatim}
\generalmeter\meterC
\setclef1\bass\setstaffs1{2}
\startextract
\NOtes\sk\sk\pause|\qa{cegj}\en
-\bar\NOtes\qa{cdef}|\sk\sk\duevolte\en
+\bar\NOtes\qa{cdef}|\sk\hsk\duevolte\en
\endextract
\end{verbatim}\end{quote}
- %\check
-
-\section{Miscellaneous}
- \subsection{Putting anything anywhere}
-\noindent Special macros are provided to help the composer to set any \TeX\
-text on the staffs. The macro
-
-\keyindex{zcharnote}~$p$\verb|{|text\verb|}|
-
-\noindent
-sets the given text with its base line at pitch $p$ of the current staff
-(this means it must be coded inside \verb|\notes...\enotes|).
-Whatever the length of the text, no spacing occurs.
-If you want the possible spilling text to expand on the left rather than
-on the right, then you can use \keyindex{lcharnote}.
-If you want the possible spilling text centered to current position,
-then you can use \keyindex{ccharnote} which causes no space.
-
-The macro \keyindex{zcharnote} is fit for coding special notations like
-accents above or below the notes. Also available are \keyindex{zchar},
-\keyindex{lchar} and \keyindex{cchar}, which
-allows only numbers for pitch, but enables the use of floats too.
-
-To place some text at the mid-position between the two staffs of
-a keyboard instrument, you may code:
-\begin{quote}
-\keyindex{zmidstaff}\verb|{|{\it text}\verb|}%| (to right)\\
-\keyindex{lmidstaff}\verb|{|{\it text}\verb|}%| (to left)\\
-\keyindex{cmidstaff}\verb|{|{\it text}\verb|}%| (centred)
-\end{quote}
-\noindent being however
-careful, a) to put it inside \verb|\notes...\enotes|, b) to code it in the
-text of the lower staff.
-
- A text to be put above the current staff is introduced by
-\keyindex{uptext}\verb|{...}|.
-This may however cause some collision with bar
-numbering or notes above the staff; it is then wise to use
-\keyindex{Uptext}\verb|{...}|
-which puts the text two note line distances higher (recommended to post
-the tempo).
- \subsection{Fonts} The text fonts loaded by \musixtex\ come in six different
-type sizes and three styles. The type sizes are 8\,pt, 10\,pt, 12\,pt, 14\,pt,
-17\,pt and 25\,pt, while the three styles are roman, bold and italic. The
-three smaller type sizes are available in all three styles, while the larger
-three sizes, which are intended for titles, are available only in bold style.
-The size selection macros are respectively \keyindex{smalltype},
+\noindent This is often used with \verb|\centerbar| to more easily center the
+symbol between bar lines, as shown in the example in section \ref{barcentered}.
+
+\section{Font selection and text placement}
+
+\subsection{Predefined text fonts}
+While any \TeX\ font can be used by \musixtex, there are certain styles and
+sizes that can be selected using shortcut commands.
+For ordinary text the shortcuts cover fonts of eight different
+sizes and three styles. The sizes in points are 8, 9, 10, 12, 14, 17, 20, and 25;
+the styles are from the standard Computer Modern family: Roman, bold and italic. The
+four smallest sizes are each available in all three styles, while the larger
+sizes, which are intended for titles, are available only in bold style.
+The size selection macros from smallest to biggest are \keyindex{smalltype},
+\keyindex{Smalltype},
\keyindex{normtype}, \keyindex{medtype}, \keyindex{bigtype},
\keyindex{Bigtype} ,
-\keyindex{BIgtype} and \keyindex{BIGtype}. Following the size selection, the
-style may be selected or changed using \keyindex{rm} (roman), \keyindex{bf}
-(bold) or \keyindex{it} (italic). If no style selection is made, roman style
-will result for the sizes smaller than \verb|\medtype|. For the larger sizes,
-style selection is not required since only bold style is provided. Thus,
-selection of eight point italic is done using \verb|\smalltype\it|, while
-twelve point roman is selected using \verb|\medtype\rm| or simply
+\keyindex{BIgtype} and \keyindex{BIGtype}. Following size selection, the
+style may be selected or changed using \keyindex{rm} (Roman), \keyindex{bf}
+(bold) or \keyindex{it} (italic). If no style is explicitly selected, Roman style
+will be used for the sizes \verb|\medtype| or smaller. For the larger sizes,
+only bold style is provided and no style selection is required. 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| or \verb|\bf| as in Plain \TeX. This information
-is summarized in the following table.
+code \verb|\rm|, \verb|\it| or \verb|\bf| 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
+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 \verb|\smalldyn|, \verb|\normdyn|, or \verb|\meddyn| may be
+used to redefine \verb|\ppff| to represent one of the smallest three.
+
+All predefined fonts are summarized in the following table. The second column gives an
+explicit control sequence that can alternatively be used locally as a font specification.
\begin{center}
- \begin{tabular}{clc}
+ \begin{tabular}{lll}
\hline
- Size, pt & Size selection & Style selection \\
+ Size and style & Font specification & Example \\
\hline
- 8 & \verb|\smalltype| & \verb|\rm, \bf, \it| \\
- 10 & \verb|\normtype| & \verb|\rm, \bf, \it| \\
- 12 & \verb|\medtype| & \verb|\rm, \bf, \it| \\
- 14 & \verb|\bigtype| & \verb| (\bf) | \\
- 17 & \verb|\Bigtype| & \verb| (\bf) | \\
- 20 & \verb|\BIgtype| & \verb| (\bf) | \\
- 25 & \verb|\BIGtype| & \verb| (\bf) | \\
+ \verb|\smalltype| & \verb|\eightrm| & {\smalltype small Roman} \\
+ \verb|\smalltype\bf| & \verb|\eightbf| & {\smalltype\bf small bold} \\
+ \verb|\smalltype\it| & \verb|\eightit| & {\smalltype\it small italic} \\
+ \verb|\Smalltype| & \verb|\ninerm| & {\Smalltype Small Roman} \\
+ \verb|\Smalltype\bf| & \verb|\ninebf| & {\Smalltype\bf Small bold} \\
+ \verb|\Smalltype\it| & \verb|\nineit| & {\Smalltype\it Small italic} \\
+ \verb|\normtype| & \verb|\tenrm| & {\normtype normal Roman} \\
+ \verb|\normtype\bf| & \verb|\tenbf| & {\normtype\bf normal bold} \\
+ \verb|\normtype\it| & \verb|\tenit| & {\normtype\it normal italic}\\
+ \verb|\medtype| & \verb|\twelverm| & {\medtype medium Roman} \\
+ \verb|\medtype\bf| & \verb|\twelvebf| & {\medtype\bf medium bold} \\
+ \verb|\medtype\it| & \verb|\twelveit| & {\medtype\it medium italic}\\
+ \verb|\bigtype| & \verb|\bigfont| & {\bigtype big bold} \\
+ \verb|\Bigtype| & \verb|\Bigfont| & {\Bigtype Big bold} \\
+ \verb|\BIgtype| & \verb|\BIgfont| & {\BIgtype BIg bold} \\
+ \verb|\BIGtype| & \verb|\BIGfont| & {\BIGtype BIG bold} \\
+ \verb|\smalldyn| & \verb|\ppffsixteen| & {\ppffsixteen pp ff diminuendo}\\
+ \verb|\normdyn| & \verb|\ppfftwenty| & {\ppfftwenty pp ff crescendo}\\
+ \verb|\meddyn| & \verb|\ppfftwentyfour| & {\ppfftwentyfour pp ff crescendo}\\[.4ex]
+ ~ & \verb|\ppfftwentynine| & {\ppfftwentynine pp ff diminuendo}\\[.4ex]
\hline
- \end{tabular} \end{center} Two other text fonts are provided for dynamic
-markings. These are \keyindex{ppffsixteen}, \keyindex{ppfftwenty} and
-\keyindex{ppfftwentyfour}, suitable for dynamic markings with staff sizes of
-16\,pt, 20\,pt and 24\,pt respectively. The appropriate font for the current
-staff size may be selected by coding \keyindex{ppff}.
-
-Naturally other fonts may be loaded by the user if required.
-When \musixtex\ is started, the default text font is
-ten point roman, equivalent to \verb|\normtype\rm|.
- \subsubsection{Examples}
+ \end{tabular}
+\end{center}
+
+\subsection{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\ system has been ``rehashed''. 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 questions.
+\label{musixtmr}
+You can use the standard bitmapped fonts which are converted to
+postscript by e.g.\ \verb|dvips|, but you also may replace them
+by native postscript fonts.
+
+As an example, you can replace the standard \verb|musixtex| fonts by
+the Times series of fonts as follows:
+
+\begin{verbatim}
+% 8pt roman, bold, and italic
+\font\eightrm=ptmr7t at 8pt
+\font\eightbf=ptmb7t at 8pt
+\font\eightit=ptmri7t at 8pt
+% 9pt
+\font\ninerm=ptmr7t at 9pt
+\font\ninebf=ptmb7t at 9pt
+\font\nineit=ptmri7t at 9pt
+% 10pt
+\font\tenrm=ptmr7t
+\font\tenbf=ptmb7t
+\font\tenit=ptmri7t
+% 12pt
+\font\twelverm=ptmr7t scaled \magstep 1
+\font\twelvebf=ptmb7t scaled \magstep 1
+\font\twelveit=ptmri7t scaled \magstep 1
+% Large fonts for titles : normal shaped Times-Roman fonts are applied
+\font\bigfont=ptmr7t scaled \magstep2 % 14pt
+\font\Bigfont=ptmr7t scaled \magstep3 % 17pt
+\font\BIgfont=ptmr7t scaled \magstep4 % 20pt
+\font\BIGfont=ptmr7t scaled \magstep5 % 25pt
+%
+\normtype
+\end{verbatim}
+The above definitions are made available in a file
+\verb|musixtmr.tex|\footnote{by Hiroaki {\sc Morimoto}}, to be used as
+\begin{quote}\begin{verbatim}
+\input musixtex
+\input musixps
+\input musixtmr
+...
+\end{verbatim}\end{quote}
+
+\font\tnormtype=ptmr7t
+\font\tnormtypebf=ptmb7t
+\font\tnormtypeit=ptmri7t
+\font\tbigtype=ptmr7t scaled \magstep2
+\font\tBIgtype=ptmr7t scaled \magstep4
+
+\noindent Here's a comparison of some of the Computer Modern Roman and Times Roman fonts:
\begin{center}
\begin{tabular}{ll}
\hline
- Size and style & Example \\
- \hline
- \verb|\smalltype| & {\smalltype small roman} \\
- \verb|\smalltype\bf| & {\smalltype\bf small bold} \\
- \verb|\smalltype\it| & {\smalltype\it small italic} \\
- \verb|\normtype| & {\normtype normal roman} \\
- \verb|\normtype\bf| & {\normtype\bf normal bold} \\
- \verb|\normtype\it| & {\normtype\it normal italic}\\
- \verb|\medtype| & {\medtype medium roman} \\
- \verb|\medtype\bf| & {\medtype\bf medium bold} \\
- \verb|\medtype\it| & {\medtype\it medium italic}\\
- \verb|\bigtype| & {\bigtype big bold} \\
- \verb|\Bigtype| & {\Bigtype Big bold} \\
- \verb|\BIgtype| & {\BIgtype BIg bold} \\
- \verb|\BIGtype| & {\BIGtype BIG bold} \\
- \verb|\ppffsixteen| & {\ppffsixteen pp ff diminuendo}\\
- \verb|\ppfftwenty| & {\ppfftwenty pp ff crescendo}\\
- \verb|\ppfftwentyfour| & {\ppfftwentyfour pp ff crescendo}\\
+ {\normtype normal (10pt) cm Roman} & {\tnormtype normal Times Roman} \\
+ {\normtype\bf normal cm bold} & {\tnormtypebf normal Times bold} \\
+ {\normtype\it normal cm italic} & {\tnormtypeit normal Times italic}\\
+ {\bigtype cm big} & {\tbigtype Times big} \\
+ {\BIgtype cm BIg } & {\tBIgtype Times BIg bold} \\
\hline
\end{tabular}
\end{center}
+
+\subsection{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...\enotes|. 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.
+
+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 emplaced with
+these macros. On the other hand, if text is emplaced far above or below a
+system, \musixtex\ will usually insert additional vertical space if needed.
+
+\subsection{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 emplace the mark, use \verb|\Uptext| or
+any of the other macros defined in the previous section.
+
+
+\section{Miscellaneous other notations}
+%avre
\subsection{Metronomic indications}
-Metronomic indication deserves a special macro. The mention:
+%Metronomic indication deserves a special macro. The mention:
+%
+%\medskip
+%\centerline{\def\nbinstruments{0}\metron{\hup}{60}}
+%
+%\smallskip\noindent
+%is coded by \keyindex{metron}\verb|{\hup}{60}| (normally embedded in
+%\keyindex{Uptext} which is in turn embedded within \verb|\notes...\enotes|).
+%
+% On the other hand, music writers sometimes want to specify that the duration
+%of a previous note is equal to a distinct furthernote. Thus
+%
+% \smallskip
+%\centerline{\def\nbinstruments{0}\metronequiv{\qup}{\qu}}
+%
+%\smallskip\noindent
+%is coded by \keyindex{metronequiv}\verb|{\qup}{\qu}|.
+
+By way of example, the notations~~~{\def\nbinstruments{0}
+\metron{\hup}{60}}~~~and~~~{\def\nbinstruments{0}\metronequiv{\qup}{\qu}}~~~are
+respectively coded as
+\keyindex{metron}\verb|{\hup}{60}| and \keyindex{metronequiv}\verb|{\qup}{\qu}|,
+which are normally emplaced using \keyindex{Uptext}.
-\medskip
-\centerline{\def\nbinstruments{0}\metron{\hup}{60}}\smallskip\noindent
-is coded by \keyindex{metron}\verb|{\hup}{60}| (normally embedded in
-\keyindex{Uptext} which is in turn embedded within \verb|\notes...\enotes|).
\subsection{Accents}
-\begin{itemize}
- \item \keyindex{upz}~$p$ (upper \ital{pizzicato}) to put a dot above a note
+
+You may use\footnote{Note from the editor: the reason the names of some of
+these macros don't seem to be constructed to suggest the terms used in the
+descriptions is that whoever originally defined the macros had in mind terms
+that did not agree with normal English usage.}
+\begin{itemize}\setlength{\itemsep}{0ex}
+ \item \keyindex{upz}\pitchp~(upper \itxem{staccato}) to put a dot above a note
head at pitch $p$,
- \item \keyindex{lpz}~$p$ (lower \ital{pizzicato}) to put a dot below a note
+ \item \keyindex{lpz}\pitchp~(lower \ital{staccato}) to put a dot below a note
head at pitch $p$,
- \item \keyindex{usf}~$p$ (upper \itxem{sforzando}) to put a $>$ accent above
+ \item \keyindex{usf}\pitchp~(upper \itxem{sforzando}) to put a $>$ accent above
a note head at pitch $p$,
- \item \keyindex{lsf}~$p$ (lower \itxem{sforzando}) to put a $>$ accent below
+ \item \keyindex{lsf}\pitchp~(lower \itxem{sforzando}) to put a $>$ accent below
a note head at pitch $p$,
- \item \keyindex{ust}~$p$ (upper \itxem{staccato} or \itxem{portato}) to put a
+ \item \keyindex{ust}\pitchp~(upper \itxem{tenuto}) to put a
hyphen above a note head at pitch $p$,
- \item \keyindex{lst}~$p$ (lower \ital{staccato} or \ital{portato}) to put a
+ \item \keyindex{lst}\pitchp~(lower \ital{tenuto}) to put a
hyphen below a note head at pitch $p$,
- \item \keyindex{uppz}~$p$ (upper strong \ital{pizzicato}) to put an
-apostrophe above a note head at pitch $p$,
- \item \keyindex{lppz}~$p$ (lower strong \ital{pizzicato}) to put a reversed
-apostrophe below a note head at pitch $p$.
- \item \keyindex{usfz}~$p$ (upper \ital{sforzato}) to put a
-`roof' above a note head at pitch $p$,
- \item \keyindex{lsfz}~$p$ (lower \ital{sforzato}) to put a reversed
-`roof' below a note head at pitch $p$.
- \item \keyindex{upzst}~$p$ (upper \ital{portato/staccato}) to put a
-combined portato/staccato sign above a note head at pitch $p$,
- \item \keyindex{lpzst}~$p$ (lower \ital{portato/staccato}) to put a
-combined portato/staccato sign below a note head at pitch $p$.
- \item \keyindex{flageolett}~$p$ to put a
-thin circle above a note head at pitch $p$.
- \item \keyindex{upbow} to indicate a bowing for strings in upper direction.
- \item \keyindex{downbow} opposite to {\Bslash upbow}.
+ \item \keyindex{uppz}\pitchp~(upper \itxem{staccatissimo}) to put a solid vertical
+wedge above a note head at pitch $p$,
+ \item \keyindex{lppz}\pitchp~(lower \ital{staccatissimo}) to put an inverted
+solid vertical wedge below a note head at pitch $p$,
+ \item \keyindex{usfz}\pitchp~(upper \itxem{forzato}) to put a
+``dunce cap'' above a note head at pitch $p$,
+ \item \keyindex{lsfz}\pitchp~(lower \ital{forzato}) to put an inverted
+``dunce cap'' below a note head at pitch $p$,
+ \item \keyindex{upzst}\pitchp~(upper \itxem{staccato/tenuto}) to put a
+dot and a hyphen above a note head at pitch $p$,
+ \item \keyindex{lpzst}\pitchp~(lower \ital{staccato/tenuto}) to put a
+dot and a hyphen below a note head at pitch $p$,
+ \item \keyindex{flageolett}\pitchp~to put a
+small circle above a note head at pitch $p$.
\end{itemize}
-Because whole notes (breve, arbitrary, ...) have a different note head width
-the accents appear not centered above them. Therefore you can use
-\keyindex{wholeshift}\verb|{|\ital{text}\verb|}| which centers accents
-and others
-which are centered above a quarter note head to appear centered above
-a whole note. This is used for e.g.~\verb|\Fermataup|.
-
-Also available are the variants\footnote{Thanks to Klaus {\sc Bechert}'s
-corrections.} of the most used accents which will be automatically positioned
-above or below a beam. Therefore the known accents are preceeded with the
-letter `b' and, instead of the pitch, the beam reference number is appended as
-an argument. Thus
+These marks are horizontally centered relative to solid note heads. To
+compensate for the fact that whole notes are wider, you should use
+\keyindex{wholeshift}\verb|{|\ital{Any nonspacing macro}\verb|}| to center accents
+and other items (e.g.~\verb|\Fermataup|) above a whole note.
+
+There are also variants of the most common accents\footnote{Thanks to Klaus
+{\sc Bechert}'s corrections.} which will be automatically positioned
+above or below a beam. They are spelled like the corresponding normal
+accent, but preceded with the letter \verb|b|, and their argument, instead of
+the pitch, is the beam reference number . Thus
\medskip
-\begin{music}
+\begin{music}\nostartrule
\startextract
\Notes\ibu0f3\busfz0\qb0f\bupz0\qb0g\bust0\qb0h%
\buppz0\qb0i\busf0\qb0j\butext0\tqh0k\en
\Notes\Ibl0lg5\blsfz0\qb0l\blpz0\qb0k\blst0\qb0j%
\blppz0\qb0i\blsf0\qb0h\bltext0\tqb0g\en
-\endextract
+\zendextract
\end{music}
-\noindent was coded as:
-\begin{verbatim}
-\startextract
+\noindent was coded as
+\begin{quote}\begin{verbatim} \startextract
\Notes\ibu0f3\busfz0\qb0f\bupz0\qb0g\bust0\qb0h%
\buppz0\qb0i\busf0\qb0j\butext0\tqh0k\en
\Notes\Ibl0lg5\blsfz0\qb0l\blpz0\qb0k\blst0\qb0j%
\blppz0\qb0i\blsf0\qb0h\bltext0\tqb0g\en
-\endextract
-\end{verbatim}
+\zendextract
+\end{verbatim}\end{quote}
\zkeyindex{busfz}
\zkeyindex{bupz}
\zkeyindex{bust}
@@ -4067,26 +5192,49 @@ an argument. Thus
\zkeyindex{blppz}
\zkeyindex{blsf}
\zkeyindex{bltext}
- \subsection{*Indication of \ital{x}-tuplets}
- Triplets and other $x$-tuplets --- in practice the italic numbers \ital{3},
-\ital{4}, \ital{5}, etc. can be set at the right horizontal/vertical position
-invoking the \keyindex{triolet} or \keyindex{xtuplet} macros at the leftmost
-position of the group, i.e. before the first note is coded.
+The macros \verb|\bltext| and \verb|\butext| are detailed in the next section,
+where the mystery of why they produce the number 3 is resolved.
- {\Bslash triolet} has only one argument, the pitch of the bottom of the
-figure 3, {\Bslash xtuplet} has two arguments: the figure and its pitch.
-If the figure has to be put above an upper beam or below a lower beam, using
-the macros \keyindex{butext} (above) and \keyindex{bltext} (below) is advisable
-to post the figure above or below the given beam. {\Bslash butext}
-and {\Bslash bltext} have one argument, namely the beam number (namely the
-same as the first argument of commands such as {\Bslash ibu} or {\Bslash
-Ibu}). If the group of notes is not a triolet, the actual figure has to be
-changed, redefining the macro \keyindex{txt} which is set up by default to:
+\subsection{Numbers and brackets for xtuplets}\label{tuplet}
-\verb|\def\txt{\eightit 3}%|
+The following table lists all the special macros that place a number indicating
+an xtuplet. Some also place a bracket above or below the notes, and are
+intended for use with unbeamed notes.
+In the table, $p$ is a pitch, $k$ is a number, $n$ is a beam number,
+$w$ is a bracket width in \verb|\internote|s, and $s$ is the bracket slope as
+a multiple of 1.125 degrees. The macro \verb|\txt| contains a default number
+and its font, which will be emplaced by the first and third through sixth macros,
+and is initially defined as \verb|\def\txt{\eightit 3}|. The macro
+\verb|\tuplettxt| serves the same role for the last two macros. The first four
+are to be used with beamed xtuplets. As indicated in the
+last column, the last four produce a sloping bracket and are to be used with
+unbeamed xtuplets. The last two require the extension file
+\verb|tuplet.tex| to be input right after \verb|\input musixtex|.
+
+
+\begin{center}
+ \begin{tabular}{lclcc}
+ \hline
+ ~ & Number & ~ & Needs & ~ \\
+ Macro and arguments & printed & Where invoked & \verb|tuplet.tex|? & Bracket \\
+ \hline
+ \verb|\triolet|\pitchp & \verb|\txt| & before beam & no & none \\
+ \verb|\xtuplet|\itbrace{k}\pitchp & $k$ & before beam & no & none \\
+ \verb|\butext|\itbrace{n} & \verb|\txt| & before note at number & no & none \\
+ \verb|\bltext|\itbrace{n} & \verb|\txt| & before note at number & no & none \\
+ \verb|\uptrio|\pitchp\itbrace{w}\itbrace{s} & \verb|\txt| & before first note & no & solid \\
+ \verb|\downtrio|\pitchp\itbrace{w}\itbrace{s} & \verb|\txt| & before first note & no & solid \\
+ \verb|\uptuplet|\pitchp\itbrace{w}\itbrace{s} & \verb|\tuplettxt| & before first note & yes & with gap \\
+ \verb|\downtuplet|\pitchp\itbrace{w}\itbrace{s} & \verb|\tuplettxt| & before first note & yes & with gap \\
+ \hline
+ \end{tabular}
+\end{center}
+\medskip
+Here are some examples of the first six macros in the table:\\
+\vskip-3pt
\begin{music}
\parindent0mm
\generalmeter{\meterfrac24}
@@ -4097,61 +5245,114 @@ changed, redefining the macro \keyindex{txt} which is set up by default to:
\notesp\ibslurd0k\Ibl0km2\qb0k\bltext0\qb0l\tdbslur0m\tqb0m\en\bar
\Notesp\triolet o\isluru0l\ql{lm}\tslur0n\ql n\en\bar
\Notesp\uptrio o16\ql l\en\notesp\cl n\en
-\Notesp\uptrio p16\ql m\en\notesp\cl o\en
+%avrb
+\Notesp\downtrio O16\qu e\en\notesp\cu g\en
+%avre
\endpiece
+whose coding is
\begin{quote}\begin{verbatim}
\notesp\xtuplet6n\isluru0l\ibl0l0\qb0{lllll}\tslur0l\tqb0l\en\bar
\notesp\triolet n\isluru0l\Ibl0ln2\qb0{lm}\tslur0n\tqb0n\en
\notesp\ibslurd0k\Ibl0km2\qb0k\bltext0\qb0l\tdbslur0m\tqb0m\en\bar
\Notesp\triolet o\isluru0l\ql{lm}\tslur0n\ql n\en\bar
\Notesp\uptrio o16\ql l\en\notesp\cl n\en
-\Notesp\uptrio p16\ql m\en\notesp\cl o\en
+\Notesp\downtrio O16\qu e\en\notesp\cu g\en
\end{verbatim}\end{quote}
\end{music}
\zkeyindex{xtuplet}\zkeyindex{triolet}
-%\xtuplet{text}{pitch}
-% centers text(3 on second note, 4 between second and thirdnote,
-% 5 on third note) on notes (-> \triolet{pitch})
- \subsection{*Usual ornaments}
- \subsubsection{Arpeggios}
-\ital{Arpeggios} (i.e.~~~\arpeggio{-2}3) can be coded with the macro
+\medskip
+Next are examples using the macros from \verb|\tuplet.tex|. Comparison of the
+coding with the printed result reveals that (a) a redefinition of
+\verb|\tuplettxt| inside a notes group only applies inside that group and
+leaves the default definition intact (bar 2),
+(b) the default definition is
+\verb|\def\tuplettxt{\ppffsixteen3}|, a 10-pt bold extended italic numeral 3
+which may be larger and heavier than desired (first set, bar 3) (c) to get the
+number properly centered in the gap, you must include some extra spaces after
+the number in the definition of \verb|\tuplettxt|, and (d) as you can see in
+the last bar, if the span becomes to small, the macros still won't provide
+enough room for the number in the gap; in this case it would be better to
+use to the macros without gaps.
+
+% Examples:
+%
+% Draw a triplet bracket over the notes, starting at pitch "p",
+% 1.25\noteskip wide, with a slope up of 3-3/8 degrees:
+%
+% \uptuplet p{1.25}3
+%
+% Draw a sextuplet bracket under the notes, starting at pitch "a",
+% 2.5\noteskip wide, with a slope down of 4-1/2 degrees:
+%
+% \def\tuplettxt{\smallppff 6\/\/}
+% \downtuplet{a}{2.5}{-4}
-\keyindex{arpeggio} $pm$
-
-\noindent where $p$ is the pitch of
-the base of the arpeggio symbol and $m$ is its multiplicity (one period is
-equal to one space between staff lines, i.e. 5 points). This macro causes
-no spacing. If should be issued before the concerned
-chords. Its variant \keyindex{larpeggio} sets the arpeggio symbol nearly
-one note head width on the left, in order to avoid collision with accidentals
-in front of the chords.
-
- \subsubsection{Trills}
- Trills\index{trills} can be coded in several ways.
-\keyindex{trille}~$pl$ (where $p$ is the pitch and $l$ is a number of current
-\ital{noteskip}) yields \hbox to 1cm{\noteskip1cm\trille11\hss} while
-\keyindex{Trille}~$pl$ yields \hbox to 2cm{\noteskip1cm\Trille12\hss}.
-
- For longer trills expanding over bars and line breaks, a better way consists
-in specifying the beginning with \keyindex{Itrille}~$np$ where $n$ is the
-trill reference number ($0\le n<6=$\keyindex{maxtrills}) and terminate it with
-the command \keyindex{Ttrille}~$n$. If one wants the {\it tr} mention at the
-beginning, then one should use \keyindex{ITrille}~$np$. The ancient commands
-\keyindex{itrille}, \keyindex{ttrille}~$p$ and \keyindex{tTrille}~$p$ still
-work but beware that their syntax is different, that the opening and the
-closing must be in the same bar and that the use the same registers as
-\verb|\Itrille 0|.
+\begin{music}
+\input tuplet
+\parindent0mm
+\generalmeter{\meterfrac24}
+%\startpiece
+\startextract
+\addspace\afterruleskip
+\notesp\triolet o\Ibl0ln2\qb0{lm}\tqb0n\en
+\notesp\Ibl0km2\qb0k\bltext0\qb0l\tqb0m\en\bar
+\notesp\def\tuplettxt{\eightit 5\/\/}\uptuplet o{4.1}2\cl{jklmn}\en\bar
+\Notesp\uptuplet o16\ql l\en\notesp\cl n\en
+\def\tuplettxt{\eightit 3\/\/}
+\Notesp\downtuplet O16\qu e\en\notesp\cu g\en\bar
+\notesp\uptuplet o16\ccl l\en\notesp\cccl n\en
+\notesp\downtuplet O16\ccu e\en\notesp\cccu g\en
+%\endpiece
+\endextract
+\end{music}
-\medskip
-\begin{remark} \verb|trille| and \verb|Trille| also exist in \musictex.
-Unfortunately, the same macro names do not have the same syntax and the same
-semantic in both packages and {\ttxem{musixcpt.tex}} forces the behaviour and
-the syntax of \musictex. A solution to this problem consists in using
-\keyindex{trilleC} and \keyindex{TrilleC} to have the \musictex{} behaviour,
-and \keyindex{trilleX} and \keyindex{TrilleX} to have the \musixtex{}
-behaviour, even when {\tt musixcpt} is invoked.
-\end{remark}
+\noindent with coding
+
+\begin{quote}\begin{verbatim}
+\input tuplet
+\parindent0mm\generalmeter{\meterfrac24}
+\startextract\addspace\afterruleskip
+\notesp\triolet o\Ibl0ln2\qb0{lm}\tqb0n\en
+\notesp\Ibl0km2\qb0k\bltext0\qb0l\tqb0m\en\bar
+\notesp\def\tuplettxt{\eightit 5\/\/}\uptuplet o{4.1}2\cl{jklmn}\en\bar
+\Notesp\uptuplet o16\ql l\en\notesp\cl n\en
+\def\tuplettxt{\eightit 3\/\/}
+\Notesp\downtuplet O16\qu e\en\notesp\cu g\en\bar
+\notesp\uptuplet o16\ccl l\en\notesp\cccl n\en
+\notesp\downtuplet O16\ccu e\en\notesp\cccu g\en
+\endextract
+\end{verbatim}\end{quote}
+
+ \subsection{Ornaments}
+
+ \subsubsection{Arpeggios}
+\ital{Arpeggios} (i.e.~~~\arpeggio{-2}3) can be coded with the macro
+\keyindex{arpeggio}\pitchp\itbrace{m}
+where $p$ is the pitch of
+the base of the arpeggio symbol and $m$ is its height in units of
+\verb|\interligne|, the distance from one staff line to the next. It should be
+issued before the affected chord. It is
+automatically positioned to the left of the chord, but inserts no spacing.
+Its variant \keyindex{larpeggio} sets the arpeggio symbol roughly
+one note head width to the left of the default position, and is intended to
+avoid collision with single accidentals on chord notes.
+
+ \subsubsection{Arbitrary length trills}
+ There are two styles of arbitrary length trills\index{trills}, each with two
+variants.
+For a trill with preassigned length, use \keyindex{trille}\pitchp\itbrace{l}
+for \hbox to 1cm{\noteskip1cm\trille11\hss} or
+\keyindex{Trille}\pitchp\itbrace{l} for~~\hbox to
+2cm{\noteskip1cm\Trille12\hss}, where $p$ is the pitch and $l$ the length in
+current \verb|\noteskips|.
+
+To let \musixtex\ compute the length of the trill, or if it extends across a
+system break, you can use \keyindex{Itrille}$n$\pitchp\ to start a plain
+trill, where $n$ is a trill reference number between 0 and 6; then
+\keyindex{Ttrille}$n$ to terminate it. To get the {\it tr} at the
+beginning, use \keyindex{ITrille}$n$\pitchp\ to start the trill and
+\verb|\Ttrille|$n$ to close it.
For example:
@@ -4173,7 +5374,7 @@ For example:
\end{music}
whose coding is
\begin{quote}\begin{verbatim}
-\begin{music}
+\begin{music}\nostartrule
\instrumentnumber{1}
\setstaffs12
\setclef1{6000}
@@ -4190,10 +5391,10 @@ whose coding is
\end{verbatim}\end{quote}
\subsubsection{Piano pedal commands}
- \keyindex{PED} inserts the piano pedal command below the staff; pedal release
-is specified by \keyindex{DEP}; also available are shorter variants of the
-pedal signs which are invoked with \keyindex{sPED} and \keyindex{sDEP}; thus
-the following example
+The macro \keyindex{PED} inserts a piano pedal command below the staff;
+\keyindex{DEP}, a pedal release. Alternate symbols, the first of which
+occupies less space, are invoked with \keyindex{sPED} and \keyindex{sDEP}.
+For example,
\begin{music}
\setclef1\bass
@@ -4210,9 +5411,8 @@ the following example
\Notes\sDEP\enotes
\endextract
\end{music}
- \noindent was coded as: \begin{quote}\begin{verbatim}
- \NOtes\PED\wh J|\qu
-h\enotes
+ \noindent was coded as \begin{quote}\begin{verbatim}
+ \NOtes\PED\wh J|\qu h\enotes
\NOtes|\qu g\enotes
\NOtes|\hu k\enotes
\Notes\DEP\enotes \bar
@@ -4224,74 +5424,120 @@ h\enotes
The vertical position of
\keyindex{PED}, \keyindex{sPED}, \keyindex{DEP} and \keyindex{sDEP} can be
-globally changed by redefining its elevation, which is setup by default to
-
-\verb|\def|\keyindex{raiseped}\verb|{-5}%|
-
-If you only want to change a few of them, you can use the more fundamental
+globally changed by redefining its elevation, which has the default
+definition \verb|\def|\keyindex{raiseped}\verb|{-5}|.
+To locally change the vertical position of a pedal symbol, use one of the more
+fundamental
macros \keyindex{Ped}, \keyindex{sPed}, \keyindex{Dep} and \keyindex{sDep}
in combination with \keyindex{zchar} or \keyindex{zcharnote}.
-
- Since the \hbox to 1cm{ \Ped\hss} symbol is rather wide, it might collide
-with bass notes in an ugly way. Then a solution consists in shifting if to the
-left, by coding \verb|\loff{\PED}|.
+Since the \hbox to .7cm{ \Ped\hss} symbol is rather wide, it might collide
+with adjacent bass notes. To shift it horizontally, you could use \verb|\loff{\PED}|.
\subsubsection{Other ornaments}\index{ornaments}
- \begin{itemize}
- \item \keyindex{mordent}~$p$ for \hbox to .75em{\mordent 0\hss},
- \item \keyindex{Mordent}~$p$ for \hbox to 1.5em{\kern 0.6em\Mordent 0\hss},
- \item \keyindex{shake}~$p$ for \hbox to .75em{\shake 0\hss},
- \item \keyindex{Shake}~$p$ for \hbox to 1.5em{\kern 0.6em\Shake 0\hss},
- \item \keyindex{Shakel}~$p$ for \hbox to 1.5em{\kern 0.6em\Shakel 0\hss},
- \item \keyindex{Shakesw}~$p$ for \hbox to 1.5em{\kern 0.6em\Shakesw 0\hss},
- \item \keyindex{Shakene}~$p$ for \hbox to 1.5em{\kern 0.6em\Shakene 0\hss},
- \item \keyindex{Shakenw}~$p$ for \hbox to 1.5em{\kern 0.6em\Shakenw 0\hss},
- \item \keyindex{turn}~$p$ for \hbox to 1.5em{\kern 0.6em\turn 0\hss},
- \item \keyindex{backturn}~$p$ for \hbox to 1.5em{\kern 0.6em\backturn 0\hss},
- \item \keyindex{fermataup}~$p$ puts a \itxem{fermata} at pitch $p$.
-No spacing occurs.
- \item \keyindex{fermatadown}~$p$ puts a reverse \ital{fermata} at the same
-place.
- \item \keyindex{Fermataup}~$p$ puts a \itxem{fermata} at pitch $p$ centered
-above a whole note. No spacing occurs.
- \item \keyindex{Fermatadown}~$p$ puts a reverse \ital{fermata} at the same
-place.
- \item A big \itxem{breathing} comma can be put above the staff --- to
-indicate where the singer is welcome to breath, or to indicate a short rest
---- using \keyindex{zbreath} (no spacing) or \keyindex{cbreath} (centred in a
-\verb|\noteskip| space). The \musictex\ \keyindex{breath} is no more available
-since it involved a ``hard'' spacing of the width of that character, which
-resulted in troubles with \musixtex.
-
- \item The \keyindex{caesura} command can also be used to insert a small
-slash, such as
+The argument $p$ in the following macros for ordinary ornaments is the
+pitch at which the ornament itself appears. They are all nonspacing macros.
+You may use
+\begin{itemize}\setlength{\itemsep}{0ex}
+ \item \keyindex{mordent}\pitchp\ for \hbox to .75em{\mordent 0\hss},
+ \item \keyindex{Mordent}\pitchp\ for \hbox to 1.5em{\kern 0.6em\Mordent 0\hss},
+ \item \keyindex{shake}\pitchp\ for \hbox to .75em{\shake 0\hss},
+ \item \keyindex{Shake}\pitchp\ for \hbox to 1.5em{\kern 0.6em\Shake 0\hss},
+ \item \keyindex{Shakel}\pitchp\ for \hbox to 1.5em{\kern 0.6em\Shakel 0\hss},
+ \item \keyindex{Shakesw}\pitchp\ for \hbox to 1.5em{\kern 0.6em\Shakesw 0\hss},
+ \item \keyindex{Shakene}\pitchp\ for \hbox to 1.5em{\kern 0.6em\Shakene 0\hss},
+ \item \keyindex{Shakenw}\pitchp\ for \hbox to 1.5em{\kern 0.6em\Shakenw 0\hss},
+ \item \keyindex{turn}\pitchp\ for \hbox to 1.5em{\kern 0.6em\turn 0\hss},
+ \item \keyindex{backturn}\pitchp\ for \hbox to 1.5em{\kern 0.6em\backturn 0\hss}.
+ \end{itemize}
-\begin{music}
+In the following macros for fermatas, the argument $p$ is the pitch of the
+notehead on which the fermata rests, assuming no additional vertical
+adjustments are needed for stems or intervening staff lines. They are all
+nonspacing macros. You may use
+\begin{itemize}\setlength{\itemsep}{0ex}
+ \item \keyindex{fermataup}\pitchp\ for
+\raisebox{0ex}[0ex][0ex]{\notesintext{\notes\fermataup1\en}},
+\end{itemize}
+\begin{itemize}\setlength{\itemsep}{3ex}
+ \item \keyindex{fermatadown}\pitchp\ for
+\raisebox{0ex}[0ex][0ex]{\notesintext{\notes\fermatadown2\en}},
+ \item \keyindex{Fermataup}\pitchp\ for
+\raisebox{-1ex}[-1ex][0ex]{\musicintextnoclef{\notes\Fermataup 7\zwh{'c}\en}}~,
+centered over a whole note,
+ \item \keyindex{Fermatadown}\pitchp\ for
+\raisebox{-1ex}[0ex][0ex]{\musicintextnoclef{\notes\Fermatadown1\zwh{'c}\en}}~,
+centered under a whole note.
+ \end{itemize}
+\bigskip
+
+A \itxem{breath} mark
+\raisebox{-5ex}[0ex][0ex]{\notesintext{\notes\zbreath\en}}
+can be put just above the staff with \keyindex{zbreath}. This is a nonspacing
+macro. On the other hand, \keyindex{cbreath} will cause a space of one
+\verb|\noteskip| and place the comma midway through the space.
+
+The \keyindex{caesura} command inserts a slash \verb|0.5\noteskip| before
+the place it is entered, while adding no space:
+
+\begin{music}\nostartrule
\startextract
\NOTes\zhu j\hl{^e}\caesura\en
\Notes\zcu j\cl e\en
-\endextract
+\zendextract
\end{music}
- \end{itemize}
-
- \subsection{Dynamic signs} Various
-dynamic signs can be posted with
-\keyindex{crescendo}\verb|{|$l$\verb|}| or
-\keyindex{decrescendo}\verb|{|$l$\verb|}|, to be used as arguments to
-\verb|\zcharnote|, \verb|\zchar|, \verb|\uptext|, \verb|\zmidstaff|, etc.
-
-Note: The biggest sign is $\simeq$ 68 mm long.
-
-Alternately they can be produced using the pair of \keyindex{icresc} and
-\keyindex{tcresc} or \keyindex{tdecresc}. Saying one time \verb|\icresc| you
-can force several \verb|\tcresc| or \verb|\tdecresc| with the same starting
-abscissa. Tha altitude of the [de]crescendo symbol is specified, not by the
-\verb|\icresc| macro which only defines the stating abscissa, but by the
-\verb|\tcresc| or \verb|\tdecresc| which is normally lifted up or down by
-means of a \verb|\zmidstaff| or a \verb|\zcharnote| command whose first
-argument has to be adjusted according to your visual needs.
+\subsection{Alphabetic dynamic marks}
+ Conventional dynamic symbols
+\pppp, \ppp, \pp,
+\p,
+\mezzopiano,
+\mf,
+\f,
+\fp,
+\sF,
+\ff,
+\fff\ and
+\ffff\ can be posted using the macros
+\keyindex{pppp},
+\keyindex{ppp},
+\keyindex{pp},
+\keyindex{p},
+\keyindex{mp},
+\keyindex{mf},
+\keyindex{f},
+\keyindex{fp},
+\keyindex{sF},
+\keyindex{ff},
+\keyindex{fff},
+\keyindex{ffff} respectively as the second argument of \verb|\zcharnote| or
+\verb|\ccharnote|.
+
+\subsection{Hairpins (crescendos and decrescendos)}\label{sec:crescnd}
+
+The syntax and properties of hairpins will differ depending on whether or not you
+have input \verb|musixps.tex|, which activates not only type K postscript slurs and
+ties but hairpins as well. The font-based variety are always horizontal,
+are limited in length, and cannot span system breaks. Using the postscript variety
+removes all these restrictions, but they will not be visible in DVI previewers.
+
+\subsubsection{Font-based hairpins}
+
+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
@@ -4303,13 +5549,13 @@ argument has to be adjusted according to your visual needs.
\Notes\zmidstaff{\loff\tcresc}\cmidstaff\fff|\ca{'f}\en
\endextract
\end{music}
-\noindent which was coded as:
-\begin{verbatim}
+\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{verbatim}\end{quote}
+\medskip\noindent while
\begin{music}
\parindent0pt
\generalmeter{\meterfrac{12}8}
@@ -4320,106 +5566,138 @@ argument has to be adjusted according to your visual needs.
\Notes\zcharnote N{\tcresc}\cmidstaff\fff|\zcharnote q{\tcresc}\ca{'f}\en
\endextract
\end{music}
-\noindent which was coded as:
-\begin{verbatim}
+\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}
-
-
- Intensity conventional signs are: \keyindex{ppp},
-\keyindex{pppp},
-\keyindex{ppp},
-\keyindex{pp},
-\keyindex{p},
-\keyindex{mp},
-\keyindex{mf},
-\keyindex{f},
-\keyindex{fp},
-\keyindex{sF},
-\keyindex{ff},
-\keyindex{fff},
-\keyindex{ffff}, resulting in \pppp, \ppp, \pp,
-\p,
-\mezzopiano,
-\mf,
-\f,
-\fp,
-\sF,
-\ff,
-\fff\ and
-\ffff.
+\end{verbatim}\end{quote}
+\subsubsection{Postscript hairpins}
+As already noted, these require that you have input \verb|musixps.tex|.
+Once having done that, you should not try to use font-based hairpins
+because the syntax is incompatible.
+
+Again,
+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
+%\input smallmusixpsx
+\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{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}
\subsection{Length of note stems}
-%\begin{changebar}
+The default length of note stems is the distance of one octave, i.e.
+\verb|7\internote| or 4.66 \keyindex{interbeam}. The default may be changed
+with the macro \keyindex{stemlength}\itbrace{b}\ where $b$ is the length in
+\verb|\interbeam|s.
-Normally, the length of note stems is the distance of one octave, i.e.
-\verb|7\internote|. This is equivalent to 4.66 \keyindex{interbeam}. The
-length of the stems may be changed using the macro \keyindex{stemlength}, e.g.:
-
- \verb|\stemlength{5.2}|
-
- \noindent which will set the stemlength to 5.2 \verb|\interbeam|. The default
- is
-\keyindex{stemlength}\verb|{4.66}|.
-
-Choral music with four voices is often typeset into two staffs. Thus, each
-staff holds two voices, one being typeset with stems up, the other with stems
-down. If the command \keyindex{stemcut} has been previously issued, stems that
-are outside the staff are cut depending on the pitch of the notes. If this is
-not wanted, this feature may be suppressed with the command
-\keyindex{nostemcut}. The default behaviour is \keyindex{stemcut} in plain
-\musixtex, and \keyindex{nostemcut} when {\ttxem{musixcpt.tex}} is invoked.
+The command \keyindex{stemcut} causes stems that extend outside the staff
+to be shortened depending on the pitch of the notes. It is the default
+behavior. To suppress this adjustment, issue the command
+\keyindex{nostemcut}.
Normally, down stems never end above the middle line of the staff and up stems
-never below that line. This extension of the stems may be inhibited for the
-next generated stem using the command \keyindex{stdstemfalse}. There is no
-\keyindex{stdstemtrue} since \keyindex{stdstemfalse} is reset after
-generating each new stem.
-
-%\end{changebar}
+never below that line. The command \keyindex{stdstemfalse} will inhibit this
+adjustment, but only for the next stem generated. There is no command to globally
+suppress this behavior.
+ \subsection{Brackets, parentheses, and oblique lines}\label{brapar}
- \subsection{*Brackets and parentheses}
-
-
-Several brackets and parentheses have been provided for musical typesetting
-needs. These are:
- \begin{itemize}
+Several varieties of brackets, parentheses and oblique lines are provided for
+use within a score.
+ \begin{itemize}\setlength{\itemsep}{0ex}
\item \keyindex{lpar}\verb|{|$p$\verb|}| and
-\keyindex{rpar}\verb|{|$p$\verb|}| which yield small
-parenthesis to enclose notes. These are used for \ital{cautionary} accidentals
-but more comprehensive macros fulfill that specific purpose (see \ref{cautionary})
- \item \keyindex{bracket}\verb|{|$p$\verb|}{|$n$\verb|}| to post square
-brackets of width $n$-internotes at left of a chord. Usually these brackets
-are used on keyboard instruments to specify, either two neighbouring notes
-played with a single finger, or some chord notes to be played with the
-alternate hand.
- \item \keyindex{doublethumb}\verb|{|$p$\verb|}|, to indicate a bracket of
-height 2\verb|\internote|.
+\keyindex{rpar}\verb|{|$p$\verb|}| yield left and right
+parentheses at pitch $p$. They could be used to enclose notes or to build
+\ital{cautionary} accidentals, although the latter are more easily
+obtained with predefined macros (see \ref{cautionary}).
+
+%avrb
+For example,
+
+\begin{tabular}{ll}
+\raisebox{-1.5ex}[0ex][0ex]{\musicintextnoclefn{\notes\bsk\lpar{g}\rpar{g}\hu{g}\sk%
+\loffset{1.5}{\lpar{g}}\loffset{1.5}{\rpar{g}}\loffset{.4}{\sh g}\hu{g}\en}}
+&\begin{tabular}{ll}
+&\verb+\notes\lpar{g}\rpar{g}\hu{g}\sk%+\\
+is coded as&\verb+\loffset{1.5}{\lpar{g}}\loffset{1.5}{\rpar{g}}%+\\
+&\verb+\loffset{.4}{\sh g}\hu{g}\en}+
+\end{tabular}
+\end{tabular}
+%avre
+
+ \item \keyindex{bracket}\verb|{|$p$\verb|}{|$n$\verb|}| posts a
+square bracket to the left of a chord, vertically spanning $n$
+\verb|internote|s.
+ \item \keyindex{doublethumb}\verb|{|$p$\verb|}| indicates a bracket as
+above spanning 2\verb|\internote|s.
\item \keyindex{ovbkt}\verb|{|$p$\verb|}{|$n$\verb|}{|$s$\verb|}| and
\keyindex{unbkt}\verb|{|$p$\verb|}{|$n$\verb|}{|$s$\verb|}|
-draw a bracket over the music starting at the current position at pitch $p$,
-width $n\times$\verb|noteskip| and slope $s$ (1 $\sim$ 1.125[degree]).
-causing no space.
+draw a sloped bracket starting at the current position at pitch $p$,
+with horizontal extent $n$ \verb|noteskip|s and slope $s$ in multiples of
+1-1/8 degree.
\item \keyindex{uptrio}\verb|{|$p$\verb|}{|$n$\verb|}{|$s$\verb|}| and
-\keyindex{downtrio}\verb|{|$p$\verb|}{|$n$\verb|}{|$s$\verb|}|, which are like
-\verb|\ovbkt| but with free definable \keyindex{txt} centers in the middle.
+\keyindex{downtrio}\verb|{|$p$\verb|}{|$n$\verb|}{|$s$\verb|}| are like
+\verb|\ovbkt| but with freely definable \keyindex{txt} centered inside.
- \item \keyindex{varline} $h$ $\ell$ $s$ builds an oblique line of height $h$ (a
-dimension), of length $\ell$ and of slope $s$. Used to build oblique brackets.
-
-This feature is particularly useful for people who want to typeset
-\itxem{baroque} music using the ancient \itxem{ornament codings} rather than
-the modern equivalents. As a compromise, some macros kindly provided by Ian
-{\sc Collier} in Great Britain have slightly been updated and provided.
- \end{itemize}
+ \item \keyindex{varline}\itbrace{h}\itbrace{\ell}\itbrace{s}\ builds an
+oblique line starting at the current horizontal position. It must be used
+inside a zero box, such as for example as the second argument of
+\verb|\zcharnote|. $h$ is the height of the starting point, $\ell$ is the
+length, and $s$ is the slope. It is used in the definitions of some of
+the foregoing macros, and could be used, for example, to construct various
+obscure baroque ornaments made up of diagonal lines.
+\end{itemize}
-For example:
+For example,
\begin{music}
\setstaffs1{2}
@@ -4432,7 +5710,7 @@ For example:
\NOtes\downtrio C16\qu {FH}|\uptrio o14\ql{lm}\en
\endextract
\end{music}
-\noindent
+\noindent is coded as
\begin{quote}\begin{verbatim}
\begin{music}
\setstaffs1{2}
@@ -4443,38 +5721,33 @@ For example:
\NOtes\lpar c\rpar c\qu c\en
\NOtes\unbkt C15\qu {FH}|\ovbkt n14\ql{kl}\en
\NOtes\downtrio C16\qu {FH}|\uptrio o14\ql{lm}\en
-\endextract
+\zendextract
\end{music}
\end{verbatim}\end{quote}
-\begin{remark} if you used \verb|\input musicext| before, pay attention to the
-commands \keyindex{ovbkt} and \keyindex{unbkt}, their parameter meaning has
-changed from \musictex{} to \musixtex.
- \end{remark}
-
- \subsection{New line synchronization of coding}
- The procedure named \keyindex{everystaff} is executed each time a new system
-is typed. It is normally void, but it can be defined (simply by \verb|\def|%
-\keyindex{everystaff}\verb|{...}|) to tell \musixtex\ to post anything
-reasonable at the beginning of each system. It was used in the example
-{NWIDOR} to post octaviation dashed lines at the end of the piece.
-
-Caution should be exercised to call \verb|\everystaff| before
-\verb|\startpiece| if its effect is needed for the first system of the score.
-
- The procedure named \keyindex{atnextline}, normally void, is executed at the
-next computed or forced line break (using
-\keyindex{alaligne} or \keyindex{alapage}). More precisely, it is executed
-after the break and before the next system is typed. Thus it is fit for
-posting new definitions of layout parameters, when no system is
-pending\footnote{Its logic is similar to plain \TeX's \keyindex{vadjust}
-command.}.
-
- \index{tenor violin clef}In some scores, tenor parts are not coded using the
-\ital{bass} clef, but using rather the \ital{violin clef} subscripted by a
-{\tt8}. This is not directly supported by the \keyindex{setclef}
-command, but it can be handled using \keyindex{everystaff} and
-\keyindex{zcharnote}.
-As an example the following score
+
+ \subsection{Forcing activity at the beginning of systems}
+A macro named \keyindex{everystaff} is executed each time a new system
+begins. It is normally void, but it can be defined (simply by \verb|\def|%
+\keyindex{everystaff}\verb|{...}|) to cause \musixtex\ to post anything
+reasonable at the beginning of each system. For it to affect the first system
+in a score, it must be defined \ital{before}
+\verb|\startpiece|.
+
+If a macro named \keyindex{atnextline} is defined at any point in a score,
+it will be executed just once, viz., at the next computed or forced system
+break. More
+precisely, it is executed after the break and before the next system begins.
+Thus it is suitable for redefining layout parameters.
+
+ \index{octave treble clef}In some scores, tenor parts are not coded using the
+\ital{bass} clef, but using rather the \ital{octave treble clef}, which is
+subscripted by a numeral {\tt8}.
+This clef is supported by the clef substitution command
+\keyindex{settrebleclefsymbol}\onen\keyindex{treblelowoct}, as already
+explained in section \ref{treblelowoct}. However, if for some reason you
+aren't happy with the height of the ``8'', it can be posted on selected
+staves at the beginning of every system using \keyindex{everystaff} and
+\keyindex{zcharnote} as follows:
\begin{music}
\instrumentnumber{4}
@@ -4484,9 +5757,9 @@ As an example the following score
&\zchar{-6}{\eightrm\kern-2\Interligne8}\en}%
\startextract
\NOTes\ha{HIJK}&\ha{efgh}&\ha{hijk}&\ha{hmlk}\en
-\endextract
+\zendextract
\end{music}
-\noindent was coded as:
+\noindent The coding is
\begin{quote}\begin{verbatim}
\instrumentnumber{4}
\setclef1\bass
@@ -4498,27 +5771,23 @@ As an example the following score
\endextract
\end{verbatim}\end{quote}
-\noindent{\sl{\bfseries Caution:} the \verb|\everystaff| must be called before
-\verb|startpiece| in order to have that subscript at the first staff.}
-\section{Small and tiny notes}
-Before entering details, let us point out that we are presently concerned with
-typing notes of smaller size than the normal one, without attempting to change
-the interval between the five lines building a single staff. Changing staff
-line interval will be treated in a further section.
- \subsection{Cadenzas and explicit ornaments}
- Ornaments and \itxem{cadenzas} usually need to be written using smaller
-notes\footnote{This is independent of the staff size.}. This can be done
-everywhere by stating \keyindex{smallnotesize} or \keyindex{tinynotesize}.
-Normal note size is restored by \keyindex{normalnotesize}.\index{ornaments}
-
- These macros only have a local scope. Thus, if these macros are invoked
-outside the \verb|\notes...\enotes| pair, the change is valid for
-the rest of the piece unless explicitely modified but, if they are invoked
-inside, their effect is local to the current staff of the current
-\verb|\notes...\enotes| pair.
-As an example, the following excerpt (beginning
+\section{Smaller notes in normal-sized staves}
+Here we describe how to reduce the size of note symbols without changing the
+size of the staff itself. Changing overall staff size will be treated in
+section \ref{staffspacing}.
+
+\subsection{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.}}
+Haydn, J.}},
\begin{music}
\instrumentnumber{2}
@@ -4547,7 +5816,7 @@ Haydn, J.}}
\notes&\sk\tbbl0\tbl0\qb0J|\tbl1\zq c\qb1e\en
\endextract
\end{music}
-\noindent can be coded as:
+\noindent can be coded as
\begin{quote}\begin{verbatim}
\instrumentnumber{2}
\generalmeter{\meterfrac44}
@@ -4573,15 +5842,18 @@ Haydn, J.}}
\notes&\sk\tbbl0\tbl0\qb0J|\tbl1\zq c\qb1e\en
\endextract
\end{verbatim}\end{quote}
- \subsection{Grace notes}
- Grace notes are a special case of small and tiny notes: the difference is
-that they are always coded as eighth notes with an oblique bar over the flag.
-To perform this, special variants of \keyindex{cu} and \keyindex{cl} have been
-provided, namely \keyindex{grcu} and \keyindex{grcl}, with the only difference
-that the flag has been slashed. Using this together with the note reduction
-macro, grace notes (optionally chord grace notes) can be easily coded:
-\begin{music}
+ \subsection{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\enotes
\notes\multnoteskip\smallvalue\smallnotesize\grcu j\enotes
@@ -4589,9 +5861,9 @@ macro, grace notes (optionally chord grace notes) can be easily coded:
\bar
\notes\multnoteskip\tinyvalue\tinynotesize\zq h\grcl j\enotes
\NOTEs\wh i\enotes
-\endextract
+\zendextract
\end{music}
-The previous example was coded as:
+\noindent which was coded as
\begin{quote}\begin{verbatim}
\startextract
\NOTes\hu h\enotes
@@ -4600,76 +5872,137 @@ The previous example was coded as:
\bar
\notes\multnoteskip\tinyvalue\tinynotesize\zq h\grcl j\enotes
\NOTEs\wh i\enotes
+\zendextract
+\end{verbatim}\end{quote}
+
+ \subsection[Ossia]{Ossia\texorpdfstring{\protect\footnote{(Italian 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}
- \subsection{Other note shapes}\label{othernotes} The classical note heads
-given above --- namely \raise.5ex\hbox{\musixchar7}~~, \raise.5ex
-\hbox{\musixchar8}~~ and \raise.5ex\hbox{\musixchar9}~~~
---- can be replaced with less classical note heads, for example to code
-special \itxem{violin harmonic notes} or \itxem{percussion music}. See an
-example in \ref{abnormalscores}.
-
- At present time, alternate available note heads can be found in the
-extension library, see \ref{diam}, \ref{perc}, \ref{gregnotes} and \ref{litu}.
-
-\section{Staff size} \index{staff size}
- \subsection{Moving from 20pt to 16pt, 24pt or 29pt staff sizes and
-conversely}
- You also want to write some parts of your score in 20pt
-staff size and others in 16pt or 24pt or 28.8pt staff size, namely
-for distinct parts of pieces. Changing the \ixem{general staff size}
-is done by saying:
-
-\keyindex{smallmusicsize}, or \keyindex{normalmusicsize}, or
-\keyindex{largemusicsize}, or \keyindex{Largemusicsize}.
-
-\noindent respectively.
- \subsection{Changing staff size for certain instruments}\label{staffspacing}
-Regardless of the general choice of \verb|\smallmusicsize| or
-\verb|\normalmusicsize|, it is now possible to assign certain instruments --
-not separate staffs belonging to a same instrument -- to have narrower or larger
-\itxem{staff size}, i.e. narrower or larger \itxem{staff spacing}. This is done using
-
-\keyindex{setsize} $n$\verb|{|\ital{size}\verb|}|
-
-\noindent where $n$ is the number of the instrument considered. Five different
-\ital{sizes} are available as standards: \keyindex{normalvalue}, which is
-the default, \keyindex{smallvalue} (0.80 times narrower),
-\keyindex{tinyvalue} (0.64 times narrower), \keyindex{largevalue} (1.2 times
-larger) and \keyindex{Largevalue} (1.44
-times larger). But, if you know perfectly what
-you are doing, you can also say:
-
-\verb|\setsize 3{2.0}|
-
-\noindent which will provide the third instrument with staffs of spacing
-twice the standard value. In that case, \musixtex\ will use the nearest
-symbol size available, but this is likely to be rather ugly.
-
- An alternate
-and equivalent coding --- a remnant from \musictex\ --- could be:
-
-\verb|\def\staffspacingiii{2.0}|\zkeyindex{staffspacing}
-
-
-
-\verb|\setsize| must be invoked before the starting command
-\verb|\startpiece|, since this statement does not only change the vertical
-spacing between staff lines, but it also changes the size of the key,
-accidental and note symbols to fit the modified staff line spacing.
-
- However, it must be emphasized that non-standard staff spacings use the
-nearest available font size. This make no serious problem for notes and
-accidentals which may be slightly too small or too big, but clefs and rests
-may appear to be shifted upwards or downwards. This trouble is progressively
-removed, but it requires changing the {\tt musix*} fonts, with some possible
-characters forgotten... or the fact that user uses a font older than T.60
-version.
+
+%
+% Why is this here?? DAS 4/30/06
+%
+% \subsection{Other note shapes}\label{othernotes}
+% The classical note heads
+%given above --- namely \raise.5ex\hbox{\musixchar7}~~, \raise.5ex
+%\hbox{\musixchar8}~~ and \raise.5ex\hbox{\musixchar9}~~~
+%--- can be replaced with less classical note heads, for example to code
+%special \itxem{violin harmonic notes} or \itxem{percussion music}. See an
+%example in \ref{abnormalscores}.
+%
+% At present time, alternate available note heads can be found in the
+%extension library, see \ref{diam}, \ref{perc}, \ref{gregnotes} and \ref{litu}.
+
+\section{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
-Johann-Sebastian Bach's \ital{Well Tempered Clavier} (transcription for
-organ, violin and voice, thanks to Markus {\sc Veittes}):\label{avemaria}
+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}
@@ -4742,330 +6075,196 @@ organ, violin and voice, thanks to Markus {\sc Veittes}):\label{avemaria}
\notes|\ibbu2i0\qb2{kfh}\tqh2k&\qp&\qp\enotes
\endpiece
\end{verbatim}\end{quote}
-\section{Layout parameters}
+
+\section{Layout parameters}\label{LayoutParameters}
Most layout parameters are set by \musixtex\ to reasonable default values.
-However, sophisticated scores\footnote{To our knowledge, the most complicated
-scores are those written for the piano, during the romantic and post-romantic
-periods.} may need more place below the lowest staff, between staves, etc.
-\def\nochange{(\ital{NOT to be changed})} We give below a short list of the
-most significant parameters.
+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.
+
\subsection{List of layout parameters}
- \begin{remark} the mention ``\nochange'' does not mean that this parameter
-cannot be changed, but that it should not be modified directly, e.g.\ by
-saying something like \verb|\Interligne=14pt|. In other words, changing these
-parameters must be performed using more comprehensive macros which not only
-update them but also perform some other compulsory related changes.
- \end{remark}
-
-\begin{description}
- \item[\keyindex{Interligne} :]vertical distance between the base of staff
-lines of the current instrument, taking no account of a possible specification
-of \keyindex{setsize$n$} \nochange.
- \item[\keyindex{internote} :]the vertical spacing of contiguous notes of
-the current instrument, taking account of a possible specification of
-\keyindex{setsize$n$} \nochange.
- \item[\keyindex{Internote} :]the vertical spacing of contiguous notes of
-the instrument(s) whose \keyindex{setsize$n$} has the \ital{default
-value} of one (\keyindex{normalvalue}),
-i.e.\ the half of \verb|\Interligne| \nochange
-
- \item[\keyindex{staffbotmarg} :]margin below the first staff of the lowest
-instrument. Changes are recognized at the next system and default is
-\verb|3\Interligne|.
- \item[\keyindex{stafftopmarg} :]margin above the upper staff of the upper
-instrument. Changes are recognized at the next system and default is
-\verb|3\Interligne|.
+ 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.
+ \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{interportee} :]the distance between the bottom of one staff and
-the bottom of the next one. It is set to
-\verb|2|\keyindex{interstaff}\verb|\internote| at the next system.
-Therefore, trying to change \verb|\interportee| will have no effect.
- %\check
- \item[\keyindex{interinstrument} :]the additional vertical distance between
-two different instruments. This means that the distance between the upper
-staff of the previous instrument and the lowest line of the current
-instrument is equal to \keyindex{interportee+\Bslash interinstrument}. This
-value is normally zero, but it helps putting additional space between
-distinct instruments for the sake of clarity. This is a general dimension
-register which holds for each of the vertical spaces between instruments,
-except above the upper one, in which case this interval is irrelevant.
-As usual in \TeX, it can be set using a command such as
-
- \verb|\interinstrument=10pt|
-
- \noindent or
-
- \verb|\interinstrument=6\internote|
-
-
- However, this general parameter can be overridden for the space above a
-specific instrument. For example (see the example {\tt angescao.tex}) one can
-state:
-
-\keyindex{setinterinstrument} $n$\verb|{1\Interligne}|
-
-\noindent to force an additional spacing of one \verb|\Interligne|
-above instrument $n$, whatever the value of \keyindex{interinstrument}.
- This feature can usefully be used to have more space before instruments
-representing \itxem{voices}, in order to have enough place to put
-\itxem{lyrics} without assigning these lyrics a zero staff specific instrument
-(useful to avoid having too many declared instruments in a choir score).
-
- The \verb|\setinterinstrument| is identical to the ancient --- and still
-working --- \musictex\ command:
-
- \verb|\def|\keyindex{interinstrumentiii}\verb|{5\interligne}|
-
- \noindent to add 5\verb|\interligne| above the 3rd instrument.
- %\check
-
+\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|.
+\item[\keyindex{interportee} :]distance between the bottom of one staff and
+the bottom of the next one. It is always reset to
+\verb|2|\keyindex{interfacteur}\verb|\internote| at the next system.
+Therefore, trying to change \verb|\interportee| will have no effect. Change
+\verb|\interstaff| instead. Further, note that \verb|\interstaff| applies to all the
+instruments, but each distinct instrument may have a different
+\verb|\internote| (see \ref{staffspacing}).
- \item[\keyindex{systemheight} :]the distance from the bottom of the
-lowest staff to the top of the highest staff of the upper instrument. This is
-the height of the vertical bars (single, double, repeats, etc.) \nochange.
+\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 \keyindex{interportee+\Bslash 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{itemize}
- \item\keyindex{altplancher} : the altitude of the lowest line of the lowest
+
+\begin{description}\setlength{\itemsep}{0ex}
+ \item[\keyindex{altplancher} :]altitude of the lowest line of the lowest
instrument \nochange.
- \item\keyindex{altitude} : the altitude of the lowest line of the lowest
+ \item[\keyindex{altitude} :]altitude of the lowest line of the lowest
staff of the current instrument \nochange.
- \item\keyindex{altportee} : the altitude of the lowest line of the current
+ \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} : a parameter defining the size of half, quarter
-and hooked eighth notes stems. Normally a stem has the length of one octave,
-i.e. 3.5\keyindex{Interligne}. However, this is not valid for small size
-notes and, therefore, the stem size is related to the \keyindex{interbeam}
-dimensions which, in turn, is \ital{normally} equal to 0.75
-\keyindex{Interligne}. Thus the normal value of \keyindex{stemfactor} is
-4.66, but it can be shortened for any purpose by saying, for example:
-
- \keyindex{stemlength}\verb|{3.5}|
-\end{itemize}
- \subsection{Changing layout parameters}
- Most of these values can be changed, but only between the end of the
-previous system and the beginning of the next one. This can be inserted
-between a \keyindex{stoppiece} (or a \keyindex{endpiece})
-and a \keyindex{contpiece} (or a \keyindex{startpiece}), but it is
-wiser to say, for example:
-
-\verb|\def\atnextline{\stafftopmarg=5\Interligne}|
-
- The user may prefer to change \keyindex{staffbotmarg} or
-to feed \keyindex{interstaff} with a
-given integer number, but this can be done only between a
-\keyindex{stoppiece} (or a \keyindex{endpiece}) and a
-\keyindex{contpiece} (or a \keyindex{startpiece}), but it is wiser to use
-\keyindex{atnextline} as previously.
-
- It is also wise to use \keyindex{atnextline} to change the
-number of instruments, the staff spacings, the number of staffs at the next
-line... provided that the coding of the notes \ital{resists} an unexpected
-line change executing the \keyindex{atnextline}.
- \subsection{Changing the staff distance within systems} The vertical
-distance of instruments with more than one staff can be changed, either
-outside \verb|\startpiece|...\verb|\endpiece| or using \keyindex{atnextline},
-by saying:
-
-\keyindex{interstaff}\verb|{|$n$\verb|}|
-
- Then the spacing between the staffs of the instruments will be
-$n$\verb|\internote|. Note that \verb|\interstaff| applies to all the
-instruments, but each distinct instrument may have a different
-\verb|\internote| (see \ref{staffspacing}).
-
- Note that this command is equivalent to an existing remnant of \musictex,
-namely:
-
- \verb|\def|\keyindex{interfacteur}\verb|{|$n$\verb|}|
-
-
- \medskip The distance between two different
-instruments can be increased by saying
-
-\keyindex{interinstrument}\verb|=|\ital{any \TeX-dimension}
-
-\noindent for all additional inter-instrument distances, or
-
-\keyindex{setinterinstrument} $n$\verb|{|\ital{any \TeX-dimension}\verb|}|
-
-\noindent for single distances.
- \subsection{Changing the number of lines in staffs}\index{staff line number}
-\label{stafflinenumber}
-Unless explicitely specified, staffs consist of five lines, in accordance to
-the normal way of coding music scores. However, exceptions might be
-preferred when using \musixtex~:
-
-\begin{itemize}
- \item \itxem{gregorian music} is often written using staff of
-four lines instead of five\footnote{German: \ital{Quadratnotation}.},
- \item \itxem{percussion music} (e.g.~drums, triangle) needs one, two, three
- or five lines, since the pitch cannot change but the number of percussion
- instruments.
- \item \itxem{guitar tablature} needs six lines. Although \ital{real} guitar
- players hate guitar tablature,
- for beginners they are a big help. Not ready yet. The lines
- are, but not the additional macros.
-
- \item Early baroque music sometimes uses staffs with 6, 7, or 8 lines.
-
- \end{itemize}
+ \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. 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 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}
- Therefore \musixtex\ allows for choosing the number of lines of
-the staffs of an instrument. This is done by
-\keyindex{setlines}~$n$\verb|{|$N$\verb|}| --- where $n$ is the number of the
-wanted instrument as usual --- and $N$ the number of lines of the specific
-staff. Allowed numbers are up to 9 lines. For example:\label{gregorian}
-
-\keyindex{setlines}\verb|2{4}|
+ \subsection{A convenient macro for changing layout parameters in mid-score}
+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|.
+
+ \subsection{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.
-\noindent will make the instrument number 2 to have staffs of four
-lines, that is, fit for gregorian music.
\subsection{Resetting normal layout parameters}
- Except the general size which
-has to be explicitely changed if needed using \keyindex{smallmusicsize},
+The general size can only be changed with one of the commands
+\keyindex{smallmusicsize},
\keyindex{normalmusicsize}, \keyindex{largemusicsize}, or
-\keyindex{Largemusicsize}, all layout registers are reset to \ixem{default
-values} by \keyindex{resetlayout}, which are explicitly:
-
- \begin{itemize}
- \item \keyindex{staffbotmarg} and \keyindex{stafftopmarg} are set to
-\verb|3\Interligne|.
- \item \keyindex{interstaff} is set to \verb|9|.
- \item The number of lines of all instruments are reset to 5.
- \item All clef symbols are standard clef symbols.
-\end{itemize}
-\noindent
-Besides, saying \keyindex{begin\LBR music\RBR} invokes \verb|\resetlayout|.
- \subsection{Typesetting one-line excerpts rather than large scores}
-Very often, what is wanted is not to typeset a large comprehensive score of
-several lines and pages, but an excerpt of one or two bars, preferably
-centered such as the various examples of this manual. This can be done simply
-by replacing \keyindex{startpiece} with
-\keyindex{startextract} and \verb|\endpiece| or \verb|\stoppiece| with
-\keyindex{endextract}. It is sometimes useful to get more than one excerpt in
-one line, this can be done with redefining of \keyindex{extractline}.
-
-With saying:
-
-\keyindex{let\Bslash extractline\Bslash hbox}
-
-\noindent you can put more than one example in one line. Helpful for getting
-\itxem{musical footnotes}, which explain the playing of special trills or
-give alternative ways of playing, is the redefining to:
-
-\keyindex{let\Bslash extractline\Bslash leftline}
-
-Besides, all changes inbetween
-\keyindex{begin\LBR music\RBR}...\keyindex{end\LBR music\RBR} are local,
-means not global.
+\keyindex{Largemusicsize}. Beyond that, the command
+\keyindex{resetlayout} will reset the following key layout parameters
+to their default values: \keyindex{staffbotmarg} (3\verb|\Interligne|),
+\keyindex{stafftopmarg} (3\verb|\Interligne|), \keyindex{interstaff} (9),
+ number of lines per staff for all instruments (5); and will reset all clef
+symbols to standard clef symbols.
+
+% The whole subsection on excerpts should go with "MusiXTeX and LaTeX", currently 2.25
+% \subsection{Typesetting one-line excerpts rather than large scores}\label{excerpts}
+
+% All the old lyrics stuff should be deleted, with a reference to some older version of
+% musixdoc.
+
+\section{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 on the older methods, who are still usefull when
+only a small number of words are involved.
+
+\subsection{Native lyrics method: placing single words}
+\subsubsection{Native \musixtex\ commands for lyrics}
+ \begin{enumerate}\setlength{\itemsep}{0ex}
+ \item An obvious solution consists in using the commandc
+\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.
- If you want to terminate it without a bar, you code
-\keyindex{zendextract} which acts like \verb|\zstoppiece|.
- \subsection{*Lyrics}\index{lyrics}\label{lyrics}
- While they pose nearly no problem with \musictex\ which works using the glue
-facility of \TeX, lyrics raise several serious difficulties with \musixtex.
-The reason for that is that lyrics usually consist of \ital{text} which in
-turn consists of characters whose width is definitely not stretchable nor
-shrinkable proportionally to \verb|\noteskip| or \verb|\elemskip|.
+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|~.
- Thus the width of a sequence of notes like
+\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|~.
- \begin{music}
- \startextract
- \NOTEs\zcharnote{-5}{Words }\qu h\en
- \endextract
- \end{music}
+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|~.
- \noindent may be either the width of ``{\tt Words }'' with the current font,
-or it may be \verb|1\elemskip|, whatever the largest. In the first case, the
-width is fixed (see \keyindex{hardspace}), in the second its width is not the
-same at \musixtex's first and second passes. But the unfortunate situation is that
-\musixtex\ \ital{must} know whether this feature has a \ital{hard} (not scalable)
-or a \ital{scalable} width \ital{at the first pass}, while the inequality
-is solved only at the second.
-
- This means that, in addition to the three pass system, the user must run
-trial and errors to find out whether some lyrics are wider than the final note
-spacing, or smaller. In that case a wrong decision might lead to questionable
-``\verb|Underfull hbox|''-es filled with ugly glue, or it may result in
-awful ``\verb|Overfull hbox|'' with its heavy bar punishment and possible
-over writings.
-
- However, before discussing this problem, we first describe the various ways of
-inserting lyrics under --- or above --- a staff.
-
- \subsubsection{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}.
-
- \subsubsection{Posting lyrics}
- Lyrics can be introduced in several ways.
- \begin{enumerate}
- \item One archaic solution could be to define a special instrument for the lyrics
-text, without effective staff, namely using the command
-\keyindex{setstaffs}~$n$\verb|{|$p$\verb|}| described in \ref{whatspecify}.
-The inconvenience of this solution is that it increases the number of
-instruments, which is limited to 6 in standard \musixtex, although it can be
-increased to 9 using {\tt musixadd.tex} and 12 with {\tt musixmad.tex}.
-
- \medskip
- Therefore, better solutions consist is posting the lyrics in the same
-instrument as the tune, provided that inter-instrument spacing has been
-adapted.
-
- \item Another simple obvious solution consists in using the command
-\keyindex{zcharnote} 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. It
-could also be specified like a note pitch, for example ``{\tt a}'' if the song
-is in G-clef. The drawback is that the pitch has to be repeated for each text
-of each note, which is tideous unless a special macro has been defined.
-
- \item Rather than \verb|\zcharnote| and other \verb|\?charnote| commands, one
-should rather use \keyindex{zchar}, \keyindex{cchar} (centered) or
-\keyindex{lchar} (expanded to left) which only allow absolute numbers
-(internally multiplied by {\Bslash internote}). These command have the same
-drawback as above, namely the vertical position has to be repeated each time.
-
- \item Of easier use are the commands \keyindex{zsong} (right of the note),
+\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}
+%\begin{center}
\keyindex{zsong}\verb|{|\ital{text}\verb|}|\quad
\keyindex{lsong}\verb|{|\ital{text}\verb|}|\quad
\keyindex{csong}\verb|{|\ital{text}\verb|}|
-\end{center}
-
+%\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}
-
- \medskip As an example, the following French song
-
+As an example, the following French song\\
\begin{music}
\generalsignature{1}
\startextract
@@ -5088,919 +6287,570 @@ any specific $n$-th instrument until further change using
\end{music}
\noindent was coded as:
-
\begin{quote}\begin{verbatim}
\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{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
- \endextract
+ \zendextract
\end{verbatim}\end{quote}
+\end{enumerate}
+\subsubsection{Adapting note spacing for lyrics}
- You can also use the macros from \verb|musixcho.tex|, which result in the
-same vertical positionning as \keyindex{zsong} and other \verb|\?song| do, but
-the text of the lyrics are better justified around the related note.
-
- \end{enumerate}
-
- \subsubsection{Handling lyrics width versus scalable note spacings}
-
- If one uses either \verb|\zsong| or \verb|\csong| or \verb|\lsong| without
-caution, one will probably get awful things such as:
+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}
- \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}
+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}
- \noindent which is the same example as above, with all spacings divided by
-1.41. Although locating ``overfull'' lyrics seems easy, it might be wiser to
-force their visibility, which is done replacing \verb|\zsong| with
-\keyindex{hsong} which encloses the hazardous text in a \verb|\hbox| of width
-\verb|\noteskip|, whose overfilling is diagnosed as usual by Plain \TeX\ or
-(especially in \LaTeX) by means of the \verb|\overfullrule=...| command:
+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|'.
- \begin{music}
- \generalsignature{1}
- \startextract
- \overfullrule 3pt%
- \geometricskipscale
- \Notes\hsong{Au }\qu g\en
- \Notes\hsong{clair }\qu g\en
- \Notes\hsong{de }\qu g\en
- \Notes\hsong{la }\qu h\en
- \bar
- \NOtes\hsong{lu- }\hu i\en
- \NOtes\hsong{ne, }\hu h\en
- \bar
- \Notes\hsong{mon }\qu g\en
- \Notes\hsong{a- }\qu i\en
- \Notes\hsong{mi }\qu h\en
- \Notes\hsong{Pier- }\qu h\en
- \bar
- \NOTes\hsong{rot, }\wh g\sk\en
- \endextract
- \end{music}
+ 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
+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.
- Once one has diagnosed --- in the tentative final layout --- which lyrics
-lead to overfull texts, several corrections may be tried:
-
-\begin{enumerate}
- \item Increase the \keyindex{mulooseness} to have wider note spacing. This
-may work, but the inconvenience is that all notes would be stretched, and not
-only the faulty notes.
- \item Increase specific note spacings, replacing for example \verb|\Notes|
-with \verb|\NOtes| or \verb|\Notesp|. This is the easiest solution which may
-require several trials and errors since an increase of a few notes in a system
-may lead to a small shrinking of the others, to keep the total length
-constant.
- \item Decide that some notes --- only ``some'' notes, not all notes of the
-score, neither all the notes of a given system --- would have a \itxem{hard
-spacing} and not a scalable spacing. This is done using the command
-
- \begin{quote}
- \keyindex{hardnotes}\ital{ any hard \TeX\ dimension }\verb|\notes|\ital{
-normal note specif. }\verb|\en|
- \end{quote}
- \noindent which ends the \verb|\notes...\en| with a \itxem{hard spacing} (see
-\verb|\hardspace| in \ref{hardspace}, p. \pageref{hardspace}) rather than a
-scalable spacing.
-
- A more practical variant has been provided especially for lyrics, namely
-
- \begin{quote}
- \keyindex{hardlyrics}\ital{ any text }\verb|\notes|\ital{
-normal note specif. }\verb|\en|
- \end{quote}
- \noindent which computes the width of ``any text'' by putting it in a
-\verb|\hbox| and reverting to \verb|\hardnotes| to perform the remainder of the
-task. In order to save repetitions, the text of the lyrics which has been used
-to compute the hard note spacing can be retrieved under the command name
-\keyindex{thelyrics}. \verb|\hardlyrics| must be followed by \verb|\notes|
-(with the lyrics text inbetween), not by \verb|\Notes| nor \verb|\NOtes|, etc.
-
-
- Besides, since moving the lyrics text between \verb|\hardlyrics| and
-\verb|\notes|\footnote{{\Bslash notes}, neither {\Bslash Notes} nor {\Bslash
-NOtes} nor {\Bslash NOTes} etc.} together with replacing it with
-\keyindex{thelyrics} at the initial location is a rather tedious operation
-with text editors, another command has been provided, namely
-\keyindex{softlyrics}:
-
- \verb|\softlyrics{|\ital{ any text }\verb|}|
-
- \noindent defines \verb|\thelyrics| to be ``\ital{ any text }'', so that
-going from \verb|\hardlyrics| to the default scalable behaviour of
-\verb|\noteskip| and inversely can easily be done by changing \verb|\hard|
-into \verb|\soft| in the source text, with optional change of the number of
-uppercase letters in \verb|\notes|.
-
-
-
- \medskip\begin{important} since \/\verb|\hardlyrics| computes
-\/\verb|\noteskip|, its argument (before \/\verb|\notes|) may not refer to
-\/\verb|\noteskip|... which is not already computed.
- \end{important}
- \end{enumerate}
-
- \subsubsection{A more comprehensive example of lyrics}
- Here is an example taken from the French catholic liturgy (a French
-translation of the traditional \ital{Gloria in excelsis Deo}). We give first
-the adapted source of a part of the score:
-
+\subsection{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 file in your source code:
\begin{quote}\begin{verbatim}
-\overfullrule 3pt
-\instrumentnumber{1}
-\setstaffs11
-%
-\generalsignature{-1}\relax % one flat
-\generalmeter{\meterfrac{2}{2}}
-%
-\staffbotmarg=5\Interligne\stafftopmarg=1.5\Interligne
-\startpiece
-\setsongraise1{2\Interligne}%
-\znotes\uptext{\kern -9mm\raise 9pt\hbox{\bigtype
- Majestueux, sans tra\^\i ner \rm(\metron{\hu}{50})}}\enotes
-\hardlyrics {\kern-5pt Gloire }\notes\hsong{\thelyrics }\cu c\enotes
-\notes\hsong{\`a }\cu c\enotes
-\barre
-\NOTes\hsong{Dieu~}\hu f\enotes
-\notes\hsong{au}\cu f\enotes
-\hardlyrics{plus~}\notes\hsong{\thelyrics }\cu f\enotes
-\hardlyrics{haut~}\notes\hsong{\thelyrics }\cu g\enotes
-\notes\hsong{des}\cu g\enotes
-\barre
-\NOtes\hsong{cieux~}\qup h\enotes
-\notes\hsong{et~}\cu h\enotes
-\hardlyrics{paix~}\notes\hsong{\thelyrics }\qu i\enotes
-\hardlyrics{sur~}\notes\hsong{\thelyrics }\cu h\enotes
-\notes\hsong{la~}\cu g\enotes
-\barre
-\Notes\hsong{ter-}\qu f\enotes
-\notes\hsong{re~}\cu f\enotes
-\hardlyrics{aux~}\notes\hsong{\thelyrics}\cu f\enotes
-\hardlyrics{hom- }\notes\hsong{\thelyrics}\qu g\enotes
-\hardlyrics{mes~}\notes\hsong{\thelyrics }\cu h\enotes
-\hardlyrics{qu'il~}\notes\hsong{\thelyrics }\cu i\enotes
-\barre
-\NOtes\hsong{ai-}\hu g\enotes
-\Notes\hsong{me.}\hu f\enotes
-\Notes\uptext{\bf II }\enotes
-\barre
-\hardlyrics{Nous~}\notes\hsong{\thelyrics}\qu h\enotes
-\notes\hsong{Te~}\cu g\enotes
-\notes\hsong{lou-}\cu g\enotes
-\NOtes\hsong{ons,}\hu h\enotes
-\barre
-\hardlyrics{nous~}\notes\hsong{\thelyrics }\cu h\enotes
-\notes\hsong{Te~}\cu h\enotes
-\notes\hsong{b\'e-}\cu j\enotes
-\notes\hsong{nis-}\cu j\enotes
-\NOtes\hsong{sons,}\hu h\enotes
-\barre
-\Notes\hsong{nous~}\qu h\enotes
-\NOtes\hsong{t'a-}\hu g\enotes
-\Notes\hsong{do-}\qu f\enotes
-\barre
-\NOtes\hsong{rons,~}\hu f\enotes
-\notes\uptext{\bf I}\enotes
-\hardlyrics{nous~}\notes\hsong{\thelyrics }\cu h\enotes
-\notes\hsong{Te~}\cu h\enotes
-\notes\hsong{glo-}\cu g\enotes
-\notes\hsong{ri-}\cu g\enotes
-\barre
-\NOTEs\hsong{fions,~}\hu h\enotes
-\hardlyrics{\kern -4pt nous~}\notes\hsong\thelyrics\cu h\enotes
-\notes\hsong{Te~}\cu h\enotes
-\notes\hsong{ren-}\cu h\enotes
-\notes\zsong{dons~}\cu i\enotes
-\barre
-\NOtes\hsong{gr\^a~-}\qu g\enotes
-\notes\hsong{ces~}\cu g\enotes
-\hardlyrics{pour~}\notes\hsong\thelyrics\cu g\enotes
-\hardlyrics{Ton~}\notes\hsong\thelyrics\cu h\enotes
-\notes\hsong{im-}\cu i\enotes
-\hardlyrics{men-}\notes\hsong\thelyrics\cu j\enotes
-\notes\zsong{se~}\cu k\enotes
-\barre
-\Notes\hsong{gloi-}\ql j\enotes
-\Notes\hsong{-}\ql i\enotes
-\Notes\hsong{re~!}\qu h\enotes
-\notes\uptext{\bf II}\enotes
-\notes\hardlyrics{Sei-}\hsong\thelyrics\cu h\enotes
-\notes\zsong{gneur~}\cu i\enotes
-\barre
-\hardlyrics{Dieu,~}\notes\hsong\thelyrics\qu j\enotes
-\hardlyrics{Roi~}\notes\hsong\thelyrics\cu h\enotes
-\notes\hsong{du~}\cu g\enotes
-\Notes\hsong{Ciel,~}\qu h\enotes
-\hardlyrics{Dieu~}\notes\hsong\thelyrics\cu h\enotes
-\notes\zsong{le~}\cu g\enotes
-\barre
-\hardlyrics{P\`e-~}\notes\thelyrics\hsong\cu h\enotes
-\notes\hsong{re~}\cu i\enotes
-\hardlyrics{tout-}\notes\hsong\thelyrics\cu g\enotes
-\hardlyrics{puis-}\notes\hsong\thelyrics\cu h\enotes
-\hardlyrics{sant~!}\notes\hsong\thelyrics\qup h\enotes
-\notes\uptext{\bf I}\enotes
-\notes\zsong{Sei-}\cu h\enotes
-\mulooseness 2%
-\stoppiece
+\input musixtex
+\input musixlyr
+...
\end{verbatim}\end{quote}
- The result clearly shows the inequality between note spacings,
-some of them forced by lyrics length, some others related to the
-value of \verb|\elemskip| choosen by {\tt musixflx} according to the
-given value of \keyindex{mulooseness}. Note that \verb|\zsong| still has been
-used for lyrics followed by a bar, since their extension across the bar is
-usually harmless.
-
+The manual, the input file and a few examples can be downloaded as
+compact musixlyr packet
+\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 you can find an overview
+of the commands and an example of use.
+
+\def\keyexample#1{\keyindex{#1}}
+
+\noindent\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 '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 2mm 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 2 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 extent to the left margin\\
+\end{tabbing}
+
+As a further illustration of the use of the commands, have a look at the following
+example\footnote{The example is taken from the musixlyr manual.}:
+
+\medskip\medskip
+%\oneversespace
\begin{music}
-\small
-\overfullrule 3pt
-\instrumentnumber{1}
-\setstaffs11
-%
-\generalsignature{-1}\relax % one flat
-\generalmeter{\meterfrac{2}{2}}
-%
-\staffbotmarg=5\Interligne\stafftopmarg=1.5\Interligne
-\startpiece
-\setsongraise1{2\Interligne}%
-\znotes\uptext{\kern -9mm\raise 9pt\hbox{\bigtype
- Majestueux, sans tra\^\i ner \rm(\metron{\hu}{50})}}\enotes
-\hardlyrics {\kern-5pt Gloire }\notes\hsong{\thelyrics }\cu c\enotes
-\notes\hsong{\`a }\cu c\enotes
-\barre
-\NOTes\hsong{Dieu~}\hu f\enotes
-\notes\hsong{au}\cu f\enotes
-\hardlyrics{plus~}\notes\hsong{\thelyrics }\cu f\enotes
-\hardlyrics{haut~}\notes\hsong{\thelyrics }\cu g\enotes
-\notes\hsong{des}\cu g\enotes
-\barre
-\NOtes\hsong{cieux~}\qup h\enotes
-\notes\hsong{et~}\cu h\enotes
-\hardlyrics{paix~}\notes\hsong{\thelyrics }\qu i\enotes
-\hardlyrics{sur~}\notes\hsong{\thelyrics }\cu h\enotes
-\notes\hsong{la~}\cu g\enotes
-\barre
-\Notes\hsong{ter-}\qu f\enotes
-\notes\hsong{re~}\cu f\enotes
-\hardlyrics{aux~}\notes\hsong{\thelyrics}\cu f\enotes
-\hardlyrics{hom- }\notes\hsong{\thelyrics}\qu g\enotes
-\hardlyrics{mes~}\notes\hsong{\thelyrics }\cu h\enotes
-\hardlyrics{qu'il~}\notes\hsong{\thelyrics }\cu i\enotes
-\barre
-\NOtes\hsong{ai-}\hu g\enotes
-\Notes\hsong{me.}\hu f\enotes
-\Notes\uptext{\bf II }\enotes
-\barre
-\hardlyrics{Nous~}\notes\hsong{\thelyrics}\qu h\enotes
-\notes\hsong{Te~}\cu g\enotes
-\notes\hsong{lou-}\cu g\enotes
-\NOtes\hsong{ons,}\hu h\enotes
-\barre
-\hardlyrics{nous~}\notes\hsong{\thelyrics }\cu h\enotes
-\notes\hsong{Te~}\cu h\enotes
-\notes\hsong{b\'e-}\cu j\enotes
-\notes\hsong{nis-}\cu j\enotes
-\NOtes\hsong{sons,}\hu h\enotes
-\barre
-\Notes\hsong{nous~}\qu h\enotes
-\NOtes\hsong{t'a-}\hu g\enotes
-\Notes\hsong{do-}\qu f\enotes
-\barre
-\NOtes\hsong{rons,~}\hu f\enotes
-\notes\uptext{\bf I}\enotes
-\hardlyrics{nous~}\notes\hsong{\thelyrics }\cu h\enotes
-\notes\hsong{Te~}\cu h\enotes
-\notes\hsong{glo-}\cu g\enotes
-\notes\hsong{ri-}\cu g\enotes
-\barre
-\NOTEs\hsong{fions,~}\hu h\enotes
-\hardlyrics{\kern -4pt nous~}\notes\hsong\thelyrics\cu h\enotes
-\notes\hsong{Te~}\cu h\enotes
-\notes\hsong{ren-}\cu h\enotes
-\notes\zsong{dons~}\cu i\enotes
-\barre
-\NOtes\hsong{gr\^a~-}\qu g\enotes
-\notes\hsong{ces~}\cu g\enotes
-\hardlyrics{pour~}\notes\hsong\thelyrics\cu g\enotes
-\hardlyrics{Ton~}\notes\hsong\thelyrics\cu h\enotes
-\notes\hsong{im-}\cu i\enotes
-\hardlyrics{men-}\notes\hsong\thelyrics\cu j\enotes
-\notes\zsong{se~}\cu k\enotes
-\barre
-\Notes\hsong{gloi-}\ql j\enotes
-\Notes\hsong{-}\ql i\enotes
-\Notes\hsong{re~!}\qu h\enotes
-\notes\uptext{\bf II}\enotes
-\hardlyrics{Sei-}\notes\hsong\thelyrics\cu h\enotes
-\notes\zsong{gneur~}\cu i\enotes
-\barre
-\hardlyrics{Dieu,~}\notes\hsong\thelyrics\qu j\enotes
-\hardlyrics{Roi~}\notes\hsong\thelyrics\cu h\enotes
-\notes\hsong{du~}\cu g\enotes
-\hardlyrics{Ciel,~}\notes\hsong\thelyrics\qu h\enotes
-\hardlyrics{Dieu~}\notes\hsong\thelyrics\cu h\enotes
-\notes\zsong{le~}\cu g\enotes
-\barre
-\hardlyrics{P\`e-~}\notes\hsong\thelyrics\cu h\enotes
-\notes\hsong{re~}\cu i\enotes
-\hardlyrics{tout-}\notes\hsong\thelyrics\cu g\enotes
-\hardlyrics{puis-}\notes\hsong\thelyrics\cu h\enotes
-\hardlyrics{sant~!}\notes\hsong\thelyrics\qup h\enotes
-\notes\uptext{\bf I}\enotes
-\notes\zsong{Sei-}\cu h\enotes
-\mulooseness 2%
-\stoppiece
+\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
- The complete score of this carol --- with slightly different layout
-due to different page size --- is given in example {\tt glorias.tex} and in
-{\tt gloriab.tex}, the latter exhibiting not only the song tune but also the
-organ accompaniment
-(both require {\tt musixsty.tex}).
-
-
-\section{Abnormal music coding}
- \subsection{Gregorian chant: staffs and clefs} \index{gregorian
-music}Gregorian chant is often coded using four line staffs (see sections
-\ref{gregorian} and \ref{stafflinenumber}) and using special notes (called
-\itxem{neumes}) which are described in section \ref{gregnotes}. But the
-gregorian chant also needs special clefs which are in fact the ancestors of
-the modern ones. The \itxem{gregorian clefs} can be invoked instead of the
-modern ones by:
-
-\keyindex{setaltoclefsymbol}\verb|3\gregorianCclef|
-
-\keyindex{setbassclefsymbol}\verb|3\gregorianFclef|
-
-\noindent will cause the instrument number 3 to exhibit the chosen gregorian
-clefs. The standard clefs can be restored for every instrument with
-\keyindex{resetclefsymbols}.
-
-It is to be emphasized that, since version T.40 of \musixtex, one should
-specify whether one wants to change the bass clef symbol or the alto clef
-symbol (also the treble clef symbol, but there is no treble clef in gregorian
-chant). The reason is that \musixtex\ (as well as \musictex) selects and
-raises differently the F, G and C clefs according to the arguments of the
-\keyindex{setclef} command. Therefore, if one had substituted any F clef
-symbol while saying \verb|\setclef1{1000}|, then an F clef would duly appear
-on the staff, but it would have been set at the position of an alto clef, thus
-seriously misleading the musician.
-
- However, for compatibility with what was previously choosen\footnote{By A.
-{\sc Egler}...}, the \keyindex{setclefsymbol} still exists, but it substitutes
-the given second argument \ital{to all clef symbols} of that instrument,
-regardless of the actual musical meaning of this symbol. \verb|\setclefsymbol|
-is therefore discouraged, unless one changes the design of the clef symbol of
-an instrument for the whole of the score.
-
- As an example, the same gregorian scale has been written with a gregorian C
-clef on all four lines of the staff:
-
- \begin{music}
- \parindent 19mm
- \instrumentnumber{4}
- \setname1{1st line} \setname2{2nd line} \setname3{3rd line} \setname4{4th line}
- \setlines1{4}\setlines2{4}\setlines3{4}\setlines4{4}
- \sepbarrules
- \generalmeter{\empty}
- \setclef1{1000} \setclef2{2000} \setclef3{3000} \setclef4{4000}
- \setaltoclefsymbol1\gregorianCclef
- \setaltoclefsymbol2\gregorianCclef
- \setaltoclefsymbol3\gregorianCclef
- \setaltoclefsymbol4\gregorianCclef
-\startextract
-\Notes\squ{abcdefghi}&\squ{abcdefghi}&\squ{abcdefghi}&\squ{abcdefghi}&\enotes
-\endextract
-\end{music}
-
- The coding was:
- \begin{verbatim}
- \instrumentnumber{4}
- \setname1{1st line} \setname2{2nd line} \setname3{3rd line} \setname4{4th line}
- \setlines1{4}\setlines2{4}\setlines3{4}\setlines4{4}
- \sepbarrules
- \generalmeter{\empty}
- \setclef1{1000} \setclef2{2000} \setclef3{3000} \setclef4{4000}
- \setaltoclefsymbol1\gregorianCclef
- \setaltoclefsymbol2\gregorianCclef
- \setaltoclefsymbol3\gregorianCclef
- \setaltoclefsymbol4\gregorianCclef
-\startextract
-\Notes\squ{abcdefghi}&\squ{abcdefghi}&\squ{abcdefghi}&\squ{abcdefghi}&\enotes
+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
- \end{verbatim}
-
-
- \subsection{Music score without clefs or with special clefs}
-
- \subsubsection{Empty clefs}
-\index{clefs (empty)}
- Regardless of the number of lines of the staffs, an instrument may
-have no clefs, e.g.~for \itxem{percussion music} but also for any weird
-purpose. This is done by declaring the following item:
-
-\keyindex{setclefsymbol}~$n$\verb|\empty|
-
-\noindent Normal symbols for these clefs can be restored by:
-
-\keyindex{resetclefsymbols}
-
- \subsubsection{Octave clefs}\index{octave clefs}
-
- Octave treble clefs and octave bass clefs are provided. They can replace the usual
- treble and bass clefs by saying:
-
- \keyindex{setclefsymbol}~$n$\keyindex{bassoct}
+\lyrmodenormal0
+\end{verbatim}\end{quote}
- \keyindex{setclefsymbol}~$n$\keyindex{trebleoct}
+ \subsection{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}.
- \noindent for upper octaviation, and
+ 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}.
- \keyindex{setclefsymbol}~$n$\keyindex{basslowoct}
+\subsection{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|...
+\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.
- \keyindex{setclefsymbol}~$n$\keyindex{treblelowoct}
+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:
- \noindent for lower octaviation.
+ \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}
- \parindent 19mm
- \instrumentnumber{4}
- \generalmeter{\empty}
- \setclef1\bass \setclef2\bass \setclef3\treble \setclef4\treble
- \setbassclefsymbol1\basslowoct
- \setbassclefsymbol2\bassoct
- \settrebleclefsymbol3\treblelowoct
- \settrebleclefsymbol4\trebleoct
+ \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
+
+\noindent\begin{tabular}{ll}
+\multicolumn{2}{l}{\Bslash setlyrics\{alto\}\{\Bslash kernm3ex1.$\sim\sim$firstsyllable...\}}\\
+& left moving for numbering verses\\
+\verb|\setlyrics{alto}{...\kern1exword...}| &right moving a single word\\
+\verb|\setlyrics{alto}{...\lower2pt\hbox{word}...}|& lowering a single word\\
+\verb|\setlyrics{alto}{...\raise2pt\hbox{word}...}|& raising a single word\\
+\multicolumn{2}{l}{\Bslash def\Bslash strut\{\Bslash vbox to 2\Bslash Interligne\{\}\}%
+\Bslash setlyrics\{alto\}\{\Bslash lyrlayout\{\Bslash strut\}...\}} \\
+& controlling 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\}\}}\\
+& redefining default lyrstrut
+\end{tabular}
+
+\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
-\Notes\qu{`abcdefghi}&\qu{`abcdefghi}&\qu{abcdefghi}&\qu{abcdefghi}&\enotes
-\endextract
+ \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}
-{\noindent\sl REMARKS: \begin{itemize} \item The \keyindex{setclefsymbol},
-\keyindex{settrebleclefsymbol}, \keyindex{setaltoclefsymbol} and
-\keyindex{setbassclefsymbol} commands only change the symbol posted, not the
-altitude of the note head. Thus, if you say \verb|\setclef1\bass| and then
-|\setbassclefsymbol1\trebleclef|, your score will be definitely wrong. In the
-same way, \keyindex{trebleoct} and similar octave clefs will only change the
-symbol, but a note coded {\tt a} wiull have the same vertical position,
-regardless of the clef symbol chosen.
- \item Changing clef symbols also affect clef changes within the score, but
-this clef changes will be posted by large symbols, not smaller clefs as usual.
-Anyway, it can be remarked that clef changes only concern scores with standard
-treble, alto and bass clefs...
-\end{itemize}
-}
-
- \subsubsection{Drum clef}
- A special \itxem{drum clef} (two heavy vertical bars) can
-replace for the $n$-th intrument any of the standard clefs by saying:
-
-\keyindex{setclefsymbol}~$n$\keyindex{drumclef}\label{sectiondrum}
+This can be achieved
+by putting
+\verb+\input plainenc\relax\inputencoding{cp850}+
+at the beginning of the file.
-\noindent However, since the vertical position of the clef depends on the
-previously stated clef, it is not wise to replace any clef symbol with the
-drum clef, but to have the instrument previously configured with the default
-violin clef, i.e. \verb|{0000}|.
+Here you must adapt the character
+set to your region.
+To do this, if necessary, replace \verb+cp850+ by
+\verb+cp1250+ (Czech, Croation region),
+\verb+cp1251+ (Russian, Bulgarian region),
+\verb+cp1252+ (most other European regions),
+\verb+cp1253+ (Greek region)
+or check your \TeX distribution for the right file.
- It is to be emphasised that these features are specific to one
-instrument --- not one staff of a several staff instrument --- so that some
-weird score for \ital{monks}, \ital{drum} and \ital{electronic keyboard}
-such as
+This is the coding for the previous example by using an 8-bit characterset:
-\begin{music}
-\parindent 19mm
-\instrumentnumber{3}
-\setname1{keyboard} \setname2{drum} \setname3{monks}
-\setlines2{1}
-\setlines3{4}
-\setinterinstrument1{-2\Interligne}% less vertical space above
-\setinterinstrument2{-2\Interligne}% and below the percussion
-\sepbarrules
-\setsign1{-1} % one flat at keyboard
-\generalmeter{\meterfrac24}
-\setmeter3\empty
-\setclef3\alto
-\setclef1\bass
-\setstaffs12 % 2 staffs at keyboard
-\setclefsymbol3\gregorianCclef % gregorian C clef at instrument 3
-\setclefsymbol2\drumclef % cancel G clef at instrument 2
-\startextract
-\Notes\hu F|\zh c\hu h&\dnq4&\squ{acd}\enotes\bar
-\NOtes\qu I|\zq N\qu d&\qp&\diapunc f\enotes
-\NOtes\qu J|\zq a\qu e&\ynq4&\diapunc e\enotes\bar
-\notes\hu G|\zh b\hu d&\dnq4&\zsqu d\rsqu g\squ{hgh}\enotes
-\endextract
+\begin{center}
+\begin{minipage}{25mm}
+\begin{music}\nostartrule
+% this manual is in latex, the 8bit is taken by
+% \usepackage[ansinew]{inputenc}
+%
+%\input plainenc\relax\inputencoding{cp850}
+\input musixtex
+\input musixlyr
+\setlyrics1{á ä ö}\assignlyrics1{}\assignlyrics11%
+\startextract%
+\znotes\zcharnote{12}{Poème naïf}\en%
+\Notes\qa{ggg}\en%
+\zendextract%
\end{music}
-\noindent could be coded as follows, regardless this is relevant (see remark
-in \ref{gregoriancappella}, p. \pageref{gregoriancappella}):
-\begin{verbatim}
-\parindent 19mm
-\instrumentnumber{3}
-\setname1{keyboard} \setname2{drum} \setname3{monks}
-\setlines2{1}
-\setlines3{4}
-\setinterinstrument1{-2\Interligne}% less vertical space above
-\setinterinstrument2{-2\Interligne}% and below the percussion
-\sepbarrules
-\setsign1{-1} % one flat at keyboard
-\generalmeter{\meterfrac24}
-\setmeter3{\empty}
-\setclef3{\alto}
-\setclef1{\bass}
-\setstaffs1{2} % 2 staffs at keyboard
-\setclefsymbol3{\gregorianCclef} % gregorian C clef at instrument 3
-\setclefsymbol2{\drumclef} % cancel G clef at instrument 2
-\startextract
-\Notes\hu F|\zh c\hu h&\dnq4&\squ{acd}\enotes\bar
-\NOtes\qu I|\zq N\qu d&\qp&\diapunc f\enotes
-\NOtes\qu J|\zq a\qu e&\ynq4&\diapunc f\enotes\bar
-\notes\hu G|\zh b\hu d&\dnq4&\zsqu d\rsqu g\squ{hgh}\enotes
-\end{verbatim}
-In the same way, a possible violin score with \itxem{harmonic notes} (see
-\ref{othernotes}) could be:\label{abnormalscores}
+\end{minipage}
+~~~~~~
+\begin{minipage}{100mm}% program to run apart from musixdoc
+\verb+\input plainenc\relax\inputencoding{cp850}+\\
+\verb+\input musixtex+\\
+\verb+\input musixlyr+\\
+\verb+\startpiece%+\\
+\verb+\znotes\zcharnote{16}{Poème naïf}\en%+\\
+\verb+\setlyrics1{á ä ö}\assignlyrics11%+\\
+\verb+\Notes\qa{ggg}\en%+\\
+\verb+\Endpiece\vfill\eject \bye+
+\end{minipage}
+\end{center}
-\begin{music}
-\parindent0pt
-\generalsignature{-2}
-\generalmeter\allabreve
-\startextract
-\NOTes\dzq o\zh d\hu h\enotes
-\Notes\ibu0k0\zq g\yqb0k\qb0j\zq e\yqb0i\tbu0\qb0j\enotes
-\bar
-\NOTes\dzq g\hu k\enotes
-\NOTes\hpause\enotes
-\bar
-\NOTes\dzq o\zh d\hl h\enotes
-\Notes\ibl0e0\zq g\yqb0k\qb0j\zq e\yqb0i\tbl0\qb0j\enotes
-\bar
-\NOTes\dzq g\hu k\enotes
-\NOTes\hpause\enotes
-\endextract
-\end{music}
-It was coded as follows:
+\end{enumerate}
+
+\section{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
+exceprts, its use is definitely discouraged for ordinary self-contained musical scores
+of any sort.}.
+
+If for some reason you choose not to use \LaTeX\ to emplace 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 with no \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) file containing only the
+excerpt, and then ``paste'' it into the \LaTeX\ file. That will be covered in
+subsection \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 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 file for every excerpt, and that the excerpt
+must not span any page breaks. On balance, the
+direct method is probably to be preferred.
+
+\subsection{Directly embedding excerpts in \LaTeX\ documents}\label{excerpts}
+
+To use the direct method, you should include ``\verb|musixtex|'' as one of the
+arguments of the \keyindex{documentstyle} command. 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|\zendextract|.
+
+To create a left-justified excerpt, use the sequence
+\keyindex{let\Bslash extractline\Bslash leftline}.
+
+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}
-\generalsignature{-2}
-\generalmeter\allabreve
-\startextract
-\NOTes\dzq o\zh d\hu h\enotes
-\Notes\ibu0k0\zq g\yqb0k\qb0j\zq e\yqb0i\tbu0\qb0j\enotes
-\bar
-\NOTes\dzq g\hu k\enotes
-\NOTes\hpause\enotes
-\bar
-\NOTes\dzq o\zh d\hl h\enotes
-\Notes\ibl0e0\zq g\yqb0k\qb0j\zq e\yqb0i\tbl0\qb0j\enotes
-\bar
-\NOTes\dzq g\hu k\enotes
-\NOTes\hpause\enotes
-\endextract
+\begin{music}\nostartrule
+\let\extractline\hbox
+\hbox to \hsize{%
+\hss\startextract ... \zendextract\hss%
+\hss\startextract ... \zendextract\hss}
+\end{music}
\end{verbatim}\end{quote}
- \subsection{Usual percussion music}
-Besides single percussion scores usually
-written using one-line staffs, percussion music involving several instruments
-is often writen on five-line staffs with a \ital{drum clef}, where the
-instruments are distinguished by the type of the note heads and the apparent
-pitch of the note on the staff. We give an example --- kindly provided by
-Agusti {\sc Mart\'in Domingo}:
-
-\medskip
-\begin{music}
-\generalmeter{\meterfrac44}
-\setclefsymbol1\drumclef
-\parindent0pt\startpiece
-\leftrepeat
-\Notes\zql f\rlap\soupir\ibu0m0\xqb0{nn}\enotes
-\Notes\kzq d\zql f\zq j\xqb0n\tbu0\xqb0n\enotes
-\Notes\zql f\rlap\soupir\ibu0m0\xqb0{nn}\enotes
-\Notes\kzq d\zql f\zq j\xqb0n\tbu0\xqb0n\enotes
-\bar
-\Notes\zql f\rlap\soupir\ibu0m0\kqb0{nn}\enotes
-\Notes\xzq d\zql f\zq j\kqb0n\tbu0\kqb0n\enotes
-\Notes\zql f\rlap\soupir\ibu0m0\kqb0{nn}\enotes
-\Notes\xzq d\zql f\zq j\kqb0n\tbu0\kqb0n\enotes
-\bar
-\Notes\zql f\rlap\soupir\ibu0m0\oxqb0{nn}\enotes
-\Notes\oxzq d\zql f\zq j\kqb0n\tbu0\oxqb0n\enotes
-\Notes\zql f\rlap\soupir\ibu0m0\oxqb0{nn}\enotes
-\Notes\oxzq d\zql f\zq j\kqb0n\tbu0\oxqb0n\enotes
-\setrightrepeat\endpiece
-\end{music}
- Its coding was:
- \begin{quote}\begin{verbatim}
-\begin{music}
-\instrumentnumber{1}
-\generalmeter{\meterfrac44}
-\setclefsymbol1\drumclef
-\parindent0pt\startpiece
-\leftrepeat
-\Notes\zql f\rlap\soupir\ibu0m0\xqb0{nn}\enotes
-\Notes\kzq d\zql f\zq j\xqb0n\tbu0\xqb0n\enotes
-\Notes\zql f\rlap\soupir\ibu0m0\xqb0{nn}\enotes
-\Notes\kzq d\zql f\zq j\xqb0n\tbu0\xqb0n\enotes
-\bar
-\Notes\zql f\rlap\soupir\ibu0m0\kqb0{nn}\enotes
-\Notes\xzq d\zql f\zq j\kqb0n\tbu0\kqb0n\enotes
-\Notes\zql f\rlap\soupir\ibu0m0\kqb0{nn}\enotes
-\Notes\xzq d\zql f\zq j\kqb0n\tbu0\kqb0n\enotes
-\bar
-\Notes\zql f\rlap\soupir\ibu0m0\oxqb0{nn}\enotes
-\Notes\oxzq d\zql f\zq j\kqb0n\tbu0\oxqb0n\enotes
-\Notes\zql f\rlap\soupir\ibu0m0\oxqb0{nn}\enotes
-\Notes\oxzq d\zql f\zq j\kqb0n\tbu0\oxqb0n\enotes
-\setrightrepeat\endpiece
-\end{music}
- \end{verbatim}\end{quote}
- To use these different note heads, one must
- \begin{itemize}
- \item either include a specific percussion file namely\index{percussion
-music} \ttxem{musixper.tex} after the usual \verb|\input musixtex|;
- \item use special macro names to replace the usual elliptic black note head
-with other available note heads. Today only the most used note types are
-supported.
- \end{itemize}
+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}
-\section{Writing your own macros: the {\Bslash catcode} problems}
-As seen before, the \keyindex{catcodes} of the \| and \verb|&| symbols
-are modified by \musixtex, in the range of the actual scores but not
-in the whole of the \TeX\ source.
-Thus, if you define your own macros to make
-your writing easier, you are likely to invoke the \| or \verb|&|
-symbols in a part of text where their \keyindex{catcode}s are not correctly set.
-\index{"|@{\tt\char'174}}
-This may result typically in a diagnostic like:
-
-\verb|! Misplaced alignment tab character &.|
-
-\noindent when you attempt, not to define, but to use your macro using the
-\verb|&| symbol to change the instrument. Smart \TeX ers know that the
-\keyindex{catcode}s are attached to the characters \ital{when they are input}
-and not when they are used; thus you must be sure that \| and \verb|&|
-have the correct \musixtex\ \keyindex{catcode} when the macro is defined,
-which may well occur outside the actual score.
-
-It is also worth pointing out that the same problem may occur with other
-punctuation marks like ``\verb|<|'', ``\verb|>|'', ``\verb|^|,
-etc., if their \keyindex{catcode} has been changed by some other set of
-macros, like \ttxem{french.sty}.
-
-\section{\LaTeX~and \musixtex}
- \subsection{The {\tt musixtex.sty} style}\label{musixltx}
- As said before, the amount of memory and registers used by \musixtex\ makes
-it hardly compatible with \LaTeX. However, Nicolas {\sc
-Brouard}\index{Brouard, N.@{\sc Brouard, N.}} succeeded in building a
-\ttxem{musixltx.tex} which is now included in the distribution. This is
-not recommended to make separate music scores. Its purpose is rather to
-provide a means of inserting short musical excerpts in books or articles
-written with \LaTeX. Then, the \keyindex{documentstyle} command should
-include {\tt musixtex} in the options.
-
-The \LaTeX\ \index{LaTeX@\LaTeX}style file \ttxem{musixtex.sty}
-simply \verb|\input|s the following files (in that very order):
-\begin{itemize}
- \item \verb|musixtex.tex|
- \item \verb|musixltx.tex|
-\end{itemize}
- In case of \verb|TeX capacity exceeded...|, use a ``Bigla\TeX'' (after
-checking there is no visible error in the source
-code).\index{BigLaTeX@Big\LaTeX}
- \subsection{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.
- \subsection{The {\Bslash catcode} problems}
- The \verb|musixltx.tex| file merely overrides the \keyindex{catcode}s of the
-\| and \verb|&| symbols which are modified by \musixtex. To have access to
-these symbols when coding music, you should enclose the scores or excerpts
-within \verb|\begin{music}| and \verb|\end{music}|. But there is also another
-possibility, i.e.\ to say \keyindex{nextinstrument} instead of
-\verb|&|\index{\&} and \keyindex{nextstaff} instead of \|.
-\index{"|@{\tt\char'174}}
-
- Another problem comes from the {\tt\ixem{french.sty}} written by Bernard
-{\sc Gaulle}\index{Gaulle, B.@{\sc Gaulle, B.}} which is the standard of the
-\ixem{GUTenberg} French association. This style changes many
-\keyindex{catcode}s which lead \musixtex\ to fail in many cases. Therefore
-the \keyindex{catcode}s of all are forced to the adequate value at
-\keyindex{startpiece}, \keyindex{startextract} and restored at their original
-value at \keyindex{endpiece}, \keyindex{stoppiece} and \keyindex{endextract}.
-This means that some facilities like the \itxem{guillemets} or the
-\itxem{tabulation} character are inhibited within music scores (possible
-problem with sophisticated \itxem{lyrics}) but perfectly available within the
-normal text.
-
- Anyway, in case of emergency, one can invoke \keyindex{catcodesmusic} to
-establish the \keyindex{catcode}s at their value fit for music, and
-\keyindex{endcatcodesmusic} to reset them at their external value, for example
-those chosen by \verb|french.sty|.
-
-\section{Implementation and restrictions}
-
- The macroinstruction file \musixtex\ contains approximately 4200 lines of
-code, that is 98~000 bytes approximately. This requires your score to be
-compiled by the most extended versions of \TeX\ (65~000 words of working
-memory). It is therefore wise to say \verb|\tracingsstats=2| in
-order to have an information about the memory used in each page. In desperate
-situations, we recommend using the ``Big\TeX'' processors which,
-unfortunately, performed a great deal of disk input/outputs (on PCs with i286
-processors) which made them awfully slow. Of course, using i386 or i486 or Pentium
-processors, this problem disappears with the specific version of
-{\tt emTeX}, namely {\tt tex386}.\index{BigTeX@Big\TeX}\index{emTeX@em\TeX}
-
-In particular, the number of registers it uses and the amount of memory used
-by \LaTeX\ macros makes it doubtfully compatible with \LaTeX, unless using
-Big\LaTeX.\index{BigLaTeX@Big\LaTeX}
-
-Other precautions are necessary: beware of end-of-line spaces; they corrupt
-layout and cause {\tt underfull/overfull hbox} warnings during third pass.
-To avoid that, it is recommended
-to use \verb|%| at the end of source lines.
-
-
-%\subsection{ABC2MTeX}
-% Generally: yes
-%\subsection{MIDI2TeX}
-% s.a.a. (I already use a modified one, Thanx to C)
-%\subsection{SceX}
-% next time
-
-\section{From \musictex~to \musixtex: {\tt musixcpt}}
-\label{compatibility}
-
-This file is intended to run `{\bf old}' input files with as less changes
-(read \verb|musicdoc| {\bf and} \musixtex's laws~!) as possible. It slows
-down the speed and makes it impossible to use some\footnote{This was the will
-of one of the authors (A.E.) but we (we=D.T.) are now tending to remove any
-incompatibilities of {\tt musixcpt} with plain \musixtex.} of \musixtex\
-commands.
-
- To run \musictex\ examples --- not withstanding restrictions related to
-glue and ``hard'' spacings forbidden with
-\musixtex\ --- just replace all previous \verb|\input music*| by:
-
- \verb|\input musixtex|
-
- \verb|\input musixcpt|
-
-\noindent and, optionally
-
- \verb|\input musixsty|
-
-\subsection{Compatibility restrictions}
-
-The \ttxem{musixcpt.tex} file holds up
-compatibility to \musictex's sources, but there are some restrictions, which
-are caused either by missing glue in \musixtex\ --- sometimes ugly, but
-generally harmless --- or by some hard spacings such as \verb|\hbox|es
-containing lyrics exceeding the \keyindex{noteskip} dimension, and resulting
-in ``overfull hbox[es]'' that is, notes and symbols outside the score limits,
-with the heavy vertical bar as a standard \TeX\ punishment.
-
-The easiest way to avoid this consists in ending systematically
-\ital{all}\footnote{ALL lines, not ``most of them''.} input
-lines between \keyindex{startpiece}...\keyindex{stoppiece}\footnote{or
-\keyindex{Stoppiece} or \keyindex{endpiece} or \keyindex{Endpiece}.}
-with a comment sign\footnote{For \TeX perts: every line
-which does not end with a command}, namely a ``\verb|%|''.
-
-\medskip Besides, one might want to have a unique source file to be compiled
-with both the \musictex\ format and the \musixtex\ format, and\footnote{This
-might be considered as an excessive requirement, but we (D.T.) think it is a
-good way of including \musixtex's new facilities...} taking advantage of some
-specific possibilities of \musixtex. The leads to a need of testing whether
-the source file is compiled with one format or the other. In fact this test is
-easy:\zkeyindex{mxversion}
-
-\verb|\ifx\mxversion\undefined|
-
-\ \ \ the specific \musictex\ code
-
-\verb|\else|
-
-\ \ \ the specific \musixtex\ code, taking advantage of new features
-
-\verb|\fi|
-
-\medskip Several examples are now included in \musictex's examples, for
-example {\tt pacifiqn.tex}. Of course this would fail if the user
-inadvertently decided to define the command {\Bslash mxversion} in his source
-text.
- %\check
+Then, for example, the code
-\subsection{Additional commands in {\tt musixcpt.tex}}
+\begin{verbatim}
+Use \raisebox{0ex}[0ex][0ex]{\notesintext{\notes\rql1\qu2\en}}
+not \raisebox{0ex}[0ex][0ex]{\notesintext{\notes\ql2\lqu1\en}}
+\end{verbatim}
-The tentative user looking in given examples might find commands not described
-in the \musixtex\ manual (this one). Most frequent are (in case of missing
-description, revert to \musictex's manual, namely {\tt musicdoc.tex}, {\tt
-musicdoc.dvi}, {\tt musicdoc.ps}, {musicdoc.lj}, etc.):
+\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. Once having mastered \musixtex, this is the easiest of all: Between
+\verb|\begin{music}\nostartrule| and \verb|\end{music}|, use \ital{exactly} the same
+coding you would to make an ordinary score.
+
+The best way to learn how to apply these methods is to study
+\verb|musixdoc.tex|, the source file for this document\footnote{Do note,
+however, that {\tt musixdoc.tex} includes {\tt musixdoc} but not {\tt musixtex}
+as an argument of {\tt\Bslash documentstyle}. The former performs the functions
+of the latter as well as numerous tasks peculiar to this particular document.}.
+
+%DAS I don't think this section is worth including.
+
+% \subsection{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.
+
+\subsection{Embedding musical excerpts as encapsulated postscript 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 an \verb|.eps| file. One way to do that is
+with \textbf{ghostscript} and---if you are using Windows---\textbf{GSview}.
+In general this is possible only for single-page postScript files.
+
+To set up your \LaTeX\ document for including \verb|.eps| files, you must post
+the command \verb|\usepackage[dvips]{graphicx}| in the preamble of the
+document. Now, you may include each \texttt{.eps} file at the appropriate place
+in the {\LaTeX} document with a command
+like \keyindex{includegraphics}\verb|{sample.eps}|.
+
+\subsection{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|\zendextract| 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.
-\begin{itemize}
- \item\keyindex{qh} : same as \verb|\qb|, but was different with \musictex,
-since it distinguished notes hanging above (\verb|\qb|) and below (\verb|\qh|)
-the beam(s).
- \item\keyindex{debutmorceau} : nearly but not exactly the same as
-\verb|\startpiece|.
- \item\keyindex{suspmorceau} : suspends the score at the end of the line, in
-order to permit inserting ordinary \TeX\ commands. Similar to
-\keyindex{stoppiece} but performs line counting necessary then using
-\musictex's \verb|\autolines| feature.
- \item \keyindex{reprmorceau} is synonym of \verb|\contpiece|.
- \item \keyindex{lreprmorceau} is synonym of \verb|\contpiece|.
- \item \keyindex{preprmorceau} ejects a newpage and performs \verb|\contpiece|.
- \item \keyindex{finmorceau} is synonym of \verb|\Stoppiece|, i.e. with heavy
-ending double bar..
-
- \item\keyindex{barre} : same as \verb|\bar|.
- \item\keyindex{dsoupir} : same as \verb|\ds|.
- \item\keyindex{qsoupir} : same as \verb|\qs|.
- \item\keyindex{demisoupir} : same as \verb|\ds|.
- \item\keyindex{temps} : was glue in \musictex, now equivalent to
-\verb|\empty|.
- \item\keyindex{autolines} is fit for scores with
-bars of regular length: after \keyindex{startpiece}, you code the
-following macro:
-
-
-\medskip\Bslash autolines $tml$
-
-\medskip\noindent\rm where $t$ is the number of \ital{elementary spacings}
-(the length of {\Bslash notes...\Bslash enotes}) in an average bar, $m$ is the
-number of bars you wish in a line and $l$ is the number of lines you wish in a
-page. This sets some parameters, namely \keyindex{maxbarsinline} and
-\keyindex{maxlinesinpage} which are simply used to count the bars (counter is
-\keyindex{barsinline}), optionally perform \keyindex{alaligne} or
-\keyindex{alapage} (counter is \keyindex{linesinpage}) instead of the normal
-\verb|barre| or \verb|bar|. You may freely alter the values of these
-parameters, once they have been established by \keyindex{autolines}. Moreover,
-you can still force line-breaking of page ejection using {\Bslash alaligne} or
-\keyindex{alapage} without problem since these macros actually reset the bar
-counters appropriately.
+\section{Extension Library}
+All following files are invoked by saying \keyindex{input} \ital{filename}\ .
+Most of them are fully compatible with \musixtex\ in that they do not redefine
+any existing macros but rather provide additional functionality. In future
+versions of \musixtex\ we may very well incorporate many of them directly into
+\verb|musixtex.tex|, but for now we leave them separate.
- \end{itemize}
+ \subsection{curly}
+Allows you to group more than 1 instrument with curly
+brackets (see \ref{curlybrackets}).
- %\check
-% \subsection{Often reported problems}
+ \subsection{musixadd}\ixtt{musixadd.tex}
+Increases the number of instruments, slurs and beams from six to nine.
- %\check
-\section{Extension Library}
-All following files are invoked with saying \keyindex{input} \ital{filename}
- \subsection{musixadd}
-Increases the number of instruments, slurs and beams up to nine.
\subsection{musixbm}
- Provides 128th notes, either with hooks or with beams, namely the
+ Provides 128th notes, either with flags or with beams, via the commands
\keyindex{ibbbbbu},
\keyindex{ibbbbbl},
\keyindex{nbbbbbu},
@@ -6013,9 +6863,10 @@ Increases the number of instruments, slurs and beams up to nine.
\keyindex{ccccca},
\keyindex{zcccccu},
\keyindex{cccccl} and
-\keyindex{zcccccl} commands.
+\keyindex{zcccccl}.
+
\subsection{musixbbm}
- Provides 256th notes, only with beams, namely the
+ Provides 256th notes, only with beams, via the commands
\keyindex{ibbbbbbu},
\keyindex{ibbbbbbl},
\keyindex{nbbbbbbu},
@@ -6023,20 +6874,28 @@ Increases the number of instruments, slurs and beams up to nine.
\keyindex{tbbbbbbu},
\keyindex{tbbbbbbl},
\keyindex{Ibbbbbbu} and
-\keyindex{Ibbbbbbl} commands.
- \subsection{*musixcho}\label{song}
- These are some macros fit for chorus music. Provides following commands:
+\keyindex{Ibbbbbbl}.
+
+\subsection{musixcho}\label{song}
+ Enables certain macros intended for choral music\footnote{Remember
+that we now recommend using \texttt{musixlyr} for any except the
+simplest lyrics. The extension \texttt{musixcho} is only for those
+diehards who choose to ignore this advice}. Provides the following commands:
\keyindex{biglbrace}, \keyindex{bigrbrace}, \keyindex{braceheight},
-\keyindex{Dtx} and \keyindex{Drtx} for double text, \keyindex{Ttx} and
-\keyindex{Trtx} for triple text, \keyindex{Qtx} and \keyindex{Qrtx} for
-quadruple text.
+\keyindex{Dtx} and \keyindex{Drtx} for two-line text, \keyindex{Ttx} and
+\keyindex{Trtx} for three-line text, \keyindex{Qtx} and \keyindex{Qrtx} for
+four-line text. To eliminate zigzagging lyrics lines, all multiple line texts
+are automatically vertically justified with the macro \keyindex{ChroirStrut},
+defined as \verb|\vphantom{\^Wgjpqy}|.
-\keyindex{tx}\verb|{|$text$\verb|}|,
-\keyindex{rtx}\verb|{|$text$\verb|}| for text of songs, with text extending
-to right instead centered.
- \keyindex{hf}\verb|{|$m$\verb|}| sets text
-continuation rule of width $m$ \verb|\noteskip|.
+The macros \keyindex{tx}\verb|{|$text$\verb|}|,
+\keyindex{rtx}\verb|{|$text$\verb|}| cause song text to be left-justified
+on the insertion point rather then centered.
+ \keyindex{hf}\verb|{|$m$\verb|}| sets a text
+continuation rule of length $m$ \verb|\noteskip|.
+Consult the source file {\tt musixdoc.tex} to see the coding of the following
+example:
\begin{music}
\tenrm
@@ -6097,19 +6956,21 @@ continuation rule of width $m$ \verb|\noteskip|.
\endpiece
\end{music}
- See {\tt musixdoc.tex} source to get the coding of this long example.
-
- Note that, since vertion T.89, multiple line texts are vertically justified
- with a \keyindex{ChroirStrut} macro defined as \verb|\vphantom{\^Wgjpqy}| to
-eliminate zigzagging lyrics lines.
-
- %\check
- \subsection{musixdat}
-Here is the command \keyindex{today} defined for several languages.
-The default is \keyindex{dateUSenglish}, but this can freely be changed at
-end of \ttxem{musixdat.tex}.
-Also available are \keyindex{dategerman}, \keyindex{dateaustrian},
-\keyindex{dateenglish} and \keyindex{datefrench}, which yields:
+\subsection{musixcpt}
+
+Empowers \musixtex\ to run files created under
+Musi\textbf{c}TeX, the predecessor of \musixtex, such as some of the examples
+provided by Dani\"el {\sc Taupin}. It is not needed for any files created
+under \musixtex, and is included mainly for historical completeness.
+
+\subsection{musixdat}
+Enables the command \keyindex{today}, which sets the current date in one of
+several possible languages. The language is selected by an optional
+ preparatory command \verb|\date...|.
+The default is \keyindex{dateUSenglish}, but this can changed, either at the
+end of \ttxem{musixdat.tex} for a permanant change, or right before issuing
+\verb|\today|. Available choices and sample results are summarized below:
+\smallskip
\begin{quote}\begin{tabular}{ll}\hline
\verb|\dateUSenglish|&\dateUSenglish\today\\
\verb|\dateaustrian|&\dateaustrian\today\\
@@ -6117,40 +6978,89 @@ Also available are \keyindex{dategerman}, \keyindex{dateaustrian},
\verb|\datefrench|&\datefrench\today\\
\verb|\dategerman|&\dategerman\today\\\hline
\end{tabular}\end{quote}
- \subsection{*musixdia}\label{diam}
-These file is automatically loaded, if you use {\tt musixper.tex}.
-Here is the list of notes it provides:
- \begin{itemize}
- \item The \raise.5ex\hbox to 1em{\musixchar37} symbol is obtained using the
-\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded with a ``\verb|y|''
-(think of ``dyamond''). Available are \keyindex{yqu}, \keyindex{yqup},
+
+\subsection{musixdbr}
+Enables dashed and dotted bar lines (see \ref{musixdbr}).
+
+\subsection{musixdia}\label{diam}
+Enables notes with diamond-shaped heads as follows:
+\begin{itemize}\setlength{\itemsep}{0ex}
+ \item Solid note heads (\raise.5ex\hbox to .6em{\musixchar37}) are obtained
+using the macros
+ \keyindex{yqu}, \keyindex{yqup},
\keyindex{yqupp}, \keyindex{yql}, \keyindex{yqlp}, \keyindex{yqlpp},
\keyindex{yzq}, \keyindex{yzqp}, \keyindex{yzqpp}, \keyindex{yqb},
\keyindex{ycu}, \keyindex{yccu}, \keyindex{ycccu}, \keyindex{yccccu},
\keyindex{ycl}, \keyindex{yccl}, \keyindex{ycccl}, \keyindex{yccccl},
-\keyindex{ycup}, \keyindex{ycupp}, \keyindex{yclp}, \keyindex{yclpp}. The
-symbol without a stem can be obtained by saying \keyindex{ynq} and the
-non-spacing variant with \keyindex{zynq}.
- \item The \raise.5ex\hbox to 1em{\musixchar38} symbol is obtained using the
-\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded with a ``\verb|d|''
-(think of \ital{diamond}). Available are \keyindex{dqu}, \keyindex{dqup},
+\keyindex{ycup}, \keyindex{ycupp}, \keyindex{yclp}, \keyindex{yclpp}.
+(Think of d{\it y}\kern.5pt amond). A solid diamond with no stem is obtained
+with \keyindex{ynq} (spacing) or \keyindex{yznq} (non-spacing).
+ \item Open note heads (\raise.5ex\hbox to .6em{\musixchar38}) are obtained
+using the macros
+\keyindex{dqu}, \keyindex{dqup},
\keyindex{dqupp}, \keyindex{dql}, \keyindex{dqlp}, \keyindex{dqlpp},
\keyindex{dzq}, \keyindex{dzqp}, \keyindex{dzqpp}, \keyindex{dqb},
\keyindex{dcu}, \keyindex{dccu}, \keyindex{dcccu}, \keyindex{dccccu},
\keyindex{dcl}, \keyindex{dccl}, \keyindex{dcccl}, \keyindex{dccccl},
-\keyindex{dcup}, \keyindex{dcupp}, \keyindex{dclp}, \keyindex{dclpp}. The
-symbol without a stem can be obtained by saying \keyindex{dnq} and the
-non-spacing variant with \keyindex{dznq}.
+\keyindex{dcup}, \keyindex{dcupp}, \keyindex{dclp}, \keyindex{dclpp}.
+(Think of {\it d}\kern.5pt iamond).
+An open diamond with no stem is obtained
+with \keyindex{dnq} (spacing) or \keyindex{dznq} (non-spacing).
\end{itemize}
- %\check
- \subsection{*musixeng}
- This package is made for music typesetters who are allergic to rest names
-taken from French, German or Italian\footnote{By the way, note that a
-\ital{whole rest} is called \ital{pause} in French, \ital{ganze Pause} in
-German, and \ital{pausa} in Italian.}. It does not provide new features, only
-new command names.
+
+One use of these note heads is for a string part with \itxem{harmonic notes}.
+%(see \ref{othernotes})
+% DAS removed description which was misplaced in the samll=notes section 2.18 4/30/06
+For example,
+
+\begin{music}
+\parindent0pt
+\generalsignature{-2}
+\generalmeter\allabreve
+\startextract
+\NOTes\dzq o\zh d\hu h\enotes
+\Notes\ibu0k0\zq g\yqb0k\qb0j\zq e\yqb0i\tbu0\qb0j\enotes
+\bar
+\NOTes\dzq g\hu k\enotes
+\NOTes\hpause\enotes
+\bar
+\NOTes\dzq o\zh d\hl h\enotes
+\Notes\ibl0e0\zq g\yqb0k\qb0j\zq e\yqb0i\tbl0\qb0j\enotes
+\bar
+\NOTes\dzq g\hu k\enotes
+\NOTes\hpause\enotes
+\endextract
+\end{music}
+\noindent was coded as follows:
+\begin{quote}\begin{verbatim}
+\generalsignature{-2}
+\generalmeter\allabreve
+\startextract
+\NOTes\dzq o\zh d\hu h\enotes
+\Notes\ibu0k0\zq g\yqb0k\qb0j\zq e\yqb0i\tbu0\qb0j\enotes
+\bar
+\NOTes\dzq g\hu k\enotes
+\NOTes\hpause\enotes
+\bar
+\NOTes\dzq o\zh d\hl h\enotes
+\Notes\ibl0e0\zq g\yqb0k\qb0j\zq e\yqb0i\tbl0\qb0j\enotes
+\bar
+\NOTes\dzq g\hu k\enotes
+\NOTes\hpause\enotes
+\endextract
+\end{verbatim}\end{quote}
+
+Another use is for percussion parts. In fact the file \verb|musixdia.tex|
+is automatically loaded if you input {\tt musixper.tex} (see \ref{perc}).
+
+ \subsection{musixeng}
+ This package is provided for music typesetters who are allergic to the default
+rest names, which are
+taken from French, German or Italian. It does not provide new features, only
+new command names:
+\medskip
\begin{quote}\begin{tabular}{ll}\hline
-\ital{original}&\ital{alternative}\\\hline
+\ital{original}&\ital{alternate}\\\hline
\keyindex{PAUSe}&\keyindex{Qwr}\\
\keyindex{PAuse}&\keyindex{Dwr}\\
\keyindex{liftpause}&\keyindex{liftwr}\\
@@ -6165,153 +7075,204 @@ new command names.
\keyindex{hs}&\keyindex{eeer}\\
\keyindex{qqs}&\keyindex{eeeer}\\\hline
\end{tabular}\end{quote}
- \subsection{musixext}
-\keyindex{slide}\verb|{|pitch\verb|}{|elements\verb|}{|slope[-8 to 8]\verb|}|~:
- glissando.
+\subsection{musixext}
+Defines the following two specific macros:
-\keyindex{raggedstoppiece} :
- provides a ragged last line.
- %\check
+\keyindex{slide}\itbrace{p}\itbrace{x}\itbrace{s}~, which provides a glissando
+starting at pitch {\it p} and extending for {\it x} \verb|\internote|s with
+slope {\it s} (ranging from -8 to 8).
+
+\keyindex{raggedstoppiece}~, which inhibits right-justification of the last
+line of a score.
\subsection{musixf{}l{}l}
\input musixfll
- \ttxem{musixfll.tex} may be used to modify the automatic
-generation of \ixem{ledger lines}. Ledger lines --- German Hilfslinien
---- are generated for notes placed above or below normal staff lines.
-Ledger lines normally exceed the note head by a quarter of the width of
-the note head. If notes are set very narrowly, the ledger lines of
-consecutive notes may meet. In this case a player may misread the
-ledger lines as normal lines. Therefore \musixtex{} shortens the
-ledger lines if notes are set so narrowly that the ledger lines may
-meet. Because \musixtex{} does not know whether consecutive notes need
-ledger lines, this automatic shortening may be superfluous. So this
-automatism may be switched off and on. After including
-\ttxem{musixfll.tex} the automatic shortening of ledger lines is
-switched off. Afterwards it may be switched on again using
+ Enables modification of \ixem{ledger lines}. Ledger lines normally exceed the
+width of a note head by 25 percent in each direction. If the space between
+notes is insufficient, the ledger lines of
+consecutive notes may meet, creating visual ambiguities. Therefore,
+\musixtex{} shortens the
+ledger lines if notes are set so close together that the ledger lines may
+meet. But because \musixtex{} does not know whether consecutive notes need
+ledger lines, this automatic shortening may be superfluous. The extension
+file \ttxem{musixfll.tex} allows this feature to be switched off and on.
+Upon inputting \verb|musixfll.tex|, the automatic shortening of ledger lines
+is switched off. From then on, it may be switched on again using
\keyindex{autoledgerlines} and switched off again using
\keyindex{longledgerlines}. Both macros have global effect.
The following example shows that narrowly set scales look better with
-\keyindex{autoledgerlines}, while single notes requiring ledger lines
-look better with \keyindex{longledgerlines}.
-
+\keyindex{autoledgerlines} (the default behavior), while single notes
+requiring ledger lines look better with \keyindex{longledgerlines}.
+\medskip
\begin{music}
\startextract
\notes\multnoteskip{0.7}\Uptext{autoledgerlines}\autoledgerlines
- \ibbbu0b0\qb0{cba`gfg'a}\tbu0\qb0b%
- \ibbbl0{''b}0\qb0{abcdedc}\tbl0\qb0b%
- \ibbbu0{``b}0\qb0{dad}\tbu0\qb0a%
- \ibbbl0{''b}0\qb0{`g'c`g}\tbl0\qb0{'c}\en
- \bar
+ \ibbbu0b0\qb0{cba`gfg'a}\tbu0\qb0b%
+ \ibbbl0{''b}0\qb0{abcdedc}\tbl0\qb0b%
+ \ibbbu0{``b}0\qb0{dad}\tbu0\qb0a%
+ \ibbbl0{''b}0\qb0{`g'c`g}\tbl0\qb0{'c}\en
+ \bar
\notes\multnoteskip{0.7}\Uptext{longledgerlines}\longledgerlines
- \ibbbu0b0\qb0{cba`gfg'a}\tbu0\qb0b%
- \ibbbl0{''b}0\qb0{abcdedc}\tbl0\qb0b%
- \ibbbu0{``b}0\qb0{dad}\tbu0\qb0a%
- \ibbbl0{''b}0\qb0{`g'c`g}\tbl0\qb0{'c}\en
+ \ibbbu0b0\qb0{cba`gfg'a}\tbu0\qb0b%
+ \ibbbl0{''b}0\qb0{abcdedc}\tbl0\qb0b%
+ \ibbbu0{``b}0\qb0{dad}\tbu0\qb0a%
+ \ibbbl0{''b}0\qb0{`g'c`g}\tbl0\qb0{'c}\en
\endextract
\autoledgerlines
\end{music}
- \subsection{*musixgre}\label{gregnotes}
+ \subsection{musixgre}\label{gregnotes}\index{gregorian chant}
+% \subsection{Gregorian chant: staffs and clefs}
+Gregorian chant is often coded using four line staffs
+(see
+%sections \ref{gregorian} and
+section \ref{stafflinenumber}) and using special notes called
+\itxem{neumes} (which are described later in this section). It also requires
+special clefs. One way to substitute them for the modern ones is for example
+with commands like
- Provided that four line staffs (see \ref{stafflinenumber}) are used,
-\itxem{gregorian music} is frequently quoted using specific \itxem{neumes},
-established in the thirteenth century, and this way of coding has been
-commonly used for the coding of liturgical chant in the Catholic Church until
-the middle of the twentieth century. Nevertheless, gregorian chant coding is
-not really an antique feature, since it has been codified in 1905 with recent
-quasi-official updates in the eightties.
+\keyindex{setaltoclefsymbol}\verb|3\gregorianCclef|
+\noindent or
-{\noindent\sl REMARK:\label{gregoriancappella} strictly writing, including
-gregorian chant coding in \musixtex{} is a pure nonsense. Of course, many
-people find it interesting to have the possibility of coding gregorian neumes
-together with modern music, but having a score with both a gregorian chant and
-a choir or instruments is definitely \ital{heretic}. The reason is that
-grogorian chant must be sung \ital{a cappella}, without instrument and without
-underlying polyphony. As a matter of fact, serious music schools ceased to
-teach how to accompany gregorian chant approximately 20 years ago.
+\keyindex{setbassclefsymbol}\verb|3\gregorianFclef| ,
- However, there are still some pseudo-gregorian chants in the Catholic
-repertoire which deserve organ or orchestra accompaniment: these are latine
-speaking gregorian imitations composed in the eighteenth century, such as the
-famous \ital{Angel's mass} of the \ital{Messe royale de Du Mont} which were
-printed using gregorian neumes by official catholic publishers instead of
-using the music denotations fit for renaissance and baroque pieces...}
+\noindent which will cause instrument number 3 to display the selected gregorian
+clef. The standard clefs can be restored for every instrument with
+\keyindex{resetclefsymbols}. Note that when using this method you must
+specify whether to substitute for the bass or alto clef
+symbol (there is no treble clef in gregorian
+chant). The reason is that \musixtex\ selects and
+raises the F and C clefs differently, according to the arguments of the
+\keyindex{setclef} command. Therefore, if one had substituted any F clef
+symbol while saying \verb|\setclef1{1000}|, then an F clef would duly appear
+on the staff, but it would be set at the position of an alto clef, thus
+seriously misleading the musician.
+Another method of clef substitution employs \keyindex{setclefsymbol} (see
+section \ref{treblelowoct}), which substitutes the clef given by
+the second argument \ital{for all clef symbols} of the instrument given by the first,
+regardless of the actual musical meaning of the new clef symbol. This method is
+generally appropriate only if you want to change the clef symbol(s) of
+an instrument for the whole of the score.
- Symbols available in \musixtex\ are
-mainly those of the 1905 standard, as provided by Beda {\sc
-Szukics}\index{Szukics, B.@{\sc Szukics, B.}}:
+ As an example, the same gregorian scale has been written with a gregorian C
+clef on all four lines of the staff:
-\subsubsection{The clefs}
+ \begin{music}\nostartrule
+ \parindent 19mm
+ \instrumentnumber{4}
+ \setname1{1st line} \setname2{2nd line} \setname3{3rd line} \setname4{4th line}
+ \setlines1{4}\setlines2{4}\setlines3{4}\setlines4{4}
+ \sepbarrules
+ \generalmeter{\empty}
+ \setclef1{1000} \setclef2{2000} \setclef3{3000} \setclef4{4000}
+ \setaltoclefsymbol1\gregorianCclef
+ \setaltoclefsymbol2\gregorianCclef
+ \setaltoclefsymbol3\gregorianCclef
+ \setaltoclefsymbol4\gregorianCclef
+\startextract
+\Notes\squ{abcdefghi}&\squ{abcdefghi}&\squ{abcdefghi}&\squ{abcdefghi}&\enotes
+\zendextract
+\end{music}
-\begin{itemize}
- \item The gregorian C clef: \raise 2.5pt\hbox to 1cm{\gregorianCclef\hfil}~=
+ The coding was:
+ \begin{verbatim}
+ \instrumentnumber{4}
+ \setname1{1st line} \setname2{2nd line} \setname3{3rd line} \setname4{4th line}
+ \setlines1{4}\setlines2{4}\setlines3{4}\setlines4{4}
+ \sepbarrules
+ \generalmeter{\empty}
+ \setclef1{1000} \setclef2{2000} \setclef3{3000} \setclef4{4000}
+ \setaltoclefsymbol1\gregorianCclef
+ \setaltoclefsymbol2\gregorianCclef
+ \setaltoclefsymbol3\gregorianCclef
+ \setaltoclefsymbol4\gregorianCclef
+\startextract
+\Notes\squ{abcdefghi}&\squ{abcdefghi}&\squ{abcdefghi}&\squ{abcdefghi}&\enotes
+\zendextract
+ \end{verbatim}
+
+All of the special gregorian symbols available in \musixtex\ are described
+in the following subsections.
+
+\subsubsection{Clefs}
+
+\begin{itemize}\setlength{\itemsep}{0ex}
+ \item Gregorian C clef: \raise 2.5pt\hbox to 1cm{\gregorianCclef\hfil}~=
\keyindex{gregorianCclef}, normally activated for instrument $n$ with the
-command:
- \begin{quote}
- \keyindex{setaltoclefsymbol} $n$ \keyindex{gregorianCclef}
- \end{quote}
- \item The gregorian F clef: \raise 2.5pt\hbox to 1cm{\gregorianFclef\hfil}~=
-\keyindex{gregorianFclef}, normally activated with the
-\verb|\setbassclefsymbol| command.
+command
+ \keyindex{setaltoclefsymbol}\itbrace{n}\keyindex{gregorianCclef}
+\item Gregorian F clef: \raise 2.5pt\hbox to 1cm{\gregorianFclef\hfil}~=
+\keyindex{gregorianFclef}, normally activated with the command
+\keyindex{setbassclefsymbol}\itbrace{n}\keyindex{gregorianFclef}
\end{itemize}
- \subsubsection{The basic elementary symbols}
- \begin{itemize}
+ \subsubsection{Elementary symbols}
+
- \item Diamond shaped \itxem{punctum} (of different shape compared to the
+ \begin{itemize}\setlength{\itemsep}{0ex}
+
+ \item Diamond shaped \itxem{punctum} (This has a different shape compared to the
percussion diamond): \raise 2.5pt\hbox{\xgregchar1}~ =
-\keyindex{diapunc}~$p$~.
+\keyindex{diapunc}\pitchp\ .
\item Square \itxem{punctum}: \raise 2.5pt\hbox{\xgregchar5}~ =
-\keyindex{squ}~$p$ or \keyindex{punctum}~$p$~.
+\keyindex{squ}\pitchp\ or \keyindex{punctum}\pitchp\ .
\item Left stemmed \itxem{virga} (not in the 1905 gregorian standard): \raise
-2.5pt\hbox{\xgregchar6}~ = \keyindex{lsqu}~$p$~.
+2.5pt\hbox{\xgregchar6}~ = \keyindex{lsqu}\pitchp\ .
\item Right stemmed \itxem{virga}: \raise 2.5pt\hbox{\xgregchar7}~ =
-\keyindex{rsqu}~$p$ or \keyindex{virga}~$p$~.
+\keyindex{rsqu}\pitchp\ or \keyindex{virga}\pitchp\ .
\item \ital{Apostropha}\index{apostropha}: \raise 2.5pt\hbox{\xgregchar3}~ =
-\keyindex{apostropha}~$p$~.
+\keyindex{apostropha}\pitchp\ .
\item \ital{Oriscus}\index{oriscus}: \raise 2.5pt\hbox{\xgregchar10}~ =
-\keyindex{oriscus}~$p$~.
+\keyindex{oriscus}\pitchp\ .
\item \ital{Quilisma}\index{quilisma}: \raise 2.5pt\hbox{\xgregchar125}~ =
-\keyindex{quilisma}~$p$~.
- \item \ital{Punctum auctum} (up)\index{punctum auctum}: \raise 2.5pt\hbox{\xgregchar9}~ =
-\keyindex{punctumauctup}~$p$~.
- \item \ital{Punctum auctum} (down)\index{punctum auctum}: \raise 2.5pt\hbox{\xgregchar8}~ =
-\keyindex{punctumauctdown}~$p$~.
+\keyindex{quilisma}\pitchp\ .
+ \item \ital{Punctum auctum} (up)\index{punctum auctum}: \raise
+2.5pt\hbox{\xgregchar9}~ =
+\keyindex{punctumauctup}\pitchp\ .
+ \item \ital{Punctum auctum} (down)\index{punctum auctum}: \raise
+2.5pt\hbox{\xgregchar8}~ =
+\keyindex{punctumauctdown}\pitchp\ .
\item Diamond shaped \ital{punctum auctum} (down)\index{punctum auctum}:
-\raise 2.5pt\hbox{\xgregchar2}~ = \keyindex{diapunctumauctdown}~$p$~.
+\raise 2.5pt\hbox{\xgregchar2}~ = \keyindex{diapunctumauctdown}\pitchp\ .
\item \ital{Punctum deminutum}\index{punctum deminutum}: \raise
-2.5pt\hbox{\xgregchar4}~ = \keyindex{punctumdeminutum}~$p$~.
+2.5pt\hbox{\xgregchar4}~ = \keyindex{punctumdeminutum}\pitchp\ .
\item \ital{Apostropha aucta}\index{apostropha aucta}: \raise
-2.5pt\hbox{\xgregchar11}~ = \keyindex{apostropha aucta}~$p$~.
-
+2.5pt\hbox{\xgregchar11}~ = \keyindex{apostropha aucta}\pitchp\ .
\end{itemize}
- All non-\ital{liquescens} symbols have a non-spacing variant, which are
+ All non-\ital{liquescens} symbols have non-spacing variants, namely
\keyindex{zdiapunc}, \keyindex{zsqu}, \keyindex{zlsqu}, \keyindex{zrsqu},
\keyindex{zapostropha} and \keyindex{zoriscus}.
-\subsubsection{The plain complex neumes}
+\subsubsection{Plain complex neumes}
Other \itxem{neumes} can be obtained by combining two or more of these
symbols. Since \itxem{neumes} have a special note head width, an additional
shifting macro is provided, namely \keyindex{groff}. It is similar to
-\verb|\roff|, but the offset is smaller; to implement also triple symbol neumes,
-another shifting macro is provided, namely \keyindex{dgroff} which performs an
-offset twice the offset of \verb|\groff|..
+\verb|\roff|, but the offset is smaller. For use with comples neumes, another
+shifting macro is provided, namely \keyindex{dgroff}, which causes an
+offset twice the offset of \verb|\groff|.
Since most of these symbols depend on relative pitches of their components,
-one could not provide all compact combinations as single symbols. Following
-compound symbols are:
+we cannot provide all possible compact combinations as single symbols. The ones
+that are available in \verb|musixgre| are described below. In the following,
+$p_1$, $p_2$, $p_3$, and $p_4$ represent pitches specified as usual. Please refer to
+the source file \verb|musixtex.tex| if you wish to see the coding of those
+examples for which it is not quoted here.
-\begin{description}
- \item[\keyindex{bivirga} $n$ $p$], for example:
+\def\twop{\itbrace{p_1}\itbrace{p_2}}
+\def\threep{\twop\itbrace{p_3}}
+\def\fourp{\threep\itbrace{p_4}}
- \begin{music}
+\begin{description}\setlength{\itemsep}{0ex}
+ \item[\keyindex{bivirga}\twop], for example:
+
+ \begin{music}\nostartrule
\elemskip 10pt
\setsize1{\Largevalue}
\instrumentnumber 1
@@ -6322,8 +7283,9 @@ compound symbols are:
\startextract
\notes \bivirga ab\enotes
\notes \bivirga cc\enotes
- \endextract
+ \zendextract
\end{music}
+
This example was coded as:
\begin{quote}\begin{verbatim}
\instrumentnumber 1
@@ -6334,12 +7296,12 @@ compound symbols are:
\startextract
\notes \bivirga ab\enotes
\notes \bivirga cc\enotes
- \endextract
+ \zendextract
\end{verbatim}\end{quote}
- \item[\keyindex{trivirga} $n$ $p$ $q$], for example:
+ \item[\keyindex{trivirga}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\setsize1{\Largevalue}
\instrumentnumber 1
@@ -6350,12 +7312,12 @@ compound symbols are:
\startextract
\Notes \trivirga abc\enotes
\Notes \trivirga cca\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{bistropha} $n$ $p$], for example:
+ \item[\keyindex{bistropha}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\setsize1{\Largevalue}
\instrumentnumber 1
@@ -6366,12 +7328,12 @@ compound symbols are:
\startextract
\notes \bistropha ab\enotes
\notes \bistropha cc\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{tristropha} $n$ $p$ $q$], for example:
+ \item[\keyindex{tristropha}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\setsize1{\Largevalue}
\instrumentnumber 1
@@ -6382,12 +7344,12 @@ compound symbols are:
\startextract
\Notes \tristropha abc\enotes
\Notes \tristropha cca\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{clivis} $n$ $p$], for example:
+ \item[\keyindex{clivis}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\setsize1{\Largevalue}
\instrumentnumber 1
@@ -6398,12 +7360,13 @@ compound symbols are:
\startextract
\notes \clivis ba\enotes
\notes \clivis ca\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{lclivis} $n$ $p$], for example:
+ \item[\keyindex{lclivis}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
+ \setsize1{\Largevalue}
\elemskip 10pt
\instrumentnumber 1
\setstaffs 1 1
@@ -6413,12 +7376,12 @@ compound symbols are:
\startextract
\notes \lclivis ba\enotes
\notes \lclivis ca\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{podatus} $n$ $p$], for example:
+ \item[\keyindex{podatus}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6430,12 +7393,12 @@ compound symbols are:
\notes \podatus ab\enotes
\notes \podatus ac\enotes
\notes \podatus cf\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{podatusinitiodebilis} $n$ $p$], for example:
+ \item[\keyindex{podatusinitiodebilis}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6447,14 +7410,15 @@ compound symbols are:
\notes \podatusinitiodebilis ab\enotes
\notes \podatusinitiodebilis ac\enotes
\notes \podatusinitiodebilis cf\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{lpodatus} $n$ $p$], for example:
+ \item[\keyindex{lpodatus}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
- \instrumentnumber 1
+ \setsize1{\Largevalue}
+ \instrumentnumber 1
\setstaffs 1 1
\setlines 1 4
\setclef 1{3000}
@@ -6462,12 +7426,12 @@ compound symbols are:
\startextract
\notes \lpodatus ab\enotes
\notes \lpodatus ce\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{pesquassus} $n$ $p$], for example:
-
- \begin{music}
+ \item[\keyindex{pesquassus}\twop], for example:
+
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6478,12 +7442,12 @@ compound symbols are:
\startextract
\notes \pesquassus ab\enotes
\notes \pesquassus ae\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{quilismapes} $n$ $p$], for example:
-
- \begin{music}
+ \item[\keyindex{quilismapes}\twop], for example:
+
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6494,12 +7458,12 @@ compound symbols are:
\startextract
\notes \quilismapes ab\enotes
\notes \quilismapes ae\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{torculus} $n$ $p$ $q$], for example:
+ \item[\keyindex{torculus}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6511,12 +7475,12 @@ compound symbols are:
\notes \torculus aba\enotes
\notes \torculus cfd\enotes
\notes \torculus afc\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{torculusinitiodebilis} $n$ $p$ $q$], for example:
+ \item[\keyindex{torculusinitiodebilis}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6528,12 +7492,12 @@ compound symbols are:
\notes \torculusinitiodebilis aba\enotes
\notes \torculusinitiodebilis cfd\enotes
\notes \torculusinitiodebilis afc\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{Porrectus} $n$ $p$ $q$], for example:
+ \item[\keyindex{Porrectus}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6547,7 +7511,7 @@ compound symbols are:
\notes \Porrectus bNd\enotes
\notes \Porrectus bMe\enotes
\notes \Porrectus bLe\enotes
- \endextract
+ \zendextract
\end{music}
\noindent coded:
\begin{quote}\begin{verbatim}
@@ -6560,14 +7524,14 @@ compound symbols are:
\verb|\Porrectus| exists in four different shapes, depending on the
difference between first and second argument. The constraint is that
- $$ n-4 \leq p \leq n-1 $$ otherwise a diagnostic occurs. Note also that
+ $$ p_1-4 \leq p_2 \leq p_1-1 $$ otherwise a diagnostic occurs. Note also that
\keyindex{bporrectus} provides the first curved part of the \verb|porrectus|
-command, if you need it... It has two arguments, the starting pitch, the lower
+command, if you should need it. It has two arguments, the starting pitch and the lower
pitch.
- \item[\keyindex{Porrectusflexus} $n$ $p$ $q$ $r$], for example:
+ \item[\keyindex{Porrectusflexus}\fourp], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6580,7 +7544,7 @@ pitch.
\notes \Porrectusflexus bNdb\enotes
\notes \Porrectusflexus bMeb\enotes
\notes \Porrectusflexus bLea\enotes
- \endextract
+ \zendextract
\end{music}
\noindent coded:
\begin{quote}\begin{verbatim}
@@ -6590,10 +7554,10 @@ pitch.
\notes \Porrectusflexus bLea\enotes
\end{verbatim}\end{quote}
-
- \item[\keyindex{climacus} $n$ $p$ $q$], for example:
- \begin{music}
+ \item[\keyindex{climacus}\threep], for example:
+
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6605,12 +7569,12 @@ pitch.
\Notes \climacus cbN\enotes
\Notes \climacus cba\enotes
\Notes \climacus dbN\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{climacusresupinus} $n$ $p$ $q$ $r$], for example:
+ \item[\keyindex{climacusresupinus}\fourp], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6622,14 +7586,15 @@ pitch.
\Notes \climacusresupinus cbNa\enotes
\Notes \climacusresupinus cbab\enotes
\Notes \climacusresupinus dbNb\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{lclimacus} $n$ $p$ $q$], for example:
+ \item[\keyindex{lclimacus}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
- \instrumentnumber 1
+ \setsize1{\Largevalue}
+\instrumentnumber 1
\setstaffs 1 1
\setlines 1 4
\setclef 1{3000}
@@ -6638,13 +7603,12 @@ pitch.
\notes \lclimacus cbN\enotes
\notes \lclimacus cfd\enotes
\notes \lclimacus afc\enotes
- \endextract
+ \zendextract
\end{music}
+ \item[\keyindex{scandicus}\threep], for example:
- \item[\keyindex{scandicus} $n$ $p$ $q$], for example:
-
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6655,12 +7619,12 @@ pitch.
\startextract
\notes \scandicus abe\enotes
\notes \scandicus ceg\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{salicus} $n$ $p$ $q$], for example:
+ \item[\keyindex{salicus}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6671,12 +7635,12 @@ pitch.
\startextract
\Notes \salicus abe\enotes
\Notes \salicus ceg\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{salicusflexus} $n$ $p$ $q$ $r$], for example:
+ \item[\keyindex{salicusflexus}\fourp], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6687,14 +7651,16 @@ pitch.
\startextract
\Notes \salicusflexus abec\enotes
\Notes \salicusflexus cegd\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{trigonus} $n$ $p$ $q$], for example\footnote{The second
-example is in principle irrelevant, but it shows the possibilities, in case
-of.}:
+ \item[\keyindex{trigonus}\threep],
+%DAS ????????????
+%for example\footnote{The second example is in principle irrelevant,
+%but it shows the possibilities, in case of.}:
+for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6705,16 +7671,16 @@ of.}:
\startextract
\Notes \trigonus aaN\enotes
\Notes \trigonus cef\enotes
- \endextract
+ \zendextract
\end{music}
\end{description}
-\subsubsection{The liquescens complex neumes}\index{liquescens neumes}
-\begin{description}
- \item[\keyindex{clivisauctup} $n$ $p$], for example:
+\subsubsection{Liquescens complex neumes}\index{liquescens neumes}
+\begin{description}\setlength{\itemsep}{0ex}
+ \item[\keyindex{clivisauctup}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\setsize1{\Largevalue}
\instrumentnumber 1
@@ -6725,11 +7691,11 @@ of.}:
\startextract
\notes \clivisauctup ba\enotes
\notes \clivisauctup ca\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{clivisauctdown} $n$ $p$], for example:
+ \item[\keyindex{clivisauctdown}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\setsize1{\Largevalue}
\instrumentnumber 1
@@ -6740,11 +7706,11 @@ of.}:
\startextract
\notes \clivisauctdown ba\enotes
\notes \clivisauctdown ca\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{podatusauctup} $n$ $p$], for example:
+ \item[\keyindex{podatusauctup}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6756,11 +7722,11 @@ of.}:
\notes \podatusauctup ab\enotes
\notes \podatusauctup ac\enotes
\notes \podatusauctup cf\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{podatusauctdown} $n$ $p$], for example:
+ \item[\keyindex{podatusauctdown}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6772,12 +7738,12 @@ of.}:
\notes \podatusauctdown ab\enotes
\notes \podatusauctdown ac\enotes
\notes \podatusauctdown cf\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{pesquassusauctdown} $n$ $p$], for example:
-
- \begin{music}
+ \item[\keyindex{pesquassusauctdown}\twop], for example:
+
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6788,12 +7754,12 @@ of.}:
\startextract
\notes \pesquassusauctdown ab\enotes
\notes \pesquassusauctdown ae\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{quilismapesauctdown} $n$ $p$], for example:
-
- \begin{music}
+ \item[\keyindex{quilismapesauctdown}\twop], for example:
+
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6804,12 +7770,12 @@ of.}:
\startextract
\notes \quilismapesauctdown ab\enotes
\notes \quilismapesauctdown ae\enotes
- \endextract
+ \zendextract
\end{music}
-
- \item[\keyindex{torculusauctdown} $n$ $p$ $q$], for example:
- \begin{music}
+ \item[\keyindex{torculusauctdown}\threep], for example:
+
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6821,12 +7787,12 @@ of.}:
\notes \torculusauctdown aba\enotes
\notes \torculusauctdown cfd\enotes
\notes \torculusauctdown afc\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{Porrectusauctdown} $n$ $p$ $q$], for example:
+ \item[\keyindex{Porrectusauctdown}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6839,12 +7805,12 @@ of.}:
\notes \Porrectusauctdown bNd\enotes
\notes \Porrectusauctdown bMe\enotes
\notes \Porrectusauctdown bLe\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{climacusauctdown} $n$ $p$ $q$], for example:
+ \item[\keyindex{climacusauctdown}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6856,12 +7822,12 @@ of.}:
\Notes \climacusauctdown cbN\enotes
\Notes \climacusauctdown caM\enotes
\Notes \climacusauctdown aNM\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{scandicusauctdown} $n$ $p$ $q$], for example:
+ \item[\keyindex{scandicusauctdown}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6872,12 +7838,12 @@ of.}:
\startextract
\notes \scandicusauctdown abe\enotes
\notes \scandicusauctdown ceg\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{salicusauctdown} $n$ $p$ $q$], for example:
+ \item[\keyindex{salicusauctdown}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6888,12 +7854,12 @@ of.}:
\startextract
\Notes \salicusauctdown abe\enotes
\Notes \salicusauctdown ceg\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{clivisdeminut} $n$ $p$], for example:
+ \item[\keyindex{clivisdeminut}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\setsize1{\Largevalue}
\instrumentnumber 1
@@ -6904,12 +7870,12 @@ of.}:
\startextract
\notes \clivisdeminut ba\enotes
\notes \clivisdeminut ca\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{podatusdeminut} $n$ $p$], for example:
+ \item[\keyindex{podatusdeminut}\twop], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6921,12 +7887,12 @@ of.}:
\notes \podatusdeminut ab\enotes
\notes \podatusdeminut ac\enotes
\notes \podatusdeminut cf\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{torculusdeminut} $n$ $p$ $q$], for example:
+ \item[\keyindex{torculusdeminut}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6938,12 +7904,12 @@ of.}:
\notes \torculusdeminut aba\enotes
\notes \torculusdeminut cfd\enotes
\notes \torculusdeminut afc\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{torculusdebilis} $n$ $p$ $q$], for example:
+ \item[\keyindex{torculusdebilis}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6955,12 +7921,12 @@ of.}:
\notes \torculusdebilis aba\enotes
\notes \torculusdebilis cfd\enotes
\notes \torculusdebilis afc\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{Porrectusdeminut} $n$ $p$ $q$], for example:
+ \item[\keyindex{Porrectusdeminut}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6973,12 +7939,12 @@ of.}:
\notes \Porrectusdeminut bNd\enotes
\notes \Porrectusdeminut bMe\enotes
\notes \Porrectusdeminut bLe\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{climacusdeminut} $n$ $p$ $q$], for example:
+ \item[\keyindex{climacusdeminut}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -6990,12 +7956,12 @@ of.}:
\Notes \climacusdeminut cbN\enotes
\Notes \climacusdeminut caM\enotes
\Notes \climacusdeminut aML\enotes
- \endextract
+ \zendextract
\end{music}
- \item[\keyindex{scandicusdeminut} $n$ $p$ $q$], for example:
+ \item[\keyindex{scandicusdeminut}\threep], for example:
- \begin{music}
+ \begin{music}\nostartrule
\elemskip 10pt
\instrumentnumber 1
\setsize1{\Largevalue}
@@ -7006,14 +7972,12 @@ of.}:
\startextract
\notes \scandicusdeminut abe\enotes
\notes \scandicusdeminut ceg\enotes
- \endextract
+ \zendextract
\end{music}
\end{description}
- %\check
- \subsection{musixgui} \ttxem{musixgui.tex} provides some macros for
-typesetting \itxem{guitar tablatures}. Most times they are used above modern
-music. To give an example:
+\subsection{musixgui}\ixtt{musixgui.tex} Provides macros for
+typesetting modern style \itxem{guitar tablatures}. For example:
\begin{music}
\hsize130mm
@@ -7073,33 +8037,33 @@ music. To give an example:
\end{music}
\medskip
-\keyindex{guitar} sets the grid, the chord name, the relative barre and play
-indicators. As example the first chord in upper example was coded as:
+The macro \keyindex{guitar} sets the grid, chord name, barre type,
+and on-off indicators for the strings. For example, the first
+chord in above example was coded as
\verb|\guitar G{}o-----\gbarre3\gdot25\gdot35\gdot44|
-where the first argument is put above the grid to indicate the chord name, the
-second is empty (relative barre) and the other six indicates if the string
-is played with either \verb|x|, \verb|o| or \verb|-|. The dots are set with
+\noindent where the first argument is the text to be placed above the grid, the
+second is empty (relative barre), and the next six characters indicate if the string
+is played or not with either \verb|x|, \verb|o| or \verb|-|. The dots are set with
\keyindex{gdot}~$sb$ where the $s$ is the string and $b$ is the barre. The
-rule is set with \keyindex{gbarre}~$b$ where $b$ indicates the barre.
+rule is set with \keyindex{gbarre}~$b$ where $b$ indicates the position of the barre.
-The whole chord may be vertically shifted with
-\keyindex{raiseguitar}\verb|{|$n$\verb|}|, where $n$ is a number
-in units of \keyindex{internote}. It might be useful to reserve additional
+The whole symbol may be vertically shifted with
+\keyindex{raiseguitar}\onen, where $n$ is a number
+in units of \keyindex{internote}. When using guitar tablatures, it might be
+useful to reserve additional
space above the chord by advancing \keyindex{stafftopmarg} to
something like \verb|stafftopmarg=10\Interligne|.
-If you need the chords more often, it might be useful to define your own
-macros, e.g.~saying:
+For frequently used chords, it might be useful to define your own
+macros, e.g.
\verb|\def\Dmajor{\guitar D{}x-----\gdot42\gdot53\gdot62}%|
- \subsection{*musixlit}\label{litu}\label{otherbars}
- Provides a way of coding intermediate between gregorian and baroque/romantic,
-still used\footnote{Was written by A. {\sc Egler}. To my knowledge (D. T.),
-liturgical works are either written with modern music quotation, or using the
-gregorian \itxem{neumes} which have been normalized in 1905.} for liturgical
-works!
+
+ \subsection{musixlit}\label{litu}\label{otherbars}
+ Provides a notation style intermediate between gregorian and baroque, for
+example
\makeatletter
\catcodesmusic
@@ -7177,7 +8141,7 @@ works!
\end{music}
This package provides:
- \begin{itemize}
+ \begin{itemize}\setlength{\itemsep}{0ex}
\item\keyindex{oldGclef} which replaces the ordinary G clef with an old one,
using (for instrument 2 as an example):
\verb|\settrebleclefsymbol2\oldGclef|
@@ -7194,7 +8158,8 @@ pitch $p$.
\item\keyindex{chl} $p$ provides a square headed half note with stem down at
pitch $p$.
- \item\keyindex{cnqu} $p$ and \keyindex{cnql} $p$ provide a stemless square headed
+ \item\keyindex{cnqu} $p$ and \keyindex{cnql} $p$ provide a stemless square
+headed
quarter note at pitch $p$.
\item\keyindex{cnhu} $p$ and \keyindex{cnhl} $p$ provide a stemless square
@@ -7217,24 +8182,25 @@ the staff vertical width.
staffs, rather that over them. This is an arbitrary question of taste...
\end{itemize}
+ \subsection{musixlyr} \ixtt{musixlyr.tex}
+ Enables the recommended method for adding lyrics to a score (see \ref{musixlyr}).
+ \subsection{musixmad} \ixtt{musixmad.tex} Increases the number of
+instruments, slurs and beams up to twelve. When using this extension, it is
+not necessary to explicitly input \verb|musixadd.tex|.
- \subsection{musixmad} \ttxem{musixmad.tex} increases the number of
-instruments, slurs and beams up to twelve.
- \subsection{musixper}\label{perc}
- Provides specific percussion symbols, especially \keyindex{drumclef}
-(used in section \ref{sectiondrum}). These definitions cause problems
-since drum and percussion notation is not standardized.
-So it might be clever to specifiy the names of instruments for each
-used symbol.
+\subsection{musixper}\label{perc}
+Provides special symbols intended for percussion parts. Included are a
+\ital{drum clef}---comprising two vertical parallel lines---and notes with
+various specially shaped heads. The note symbols that are available are as
+follows:
- %\check
- \begin{itemize}
+ \begin{itemize}\setlength{\itemsep}{0ex}
\item The \raise.5ex\hbox{\musixchar113}~{}~symbol which is obtained using the
\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded with a
-``\verb|dc|'' (think of \ital{DiagonalCross} for e.g. closed \itxem{hihat}).
+``\verb|dc|'' (think of {\it d}iagonal {\it c}ross).
Available are
\keyindex{dcqu},
\keyindex{dcql},
@@ -7248,7 +8214,7 @@ Available are
\item The \raise.5ex\hbox{\musixchar112}~{}~symbol which is obtained using the
\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded with a
``\verb|dh|''
-(think of \ital{DiagonalcrossHalfcircle} for e.g. half open \itxem{hihat}).
+(think of {\it d}iagonal cross {\it h}alf open).
Available are
\keyindex{dhqu},
\keyindex{dhql},
@@ -7262,7 +8228,7 @@ Available are
\item The \raise.5ex\hbox{\musixchar111}~{}~symbol which is obtained using the
\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded with a
``\verb|do|''
-(think of \ital{DiagonalCross and O for circle} for open \itxem{hihat}).
+(think of {\it d}iagonal cross {\it o}pen).
Available are
\keyindex{doqu},
\keyindex{doql},
@@ -7274,8 +8240,8 @@ Available are
\keyindex{doccl}.
\item The \raise.5ex\hbox{\musixchar114}~{}~symbol which is obtained using the
-\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded with a
-``\verb|x|'' (e.g. for spoken text of songs).
+\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded by
+``\verb|x|'' (e.g.\ for spoken text of songs).
Available are
\keyindex{xqu},
\keyindex{xql},
@@ -7287,8 +8253,8 @@ Available are
\keyindex{xccl}.
\item The \raise.5ex\hbox{\musixchar115}~{}~symbol which is obtained using the
-\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded with a
-``\verb|ox|'' (.!.).
+\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded by
+``\verb|ox|'' .
Available are
\keyindex{oxqu},
\keyindex{oxql},
@@ -7300,8 +8266,8 @@ Available are
\keyindex{oxccl}.
\item The \raise.5ex\hbox{\musixchar118}~{}~symbol which is obtained using the
-\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded with a
-``\verb|ro|'' (think of \ital{RhOmbus} for e.g.~shaker).
+\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded by
+``\verb|ro|'' (think of {\it r}h{\it o}mbus).
Available are
\keyindex{roqu},
\keyindex{roql},
@@ -7313,8 +8279,8 @@ Available are
\keyindex{roccl}.
\item The \raise.5ex\hbox{\musixchar116}~{}~symbol which is obtained using the
-\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded with a
-``\verb|tg|'' (think of \ital{TrianGle} for e.g.~rattle).
+\verb|\qu|, \verb|\qb|, \verb|\cu|, etc. macros preceeded by
+``\verb|tg|'' (think of {\it t}rian{\it g}le).
Available are
\keyindex{tgqu},
\keyindex{tgql},
@@ -7325,9 +8291,10 @@ Available are
\keyindex{tgcl} and
\keyindex{tgccl}.
- \item The \raise.5ex\hbox to 1em{\musixchar117\hfil} symbol which is obtained using the
-\verb|\qu|, \verb|\qb|, \verb|\cu|, etc.~macros preceeded with a
-``\verb|k|'' (for bongos).
+ \item The \raise.5ex\hbox to 1em{\musixchar117\hfil}~{}~symbol which is obtained
+using the
+\verb|\qu|, \verb|\qb|, \verb|\cu|, etc.~macros preceeded by
+``\verb|k|'' .
Available are
\keyindex{kqu},
\keyindex{kql},
@@ -7338,8 +8305,142 @@ Available are
\keyindex{kcl} and
\keyindex{kccl}.
\end{itemize}
+
+The diamond shaped noteheads described in section \ref{diam} are also
+available, because \verb|musixper.tex| inputs \verb|musixdia.tex|.
+
+If any of the foregoing notes need to be dotted, you must use the explicit
+dotting macros \verb|\pt|, \verb|\ppt|, or \verb|\pppt| as described in
+section \ref{dots}.
+
+Since the usage of these note symbols is
+not standardized, it would be wise to include in the score a explanation
+of which symbol corresponds to which specific percussion instrument.
+
+A special \itxem{drum clef}---comprising two heavy vertical bars---can
+be made to replace the normal clef for the $n$-th intrument by saying
+\keyindex{setclefsymbol}\onen\keyindex{drumclef} .
+To cause this to appear at the right vertical position, the instrument should
+previously have been assigned a treble clef (or not explicitly assigned any
+clef, thereby giving it a treble clef by default).
+
+Percussion music might be written on a staff with either one or five lines.
+If there are several different percussions instruments it may be useful to
+use a five-line staff with a drum clef, and differentiate the instruments
+by the type of the note heads and the apparent
+pitch of the note on the staff. Here is an example of the
+latter\footnote{provided by Agusti {\sc Mart\'in Domingo}}:
+
+\medskip
+\begin{music}
+\generalmeter{\meterfrac44}
+\setclefsymbol1\drumclef
+\parindent0pt\startpiece
+\leftrepeat
+\Notes\zql f\rlap\qp\ibu0m0\xqb0{nn}\enotes
+\Notes\kzq d\zql f\zq j\xqb0n\tbu0\xqb0n\enotes
+\Notes\zql f\rlap\qp\ibu0m0\xqb0{nn}\enotes
+\Notes\kzq d\zql f\zq j\xqb0n\tbu0\xqb0n\enotes
+\bar
+\Notes\zql f\rlap\qp\ibu0m0\kqb0{nn}\enotes
+\Notes\xzq d\zql f\zq j\kqb0n\tbu0\kqb0n\enotes
+\Notes\zql f\rlap\qp\ibu0m0\kqb0{nn}\enotes
+\Notes\xzq d\zql f\zq j\kqb0n\tbu0\kqb0n\enotes
+\bar
+\Notes\zql f\rlap\qp\ibu0m0\oxqb0{nn}\enotes
+\Notes\oxzq d\zql f\zq j\kqb0n\tbu0\oxqb0n\enotes
+\Notes\zql f\rlap\qp\ibu0m0\oxqb0{nn}\enotes
+\Notes\oxzq d\zql f\zq j\kqb0n\tbu0\oxqb0n\enotes
+\setrightrepeat\endpiece
+\end{music}
+\noindent Its coding is
+ \begin{quote}\begin{verbatim}
+\begin{music}
+\instrumentnumber{1}
+\generalmeter{\meterfrac44}
+\setclefsymbol1\drumclef
+\parindent0pt\startpiece
+\leftrepeat
+\Notes\zql f\rlap\qp\ibu0m0\xqb0{nn}\enotes
+\Notes\kzq d\zql f\zq j\xqb0n\tbu0\xqb0n\enotes
+\Notes\zql f\rlap\qp\ibu0m0\xqb0{nn}\enotes
+\Notes\kzq d\zql f\zq j\xqb0n\tbu0\xqb0n\enotes
+\bar
+\Notes\zql f\rlap\qp\ibu0m0\kqb0{nn}\enotes
+\Notes\xzq d\zql f\zq j\kqb0n\tbu0\kqb0n\enotes
+\Notes\zql f\rlap\qp\ibu0m0\kqb0{nn}\enotes
+\Notes\xzq d\zql f\zq j\kqb0n\tbu0\kqb0n\enotes
+\bar
+\Notes\zql f\rlap\qp\ibu0m0\oxqb0{nn}\enotes
+\Notes\oxzq d\zql f\zq j\kqb0n\tbu0\oxqb0n\enotes
+\Notes\zql f\rlap\qp\ibu0m0\oxqb0{nn}\enotes
+\Notes\oxzq d\zql f\zq j\kqb0n\tbu0\oxqb0n\enotes
+\setrightrepeat\endpiece
+\end{music}
+ \end{verbatim}\end{quote}
+
+Here is an example of a single-line percussion staff using
+diamond-shaped note heads:
+
+\begin{music}
+\parindent 19mm
+\instrumentnumber{3}
+\setname1{keyboard} \setname2{drum} \setname3{monks}
+\setlines2{1}
+\setlines3{4}
+\setinterinstrument1{-2\Interligne}% less vertical space above
+\setinterinstrument2{-2\Interligne}% and below the percussion
+\sepbarrules
+\setsign1{-1} % one flat at keyboard
+\generalmeter{\meterfrac24}
+\setmeter3\empty
+\setclef3\alto
+\setclef1\bass
+\setstaffs12 % 2 staffs at keyboard
+\setclefsymbol3\gregorianCclef % gregorian C clef at instrument 3
+\setclefsymbol2\drumclef % cancel G clef at instrument 2
+\startextract
+\Notes\hu F|\zh c\hu h&\dnq4&\squ{acd}\enotes\bar
+\NOtes\qu I|\zq N\qu d&\qp&\diapunc f\enotes
+\NOtes\qu J|\zq a\qu e&\ynq4&\diapunc e\enotes\bar
+\notes\hu G|\zh b\hu d&\dnq4&\zsqu d\rsqu g\squ{hgh}\enotes
+\endextract
+\end{music}
+\noindent which is coded as follows:
+
+\begin{verbatim}
+\parindent 19mm
+\instrumentnumber{3}
+\setname1{keyboard} \setname2{drum} \setname3{monks}
+\setlines2{1}
+\setlines3{4}
+\setinterinstrument1{-2\Interligne}% less vertical space above
+\setinterinstrument2{-2\Interligne}% and below the percussion
+\sepbarrules
+\setsign1{-1} % one flat at keyboard
+\generalmeter{\meterfrac24}
+\setmeter3{\empty}
+\setclef3{\alto}
+\setclef1{\bass}
+\setstaffs1{2} % 2 staffs at keyboard
+\setclefsymbol3{\gregorianCclef} % gregorian C clef at instrument 3
+\setclefsymbol2{\drumclef} % cancel G clef at instrument 2
+\startextract
+\end{verbatim}
+
+% (DAS) Sorry, guys, I couldn't figure out how to get the |'s to work in this
+% verbatim.
+%
+\vskip-11pt
+\def\Vert{{\tt\char'174}}
+\noindent\verb|\Notes\hu F|\Vert\verb|\zh c\hu h&\dnq4&\squ{acd}\enotes\bar|\\
+\verb|\NOtes\qu I|\Vert\verb|\zq N\qu d&\qp&\diapunc f\enotes|\\
+\verb|\NOtes\qu J|\Vert\verb|\zq a\qu e&\ynq4&\diapunc f\enotes\bar|\\
+\verb|\notes\hu G|\Vert\verb|\zh b\hu d&\dnq4&\zsqu d\rsqu g\squ{hgh}\enotes|\\
+\verb|\endextract|
+
\subsection{musixpoi}
- Adds pointed compact definitions of notes.
+ Adds definitions of less common singly and doubly dotted notes.
Available are
\keyindex{ccup},
\keyindex{zccup},
@@ -7367,24 +8468,22 @@ Available are
\keyindex{zcccclpp}.
%\check
- \subsection{musixstr}\label{musixstr}\index{musixstr@{\tt musixstr.tex}}
- This file provides a set of indications for \itxem{string instruments} (e.g.
-\ixem{violin}) execution, provided by Werner {\sc Icking}\index{Icking,
-W.@{\sc Icking, W.}}.
-
+ \subsection{musixps}\label{musixps}\index{musixps@{\tt musixps.tex}}
+ Activates type K postscript slurs, ties, and hairpins (see \ref{PostscriptSlurs}).
- {\input musixstr
- The symbols described below should be posted at the wanted place using
- \verb|\zcharnote|$p$\verb|{|$<command-name>$\verb|}|.
+ \subsection{musixstr}\label{musixstr}\index{musixstr@{\tt musixstr.tex}}
+ Provides bowing and other symbols for \itxem{string instruments}\footnote{provided
+by Werner {\sc Icking}}. The symbol can be posted at the desired position using
+ \verb|\zcharnote|\pitchp\verb|{|$command$\verb|}|. The available symbols and
+their meanings are as follows:
-\begin{quote}\begin{description}
+{\input musixstr
+\begin{quote}\begin{description}\setlength{\itemsep}{0ex}
\item[\hbox to 1em{\AB}~: \keyindex{AB} or \keyindex{downbow}] down-bow
-
\item[\hbox to 1em{\AUF}~: \keyindex{AUF} or \keyindex{upbow}] up-bow
-
\item[\hbox to 1em{\SP}~: \keyindex{SP}] at the top of bow
\item[\hbox to 1em{\FR}~: \keyindex{FR}] at the nut of bow
@@ -7408,20 +8507,17 @@ W.@{\sc Icking, W.}}.
%\check
\subsection{musixsty}\index{musixsty@{\tt musixsty.tex}}
- This file is made for non \TeX perts and/or lazy score typesetters. Although
-related to \musixtex, it has little to see with music, but it helps writing
-all surrounding texts, like \itxem{titles}, \itxem{author names}, historical
-comments, etc. It provides
- \begin{itemize}
- \item a set of font definitions of common use, such as \verb|\tenrm|,
-\verb|\eightrm|, etc.,
- \item a reasonable setting of \keyindex{hsize}, \keyindex{vsize},
-\keyindex{hoffset}, \keyindex{voffset} dimensions in order to have a good
-layout fit for European A4 paper\footnote{People addicted to \itxem{legal} or
-other paper sizes should correct it for their own purpose.}
+ Provides certain text-handling facilities for titles, footnotes, and other
+items not related to lyrics. It should not be used with \LaTeX. It includes
+ \begin{itemize}\setlength{\itemsep}{0ex}
+ \item definitions for commonly used fonts such as \verb|\tenrm|,
+\verb|\eightrm|, etc.;
+ \item definitions of \keyindex{hsize}, \keyindex{vsize},
+\keyindex{hoffset}, \keyindex{voffset} suitable for A4 paper; those using
+other sizes may wish to modify it once and for all;
\item a set of text size commands:
- \begin{description}
+ \begin{description}\setlength{\itemsep}{0ex}
\item[\keyindex{eightpoint}] which sets the usual \keyindex{rm},
\keyindex{bf}, \keyindex{sl}, \keyindex{it} commands to 8 point font size;
\item[\keyindex{tenpoint}] which sets the usual \keyindex{rm},
@@ -7432,69 +8528,62 @@ other paper sizes should correct it for their own purpose.}
\item[\keyindex{twtypoint}] to get 20.74 point font size;
\item[\keyindex{twfvpoint}] to get 24.88 point font size;
\end{description}
- \item a set of commands to make easy piece titles:
- \begin{itemize} \item \keyindex{author} or
+ \item commands for creating titles:
+ \begin{itemize}\setlength{\itemsep}{0ex} \item \keyindex{author} or
\keyindex{fullauthor} to be put at the right of the first page, below the
-title of the piece; the calling sequence is, for example:
+title of the piece; the calling sequence is, for example
\verb| \author{Daniel TAUPIN\\organiste \`a Gif-sur-Yvette}|
- \noindent where the \verb|\\| makes the author's name displayed on two or
-several lines.
-
+ \noindent where the \verb|\\| causes the author's name to be displayed on
+two lines;
- \item \keyindex{shortauthor} to be put at the bottom of each page,
- \item \keyindex{fulltitle} which is the big main title of the piece,
- \item \keyindex{subtitle} is displayed below the main title of the piece,
+ \item \keyindex{shortauthor} to be put at the bottom of each page;
+ \item \keyindex{fulltitle} which is the main title of the piece;
+ \item \keyindex{subtitle} is displayed below the main title of the piece;
\item \keyindex{shorttitle} or \keyindex{title}
- which is the title repeated at the bottom of each page,
- \item \keyindex{othermention} which is displayed on the left of the page, in
-front of the author's name (it may contain several \verb|\\| to display it on
-several lines,
- \item \keyindex{maketitle} which displays all the previous stuff.
+ which is the title repeated at the bottom of each page;
+ \item \keyindex{othermention} which is displayed on the left of the page,
+vertically aligned with author's name. It may contain \verb|\\| to display it on
+several lines;
+ \item \keyindex{maketitle} which displays all the previous stuff;
\end{itemize}
- \item Some additional commands to make \itxem{footnotes}.
- These commands are
- \begin{itemize}
- \item The normal Plain-\TeX\ \keyindex{footnote} command which has two
-arguments --- not only one as in \LaTeX\index{LaTeX@\protect\LaTeX} --- namely
-the label of the footnote, i.e. any sequence of characters and not only
-figures, and the text of the footnote.
-
-\begin{important} the \verb|\footnote| command does not work inside
-boxes\footnote{This is not a \TeX-bug, this is a feature!}, therefore this
-command must not be issued within music. But another alternate feature is
-provided (see below).
- \end{important}
+ \item commands for making \itxem{footnotes}:
+ \begin{itemize}\setlength{\itemsep}{0ex}
+ \item The normal Plain-\TeX\ \keyindex{footnote} command, which has two
+arguments---not just one as in \LaTeX\protect\index{LATEX@\LaTeX}---namely
+the label of the footnote, which can be any sequence of characters, and
+the text of the footnote. This command does not work inside
+boxes, so it cannot be issued within music;
\item The \keyindex{Footnote} command, which counts the footnotes and uses a
-number as the label of the foot note (equivalent to \LaTeX's \verb|\footnote|
-command). The same restriction applies concerning footnotes within the music
-coding.
+number as the label of the footnote (equivalent to \LaTeX's \verb|\footnote|
+command). The same restriction as with \verb|\footnote| applies concerning
+its use within the music coding;
\item The \keyindex{vfootnote} command, taken from the Plain-\TeX, which
-makes the footnote itself at the bottom of the current page, but does not put
-the footnote label at the place it is referred in the main text.
-
- Thus, if a footnote is needed whose reference lies inside the music itself,
-the music typesetter must perform it in two steps:
+places a footnote at the bottom of the current page, but does not put
+the footnote label at the place the command is entered in the main text. This
+also may not be used within music, but if a footnote is needed whose reference
+lies inside the music, it can be entered in two steps:
\begin{enumerate}
- \item quote the reference inside the music, using \verb|zcharnote| for
-example,
- \item post the footnote itself, using \verb|\vfootnote| outside the music,
-either before \keyindex{startpiece} (or \verb|\debutmorceau| with {\tt
-musixcpt.tex}) or between \keyindex{stoppiece} and
-\keyindex{piececont} or equivalent commands.
+ \item manually insert the reference inside the music, using e.g. \verb|zcharnote|;
+ \item post the footnote itself with \verb|\vfootnote| outside the music,
+either before \keyindex{startpiece} or between \keyindex{stoppiece} and
+\keyindex{contpiece} or equivalent commands.
\end{enumerate}
\end{itemize}
\end{itemize}
- Note that \verb|musixsty| should not be used with \LaTeX.
+ \subsection{musixtmr}\index{musixtmr@{\tt musixtmr.tex}}
+ Replaces the standard \texttt{musixtex} fonts by the Times series fonts,
+ as default (see \ref{musixtmr}).
+
\subsection{musixtri}\index{musixtri@{\tt musixtri.tex}}
-Provides triple pointed note symbols.
+Provides triply dotted note symbols.
Available are:
\keyindex{lpppt},
\keyindex{whppp},
@@ -7516,364 +8605,346 @@ Available are:
\keyindex{qbppp} and
\keyindex{zqbppp}.
-\section{Often reported problems and discussion faxilities}
-
-\subsection{Newsgroups}\index{newsgroups} No specific newsgroup exist
-concerning \mutex, \musictex{} or \musixtex; nevertheless W. Icking saw
-articles on this topic in {\tt comp.text.tex} as well as in {\tt
-de.comp.text.tex}.
+ \subsection{tuplet}\index{tuplet@{\tt tuplet.tex}}
+ Causes the figure in xtuplets to be printed within a small gap in the bracket
+(see \ref{tuplet}).
-\subsection{Mailing list} A mailing-list does exist which was formerly
-dedicated to \mutex, and now to \musictex{} and mostly to \musixtex.
-You can subscribe to it by
-sending an e-mail to {\tt mutex-request@gmd.de}
-with the message line\index{mailing list}
+% DAS Discussed elsewhere
+%\section{The \TeX-music Mailing List}
+%
+%If you decide to learn to use \musixtex, you are likely to wish that there were
+%someone to answer your questions. That is exactly what you'll find on the \TeX-music
+%mailing list: experts from all over the world with lots of experience with
+%\musixtex{} and related software, who are glad to answer questions and help solve
+%problems. You can find out more about the list and sign up at
+%\href{http://icking-music-archive.org/mailman/listinfo/tex-music}
+%{\underline{\tt http://icking-music-archive.org/mailman/listinfo/tex-music}}.
+
+
+\chapter{Acquiring, Installing, and Using \musixtex}\label{installation}
+
+This chapter will assume that \TeX\
+is installed. Most \unix\ or Linux systems come with \TeX\ already installed.
+If using MS Windows, you'll need to have manually installed some version of
+\TeX. MiK\TeX\ is the most common variant by far and therefore will be assumed. If
+you need to install MiK\TeX, you can get the software from
+\href{http://www.miktex.org/}{\underline{\texttt{http://www.miktex.org}}}
+or from CTAN. The Werner Icking Archive contains excellent
+\href{http://icking-music-archive.org/software/musixtex/musixwinstall.pdf}%
+{\underline{instructions for installing MiK\TeX}}%
+\footnote{Thanks to Eva {\sc Jaksch}}.
+
+\section{Where to get \musixtex: the Werner Icking Archive}\label{getstuff}
+
+As already mentioned, 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}}.
+The most up-to-date versions of \musixtex\ and friends are located in the
+\href{http://icking-music-archive.org/software/indexmt6.html}{\underline{software}}
+section of the archive. The stable distribution of \musixtex\ will be contained in
+\href{http://icking-music-archive.org/software/musixtex/musixtex.zip}
+{\underline{\verb|musixtex.zip|}}, which is intended to serve all operating
+systems.
+The CTAN servers are official mirrors. The main CTAN server's
+web link is\\
+\href{http://www.ctan.org/tex-archive/macros/musixtex/taupin/}
+{\underline{http://www.ctan.org/tex-archive/macros/musixtex/taupin/}}
+and the FTP link is\\
+\href{http://ftp.ctan.org/tex-archive/macros/musixtex/taupin/}
+{\underline{http://ftp.ctan.org/tex-archive/macros/musixtex/taupin/}}.
+
+\subsection{End of line char in text files}
+The files in the Werner Icking Archive have been contributed by such a wide
+range of authors that there is no common standard for the line endings in text files.
+But the key text files serve as input to programs such as \TeX\ and \MF\
+which are insensitive to this. If you use a PC and run into problems using any of
+these text files, you might be able to solve them with the program
+\verb|flip.exe| which comes with the \musixtex\ distribution. Run it from a
+command window by typing \verb|flip -m| $<$filename$>$, and it will
+convert line endings from the \unix to MS-DOS convention.
+
+\subsection{Pre-installed \musixtex}
+Many versions of \TeX\ include \musixtex\ as a package. The included version is likely
+to be out of date and probably should not be used. When an archived version is
+downloaded and properly installed, it will supersede the pre-installed version.
+
+\section{Installing \musixtex}
+The most useful \musixtex\ uses Postscript and produces PDF files.
+The installation is very system dependent and therefore beyond the scope of this manual.
+You may refer to the installation manual or to the HOWTO files in the archive for either
+\href{http://icking-music-archive/software/musixtex/musixwinstall.pdf}
+{\underline{Windows}}\ or
+\href{http://icking-music-archive/software/musixtex/musixtex-for-unix.html}
+{\underline{\unix}}.
+Whatever course you choose, there are really just a few
+fundamental tasks you must accomplish:
+\begin{itemize}\setlength{\itemsep}{0ex}
+ \item \musixtex\ comprises some \TeX\ source files (\verb|.tex|, \verb|.sty|),
+font files, and the executable \verb|musixflx|. The \TeX\ sources and font
+files must be placed in locations where \TeX\ can find them;
+ \item \TeX\ must be advised of the locations of those files;
+ \item If you are installing any postscript fonts, you'll have to add a map
+file somewhere in the \TeX\ file structure, and locate and modify a configuration
+file such as \verb|config.ps| to record the addition of the map file.
+ \item \verb|musixflx| must be placed in a folder that is in your search path,
+so it can be executed from your working directory;
+ \item As stated before, to compile a score, you must run in sequence \verb|tex|, \verb|musixflx|,
+and \verb|tex| again. This will produce a \verb|.dvi| file;
+ \item To view the result, convert the file to
+postscript with \textbf{dvips} and then view it with a postscript viewer such
+as \textbf{GSview} and \textbf{ghostscript}, or convert the \verb|.dvi|
+directly to a PDF file with \textbf{pdftex} and then view it with any PDF viewer
+such as \textbf{Adobe Reader}. You also can use a DVI viewer, but if you are using type K postscript slurs, note that DVI viewers will not display the slurs.
+\end{itemize}
-{\tt subscribe}
-\subsection{FAQs}\index{FAQ}
+\section{Running Musix\TeX\ }
-{\tt gmd.de}, too, has a FAQ which is presently out-of-date and quite unusable
-since it displays many questions and comments without giving the answer.
-However, it will be probably enhanced in a near future. This
-FAQ can be accessed using {\tt
-ftp}:
+In most systems the commands run in a shell. Unix people are familiar with it.
+Also in MS Windows systems, there are a large number of editor/shell programs. Although not recommended, you always can use the DOS
+\verb|cmd| shell (\verb|cmd.exe|).
-{\tt ftp://ftp.gmd.de/music/mutex/faq}
-\noindent and the archive of the mailing list may be accessed also by {\tt
-ftp}:
+In the examples, a file \verb|mymp|
+(\textbf{my} \textbf{m}aster\textbf{p}iece) is used, for demonstrating
+the batch commands.
-{\tt ftp://ftp.gmd.de/music/mutex/archive}
-\noindent or:
-{\tt http://www.gmd.de/Mail/}
+\subsection{Batch commands for making DVI and postscript (MS Windows)}
- {\tt ftp.gmd.de} also contains a lot of stuff concerning music and
-typesetting music, which can be accessed by WWW at:
+This commands are available in the \musixtex\ distribution. They produce
+a DVI file that can be displayed by a viewer
+(normally a part of the \TeX\ installation), or/and a Postscript file (normally with GSview).
-{\tt http://www.gmd.de/Misc/Music/}
+After running \TeX\ on a music file, \verb|musixflx| must run. The program \verb|musixflx| calculates the number of bars on a system (music line), in order to have a nice layout. Then, \TeX\ must run again.
+When the paths to the binaries and the batch files are set properly, then the following commands can be used as is.
+\subsubsection{Using \TeX\ }
+The \ixem{musixtex.bat} command fulfills the sequence \texttt{\TeX\ $\Rightarrow$ musixflx $\Rightarrow$ \TeX}~.
-\chapter{Installation}\label{installation}
+\begin{quote}\begin{verbatim}
+rem musixtex.bat
+if not exist %1.tex goto end
+if exist %1.mx1 del %1.mx1
+if exist %1.mx2 del %1.mx2
+tex %1
+if errorlevel 2 goto end
+musixflx %1
+if errorlevel 1 goto end
+tex %1
+:end
+\end{verbatim}\end{quote}
+The next command (\verb|mupsgs.bat|) processes \verb|mymp.tex| and makes a Postscript file and dispays the file.
+\begin{quote}\begin{verbatim}
+rem mupsgs.bat
+call musixtex.bat %1
+DVIPS.EXE -e0 -t a4 -P pdf -G0 %1.dvi
+gsview32.exe %1.ps
+\end{verbatim}\end{quote}
+The \verb|dvips| output looks a little bit nicer using the options
+\verb|-e0| (character drift value~=~0) and \verb|-G0| (shift low chars
+to higher position).
+\verb|-t a4| is for a4 paper (\verb|-t letter| for letter format).
+If the output is to be converted in Adobe Acrobat pdf format, the option \verb|-P pdf|
+(load \verb|config.pdf|) is needed.
-\section{*Getting the stuff}
+If you want to make a PDF output, you may add the line (after \verb+dvips+):
-As seen before, all the files are available at \itxem{anonymous ftp}
-\verb|hprib.lps.u-psud.fr| (193.55.39.152) in the directory
+\noindent{\small
+\verb+gswin32c -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -r600 -sOutputFile=%1.pdf -c save pop -f %1.ps+
+}
- {\tt /pub/musixtex}
+\subsubsection{Using La\TeX\ }
+Replace ``\verb+tex+'' by ``\verb+latex+'' in the file \verb+musixtex.bat+~.
- The {\tt *.mf} source files are in
- {\tt /pub/musixtex/mf}
+\subsection{Running \musixtex\ without a shell}
+You also may run the commands without a shell.
+To forward the argument in the batch file,
+use an other batch file which stays in the same directory as your
+masterpiece \verb|mymp.tex| and has the same name: \verb|mymp.bat|~.
+\verb|mymp.bat| consists of 1 line: \verb|musixtex.bat %~n0|~.
-\noindent and the {\tt *.tfm} files are in
+\noindent Thus \verb|mymp.bat| passes his own name (\verb|mymp|) via \verb|%~n0|
+to the \verb|musixtex.bat| command.
- {\tt /pub/musixtex/tfm}
+Here are four examples of batch files, dependent of the method you are using.
+\endcatcodesmusic
+%\begin{quote}\begin{verbatim}
+\begin{center}
+\begin{tabular}{|l|l|l|}
+\multicolumn{3}{c}{Choose only one batch file}\\[.4ex]\hline
+Batch file for&making DVI&making postscript\\\hline
+name &\verb+rem mymp.bat+&\verb+rem mymp.bat+\\
+contents&\verb+musixtex.bat %~n0+&\verb+mupsgs.bat %~n0+\\\hline
+\end{tabular}
+%\end{verbatim}\end{quote}
+\end{center}
-\noindent Besides, this manual is in
+\subsection{Running \musixtex\ without giving a file name}
+If you want to process i.e.\ all \texttt{.tex} files in a directory, then you could make a batch file
+\texttt{texall.bat} with the following commands:
- {\tt /pub/musixtex/musixdoc.ps}
+\begin{quote}\begin{verbatim}
+rem texall
+for /F %%I in ('dir /B *.tex') do call mupsgs.bat %%~nI
+\end{verbatim}\end{quote}
- Another directory, namely {\tt /pub/music\_zips} normally contains {\tt
-musixtex.zip} which contains all the distribution for PC (\ixem{MS-DOS})
-computers. This is only for {\tt ftp}-ing convenience since all source files
-are directly available in the general directory and subdirectories. In
-addition a set of examples (i.e. the files whose name does not begin with
-``\verb|musix|'') is packed into \ttxem{musixexa.zip} and this manual is also in
-\ttxem{musixdoc\_ps.zip} (the PostScript version) and
-\ttxem{musixdoc\_lj.zip} (the PCL version for Laserjets).
-Finally the PK files of specific fonts are provided in \ttxem{musixpk.zip},
-\ttxem{musixpk3.zip} (300 and 360 dpi) and \ttxem{musixpk6.zip} (600 dpi);
-getting these files is useless if you are able to \MF{} the files whose {\tt
-*.mf} are provided in the main package.
+Of course, this command also works if there is only one file in a directory, which means you
+may use \texttt{texall.bat} for a single file, without giving an argument.
-{\sl\noindent CAUTION: the zipped files are provided in the PC line coding,
-i.e. with {\tt <cr><lf>} at line ends, rather than single {\tt <lf>} as in the
-\unix{} coding. This means that \unix{} users must carefully unzip these files
-using the ``{\tt-a}'' (our ``{\tt-aa}'' options of {\tt unzip} to get correct
-coding of the source files. Other wise they would find a lot of ``{\tt\^{}M}'' in
-their files, which may cause further troubles.}\index{PC end of line
-coding}\index{\^{}M}
+\chapter{\musixtex\ examples}
- Besides, /unix{} users can also --- when in directory {\tt /pub} --- ask for:
+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 \verb|musixdoc.tex| to see the coding.
- {\tt get musixtex.tar}\quad or
+Other useful examples cannot be embedded in the source, either because they are
+meant to be in \TeX, not La\TeX, or because they are simply to large. For
+these the source files also are provided separately.
- {\tt get musixtex.tar.Z}\quad or
+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.
- {\tt get musixtex.tar.gz}\quad and even
+\section{Small examples}
- {\tt get musixtex.zip}
+\begin{itemize}\setlength{\itemsep}{0ex}
- Then, the {\tt hprib.lps.u-psud.fr} server will perform required collection
-and/or compression ``on-the-fly''. Note that in that case the source files
-will be in the \unix{} coding rather than PC coding of end of lines. Usually,
-this is harmless for PC editors and \TeX{} motors, but who knows...
-
+\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}).
-\ital{Fonts}\index{fonts} are provided in {\tt musixtex.zip} as {\tt *.mf}
-files but also as {\tt *.tfm} and {\tt*.pk} files for 300~dpi printers or
-previewers. Other values of the \ixem{dpi} parameter are also provided in
-\verb|musixpk*.zip|.
+\item{\tt 8bitchar.tex}~: Using 8bit characters. Here, the European
+character set is used. See section \ref{8bit} on page \pageref{8bit} for other sets.
-Needed fonts are {\tt musix20}, {\tt musix16}, {\tt musix13}, {\tt musix11},
-{\tt musix24}, {\tt musix29}, {\tt musixspx}\footnote{Inside this file are two
-types of piano brackets available. The default you can see printing this doc,
-the other you can see printing {\tt musicdoc}. If you prefer the other, which
-are designed by Stanislav Kneifl, follow the instruction inside {\tt
-musixsps.mf}},\index{Kneifl, S.@{\sc Kneifl, S.}}
- {\tt xslhu20}, {\tt xslhu16}, {\tt xslhu24}, {\tt xslhu29},
-{\tt xslhd20}, {\tt xslhd16}, {\tt xslhd24}, {\tt xslhd29},
-{\tt xslu20}, {\tt xslu16}, {\tt xslu24}, {\tt xslu29},
-{\tt xsld20}, {\tt xsld16}, {\tt xsld24}, {\tt xsld29},
-{\tt xslz20} and {\tt xslhz20}.
+\end{itemize}
-\section{Installing the fonts}
-\ital{All} files with the extension {\tt .tfm}\footnote{\TeX\ font metric,
-needed directly from binary for \TeX ing the examples or the doc.} must
-be copied in that directory, in which the other {\tt .tfm}'s are.
+\section{Full examples}
+All of these examples and many others are available in
+\href{http://icking-music-archive.org/software/musixtex/musixexa.zip}
+{\underline{\texttt{musixexa.zip}}} or
+\href{http://icking-music-archive.org/software/musixtex/musixexa-T112.tar.gz}
+{\underline{\texttt{musixexa-T112.tar.gz}}}. Some of them require the
+presence of \verb|musixcpt.tex| which makes examples created in
+Music\TeX\ compatible with \musixtex. Here we only 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.
-If you get the error message:
+\end{itemize}
-{\tt! Font ... not loadable: Metric (TFM) file not found.}
+\subsection{Other examples, provided by the authors of MusiX\TeX }
-\index{Metric (TFM) not found}\noindent this means you have not succeeded to
-install the {\tt .tfm}'s in the right directory. This is not a \musixtex\
-error, but a local \TeX\ implementation error/misunderstanding. Then read or
-re-read your \TeX\ installation doc, put the {\tt tfm}'s at the very right
-place and start again.
+\begin{itemize}\setlength{\itemsep}{0ex}
-The {\tt .tfm} only contains the width, height and depth of every character of
-a font and is the only needed font-file for \TeX ing. For previewing and/or
-printing you need the pixel fonts. On most systems they are packed and have
-the extension \verb|.pk|(but perhaps you need the \verb|.gf|-files or
-\verb|.300|-files or other: Ask your local \TeX-wizard\footnote{I have read a
-mail from somebody, who has said, that he is able --- because he is a
-professional --- to write an \verb|install| for installation of packages like
-\musixtex. Really? Do it.}!) Most needed and spreaded are fonts for
-\verb|dvi|-driver with resolution of 300dpi. Using em\TeX{} associated drivers
-the \verb|.pk|-fonts have to be copied in \verb|...\pixel.lj\300dpi\| as a
-default, and in general in a directory specified by the environment variable
-{\tt DVIDRVFONTS}\footnote{Look at {\tt dvidrv.doc} for more information.}. For
-other resolution refer your local manual or \TeX-wizard.
-
-\section{Building a format}\label{formatbuild}
-
-Introducing these files in a \itxem{format} (with \ixem{INITEX}) is a mean of
-saving computer time and memory. Besides, if you include {\tt musixcpt.tex} in
-your format, you will have a format compatible with \musictex\ and ---
-provided you made the symmetrical format for \musictex\ --- you can compile
-exactly the same source files with both \musictex\ and \musixtex, which is a
-good means of finding whether some strange behaviour is specific to one
-implementation of the other, or whether you made some general
-mistake\footnote{Not all authors have the same opinion :-). But I was told,
-that my opinion doesn't count, so forget it -- A.E.}...
-
-However, although having a \musixtex{} format saves much time, it can also
-lead to time wasting weird things in case of updates~: if you update your
-source of {\tt musixtex.tex} but not the format {\tt musixtex.fmt}, then
-running the command {\tt musixtex} will invoke the old unmodified format...
-
-\subsection{Starting from nil}
-\begin{enumerate}
- \item Build up a file called \verb|musixtex.ini| with following content:\\
-\begin{verbatim}
-\input plain % or dcplain or eplain or see later a safer way of doing
-\input musixtex
-% here can you add your most needed files from extension lib
-% musixcpt at very last !
-\end{verbatim}
-\verb|\def\fmtname{musixtex}\def\fmtversion{|{\tt\mxversion}\verb|}|
-\verb|\dump|
- \item \verb|initex musixtex.ini|\footnote{depends on your implementation}.
- \item \verb|tex &musixtex| \ital{jobname}\footnote{depends on your
-implementation}.
-\end{enumerate}
-\vfill
+ \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.
-\subsection{Starting from your usual plain format}
-\begin{enumerate}
- \item First, try to find --- on your favourite system --- whether \verb|tex|
-is an executable routine, or a \verb|tex.bat| command in MS-DOS or a
-\ital{shell} procedure under \unix.
- \item If \verb|tex| is a command try to find the ``{\tt initex}'' local
-command: usually it is either \verb|initex| or \verb|tex -i|.
- \item Try to find the name of the ``plain \TeX'' format (usually posted
-when \TeX ing anything).
- \item Then, \ital{mutatis mutandis}, assuming the ``{\tt initex}'' command
-has the name \verb|initex| and the ``plain \TeX'' format is \verb|plain|, run
-the shell command:
+ \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}
- \medskip
- \verb|initex \&plain musixtex.ins|
+\subsection{Additional documentation}
- \medskip\noindent which will produce a format file {\tt musixtex.fmt} which
-you shall put in the same directory as the others formats (hoping you have
-the access rights...). Note --- in \unix{} systems --- the backslash before
-the \verb|&| which tells the system to consider this character as a member of
-the command, not a batch execution indication. Once this is done, you can
-\musixtex\ any score you have written using a command such as:
+\begin{itemize}\setlength{\itemsep}{0ex}
- \medskip
- \verb|tex \&musixtex my-score.tex|
+ \item{\tt sottieng}~: Notation mistakes, provided by Jean-Pierre Coulon.
- \medskip\noindent that is, specifying your new format {\tt musixtex.fmt}
-instead of the usual {\tt plain.fmt}.
+\end{itemize}
- For \ixem{MS-DOS}/{\tt emTeX} users the format building command is:
+\section{Compiling musixdoc.tex}
+\subsection{Command sequence}
- \verb|tex386 -i &plain musixtex.ins|
+This is an example of a command sequence (in fact this is the normal procedure for La\TeX\ files). \verb|musixdoc.tex| is a large file, if you use an older version of La\TeX, use ``elatex'' in the command file.
+\begin{quote}\begin{verbatim}
+latex musixdoc
+musixflx musixdoc
+latex musixdoc
+makeindex -l musixdoc
+latex musixdoc
+(may require several more runs of elatex to get rid of
+ "labels may have changed ..." warnings)
+dvips -ta4 musixdoc
+\end{verbatim}\end{quote}
- \noindent (you can change \verb|plain| into \verb|dc-plain| or any other
-plain-like format you have) then:
+To produce \verb|musixdoc.pdf|, open \verb|musixdoc.ps| in \texttt{GSview}. Go to
+\verb+File|Convert+, select \verb|pdfwrite| at 600 dpi resolution, click
+\verb|OK|.
- \verb|copy musixtex.fmt \emtex\btexfmts\*.*|
+\subsection{Using batch files}
+There are
+many other files that are required to compile this document but all of them
+are included in \verb|musixtex.zip|, and will be placed in the proper locations
+if you have followed the installation instructions for \musixtex.
- \noindent and the {\tt musixtex.bat} command can be
+The two following batch files reside in the same dir as \texttt{musixdoc.tex} (or \texttt{musixdoc114.tex}).
-% It makes no sense to state -mt20000, perhaps this is useful for MusicTeX,
-% (it uses hyphenation to break a line) but not for MusiXTeX (it uses musixflx)
+This batch file makes a DVI, Postscript and PDF file, then displays the Postscript file.
+The full path names are shown as a comment.
+{\small
\begin{quote}\begin{verbatim}
-if exist %1.tex goto tex
-goto end
-
-:tex
-if exist %1.mx1 del %1.mx1
-if exist %1.mx2 del %1.mx2
-tex386 -mt20000 &musixtex %1 %2 %3 %4 %5 %6 %7 %8 %9
-
-if errorlevel 2 goto end
+rem filename: lapdfview
+LATEX.EXE %1 %2.tex
+if errorlevel 1 goto end
+makeindex -l %1
+rem C:\musixtex\system\musixflx\win32\musixflx %1
musixflx %1
-
+LATEX.EXE %1 %2.tex
if errorlevel 1 goto end
-tex386 -mt20000 &musixtex %1 %2 %3 %4 %5 %6 %7 %8 %9
-
+rem C:\"Program Files\MiKTeX 2.7"\miktex\bin\DVIPS.EXE -e0 -t a4 -P pdf -G0 %1.dvi
+DVIPS.EXE -e0 -t a4 -P pdf -G0 %1.dvi
+rem C:\"program files"\gs\gs8.63\bin\gswin32c -dBATCH ^
+rem -dNOPAUSE -sDEVICE=pdfwrite -r600 \
+rem -sOutputFile=%1.pdf -c save pop -f %1.ps
+gswin32c -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -r600 ^
+-sOutputFile=%1.pdf -c save pop -f %1.ps
+pause
+rem C:\"program files"\Ghostgum\gsview\gsview32.exe %1.ps
+gsview32.exe %1.ps
+rem pause
:end
- \end{verbatim}\end{quote}
-\end{enumerate}
-
-\begin{flushright}\it
-Don't expect a perfect package or miracles.\\
-There will be enough unexpected miracles.\\[\smallskipamount]
-{\sc Eberhard Mattes}
-\end{flushright}
-
-\chapter{Examples}
- Due to compatibility problems with \LaTeX\ (used to produce this notice)
-large examples must be \TeX -ed separately, i.e.\ using plain \TeX{} and not
-\LaTeX. Therefore, the \musixtex\ future user is suggested to produce some of
-the following examples and to look carefully at the way some special features
-have been coded.
-
- When producing this examples, care should be taken about the fact
-that several given files are supposed to be included (by means of
-\keyindex{input}) in other files. Thus the only good files to be directly
-\TeX-ed are those which begin with \verb|\input musixtex| or
- \verb|% \input musixtex|. This latter command is often commented out so that
-the examples can be run either using a \musixtex\ format including {\tt
-musixcpt.tex} and {\tt musixsty.tex} --- namely the format generated by {\tt
-musixtex.ins} --- or using a \musictex\ format including {\tt musictrp.tex},
-{\tt musicvbm.tex} and {\tt musicsty.tex} --- namely the format generated by
-{\tt musixtex.ins}.
-
-In addition, it must be noted that most DVI previewers and laser printers have
-their origin at one inch below and one inch right of the right upper corner
-of the paper, while the musical examples have their upper left significant
-corner only at one centimeter right and below the left top of the paper.
-Therefore, special parameters have to be given to the DVI transcription
-programs unless special \keyindex{hoffset} and \keyindex{voffset} \TeX\
-commands are introduced within the source \TeX\ text.
-
-\section{Clean \musixtex\ examples}
-
-\begin{itemize}
- \item{\tt avemaria.tex} to get the ``M\'editation'' (alias ``Ave Maria'') by
-Charles {\sc Gounod} for organ and violin or song in clean \musixtex-input.
-\index{Gounod, C.@{\sc Gounod, C.}}
- \item{\tt traeumer.tex} to get the famous ``Tr\"aumerei'' by
-Robert {\sc Schumann} for piano, in genuine \musixtex-input but with some
-additions to perform ascending \itxem{crescendos}.
-\index{Schumann, R.@{\sc Schumann, R.}}
- \item{\tt parnasum.tex} to get the first page of ``Doctor gradus ad
-Parnassum'' by Claude {\sc Debussy} for piano.\index{Debussy,
-C.@{\sc Debussy, C.}}
- \item{\tt glorias.tex} to get a local melody for the French version of
-\ital{Gloria in excelsis Deo}, showing use of lyrics commands. {\tt
-gloriab.tex} is the same, with organ accompaniment.
- \item Other clean \musixtex\ examples seem to be no more compatible with
-the present version, but they should be updated in a near future.
-\end{itemize}
-
-These examples are packed (zipped) in the {\ttxem{musixexa.zip}} file of the
-\musixtex\ distribution.
-
-\section{Nearly compatible \musictex\ examples}
-
-These are examples using not only {\tt musixtex} but also {\tt musixcpt} and
-{\tt musixsty}, which means their coding is easily understandable for
-\musictex{} previous users. However, they cannot be run as is with \musictex,
-since a few specific commands have been included, either for spacing, or for
-oblique slurs. They are given in {\tt musixexa.zip}, for example:
-
- \begin{itemize}
- \item {\tt gymnoman}~: an imitation of Erik {\sc Satie}'s
-\ital{Gymnop\'edies}\index{Satie, E.@{\sc Satie, E.}},
- \item {\tt canticor.tex}/{\tt canticox.tex}~:
-a famous tune by Georg Friedrich {\sc Haendel}\index{Haendel, G.F.@{\sc
-Haendel, G.F.}},
- \item {\tt ilfaitda.tex}/{\tt ilfaitdx.tex}~: a famous choral by J.-S.
-{\sc Bach}\index{Bach, J.S.@{\sc Bach, J.S.}} adapted with French lyrics for
-French churches,
- \item {\tt widor\_20.tex}~: the famous toccata for organ by Charles-Marie {\sc
-Widor}\index{Widor, C.M.@{\sc Widor, C.M.}} in 10 pages (more compact than
-commercial editions, and easier to play if nobody can turn the pages), and
-{\tt widor\_16.tex} which is the same in 16~pt size, i.e. more compact.
- \item{\tt souveni*.tex}~: a nice French tune of the fifties, by Oreste {\sc
-Rossi} and Fernand {\sc Capitani} with several transpositions.
- \item {\tt marcello.tex}~: the adagio of Benedetto {\sc
-Marcello}\index{Marcello, B.@{\sc Marcello, B.}}'s oboe concerto, transcribed
-for organ.
- \item {\tt hymnepas.tex}~: a modern Eastern canticle by A. {\sc Gouzes} and
-{\sc Palestrina}, showing heavy use of \keyindex{hardlyrics} for choral
-music.\index{Gouzes, A.@{\sc Gouzes, A.}}
-
- \end{itemize}
-
-\section{Compatible \musictex\ examples}
-
-They are all the examples provided in the \musictex\ distribution. To run them
-the easiest way is to have both a {\tt musictex} and a {\tt musixtex} format as
-described in \ref{formatbuild}. Otherwise, insert
-
- \verb|\input musixtex|
-
- \verb|\input musixcpt|
-
- \verb|\input musixsty|
-
- \noindent at the beginning of each example, and \TeX\ it.
-
- \section{Looking at examples before installing \musixtex}
-
- Most of the above examples (and some others) are posted, ready to print, as
-PostScript files in:
- \begin{itemize}
- \item {\tt ftp://hprib.lps.u-psud.fr/pub/music\_scores.zip/*/*/*.zip} (zipped
-PostScript 300dpi files)
- \item {\tt ftp://hprib.lps.u-psud.fr/pub/music\_scores.gz/*/*/*.ps.gz} (gzipped
-PostScript 300dpi files)
- \end{itemize}
-
- Printing them on any PostScript printer (needs A4 paper) is a good means of
-getting an overview of \musixtex's capabilities.
+\end{verbatim}\end{quote}
+}
+This batch file searches the folder for tex files and calls \texttt{lapdfview.bat}
+{\small
+\begin{quote}\begin{verbatim}
+rem latexall.bat
+rem proces all files with extension tex in this directory
+for /F %%I in ('dir /B *.tex') do call lapdfview.bat %%~nI
+pause
+\end{verbatim}\end{quote}
+}
-\printindex
+Thus, to produce \texttt{musixdoc.pdf}, double click on \texttt{latexall.bat}.
\clearpage
{\parindent0pt
@@ -8054,7 +9125,9 @@ number instead of the pitch}%
%
% clefs
%
-\setclefsymbol1\empty \nostartrule\contpiece
+\setclefsymbol1\empty
+%\setlines 11\relax
+\nostartrule\contpiece
\NOtes
\zchar{13}{\bs trebleclef}\zchar0\trebleclef\sk
\zchar9{\bs altoclef}\zchar0\altoclef\sk
@@ -8070,6 +9143,7 @@ number instead of the pitch}%
%
% Rests
%
+\setlines 15\relax
\resetclefsymbols\startrule\contpiece
\NOtes
\multnoteskip{.5}%
@@ -8175,6 +9249,34 @@ number instead of the pitch}%
\rightrepeat
\NOtes
\loffset2{\zchar{-4}{\bs rightrepeat}}\en
-\endpiece\eject}%
+\endpiece\advance\textheight-40mm\eject%
\endmuflex
+}
+
+%\makeatletter
+%\renewenvironment{theindex}{\newpage
+% \addcontentsline{toc}{chapter}{Index}%
+% \pagestyle{plain}
+% \let\item\@idxitem
+% \parskip\z@ \@plus .3\p@\relax
+% \begin{multicols}{2}[{\Huge\bfseries Index} ]
+% \par\bigskip}%
+%{\end{multicols}}%
+%\makeatother
+%\printindex
+
+\makeatletter
+\renewenvironment{theindex}{\newpage
+ \setcounter{secnumdepth}{-1}
+ \chapter[Index]{}\vspace*{-3cm}
+% \addcontentsline{toc}{chapter}{Index}
+ \pagestyle{plain}
+ \let\item\@idxitem
+ \parskip\z@ \@plus .3\p@\relax
+ \begin{multicols}{3}[{\Huge\bfseries Index} ]
+ \par\bigskip}%
+{\end{multicols}}%
+\makeatother
+ \printindex
+
\end{document}