%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \iffalse %%%%
% %
% Copyright (c) 2018 - Michiel Helvensteijn (www.mhelvens.net) %
% %
% https://github.com/mhelvens/latex-lt3graph %
% %
% 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 Michiel Helvensteijn. %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi %%%%
% I will 'officially' release this file at some point in the future. For
% now I'm just using it to document a couple of packages. Still, it's
% released under LPPL, so use it as you will.
%
% -- Michiel Helvensteijn
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{dry}
[2013/10/11 convenience macros for reusing LaTeX code]
\RequirePackage{filecontents}
\RequirePackage{xparse}
\RequirePackage{etoolbox}
\RequirePackage{withargs}
\newcommand\minput[1]{%
\input{#1}\unskip%
}
\NewDocumentCommand{\NewDRYer}{m +m}{%
\withargs [\uniquecsname] [#2] {%
\newenvironment{#1}{%
\begingroup%
\@tempswafalse\filec@ntents{##1.tmp}%
}{%
\endfilecontents%
\endgroup%
}%
\AfterEndEnvironment{#1}{%
\withargs (xn) [##1.tmp] [\minput{##1.tmp}] {%
##2%
}%
}%
}%
}