\documentclass{article} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{geometry} \usepackage{semantic-markup} \usepackage{musicography} \usepackage{fancyvrb} \frenchspacing \newenvironment{codetable} {\begin{quote}\begin{tabular}{lll}} {\end{tabular}\end{quote}} \usepackage[ pdftitle={The musicography Package: Symbols for Music Writing}, pdfauthor={Andrew A. Cashner}, pdfsubject={LaTeX package}, pdfkeywords={LaTeX, symbols, music, musicology, humanities} ]{hyperref} \title{The \code{musicography} Package: Symbols for Music Writing with \code{pdflatex}} \author{Andrew A. Cashner\thanks{% \href{mailto:andrewacashner@gmail.com} {\nolinkurl{andrewacashner@gmail.com}}% }% } \date{January 29, 2020} \begin{document} \maketitle Most \LaTeX{} font packages and freely available fonts only provided a limited range of musical symbols. The \code{lilyglyphs} package uses Lilypond's fonts, but requires \code{lualatex}. This package makes available the most commonly used symbols in writing about music in a way that looks consistent and attractive. It is especially useful for \code{pdflatex} but also works alongside Unicode fonts with \code{xelatex}. It includes accidentals, meters, notes of different rhythmic values, and automatic formatting of figured bass. This package builds on the approach used in the \code{harmony} package, where the symbols are taken from the MusiXTeX fonts. But it provides a larger range of symbols and a more flexible, user-friendly interface written using \code{xparse}. The package is meant to work hand-in-hand with my \code{semantic-markup} package, and overrides some of its music-symbol commands with better alternatives. \tableofcontents \section{Package Options} To use the package, write \verb|\usepackage{musicography}| in your preamble. If you are also using this author's \code{semantic-markup} package, \code{musicography} will automatically redefine the commands for accidentals in the other package. The \code{bigger} option provides larger font sizes that match better with certain fonts. The package now (2019) provides full support for figured-bass notation using the \verb|\musFig| command. The \verb|\musNumFont| command allows you to change the font of the numerals used. For example, if using the \code{ebgaramond} font package, it looks better if you do this: \begin{quote} \verb|\renewcommand{\musNumFont}[1]{\liningnums{#1}}|. \end{quote} \section{Symbols and Commands} \subsection{Accidentals} \begin{codetable} Flat & \verb|\musFlat| or \verb|\fl| & \musFlat\\ Sharp & \verb|\musSharp| or \verb|\sh| & \musSharp\\ Natural & \verb|\musNatural| or \verb|\na| & \musNatural\\ Double Flat & \verb|\musDoubleFlat| & \musDoubleFlat\\ Double Sharp & \verb|\musDoubleSharp| & \musDoubleSharp\\ \end{codetable} \subsection{Notes of Different Rhythmic Values} Commands are available using modern (United States) note names; in several cases there are also aliases for older note names. \begin{codetable} Whole note (semibreve) & \verb|\musWhole| or \verb|\musSemibreve| & \musWhole\\ Half note (minim) & \verb|\musHalf| or \verb|\musMinim| & \musHalf\\ Quarter note (semiminim) & \verb|\musQuarter| or \verb|\musSeminimin| & \musQuarter\\ Eighth note (corchea) & \verb|\musEighth| or \verb|\musCorchea| & \musEighth\\ Sixteenth note & \verb|\musSixteenth| & \musSixteenth\\ Thirty-second note & \verb|\musThirtySecond| & \musThirtySecond\\ Sixty-fourth note & \verb|\musSixtyFourth| & \musSixtyFourth\\ \end{codetable} A dot may be added to any of the above by adding \code{Dotted} to the end of the command. For example: \begin{codetable} Dotted whole note & \verb|\musWholeDotted| & \musWholeDotted\\ Dotted quarter note & \verb|\musQuarterDotted| & \musQuarterDotted\\ Dotted thirty-second note & \verb|\musThirtySecondDotted| & \musThirtySecondDotted\\ \end{codetable} \subsection{Meter Signatures} \begin{codetable} Common duple & \verb|\meterC| & \meterC\\ \term{Alla breve} & \verb|\meterCutC| & \meterCutC\\ Ternary (16th--18th cent.) & \verb|\meterCThree| & \meterCThree\\ Ternary with $3:2$ proportion & \verb|\meterCThreeTwo| & \meterCThreeTwo\\ Spanish 17th-cent. ternary & \verb|\meterCZ| & \meterCZ\\ Medieval \term{tempus perfectum} & \verb|\meterO| & \meterO\\ \end{codetable} For other time signatures, use \verb|\musMeter{}{}|; the two arguments are the numerator and denominator of the fraction, respectively. \subsection{Figured Bass} For figured-bass notation, use \verb|\musFig{}|. The command, as of May 2019 now re-implemented using the \code{stackengine} package, takes a single argument which may contain as many space-separated elements as you like. (The \verb|\musFig| command is implemented with \verb|\musStack{}|, which is also used to for \verb|\musMeter|.) The elements in the argument will be stacked vertically and left-aligned. Multiple figures in a row should be enclosed in brackets if there are spaces between them. To align figures when there are empty slots, as in \musFig{6--5 \noFig[5--]\musSharp}, use \verb|\noFig[]|. It will insert horizontal space the same width as its optional argument when typeset; the default value is the width of the numeral 5. It does this using \verb|\hphantom|, so you should supply the same text in the argument as the figure with which you want to align. The code for the example at the beginning of this paragraph was \verb|\musFig{6--5 \noFig[5--]\musSharp}|. The font may be controlled by redefining \verb|\musFigFont{}|. Its default value is as follows: \begin{Verbatim} \NewDocumentCommand{\musFigFont}{}{% \scriptsize \let\musFontLarge\musFontBig } \end{Verbatim} This reduces the size of numbers and the music font so that they fit better with surrounding text and so that numerals and accidentals in the figures match. {\renewcommand{\arraystretch}{2.5} \small \begin{codetable} Two figures & \verb|\musFig{7 5\musSharp}| & \musFig{7 5\musSharp}\\ Three figures & \verb|\musFig{7\musFlat{} 5 3}| & \musFig{7\musFlat{} 5 3}\\ Four figures & \verb|\musFig{7 5 4 2}| & \musFig{9 7 5 3}\\ Voice leading & \verb|\musFig{7--6 5--4 3}| & \musFig{7--6 5--4 3}\\ Voice leading & \verb|\musFig{6--7 4--5 \noFig[2--]3}| & \musFig{7--6 5--4 \noFig[2--]3}\\ Multiple figures per row & \verb|\musFig{{6\musFlat{} 5} {\noFig[6\musFlat] \musSharp}}| & \musFig{{6\musFlat{} 5} {\noFig[6\musFlat] \musSharp}}\\ \end{codetable}} \subsection{Customization} It would be a simple matter of using \verb|\newcommand| or \verb|\let| to create aliases for these commands, say, for British usage (such as \verb|\quaver|). \LaTeX{} programmers may wish to use the package's internal commands directly to access more symbols from the fonts or fine-tune their appearance. See \verb|\musSymbol| and \verb|\musAccidental| in the code listing below. \section{Changes} \begin{itemize} \item[2020-01-29] Reduced stack gap for \verb|\musFig| \item[2019/11/24] Fix \verb|\MeterCThreeTwo| so that numbers are stacked and aligned correctly \item[2019/05/28] Bux fixes and new features, especially figured bass \begin{itemize} \item Fix issue 1 on Bitbucket, thanks to Christian Mondrup \begin{itemize} \item Correct mistaken notehead symbol for values less than quarter note (was hollow, now filled) \item Add 32nd and 64th notes, regular and dotted varieties \item \verb|\musSymbol| is now typeset inside an \verb|\mbox| to fix alignment problems when used in tables \end{itemize} \item New features (some requested in issue no. 1): \begin{itemize} \item Add medieval perfect meter \item Add aliases for \term{fusa} ($=$ corchea $=$ eighth note) \item Replace musStack implementation with \code{stackengine} \item Add full figured-bass support \end{itemize} \end{itemize} \item[2018/05/21] Override semantic-markup's \verb|\fl|, \verb|\sh|, \verb|\na| commands if it is loaded \item[2017/10/31] Corrected glyph used for \verb|\musHalf| and documented \verb|\musMeter| and \verb|\musFigures| \item[2017/08/29] First version on CTAN \item[2017/04/12] Created \end{itemize} \section{Code} \VerbatimInput{musicography.sty} \end{document}