\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{semantic-markup}[2016/10/28 Macros for TEI-like semantic markup] % Copyright 2016 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 % 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 \NewDocumentCommand{\quoted}{} {\textquote} \NewDocumentCommand{\soCalled}{} {\textquote} \NewDocumentCommand{\strong}{} {\textbf} \NewDocumentCommand{\code}{} {\texttt} \NewDocumentCommand{\term}{} {\emph} \NewDocumentCommand{\mentioned}{} {\emph} \NewDocumentCommand{\foreign}{} {\emph} \NewDocumentCommand{\worktitle}{} {\emph} \NewDocumentCommand{\parttitle}{} {\textquote} % 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}} }{% \textbf{#1}% } % Indicate citation to be filled in later % Optional argument for indicating the source \NewDocumentCommand{\citXXX}{ o }{% \footnote{\textbf{[Citation needed]\IfValueTF{#1}{#1}{}}}% } %******************* % Footnote as environment \RequirePackage{environ} \NewEnviron{Footnote}{\footnote{\BODY}}[] %****************** % Endnotes, if desired % Footnote environment adjusted to fix expansion problem \ifendnotes \RequirePackage{endnotes} \RenewEnviron{Footnote}{\expandafter\footnote\expandafter{\BODY}}[] \let\footnote=\endnote \AtEndDocument{\theendnotes} \fi %**************************************** % MUSIC SYMBOLS % Accidentals using LaTeX symbols \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