summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/concepts/dry.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/concepts/dry.sty')
-rw-r--r--Master/texmf-dist/tex/latex/concepts/dry.sty66
1 files changed, 66 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/concepts/dry.sty b/Master/texmf-dist/tex/latex/concepts/dry.sty
new file mode 100644
index 00000000000..2ff5646046a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/concepts/dry.sty
@@ -0,0 +1,66 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \iffalse %%%%
+% %
+% Copyright (c) 2012 - Michiel Helvensteijn (www.mhelvens.net) %
+% %
+% http://latex-concepts.googlecode.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 `author-maintained'. %
+% %
+% The Current Maintainer of this work is Michiel Helvensteijn. %
+% %
+% This work consists of the file dry.sty. %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi %%%%
+
+% I will 'officially' release this package at some point in the future. For
+% now I'm just using it to document the concepts package. Still, it's
+% released under LPPL, so use it as you will.
+%
+% -- Michiel Helvensteijn
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{dry}
+ [2012/12/16 convenience macros for reusing LaTeX code]
+
+\RequirePackage{filecontents}
+\RequirePackage{xparse}
+\RequirePackage{etoolbox}
+\RequirePackage{with}
+
+\newcommand\minput[1]{%
+ \input{#1}%
+ \ifhmode\ifnum\lastnodetype=11%
+ \unskip%
+ \fi\fi%
+}
+
+\NewDocumentCommand{\NewDRYer}{m m +m}{%
+ \WithUniqueCsname[#1]{%
+ \csgdef{dry@filebase@##1}{##1}%
+ \csgdef{dry@filename@##1}{\csuse{dry@filebase@##1}.tmp}%
+ %
+ % WARNING: Custom argument specs #2, but cannot end with an optional argument!
+ \NewDocumentEnvironment{#1}{#2}{%
+ \begingroup%
+ \@tempswafalse\filec@ntents{\csuse{dry@filename@##1}}%
+ }{%
+ \endfilecontents%
+ \endgroup%
+ }%
+ %
+ \AfterEndEnvironment{#1}{%
+ \def\DRYFilename{\csuse{dry@filename@##1}}%
+ \def\DRYContent{\minput{\csuse{dry@filename@##1}}}%
+ #3%
+ \let\DRYFilename\relax%
+ \let\DRYContent\relax%
+ }%
+ }%
+}