\documentstyle[twoside,multicol,musictex,musictrp,musicper,a4report,11pt]{report} \def\hboxit#1{\hbox{\vrule\vbox{\hrule\kern3pt \hbox{\kern3pt\small\it #1\kern3pt}\kern3pt\hrule}\vrule}} % \def\tty{\csname normalshape\endcsname\csname mediumseries\endcsname\tt} % \def\text#1{\leavevmode\hbox{\rm #1}}% %\check \def\ital#1{{\sl #1\/}}% \def\mutex{M\raise 2pt\hbox{\kern -1pt u\kern -1pt}\TeX} \def\bslash{{\tty\char'134}}% \def\unix{{\sc unix}}% \def\Bslash{\tty\char'134}% \def\|{{\tty\char'174}}% \def\#{{\tty\char'043}}% \def\{{{\char'173}}% \def\}{{\char'175}}% \def\musictex{Music\TeX}% \def\musixtex{MusiX\TeX}% \def\musicxx{\musictwenty} \def\keyindex#1{\leavevmode \hbox{\tty\bslash #1}\index{#1=\protect\tty\protect\bslash #1}} \def\zkeyindex#1{\index{#1=\protect\tty\protect\bslash #1}} \def\ixem#1{#1\index{#1}} \def\itxem#1{\ital{#1}\index{#1}} \def\aujourdhui{\today} % %\check \tracingstats=1 % %%%% \input musicext : extracting the wanted macro \makeatletter \def\tmp@dimenb{\y@ii} \newdimen\tmp@dimen % \overbracket{p}{l}{s} draws a bracket over the music starting at the % current position at pitch p, width l and slope s percent, causing no space. \def\overbracket#1#2#3{\relax % height (note), length (dimen) slope (%) \tmp@dimenb #2\multiply\tmp@dimenb by#3\divide\tmp@dimenb by100\relax \getn@i{#1}\advance\tmp@dimenb by\n@i\internote\rlap{\relax \raise\n@i\internote\rlap{\vrule width\lthick height \lthick depth .8\Interligne}\oblique{#2}{#3}{\n@i\internote}\relax \advance\tmp@dimenb by.5\lthick\relax \raise\tmp@dimenb\hbox{\vrule width\lthick height \lthick depth.8\Interligne}}} % \ovbkt{p}{n}{s} is the same as \overbracket, except that it draws the % bracket to cover n notes (note however that glue inserted by \temps % commands will expand the space between the notes but will not affect the % bracket). % I use this macro to indicate triplets, for instance. \def\ovbkt#1#2#3{\relax % height (note), length (number of notes) slope (%) \tmp@dimen #2\noteskip\advance\tmp@dimen by\wd@skip\advance\tmp@dimen by -\noteskip\advance\tmp@dimen by\lthick \overbracket{#1}{\tmp@dimen}{#3}} % \underbracket and \unbkt are similar to the above, but produce % brackets under the music. \def\underbracket#1#2#3{\relax % height (note), length (dimen) slope (%) \tmp@dimenb #2\multiply\tmp@dimenb by#3\divide\tmp@dimenb by100\relax \getn@i{#1}\advance\tmp@dimenb by\n@i\internote\rlap{\relax \raise\n@i\internote\rlap{\vrule width\lthick depth -\lthick height \Interligne}\oblique{#2}{#3}{\n@i\internote}\relax \advance\tmp@dimenb by.5\lthick\relax \raise\tmp@dimenb\hbox{\vrule width\lthick depth -\lthick height\Interligne}}} \def\unbkt#1#2#3{\relax % height (note), length (number of notes) slope (%) \tmp@dimen #2\noteskip\advance\tmp@dimen by\wd@skip\advance\tmp@dimen by -\noteskip\advance\tmp@dimen by\lthick \kern-2\lthick\underbracket{#1}{\tmp@dimen}{#3}\kern2\lthick} \newdimen\tmp@dimenc \newdimen\z@iii\newdimen\z@iv\newdimen\z@v % \oblique {l}{s}{h} draws an oblique line of length l, slope s percent, and % height h. This will cause an unrecorded space so it should be used within % \rlap. Note that this macro is a hack and probably gobbles up resources! % This macro is used by some of the others which follow. \def\oblique#1#2#3{\relax % length slope height \ifnum #2=0\relax\raise #3\vbox{\hrule width #1 height\lthick depth\z@}\relax \else\q@antum=25\lthick\divide\q@antum by #2\relax \ifdim\q@antum<0pt\relax\multiply\q@antum by -1\fi \global\z@iv=0pt\relax \loop\ifdim\z@iv<#1\relax {\z@v=#1\relax\advance\z@v by -\z@iv\relax\advance\z@v by -\q@antum\relax \tmp@dimenc\z@iv\multiply\tmp@dimenc by#2\relax \z@iii=#3\relax\advance\z@iii by .01\tmp@dimenc\relax\advance\z@iii by -0.5\internote \ifnum #2<0\relax\advance\z@iii by \lthick\relax\fi \tmp@dimenc\z@v\multiply\tmp@dimenc by#2\relax \ifdim\z@v<0pt\relax\advance\z@iii by .01\tmp@dimenc\relax\hskip\z@v\fi \advance\z@iii by 0.6\internote\relax \raise\z@iii\hbox to \q@antum{\vrule width\q@antum height .5\lthick depth .5\lthick}\relax \global\advance\z@iv by \q@antum\relax }\repeat \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end musicext excerpt \font\musext=musicbrb \tolerance 10000 \csname normalshape\endcsname\csname mediumseries\endcsname \csname pnormalshape\endcsname\csname pmediumseries\endcsname \makeindex \long\def\theindex{\chapter{Index} \parindent \z@ \parskip \z@ \@plus .3\p@ \relax \let \item \@idxitem \columnseprule \z@ \columnsep 35\p@ \begin{multicols}{2} } \def\endtheindex{\end{multicols}} % \begin{document} \title{\Huge\bf \musictex\\\LARGE\bf Using \TeX\ to write polyphonic\\or instrumental music\\\Large\sl Version 5.17 -- \today} \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} \date{} \maketitle \clearpage \thispagestyle{empty} \null \setcounter{page}0 \clearpage \tableofcontents \setcounter{secnumdepth}3 \pagestyle{headings} % \chapter{What is \musictex\ ?} \musictex\ 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 the {\tty A4.sty} the {\Bslash textheight} and {\Bslash textwidth} of which are too small for musician needs. However, a \LaTeX\ style has been also provided (and it is used for the typing of the present paper) but this {\tty musictex} style is fit for musicographic books rather than for normal scores to be actually played. It should be emphasized that \musictex\ 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. \musictex\ only typesets staves, notes, chords, beams, slurs and ornaments as requested by the composer. Since it makes very few typesetting decisions, \musictex\ 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 \musictex\ might appear to be awfully complicated, just as the real keyboard or orchestral music. Therefore, it should be interfaced therefore by some pre-compiler in the case of the composer/typesetter wanting aesthetic decisions to be automatically made by somebody (or something) else. \section{\musictex\ principal features} \subsection{Music typesetting is two-dimensional} Most of the people who just learnt a bit of music at college probably think that music is a linear sequence of symbols, just as literary texts to be \TeX-ed. In fact, with the exception of strictly monodic instruments like most orchestral wind instruments and solo voices, one should be aware that reading music actually is a matricial operation: the non-soloist musician successively reads \ital{columns} of simultaneous notes which he actually plays if he is a pianist, clavichordist or organist, which he actually 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 actual music reading and composing is a slightly more complicated intellectual process: music reading, music composing and music thinking seems 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 part of music lasting roughly a few seconds. Then he handles the next \ital{beat} or \ital{bar} of his score. Thus, it appears that the humanly 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}. \begin{table} \begin{center} \begin{tabular}{|ll|ll|}\hboxit{note sequence one} &\hboxit{note seq.\ four} &\hboxit{note seq.\ seven} &\hboxit{note seq.\ ten}\\\hboxit{note sequence two} &\hboxit{note seq.\ five} &\hboxit{note seq.\ eight} &\hboxit{note seq.\ eleven}\\\hboxit{note seqence three} &\hboxit{note seq.\ six} &\hboxit{note seq.\ nine} &\hboxit{note seq.\ twelve}\\ \end{tabular} \end{center} \caption{The order in which a musician reads music}\label{readtable} \end{table} This is the reason why, in {\bf \musictex} the fundamental \ital{macro} is of the form \begin{center} {\Bslash notes \dots\ \& \dots\ \& \dots\ \bslash enotes} \end{center} \noindent where the character {\tty\&} is used to separate the notes to be typeset on respective staffs 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 character \|. Thus, a score written for a keyboard instrument and a monodic instrument (for example piano and violin) will be coded as follows: \begin{center} {\Bslash notes \dots\ \| \dots\ \& \dots\ \bslash 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 \musictex, 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 in practice an important point. 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} \def\nbinstruments{1}\relax \computewidths \generalmeter{\meterfrac{4}{4}}\relax \debutextrait \normal\elemskip=0.110\hsize \temps\Notes\qsk\qsk\rlap{\hu j}\ql h\enotes \temps\Notes\hl g\enotes \temps\Notes\hu k\enotes \temps\Notes\ql f\enotes \finextrait \end{music} %\check \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} % Therefore, we preferred to provide the composer/typesetter with a set of macros, the spacing of which increases by a factor of $\sqrt 2$ (incidentally, this can be adjusted): \begin{center} {\Bslash notes \dots\ \& \dots\ \& \dots\ \bslash enotes\ \ \% \hbox to 2.5cm{\rm 1 spatial unit\hss}} \\ {\Bslash Notes \dots\ \& \dots\ \& \dots\ \bslash enotes\ \ \% \hbox to 2.5cm{\rm 1.4 spacial unit\hss}} \\ {\Bslash NOtes \dots\ \& \dots\ \& \dots\ \bslash enotes\ \ \% \hbox to 2.5cm{\rm 2 spatial units\hss}} \\{\Bslash NOTes \dots\ \& \dots\ \& \dots\ \bslash enotes\ \ \% \hbox to 2.5cm{\rm 2.8 spatial units\hss}} \\{\Bslash NOTEs \dots\ \& \dots\ \& \dots\ \bslash enotes\ \ \% \hbox to 2.5cm{\rm 4 spatial units\hss}} \\{\Bslash NOTES \dots\ \& \dots\ \& \dots\ \bslash enotes\ \ \% \hbox to 2.5cm{\rm 5.6 spatial units\hss}} \end{center} %\check The size of the spatial unit (\keyindex{elemskip}) can be freely adjusted. In addition, \musictex\ provides a means of adjusting the note spacing according to an average number of elementary spaces within a line (macro \keyindex{autolines}). \subsection{Music tokens, rather than a readymade generator} %\check The tokens provided by \musictex\ are: \begin{itemize} \item the note symbols \ital{without stem}; \item the note symbols \ital{with stems, and hooks for eighth notes and beyond}; \item the indications of beam beginnings and beam ends; \item the indications of beginnings and ends of ties and slurs; \item the indications of accidentals; \item the ornaments: arpeggios, trills, mordents, pinc\'es, turns, staccatos and pizzicatos, fermatas; \item the bars, the meter and signature changes, etc. \end{itemize} Thus, {\Bslash 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, {\Bslash wh h} produces an \ital{A (445~Hz)} of duration represented by a \ital{whole note}, {\Bslash qu~c} produces a \ital{C (250~Hz approx.)} whose value is a \ital{quarter note with stem up}, {\Bslash 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. %\check {\def\nbinstruments{1}\relax \cleftoksi={{0}{0}{0}{0}}\generalmeter{}\relax \debutextrait \normal \NOTes\qsk\zq c\zq e\zq g\qu j\enotes \finextrait} %\check \noindent is coded \hbox{\Bslash zq~c\bslash zq~e\bslash zq~g\bslash qu~j} or, in a more concise way, \hbox{\Bslash zq\{ceg\}\bslash qu~j} (stem up): in fact, single notes are treated\dots\ like one-note chords. \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 of 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 hang on and which beam is terminated at a given position. %\check \subsection{Setting anything on the score} A general macro (\keyindex{zcharnote}) provides a means of putting any sequence of symbols (in fact, some {\Bslash 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. \section{A simple example} Before giving more details, we give below an example of the two first bars of the sonata in C-major K545 by {\sc\ixem{Mozart}}: \begin{music} \parindent 1cm \def\nbinstruments{1}\relax \def\instrumenti{Piano}% \nbporteesi=2\relax \generalmeter{\meterfrac{4}{4}}\relax \debutextrait \normal \temps\Notes\ibu0f0\qh0{cge}\tbu0\qh0g|\hl j\enotes \temps\Notes\ibu0f0\qh0{cge}\tbu0\qh0g|\ql l\sk\ql n\enotes \barre \Notes\ibu0f0\qh0{dgf}|\qlp i\enotes \notes\tbu0\qh0g|\ibbl1j3\qb1j\tbl1\qb1k\enotes \temps\Notes\ibu0f0\qh0{cge}\tbu0\qh0g|\hl j\enotes \finextrait \end{music} %\check The \ital{coding} is set as follows: \begin{quote}\begin{verbatim} \begin{music} \parindent 1cm \def\nbinstruments{1}\relax % a single instrument \def\instrumenti{Piano}% % whose name is Piano \nbporteesi=2\relax % with two staffs \generalmeter{\meterfrac{4}{4}}\relax % 4/4 meter chosen \debutextrait % starting real score \normal % normal 12 pt note spacing \temps\Notes\ibu0f0\qh0{cge}\tbu0\qh0g|\hl j\enotes \temps\Notes\ibu0f0\qh0{cge}\tbu0\qh0g|\ql l\sk\ql n\enotes \barre % bar \Notes\ibu0f0\qh0{dgf}|\qlp i\enotes \notes\tbu0\qh0g|\ibbl1j3\qb1j\tbl1\qb1k\enotes \temps\Notes\ibu0f0\qh0{cge}\tbu0\qh0g|\hl j\enotes \finextrait % terminate excerpt \end{music} \end{verbatim}\end{quote} \begin{itemize} \item {\Bslash ibu0f0} begins an upper beam, aligned on the \ital{f}, reference number 0, slope 0 \item {\Bslash tbu0} terminates this beam before writing the second \ital{g} by means of {\Bslash qh0g} \item {\Bslash qh..} indicates a note hanging on a beam. \item {\Bslash sk } sets a space between the two quarters at the right hand, so that the second is aligned with the third eighth of the left hand. \item{\Bslash qlp} is a quarter with a point. \item{\Bslash ibbl1j3} begins a double beam, aligned on the \ital{C} ({\tty j} at this pitch) of slope 0.15. \end{itemize} \section{Some highlights} \subsection{Signatures} Signatures can be stated either for all instruments, for example by \keyindex{generalsignature}{\tty\{-2\}} which sets two flats on each staff, or separately for each instrument. Thus, the \keyindex{generalsignature} can be partly overridden by \keyindex{signii}{\tty=1} which puts one sharp on the staffs of \itxem{instrument number} 2 (ii). 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 \musictex\ 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 of 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, \musictex\ 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 of the current signature.\index{relative accidentals} \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 {\Bslash mynotes...\bslash enotes}, {\Bslash myNotes...\bslash enotes} with as many arguments as there are in the orchestral score (hope this is less 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 on the value of some selection register). But the limitation is that the numbering of instruments may change, so that {\Bslash signiii} may have to become {\Bslash signi} if instrument $iii$ is alone. But, in turn, this is not a serious problem for average \TeX\ wizard apprentices. \subsection{Variable staff and note sizes} Although the staff size is 20 pt as a standard, \musictex\ allors scores of 16 pt 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}. \section{How to get it} The whole \itxem{distribution} fits into a single 1.2Mbyte or 1.44Mbyte diskette. It can also be obtained through an \ital{anonymous ftp} at {\tty rsovax.lps.u-psud.fr} (193.55.39.100), after selecting the subdirectory {\tty [.musictex]}. All sources (including fonts) are provided, either separately or ``zipped'' or as VMS ``\ixem{savesets}''. %\check \section{Enhancements} \subsection{Recent easy enhancements} Many enhancements have been asked for, and this is a proof that \musictex\ 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. But others may induce heavy problems, for example the need of having \ital{nice} slurs and ties. In the same way, we recently introduce Andreas {\sc Egler}'s fonts to have nicer braces at the left of the score, for example for piano music. Besides, we recently found a hard incompatibility of \musictex\ and a genuine product of the author's native country, namely {\tt french.sty} by Bernard {\sc Gaulle} which is the \ital{standard} of the French \TeX\ user group, namely the GUTenberg association. This was partly due to macro name collisions --- easy to solve --- and to the fact that {\tt french.sty} sets a lot of characters as \keyindex{active} characters in order to make them handle correctly the French spacing before and after punctuation marks. This seems to have been solved in the 4.99 version of \musictex, with the restriction that French macros cannot be used --- at least easily --- within lyrics. Besides, \musictex\ has been adapted --- since version 5.00 --- to score \ital{gregorian chant} and \ital{percussion music}. \subsection{The tie/slur problem} While typesetting notes and even beams is a rather simple problem because it is a \ital{local typesetting}, ties and slurs are much more difficult to handle. Of course there is small problem in case of a typesetter wanting a slur or a tie binding two consecutive notes, not separated by a bar. In practice this \ital{very restricted} use of slurs or ties can easily be solved by putting some symbols extracted from the {\tty slur16} or {\tty slurn16}/{\tty slurn20} fonts somewhere on the staffs using the general use \keyindex{zcharnote} macro. But serious music typesetters or composers know that many ties are supposed to link notes which are on both sides of a bar, which is a likely place to insert line breakings, so that the coding of \itxem{ties} must have various versions and sizes to resist that possible line breaking. What has been said about ties is still more serious in the case of \itxem{phrasing slurs} which may extend over several bars, lines and sometimes pages. In this case, their shape is not only a question of producing a long curved symbol of nice looking shape, it also has to cope with \itxem{glue}. An then the worst is that music way of typing does not accept \itxem{ragged lines} but equal length lines, even for the last line of a music piece. Thus, long distance slurs and ties need to be cut into separate parts (beginning, continuing(s), endings) which \TeX\ can only link using \ital{horizontal line overlaps} or \keyindex{leaders} to insure slur continuity over this unavoidable glue. Therefore and up to now, ties and slurs have been implemented in a way which may look rather ugly, but we think it is the only way of implementing \ital{in one pass} ties and slurs which run \ital{across glue}. The principle is to have tie/slur symbols with a rather long horizontal part. Then, at each time a glue occurs and at each time a group of notes is coded while a slur or tie is pending, an \keyindex{hrule} is issued which overlaps the preceding tie/slur symbol so that the final output seems to contain a continuous line. Unfortunately, this is possible only in the glue expansion direction, namely in the horizontal direction. Variable size initial and final curved slur symbols have recently been implemented; the user has to choose them according to his intention to have short or long range slur symbols. \subsection{\musixtex} \ixem{\musixtex} is a new package, heavily derived from \musictex\ by Andreas {\sc Egler} and Ross {\sc Mitchell}. Its fundamentals are taken from \musictex, but it works in three passes~:\index{Egler, A.}\index{Mitchell, R.} \begin{enumerate} \item The first pass \TeX es the source with a different set of macros, which generate a special file telling where slurs/ties start and begin. \item The second pass (a C program) computes the optimal length of the slurs/recorded. \item The third pass generates the definitive DVI from the initial source, owing to information produced by the second pass, name to choose the adequate slur/tie symbols according to the chosen final note spacing. \end{enumerate} We do not decribe \musixtex\ here, but we give some suggestion to make the same \musictex\ source runable with both \musictex\ and \musixtex. \subsection{Enhancement limitations} Many requested improvements have not been \ital{yet} implemented for several reasons: \begin{itemize} \item The author's natural lazyness (!) \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) and we are afraid many requested new features would make \TeX\ stupidly crash even when typesetting reasonable scores. \item We do not think it is wise to introduce in \musictex\ itself a great number of macros which would be poorly used by most users: the reason is that \TeX\ memory is hardly limited and that unused macros may occupy some \TeX\ storage which could make things crash because of {\tty TeX capacity exceeded}... \end{itemize} \section{Acknowledgements} The idea of implementing the present package is due to the previous work (\mutex)\index{mutex=\protect\mutex} of 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 and some line breaking procedures, which both are still used here... with 99\% corrections and updates.\index{Schofer, A.}\index{Steinbach, A.} Besides, the original fonts of \musictex, named {\tt musicn20}, {\tt musicn16}, {\tt musicn13} and {\tt musicn11}, have been recently reviewed by Andreas {\sc Egler} and the new release --- used in the version 5.00 and above of \musictex\ --- is called {\tt musikn20}, {\tt musikn16}, {\tt musikn13} {\tt musikn11} and {\tt musicbrb}.\index{Egler, A.} \chapter{Practical use} \section{Heading statements} Before any reference to \musictex\ macros: \medskip{\Bslash input musicnft } {\Bslash input musictex} \medskip\noindent which may be followed by {\Bslash input musicadd} in the case you have more than six instruments (voice is two instruments: one for the music, one for the text) or more than 6 simultaneous beams or ties or slurs.\index{musicnft.tex}\index{musictex.tex}\index{musicadd.tex} \index{musicnft.tex} \medskip After that, you may write a complete book of \TeX\ provided that you do not use {\tty \&} as a tabulation character (its \keyindex{catcode} has been changed) inside the music score and that you do not overwrite \musictex'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 {\tt musictex} style. \section{Before you begin to write notes} You should first specify whether you want to typeset music in size 20pt\index{sizes} per staff or 16pt. This only optional, the default value being 20pt. If you want the 16pt size, then you have to say: \medskip \keyindex{musicsize}{\tty=16} \medskip Then, the first compulsory declaration is: \medskip {\Bslash def\keyindex{nbinstruments}{\tty\{$n$\}}} \medskip \noindent where $n$ is the number of instruments, used by \musictex\ to performs loops building staffs, setting signatures, meters, etc. Therefore, it must be defined before any other statements. 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 instrument. \item staffs of a unique \itxem{instrument} are tied together with a big brace at the beginning of each line. \end{itemize} \medskip If the number of staffs (in French ``\itxem{port\'ees}'') is not equal to one, this number must be specified by: \medskip %\check {\tty\keyindex{nbportees$r$}=$p$\bslash relax} \medskip\noindent where $p$ is the number of staffs, and where $r$ is the roman numeral of the instrument considered (e.g. \keyindex{nbporteesiii} for the 3rd instrument, starting from the bottom). This value may be zero, in which case the staff lines are omitted, and this instrument may be used to code the \itxem{lyrics} of a song, below the actual ``instrument'' representing the notes of the song. \medskip Unless all your instruments only use the \ital{violin} clef, you have to specifiy all the clefs used for all the instruments. This is done by coding: \medskip{\tty\keyindex{cleftoks$r$}=\{\{$s1$\}\{$s2$\}\{$s3$\}\{$s4$\}\}\%} \medskip\noindent where $r$ is the roman numeral of the instrument, $s1$ specifies the clef of the lower staff, $s2$ the clef of the second staff, etc. One must always give four values with the above syntax, otherwise\dots\ $s1=0$ means the \ital{violin} clef (\ixem{clef de sol} in French), $s1=1$ through $s1=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), $s1=5$ means the \ital{bass} clef at third (middle) line, and $s1=6$ means the usual \ital{bass} clef (\ixem{clef de fa} in French) at the usual fourth line. \index{violin clef}\index{bass clef}\index{alto clef} As an example, a standard piano score should include: \medskip{\tty\keyindex{cleftoksi}=\{\{6\}\{0\}\{0\}\{0\}\}\%} or {\Bslash cleftoksi=\{6000\}\%} \medskip If the signature is not void, one should code: \medskip{\tty\keyindex{generalsignature}{\tty\{$s$\}}\bslash relax} \medskip\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 score in G-minor where the signature consisted of two flats (B and E) plus one sharp (F). This is not supported by \musictex.}. \medskip If there a \itxem{meter} indication is to be posted, it should be specified using the macro \medskip {\tty\keyindex{generalmeter}\{$m$\}\%} \medskip \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 \medskip{\Bslash generalmeter\{\bslash meterfrac\{3\}\{4\}\}\%} \medskip\noindent or, in a simpler way (if the numbers are less than 10): \medskip{\Bslash generalmeter\{\bslash meterfrac 34\}\%} \medskip\rm Special denotations can be used, such as \keyindex{allabreve} to get \raise -6pt\hbox{\allabreve} and \keyindex{meterC} to get \raise -6pt\hbox{\meterC}. \medskip 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 means of a more sophisticated command: %\check \medskip{\Bslash metertoksii=\{\{\bslash meterfrac\{12\}8\}\{\bslash allabreve\}\{\}\{\}\}\%} \zkeyindex{metertoks$i$} \medskip \rm\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 (\ital{ii}). Note that there is room for 4 staffs and that void items must be specified, otherwise \TeX\ weird errors occur. \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: \medskip\Bslash def\bslash instrument$r$\{\ital{name of the instrument}\}\% \zkeyindex{instrument$r$} \medskip \noindent\rm where $r$ is the roman numeral 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. This can be specified (but only once per system) by specifying \medskip{\tty\bslash def\keyindex{lowersonginstrum}\{$m$\}} {\tty\bslash def\keyindex{uppersonginstrum}\{$n$\}} \medskip\noindent where $m$ and $n$ are the intrument numbers of the first and last choral voices. An example of using this feature is given in {\tty PRAETORI} and -- more complicated -- also in {\tty ANGESCAM} and {\tty ANGESCAO}. %\check \section{Starting your masterpiece} \subsection{Typing the first system} Just code \medskip\keyindex{debutmorceau} \medskip\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 also must choose the spacing of the notes. \subsection{Easy selecting note spacing} The easiest way of getting a reasonable note spacing is done by saying \medskip\keyindex{normal} \medskip This defines an elementary spacing of {\tty 10pt}. If you say \keyindex{large}\footnote{To avoid problems with the \LaTeX\ \index{LaTeX=\protect\LaTeX} macro of the same name, this macro is only activated under \LaTeX\ when \keyindex{begin\{music\}} is invoked.} the elementary spacing (\keyindex{elemskip}) is set to {\tty 12pt}. Once this is done, you can select $\sqrt 2$ multiples of this value to select specific note spacing by initiating your note column with {\Bslash notes} (spacing {\Bslash elemskip}), {\Bslash Notes} (spacing {\tty 1.4\bslash elemskip}), etc. The is also a macro named \keyindex{etroit} which yields narrower\footnote{\ital{Etroit} means \ital{narrow} in French.} spacings but not increasing in the same way. \medskip In practice, the choice of the macro {\Bslash notes}, {\Bslash Notes}, {\Bslash 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{qh}, \keyindex{hl}, etc.) will be followed by a spacing of \keyindex{noteskip}. Then, the advantage of the definition of {\Bslash elemskip} is that, whenever it is changed, all subsequent {\Bslash noteskip}s will be updated proportionally so that a simple change of {\Bslash elemskip} can expand or shrink all consecutive note spacings as a whole. If these values of {\Bslash elemskip} are not fit to your needs, you can also say \medskip{\tty\keyindex{normal}\keyindex{elemskip}=15pt} \medskip\noindent or revert to the basic note introducing sequence: \medskip{\tty\keyindex{vnotes} $q$ \bslash elemskip \ital{note specifications} \bslash enotes} \medskip\noindent where $q$ is a positive integer or decimal number. \medskip Of course, if you are sufficiently skilled with \TeX, you can also compute \keyindex{elemskip} according to the number of bars you want in a line and the number of notes in each bar. \medskip However, you may also prefer to ask \musictex\ to compute the size of \keyindex{elemskip} from the current page width (\keyindex{hsize}) after assuming a constant number of bars of a constant number of beats within each line\footnote{This does not meet the requirements of contemporaneous music, but fits very well to baroque and romantic music.}. In this case, you have better use the \keyindex{autolines} macro, which is described below (see: \ref{linepagebreak}, ``Line and page breaking''). %\check \section{Note pitch specification} Note pitches are usually specified by letters ranging from {\tty a} to {\tty z} for those which are usually written under the G-clef ({\tty a} corresponds to the $A$ of nominal frequency 222.5~Hz; the \ital{G} of the G-clef is denoted {\tty g}). Lower pitch notes are specified using upper case letters ranging from {\tty A} to {\tty N} (the \ital{F} of the F-clef is denoted {\tty M}, and {\tty F} is one octave below). %\check \medskip If necessary, a numeric symbol can be used to place a symbol independently of the active clef. \medskip Besides, notes below {\tty 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} \medskip The first kind is used to type a melody, the second kind is used to type chords. %\check \subsection{Single (spacing) notes} \begin{quote}\begin{description} \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{qu}~$p$ : ]quarter note at pitch $p$ with stem up. \item[\keyindex{ql}~$p$ : ]quarter note at pitch $p$ with stem down. \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{ccu}~$p$ : ]sixteenth note at pitch $p$ with stem up. \item[\keyindex{ccl}~$p$ : ]sixteenth note at pitch $p$ with stem down. \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{ccccu}~$p$ : ]64-th note at pitch $p$ with stem up. \item[\keyindex{ccccl}~$p$ : ]64-th note at pitch $p$ with stem down. %\check \end{description}\end{quote} \medskip As an example, the sequence: \begin{music}\parindent=0pt\def\nbinstruments{1}\def\instrumenti{} \generalsignature{0}\savesignature\cleftoksi={{0}{0}{0}{0}} \debutextrait\normal \notes\cu c\temps\cl j\enotes\barre \notes\ccu c\temps\ccl j\enotes\barre \notes\cccu c\temps\cccl j\enotes\barre \notes\ccccu c\temps\ccccl j\enotes\finextrait \end{music} \medskip \noindent was coded as: %\check \begin{quote}\begin{verbatim} \notes\cu c\temps\cl j\enotes\barre \notes\ccu c\temps\ccl j\enotes\barre \notes\cccu c\temps\cccl j\enotes\barre \notes\ccccu c\temps\ccccl j\enotes \end{verbatim}\end{quote} \medskip 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} \medskip 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. \medskip \noindent{\sl 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.} \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. \rm\medskip \par\keyindex{rw}~$p$ : whole note head shifted right by one note width ($\approx$ 6pt), no spacing. \par\keyindex{lw}~$p$ : whole note head shifted left by one note width ($\approx$ 6pt), no spacing. \par\keyindex{rh}~$p$ : half note head shifted right by one note width ($\approx$ 6pt), no spacing. \par\keyindex{lh}~$p$ : half note head shifted left by one note width ($\approx$ 6pt), no spacing. \par\keyindex{rq}~$p$ : quarter note head shifted right by one note width ($\approx$ 6pt), no spacing. \par\keyindex{lq}~$p$ : quarter note head shifted left by one note width ($\approx$ 6pt), no spacing. \medskip Except that they are shifted left of right, these macros act like {\Bslash z...} macros for stem building. \subsection{Shifted notes} \begin{quote}\begin{description} \item[\keyindex{rqu} : ]acts like {\Bslash qu} but the note head is shifted one note width. This is used for \itxem{chords} with upper note on the right side of the stem. \item[\keyindex{rql} : ]same with stem down. \item[\keyindex{rhu} : ]same as above for a half note, stem up. \item[\keyindex{rhl} : ]same with stem down. \end{description}\end{quote} In addition on can use the command \keyindex{roff} to offset any note character by one quarter note head, e.g.: \verb|\roff{\zqup h}| \noindent which will post a pointed quarter note with stem up, offset by one quarter note head with respect to its normal abscissa. \verb|\roff{...}| is heavily recommended instead of \verb|\qsk| if the score is intended to be run also with \musixtex. \subsection{Non-spacing single notes} \begin{quote}\begin{description} \item[\keyindex{zhu} : ]half note with stem up but no spacing. It acts like {\Bslash 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 {\Bslash qu} for stem building. \item[\keyindex{zql} : ]quarter note with stem down but no spacing. It acts like {\Bslash ql} for stem building. \item[\keyindex{zcu} : ]eighth note with stem up but no spacing. It acts like {\Bslash cu} for stem building. \item[\keyindex{zcl} : ]eighth note with stem down but no spacing. It acts like {\Bslash cl} for stem building. \item[\keyindex{lhu}, \keyindex{lhl}, \keyindex{lqu}, \keyindex{lql} : ]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 (\raise 2.5pt\hbox{\musicxx\char 125}) at pitch $p$ with no spacing after. \item[\keyindex{zbv}~$p$ : ]breve note (\raise 2.5pt\hbox{\musicxx\char 36}) at pitch $p$ with no spacing after. \item[\keyindex{zsb}~$p$ : ]semi-breve note (\raise 2.5pt\hbox{\musicxx\char 32}) at pitch $p$ with no spacing after. \end{description}\end{quote} \subsection{Single (spacing) stemless notes} Although not standard in real music scores, one may need to have stemless quarter and half noteheads posted in the same way as whole notes. This can be done with the following commands: \begin{quote}\begin{description} \item[\keyindex{nh}~$p$ : ]half notehead at pitch $p$. \item[\keyindex{nq}~$p$ : ]quarter notehead at pitch $p$. \end{description}\end{quote} \medskip As an example, the sequence: \begin{music}\parindent=0pt\def\nbinstruments{1}\def\instrumenti{} \generalsignature{0}\savesignature\cleftoksi={{0}{0}{0}{0}} \debutextrait\normal \notes\nq c\temps\nq j\enotes\barre \Notes\nh c\temps\nh j\enotes\barre \notes\nq {cdef}\enotes\finextrait \end{music} \medskip \noindent was coded as: %\check \begin{quote}\begin{verbatim} \notes\nq c\temps\nq j\enotes\barre \Notes\nh c\temps\nh j\enotes\barre \notes\nq {cdef}\enotes\finextrait \end{verbatim}\end{quote} In case of special need, non spacing variants have been provided, namely \keyindex{znh} and \keyindex{znq}. \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 a point can be coded {\Bslash pt h\bslash qu h}. \medskip A simpler way of doing consists in using compact macros, namely: \keyindex{qup}, \keyindex{qupp}, \keyindex{quppp}, \keyindex{zqp}, \keyindex{zhp}, \keyindex{zwp} (these three {\Bslash z...p} are useful in chords), \keyindex{hup}, \keyindex{whp}, \keyindex{qhp}, \keyindex{qhpp}, \keyindex{qlp}, \keyindex{qlpp}, etc. \medskip You may also introduce pointed notes, especially in groups by coding a \ital{period} before (not after) the letter representing the pitch: {\Bslash qu\{.a.\^{}b.c\}} which is equivalent to: \medskip \begin{quote}\begin{verbatim} \pt{a}\qu{a}\pt{b}\sh{b}\qu{b}\pt{c}\qu{c} \end{verbatim}\end{quote} Finally, pointed nots can also be produced without spacing aftef, using \keyindex{zhup}, \keyindex{zhlp}, \keyindex{zqup}, \keyindex{zqlp}, \keyindex{zcup}, \keyindex{zclp}, and the same with two {\tty p}'s for double-pointed notes. \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} \subsection{Fixed slope beams} \begin{quote}\begin{description} \item[\keyindex{ibu}~$nps$ : ]initiates an \ital{upper beam} 3 horizontal line spacings above the pitch $p$~; $m$ is its reference number, which must be in the range [0-5] ([0-9] if {\tty musicadd} file has been {\Bslash 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\% (the maximum with the {\tty beamn20} or {\tty beamn16} fonts), $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). \item[\keyindex{ibbbbbu}~$nps$ : ]initiates a \ital{quintuple upper beam} (same parameter meaning). \item[\keyindex{ibbbbbl}~$nps$ : ]initiates a \ital{quintuple lower beam} (same parameter meaning). \end{description}\end{quote} \medskip 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} \medskip\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$. \medskip 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, \keyindex{nbbbbu}~$n$ sets its multiplicity to 4, and \keyindex{nbbbbbu}~$n$ sets it to 5. \keyindex{nbbl}~$n$ \dots \keyindex{nbbbbbl}~$n$ perform the same functions for lower beams. \medskip Notes hanging or standing on beams are coded in the form {\Bslash qh$n\,\,p$} and {\Bslash qb$n\,\,p$} where $n$ is the beam number and $p$ the pitch of the note head. \musictex\ adjusts the length of the note stem to link the bottom of the chord to an upper beam (normally with \keyindex{qh}) and the top of the chord to a lower beam (normally with \keyindex{qb}). \medskip 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: \begin{music} \def\nbinstruments{1}\nbporteesi=1\relax \cleftoksi={{0}{0}{0}{0}}\def\instrumenti{}\resetsignatures\debutextrait \large\temps \notes\ibu0h0\qh0e\nbbu0\qh0e\nbbbu0\qh0e\nbbbu0\relax \qh0e\nbbbbu0\qh0e\nbbbbbu0\qh0e\tbu0\qh0e\enotes \finextrait \end{music} %\check \noindent has been coded as \begin{quote}\begin{verbatim} \notes\ibu0h0\qh0e\nbbu0\qh0e\nbbbu0\qh0e\nbbbu0\relax \qh0e\nbbbbu0\qh0e\nbbbbbu0\qh0e\tbu0\qh0e\enotes \end{verbatim}\end{quote} %\check \rm It is quite possible to terminate with \keyindex{tbu} a beam initiated with \keyindex{ibl}. This may give: \begin{music} \def\nbinstruments{1}\nbporteesi=1\relax \cleftoksi={{0}{0}{0}{0}}\def\instrumenti{}\resetsignatures\debutextrait \large\temps \notes\ibl0p0\qb0p\nbbl0\qb0p\nbbbl0\qb0p\tbu0\qh0e\enotes \finextrait \end{music} %\check \noindent which has been coded as \begin{quote}\begin{verbatim} \notes\ibl0p0\qb0p\nbbl0\qb0p\nbbbl0\qb0p\tbu0\qh0e\enotes \end{verbatim}\end{quote} %\check \rm 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. \medskip The macros \keyindex{tbbu} and \keyindex{tbbl} may also be invoked when only a single beam is active. Then, a second beam (upper or lower according the initiating procedure) is opened \ital{one note width before the current position, and closed immediately}. Thus the following sequence \begin{music} \def\nbinstruments{1}\nbporteesi=1\relax \cleftoksi={{0}{0}{0}{0}}\def\instrumenti{}\resetsignatures\debutextrait \large \temps \notes\ibu0e0\qh0e\tbbu0\tbu0\qh0e\enotes \finextrait \end{music} \medskip\noindent is coded: \medskip \begin{quote}\begin{verbatim} \notes\ibu0e0\qh0e\tbbu0\tbu0\qh0e\enotes \end{verbatim}\end{quote} %\check \rm \medskip The same behaviour occurs in the case of \keyindex{tbbbu}, \keyindex{tbbbl}, \keyindex{tbbbbu}, \keyindex{tbbbbl}, \keyindex{tbbbbbu} and \keyindex{tbbbbbl}. \medskip The symmetrical pattern is also possible. For example: \begin{music}\def\nbinstruments{1}\nbporteesi=1\relax \cleftoksi={{0}{0}{0}{0}}\def\instrumenti{}\resetsignatures \debutextrait\normal \Notes\ibbl0j0\rlap{\qsk\tbbl0}\qb0j\tbl0\qb0j\enotes \finextrait \end{music} \noindent has been coded as: \medskip \begin{quote}\begin{verbatim} \Notes\ibbl0j0\rlap{\qsk\tbbl0}\qb0j\tbl0\qb0j\enotes \end{verbatim}\end{quote} \medskip \noindent{\sl 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:} \medskip{\Bslash def\bslash qqh\#1\#2\#3\#4\#5\{\% \bslash ibbl0\#2\#1\bslash qh \#2\bslash qh \#3\bslash tbl0\bslash qh \#4\}} \medskip\noindent{\sl where the first argument is the slope and the other four arguments are the pitches of the four consecutive sixteenths wanted.} %\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{hh} and \keyindex{hb} macros, e.g.: \begin{music}\def\nbinstruments{1}\nbporteesi=1\relax \cleftoksi={{0}{0}{0}{0}}\def\instrumenti{}\resetsignatures \debutextrait\normal \Notes\ibbl0j0\hb0j\tbl0\hb0j\enotes \Notes\ibbu0g0\hh0g\tbu0\hh0g\enotes \finextrait \end{music} \noindent has been coded as: \medskip \begin{quote}\begin{verbatim} \Notes\ibbl0j0\hb0j\tbl0\hb0j\enotes \Notes\ibbu0g0\hh0g\tbu0\hh0g\enotes \end{verbatim}\end{quote} It is also possible to write \begin{music}\def\nbinstruments{1}\nbporteesi=1\relax \cleftoksi={{0}{0}{0}{0}}\def\instrumenti{}\resetsignatures \debutextrait\normal \Notes\ibbl0j3\wh j\tbl0\wh l\enotes \Notes\ibbu0g3\wh g\tbu0\wh i\enotes \finextrait \end{music} \noindent which was coded as: \medskip \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.}: \begin{music}\def\nbinstruments{1}\nbporteesi=1\relax \cleftoksi={{0}{0}{0}{0}}\def\instrumenti{}\resetsignatures \debutextrait\normal \Notes\zw j\qsk\ibbl0j3\sk\tbl0\wh l\enotes \Notes\ibbu0g3\wh g\tbu0\qsk\wh i\enotes \finextrait \end{music} \noindent which was simply coded as: \medskip \begin{quote}\begin{verbatim} \Notes\zw j\qsk\ibbl0j3\sk\tbl0\wh l\enotes \Notes\ibbu0g3\wh g\tbu0\qsk\wh i\enotes \end{verbatim}\end{quote} \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 (file {\tty musicvbm.tex}). If you say {\Bslash Ibu2gj3} \musictex\ will understand that you want to build an upper beam (beam number 2) horizontally extending \hbox{3\Bslash noteskip}, the first note of which is a {\tty g} and the last note is a{\tty j}. Knowing these parameters it will choose the highest slope number which corresponds to a slope not more than $(\hbox{\tty j}-\hbox{\tty g})/(3\keyindex{noteskip})$. Moreover, if there is no sufficiently steep beam slope available, then it will raise the starting point. \medskip Ten such macros are available: \keyindex{Ibu}, \keyindex{Ibbu}, \keyindex{Ibbbu}, \keyindex{Ibbbbu}, \keyindex{Ibbbbbu}, \keyindex{Ibl}, \keyindex{Ibbl}, \keyindex{Ibbbl}, \keyindex{Ibbbbl} and \keyindex{Ibbbbbl}. Examples of their use is given in {\tty marcello.tex}. \par\penalty -8000 \rm \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}; smaller rests are \keyindex{hpause} (of duration equal to a \ital{half note}), \keyindex{soupir} (duration equal to a \ital{quarter note}), \keyindex{dsoupir} (duration equal to an \ital{eighth note}, also \keyindex{ds}), \keyindex{quartsoupir} (duration equal to an \ital{sixteenth note}, also \keyindex{qs}), \keyindex{huitsoupir} (duration equal to an \ital{thirtysecond note}, also \keyindex{hs}), \keyindex{seizsoupir} (duration equal to an \ital{sixty fourth note}, also \keyindex{qqs}). Long rests (lasting several bars) can be coded as \keyindex{PAuse} and \keyindex{PAUSe}, which respectively yield: \begin{music} \def\nbinstruments{1}\relax \computewidths \generalmeter{\meterfrac{4}{4}}\relax \debutextrait \normal\elemskip=0.115\hsize \temps\Notes\sk\PAuse\enotes \barre\Notes\sk\PAUSe\enotes \finextrait \end{music} \subsection{Lifted rests} All the previous rests are \ital{hboxes}; this means that they can be vertically offset to meet polyphonic music requirements using the standard \TeX\ command \keyindex{raise}. 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{expause}~$p$ (spacing) for \hbox to 1.5em{\hss\expause 1\hss} at pitch position $p$, \item \keyindex{exhpause}~$p$ (spacing) for \hbox to 1.5em{\hss\exhpause 1\hss}, \item \keyindex{zexpause}~$p$ (non spacing) for \hbox to 1.5em{\hss\zexpause 1\hss}, \item \keyindex{zexhpause}~$p$ (non spacing) for \hbox to 1.5em{\hss\zexhpause 1\hss}. \end{itemize} \section{Phantom notes} It may be interesting, when coding a sequence of notes within a unique pair {\Bslash notes...\bslash 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{Do not 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.}. \medskip If you just want to shift a note or a symbol by one note head width, you may write \keyindex{qsk}. However, if you want to offset a note by one note head width in a chord, you have better use the \keyindex{roff} macro\footnote{The reason for that pertains to \ixem{\musixtex} which might dilate or shrink the {\bslash \qsk} spacing while the {\bslash roff} offset is absolute.}. \medskip Note that these two latter macros must be used inside a pair {\tty \bslash notes...\bslash enotes}. If you want to make a spacing of one note head width outside, write \keyindex{nspace}. Conversely, a more general spacing is allowed within the {\Bslash notes...\bslash enotes} pairs, namely: \medskip{\tty\keyindex{off} $d$} \medskip\noindent where $d$ is any \TeX\ valid dimension, for example {\Bslash noteskip} or {\tty 5\bslash Interligne}. In fact, if you look to the \musictex\ source, you will find that {\Bslash off} is the basic control sequence used to define \keyindex{sk}, \keyindex{qsk}, etc. \section{Collective coding: sequences of notes} As seen in the {\sc Mozart} example, it is not necessary to write a macro sequence {\Bslash notes...\bslash enotes} for each column. 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 {\Bslash notes}, {\Bslash Notes}, {\Bslash NOtes}, etc. %\check \medskip The major interest of this feature resides in that fact that the note macros are able to write several items; for instance {\Bslash qu\{cdefghij\}} writes the \ital{C-major} scale in quarters with stem up. In the same way {\Bslash 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. They are: \begin{itemize} \item all the spacing notes: \keyindex{wh}, \keyindex{hu}, \keyindex{hl}... \keyindex{ccccl} and the beam hooked notes, i.e. \keyindex{qh}$n$ and \keyindex{qb}$n$. \item all the chord notes with names of the form {\Bslash z...}. \end{itemize} Conversely, shifted notes are not supposed to be used in collective coding, mainly because they are used in very special cases which do not deserve wasting memory space to make them collective. \medskip If necessary a void space can be inserted in a collective coding by using {\tty*}\index{*}. %\check \section{Accidentals} Accidentals can be introduced in two ways. \medskip The first way, the \ital{manual} way of coding them, consists for example in coding {\tty\keyindex{fl} 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. \medskip Alternate procedures \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. \medskip %\check The second way of coding accidentals consists in putting the symbol {\tty \^{ }} (sharp), the symbol {\tty\_} (flat), the symbol {\tty=} (natural), the symbol {\tty>\relax} (double sharp), or the symbol {\tty<\relax} (double flat) within the coding of the note, e.g.: {\Bslash qh\{\^{ }g\}} yields a $G\sharp$. This may very well be combined with collective coding, e.g.: {\Bslash qu\{ac\^{ }d\}}. \medskip 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 forces 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). \medskip 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$: \begin{music} \def\nbinstruments{1}\relax \computewidths \debutextrait \normal \temps\NOtes\sk\uppersh l\ql l\enotes \temps\NOtes\upperna m\ql m\enotes \temps\NOtes\upperfl l\ql l\enotes \finextrait \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 {\tty c}, e.g. by coding {\tty\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} \def\nbinstruments{1}\relax \computewidths \debutextrait \normal \temps\NOtes\sk\csh g\qu g\enotes \temps\NOtes\cfl h\qu h\enotes \temps\NOtes\cna i\qu i\enotes \temps\NOtes\cdfl j\qu j\enotes \temps\NOtes\cdsh k\qu k\enotes \finextrait \end{music} Since cautionary accidentals are wider that normal ones, it might be useful to insert some spacing before them, either using \keyindex{temps} or a \keyindex{sk} within a {\Bslash notes...\bslash enotes} group. \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 \medskip {\Bslash transpose=3} \medskip\rm\noindent all subsequent pitches specified by upper or lower case letters 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 %\check \medskip \Bslash def\bslash soqu\#1\{\bslash zq\{\#1\}\{\bslash transpose=7\bslash relax \bslash qu\{\#1\}\}\} \medskip\rm\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. %\check \medskip \ital{Octaviation}\index{octaviation} can also be performed in is another way, namely unsing special codes to transpose by multiples of 7 intervals. For example {\Bslash qu\{'ab\}} is equivalent to {\Bslash qu\{hi\}} and {\Bslash qu\{\`{}kl\}} is equivalent to {\Bslash qu\{de\}}. It should be emphasized here that the {\tty'} (\itxem{acute accent}) and the {\tty\`{}} (\itxem{grave accent}) have cumulative effects, so that {\Bslash qu\{''A'A\}} is equivalent to {\Bslash qu\{ah\}} and that the {\Bslash transpose} parameter is only reset to its initial value (not necessarily zero) when changing staff or instrument (i.e. {\tty \|} or {\tty \&}) or at {\Bslash enotes}. Since this may be confusing, it is useful to use the {\tty !} prefix to reset the {\Bslash transpose} register explicitely to the value it had when entering {\Bslash notes}\footnote{This value is saved in another register named \keyindex{normaltranspose}.}. Thus {\Bslash qu\{!a'a\}} always gives the note {\tty a} and its upper octave {\tty h} \ital{shifted by the value of {\Bslash transpose} at the beginning of the current} \noindent {\Bslash notes...\bslash enotes} group (or {\Bslash Notes...\bslash enotes}, etc.) whatever the number of previous grave and acute accents occurring inbetween. \medskip 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. \medskip But the composer/typesetter may ask \musictex\ to do that work. In this case, he should code \keyindex{Sh}, \keyindex{Fl}, \keyindex{Na}, \keyindex{dSh} and \keyindex{dFl} (or \keyindex{bigSh}, \keyindex{bigFl}, \keyindex{bigNa}, \keyindex{bigdSh} and \keyindex{bigdFl} or \keyindex{smallSh}, \keyindex{smallFl}, \keyindex{smallNa}, \keyindex{smalldSh}, \keyindex{smalldFl}, \keyindex{cSh}, \keyindex{cFl}, \keyindex{cNa}, \keyindex{cdSh} and \keyindex{cdFl}) instead of the usual lower case accidental symbols. The symbol \keyindex{Sh} (resp. \keyindex{bigSh} and \keyindex{smallSh}) means that the corresponding pitch has to be raised by \ital{one half pitch} with respect to its normal value \ital{according to the current signature}. Thus {\Bslash Sh b} 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 having an upper case forelast letter. \medskip Obviously, the computation is done after taking account of the value of the \keyindex{transpose} register. \medskip The compact codes {\tty \^{}}, {\tty \_}, {\tty =} are normally not affected by transposition and signatures, but their behaviour can be changed by saying \keyindex{relativeaccidentals} and reset by \keyindex{absoluteaccidentals} (the default situation). %\check \medskip 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 {\Bslash na b} to rise the pitch of a $B$ when the tonality is $F$ major (i.e. with {\tty\keyindex{sign$n$}=-1} or {\tty\keyindex{generalsignature}\{-1\}}). An example of sophisticated transposition is given in the score {\tty souvenir.tex} (which {\Bslash input}s {\tty souvenix.tex}). It should be noted that \ital{relative accidental coding} is compatible with \itxem{cautionary accidental} coding: in this case, one should code \keyindex{cNa}, \keyindex{cSh}, \keyindex{cFl}, \keyindex{cdSh}, \keyindex{cdFl} respectively. \medskip Besides, the typical piano octave transposition \hbox{\sl 8 - - - - - } can be obtained by coding: %\check \medskip \keyindex{octfin} $p$ $n$ \medskip\noindent which puts the 8 and dotted line symbols at the pitch $p$ (usually {\tty p} to {\tty r}). The length is $n$\keyindex{noteskip}. This obviously fit for short octaviation denotations. To transpose a whole line, use \keyindex{octline}~$p$. Since \keyindex{octfin} terminates with a small hook down, to indicate clearly where octaviation stops, you may also like to use \keyindex{octsup} which behaves like \keyindex{octfin} without the final hook. All this supposes you have an idea of the actual line breaking of your score in that section, and this is admittedly difficult to handle when octave transposition is supposed to long a large number of lines. In that latter case, you can use the {\Bslash def\keyindex{everystaff}\{...\}} to insert whatever code you like at each new line of score. This has been used to set octaviation in the score of the \ital{Toccata in F} by Charles-Marie \index{Widor, C.-M.}{\sc Widor}\footnote{A French organist (1844-1937) and composer who was in charge of the organ of St-Sulpice in Paris, from 1864 to 1934.}: at each bar (or virtual bar, namely \keyindex{zbarre}), the {\Bslash everystaff} procedure is updated to produce the convenient code, in case of the line breaking happening before the next definition. %\check \section{Ties and slurs} They have been implemented in a way which may look rather ugly, but we think it is the only way of implementing \ital{in one pass} ties and slurs which run \ital{across glue}. \medskip Slurs and ties must be initiated within the pair {\Bslash notes...\bslash notes} before the spacing note is coded. They must be terminated also before the last note is coded. \medskip\keyindex{itenu}~$np$ \medskip\noindent\rm (\ital{ten} stands for the Italian word \ital{tenuto}) initiates an upper tie (convex) at pitch $p$. Just like beams, ties have a reference number $n$, from 0 to 6 (or 9 if {\tty musicadd} is included). \keyindex{itenl}~$np$ initiates a lower tie (concave). \medskip The tie of reference number $n$ is terminated by \keyindex{tten}~$n$. \medskip Slurs are initiated with \keyindex{ilegu}~$np$ and \keyindex{ilegl}~$np$, where \ital{leg} stands for the Italian word \ital{legato}, and they are terminated with \keyindex{tleg}~$n$. Except that slurs start before the note position and stop after, ties and slurs work the same way with the same syntax. They also share the same registers so that slurs nesting tied notes should have numbers $n$ distinct from each other. \subsection{Standard and nicer slurs} \medskip Since version 4.7, beginnings and ends of slurs are produced using a special font ({\tty slurn16} or {\tty slurn20}) rather than using \TeX\ bracing tokens from {\tty cmex10}. Thus the bending of slurs is now nicer and, moreover, several slur sizes are available. For example: \begin{music} \def\nbinstruments{1}\relax \computewidths \debutextrait \normal \temps\NOtes\Ilegu0l\qu g\enotes \NOtes\qu h\enotes \NOtes\ql i\enotes \NOtes\tleg0\ql j\enotes \finextrait \end{music} \noindent has been coded using \keyindex{Ilegu} rather than \keyindex{ilegu} (resp.\ using \keyindex{Ilegl} rather than \keyindex{ilegl} if a lower slur is wanted), namely: \begin{quote}\begin{verbatim} \NOtes\Ilegu0l\qu g\enotes \NOtes\qu h\enotes \NOtes\ql i\enotes \NOtes\tleg0\ql j\enotes \end{verbatim}\end{quote} It should to be noted that, as a standard, \itxem{ties} still use the \TeX\ bracing symbols; this is mainly done to avoid visibility problems with ties occurring in the middle of staffs, i.e. in a situation where tie lines could overlap and be confused with staff lines. But the \musictex\ user can request using special slur fonts by coding \keyindex{Itenu} or \keyindex{Itenl} instead of \keyindex{itenu} or \keyindex{itenl}. Even more, big symbol ties are available using \keyindex{ITenu} or \keyindex{ITenl}. \medskip As a standard, only two slur and tie symbol sizes are referred by \musictex\ macros, but a quick look into {\tty musicnft.tex} show that these definitions explicitely refer to a character number of the slur font: \begin{quote}\begin{verbatim} \def\ITenu#1{\selecttenue{#1}\I@tenu{70}}% \def\Ilegu#1#2{\selecttenue{#1}{\advance\locx@skip by -1.5\qn@width \I@tenu{70}{#2}}}% \def\Itenu#1{\selecttenue{#1}\I@tenu{66}}% \def\ilegu#1#2{\selecttenue{#1}{\advance\locx@skip by -1.5\qn@width \I@tenu{66}{#2}}}% \end{verbatim}\end{quote} Then the \musictex\ user can, for his own special needs, define new macros using other character codes in the range 64--79, knowing that each character of this range is one point longer than the previous one. \subsection{Problem with large slur ends} Due to spacing problems, it may happen that the end of an \keyindex{Ilegu} or \keyindex{Ilegl} makses some ugly overlap between the currrent slur horizontal rule and the ending symbol itself. This is due to the ending symbol being so long that it overlaps the end of the horizontal rule. The easiest way of removing that slight trouble consists in replacing --- for example --- {\tty\keyindex{tleg}0} with the more sophisticated commands~: \medskip\verb|\rlap{\qsk\tleg0}| \medskip\noindent which delays the position of the closing slur symbol by a space equal to the note head width. \subsection{Weird slurs and ties} In some special cases, usually in romantic music, one may want to invert the sense of a slur, linking for example a keyboard phrase beginning at the left hand and ending at the right hand. Thus, the slur of number $n$ (a numeric vamue, not a roman numeral) can be inverted by \medskip\keyindex{Invertslur} $n$ \medskip Besides, for some good reason, one may want to raise a slur at the next line. This is done by \medskip\verb|\def\atnextline{|\keyindex{liftslur} $n$\verb|{| \ital{dimension} \verb|}}| \medskip\noindent which will lift the slur number $n$ by the given amount at the next line change. Of course, \keyindex{liftslur} could be called in the middle of a line, but the result would be rather ugly. These two features are used at bars number 131--132 of examples {\tty PACIFIQB} and {\tty PACIFIQN}. \subsection{Refined slurs for clever typesetters} In addition to the previous extension and improvement of existing features, long nice horizontal slurs are also available, but they can be used only with two restrictions: \begin{itemize} \item They are not managed when \itxem{glue} is inserted, especially by \keyindex{temps} and \keyindex{barre}; \item They cannot be cut at line breaking. \end{itemize} Thus, their use is recommended only for nice slurs extending a few bars and not supposed to occur across lines. With this restrictions, \begin{music} \def\nbinstruments{1}\relax \computewidths \debutextrait \normal \temps\NOtes\zcharnote l{\huslur{3.5\noteskip}}\qu g\enotes \NOtes\qu h\enotes \NOtes\ql i\enotes \NOtes\ql j\enotes \finextrait \end{music} \noindent has been obtained by coding: \begin{quote}\begin{verbatim} \NOtes\zcharnote l{\huslur{3.5\noteskip}}\qu g\enotes \NOtes\qu h\enotes \NOtes\ql i\enotes \NOtes\ql j\enotes \end{verbatim}\end{quote} However, the best solution is now to use \ixem{\musixtex} which systematically makes beautiful slurs, at the cost of a three pass system instead of one... \section{Bars} \subsection{Bars and spacing} Ordinary \ital{bars} a coded using the macro \keyindex{barre} (this is a French word\footnote{Whose advantage is that it differs from {\Bslash bar} which is already defined in \TeX.}). This macro provides an optional (discretionary) line or page break\footnote{Unless it is triggered according to bar counting when \keyindex{autolines} has been invoked.}. It also provides some \ital{glue} in order to expand the text over an evenly filled line. \medskip However, since the number of bars in a score line is generally small, it may be convenient to allow \ital{glue} not only on each sides of \ital{bars}. This can be done using the macro \keyindex{temps} (the French word for \ital{beat}). This macro has two effects: \begin{enumerate} \item it inserts some \ital{glue} but prevents line breaking\footnote{This could unpleasantly occur if you insert a space...}, \item if some ties or slurs are pending it expands them across the glue by writing an \keyindex{hrule} which overlaps the unfinished tie and makes it look prolongated. \end{enumerate} \medskip Whatever the care you exercize in adjusting the size of the \keyindex{elemskip}, you are still likely to find some broken ties (which indicate excessive glue disassembling the gliding tie \keyindex{hrule}s) or some unexpected (and unwanted) line breaks or some Over[aw]full \keyindex{hbox}es. A useful means of estimating the remaining space to be filled with glue consists in declaring \keyindex{raggedlinestrue}~: after that, an \keyindex{hfil} will be inserted by \musictex\ before each computed (when using \keyindex{autolines}) or forced line break. Thus, all the musical text will be packed on the left of the line and you will clearly see the amount of remaining space. Then, it will be up to you do decide changing some spacing parameters. \medskip\noindent{\bf Important: \sl do not use \keyindex{temps} when \ital{beams} are pending, otherwise their spatial synchronization would fail. In other words, ties and slurs can jump over glue (because horizontal rules may overlap and thus have some elasticity) but beams (as well as any oblique lines) cannot.} \subsection{Bar numbering} \rm Unless otherwise specified, \index{bar numbering}bars are numbered. This is a good means of finding errors provided that the Music\TeX\ 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: \medskip{\Bslash def\keyindex{freqbarno}\{1\}} \medskip If you replace the {\tty 1} by {\tty 5}, bar numbering will occur each other five bars. You can also inhibit any bar number printing by telling: \medskip{\Bslash def\bslash wbarno\{\}} \medskip\noindent or, in a more clever way: \medskip{\Bslash def\bslash freqbarno\{9999\}}. \medskip The bar counter is also accessible, its name is \keyindex{barno}. This has nothing to do the the bar counting invoked by \keyindex{autolines}, so you can change it without any dramatic consequence. \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 {\tty ANGESCAO} (or {\tty 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}. \section{Line and page breaking}\label{linepagebreak} Bars provide a line breaking mechanism which is supposed to enable \TeX\ to break a full score into lines and pages, with an optimal distribution of the text into lines and pages. Unfortunately, this does not work correctly for scores of more that approximately one page. The reason is that \TeX\ must compile the entire contents of a paragraph, before it tries to break it into lines and pages. Therefore, one cannot rely on \TeX\ to make that work which automatically results in the diagnostic {\tty TeX capacity exceeded, memory...}. %\check \medskip To circumvent this dramatically restrictive capacity\footnote{\TeX\ has been designed to type text, not music.} unless you use some Big\TeX\footnote{Whose drawback is that it is very slow on ordinary PCs.} another mechanism must be invoked to break lines.\index{Big\protect\TeX} \medskip The first one is the manual one: you replace some of the {\Bslash barre} macro calls by either \keyindex{alaligne} (equivalent to \keyindex{break} within text: in fact it contains a \keyindex{break} plus some (many) other things). In the same way, you can code {\Bslash alapage} to force an \keyindex{eject} with proper reinitialization of staffs, clefs and signatures. \medskip The second one is fit for scores with bars of regular length: after \keyindex{debutmorceau}, 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\footnote{After having coded nearly one hundred of pages of music, I strongly recommend the use of \keyindex{autolines} except when inserting short excerpts of less than one line, such as in musicographic books.}. \medskip This sets some parameters, namely \keyindex{maxbarsinline} and \keyindex{maxlinesinpage} which are simply used to count the bars, optionally perform \keyindex{alaligne} or \keyindex{alapage} instead of the normal \keyindex{barre}. 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. \medskip On the other hand, you may want to forbid line breaking at a bar, then you replace {\Bslash barre} by \keyindex{xbarre}. \medskip 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.}. This is allowed by \keyindex{zbarre} (optional line break) or forced by {\Bslash zalaligne} or \keyindex{zalapage}. \medskip The final heavy double bar of a piece is provided by \keyindex{finmorceau}. If you just want to terminate the text with a simple bar, you say \keyindex{suspmorceau}. If you want to terminate it without a bar, you code \keyindex{zsuspmorceau}. Once you have stopped the score by any of these means, you can restart it using \keyindex{reprmorceau}. However, using {\Bslash reprmorceau} after a {\Bslash finmorceau} may have a little drawback: if {\Bslash finmorceau} occurs at the bottom of a page defined by \keyindex{autolines}, it does not cause a page break which could lead to en empty page after the end of the piece but, conversely, this might cause another trouble if this only was the end of a scora part, not the end of the whole score. Therefore, an alternate command has been provided, namely \keyindex{Suspmorceau} which duly performs the page break, in order to be ready to score another part of a complex peace. Thus, as a rule~: \begin{itemize} \item use \keyindex{finmorceau} at the very end of your score, \item use \keyindex{Suspmorceau} at the end of the parts of a complex piece. \end{itemize} \medskip If you want the next vertical bar to be a double bar, you have to declare \keyindex{setdoublebar} before the \keyindex{barre} (or the \keyindex{suspmorceau} or \keyindex{alaligne} or \keyindex{alapage}) to be marked with a double thin bar. \section{Changing score attributes} 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: \medskip\Bslash sign$r$=$s$ \medskip\rm\noindent %\check where $r$ is the roman numeral 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). %\check In the same way, you may want to change the active clefs. This is done by \medskip\tty\keyindex{cleftoks$r$}=\{\{$s1$\}\{$s2$\}\{$s3$\}\{$s4$\}\}\% \medskip\rm\noindent where $r$ is the roman numeral of the instrument, $s1$ specifies the clef of the lower staff, $s2$ the clef of the second staff, etc. One must always give four values with the above syntax, otherwise\dots\ $s1=6$ means the \ital{bass} clef (\ixem{clef de fa} in French), $s1=0$ means the \ital{violin} clef (\ixem{clef de sol} in French), $s1=1$ through $s1=5$ mean the \ital{alto} clef (\ixem{clef d'ut} in French) set on first (lower) through fifth (upper line of the staff). \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). 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 responsability to ensure that no notes will collide with the clef change symbols. %\check Caution should be exercized changing clefs when \itxem{beams} are pending: in fact the \verb|\changeclefs| and \verb|\zchangeclefs| perturbate the computation of beams and this command should be invoked only \begin{itemize} \item out of {\Bslash notes}, {\Bslash Notes}... --- {\Bslash enotes} pairs; \item only when no beam is pending\footnote{No problem with slurs and ties.}. \end{itemize} If a clef change has to be typeset when one or several beams are pending, the operation should be done in a more manual way: \begin{itemize} \item say \keyindex{saveclefs} instead of \keyindex{changeclefs}~: This actually records the \keyindex{cleftoks$r$} statement and no further {\Bslash changeclefs} will repeat the clef change; the new clef will not be typeset by \verb|\saveclefs| itself but rather by the next \verb|\notes| or \verb|\Notes| command; \item say \verb|\charnote0{\smallclefdesol}| (resp. \verb|\charnote0{\smallclefdefa}| or \verb|\charnote0{\smallclefdut}|) where you like it and at the right staff (i.e. within {\Bslash notes}, {\Bslash Notes}... --- {\Bslash enotes} pairs) to type set the wanted clef symbol. \end{itemize} As an example, an excerpt of {\sc Brahms}'s Intermezzo op.~117,1 provided by Miguel {\sc Filgueiras}:\index{Brahms} \begin{music} \parindent 1cm \def\nbinstruments{1}\relax \def\freqbarno{9999}% no bar numbers \nbporteesi=2\relax \cleftoksi={6000}% F- and G-clefs \generalsignature{-3}% 3 flats \relax \debutextrait \normal \off{1em}\temps\Notes\larpeggio{E}5\zq{EI}\qu{N}\charnote0{\smallclefdesol}\relax \nextstaff\qsk\ibl0e{-1}\zq{eg}\qb0l\zq{d}\qb0k\enotes \cleftoksi={0000}\saveclefs\Notes\tbu0\zq{ce}\qh0j\relax \nextstaff\zq{sn}\cl{l}\enotes \Notes\zq{be}\qu{i}\nextstaff\zq{sn}\ql{l}\enotes \cleftoksi={6000}\changeclefs\Notes\zq{E}\cu{I}\relax \nextstaff\ibbu1h{-1}\zq{ae}\qh1h\tbu1\zq{N}\qh1g\enotes \finextrait \end{music} \noindent which was coded as: \begin{verbatim} \begin{music} \def\nbinstruments{1}\relax \def\freqbarno{9999}% no bar numbers \nbporteesi=2\relax \cleftoksi={6000}\generalsignature{-3}% 3 flats \debutextrait \normal \off{1em}\temps\Notes\larpeggio{E}5\zq{EI}\qu{N}% \charnote0{\smallclefdesol}\relax \nextstaff\qsk\ibl0e{-1}\zq{eg}\qb0l\zq{d}\qb0k\enotes \cleftoksi={0000}\saveclefs\Notes\tbu0\zq{ce}\qh0j\relax \nextstaff\zq{sn}\cl{l}\enotes \Notes\zq{be}\qu{i}\nextstaff\zq{sn}\ql{l}\enotes \cleftoksi={6000}\changeclefs\Notes\zq{E}\cu{I}\relax \nextstaff\ibbu1h{-1}\zq{ae}\qh1h\tbu1\zq{N}\qh1g\enotes \finextrait \end{music} \end{verbatim} \medskip \ital{Meter} changes are implemented the same way: \medskip\Bslash metertoks$r$=\{\{$m1$\}\{$m2$\}\{$m3$\}\{$m4$\}\}\% \medskip\rm\noindent where $r$ is the roman numeral of the instrument, $m1$ specifies the meter of the lower staff, $m2$ the meter of the second staff, etc. One must always give four values with the above syntax, otherwise\dots\ Since meter changes are meaningful only across bars, they are actually taken in account with \keyindex{changecontext} or \keyindex{Changecontext} or \keyindex{alaligne} or \keyindex{alapage}. \section{Repeats} %\check To insert a \ital{repeat bar} you can use several sets of procedures. \subsection{Elementary and unsafe solutions} The simplest consists in using the commands \keyindex{leftrepeatsymbol}, \keyindex{rightrepeatsymbol} and \keyindex{leftrightrepeatsymbol} -- coded outside the {\Bslash notes...\bslash enotes} pairs -- which will simply insert these colon adorned double bars at the requested place. For example: \begin{music} \def\nbinstruments{1} \generalsignature{0}\savesignature \nbporteesi=1\cleftoksi={{0}{0}{0}{0}}\relax \debutextrait\normal \notes\hu g\enotes \leftrepeatsymbol \notes\hu h\enotes \leftrightrepeatsymbol \notes\hu i\enotes \rightrepeatsymbol \Notes\wh j\enotes \finextrait \end{music} \noindent has been coded as: %\check \begin{quote}\begin{verbatim} \notes\hu g\enotes \leftrepeatsymbol \notes\hu h\enotes \leftrightrepeatsymbol \notes\hu i\enotes \rightrepeatsymbol \Notes\wh j\enotes \end{verbatim}\end{quote} \medskip However, the previous way of coding does not provide for line breaking at repeat bars, nor does it advance the bar numbering. In fact, this way of coding if only fit for repeats occurring in the middle of a bar. \medskip A second way of coding consists in saying \keyindex{setleftrepeat}, \keyindex{setrightrepeat} or \keyindex{setleftrightrepeat} before a bar (\keyindex{barre}), \keyindex{suspmorceau} or \keyindex{changecontext}). In this case, the next single\footnote{\keyindex{setrightrepeat} does not change the effect of \keyindex{finmorceau}; in that case use \keyindex{finrightrepeat}.} 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{Safe and correct coding} The third coding, namely the correct coding -- i.e. transforming in the correct manner when occurring at a line break -- is obtained by substituting the \keyindex{barre} command with \keyindex{leftrepeat}, \keyindex{rightrepeat} and \keyindex{leftrightrepeat}. %\check \medskip Now, if you want to force a new line at a repeat, you should code respectively: \medskip\keyindex{setrightrepeat}\keyindex{alaligne} \keyindex{setrightrepeat}\keyindex{suspmorceau} {\Bslash alaligne}\keyindex{leftrepeatsymbol} \keyindex{reprmorceau}\keyindex{leftrepeatsymbol} \keyindex{debutmorceau}\keyindex{leftrepeatsymbol} \medskip\noindent or the combination of two of these in the case of a left/right repeat. \subsection{Specific first and second pass scoring} A frequent situation consists in a long repeated score, but the last few bars are different at first pass and at second pass. This can be specified by saying \keyindex{setprimavolta} or \keyindex{setsecondavolta}\footnote{From the Italian \ital{prima volta} meaning ``first time'', and \ital{seconda volta} meaning ``second time''.} before the next \keyindex{barre} or \ital{repeat} (usually {\Bslash rightrepeatsymbol}). For example~: \begin{music} \def\nbinstruments{1} \generalsignature{0}\savesignature \nbporteesi=1\cleftoksi={{0}{0}{0}{0}}\relax \debutextrait\normal \Notes\qu {ghij}\enotes \setprimavolta\barre \Notes\qu {hijk}\enotes \setsecondavolta\setrightrepeat\barre \Notes\qu {ijkl}\enotes \barre \NOTes\wh j\enotes \finextrait \end{music} \noindent has been coded as: \begin{quote}\begin{verbatim} \def\nbinstruments{1} \generalsignature{0}\savesignature \nbporteesi=1\cleftoksi={{0}{0}{0}{0}}\relax \debutextrait\normal \Notes\qu {ghij}\enotes \setprimavolta\barre \Notes\qu {hijk}\enotes \setsecondavolta\setrightrepeat\barre \Notes\qu {ijkl}\enotes \barre \NOTes\wh j\enotes \finextrait \end{verbatim} \end{quote} The ``prima volta'' and ``seconda volta'' symbols are normally set at {\tty 2\bslash Interligne} above the upper line of the staff, and one centimeter wide. If the music typesetter does not like that, he can issue for example: \medskip\keyindex{Setprimavolta}\verb|{4\Interligne}{0.78in}| \medskip\noindent where the first argument is the vertical offset, and the second one is the length of the upper horizontal line. A symmetrical feature is \keyindex{Setsecondavolta} with also two dimension arguments. Note that these special settings are only valid for one usage; after that, they are reset to the standard values. %\check \subsection{Large scope repeats} Large scope repeats have also been provided special symbols, namely using \keyindex{coda} and \keyindex{segno}~: \begin{music} \def\nbinstruments{1}\relax \computewidths \nbporteesi=1\relax \debutextrait \normal \notes\sk\enotes \temps\NOtes\coda l\enotes \temps\NOtes\segno l\enotes \finextrait \end{music} \medskip\noindent which have been coded: \begin{quote}\begin{verbatim} \NOtes\coda l\enotes \NOtes\segno l\enotes \end{verbatim}\end{quote} %\check \section{Miscellaneous} \subsection{Putting anything anywhere} Special macros are provided to help the composer to set any \TeX\ text on the staffs. The macro \medskip\keyindex{charnote}~$p$\tty\{ {\rm text} \} \medskip\rm\noindent sets the given text with its base line at pitch $p$ of the current staff (this means it must be coded inside {\Bslash notes...\bslash enotes}). Whatever the length of the text, the spacing is \keyindex{noteskip}. If you do not want it to cause spacing, you code \keyindex{zcharnote}. If you want the possible spilling text to expand on the left rather than on the right, then you can use \keyindex{lcharnote}. % \medskip To place some text at the mid-position between the two staffs of a keyboard instrument, you may code: \medskip\tty\keyindex{midtwotext}\{ {\rm text} \}\ \ \% \rm (spacing) \medskip\tty\keyindex{zmidtwotext}\{ {\rm text} \}\ \ \% \rm (non spacing) \medskip\rm\noindent being however careful, a) to put it inside {\Bslash notes...\bslash enotes}, b) to code it in the text of the lower staff. \medskip A text to be put above the current staff is introduced by {\tty\keyindex{uptext}\{...\}}. This may however cause some collision with bar numbering or notes above the staff; it is then wise to use {\tty \keyindex{Uptext}\{...\}} which puts the text two pitches higher (recommended to post the tempo). \medskip The macro \keyindex{zcharnote} is fit for coding special notations like accents above or below the notes. It behaves like \keyindex{charnote} but causes no spacing. \subsection{Metronomic indications} Metronomic indication deserves a special macro. The mention: \par\centerline{\def\nbinstruments{0}\computewidths \metron{\hup}{60}}\smallskip\noindent is coded by {\tty\keyindex{metron}\{\bslash hup\}\{60\}} (normally embedded in \keyindex{Uptext} which is in turn embedded within {\Bslash notes...\bslash enotes}). \subsection{Usual ornaments} %\check \ital{Arpeggios} (i.e. \raise -4pt\hbox{\musicxx\char92}\ ) can be coded with the macro \medskip\keyindex{arpeggio} $pm$ \medskip\rm\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 a space of one note head width. If should be issued before the concerned chords. Its variant \keyindex{larpeggio} sets the arpeggio symbol slightly more on the left, in order to avoid collision with accidentals in front of the chords. Note the \keyindex{arpeggio} and \keyindex{larpeggio} make an extra spacing of width one notehead (i.e; \keyindex{qsk}) so that it is wise to insert a {\Bslash qsk} in the other staffs before notes which are syncrhonous to the arpeggiated note. \medskip \ital{Trills} can be coded in several ways. \keyindex{trille}~$l$ (where $l$ is a \TeX\ dimension) yields \hbox{\trille{1cm}} while \keyindex{Trille}~$l$ (where $l$ is a \TeX\ dimension) yields \hbox{\Trille{2cm}}. To put these patterns at a given pitch, one may use \keyindex{xtrille}~$pl$ or \keyindex{xTrille}~$pl$. On the other hand \keyindex{ntrille}~$pn$ is equivalent to \keyindex{xtrille}~$p${\tty\{$n$\bslash noteskip\}} and \keyindex{nTrille}~$pn$ is equivalent to {\tty \keyindex{xTrille}~$p$\{$n$\bslash noteskip\}} \medskip Other \ital{ornaments} are available: \begin{itemize} \item \keyindex{mordant}~$p$ for \hbox to 1.5em{\mordant 0\hss}, \item \keyindex{pince}~$p$ for \hbox to 1.5em{\pince 0\hss}, \item \keyindex{Pince}~$p$ for \hbox to 1.5em{\Pince 0\hss}, \item \keyindex{Lpince}~$p$ for \hbox to 2em{\hss\Lpince 0\hss} (thanks to A. {\sc Egler})\index{Egler, A.}, \item \keyindex{Pincesw}~$p$ for \hbox to 2em{\hss\Pincesw 0\hss}, \item \keyindex{Pincene}~$p$ for \hbox to 2em{\hss\Pincene 0\hss}, \item \keyindex{Pincenw}~$p$ for \hbox to 2em{\hss\Pincenw 0\hss}, \item \keyindex{turn}~$p$ for \hbox to 2.5em{\kern 0.6em\turn 0\hss}, \item \keyindex{backturn}~$p$ for \hbox to 2.5em{\kern 0.6em\backturn 0\hss}, \item \keyindex{upz}~$p$ (upper \ital{pizzicato}) 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 head at pitch $p$, \item \keyindex{usf}~$p$ (upper \itxem{sforzando}) to put a $>$ accent above a note head at pitch $p$, \item \keyindex{lsf}~$p$ (lower \itxem{pizzicato}) to put a $>$ accent below a note head at pitch $p$, \item \keyindex{ust}~$p$ (upper \itxem{staccato} or \itxem{portato}) to put a hyphen above a note head at pitch $p$, \item \keyindex{lst}~$p$ (lower \ital{staccato} or \ital{portato}) 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{pointdorgue}~$p$ puts a \itxem{fermata} (in French ``point d'orgue'') at pitch $p$. No spacing occurs. \item \keyindex{pointdurgue}~$p$ puts a reverse \ital{fermata} at the same place. \item \keyindex{PED} to insert the piano pedal command below the staff; pedal release is specified by \keyindex{DEP}; thus the following example \begin{music} \def\nbinstruments{1}\relax \computewidths \cleftoksi={{6}{0}{0}{0}}\relax \nbporteesi=2\relax \debutextrait \normal \temps\NOtes\qsk\PED\wh J|\qsk\qu h\enotes \temps\NOtes|\qu g\enotes \temps\NOtes|\hu k\enotes \temps\Notes\DEP\enotes \finextrait \end{music} \noindent was coded as: \begin{verbatim} \temps\NOtes\qsk\PED\wh J|\qsk\qu h\enotes \temps\NOtes|\qu g\enotes \temps\NOtes|\hu k\enotes \temps\Notes\DEP\enotes \end{verbatim} \end{itemize} %\check \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 {\Bslash def\keyindex{everystaff}\{...\}}) to tell \musictex\ 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. \medskip The procedure named \keyindex{atnextline}, normally void, is executed at the next computed (through \keyindex{autolines}) 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.}. \medskip \index{tenor violin clef}In some scores, tenor parts are not code using the \ital{bass} clef, but using rather the \ital{violin clef} subscripted by a {\tty 8}. This is not directly supported by the \keyindex{cleftoks$r$}{\tty=} command, but it can be handled using \keyindex{everystaff} and \keyindex{zcharnote}. As an example the following score \begin{music} \def\nbinstruments{4} \cleftoksi={6000} \cleftoksii={0000} \cleftoksiii={0000} \cleftoksiv={0000} \font\eightfig=cmr8 \def\everystaff{\znotes&\zcharnote{-6}{\eightfig \kern -1.4\Interligne 8}&\zcharnote{-6}{\eightfig \kern -1.4\Interligne 8}\enotes} \debutextrait \normal \NOtes\hu{HIJK}&\hu{efgh}&\hl{hijk}&\hl{hmlk}\enotes \finextrait \end{music} \noindent was coded as: \begin{quote}\begin{verbatim} \def\nbinstruments{4} \cleftoksi={6000} \cleftoksii={0000} \cleftoksiii={0000} \cleftoksiv={0000} \font\eightfig=cmr8 \def\everystaff{\znotes&\zcharnote{-6}{\eightfig \kern -1.4\Interligne 8}&\zcharnote{-6}{\eightfig \kern -1.4\Interligne 8}\enotes} \debutextrait \normal \NOtes\hu{HIJK}&\hu{efgh}&\hl{hijk}&\hl{hmlk}\enotes \finextrait \end{verbatim}\end{quote} where the \verb|\eightfig| font declaration can obviously be omitted if the \TeX\ format declares an 8 point roman font. %\check \subsection{Beams across bars} The \keyindex{barre} macro inserts glue and terminates spacing account. Thus it is not compatible with pending \itxem{beams} and this is the usual way most composers wrote their scores, at least until the beginning of the XIX-th century. Unfortunately, later composers ({\sc Brahms}, {\sc Scriabin}, etc.) wanted to write beams jumping across bars. This can be partly handled by \musictex, using the macro \keyindex{xbeambarre}\footnote{An ugly mixture of French and English which is therefore not likely to be redefined by somebody else.} which puts a bar line of global width {\Bslash elemskip} with no glue around. Bar counting is done for \keyindex{autolines} purpose but no line breaking can occur, which means that the beams going across line or page breaks are not supported. We give an example from {\sc Brahms}'s Intermezzo op.~118,1 provided by Miguel {\sc Filgueiras}:\index{Brahms} \begin{music} \def\interfacteur{13} \def\nbinstruments{1} \nbporteesi=2\relax \cleftoksi={6000} \generalmeter{\allabreve} \debutextrait \normal \off{1em}\temps\Notes\qp\nextstaff\Ilegu0r\zq{q}\ql{j}\enotes \barre \Notes\qsk\ibu0a1\qh0{CEJLcL}\relax \nextstaff\qsk\rw{l}\pt{p}\zh{_p}\pt{i}\hl{_i}\enotes \Notes\qh0J\itenl1a\qh0a\nextstaff\tleg0\zq{o}\ql{h}\enotes \xbeambarre \Notes\zh{.L.a}\hl{.e}\relax \nextstaff\tten1\qb0{chj}\tbl0\qb0l\cl{q}\ds\enotes \Notes\qp\nextstaff\zq{q}\ql{j}\enotes \finextrait \end{music} \noindent whose coding is: \begin{verbatim} \begin{music} \def\interfacteur{13} \def\nbinstruments{1} \nbporteesi=2\relax \cleftoksi={6000} \generalmeter{\allabreve} \debutextrait \normal \off{1em}\temps\Notes\qp\nextstaff\Ilegu0r\zq{q}\ql{j}\enotes \barre \Notes\qsk\ibu0a1\qh0{CEJLcL}\relax \nextstaff\qsk\rw{l}\pt{p}\zh{_p}\pt{i}\hl{_i}\enotes \Notes\qh0J\itenl1a\qh0a\nextstaff\tleg0\zq{o}\ql{h}\enotes \xbeambarre \Notes\zh{.L.a}\hl{.e}\relax \nextstaff\tten1\qb0{chj}\tbl0\qb0l\cl{q}\ds\enotes \Notes\qp\nextstaff\zq{q}\ql{j}\enotes \finextrait \end{music} \end{verbatim} %\check \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 {\Bslash notes...\bslash 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 {\Bslash notes...\bslash enotes} pair. As an example, the following excerpt (beginning of the Aria of the ``Creation'' by Joseph {\sc Haydn})\index{Haydn, J.} \begin{music} \def\DS{\hbox{\ds}} \def\FS{\hbox{\kern 0.3\noteskip\soupir}\kern -0.3\noteskip} \def\qbl#1#2#3{\ibl{#1}{#2}{#3}\qb{#1}{#2}}% \def\qbu#1#2#3{\ibu{#1}{#2}{#3}\qh{#1}{#2}}% \def\nbinstruments{2}% \generalmeter{\meterfrac{4}{4}}% \signaturegenerale{0}% \nbporteesii=1\relax \nbporteesii=2\relax \cleftoksi={{6}{0}{0}{0}} \cleftoksii={{6}{0}{0}{0}} \etroit \debutextrait \NOTes\soupir&\soupir|\qu g\enotes % mesure 1 \advance\barno by -1\relax \barre\NOtes\itenu2J\wh J&\zw N\ibl0c0\qb0e|\qu j\enotes \notes&\qbl0c0|\noteskip=0.6\elemskip\tinynotesize \Ibbu1ki2\qh1{kj}\tqh1i\qsk\enotes \Notes&\qb0e\tbl0\qb0c|\qu j\enotes \temps\Notes&\ibl0c0\qb0{ece}\tbl0\qb0c|\ql l\sk\ql j\enotes % mesure 2 \barre\Notes\tten2\wh J&\ql J\sk\ql L|\ppt g\rlap{\qu g}\qbl1e0\relax \zq c\qb1e\zq c\qb1e\relax \zq c\tbl1\rlap{\qb1e}\ \ \ccu h\enotes \temps\Notes&\ql N\sk\pt L\ibl0L{-4}\qb0L|\ibl1e0\zq c\rlap{\qb1e}\cu g\relax \zq c\rlap{\qb1e}\raise\Interligne\DS \rlap{\qu g}\qb1g\enotes \notes&\sk\tbbl0\tbl0\qb0J|\tbl1\zq c\qb1e\enotes \finextrait \end{music} \noindent can be coded as: \begin{verbatim} \def\DS{\hbox{\ds}} \def\FS{\hbox{\kern 0.3\noteskip\soupir}\kern -0.3\noteskip} \def\qbl#1#2#3{\ibl{#1}{#2}{#3}\qb{#1}{#2}}% \def\qbu#1#2#3{\ibu{#1}{#2}{#3}\qh{#1}{#2}}% \def\nbinstruments{2}% \generalmeter{\meterfrac{4}{4}}% \signaturegenerale{0}% \nbporteesii=1\relax \nbporteesii=2\relax \cleftoksi={{6}{0}{0}{0}} \cleftoksii={{6}{0}{0}{0}} \etroit % % end of preliminary definitions % \debutextrait \NOTes\soupir&\soupir|\qu g\enotes % mesure 1 \advance\barno by -1\relax \barre\NOtes\itenu2J\wh J&\zw N\ibl0c0\qb0e|\qu j\enotes \notes&\qbl0c0|\noteskip=0.6\elemskip\tinynotesize \Ibbu1ki2\qh1{kj}\tqh1i\qsk\enotes \Notes&\qb0e\tbl0\qb0c|\qu j\enotes \temps\Notes&\ibl0c0\qb0{ece}\tbl0\qb0c|\ql l\sk\ql j\enotes % mesure 2 \barre\Notes\tten2\wh J&\ql J\sk\ql L|\ppt g\rlap{\qu g}\qbl1e0\relax \zq c\qb1e\zq c\qb1e\relax \zq c\tbl1\rlap{\qb1e}\ \ \ccu h\enotes \temps\Notes&\ql N\sk\pt L\ibl0L{-4}\qb0L|\ibl1e0\zq c\rlap{\qb1e}\cu g\relax \zq c\rlap{\qb1e}\raise\Interligne\DS \rlap{\qu g}\qb1g\enotes \notes&\sk\tbbl0\tbl0\qb0J|\tbl1\zq c\qb1e\enotes \finextrait \end{verbatim} \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} \def\nbinstruments{1} \nbporteesi=1\relax \cleftoksi={{0}{0}{0}{0}}\relax \debutextrait \normal \NOtes\qsk\hu h\enotes \temps\smallnotesize \notes\grcu j\enotes \temps\normalnotesize \NOtes\hu i\enotes \barre\tinynotesize \notes\qsk\zq h\grcl j\enotes \normalnotesize \NOTEs\wh i\enotes \finextrait \end{music} The previous example was coded as: \begin{quote}\begin{verbatim} \NOtes\qsk\hu h\enotes \temps\smallnotesize \notes\grcu j\enotes \temps\normalnotesize \NOtes\hu i\enotes \barre\tinynotesize \notes\qsk\zq h\grcl j\enotes \normalnotesize \NOTEs\wh i\enotes \end{verbatim}\end{quote} \subsection{Gregorian note shapes}\label{gregnotes} Provided that four line staffs are used, \itxem{gregorian music} was frequently quoted using specific \itxem{neumes}, 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. Symbols available in \musictex\ are~: \begin{itemize} \item Diamond shaped \itxem{punctum}: \raise 2.5pt\hbox{\musicxx\char 0} = \keyindex{diamg}~$p$~, \item Square \itxem{punctum}: \raise 2.5pt\hbox{\musicxx\char 1} = \keyindex{carrg}~$p$~, \item Left stemmed \itxem{virga}: \raise 2.5pt\hbox{\musicxx\char 2} = \keyindex{carpg}~$p$~, \item Right stemmed \itxem{virga}: \raise 2.5pt\hbox{\musicxx\char 3} = \keyindex{carqg}~$p$~. \end{itemize} They all have a non-spacing variant, which are~: \begin{itemize} \item Non spacing diamond shaped \itxem{punctum}: \raise 2.5pt\hbox{\musicxx\char 0} = \keyindex{zdiamg}~$p$~, \item Non spacing square \itxem{punctum}: \raise 2.5pt\hbox{\musicxx\char 1} = \keyindex{zcarrg}~$p$~, \item Non spacing left stemmed \itxem{virga}: \raise 2.5pt\hbox{\musicxx\char 2} = \keyindex{zcarpg}~$p$~, \item Non spacing right stemmed \itxem{virga}: \raise 2.5pt\hbox{\musicxx\char 3} = \keyindex{zcarqg}~$p$~. \end{itemize} To memorize these symbols, remember that {\tt carr} comes from the French word \ital{carr\'e} which means \ital{square}, that the letter {\tt p} has a tail on the left side and the {\tt q} has a tail on the right side. Other \itxem{neumes} can ne obtained by combining two or more of these symbols \subsection{Percussion stemless note shapes}\label{percunotes} Percussion\index{percussion music} music often uses stemless note heads different from the usual ones. \begin{itemize} \item White diamond or \itxem{rimshot}: \raise 2.5pt\hbox{\musicxx\char 127} = \keyindex{diamw}~$p$~, \item The \itxem{shaker}: \raise 2.5pt\hbox{\musicxx\char 79} = \keyindex{shaker}~$p$~, \item The {tremolo chord}: \hbox to 2em{\hss\musicxx\char 78\hss} = \keyindex{tremolord}~$p$~, \end{itemize} They all have a non-spacing variant\footnote{Stemless, not to be confused with {\bslash zq} qui extends stems within a chord. For that purpose, see \ref{genpercus} and \ref{othernotes}.}, which are~: \begin{itemize} \item Non spacing white diamond or \itxem{rimshot}: \raise 2.5pt\hbox{\musicxx\char 127} = \keyindex{zdiamw}~$p$~, \item Non spacing \itxem{shaker}: \raise 2.5pt\hbox{\musicxx\char 79} = \keyindex{zshaker}~$p$~, \item Non spacing {tremolo chord}: \hbox to 2em{\hss\musicxx\char 78\hss} = \keyindex{ztremolord}~$p$~, \end{itemize} \subsection{Other note shapes}\label{othernotes} The classical note heads given above --- namely \raise 0.5ex\hbox{\musicnorfont\char 33}~, \raise 0.5ex\hbox{\musicnorfont\char34} and \raise 0.5ex\hbox{\musicnorfont\char35} --- 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 are~: \begin{itemize} \item The \raise 0.5ex\hbox{\musicnorfont\char 0} symbol which is obtained using the \verb|\qu|, \verb|\qh| etc. macros replacing the ``{\tt q}'' letter in the macro name with a ``{\tt y}'' or writing \keyindex{ycu}, \keyindex{ycl}, \keyindex{yccu}, \keyindex{ycup} etc. instead of \verb|\cu|, \verb|\cl|, \verb|\ccu|, \verb|\cup|, etc. \item The \raise 0.5ex\hbox{\musicnorfont\char 127} symbol which is obtained using the \verb|\qu|, \verb|\qh| etc. macros replacing the ``{\tt q}'' letter in the macro name with a ``{\tt d}'' (think of \ital{diamond}) or writing \keyindex{dcu}, \keyindex{dcl}, \keyindex{dccu}, \keyindex{dcup}, etc. instead of \verb|\cu|, \verb|\cl|, \verb|\ccu|, \verb|\cup|, etc. \item The \raise 0.5ex\hbox{\musicnorfont\char 39} symbol which is obtained using the \verb|\qu|, \verb|\qh| etc. macros replacing the ``{\tt q}'' letter in the macro name with a ``{\tt k}'' or writing \keyindex{kcu}, \keyindex{kcl}, \keyindex{kccu}, \keyindex{kcup}, etc. instead of \verb|\cu|, \verb|\cl|, \verb|\ccu|, \verb|\cup|, etc. \item The \raise 0.5ex\hbox{\musicnorfont\char"35} symbol which is obtained using the \verb|\qu|, \verb|\qh| etc. macros replacing the ``{\tt q}'' letter in the macro name with a ``{\tt x}'' or writing \keyindex{xcu}, \keyindex{xcl}, \keyindex{xccu}, \keyindex{xcup} instead of \verb|\cu|, \verb|\cl|, \verb|\ccu|, \verb|\cup|, etc. \item The \raise 0.5ex\hbox{\musicnorfont\char38} symbol which is obtained using the \verb|\qu|, \verb|\qh| etc. macros replacing the ``{\tt q}'' letter in the macro name with the pair ``{\tt ox}'' or writing \keyindex{oxcu}, \keyindex{oxcl}, \keyindex{oxccu}, \keyindex{oxcup} instead of \verb|\cu|, \verb|\cl|, \verb|\ccu|, \verb|\cup|, etc. \end{itemize} %\check \section{Staff size} \index{staff size} \subsection{Moving from 20pt to 16pt general staff sizes and conversely} You also want to write some parts of your score in 20pt staff size and in 16pt staff size, namely for distinct parts of pieces. Changing the \ixem{general staff size} is done by saying: \tty\keyindex{musicsize}=16\bslash computespecifics\quad \rm or \Bslash musicsize=20\keyindex{computespecifics} \rm\noindent respectively. \subsection{Changing staff size for certain instruments}\label{staffspace} Regardless of the general choice of 16pt or 20pt staff sizes, it is now possible to assign certain instruments -- not sperate staffs belonging to a same instrument -- to have narrower staff size. This is done by giving a special definition of \keyindex{staffspacing$r$} where $r$ is the roman numeral of the instrument considered. For example, if the second instrument (starting from the system bottom) is required to have 25\% narrower staffs, one only hase to declare: \medskip{\Bslash def\bslash staffspacingii\{0.75\}} \medskip\noindent before the starting command {\Bslash debutmorceau}. Not only does this statement change the vertical spacing between staff lines, but is also changes the size of the key, accidental and note symbols to fit the modified staff line spacing. However, the existence of discrete font scales for music symbol typing results in some reasonable restrictions of the values of \keyindex{staffspacing$r$}~: recommended values are approximately 1, 0.8 and 0.64; if different values are chosen, then the symbol size is taken smaller than the line spacing, which may lead to readable but rather ugly typesetting. As an example, we give two bars of the \ital{Ave Maria} by Charles {\sc Gounod}\index{Gounod, C.} using 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} \begin{music} \def\nbinstruments{4} \computewidths \sepbarrules \generalmeter{\meterC}\relax \def\oct{\advance\transpose by 7\relax} \def\staffspacingii{0.64} \def\staffspacingiv{0.64} \cleftoksi{{6}{0}{0}{0}} \cleftoksii{{0}{0}{0}{0}} \cleftoksiv{{0}{0}{0}{0}} \nbporteesi=2\relax \nbporteesiii=0\relax \debutextrait \normal\elemskip=0.02\hsize %Takt 9 \Notes\zhl c\raise27pt\qs\qupp e|\ds&\oct \itenu5h\hl h&gra---&\itenl4h\hu h\enotes \Notes|\ibbl0j3\qb0h\tqb0l\enotes \Notes|\ibbl1k0\qb1o\qb1h\qb1l\tqb1o\enotes \temps\Notes\zhl c\raise27pt\qs\qupp e|\ds&\oct \tten5\ibl4c0\qb4h&&\tten4\ibu5g{-3}\qh5h\enotes \Notes|\ibbl0j3\qb0h\tqb0l&\oct\qb4a&---&\tqh5a\enotes \Notes|\ibbl1k0\qb1o\qb1h&\oct\qb4b&ti-&\cu b\enotes \Notes|\qb1l\tqb1o&\oct\tqb4c&a&\cu c\enotes \barre %Takt 10 \Notes\zhl c\raise27pt\qs\qupp d|\ds&\oct \qlp d&ple---&\Ilegu4k\pt d\qu d\enotes \Notes|\ibbu1g3\bigaccid\qh1{^f}\tqh1h\enotes \Notes|\ibbu2i0\qh2k\qh2f\enotes \Notes|\qh2h\tqh2k&\oct \cl e&&\tleg4\cu e\enotes \temps\Notes\zhl c\raise27pt\qs\qupp d|\ds&\oct \ql d&na,&\qu d\enotes \Notes|\ibbu1g3\qh1f\tqh1h\enotes \Notes|\ibbu2i0\qh2k\qh2f\qh2h\tqh2k&\qp&&\qp\enotes \finextrait \end{music} This example was coded as: \begin{quote}\begin{verbatim} \def\nbinstruments{4} \sepbarrules \generalmeter{\meterC}\relax \def\oct{\advance\transpose by 7\relax} \def\staffspacingii{0.64} \def\staffspacingiv{0.64} \cleftoksi{{6}{0}{0}{0}} \cleftoksii{{0}{0}{0}{0}} \cleftoksiv{{0}{0}{0}{0}} \nbporteesi=2\relax \nbporteesiii=0\relax % \debutextrait \normal\elemskip=0.02\hsize %Takt 9 \Notes\zhl c\raise27pt\qs\qupp e|\ds&\oct \itenu5h\hl h&gra---&\itenl4h\hu h\enotes \Notes|\ibbl0j3\qb0h\tqb0l\enotes \Notes|\ibbl1k0\qb1o\qb1h\qb1l\tqb1o\enotes \temps\Notes\zhl c\raise27pt\qs\qupp e|\ds&\oct \tten5\ibl4c0\qb4h&&\tten4\ibu5g{-3}\qh5h\enotes \Notes|\ibbl0j3\qb0h\tqb0l&\oct\qb4a&---&\tqh5a\enotes \Notes|\ibbl1k0\qb1o\qb1h&\oct\qb4b&ti-&\cu b\enotes \Notes|\qb1l\tqb1o&\oct\tqb4c&a&\cu c\enotes \barre %Takt 10 \Notes\zhl c\raise27pt\qs\qupp d|\ds&\oct \qlp d&ple---&\Ilegu4k\pt d\qu d\enotes \Notes|\ibbu1g3\bigaccid\qh1{^f}\tqh1h\enotes \Notes|\ibbu2i0\qh2k\qh2f\enotes \Notes|\qh2h\tqh2k&\oct \cl e&&\tleg4\cu e\enotes \temps\Notes\zhl c\raise27pt\qs\qupp d|\ds&\oct \ql d&na,&\qu d\enotes \Notes|\ibbu1g3\qh1f\tqh1h\enotes \Notes|\ibbu2i0\qh2k\qh2f\qh2h\tqh2k&\qp&&\qp\enotes \end{verbatim}\end{quote} %\check \section{Layout parameters} Most layout parameters are set by \musictex\ 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. %\check \subsection{List of layout parameters} {\sl 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 {\Bslash 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.} \begin{description} \item[\keyindex{interligne} : ]vertical interval between lines in a staff of the current instrument, taking account of a possible specification of \keyindex{staffspacing$r$} (see \ref{staffspace}) \nochange \item[\keyindex{Interligne} : ]vertical distance between the base of staff lines of the current instrument, taking account of a possible specification of \keyindex{staffspacing$r$} (\keyindex{interligne} is the size of the blank space between lines; the difference between them is the line thickness \keyindex{lthick}) \nochange. \item[\keyindex{internote} : ]the vertical spacing of contiguous notes of the current instrument, taking account of a possible specification of \keyindex{staffspacing$r$}, i.e.\ the half of {\Bslash Interligne} \nochange \item[\keyindex{Internote} : ]the vertical spacing of contiguous notes of the instrument(s) whose \keyindex{staffspacing$r$} has the \ital{default value} of one (1.0). Since this dimension is the same, regardless of the actual value of the staff line spacing of any instrument, only this value should be used to specify horizontal spacings. It should be used rather than absolute dimensions in \verb|pt| or \verb|mm|, since \verb|\Internote| is duly proportional to the general size (\keyindex{musicsize}) but not dependent on specific changes in \keyindex{staffspacing$r$} \nochange \item[\keyindex{nullthick} : ]reserved height above base line for zero staff lines (text of songs) \item[\keyindex{staffbotmarg} : ]margin below the first staff of the lowest instrument. If not already assigned a non zero dimension, it is set to \keyindex{bottomfacteur}\keyindex{Interligne} at the next system. \item[\keyindex{stafftopmarg} : ]margin above the upper staff of the upper instrument. \item[\keyindex{interbeam} : ]vertical distance between beams. \item[\keyindex{interportee} : ]the distance between the bottom of one staff and the bottom of the next one. It is set to 2\keyindex{interfacteur}{\Bslash internote} at the next system. \item[\keyindex{Interportee} : ]the distance between the top of one staff and the bottom of the next one. Re-computed at the at the next system. \item[\keyindex{interinstrument} : ]the additional vertical distance between two different instruments (must be positive, otherwise weird results can happen). 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 which holds for each of the vertical spaces between instruments, except the upper one, in which case this interval is irrelevant. However, this parameter can be overridden for the space above a specific instrument. For example (see the example {\tty angescao.tex}) one can state: \medskip \begin{quote}\begin{verbatim} \def\interinstrumenti{5pt} \end{verbatim}\end{quote} \medskip \noindent to force an additional spacing of 5 points above instrument $i$, 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 insruments in a choir score). \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. \end{description} \medskip 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 {\Bslash def}): \begin{itemize} \item\keyindex{altitude} : the 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 staff \nochange. \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: \verb|\def\stemfactor{3.5}| Normal stem length is restored by calling the macro \keyindex{normalstems}. \end{itemize} %\check \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{suspmorceau} (or a \keyindex{finmorceau}) and a \keyindex{reprmorceau} (or a \keyindex{debutmorceau}), but it is wiser to say, for example: \medskip \begin{quote}\begin{verbatim} \def\atnextline{\global\staffbotmarg=5\Interligne} \end{verbatim}\end{quote} \medskip When doing so, the \musictex\ user should be aware that this could disturb pending \ital{slurs} or \ital{ties}, since the altitude of these is stored in an absolute way, starting from the baseline of the systems. Therefore, changing the \keyindex{staffbotmarg} dimension can also be made by means of {\tty\keyindex{advancebottom}\{$$\}} which updates all pending slur and tie altitudes by the given dimension. This has been used in {\tty pacifiqn} and {\tty pacifiqb}. \medskip The user may prefer to redefine {\Bslash def\keyindex{bottomfacteur}} or {\Bslash def\keyindex{interfacteur}} to a given integer number, but this can be done only between a \keyindex{suspmorceau} (or a \keyindex{finmorceau}) and a \keyindex{reprmorceau} (or a \keyindex{debutmorceau}), but it is wiser to use \keyindex{atnextline} as previously. \medskip It is also wise to use \keyindex{atnextline} to change the 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}. \medskip In anycase it is a good idea to look at the procedures \keyindex{computewidths} and \keyindex{computespecifics} to understant what they really compute, and also to find the places where they are actually invoked. \subsection{Changing the vertical distance between consecutive systems} If this has to be changed only once at the beginning of a piece, the simplest is to say \medskip \begin{quote}\begin{verbatim} \def\bottomfacteur{8} \end{verbatim}\end{quote} \medskip\noindent before invoking\keyindex{debutmorceau}. Note that \keyindex{bottomfacteur} is invoked to compute the dimension register \keyindex{staffbotmarg} whenever this register contains a zero dimension. The number (it must be a number) is multiplied by \keyindex{Interligne} and affected to \keyindex{staffbotmarg}. \medskip If this has to be changed several times to meet page layout requirements with scores sometimes -- but only sometimes -- going very deep below the lowes staff of the systems, it is wiser to use \keyindex{advancebottom}, namely: \medskip \begin{quote}\begin{verbatim} \advancebottom{10pt} \end{verbatim}\end{quote} \medskip\noindent to advance the bottom margin register by that dimension at the next system line break. {\medskip\noindent\sl REMARK : it is also possible to change the system top margin, i.e.\ \keyindex{stafftopmarg} between systems. Changing top and bottom margin add together but it may influence the position of the whole in the pages.} \subsection{Changing staff distance within systems} This can be done at the beginning by changing the definition of \keyindex{interfacteur} (it is {\Bslash def}ined to a number) before the first \keyindex{debutmorceau}. But it is also possible to give a new dimension to the dimension register \keyindex{interportee} and, optionally, to the dimension register \keyindex{interinstrument} (see above). \subsection{Changing the number of lines in staffs} Unless explicitely specified, staffs consist of five lines, in accordance to the normal way of coding music scores. However, two exceptions might be preferred when using \musictex~: \begin{itemize} \item \itxem{gregorian music} is often writen using staff of four lines instead of five, \item \itxem{percussion music} (e.g. drums, triangle) only needs one line staffs, since the pitch cannot change. \end{itemize} Therefore, since its version 5.00, \musictex\ allows for choosing the number of lines of the staffs of an instrument. This is done by defining the macro \keyindex{stafflinesnb}$r$ --- where $r$ is the roman numeral of the wanted instrument as usual --- to be the number of lines of the specific staff. For example~:\label{gregorian} \begin{quote} \noindent\verb|\def\stafflinesii{4}| \end{quote} will make the instrument number 2 (i.e. {\tt ii}) to have staffs of four lines, that is, fit for gregorian music. %\check \subsection{Resetting normal layout parameters} Except \keyindex{musicsize} which has to be explicitely changed if needed, all layour registers are reset to default values by \keyindex{resetfacteurs} which put zero dimensions into \keyindex{staffbotmarg} and \keyindex{stafftopmarg}, so that the next \keyindex{debutmorceau} will recompute them, unless they have been given non zero dimensions inbetween. \subsection{Typesetting one-line excerpts rather than larges 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{debutmorceau} with \keyindex{debutextrait}\footnote{\ital{Extrait} is the French word for \ital{excerpt}.} and {\Bslash finmorceau} or {\Bslash suspmorceau} with \keyindex{finextrait}. If you want to terminate it without a bar, you code \keyindex{zfinextrait} which acts like {\Bslash zsuspmorceau}.. %\check \subsection{Lyrics}\index{lyrics} Lyrics can be introduced in several ways~: \begin{enumerate} \item The first one consists in dedicating one instrument whose \keyindex{nbportees$r$} is zero. Then the text of the lyrics is just inserted, note by note, by inserting it at the right position between {\Bslash notes}...{\Bslash enotes}. The drawback is that a four voice choir needs eight instruments which may lead to troubles if there is also an orchestra score below the voices. \item Therefore, another solution consists in adjusting \keyindex{interinstrument} and \keyindex{staffbotmarg} to give more place below the song instruments\footnote{Beware of a shift of one position, since {\Bslash intersinstrument$r$} indicates the interval \ital{above} the $r$-th instrument.}. Then the texts of the lyrics are indicated with the song tune instrument, using \keyindex{zcharnote} with a negative numeric position value. By the way, the {\Bslash zcharnote} may have a {\Bslash vbox} as a second argument, and this \keyindex{vbox} may contain several {\Bslash hbox}es describing the text of the different couplets (see example {\tty ANGESCAO}). \item Of easier use are the commands \keyindex{zsong} (right of the note), \keyindex{lsong} (left) and \keyindex{csong} (centered) which post the lyrics at the lower staff line \ital{minus} the previous \keyindex{interinstrument}~$n$ or the \keyindex{staffbotmarg} quantity. These commands only have one argument, namely the lyrics text: \begin{center} \keyindex{zsong}\verb|{|\ital{text}\verb|}|\quad \keyindex{lsong}\verb|{|\ital{text}\verb|}|\quad \keyindex{csong}\verb|{|\ital{text}\verb|}| \end{center} \medskip As an example, the following French song \begin{music} \generalsignature{1} \def\nbinstruments{1} \debutextrait \NOtes\zsong{Au }\qu g\enotes \NOtes\zsong{clair }\qu g\enotes \NOtes\zsong{de }\qu g\enotes \NOtes\zsong{la }\qu h\enotes \barre \NOTes\zsong{lu- }\hu i\enotes \NOTes\zsong{ne, }\hu h\enotes \barre \NOtes\zsong{mon }\qu g\enotes \NOtes\zsong{a- }\qu i\enotes \NOtes\zsong{mi }\qu h\enotes \NOtes\zsong{Pier- }\qu h\enotes \barre \NOTes\zsong{rot, }\wh g\sk\enotes \finextrait \end{music} \noindent was coded as: \begin{quote}\begin{verbatim} \generalsignature{1} \def\nbinstruments{1} \debutextrait \NOtes\zsong{Au }\qu g\enotes \NOtes\zsong{clair }\qu g\enotes \NOtes\zsong{de }\qu g\enotes \NOtes\zsong{la }\qu h\enotes \barre \NOTes\zsong{lu- }\hu i\enotes \NOTes\zsong{ne, }\hu h\enotes \barre \NOtes\zsong{mon }\qu g\enotes \NOtes\zsong{a- }\qu i\enotes \NOtes\zsong{mi }\qu h\enotes \NOtes\zsong{Pier- }\qu h\enotes \barre \NOTes\zsong{rot, }\wh g\sk\enotes \finextrait \end{verbatim}\end{quote} \end{enumerate} %\check \section{Other special ornaments} Since the first release of \musictex, many users have either asked for new features of proposed their own procedures to be included in \musictex. Some of them have been added because of their high utility, some others have been left aside for several reasons. The major reason for not including many proposals in the \musictex\ release is that -- at least on many computers and especially PC's -- the \TeX\ memory is limited to 65~000 ``words''. This is a very restricted value which causes many trials to exceed the capacity of \TeX\ (unless using ``big\TeX''). Therefore, only the proposed macros of very general use can be introduced in the release as a standard and the users are suggested to take their specific procedures and include them (directly of by means of an {\Bslash input}) in their own source code. This is particularly valid 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 in a separate file named {\tty musicext.tex}. For example, brackets can be produced: \begin{music} \def\nbinstruments{1}\relax \computewidths \nbporteesi=1\relax \debutextrait \normal \temps\Notes\ovbkt j3{15}\ql{hij}\enotes \finextrait \end{music} %\check \section{The {\tt musicsty} macros}\label{musicsty} % non musical procedures used in typesetting the non-musical % texts together with musictex This file is made for non \TeX perts and/or lazy score typesetters. 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 fi for European A4 paper\footnote{People addicted to \itxem{legal} or other paper sizes should correct it for their own purpose.} \item a set of text size commands: \begin{description} \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}, \keyindex{bf}, \keyindex{sl}, \keyindex{it} commands to 10 point font size; \item[\keyindex{twlpoint}] to get 12 point font size; \item[\keyindex{frtpoint}] to get 14.4 point font size; \item[\keyindex{svtpoint}] to get 17.28 point font size; \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 \keyindex{fullauthor} to be put at the right of the first page, below the title of the piece; the calling sequence is, for example: \verb| \author{Daniel TAUPIN\\organiste \`a Gif-sur-Yvette}| \noindent where the \verb|\\| makes theauthor name displayed on two or several 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{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. \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. \noindent{\sl 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).} \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. \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~: \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{debutmorceau} or between \keyindex{suspmorceau} and \keyindex{reprmorceau} or equivalent commands. \end{enumerate} \end{itemize} \end{itemize} Note that \verb|musicsty| should not be used with \LaTeX. \section{Abnormal music coding} \subsection{Gregorian chant} \index{gregorian music}Gregorian chant is often coded using four line staffs (see section \ref{gregorian}) and using special notes (called \itxem{neumes}) which are described in section \ref{gregnotes}. But the gregorian chant also needs a special \itxem{alto clef} which is in fact the ancester of the modern alto clef. The gregorian \itxem{alto clef} can be invoked instead of the modern one by re-declaring the \keyindex{clefdut}$r$ macro. Thus \begin{quote}\begin{verbatim} \def\clefdutiv{\gclefdut} \end{verbatim}\end{quote} will cause the instrument number 4 (i.e. {\tt iv}) to exhibit a gregorian C clef whenever the value of \verb|\cleftoskiv| refers to an alto clef. The modern alto clef can be restored for that instrument by~: \begin{quote}\begin{verbatim} \def\clefdutiv{\clefdutsymbol} \end{verbatim}\end{quote} \subsection{Music score without clefs or with special 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 done by declaring some of the following items~: \medskip \verb|\def|\keyindex{clefdesol}$r$\verb|{\relax}| \verb|\def|\keyindex{clefdut}$r$\verb|{\relax}| \verb|\def|\keyindex{clefdefa}$r$\verb|{\relax}| \medskip At first sight, it could be thought to be silly to cancel the G clef, the C clef and/or the F clef to have an empty clef symbol. But the reason is that the absence of clefs does not mean that notes should not be raised according to their pitch. Thus, if the user uses the G clef coding of pitches, he is welcome to use the present feature to cancel the G clef, but if he uses some alto clef coding, then he should cancel the alto clef symbol. Of course, all this is irrelevant if the engraver chooses to use numeric coding of note position like \verb|\qu{10}|. Normal symbols for these clefs and for instrument or roman number $r$ can be restored by~: \medskip \verb|\def\clefdesol|$r$\verb|{|\keyindex{clefdesolsymbol}\verb|}| \verb|\def\clefdefa|$r$\verb|{|\keyindex{clefdefasymbol}\verb|}| \verb|\def\clefdut|$r$\verb|{|\keyindex{clefdutsymbol}\verb|}| \medskip Besides, a special \itxem{drum clef} (two heavy vertical bars) can replace any of the standard clefs, for exemple the G clef by saying~: \medskip \verb|\def\clefdesol|$r$\verb|{|\keyindex{drumclefsymbol}\verb|}| \medskip 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 \begin{music} \parindent 19mm \def\nbinstruments{3} \def\instrumenti{keyboard} \def\instrumentii{drum} \def\instrumentiii{monks} \def\stafflinesnbii{1} \def\stafflinesnbiii{4} \generalsignature{0} \generalmeter{\relax} \signi=-1\relax % one flat at keyboard \nbporteesi=2\relax % 2 staffs at keyboard \cleftoksi={6000}\cleftoksiii={3000}\cleftoksii={1000} \def\clefdutiii{\gclefdut} % gregorian C clef at instrument iii \def\clefdutii{\drumclefsymbol} % cancel C clef at instrument ii \def\interinstrumentii{-4\Interligne} % less spacing above drum \normal \debutextrait \Notes\hu F|\zh c\hu h&\diamw 0&\carrg {acd}\enotes \NOtes\qu I|\zq N\qu d&\diamg 0&\diamg f\enotes \NOtes\qu J|\zq a\qu e&\diamg 0&\diamg e\enotes \notes\hu G|\zh b\hu d&\zshaker 3\diamw {00}&\zcarrg d\carqg g\carrg {hgh}\enotes \finextrait \end{music} \noindent could be coded as follows, regardless this is relevant~: \begin{verbatim} \parindent 19mm \def\nbinstruments{3} \def\instrumenti{keyboard} \def\instrumentii{drum} \def\instrumentiii{monks} \def\stafflinesnbii{1} \def\stafflinesnbiii{4} \generalsignature{0} \generalmeter{\relax} \signi=-1\relax % one flat at keyboard \nbporteesi=2\relax % 2 staffs at keyboard \cleftoksi={6000}\cleftoksiii={3000}\cleftoksii={1000} \def\clefdutiii{\gclefdut} % gregorian C clef at instrument iii \def\clefdutii{\drumclefsymbol} % cancel C clef at instrument ii \def\interinstrumentii{-4\Interligne} % less spacing above drum \normal \debutextrait \Notes\hu F|\zh c\hu h&\diamw 0&\carrg {acd}\enotes \NOtes\qu I|\zq N\qu d&\diamg 0&\diamg f\enotes \NOtes\qu J|\zq a\qu e&\diamg 0&\diamg e\enotes \notes\hu G|\zh b\hu d&\zshaker 3\diamw {00}&\zcarrg d\carqg g\carrg {hgh}\enotes \finextrait \end{verbatim} In the same way, a possible violin score with \itxem{harmonic notes} (see \ref{othernotes}) could be~:\label{abnormalscores} \begin{music} \def\freqbarno{9999}% no bar numbers \def\nbinstruments{1}\nbporteesi=1\relax \generalsignature{-2}\generalmeter{\allabreve}\cleftoksi={0000} \normal \debutextrait \NOtes\zd o\zh d\hu h\enotes \Notes\ibu0k0\zq g\yh0k\qh0j\zq e\yh0i\tbu0\qh0j\enotes \barre \NOTes\zd g\hu k\enotes \NOTes\hpause\enotes \barre \NOtes\zd o\zh d\hl h\enotes \Notes\ibl0b0\zq g\yb0k\qb0j\zq e\yb0i\tbl0\qb0j\enotes \barre \NOTes\zd g\hu k\enotes \NOTes\hpause\enotes \finextrait \end{music} It was coded as follows: \begin{quote}\begin{verbatim} \def\nbinstruments{1}\nbporteesi=1\relax \generalsignature{-2}\generalmeter{\allabreve}\cleftoksi={0000} \normal \debutextrait \NOtes\zd o\zh d\hu h\enotes \Notes\ibu0k0\zq g\yh0k\qh0j\zq e\yh0i\tbu0\qh0j\enotes \barre \NOTes\zd g\hu k\enotes \NOTes\hpause\enotes \barre \NOtes\zd o\zh d\hl h\enotes \Notes\ibl0b0\zq g\yb0k\qb0j\zq e\yb0i\tbl0\qb0j\enotes \barre \NOTes\zd g\hu k\enotes \NOTes\hpause\enotes \finextrait \end{verbatim}\end{quote} \subsection{Usual percussion music} \label{genpercus} 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} \def\freqbarno{9999}% no bar numbers \def\nbinstruments{1}\generalsignature{0}\def\stafflinesbi{5} \generalmeter{\meterfrac44} \cleftoksi={0000}\def\clefdesoli{\drumclefsymbol} \normal \debutextrait \leftrepeat \Notes\zql f\rlap{\soupir}\ibu0m0\xh0{nn}\enotes \Notes\zk d\zql f\zq j\xh0n\tbu0\xh0n\enotes \Notes\zql f\rlap{\soupir}\ibu0m0\xh0{nn}\enotes \Notes\zk d\zql f\zq j\xh0n\tbu0\xh0n\enotes \barre \Notes\zql f\rlap{\soupir}\ibu0m0\kh0{nn}\enotes \Notes\zx d\zql f\zq j\kh0n\tbu0\kh0n\enotes \Notes\zql f\rlap{\soupir}\ibu0m0\kh0{nn}\enotes \Notes\zx d\zql f\zq j\kh0n\tbu0\kh0n\enotes \barre \Notes\zql f\rlap{\soupir}\ibu0m0\oxh0{nn}\enotes \Notes\zox d\zql f\zq j\kh0n\tbu0\oxh0n\enotes \Notes\zql f\rlap{\soupir}\ibu0m0\oxh0{nn}\enotes \Notes\zox d\zql f\zq j\kh0n\tbu0\oxh0n\enotes \setrightrepeat\finextrait \end{music} Its coding was~: \begin{quote}\begin{verbatim} \begin{music} \def\nbinstruments{1}\generalsignature{0}\def\stafflinesbi{5} \generalmeter{\meterfrac44} \cleftoksi={0000}\def\clefdesoli{\drumclefsymbol} \normal \debutextrait \leftrepeat \Notes\zql f\rlap{\soupir}\ibu0m0\xh0{nn}\enotes \Notes\zk d\zql f\zq j\xh0n\tbu0\xh0n\enotes \Notes\zql f\rlap{\soupir}\ibu0m0\xh0{nn}\enotes \Notes\zk d\zql f\zq j\xh0n\tbu0\xh0n\enotes \barre \Notes\zql f\rlap{\soupir}\ibu0m0\kh0{nn}\enotes \Notes\zx d\zql f\zq j\kh0n\tbu0\kh0n\enotes \Notes\zql f\rlap{\soupir}\ibu0m0\kh0{nn}\enotes \Notes\zx d\zql f\zq j\kh0n\tbu0\kh0n\enotes \barre \Notes\zql f\rlap{\soupir}\ibu0m0\oxh0{nn}\enotes \Notes\zox d\zql f\zq j\kh0n\tbu0\oxh0n\enotes \Notes\zql f\rlap{\soupir}\ibu0m0\oxh0{nn}\enotes \Notes\zox d\zql f\zq j\kh0n\tbu0\oxh0n\enotes \setrightrepeat\finextrait \end{music} \end{verbatim}\end{quote} To use these different note heads, one must \begin{itemize} \item either include a specific percussion file namely {\tt \ixem{musicper.tex}} after the usual \verb|\input musictex| or invoke the \LaTeX\ style option {\tt\ixem{musicper}}\index{musicper.sty}; \item use special macro names to replace the usual elliptic back note head with either a double sharp sign or with a $+$. These macros are~: \begin{itemize} \item \keyindex{zx}, \keyindex{xu}, \keyindex{xup}, \keyindex{xupp}, \keyindex{xl}, \keyindex{xlp}, \keyindex{xlpp}, \keyindex{xh}, \keyindex{xb}, \keyindex{zx}, \keyindex{xcu}, \keyindex{xcup}, \keyindex{xcupp}, \keyindex{xccu}, \keyindex{xcccu}, \keyindex{xccccu}, \keyindex{xcl}, \keyindex{xclp}, \keyindex{xclpp}, \keyindex{xccl}, \keyindex{xcccl} and \keyindex{xccccl}, which behave exactly like \verb|\zq|, \verb|\qu|, \verb|\qup|, \verb|\qupp|, \verb|\ql|, \verb|\qlp|, \verb|\qlpp|, \verb|\qh|, \verb|\qb|, \verb|\zq|, \verb|\cu|, \verb|\cup|, \verb|\cupp|, \verb|\ccu|, \verb|\cccu|, \verb|\ccccu|, \verb|\cl|, \verb|\clp|, \verb|\clpp|, \verb|\ccl|, \verb|\cccl| and \verb|\ccccl|, except that the note head is \raise 0.6ex\hbox{\musicnorfont\char '65} instead of \raise 0.5ex\hbox{\musicnorfont\char '41}~. \item \keyindex{zox}, \keyindex{oxu}, \keyindex{oxup}, \keyindex{oxupp}, \keyindex{oxl}, \keyindex{oxlp}, \keyindex{oxlpp}, \keyindex{oxh}, \keyindex{oxb}, \keyindex{zx}, \keyindex{oxcu}, \keyindex{oxcup}, \keyindex{oxcupp}, \keyindex{oxccu}, \keyindex{oxcccu}, \keyindex{oxccccu}, \keyindex{oxcl}, \keyindex{oxclp}, \keyindex{oxclpp}, \keyindex{oxccl}, \keyindex{oxcccl} and \keyindex{oxccccl}, to get a note head of \raise 0.6ex\hbox{\musicnorfont\char 38} instead of \raise 0.5ex\hbox{\musicnorfont\char '41}~. \item \keyindex{zk}, \keyindex{ku}, \keyindex{kup}, \keyindex{kupp}, \keyindex{kl}, \keyindex{klp}, \keyindex{klpp}, \keyindex{kh}, \keyindex{kb}, \keyindex{zk}, \keyindex{kcu}, \keyindex{kcup}, \keyindex{kcupp}, \keyindex{kccu}, \keyindex{kcccu}, \keyindex{kccccu}, \keyindex{kcl}, \keyindex{kclp}, \keyindex{kclpp}, \keyindex{kccl}, \keyindex{kcccl} and \keyindex{kccccl}, to get a note head of \raise 0.6ex\hbox{\musicnorfont\char 39} instead of \raise 0.6ex\hbox{\musicnorfont\char '41}~. \end{itemize} \end{itemize} \section{Writing your own macros: the {\Bslash catcode} problems} As seen before, the \keyindex{catcodes} of the {\tty\|} and {\tty\&} symbols are modified by \musictex, in the range of the actual scores but no more\footnote{Since version 4.99.} 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 {\tty\|} or {\tty\&} symbols in a part of text where their \keyindex{catcode}s are not correctly set. 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 {\tty\&} 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 {\tty\|} and {\tty\&} have the correct \musictex\ \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 ``{\tty<\relax}'', ``{\tty>\relax}'', ``\verb|^|, etc., if their \keyindex{catcode} has been changed by some other set of macros, like {\tty \ixem{french.sty}}. \section{Musicla\TeX} \subsection{The {\tt musictex.sty} style} As said before, the amount of memory and registers used by \musictex\ makes it hardly compatible with \LaTeX. However, Nicolas {\sc Brouard}\index{Brouard, N.} succeeded in building a {\tty\ixem{musictex.sty}} 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 {\tty musictex} in the options. \medskip The \LaTeX\ style file {\tty \ixem{musictex.sty}} simply \verb|\input|s the following files (in that very order): \begin{itemize} \item {\tty musicpre.tex} \item {\tty musicnft.tex} \item {\tty musictex.tex} \item {\tty musicvbm.tex} \item {\tty musicpos.tex} \end{itemize} \medskip In the case of a \LaTeX\index{LaTeX=\protect\LaTeX} user wanting to use accidental transposition facilities, he should invoke {\tty\ixem{musictrp}} in the options of the \keyindex{documentstyle} command. In case of {\tty 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} 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 \itxem{largemusic} has been provided, 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 haddled with the {\tty a4wide}\index{a4wide} style option, or any derivate of it. %\check \subsection{The {\Bslash catcode} problems} The {\tty musicpos.tex} file merely overrides the \keyindex{catcode}s of the {\tty\|} and {\tty\&} symbols which are modified by \musictex. To have access to these symbols when coding music, on should then enclose the scores or excerpts within {\Bslash begin\{music\}} and {\Bslash end\{music\}}. But there is also another possibility, i.e.\ to say \keyindex{nextinstrument} instead of {\tty \&}\index{\&} and \keyindex{nextstaff} instead of {\tty\|}.\index{\|} Another problem comes from the {\tty \ixem{french.sty}} written by Bernard {\sc Gaulle}\index{Gaulle, B.} which is the standard of the \ixem{GUTenberg} French association. This style changes many \keyindex{catcode}s which lead \musictex\ to fail in many cases. Therefore, since the version 4.99, the \keyindex{catcode}s of all are forced to the adequate value at \keyindex{debutmorceau}, \keyindex{debutextrait} and restored at their original value at \keyindex{finmorceau}, \keyindex{suspmorceau} and \keyindex{finextrait}. 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 {\tty french.sty}. \section{Implementation and restrictions} The macroinstruction file \musictex\ contains approximately 2500 lines of code, that is 80~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 set \hbox{\Bslash tracingsstats} to 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, perform a great deal of disk input/outputs (on PCs with i286 processors) which make them awfully slow\footnote{Using i386 or i486 processors, this problem disappears with the specific version of {\tty emTeX}}.\index{Big\protect\TeX}\index{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 may cause unwanted line breakings after which music symbols seem to \ital{float} in the air without staffs. To avoid that, it is recommended to use \keyindex{relax} rather than {\tty\%} at the end of source lines. \chapter{Installation} \section{Getting the stuff} As seen before, all the files are available at \itxem{anonymous ftp} {\tty rsovax.lps.u-psud.fr} (193.55.39.100) in the directory\footnote{{\sc unix} addicts whould beware that this primary server is an old MicroVax run the VMS system. Therefore the brackets in the directory name are compulsory, not optional.} {\tty[anonymous.musictex]}, which can more easily be reached using the simple command {\tt cd musictex} This directory normally contains {\tty musictex.zip} which contains all the distribution for PC (\ixem{MS-DOS}) computers. This is only for {\tty ftp}-ing convenience since all source files are directly available in the same directory. In addition a set of examples (i.e. the files whose name does not begin with ``{\tty music}'') is packed into {\tty musicexa.zip}, and {\tty recueil.zip} contains the zipped DVIs of a large subset of the examples. Finally the PK files of specific fonts are provided in {\tty musicpk.zip}; getting this file is useless if you are able to {\tty metafont} the files whose {\tty *.mf} are provided in the main package. The \ixem{VMS} files are also packed into {\tty musictex.bck}\index{musictex.zip} \index{musictex.bck}. Notwithstanding the fact that files are packed together or not, the files provided are of two kinds: \begin{enumerate} \item the basic files; \item the example files. \end{enumerate} All \itxem{basic files} are either of the form {\tty music*.*} (excluding of course {\tty *.zip} and {\tty *.bck}), {\tty beamn*.*} and {\tty slurn*.*}. Other files ({\tty *.tex} or {\tty *.dvi}) are example files. \ital{Fonts}\index{fonts} are provided as {\tty *.mf} files but also as {\tty *.tfm} and {\tty *.pk} files for 300~dpi printers or previewers. Additional values of the \ixem{dpi} parameter are also provided in {\tty musicpk.zip}. Normally needed fonts are {\tty musikn20}, {\tty musikn16}, {\tty musikn13}, {\tty musikn11}, {\tty musicbra} or {\tty musicbrb}\footnote{{\tt musicbra} and {\tt musicbrb} exhibit some drawing differences, but they meet the same purpose of typing \itxem{piano braces}.}, {\tty beamn20}, {\tty beamn16}, {\tty beamn13}, {\tty beamn11}, {\tty slurn20} and {\tty slurn16}. \section{Installing the fonts} \textit{All} files with the extension \verb|.tfm|\footnote{\TeX\ font metric files, needed directly from binary for \TeX ing the examples or the doc.} have to be copied in the same directory as the other \verb|.tfm|'s. Then, if you get the error message: \verb|! Font ... not loadable: Metric (TFM) file not found.| \noindent this means you did not succeed in installing the \verb|.tfm|'s, or you installed them in the wrong directory. Then look at your general \TeX\ documentation\footnote{The specific \TeX\ installation manual, not necessarily the \TeX book.} and try again. The \verb|.tfm| only contains the width, height and depth of each character of a font and is the only font file needed for \TeX ing. But, to preview and/or view you need the pixel fonts, i.e. not the metrics but the exact drawing of the characters. On most systems they are packed and have either the extension \verb|.pk| or the extension {\tt.}$${\tty pk}, where $dpi$ is the actual resolution of the font needed in the requested size. This means that the the given \verb|*.pk| files provided often have to be renamed as \verb|*.300pk|, especially in \unix\ systems. Mostly needed and spreaded are the fonts for \verb|dvi|-driver with resolution of 300dpi. Using Em\TeX the \verb|.pk|-fonts have to be copied in \verb|...\pixel.lj\300dpi\|. In \unix\ systems they often have to be renamed as \verb|*.300pk| and put in a directory --- the name of which can be provided by your local manual or \TeX-wizard --- of the form \verb|.../fonts/pk|. \section{Building a format}\label{formatbuild} Introducing the basically needed files in a \itxem{format} (with \ixem{INITEX}) is a means of saving computer time and memory. Besides, you will have a format compatible with \musixtex\ and --- provided you made the symmetrical format for \musixtex that is, including {\tt musixcpt} in your \musixtex\ format --- 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 or the other, or whether you made some general mistake. \subsection{Starting from nil} \begin{enumerate} \item Build up a file called \verb|musictex.ini| with following contents: \begin{verbatim} \input plain % or your local plain-like TeX format \input musicnft \input musictex \input musicvbm \input musictrp % optionally \input musicsty % optionally \def\fmtname{musictex}\def\fmtversion{5.08} \dump \end{verbatim} \item Make your format with the command \smallskip \verb|initex musictex.ini|\footnote{depends on your implementation. {\tty initex} may require another form, such as ``\verb|tex386 -i|''.} \item Then your format may me invoked for \TeX ing score by something like \verb|tex &musictex| \textit{jobname}\footnote{depends on your implementation. Very often the formatless \TeX is invoked by \verb|virtex| rather than \verb|tex| which already invokes a default plain format.}. \end{enumerate} \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 {\sl shell\/} procedure under \unix. \item If \verb|tex| is a command try to find the ``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, {\it mutatis mutandis\/}, assuming the ``initex'' command has the name \verb|initex| and the ``plain \TeX'' format is \verb|plain|, run the shell command: \medskip \verb|initex \&plain musictex.ins| \medskip\noindent which will produce a format file {\tt musictex.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 \musictex\ any score you have written using a command such as: \medskip \verb|tex \&musictex my-score.tex| \medskip\noindent that is, specifying your new format {\tt musictex.fmt} instead of the usual {\tt plain.fmt}. For MS-DOS/{\tt emTeX} users the format building command is: \verb|tex386 -i &plain musictex.ins| \noindent (you can change \verb|plain| into \verb|dc-plain| or any other plain-like format you have) then: \verb|copy musictex.fmt \emtex\btexfmts\*.*| \noindent and the {\tt musictex.bat} command can be % 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) \begin{quote}\begin{verbatim} if exist %1.tex goto tex goto end :tex tex386 -mt20000 &musictex %1 %2 %3 %4 %5 %6 %7 %8 %9 :end \end{verbatim}\end{quote} \end{enumerate} \input musicdoc.ind \chapter{Examples} \vskip -8mm Due to compatibility problems with \LaTeX\ (used to produce this notice) large examples must be \TeX -ed separately, i.e.\ using \TeX\ and not \LaTeX. Therefore, the Music\TeX\ future user is suggested to produce some of the following examples and to look carefully at the way some special features have been coded. \medskip When producing this examples, care should be taken about the fact that many several 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 ``{\Bslash input musicnft}'' or ``\verb|% \input musixtex|''. This latter command indicates that this exemple can be run, both with \musictex\ inserting \verb|\input musicnft| \verb|\input musictex| \verb|\input musicvbm| \verb|\input musictrp| \verb|\input musicsty| \noindent at the beginning, or inserting the correcponding files of MusiX\TeX\ (see corresponding manual). A simplerway of doing consists in having two formats, one for \musictex\ (see \ref{formatbuild}), one for MusiX\TeX\ plus its compatibility input files. 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. \medskip Suggested tests are: \begin{itemize} \item{\tty PACIFIQN} for a long original piano work (11 pages); {\tty PACIFIQB} is the same in 16~pt staff size; \item{\tty CARILLON} for a sophisticated piano score (use Big\TeX~!); \item{\tty PRAETORI} to get an ancient polyphonic song with three transpositions; \item{\tty ANGESCAO} if you like Christmas carols with four voices, a three-staff organ score and the same transposed to meet ordinary singer's limitations; {\tty ANGESCAM} is the same without organ. See {\tty angescax.tex} to see how the same source has been used for two distinct layouts. \item{\tty HPRELFUG} if you like imitations of J.-S. Bach (included in {\tty RECUEIL}); \item{\tty MARCELLX} if you like pre-baroque music (included in {\tty RECUEIL}); \item{\tty RECUEIL} if you want to get all the organ works\footnote{All subsets of {\tty RECUEIL} can be \musictex-ed separately.} of the author in a single book (65 pages); \item{\tty HWIDOR} and {\tty NWIDOR} to get the Toccata by Charles-Marie {\sc Widor} in two different sizes; \item{\tty AVEMARIX} to get the ``M\'editation'' (alias ``Ave Maria'') by Charles {\sc Gounod} for organ and violin or song.\index{Gounod, C.} and {\tty AVEMARIO} to get the same for organ solo; \item{\tty RACINE} to get the ``Cantique de Jean Racine'' by Gabriel {\sc Faur\'e} in a transcription fit for organ rather than for piano.\index{Faur\'e, G.} \end{itemize}\index{Widor, C.-M.}\index{Gounod, C.} \chapter{Summary of denotations} \section{Pitches} \begin{music} \cleftoksi={6000} \def\lbnt#1{\zcharnote{9}{\tty #1}\wh{!#1}} \def\LBNT#1{\zcharnote{9}{\tty !\relax #1}\wh{!#1}} \def\nbinstruments{1}\relax \debutextrait\autolines{13}{1}{12}\temps\notes\qsk \LBNT {`A}\LBNT {`B}\relax \LBNT {`C}\LBNT {`D}\LBNT {`E}\relax \LBNT {`F}\LBNT {`G}\relax \lbnt A\lbnt B\lbnt C\lbnt D\lbnt E\lbnt F\enotes\finextrait \def\lbnt#1{\zcharnote{-5}{\tty #1}\wh{!#1}}\relax \debutextrait\autolines{13}{1}{12}\temps\notes\qsk \lbnt G\lbnt H\lbnt I\relax \lbnt J\lbnt K\lbnt L\lbnt M\lbnt N\lbnt a\lbnt b\lbnt c\lbnt d\lbnt e\relax \enotes\finextrait \def\nbinstruments{1}\relax \cleftoksi={0000} \def\lbnt#1{\zcharnote{10}{\tty #1}\wh{!#1}}\relax \debutextrait\autolines{13}{1}{12}\temps\notes\qsk \lbnt a\lbnt b\lbnt c\lbnt d\lbnt e\lbnt f\lbnt g\lbnt h\lbnt i\relax \lbnt j\lbnt k\lbnt l\lbnt m\enotes\finextrait \def\lbnt#1{\zcharnote{-4}{\tty #1}\wh{!#1}}\relax \debutextrait\autolines{13}{1}{12}\temps\notes\qsk \lbnt n\lbnt o\lbnt p\lbnt q\lbnt r\relax \lbnt s\lbnt t\lbnt u\lbnt v\lbnt w\lbnt x\lbnt y\lbnt z\relax \enotes \finextrait \end{music} \section{Notes and Rests} \begin{music} \def\mcra#1{\zcharnote{10}{\hbox to 1.3\Interligne{\hss\Bslash #1\hss}}} \def\Mcra#1{\zcharnote{14}{\hbox to 1.3\Interligne{\hss\Bslash #1\hss}}} \def\nbinstruments{1} \debutextrait\normal\temps\NOTes\sk \mcra{zbv}\zbv i\sk\mcra{zsb}\zsb i\sk\enotes\Notes\relax \mcra{wh}\wh i\qsk \mcra{hu}\hu f\qsk\mcra{hl}\hl l\qsk \mcra{qu}\qu f\qsk\mcra{ql}\ql l\qsk \mcra{cu}\cu f\qsk\mcra{cl}\cl l\qsk \qsk\mcra{ccu}\ccu f\qsk\qsk\mcra{ccl}\ccl l\qsk\relax \qsk\qsk\mcra{cccu}\cccu d\qsk\qsk\qsk\mcra{cccl}\cccl l\qsk \qsk\qsk\mcra{ccccu}\ccccu f\qsk\qsk\qsk\mcra{ccccl}\ccccl l\enotes\finextrait \end{music} % \begin{music} \def\mcra#1{\zcharnote{10}{\hbox to 1.3\Interligne{\hss\Bslash #1\hss}}} \def\Mcra#1{\zcharnote{14}{\hbox to 1.3\Interligne{\hss\Bslash #1\hss}}} \def\nbinstruments{1} \debutextrait\normal\temps\NOTes\qsk \mcra{whp}\whp i\qsk \mcra{hup}\hup f\qsk\mcra{hlp}\hlp l\qsk \mcra{qup}\qup f\qsk\mcra{qlp}\qlp l\qsk \mcra{cup}\cup f\qsk\mcra{clp}\clp l\qsk\enotes \Notes\qsk\mcra{qh0}\ibu0f0\qh0f\tbu0\sk \qsk\mcra{qb0}\ibl0l0\qb0l\tbl0\sk\relax \qsk\mcra{qhp0}\ibu0f0\qhp0f\tbu0\sk \qsk\mcra{qbp0}\ibl0l0\qbp0l\tbl0\sk\relax \qsk\mcra{qhpp0}\ibu0f0\qhpp0f\tbu0\sk \qsk\mcra{qbpp0}\ibl0l0\qbpp0l\tbl0\sk\relax \enotes \finextrait % \def\mcrb#1#2{\zcharnote{14}{\hbox to 1.3\Interligne{\hss\Bslash #1\hss}}% \mcra{#2}}% \def\Mcrb#1#2{\zcharnote{18}{\hbox to 1.3\Interligne{\hss\Bslash #1\hss}}% \Mcra{#2}}% \def\mcrc#1#2#3{\zcharnote{18}{\hbox to 1.3\Interligne{\hss\Bslash #1\hss}}% \mcrb{#2}{#3}}% \debutextrait\normal\NOTES\qsk\relax \Mcrb{seizsoupir}{qqs}\qqs\qsk% hemi-demi-semi-quaver rest \mcrb{huitsoupir}{hs}\hs\qsk% demi-semi-quaver rest \mcrc{quartsoupir}{qsoupir}{qs}\qs\qsk\qsk% semi-quaver rest \mcrc{demisoupir}{dsoupir}{ds}\ds\qsk% quaver rest \enotes\finextrait \debutextrait\normal\NOTEs \mcrb{soupir}{qp}\qp\qsk% crotchet rest \mcra{hpause}\hpause% minim rest \mcra{pause}\pause% semibreve rest \mcra{PAuse}\PAuse% ? rest \enotes\NOTes \mcra{PAUSe}\PAUSe% ?? rest \enotes\finextrait \end{music} % \section{Other symbols} \begin{music} \def\nbinstruments{1}\parindent 0pt \def\mcra#1{\zcharnote{17}{\hbox to 1.3\Interligne{\hss\Bslash #1\hss}}} \def\Mcra#1{\charnote{17}{\hbox to \noteskip{\Bslash #1\hss}}} \debutextrait\NOTEs \mcra{nTrille}\nTrille{n}4\sk\qsk \mcra{ntrille}\ntrille{n}4\sk\sk \mcra{pince}\pince{n}\sk\mcra{Pince}\Pince{n}\sk\relax \mcra{mordant}\mordant{n}\sk \mcra{turn}\turn{n}\sk\mcra{backturn}\backturn{n}\sk \mcra{coda}\coda{n}\sk\mcra{segno}\segno{n}\sk \enotes\finextrait \debutextrait \def\mcra#1{\zcharnote{10}{\hbox to \noteskip{\Bslash #1\hss}}}\relax \NOTes\sk\relax \mcra{dimin}\zcharnote b{\dimin}\sk\sk \mcra{Dimin}\zcharnote b{\Dimin}\sk\sk\relax \mcra{DImin}\zcharnote b{\DImin}\sk\sk\sk\relax \mcra{DIMin}\zcharnote b{\DIMin}\sk\sk\sk\sk\relax \enotes\finextrait \debutextrait \def\mcra#1{\zcharnote{10}{\hbox to \noteskip{\Bslash #1\hss}}}\relax \NOTes\sk\relax \mcra{cresc}\zcharnote b{\cresc}\sk\sk\relax \mcra{Cresc}\zcharnote b{\Cresc}\sk\sk\relax \mcra{CResc}\zcharnote b{\CResc}\sk\sk\sk\relax \mcra{CREsc}\zcharnote b{\CREsc}\sk\sk\sk\sk\relax \enotes\finextrait \debutextrait \def\mcra#1{\zcharnote{14}{\hbox to 2\Interligne{\hss\Bslash #1\hss}}}\relax \NOTEs\sk \mcra{pointdorgue}\pointdorgue{l}\wh k\sk\relax \mcra{pointdurgue}\pointdurgue{e}\wh f\sk\enotes \NOTes \mcra{PED}\PED\sk\mcra{DEP}\DEP\sk\relax \enotes\finextrait \end{music} \end{document}