231 lines
11 KiB
TeX
231 lines
11 KiB
TeX
\chapter{Font Selection and Text Placement}
|
|
|
|
\section{Predefined text fonts}
|
|
While any font with support for \TeX\ can be used by \musixtex, certain styles and
|
|
sizes can be selected using shortcut commands.
|
|
For ordinary text, the shortcuts cover fonts of nine different
|
|
sizes and six styles. The sizes in points are $7$, $8$, $9$, $10$, $12$, $14$, $17$, $20$, and $25$;
|
|
the styles are from the standard Computer Modern family: Roman, bold, italic, bold italic
|
|
and small capitals.
|
|
The size selection macros from smallest to biggest are
|
|
\keyindex{tinytype},
|
|
\keyindex{smalltype},
|
|
\keyindex{Smalltype},
|
|
\keyindex{normtype}, \keyindex{medtype}, \keyindex{bigtype},
|
|
\keyindex{Bigtype},
|
|
\keyindex{BIgtype} and \keyindex{BIGtype}.
|
|
The style may be selected or changed using \keyindex{rm} (Roman), \keyindex{bf}
|
|
(bold), \keyindex{it} (italic), \keyindex{bi} (bold italic) or
|
|
\keyindex{sc} (small-capitals). If no style is explicitly selected, Roman style
|
|
will be used for the sizes \verb|\medtype| or smaller; for the larger sizes,
|
|
bold style is the default. Thus, for example,
|
|
eight point italic is selected with \verb|\smalltype\it|, while
|
|
twelve point Roman is selected using \verb|\medtype\rm| or simply
|
|
\verb|\medtype|. To change between styles while maintaining the same size,
|
|
code \verb|\rm|, \verb|\it|, \verb|\bf|, \verb|\bi| or \verb|\sc|, as in Plain \TeX.
|
|
When \musixtex\ is started, the default font for ordinary text is
|
|
ten point Roman, equivalent to \verb|\normtype\rm|.
|
|
|
|
Another group of fonts, in bold extended italic style, is predefined in point sizes
|
|
$8$, $10$, $12$, $14$, and $17$ for dynamic markings. The appropriate font for the current
|
|
staff size may be selected simply by using \keyindex{ppff} as a
|
|
font specification. Macros \keyindex{tinydyn}, \keyindex{smalldyn}, \keyindex{normdyn}, or \keyindex{meddyn} may be
|
|
used to redefine \verb|\ppff| to represent one of the smallest four.
|
|
|
|
|
|
A selection of predefined fonts is summarized in Table~\ref{predefinedfonts}. The second column gives an
|
|
explicit control sequence that can alternatively be used locally as a font specification.
|
|
\font\ctinytype=cmr7
|
|
\font\ctinytypebf=cmbx7
|
|
\font\ctinytypeit=cmti7
|
|
\font\csmalltype=cmr8
|
|
\font\csmalltypebf=cmbx8
|
|
\font\csmalltypeit=cmti8
|
|
\font\cSmalltype=cmr9
|
|
\font\cSmalltypebf=cmbx9
|
|
\font\cSmalltypeit=cmti9
|
|
\font\cnormtype=cmr10
|
|
\font\cnormtypebf=cmbx10
|
|
\font\cnormtypeit=cmti10
|
|
\font\cnormtypebi=cmbxti10
|
|
\font\cnormtypesc=cmcsc10
|
|
\font\cmedtype=cmr12
|
|
\font\cmedtypebf=cmbx12
|
|
\font\cmedtypeit=cmti12
|
|
\font\cmedtypebi=cmbxti10 scaled \magstep1
|
|
\font\cmedtypesc=cmcsc10 scaled \magstep1
|
|
\font\cbigtype=cmbx12 scaled \magstep1
|
|
\font\cBigtype=cmbx12 scaled \magstep2
|
|
\font\cBIgtype=cmbx12 scaled \magstep3
|
|
\font\cBIGtype=cmbx12 scaled \magstep4
|
|
\font\cppfftwelve=cmbxti10 at 8pt
|
|
\font\cppffsixteen=cmbxti10
|
|
\font\cppfftwenty=cmbxti10 scaled \magstep1
|
|
\font\cppfftwentyfour=cmbxti10 scaled \magstep2
|
|
\font\cppfftwentynine=cmbxti10 scaled \magstep3
|
|
\font\cbigtype=cmbx12 scaled \magstep1
|
|
\font\cBigtype=cmbx12 scaled \magstep2
|
|
\font\cBIgtype=cmbx12 scaled \magstep3
|
|
\font\cBIGfont=cmbx12 scaled \magstep4
|
|
\begin{table}
|
|
\begin{center}
|
|
\renewcommand{\arraystretch}{1.15}
|
|
\begin{tabular}{lll}
|
|
\hline
|
|
Size and style & Font specification & Example \\
|
|
\hline
|
|
\verb|\tinytype| & \verb|\sevenrm| & {\ctinytype tiny Roman} \\
|
|
\verb|\tinytype\bf| & \verb|\sevenbf| & {\ctinytypebf tiny bold} \\
|
|
\verb|\tinytype\it| & \verb|\sevenit| & {\ctinytypeit tiny italic} \\
|
|
\verb|\smalltype| & \verb|\eightrm| & {\csmalltype small Roman} \\
|
|
\verb|\smalltype\bf| & \verb|\eightbf| & {\csmalltypebf small bold} \\
|
|
\verb|\smalltype\it| & \verb|\eightit| & {\csmalltypeit small italic} \\
|
|
\verb|\Smalltype| & \verb|\ninerm| & {\cSmalltype Small Roman} \\
|
|
\verb|\Smalltype\bf| & \verb|\ninebf| & {\cSmalltypebf Small bold} \\
|
|
\verb|\Smalltype\it| & \verb|\nineit| & {\cSmalltypeit Small italic} \\
|
|
\verb|\normtype| & \verb|\tenrm| & {\cnormtype normal Roman} \\
|
|
\verb|\normtype\bf| & \verb|\tenbf| & {\cnormtypebf normal bold} \\
|
|
\verb|\normtype\it| & \verb|\tenit| & {\cnormtypeit normal italic}\\
|
|
\verb|\normtype\bi| & \verb|\tenbi| & {\cnormtypebi normal bold italic}\\
|
|
\verb|\normtype\sc| & \verb|\tensc| & {\cnormtypesc normal small capitals}\\
|
|
\verb|\medtype| & \verb|\twelverm| & {\cmedtype medium Roman} \\
|
|
\verb|\medtype\bf| & \verb|\twelvebf| & {\cmedtypebf medium bold} \\
|
|
\verb|\medtype\it| & \verb|\twelveit| & {\cmedtypeit medium italic}\\
|
|
\verb|\medtype\bi| & \verb|\twelvebi| & {\cmedtypebi medium bold italic}\\
|
|
\verb|\medtype\sc| & \verb|\twelvesc| & {\cmedtypesc medium small capitals}\\
|
|
\verb|\bigtype| & \verb|\frtbf| & {\cbigtype big bold} \\[.4ex]
|
|
\verb|\Bigtype| & \verb|\svtbf| & {\cBigtype Big bold} \\[.4ex]
|
|
\verb|\BIgtype| & \verb|\twtybf| & {\cBIgtype BIg bold} \\[.4ex]
|
|
\verb|\BIGtype| & \verb|\twfvbf| & {\cBIGtype BIG bold} \\
|
|
~ & \verb|\ppfftwelve| & {\cppfftwelve pp ff diminuendo}\\
|
|
~ & \verb|\ppffsixteen| & {\cppffsixteen pp ff diminuendo}\\
|
|
~ & \verb|\ppfftwenty| & {\cppfftwenty pp ff diminuendo}\\
|
|
~ & \verb|\ppfftwentyfour| & {\cppfftwentyfour pp ff diminuendo}\\[.4ex]
|
|
~ & \verb|\ppfftwentynine| & {\cppfftwentynine pp ff diminuendo}\\[.4ex]
|
|
\hline
|
|
\end{tabular}
|
|
\end{center}
|
|
\caption{Various predefined fonts}
|
|
\label{predefinedfonts}
|
|
\end{table}
|
|
|
|
\section{User-defined text fonts}
|
|
|
|
Since \musixtex\ is a superset of \TeX, you are free to use the standard \TeX\
|
|
machinery for defining and using any special font you desire. You must first
|
|
of course ensure that (a)~all the necessary font files (e.g., \verb|bla10.tfm|,
|
|
\verb|bla10.pfb|, or equivalents) are installed in the right places in your system, (b)~all
|
|
configuration files (e.g., \verb|config.ps| or equivalent) have been updated, and
|
|
(c)~the \TeX\ file-name database has been updated, as required by your \TeX\ system. Then you can use the font just as
|
|
in any \TeX\ document, e.g., by coding \verb|\font blafont=bla10| and then
|
|
\verb|\zchar{10}{\blafont Text in user-defined font}|.
|
|
|
|
You might also wish to replace once and for all the typefaces invoked by the
|
|
commands described in the previous section. Again, before doing this, you must
|
|
follow steps (a-c) of the previous paragraph for all fonts in question.
|
|
\label{UserFonts}
|
|
You can use bitmapped fonts, which are converted to
|
|
Postscript by e.g.,~\verb|dvips|, but you also may replace them
|
|
by native Postscript fonts.
|
|
|
|
The extension library
|
|
\verb|musixtmr.tex|\footnote{by Hiroaki {\sc Morimoto}}
|
|
replaces the default Computer Modern text fonts by
|
|
the Times series of fonts; see Section~\ref{times}.
|
|
Other extension libraries, \verb|musixplt.tex| and \verb|musixhv.tex|, replace the default text fonts by
|
|
Palatino and Helvetica fonts, respectively; see Sections~\ref{palatino} and \ref{helvetica}.
|
|
\font\tnormtype=ptmr7t
|
|
\font\tnormtypebf=ptmb7t
|
|
\font\tnormtypeit=ptmri7t
|
|
\font\tbigtype=ptmr7t scaled \magstep2
|
|
\font\tBigtype=ptmr7t scaled \magstep3
|
|
\font\pnormtype=pplr8r
|
|
\font\pnormtypebf=pplb8r
|
|
\font\pnormtypeit=pplri8r
|
|
\font\pbigtype=pplrc8r at 14pt
|
|
\font\pBigtype=pplrc8r at 17pt
|
|
\font\hnormtype=phvr8r at 10pt
|
|
\font\hnormtypebf=phvb8r at 10pt
|
|
\font\hnormtypeit=phvro8r at 10pt
|
|
\font\hbigtype=phvr8r at 14pt
|
|
\font\hBigtype=phvr8r at 17pt
|
|
Here is a comparison of some Times,
|
|
Palatino and Helvetica fonts:
|
|
\begin{center}
|
|
\begin{tabular}{lll}
|
|
\hline
|
|
{\tnormtype normal Times Roman} & {\pnormtype normal Palatino Roman} &{\hnormtype normal Helvetica Roman} \\
|
|
{\tnormtypebf normal Times bold} & {\pnormtypebf normal Palatino bold}& {\hnormtypebf normal Helvetica bold} \\
|
|
{\tnormtypeit normal Times italic} & {\pnormtypeit normal Palatino italic } & {\hnormtypeit normal Helvetica italic }\\[.4ex]
|
|
{\tbigtype Times big} & {\pbigtype Palatino big } & {\hbigtype Helvetica big } \\[.4ex]
|
|
{\tBigtype Times Big } & {\pBigtype Palatino Big } & {\hBigtype Helvetica Big } \\
|
|
\hline
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
For users who prefer to stick with the default Computer Modern
|
|
family but want to use the T$1$-encoded EC variants, the extension library
|
|
\verb|musixec.tex| is available; see Section~\ref{ecfonts}\@.
|
|
|
|
\section{Text placement}\label{textplacement}
|
|
Special macros are provided to allow precise placement of any \TeX\ text, vertically
|
|
relative to the staff, and horizontally relative to any note in
|
|
the staff.
|
|
|
|
The macros in the first group will vertically position the text with the
|
|
baseline at any specified pitch or staff line. They must be used
|
|
inside \verb|\notes...\en|. They will not insert any additional
|
|
horizontal space. They have the forms
|
|
\keyindex{zcharnote}\pitchp\verb|{|\ital{text}\verb|}|, \keyindex{lcharnote}\pitchp\verb|{|\ital{text}\verb|}|,
|
|
and \keyindex{ccharnote}\pitchp\verb|{|\ital{text}\verb|}|,
|
|
where \ital{p} is the pitch. With the first one, text will spill to the right
|
|
from the current insertion point, with the second it will spill to the left, and with the
|
|
third it will be centered horizontally.
|
|
The following abbreviations are available:
|
|
\begin{quote}
|
|
\begin{tabular}{lcl}
|
|
\keyindex{zcn}& for&\verb|\zcharnote| \\
|
|
\keyindex{lcn}& for&\verb|\lcharnote| \\
|
|
\keyindex{ccn}& for&\verb|\ccharnote| \\
|
|
\end{tabular}
|
|
\end{quote}
|
|
|
|
There are similar macros \keyindex{zchar}\pitchp\verb|{|\ital{text}\verb|}|,
|
|
\keyindex{lchar}\pitchp\verb|{|\ital{text}\verb|}|, and \keyindex{cchar}\pitchp\verb|{|\ital{text}\verb|}|,
|
|
which differ from the previous three in that the pitch \ital{must} be given with
|
|
a number (representing the number of staff positions up from the lowest line),
|
|
and that the number need not be an integer.
|
|
|
|
To vertically position any text midway between two consecutive staves, use
|
|
\keyindex{zmidstaff}\verb|{|{\it text}\verb|}|, \keyindex{lmidstaff}\verb|{|{\it text}\verb|}|,
|
|
or \keyindex{cmidstaff}\verb|{|{\it text}\verb|}| at the appropriate point in the lower staff.
|
|
|
|
The macros \keyindex{uptext}\verb|{|\ital{text}\verb|}| and
|
|
\keyindex{Uptext}\verb|{|\ital{text}\verb|}|
|
|
are simply shorthands for
|
|
\verb|\zchar{10}{|\ital{text}\verb|}| and
|
|
\verb|\zchar{14}{|\ital{text}\verb|}|,
|
|
respectively.
|
|
|
|
The text items handled by all of the above macros can include any appropriate
|
|
string of \TeX\
|
|
control sequences, including font definitions, \verb|\hbox|'es, etc.
|
|
|
|
Material posted with any of the macros described in this section will not
|
|
create any additional horizontal or vertical space within the current system,
|
|
and will overwrite anything in the current system that gets in the way. It is
|
|
the typesetter's responsibility to ensure there is adequate white space
|
|
within the current system to accommodate any text placed with
|
|
these macros. On the other hand, if text is placed far above or below a
|
|
system, \musixtex\ will usually insert additional vertical space if needed.
|
|
|
|
\section{Rehearsal marks}
|
|
|
|
Rehearsal marks are usually
|
|
boxed or circled uppercase letters or digits. They can be defined using the macros
|
|
\keyindex{boxit}\verb|{|\ital{text}\verb|}| or
|
|
\keyindex{circleit}\verb|{|\ital{text}\verb|}|. For boxed text,
|
|
the margin between the text and box is controlled by the dimension
|
|
register \keyindex{boxitsep}, which can be reset to any \TeX\ dimension if the
|
|
default value of \verb|3pt| is unsatisfactory. To place the mark, use \verb|\Uptext| or
|
|
any of the other macros defined in the previous section.
|