summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-09-09 03:01:08 +0000
committerNorbert Preining <norbert@preining.info>2023-09-09 03:01:08 +0000
commit802cff464fb0c30783078dd27c9615c8b3500af3 (patch)
tree9f5a93cbe48a24067cd1dbd9f2eefa9ba044cd2f /macros/latex/contrib
parent608e422a8e775ac4d1c23c80b4170776701680d5 (diff)
CTAN sync 202309090301
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/curriculum-vitae/README.md19
-rw-r--r--macros/latex/contrib/curriculum-vitae/curriculum-vitae-example.pdfbin0 -> 103100 bytes
-rw-r--r--macros/latex/contrib/curriculum-vitae/curriculum-vitae-example.tex40
-rw-r--r--macros/latex/contrib/curriculum-vitae/curriculum-vitae.cls51
-rw-r--r--macros/latex/contrib/musicography/musicography.pdfbin350188 -> 408052 bytes
-rw-r--r--macros/latex/contrib/musicography/musicography.sty325
-rw-r--r--macros/latex/contrib/musicography/musicography.tex194
-rw-r--r--macros/latex/contrib/ppt-slides/LICENSE.txt2
-rw-r--r--macros/latex/contrib/ppt-slides/ppt-slides.dtx13
-rw-r--r--macros/latex/contrib/ppt-slides/ppt-slides.pdfbin932994 -> 932902 bytes
10 files changed, 519 insertions, 125 deletions
diff --git a/macros/latex/contrib/curriculum-vitae/README.md b/macros/latex/contrib/curriculum-vitae/README.md
new file mode 100644
index 0000000000..6951c93206
--- /dev/null
+++ b/macros/latex/contrib/curriculum-vitae/README.md
@@ -0,0 +1,19 @@
+# *Curriculum vitae* class for LaTeX
+
+This is a lightweight class file that makes it convenient to typeset CVs/resumes with LaTeX. It provides a `\cvsection` command and `detail` environment. A sample is included in curriculum-vitae.tex.
+
+```
+Copyright 2023 Sumukh Prasad
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+``` \ No newline at end of file
diff --git a/macros/latex/contrib/curriculum-vitae/curriculum-vitae-example.pdf b/macros/latex/contrib/curriculum-vitae/curriculum-vitae-example.pdf
new file mode 100644
index 0000000000..669f0d4004
--- /dev/null
+++ b/macros/latex/contrib/curriculum-vitae/curriculum-vitae-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/curriculum-vitae/curriculum-vitae-example.tex b/macros/latex/contrib/curriculum-vitae/curriculum-vitae-example.tex
new file mode 100644
index 0000000000..e11fb3b394
--- /dev/null
+++ b/macros/latex/contrib/curriculum-vitae/curriculum-vitae-example.tex
@@ -0,0 +1,40 @@
+\documentclass[12pt]{curriculum-vitae}
+\usepackage[a4paper, total={7.3in, 9.7in}]{geometry}
+
+\name{Name Namename}
+\mailingaddr{123 High Street, Anytown, County, Postcode}
+\desc{Professional Action Figure Collector}
+\webpage{www.example.com}
+\phone{01234 567 890}
+
+
+
+\begin{document}
+
+ \maketitle
+
+ \cvsection[Education]{
+ \begin{detail}[School of Action Figure Collecting]{Jan 2000}{Jan 2003}
+ \begin{itemize}
+ \item Learnt how to organise action figures
+ \item Conducted research on action figure heights
+ \end{itemize}
+ \end{detail}
+ }
+
+ \cvsection[Rando Research]{
+ \begin{detail}[Action Figure Heights: Are they growing smaller?]{Jan 2000}{Jan 2003}
+ Very important research article.
+ \end{detail}
+ \begin{detail}[Action Figure Heights: Are they growing taller?]{Jan 2000}{Jan 2003}
+ Another very important research article.
+ \end{detail}
+ \subsection{Journals}
+ \begin{itemize}
+ \item Journal of Action vol 333
+ \item Journal of Action vol 334
+ \item Journal of Action vol 335
+ \end{itemize}
+ }
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/curriculum-vitae/curriculum-vitae.cls b/macros/latex/contrib/curriculum-vitae/curriculum-vitae.cls
new file mode 100644
index 0000000000..cf4b03e3c2
--- /dev/null
+++ b/macros/latex/contrib/curriculum-vitae/curriculum-vitae.cls
@@ -0,0 +1,51 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{curriculum-vitae}[2023/05/17 v1.0 LaTeX class for curriculum vitae]
+
+\LoadClass[onecolumn]{article}
+\def\@name{}
+\newcommand{\name}[1]{%
+ \def\@name{#1}%
+}
+\def\@webpage{}
+\newcommand{\webpage}[1]{%
+ \def\@webpage{#1}%
+}
+\def\@phone{}
+\newcommand{\phone}[1]{%
+ \def\@phone{#1}%
+}
+\def\@desc{}
+\newcommand{\desc}[1]{%
+ \def\@desc{#1}%
+}
+\def\@email{}
+\newcommand{\email}[1]{%
+ \def\@email{#1}%
+}
+\def\@mailingaddr{}
+\newcommand{\mailingaddr}[1]{%
+ \def\@mailingaddr{#1}%
+}
+\renewcommand{\maketitle}{%
+ \begin{center}
+ \noindent{\bf\Huge\@name}\vspace{0.5cm}\\{\sc\@desc}\vspace{0.5cm}\\{\it\@mailingaddr}\\{\@phone $\vert$ \@webpage}\vspace{0.25cm}\\%
+ \noindent\rule{5cm}{0.4pt}\vspace{0.75cm}\\
+ \end{center}
+}
+
+\RequirePackage{titlesec}
+\titleformat{\section}{\scshape\Large}{\thesection}{1em}{}
+\titleformat{\subsection}{\normalfont\bfseries}{\thesubsection}{0.5em}{}
+\setcounter{secnumdepth}{-1}
+\newcommand{\cvsection}[2][]{
+ \noindent\begin{minipage}[t]{4cm}
+ \begin{flushleft}{{\scshape\Large#1}\addcontentsline{toc}{section}{#1}}\end{flushleft}
+ \end{minipage}
+ \hspace{0.5cm}\begin{minipage}[t]{\dimexpr\linewidth-4.5cm\relax}
+ {#2}
+ \end{minipage}\vspace{0.2cm}\\
+}
+
+\newenvironment{detail}[3][]{%
+ {{\bfseries#1}\addcontentsline{toc}{subsection}{#1}}\hfill#2 -- #3\\%
+\small}{\normalsize\noindent\vspace{0.5cm}\\} \ No newline at end of file
diff --git a/macros/latex/contrib/musicography/musicography.pdf b/macros/latex/contrib/musicography/musicography.pdf
index 59f48171c2..7a919d5b12 100644
--- a/macros/latex/contrib/musicography/musicography.pdf
+++ b/macros/latex/contrib/musicography/musicography.pdf
Binary files differ
diff --git a/macros/latex/contrib/musicography/musicography.sty b/macros/latex/contrib/musicography/musicography.sty
index 0e36b46a89..b9d9d10c11 100644
--- a/macros/latex/contrib/musicography/musicography.sty
+++ b/macros/latex/contrib/musicography/musicography.sty
@@ -1,8 +1,8 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{musicography}[2020/01/29
+\ProvidesPackage{musicography}[2023/09/08
Symbols for music writing with pdflatex]
-% Copyright 2020 Andrew A. Cashner, andrewacashner@gmail.com
+% Copyright 2023 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,29 @@
% and the documentation file musicography.tex.
% CHANGE LOG
+% 2023-09-08 - Improved time signatures, figured bass, documentation
+% + Documentation reorganized, clarified, corrected
+% + Customizable font commands used throughout:
+% \musAccidentalFont, \musNumFont, \musFigSize, and
+% \musFigFont
+% + \musStack now takes an optional last argument to specify
+% alignment
+% + \musMeter now takes an optional font argument, and has a
+% smaller vertical gap between numerals. It is now scaled
+% to fit within the line.
+% + Spacing commands in \musSymbolMeter are simplified
+% + \meterThreeTwo now uses \musMeter for the numbers, shifted
+% slightly to align with the meter symbol
+% + \meterCZ now pulls in a cursive Z symbol from the EB
+% Garamond font (installed by default in TeXLive)
+% + \musFig now includes configurable \musFigSize and
+% \musFigFont switches, and a first optional argument with
+% alignment specifier
+% + New commands for scale degress (\musDegree) and pitches with
+% Helmholtz octave (\musPitch)
+% + For testing or extension, add command to display a list of
+% symbols by number in a given font
+%
% 2020-01-29 - Reduced stack gap for \musFig
% 2019-11-24 - Fix problem with \MeterCThreeTwo where numerals were being
% printed next to each other instead of stacked.
@@ -39,13 +62,17 @@
% 2017-08-29 First version on CTAN
% 2017-04-12 Created
+% FONT SIZES
+
+% Package option 'bigger'
+%
+% The package uses three sizes of music fonts; the 'bigger' option increases
+% all three.
\newif\ifLargeFont
\LargeFontfalse
\DeclareOption{bigger}{\LargeFonttrue}
\ProcessOptions\relax
-\RequirePackage{xparse}
-
\ifLargeFont
\newfont{\musFont}{musix13}
\newfont{\musFontBig}{musix16}
@@ -56,10 +83,7 @@
\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}{}{}
+% BASIC COMMANDS
% Print a music symbol from the \musFont, specifying space before, after, and
% baseline adjustment
@@ -72,11 +96,18 @@
\mbox{#1\kern#2\raisebox{#3}{#5}\kern#4}%
}
-% Accidentals
+% ACCIDENTALS
+
+% Larger relative font for accidentals (can be modified)
+\NewDocumentCommand{\musAccidentalFont}{}{\musFontLarge}
+
+% Any accidental
% #1 symbol command for accidental
\NewDocumentCommand{\musAccidental}{ m }{%
- \musSymbol[\musFontLarge]{0.1em}{0.5ex}{-0.1pt}{#1}%
+ \musSymbol[\musAccidentalFont]{0.1em}{0.5ex}{-0.1pt}{#1}%
}
+
+% Specific accidentals
\NewDocumentCommand{\musFlat} {}{\musAccidental{\symbol{90}}}
\NewDocumentCommand{\musDoubleFlat} {}{\musAccidental{\symbol{91}}}
\NewDocumentCommand{\musSharp} {}{\musAccidental{\symbol{92}}}
@@ -84,6 +115,7 @@
\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
\@ifpackageloaded{semantic-markup}{%
@@ -95,7 +127,20 @@
\NewDocumentCommand{\sh}{}{\musSharp}
\NewDocumentCommand{\na}{}{\musNatural}
}
-% Print a composite music symbol of a notehead plus stem
+
+% MUSIC NOTES
+
+% Just the stem
+\NewDocumentCommand{\musStem}{}{%
+ \musSymbol{0.955em}{0.55ex}{0pt}{\symbol{16}}%
+}
+
+% Just the (augmentation) dot
+\NewDocumentCommand{\musDot}{}{%
+ \musSymbol{-0.2em}{-0.5ex}{0.7em}{\symbol{24}}%
+}
+
+% Notehead plus stem (composite music symbol)
% #1 Symbol musSymbol command for notehead
\NewDocumentCommand{\musStemmedNote}{ m }{%
\musSymbol{0.05em}{0.5ex}{0.2em}{#1\musStem}%
@@ -109,20 +154,15 @@
\musSymbol{0pt}{0pt}{0.9em}{#2}%
}
-% Note plus dot
+% Dotted note
% #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}}%
-}
+% Notes of different rhythmic values
+\NewDocumentCommand{\musBreve}{}{%
+ \musSymbol{0.05em}{0.5ex}{1.35em}{\symbol{32}}%
+}
\NewDocumentCommand{\musWhole}{}{%
\musSymbol{0.05em}{0.5ex}{1.35em}{\symbol{9}}%
}
@@ -145,6 +185,7 @@
\musFlaggedNote{\symbol{7}}{\symbol{43}}%
}
+% Dotted rhythmic values
\NewDocumentCommand{\musWholeDotted}{}{%
\musDottedNote{\musWhole}%
}
@@ -167,76 +208,238 @@
\musDottedNote{\musSixtyFourth}%
}
+% 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}
+
+
+% STACKED NUMERALS (for figured bass, time signatures)
+
+\RequirePackage{stackengine}
+
+% Only a minimal vertical gap between stacked elements
+\setstackgap{S}{1pt}
+
+% Specify the font for numbers in \musStack. For time signatures I think bold
+% numbers look better in most fonts, but you could redefine it, for example,
+% to use lining figures, math mode, sans-serif, etc.
+%
+% Example: To get lining figures when using the ebgaramond package:
+% \renewcommand{\musNumFont}{\liningnums}
+%
+% The command is employed in a way that both font switches and commands with
+% arguments will work (e.g., {\bfseries\liningnums}), but take care when
+% combining multiple elements.
+\NewDocumentCommand{\musNumFont}{}{\bfseries}
% 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}}%
+%
+% #1 (optional) Font command (\musNumFont by default)
+% #2 Series of space-separated arguments to be stacked, e.g., {\fl6 5}
+% #3 (optional) Alignment specifier for \Shortstack (l, c, or r); default is c
+% for centering
+\NewDocumentCommand{\musStack}{ O{\musNumFont} m O{c} }{%
+ {#1{\Shortstack[#3]{#2}}}%
}
-% 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}
+% METER and TIME SIGNATURES
+
+\RequirePackage{graphicx} % for resizebox
% Numeric meter signatures (e.g., 3/4)
+% #1 (optional) font command (\musNumFont by default)
% #1 number on top
% #2 number on bottom
-\NewDocumentCommand{\musMeter}{ m m }{%
- \musStack{#1 #2}\kern0.05em
-}
-% Same command used for figured bass
-\NewDocumentCommand{\musFigFont}{}{%
- \scriptsize
- \let\musFontLarge\musFontBig
-}
-\NewDocumentCommand{\musFig}{ m }{%
- \setstackgap{S}{1pt}%
- \musStack[\musFigFont]{#1}%
+%
+% In a pinch you can issue a font command directly in the optional first
+% argument, but it would be better to redefine \musNumFont.
+%
+% These are now scaled to the current line height and centered.
+\NewDocumentCommand{\musMeter}{ O{\musNumFont} m m }{%
+ \resizebox{!}{\ht\strutbox}{%
+ \musStack[#1]{#2 #3}%
+ }\kern0.05em
}
-\NewDocumentCommand{\noFig}{ O{5} }{%
- \hphantom{#1}%
+
+% Meter symbols
+% #1 symbol code for meter sign
+\NewDocumentCommand{\musSymbolMeter}{ m }{%
+ \smash{\kern-1pt\musFontBig\raisebox{1.1ex}{#1}\kern0.3em}%
}
+% Meter symbol plus numerals
+\NewDocumentCommand{\meterPlus}{ m m }{#1\kern-0.7pt#2}
+
+% Meter signatures with a C or cut C symbol
+% Just the symbols
\NewDocumentCommand{\meterC}{}{%
\musSymbolMeter{\symbol{83}}%
}
\NewDocumentCommand{\meterCutC}{}{%
\musSymbolMeter{\symbol{82}}%
}
+
% Ternary meters used in 16th--18th c. music
+% Just the numbers: 3
+\NewDocumentCommand{\meterThree}{}{%
+ {\musNumFont{3}}%
+}
+
+% 3/2
+\NewDocumentCommand{\meterThreeTwo}{}{%
+ \raisebox{-0.26ex}{\musMeter{3}{2}}%
+}
+
+% Combining symbols and numbers
+% Meter that combines \meterC with numerals (e.g., C3 C3/2)
+\NewDocumentCommand{\meterCplus}{ m }{\meterPlus{\meterC}{#1}}
+
+% Meter that combines \meterCutC with numerals (e.g., C3 C3/2)
+\NewDocumentCommand{\meterCutCplus}{ m }{\meterPlus{\meterCutC}{#1}}
+
+% Proportions of cut C
+\NewDocumentCommand{\meterCutCThree}{}{%
+ \meterCutCplus{\meterThree}%
+}
+\NewDocumentCommand{\meterCutCThreeTwo}{}{%
+ \meterCutCplus{\meterThreeTwo}%
+}
+
+% Proportions of C
\NewDocumentCommand{\meterCThree}{}{%
- \meterCplus{\musNumFont{3}}%
+ \meterCplus{\meterThree}%
}
\NewDocumentCommand{\meterCThreeTwo}{}{%
- \meterCplus{{\footnotesize\stackanchor[1pt]{3}{2}}}%
+ \meterCplus{\meterThreeTwo}%
+}
+
+% CZ meter: Ternary meter used in 17th-century Spanish music
+%
+% A cursive Z to match the C meter symbol, as notated in Spanish manuscripts
+%
+% Pull in symbol from EB Garamond font; could be redefined
+\NewDocumentCommand{\meterZfont}{}{%
+ \fontfamily{EBGaramond-LF}\selectfont
+}
+
+% The symbol
+\NewDocumentCommand{\meterZsymbol}{}{%
+ {\meterZfont\Large\itshape z}%
}
-% Ternary meter used in 17th-century Spanish music
+
+% CZ meter
\NewDocumentCommand{\meterCZ}{}{%
- \meterCplus{Z}%
+ \meterCplus{\meterZsymbol}%
}
+
% 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}
+% FIGURED BASS
+
+% Definable font command to be used with figured bass; consider matching
+% \musNumFont (e.g., with lining numerals)
+\NewDocumentCommand{\musFigFont}{}{}
+
+% Size adjustment for figured bass: smaller font for numerals, reduce sizes of
+% music symbols (\tiny might make it fit better within the line height)
+\NewDocumentCommand{\musFigSize}{}{%
+ \scriptsize
+ \RenewDocumentCommand{\musAccidentalFont}{}{\musFont}%
+}
+
+% Figured bass is typeset a \musStack using \musFigFont, right-aligned to
+% allow for accidentals preceding numerals
+% #1 (optional) Alignment specifier: l, c, r (default: r)
+% #2 space-delimited list of arguments to stack, in top-down order
+%
+% Example: \musFig{\fl6 4} or \musFig{\sh5 4 2}
+%
+% Note that the command applies first \musFigSize, then \musFigFont inside the
+% stack.
+\NewDocumentCommand{\musFig}{ O{r} m }{%
+ {\musFigSize\musStack[\musFigFont]{#2}[#1]}%
+}
+
+% Placeholder for no figure, to maintain alignment
+% #1 (optional) width of blank space (Default: numeral 5)
+%
+% Example: \musFig{6 4}--\musFig{5 \noFig}
+\NewDocumentCommand{\noFig}{ O{5} }{%
+ \hphantom{#1}%
+}
+
+% MISCELLANEOUS SYMBOLS and NOTATIONS
+
+% Segno (repeat marker)
+\NewDocumentCommand{\musSegno}{}{%
+ \musSymbol{0.55em}{-0.4ex}{1.5em}{\symbol{86}}%
+}
+
+% Scale degrees
+% #1 Numeral (offset from tonic)
+\NewDocumentCommand{\musDegree}{ m }{$\hat{#1}$}
+
+% Pitch with Helmholtz octave number (e.g., A4 = A440Hz)
+% #1 Pitch-class name (A-G)
+% #2 Octave number
+\NewDocumentCommand{\musPitch}{ m m }{#1\textsubscript{#2}}
+
+% Recommended: Use my 'octave' package for more options, including
+% traditional, non-Helmholtz notation
+
+% AUXILIARY COMMANDS
+
+% Print a list of symbols for documentation, debugging, or extension
+% E.g., \symbolList{\musFont}{256} to see all useable symbols in MusiXTeX font
+
+\RequirePackage{setspace} % for symbol list spacing
+
+\ExplSyntaxOn
+% Single entry in the symbol list: Number + corresponding symbol
+% #1 font command
+% #2 symbol number
+\cs_new:Nn \aac_symbolEntry:nn
+{
+ \makebox[4em]{#2\quad{#1\symbol{#2}}}\ %
+}
+
+% Loop through all the symbols in given font up to given max
+% #1 font command
+% #2 max symbol number
+\cs_new:Nn \aac_symbolLoop:nn
+{
+ \int_step_inline:nnn {0} {#2 - 1}
+ {
+ \aac_symbolEntry:nn {#1} {##1}
+ }
+}
+
+
+% The whole symbol list up to a given max, typeset in a big double-spaced
+% block
+% #1 font command
+% #2 max symbol number
+\NewDocumentCommand{\symbolList}{ m m }{\par
+ \begin{doublespace}
+ \noindent\aac_symbolLoop:nn {#1} {#2}
+ \end{doublespace}
+}
+\ExplSyntaxOff
+
+% Print a list of symbols in the MusiXTeX font
+\NewDocumentCommand{\musixSymbolList}{}{\symbolList{\musFont}{128}}
\endinput
diff --git a/macros/latex/contrib/musicography/musicography.tex b/macros/latex/contrib/musicography/musicography.tex
index ce0777b3b7..700770112b 100644
--- a/macros/latex/contrib/musicography/musicography.tex
+++ b/macros/latex/contrib/musicography/musicography.tex
@@ -1,17 +1,23 @@
\documentclass{article}
-\usepackage{lmodern}
\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
+\usepackage{lmodern}
\usepackage{geometry}
\usepackage{semantic-markup}
-\usepackage{musicography}
+\usepackage[bigger]{musicography}
\usepackage{fancyvrb}
\frenchspacing
+\setcounter{secnumdepth}{1}
-\newenvironment{codetable}
-{\begin{quote}\begin{tabular}{lll}}
-{\end{tabular}\end{quote}}
+\NewDocumentEnvironment{codetable}{}
+{
+ \begin{quote}
+ \begin{tabular}{p{0.3\textwidth} p{0.4\textwidth} l}
+}
+{
+ \end{tabular}
+ \end{quote}
+}
\usepackage[
pdftitle={The musicography Package: Symbols for Music Writing},
@@ -26,7 +32,7 @@
{\nolinkurl{andrewacashner@gmail.com}}%
}%
}
-\date{January 29, 2020}
+\date{September 8, 2023}
\begin{document}
\maketitle
@@ -45,7 +51,8 @@ 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}.
+interface written using the new interface introduced in \code{xparse} (now
+built in to \LaTeX).
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.
@@ -60,18 +67,41 @@ If you are also using this author's \code{semantic-markup} package,
the other package.
The \code{bigger} option provides larger font sizes that match better with
-certain fonts.
+certain fonts (tested with 12-point \code{ebgaramond}).
-The package now (2019) provides full support for figured-bass notation using the
-\verb|\musFig| command.
+\section{Fonts}
-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}
+The package requires the MusiX\TeX{} fonts, which are installed by default in
+\TeX{}Live.
+In case there is anyone else using the obscure \verb|\meterCZ| command (in
+which case, send me a note!) it now requires the EB Garamond font, also
+installed in \TeX{}Live.
+
+Most of the font commands can be customized by redefining one of the following
+commands:
+\begin{itemize}
+ \item \verb|\musAccidentalFont|: The size of accidentals is defined as
+ larger relative to the other symbols.
+
+ \item \verb|\musNumFont|: This command is used in typesetting time
+ signatures and meters. By default such numbers are boldfaced, which
+ looks better in most fonts. Redefine this command to adjust the
+ appearance of the numbers, for example by using lining numerals.
+ Recommended with \code{ebgaramond} or \code{libertine}:
+ \begin{quote}
+ \verb|\RenewDocumentCommand{\musNumFont}{\liningnums}|
+ \end{quote}
+ The command is employed in a way that both font switches and commands
+ with arguments will work (e.g., \verb|\bfseries\liningnums|), but take
+ care when combining multiple elements.
+
+ \item \verb|\musFigSize| and \verb|\musFigFont|: These commands are used
+ in typesetting figured bass. By default \verb|\musFigSize| sets a
+ smaller size for both numerals and accidentals. The command
+ \verb|\musFigFont| is empty by default but it would be a good idea to
+ make sure the treatment of numerals matches \verb|\musNumFont| if, for
+ example, you are using lining numerals.
+\end{itemize}
\section{Symbols and Commands}
@@ -88,8 +118,8 @@ do this:
\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.
+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| &
@@ -114,6 +144,12 @@ command. For example:
\musThirtySecondDotted\\
\end{codetable}
+\subsection{Other Symbols}
+
+\begin{codetable}
+ \emph{Segno} repeat marker & \verb|\musSegno| & \musSegno \\
+\end{codetable}
+
\subsection{Meter Signatures}
\begin{codetable}
@@ -129,73 +165,119 @@ command. For example:
For other time signatures, use \verb|\musMeter{}{}|; the two arguments are the
numerator and denominator of the fraction, respectively.
+By default this command applies the \verb|\musNumFont| command to its
+arguments; in a pinch (such as for testing) you can supply an alternate font
+command as an optional first argument, which will be used instead of
+\verb|\musNumFont|.
+In practical use it would be better and more consistent to redefine
+\verb|\musNumFont| as described above.
+
+
\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 command takes a single argument which may contain as many space-separated
+elements as you like (just like \verb|\Shortstack| from the \code{stackengine}
+package, which it uses internally).
-The elements in the argument will be stacked vertically and left-aligned.
+The elements in the argument will be stacked vertically and right-aligned (to
+allow for accidentals preceding the numerals).
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 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.
-
-
+You can adjust the size and font of the figures by redefining
+\verb|\musFigSize| and \verb|\musFigFont| as described above.
+The command applies both commands, in that order, so if you change them, make
+sure the two work together appropriately.
{\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}\\
+ Two figures & \verb|\musFig{7 \sh5}|
+ & \musFig{7 \sh5}\\
+ Two figures, accidentals after & \verb|\musFig[l]{7 \sh5}|
+ & \musFig[l]{7 5\sh}\\
+ Three figures & \verb|\musFig{\fl7} 5 3}|
+ & \musFig{\fl7 5 3}\\
Four figures & \verb|\musFig{7 5 4 2}| &
- \musFig{9 7 5 3}\\
+ \musFig{7 5 4 2}\\
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}}\\
+ & \verb|\musFig{{\fl6} 5} {\noFig[\fl6] \sh}}|
+ & \musFig{{\fl6 5} {\noFig[\fl6] \sh}}\\
\end{codetable}}
+\subsection{Scale Degrees and Octave Numbers}
+
+\begin{codetable}
+ Scale degree & \verb|A is \musDegree{6} in C major.|
+ & A is \musDegree{6} in C major. \\
+ Pitch with octave & \verb|\musPitch{A}{4} is 440Hz.|
+ & \musPitch{A}{4} is 440Hz. \\
+\end{codetable}
+
+For more flexible options, including traditional, non-Helmholtz notation for
+pitches, use my \code{octave} package.
+
+\section{Customization}
-\subsection{Customization}
+To create aliases for these commands, such as \verb|\quaver| for British
+usage, use \verb|\NewDocumentCommand| like this:
+\begin{quote}
+ \verb|\NewDocumentCommand{\quaver}{}{\musEighth}|
+\end{quote}
+If this new LaTeX interface is unfamiliar, \verb|\newcommand| or even
+\verb|\let| will still work.
-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|, \verb|\musAccidental|, and \verb|\musStack| in the code
+listing below.
-\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.
+\subsubsection{MusiX\TeX{} Symbol List}
+
+You may use \verb|\musSymbol| to pull in any of the following symbols by
+number:
+\musixSymbolList
\section{Changes}
\begin{itemize}
+ \item[2023-09-08] Improved customization, time signatures, figured bass,
+ and documentation
+ \begin{itemize}
+ \item Documentation reorganized, clarified, corrected
+ \item Customizable font commands used throughout:
+ \verb|\musAccidentalFont|, \verb|\musNumFont|,
+ \verb|\musFigSize|, and \verb|\musFigFont|
+ \item \verb|\musStack| now takes an optional last argument to
+ specify alignment
+ \item \verb|\musMeter| now takes an optional font argument, and
+ has a smaller vertical gap between numerals. It is now scaled
+ to fit within the line.
+ \item Spacing commands in \verb|\musSymbolMeter| are simplified
+ \item \verb|\meterThreeTwo| now uses \verb|\musMeter| for the
+ numbers, shifted slightly to align with the meter symbol
+ \item \verb|\meterCZ| now pulls in a cursive Z symbol from the EB
+ Garamond font (installed by default in TeXLive)
+ \item \verb|\musFig| now includes configurable \verb|\musFigSize|
+ and \verb|\musFigFont| switches, and a first optional argument
+ with alignment specifier
+ \item New commands for scale degress (\verb|\musDegree|) and
+ pitches with Helmholtz octave (\verb|\musPitch|)
+ \item For testing or extension, add command to display a list of
+ symbols by number in a given font
+ \end{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
diff --git a/macros/latex/contrib/ppt-slides/LICENSE.txt b/macros/latex/contrib/ppt-slides/LICENSE.txt
index 463e7d252d..5744f745f0 100644
--- a/macros/latex/contrib/ppt-slides/LICENSE.txt
+++ b/macros/latex/contrib/ppt-slides/LICENSE.txt
@@ -1,6 +1,6 @@
(The MIT License)
-Copyright (c) 2022 Yegor Bugayenko
+Copyright (c) 2021-2023 Yegor Bugayenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
diff --git a/macros/latex/contrib/ppt-slides/ppt-slides.dtx b/macros/latex/contrib/ppt-slides/ppt-slides.dtx
index ba92737063..515a43cd9b 100644
--- a/macros/latex/contrib/ppt-slides/ppt-slides.dtx
+++ b/macros/latex/contrib/ppt-slides/ppt-slides.dtx
@@ -50,7 +50,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{ppt-slides}
%<*package>
-[2023-08-29 0.2.2 Slide Decks a la Power Point]
+[2023-09-08 0.2.3 Slide Decks a la Power Point]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -440,7 +440,7 @@
\newcommand\pptBanner[2][green]{%
\par%
{\setlength{\fboxsep}{6pt}%
- \colorbox{#1}{\color{\thepagecolor}\large #2}}
+ \colorbox{#1}{\color{\thepagecolor}\large #2}}%
\par%
}
% \end{macrocode}
@@ -488,7 +488,7 @@
% \begin{macrocode}
\newcommand\pptTitle[2]{%
{\pptBanner{\Huge #1}}%
- \def\param{#1}%
+ \def\param{#2}%
\ifx\param\empty\else%
{\pptBanner{\large #2}}%
\fi%
@@ -601,10 +601,9 @@
\begin{pptMiddle}%
\tikz{%
\node [inner sep=18pt] (z) {%
- \begin{varwidth}{0.8\textwidth}
- \Large
- #1
- \end{varwidth}
+ \begin{varwidth}{0.8\textwidth}%
+ \Large #1%
+ \end{varwidth}%
};
\path [draw=green,line width=8pt] (z.north west) -- (z.south west);
}%
diff --git a/macros/latex/contrib/ppt-slides/ppt-slides.pdf b/macros/latex/contrib/ppt-slides/ppt-slides.pdf
index b1097df20e..7b23a4fc98 100644
--- a/macros/latex/contrib/ppt-slides/ppt-slides.pdf
+++ b/macros/latex/contrib/ppt-slides/ppt-slides.pdf
Binary files differ