%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \iffalse %%%% % % % Copyright (c) 2013 - Michiel Helvensteijn (www.mhelvens.net) % % % % 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% }% }% }% }