summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-09-30 23:08:42 +0000
committerKarl Berry <karl@freefriends.org>2017-09-30 23:08:42 +0000
commite34ba1cbe700c96794b9488ec6922ee328c722f0 (patch)
tree1a76a63cb43516099e39b81556b2856e49ea0aab /Master/texmf-dist/tex/latex
parent4c17e70fa9bb3d1985518e445884b4547fc11617 (diff)
musicography (30sep17)
git-svn-id: svn://tug.org/texlive/trunk@45440 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/musicography/musicography.sty222
1 files changed, 222 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/musicography/musicography.sty b/Master/texmf-dist/tex/latex/musicography/musicography.sty
new file mode 100644
index 00000000000..b592b2a8f5f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/musicography/musicography.sty
@@ -0,0 +1,222 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{musicography}
+[2017/08/29 Symbols for music writing with pdflatex]
+
+% Copyright 2017 Andrew A. Cashner, andrewacashner@gmail.com
+
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3 of this license or (at your option) any
+% later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Andrew A. Cashner.
+% This work consists of the package file musicography.sty
+% and the documentation file musicography.tex.
+
+% CHANGE LOG
+% 2017-08-29 First version on CTAN
+% 2017-04-12 Created
+
+\newif\ifLargeFont
+\LargeFontfalse
+\DeclareOption{bigger}{\LargeFonttrue}
+\ProcessOptions\relax
+
+\RequirePackage{xparse}
+
+\ifLargeFont
+ \newfont{\musFont}{musix13}
+ \newfont{\musFontBig}{musix16}
+ \newfont{\musFontLarge}{musix20}
+\else
+ \newfont{\musFont}{musix11}
+ \newfont{\musFontBig}{musix13}
+ \newfont{\musFontLarge}{musix16}
+\fi
+
+% Font for numbers in \musStack
+% Could redefine to use lining figures, math mode, sans-serif, etc.
+% Example for ebgaramond: \renewcommand{\musNumFont}[1]{\liningnums{#1}}
+\NewDocumentCommand{\musNumFont}{}{}
+
+% Print a music symbol from the \musFont, specifying space before, after, and
+% baseline adjustment
+% #1 optional font command (default: \musFont)
+% #2 kern before
+% #3 raisebox value
+% #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}%
+}
+
+% Accidentals
+% #1 symbol command for accidental
+\NewDocumentCommand{\musAccidental}{ m }{%
+ \musSymbol[\musFontLarge]{0.1em}{0.5ex}{-0.1pt}{#1}%
+}
+\NewDocumentCommand{\musFlat} {}{\musAccidental{\symbol{90}}}
+\NewDocumentCommand{\musDoubleFlat} {}{\musAccidental{\symbol{91}}}
+\NewDocumentCommand{\musSharp} {}{\musAccidental{\symbol{92}}}
+\NewDocumentCommand{\musDoubleSharp}{}{\musAccidental{\symbol{93}}}
+\NewDocumentCommand{\musNatural} {}{\musAccidental{\symbol{94}}}
+
+% Shorthand accidental commands
+% These commands are defined differently in the semantic-markup package,
+% so LaTeX will use musicography commands instead, if this package is called
+% after
+\let\fl\musFlat
+\let\sh\musSharp
+\let\na\musNatural
+
+% Print a composite music symbol of a notehead plus stem
+% #1 Symbol musSymbol command for notehead
+\NewDocumentCommand{\musStemmedNote}{ m }{%
+ \musSymbol{0.05em}{0.5ex}{0.2em}{#1\musStem}%
+}
+
+% Stemmed note plus flag
+% #1 symbol command for base note
+% #2 symbol command for flag
+\NewDocumentCommand{\musFlaggedNote}{ m m }{%
+ \musSymbol{0.05em}{0.5ex}{0pt}{#1\musStem}%
+ \musSymbol{0pt}{0pt}{0.9em}{#2}%
+}
+
+% Note plus dot
+% #1 \musSymbol command for note to be dotted
+\NewDocumentCommand{\musDottedNote}{ m }{#1\musDot}
+
+\NewDocumentCommand{\musStem}{}{%
+ \musSymbol{0.955em}{0.55ex}{0pt}{\symbol{16}}%
+}
+\NewDocumentCommand{\musSegno}{}{%
+ \musSymbol{0.55em}{-0.4ex}{1.5em}{\symbol{86}}%
+}
+\NewDocumentCommand{\musDot}{}{%
+ \musSymbol{-0.2em}{-0.5ex}{0.7em}{\symbol{24}}%
+}
+
+\NewDocumentCommand{\musWhole}{}{%
+ \musSymbol{0.05em}{0.5ex}{1.35em}{\symbol{9}}%
+}
+\NewDocumentCommand{\musHalf}{}{%
+ \musStemmedNote{\symbol{9}}%
+}
+\NewDocumentCommand{\musQuarter}{}{%
+ \musStemmedNote{\symbol{7}}%
+}
+\NewDocumentCommand{\musEighth}{}{%
+ \musFlaggedNote{\symbol{8}}{\symbol{40}}%
+}
+\NewDocumentCommand{\musSixteenth}{}{%
+ \musFlaggedNote{\symbol{8}}{\symbol{41}}%
+}
+
+\NewDocumentCommand{\musWholeDotted}{}{%
+ \musDottedNote{\musWhole}%
+}
+\NewDocumentCommand{\musHalfDotted}{}{%
+ \musDottedNote{\musHalf}%
+}
+\NewDocumentCommand{\musQuarterDotted}{}{%
+ \musDottedNote{\musQuarter}%
+}
+\NewDocumentCommand{\musEighthDotted}{}{%
+ \musDottedNote{\musEighth}%
+}
+\NewDocumentCommand{\musSixteenthDotted}{}{%
+ \musDottedNote{\musSixteenth}%
+}
+
+% 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%
+}
+
+% Meter symbols
+% #1 symbol code for meter sign
+\NewDocumentCommand{\musSymbolMeter}{ m }{%
+ \raisebox{0.58ex}[8pt][2pt]{%
+ {\kern-1pt\musFontBig\raisebox{0.3ex}{#1}\kern0.3em}%
+ }%
+}
+% Meter that combines \meterC with numerals (e.g., C3 C3/2)
+\NewDocumentCommand{\meterCplus}{ m }{\meterC{}\kern-0.7pt#1}
+
+% Numeric meter signatures (e.g., 3/4)
+% #1 number on top
+% #2 number on bottom
+\NewDocumentCommand{\musMeter}{ m m }{%
+ \musStack{#1}{#2}\kern0.05em
+}
+% Same command used for figured bass
+\NewDocumentCommand{\musFigures}{}{\musMeter}
+
+\NewDocumentCommand{\meterC}{}{%
+ \musSymbolMeter{\symbol{83}}%
+}
+\NewDocumentCommand{\meterCutC}{}{%
+ \musSymbolMeter{\symbol{82}}%
+}
+% Ternary meters used in 16th--18th c. music
+\NewDocumentCommand{\meterCThree}{}{%
+ \meterCplus{\musNumFont{3}}%
+}
+\NewDocumentCommand{\meterCThreeTwo}{}{%
+ \meterCplus{\musStack{3}{2}}%
+}
+% Ternary meter used in 17th-century Spanish music
+\NewDocumentCommand{\meterCZ}{}{%
+ \meterCplus{Z}%
+}
+
+% Aliases for older note names
+\NewDocumentCommand{\musSemibreve} {}{\musWhole}
+\NewDocumentCommand{\musMinim} {}{\musHalf}
+\NewDocumentCommand{\musSemiminim} {}{\musQuarter}
+\NewDocumentCommand{\musCorchea} {}{\musEighth}
+\NewDocumentCommand{\musSemibreveDotted} {}{\musWholeDotted}
+\NewDocumentCommand{\musMinimDotted} {}{\musHalfDotted}
+\NewDocumentCommand{\musSeminiminimDotted} {}{\musQuarterDotted}
+\NewDocumentCommand{\musCorcheaDotted} {}{\musEighthDotted}
+
+\endinput