summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/cnltx/cnltx-tools.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/cnltx/cnltx-tools.sty')
-rw-r--r--Master/texmf-dist/tex/latex/cnltx/cnltx-tools.sty220
1 files changed, 220 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/cnltx/cnltx-tools.sty b/Master/texmf-dist/tex/latex/cnltx/cnltx-tools.sty
new file mode 100644
index 00000000000..67765297dfd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cnltx/cnltx-tools.sty
@@ -0,0 +1,220 @@
+% --------------------------------------------------------------------------
+% the CNLTX bundle
+%
+% LaTeX source code and output
+%
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://github.com/cgnieder/cnltx/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2013 Clemens Niederberger
+%
+% 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 Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\RequirePackage{cnltx-base}
+\ProvidesPackage{cnltx-tools}[\cnltx@@date\space \cnltx@@version\space \cnltx@@info]
+
+% --------------------------------------------------------------------------
+\cnltx@create@bundle@message{tools}{Error}
+\cnltx@create@bundle@message{tools}{Warning}
+\cnltx@create@bundle@message{tools}{WarningNoLine}
+\cnltx@create@bundle@message{tools}{Info}
+
+% --------------------------------------------------------------------------
+\newcommand*\cnltx@name@first[1]{#1}
+\newcommand*\cnltx@name@last[1]{\textsc{#1}}
+\newcommand*\cnltx@name@base[1]{#1}
+
+\pgfkeys{
+ cnltx/.cd,
+ last-name-format/.code = \def\cnltx@name@last##1{#1} ,
+ first-name-format/.code = \def\cnltx@name@first##1{#1} ,
+ name-format/.code = \def\cnltx@name@base##1{#1}
+}
+
+\newcommand*\cnltx@name@idx[1]{\index{#1@#1}}
+\newrobustcmd*\cnltx@name@star[2][]{%
+ \ifblank{#1}
+ {\cnltx@name@base{\cnltx@name@last{#2}}}
+ {\cnltx@name@base{\cnltx@name@first{#1} \cnltx@name@last{#2}}}%
+}
+\newrobustcmd*\cnltx@name@nostar[2][]{%
+ \ifblank{#1}
+ {\cnltx@name@base{\cnltx@name@last{#2}}\cnltx@name@idx{#2}}
+ {%
+ \cnltx@name@base{\cnltx@name@first{#1} \cnltx@name@last{#2}}%
+ \cnltx@name@idx{#2, #1}%
+ }%
+}
+\def\cnltx@name{\@ifstar{\cnltx@name@star}{\cnltx@name@nostar}}
+
+\newrobustcmd*\cnltx@newname[3]{%
+ \csdef{\cnltx@stripbs#1@short}{\cnltx@name@base{#3}\cnltx@name@idx{#3, #2}}%
+ \csdef{\cnltx@stripbs#1@long}{\cnltx@name@base{#2 #3}\cnltx@name@idx{#3, #2}}%
+ \newrobustcmd*#1{%
+ \@ifstar
+ {\csuse{\cnltx@stripbs#1@short}}
+ {\csuse{\cnltx@stripbs#1@long}}%
+ }%
+}
+
+\newrobustcmd*\newname{\cnltx@newname}
+
+% --------------------------------------------------------------------------
+\PassOptionsToPackage{space=true}{accsupp}
+\RequirePackage{accsupp}
+% #1: actual text
+% #2: other options
+% #3: TeX text
+\newrobustcmd\cnltx@accsupp[3]{%
+ \begingroup
+ \BeginAccSupp{ ActualText = #1 , #2 }%
+ #3%
+ \EndAccSupp{}%
+ \endgroup
+}
+
+\AtBeginDocument{%
+ \@ifpackageloaded{hyperref}
+ {}
+ {\providecommand\texorpdfstring[2]{#1}}%
+}
+
+\def\cnltx@acronym@format{\scshape}
+
+\pgfkeys{
+ cnltx/.cd,
+ acronym-format/.code = \def\cnltx@acronym@format{#1}
+}
+
+\newcommand*\cnltx@acronym[2]{%
+ \ifblank{#1}
+ {%
+ \texorpdfstring
+ {%
+ \cnltx@accsupp{#2}{}{\cnltx@acronym@format#2}%
+ \index{#2@{\cnltx@acronym@format#2}}%
+ }
+ {#2}%
+ }
+ {%
+ \texorpdfstring
+ {%
+ \cnltx@accsupp{#1}{}{\cnltx@acronym@format#2}%
+ \index{#1@{\cnltx@acronym@format#2}}%
+ }
+ {#1}%
+ }%
+}
+
+\newcommand*\cnltxacronym{\cnltx@acronym}
+
+% --------------------------------------------------------------------------
+% abbreviations:
+
+% \def\cnltx@abbr@ifdot{\ltx@ifnextchar@nospace.}
+\protected\def\cnltx@abbr@dot#1{\cnltx@ifpunctuation*[.]{#1\@}{#1.\@}}
+
+% --------------------------------------------------------------------------
+% \defabbr
+\protected\def\cnltx@defabbr@dot#1#2{\def#1{\cnltx@abbr@dot{#2}}}
+\protected\def\cnltx@defabbr@nodot#1#2{\def#1{#2}}
+
+% \newabbr
+\protected\def\cnltx@newabbr@dot#1#2{%
+ \cnltx@ifdef#1{}{\protected\def#1{\cnltx@abbr@dot{#2}}}}
+
+\protected\def\cnltx@newabbr@nodot#1#2{%
+ \cnltx@ifdef#1{}{\protected\def#1{#2}}}
+
+% \renewabbr
+\protected\def\cnltx@renewabbr@dot#1#2{%
+ \cnltx@ifdef#1{\protected\def#1{\cnltx@abbr@dot{#2}}}{}}
+
+\protected\def\cnltx@renewabbr@nodot#1#2{%
+ \cnltx@ifdef#1{\protected\def#1{#2}}{}}
+
+\def\cnltx@ifdef#1{%
+ \ifcsname\expandafter\@gobble\string#1\endcsname
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+
+\newrobustcmd*\newabbr{%
+ \@ifstar{\cnltx@newabbr@nodot}{\cnltx@newabbr@dot}%
+}
+
+\newrobustcmd*\renewabbr{%
+ \@ifstar{\cnltx@renewabbr@nodot}{\cnltx@renewabbr@dot}%
+}
+
+\newrobustcmd*\defabbr{%
+ \@ifstar{\cnltx@defabbr@nodot}{\cnltx@defabbr@dot}%
+}
+
+% --------------------------------------------------------------------------
+\RequirePackage{translations}
+
+\newcommand*\cnltxlatin[1]{\textit{#1}}
+
+\DeclareTranslationFallback{cnltx-i.e.}{\cnltxlatin{i.\,e}}
+\DeclareTranslation{English}{cnltx-i.e.}{\cnltxlatin{i.\,e}}
+\DeclareTranslation{German}{cnltx-i.e.}{d.\,h}
+
+\DeclareTranslationFallback{cnltx-e.g.}{\cnltxlatin{e.\,g}}
+\DeclareTranslation{English}{cnltx-e.g.}{\cnltxlatin{e.\,g}}
+\DeclareTranslation{German}{cnltx-e.g.}{z.\,B}
+
+\DeclareTranslationFallback{cnltx-cf.}{\cnltxlatin{cf}}
+\DeclareTranslation{English}{cnltx-cf.}{\cnltxlatin{cf}}
+\DeclareTranslation{German}{cnltx-cf.}{vgl}
+
+\DeclareTranslationFallback{cnltx-etc.}{\cnltxlatin{etc}}
+\DeclareTranslation{English}{cnltx-etc.}{\cnltxlatin{etc}}
+\DeclareTranslation{German}{cnltx-etc.}{etc}
+
+\newabbr\ie{\GetTranslation{cnltx-i.e.}}
+\newabbr\eg{\GetTranslation{cnltx-e.g.}}
+\newabbr\cf{\GetTranslation{cnltx-cf.}}
+\newabbr\etc{\GetTranslation{cnltx-etc.}}
+
+\newabbr\zB{z.\,B}
+\newabbr\ZB{Z.\,B}
+\newabbr\usw{usw}
+\newabbr\usf{usf}
+\newabbr\uswusf{usw.\@\space usf}
+\newabbr\dsh{d.\,h}
+\newabbr\Dsh{D.\,h}
+\newabbr\vgl{vgl}
+\newabbr\Vgl{Vgl}
+
+\newcommand*\cnltxtimeformat[1]{\textsc{\,#1}}
+\newabbr\PM{\cnltxtimeformat{p.m}}
+\newabbr\AM{\cnltxtimeformat{a.m}}
+\newabbr\BC{\cnltxtimeformat{b.c}}
+\newabbr\AD{\cnltxtimeformat{a.d}}
+
+\endinput
+
+% --------------------------------------------------------------------------
+HISTORY:
+
+2013/09/10 v0.2 - first published version
+2013/09/30 v0.7 - added abbreviations
+