diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/semantic-markup/semantic-markup.sty |
Initial commit
Diffstat (limited to 'macros/latex/contrib/semantic-markup/semantic-markup.sty')
-rw-r--r-- | macros/latex/contrib/semantic-markup/semantic-markup.sty | 165 |
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 |