From 65ff5cb34596f15fda21e8d5b484b6d938b72c8a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 28 May 2019 21:25:28 +0000 Subject: musicography (28may19) git-svn-id: svn://tug.org/texlive/trunk@51251 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/musicography/musicography.pdf | Bin 264002 -> 328394 bytes .../doc/latex/musicography/musicography.tex | 110 ++++++++++++++++++--- .../tex/latex/musicography/musicography.sty | 95 ++++++++++-------- 3 files changed, 148 insertions(+), 57 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/musicography/musicography.pdf b/Master/texmf-dist/doc/latex/musicography/musicography.pdf index aace9ed835f..3d8ab64a0b3 100644 Binary files a/Master/texmf-dist/doc/latex/musicography/musicography.pdf and b/Master/texmf-dist/doc/latex/musicography/musicography.pdf differ diff --git a/Master/texmf-dist/doc/latex/musicography/musicography.tex b/Master/texmf-dist/doc/latex/musicography/musicography.tex index 54f26e0ca10..2b7981c188d 100644 --- a/Master/texmf-dist/doc/latex/musicography/musicography.tex +++ b/Master/texmf-dist/doc/latex/musicography/musicography.tex @@ -27,7 +27,7 @@ {\nolinkurl{andrewacashner@gmail.com}}% }% } -\date{May 21, 2018} +\date{May 28, 2019} \begin{document} \maketitle @@ -39,7 +39,8 @@ The \code{lilyglyphs} package uses Lilypond's fonts, but requires This package makes available the most commonly used symbols in writing about music in a way that can be used with \code{pdflatex} and looks consistent and attractive. -It includes accidentals, meters, and notes of different rhythmic values. +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. @@ -58,6 +59,9 @@ 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 @@ -66,6 +70,7 @@ do this: \verb|\renewcommand{\musNumFont}[1]{\liningnums{#1}}|. \end{quote} + \section{Symbols and Commands} \subsection{Accidentals} @@ -92,6 +97,8 @@ there are also aliases for older note names. 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 @@ -100,6 +107,8 @@ 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} @@ -111,12 +120,66 @@ command. For example: 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 command \verb|\musFigures| is an alias for \verb|\musMeter| that can be used -for notating figured bass. -Both commands take two arguments and stack the arguments vertically. +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} @@ -129,14 +192,33 @@ See \verb|\musSymbol| and \verb|\musAccidental| in the code listing below. \section{Changes} -\begin{tabular}{r p{0.75\textwidth}} - 2018/05/21 & Override semantic-markup's \verb|\fl|, \verb|\sh|, \verb|\na| - commands if it is loaded \\ - 2017/10/31 & Corrected glyph used for \verb|\musHalf| and documented - \verb|\musMeter| and \verb|\musFigures|\\ - 2017/08/29 & First version on CTAN\\ - 2017/04/12 & Created\\ -\end{tabular} +\begin{itemize} + \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} diff --git a/Master/texmf-dist/tex/latex/musicography/musicography.sty b/Master/texmf-dist/tex/latex/musicography/musicography.sty index 4578bdcb017..dad5ff27f49 100644 --- a/Master/texmf-dist/tex/latex/musicography/musicography.sty +++ b/Master/texmf-dist/tex/latex/musicography/musicography.sty @@ -1,8 +1,8 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{musicography}[2018/05/21 +\ProvidesPackage{musicography}[2019/05/28 Symbols for music writing with pdflatex] -% Copyright 2017 Andrew A. Cashner, andrewacashner@gmail.com +% Copyright 2019 Andrew A. Cashner, andrewacashner@gmail.com % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -19,6 +19,17 @@ % and the documentation file musicography.tex. % CHANGE LOG +% 2019-05-28 - Fix issue #1: +% + Correct notehead symbol for values < quarter note +% (was hollow, should be filled) +% + Add 32nd and 64th notes regular and dotted +% + \musSymbol now inside an \mbox to fix alignment problems +% - New features (some requested in issue #1) +% + Add medieval perfect meter +% + Add aliases for fusa (= corchea = eighth note) +% + Replace musStack implementation with stackengine: +% Now takes any number of space-separated arguments to stack +% numerals, allowing for full figured-bass notation % 2018-05-21 Override semantic-markup's \fl, \sh, \na commands if it is loaded % 2017-10-31 Corrected glyph for \musHalf and documented % \musMeter and \musFigures @@ -55,7 +66,7 @@ % #4 kern after % #5 symbol code (e.g., \symbol{4}) \NewDocumentCommand{\musSymbol}{ O{\musFont} m m m m }{% - {#1\kern#2\raisebox{#3}{#5}\kern#4}% + \mbox{#1\kern#2\raisebox{#3}{#5}\kern#4}% } % Accidentals @@ -119,10 +130,16 @@ \musStemmedNote{\symbol{7}}% } \NewDocumentCommand{\musEighth}{}{% - \musFlaggedNote{\symbol{8}}{\symbol{40}}% + \musFlaggedNote{\symbol{7}}{\symbol{40}}% } \NewDocumentCommand{\musSixteenth}{}{% - \musFlaggedNote{\symbol{8}}{\symbol{41}}% + \musFlaggedNote{\symbol{7}}{\symbol{41}}% +} +\NewDocumentCommand{\musThirtySecond}{}{% + \musFlaggedNote{\symbol{7}}{\symbol{42}}% +} +\NewDocumentCommand{\musSixtyFourth}{}{% + \musFlaggedNote{\symbol{7}}{\symbol{43}}% } \NewDocumentCommand{\musWholeDotted}{}{% @@ -140,43 +157,19 @@ \NewDocumentCommand{\musSixteenthDotted}{}{% \musDottedNote{\musSixteenth}% } +\NewDocumentCommand{\musThirtySecondDotted}{}{% + \musDottedNote{\musThirtySecond}% +} +\NewDocumentCommand{\musSixtyFourthDotted}{}{% + \musDottedNote{\musSixtyFourth}% +} -% Command to stack numerals -% Adapted from harmony.sty's \ueber command -\newdimen\tmpdima -\newdimen\tmpdimb -\newdimen\tmpdimc -\newdimen\tmpdimd -\newdimen\tmpdime -\newbox\nbxa -\newbox\nbxb -\newbox\nbxc -\newbox\nbxd -\newbox\nbxe -\newbox\nbxf -\newbox\nbxg -\newbox\nbxh -\newbox\nbxi - -\NewDocumentCommand{\musStack}{ m m }{% - \setbox\nbxi=\hbox{% - \setbox\nbxa=\hbox{\scriptsize{\musNumFont{#1}}}% - \setbox\nbxb=\hbox{\scriptsize{\musNumFont{#2}}}% - \ifdim\wd\nbxa>\wd\nbxb% - \tmpdima=\wd\nbxa% - \else% - \tmpdima=\wd\nbxb% - \fi% - \setbox\nbxa=\hbox to \tmpdima{% - \scriptsize\hss{\musNumFont{#1}}\hss}% - \setbox\nbxb=\hbox to \tmpdima{\scriptsize\hss{% - \musNumFont{#2}}\hss}% - \lower0.3ex\copy\nbxb% - \kern-\wd\nbxb% - \raise0.8\ht\nbxb% - \box\nbxa% - }% - \unhbox\nbxi% + +% Command to stack numerals for metrical symbols or figured bass +% Takes any number of space-separated arguments and stacks them vertically +\RequirePackage{stackengine} +\NewDocumentCommand{\musStack}{ O{\musNumFont} m }{% + {#1\Shortstack[l]{#2}}% } % Meter symbols @@ -193,10 +186,19 @@ % #1 number on top % #2 number on bottom \NewDocumentCommand{\musMeter}{ m m }{% - \musStack{#1}{#2}\kern0.05em + \musStack{#1 #2}\kern0.05em } % Same command used for figured bass -\NewDocumentCommand{\musFigures}{}{\musMeter} +\NewDocumentCommand{\musFigFont}{}{% + \scriptsize + \let\musFontLarge\musFontBig +} +\NewDocumentCommand{\musFig}{ m }{% + \musStack[\musFigFont]{#1}% +} +\NewDocumentCommand{\noFig}{ O{5} }{% + \hphantom{#1}% +} \NewDocumentCommand{\meterC}{}{% \musSymbolMeter{\symbol{83}}% @@ -215,15 +217,22 @@ \NewDocumentCommand{\meterCZ}{}{% \meterCplus{Z}% } +% Perfect meter in medieval music +\NewDocumentCommand{\meterO}{}{% + $\bigcirc$ +} + % Aliases for older note names \NewDocumentCommand{\musSemibreve} {}{\musWhole} \NewDocumentCommand{\musMinim} {}{\musHalf} \NewDocumentCommand{\musSemiminim} {}{\musQuarter} \NewDocumentCommand{\musCorchea} {}{\musEighth} +\NewDocumentCommand{\musFusa} {}{\musEighth} \NewDocumentCommand{\musSemibreveDotted} {}{\musWholeDotted} \NewDocumentCommand{\musMinimDotted} {}{\musHalfDotted} \NewDocumentCommand{\musSeminiminimDotted} {}{\musQuarterDotted} \NewDocumentCommand{\musCorcheaDotted} {}{\musEighthDotted} +\NewDocumentCommand{\musFusaDotted} {}{\musEighthDotted} \endinput -- cgit v1.2.3