summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tagging/tagging.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/tagging/tagging.sty
Initial commit
Diffstat (limited to 'macros/latex/contrib/tagging/tagging.sty')
-rw-r--r--macros/latex/contrib/tagging/tagging.sty59
1 files changed, 59 insertions, 0 deletions
diff --git a/macros/latex/contrib/tagging/tagging.sty b/macros/latex/contrib/tagging/tagging.sty
new file mode 100644
index 0000000000..c947639043
--- /dev/null
+++ b/macros/latex/contrib/tagging/tagging.sty
@@ -0,0 +1,59 @@
+% tagging.sty
+% Copyright 2011 Brent Longborough
+%
+% 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 Brent Longborough.
+%
+% This work consists of these files:
+% tagging.sty, tagging.tex, and tagging.pdf
+% --------------------------------------------------------------
+\ProvidesPackage{tagging}[2011/08/04]
+\RequirePackage{etoolbox,verbatim}
+\newcommand{\taggedy}{\relax}
+\newcommand{\taggedn}{\relax}
+\newcommand\usetag[1]{%
+ \def\do##1{\csdef{tagged@##1}{}}%
+ \docsvlist{#1}}%
+\newcommand\droptag[1]{%
+ \def\do##1{\csundef{tagged@##1}{}}%
+ \docsvlist{#1}}%
+\newenvironment{taggedblock}[1]%
+ {\def\do##1{%
+ \ifcsname tagged@##1\endcsname%
+ \let\comment\relax%
+ \let\endcomment\relax%
+ \fi}%
+ \docsvlist{#1}%
+ \comment}%
+ {\endcomment\leavevmode}%
+\newenvironment{untaggedblock}[1]{%
+ \csdef{@tagged@flag}{}
+ \def\do##1{%
+ \ifcsname tagged@##1\endcsname%
+ \csundef{@tagged@flag}{}
+ \fi}%
+ \docsvlist{#1}%
+ \ifcsname @tagged@flag\endcsname%
+ \let\comment\relax%
+ \let\endcomment\relax%
+ \fi%
+ \comment}%
+ {\endcomment\leavevmode}%
+\newcommand{\iftagged}[3]%
+ {\renewcommand{\taggedy}{#2}%
+ \renewcommand{\taggedn}{#3}%
+ \def\do##1{%
+ \ifcsdef{tagged@##1}{\renewcommand{\taggedn}{\taggedy}}{}}%
+ \docsvlist{#1}%
+ \taggedn%
+ }%
+\newcommand{\tagged}[2]{\iftagged{#1}{#2}{}}
+\newcommand{\untagged}[2]{\iftagged{#1}{}{#2}}