summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/semantic-markup/semantic-markup.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/semantic-markup/semantic-markup.sty')
-rw-r--r--macros/latex/contrib/semantic-markup/semantic-markup.sty165
1 files changed, 165 insertions, 0 deletions
diff --git a/macros/latex/contrib/semantic-markup/semantic-markup.sty b/macros/latex/contrib/semantic-markup/semantic-markup.sty
new file mode 100644
index 0000000000..e6d33668f9
--- /dev/null
+++ b/macros/latex/contrib/semantic-markup/semantic-markup.sty
@@ -0,0 +1,165 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{semantic-markup}[2018/05/21
+ Macros for TEI-like semantic markup]
+% Copyright 2018 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 semantic-markup.sty
+% and the documentation file semantic-markup.tex.
+
+% CHANGE LOG
+% 2018-05-21 - Use fontspec's definition of `\strong` if it is loaded
+% - Use musicography's definition of `\fl`, `\sh`, `\na` commands if
+% it is loaded
+% - `\wtitle` and `\ptitle` shorthands added
+% - Customizable commands added for endnotes option
+%
+% 2016-09-22 - `endnotes' option added
+% 2016-09-01 - First version on CTAN
+
+% Option to use csquotes default behavior instead of the
+% US localized punctuation used in this package
+\newif\ifdefaultquotes
+\defaultquotesfalse
+\DeclareOption{defaultquotes}{\defaultquotestrue}
+
+% Option to convert footnotes to endnotes, include
+% Footnote environment
+\newif\ifendnotes
+\endnotesfalse
+\DeclareOption{endnotes}{\endnotestrue}
+
+\ProcessOptions\relax
+%**************************
+
+\RequirePackage{xparse}
+
+\RequirePackage{csquotes}
+\ifdefaultquotes\else
+ % Put end punctuation inside quotation marks
+ % for the specified marks
+ \renewcommand{\mktextquote}[6]{#1#2#4#5#3#6}
+ \DeclareAutoPunct{.,!?}
+\fi
+
+% NB: fontspec defines its own \strong command, so only define this if fontspec
+% not loaded
+\@ifpackageloaded{fontspec}{}{%
+ \NewDocumentCommand{\strong}{}
+ {\textbf}
+}
+
+
+\NewDocumentCommand{\quoted}{}
+{\textquote}
+\NewDocumentCommand{\soCalled}{}
+{\textquote}
+
+\NewDocumentCommand{\code}{}
+{\texttt}
+\NewDocumentCommand{\term}{}
+{\emph}
+\NewDocumentCommand{\mentioned}{}
+{\emph}
+\NewDocumentCommand{\foreign}{}
+{\emph}
+
+\NewDocumentCommand{\worktitle}{}
+{\emph}
+\NewDocumentCommand{\parttitle}{}
+{\textquote}
+
+% Shorter versions of these frequently used commands
+\NewDocumentCommand{\wtitle}{}{\worktitle}
+\NewDocumentCommand{\ptitle}{}{\parttitle}
+
+% editorial addition
+\NewDocumentCommand{\add}{ m }
+{[#1]}
+% editorial ellipsis
+\NewDocumentCommand{\Dots}{}{\add{\dots}}
+% explanatory gloss of technical or foreign term
+\NewDocumentCommand{\gloss}{ m m }{%
+ \mentioned{#1} (#2)%
+}
+% explanatory gloss of word in quotation marks
+\NewDocumentCommand{\quotedgloss}{ m m }{%
+ \quoted{#1} (#2)%
+}
+
+%*******************
+% Identify problem spot in draft
+\NewDocumentCommand{\XXX}{ O{\add{FIX}} }{%
+ \strong{#1}%
+}
+% Indicate citation to be filled in later
+% Optional argument for indicating the source
+\NewDocumentCommand{\citXXX}{ o }{%
+ \footnote{\strong{\add{Citation needed}\IfValueTF{#1}{#1}{}}}%
+}
+
+%*******************
+% Footnote as environment
+\RequirePackage{environ}
+\NewEnviron{Footnote}{\footnote{\BODY}}[]
+
+%******************
+% Endnotes, if desired
+
+\ifendnotes
+ \RequirePackage{endnotes}
+
+ % Customize these commands with \renewcommand
+ \NewDocumentCommand{\DoBeforeEndnotes}{}{\clearpage}
+ \NewDocumentCommand{\EndnoteFont}{}{}
+
+ % Optionally remove this (\renewcommand{\MakeEndnotes}{})
+ % to avoid conflicts with endnotes or other packages
+ \NewDocumentCommand{\SetupEndnotes}{}{%
+ \let\footnote=\endnote
+ \AtEndDocument{\DoBeforeEndnotes{\EndnoteFont\theendnotes}}%
+ }
+
+ \AtBeginDocument{%
+ \SetupEndnotes{}%
+ % Footnote environment adjusted to fix expansion problem
+ \RenewEnviron{Footnote}{\expandafter\footnote\expandafter{\BODY}}[]%
+ }%
+\fi
+%******************
+
+%****************************************
+% MUSIC SYMBOLS
+
+% Accidentals using LaTeX symbols
+% Use better definitions from musicography if it was loaded first
+\@ifpackageloaded{musicography}{}{%
+ \NewDocumentCommand{\fl}{}{$\flat$}
+ \NewDocumentCommand{\na}{}{$\natural$}
+ \NewDocumentCommand{\sh}{}{$\sharp$}
+}
+
+% Octave subscripts
+\NewDocumentCommand{\octave}{ }{\textsubscript}
+
+% Music figures
+\RequirePackage{amsmath}
+\NewDocumentCommand{\musfig}{ m m }{%
+ $\genfrac{}{}{0pt}{1}{\text{#1}}{\text{#2}}$%
+}
+
+% Meter signatures
+\RequirePackage[rm]{harmony}
+\NewDocumentCommand{\meter}{ m m }{\Takt{#1}{#2}}
+
+\endinput