%% %% This is file `catchfile.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% catchfile.dtx (with options: `package') %% %% This is a generated file. %% %% Copyright (C) 2007 by Heiko Oberdiek %% %% 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". %% %% This Current Maintainer of this work is Heiko Oberdiek. %% %% This work consists of the main source file catchfile.dtx %% and the derived files %% catchfile.sty, catchfile.pdf, catchfile.ins, catchfile.drv, %% catchfile-test1.tex, catchfile-test2.tex, %% catchfile-test3.tex. %% \begingroup \catcode44 12 % , \catcode45 12 % - \catcode46 12 % . \catcode58 12 % : \catcode64 11 % @ \expandafter\let\expandafter\x\csname ver@catchfile.sty\endcsname \ifcase 0% \ifx\x\relax % plain \else \ifx\x\empty % LaTeX \else 1% \fi \fi \else \catcode35 6 % # \catcode123 1 % { \catcode125 2 % } \expandafter\ifx\csname PackageInfo\endcsname\relax \def\x#1#2{% \immediate\write-1{Package #1 Info: #2.}% }% \else \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% \fi \x{catchfile}{The package is already loaded}% \endgroup \expandafter\endinput \fi \endgroup \begingroup \catcode35 6 % # \catcode40 12 % ( \catcode41 12 % ) \catcode44 12 % , \catcode45 12 % - \catcode46 12 % . \catcode47 12 % / \catcode58 12 % : \catcode64 11 % @ \catcode123 1 % { \catcode125 2 % } \expandafter\ifx\csname ProvidesPackage\endcsname\relax \def\x#1#2#3[#4]{\endgroup \immediate\write-1{Package: #3 #4}% \xdef#1{#4}% }% \else \def\x#1#2[#3]{\endgroup #2[{#3}]% \ifx#1\relax \xdef#1{#3}% \fi }% \fi \expandafter\x\csname ver@catchfile.sty\endcsname \ProvidesPackage{catchfile}% [2007/11/11 v1.2 Catches the contents of a file (HO)] \begingroup \catcode123 1 % { \catcode125 2 % } \def\x{\endgroup \expandafter\edef\csname CatchFile@AtEnd\endcsname{% \catcode35 \the\catcode35\relax \catcode64 \the\catcode64\relax \catcode123 \the\catcode123\relax \catcode125 \the\catcode125\relax }% }% \x \catcode35 6 % # \catcode64 11 % @ \catcode123 1 % { \catcode125 2 % } \def\TMP@EnsureCode#1#2{% \edef\CatchFile@AtEnd{% \CatchFile@AtEnd \catcode#1 \the\catcode#1\relax }% \catcode#1 #2\relax } \TMP@EnsureCode{39}{12}% ' \TMP@EnsureCode{44}{12}% , \TMP@EnsureCode{45}{12}% - \TMP@EnsureCode{46}{12}% . \TMP@EnsureCode{47}{12}% / \TMP@EnsureCode{61}{12}% = \TMP@EnsureCode{96}{12}% ` \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname RequirePackage\endcsname\relax \input infwarerr.sty\relax \else \RequirePackage{infwarerr}[2007/09/09]% \fi \begingroup \escapechar=92\relax \edef\TestString{\string\everyeof}% \edef\TestMeaning{\meaning\everyeof}% \ifx\TestString\TestMeaning \else \@PackageErrorNoLine{catchfile}{% Cannot find e-TeX's \string\everyeof,\MessageBreak package loading is aborted% }\@ehd \endgroup \CatchFile@AtEnd \expandafter\endinput \fi \endgroup \begingroup \def\Check#1#2#3#4\endgroup{% \edef\TestString{\string#1}% \edef\TestMeaning{\meaning#2}% \ifx\TestString\TestMeaning \endgroup \let\CatchFile@Primitive#2% \def\CatchFile@Input{\CatchFile@Primitive#3}% \else #4\endgroup \fi }% \Check\input\input{}% \Check\input\@@input{}% \Check\pdfprimitive\pdfprimitive\input \@PackageErrorNoLine{% Cannot find primitive \string\input,\MessageBreak package loading is aborted% }\@ehd \csname endgroup\endcsname \CatchFile@AtEnd \endinput \endgroup \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname IfFileExists\endcsname\relax \input pdftexcmds.sty\relax \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdf@filesize\endcsname\relax \def\CatchFile@CheckFileExists#1{% \expandafter\ifx\csname @inputcheck\endcsname\relax \csname newread\endcsname\@inputcheck \fi \openin\@inputcheck#1\relax \ifeof\@inputcheck \let\CatchFile@File\relax \else \closein\@inputcheck \def\CatchFile@File{#1}% \fi }% \else \def\CatchFile@CheckFileExists#1{% \expandafter\expandafter\expandafter\ifx \expandafter\expandafter\expandafter\relax\pdf@filesize{#1}\relax \let\CatchFile@File\relax \else \def\CatchFile@File{#1}% \fi }% \fi \else \def\CatchFile@CheckFileExists#1{% \IfFileExists{#1}{% \expandafter\CatchFile@DefFile\@filef@und\@nil \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname @addtofilelist\endcsname\relax \else \@addtofilelist\CatchFile@File \fi }{% \let\CatchFile@File\relax }% }% \def\CatchFile@DefFile#1 \@nil{% \def\CatchFile@File{#1}% }% \fi \def\CatchFile@NotFound#1#2{% \def#1{}% \@PackageError{catchfile}{% File `#2' not found% }\@ehc } \long\def\CatchFileEdef#1#2#3{% \CatchFile@CheckFileExists{#2}% \ifx\CatchFile@File\relax \CatchFile@NotFound{#1}{#2}% \else \begingroup \everyeof{\noexpand}% #3% \xdef\CatchFile@Contents{\CatchFile@Input\CatchFile@File\space}% \endgroup \let#1\CatchFile@Contents \fi } \long\def\CatchFileDef#1#2#3{% \CatchFile@CheckFileExists{#2}% \ifx\CatchFile@File\relax \CatchFile@NotFound{#1}{#2}% \else \begingroup \everyeof\expandafter{% \CatchFile@EOF \noexpand }% \expandafter\long\expandafter\def\expandafter\CatchFile@Do \expandafter##\expandafter1\CatchFile@EOF{% \endgroup \def#1{##1}% }% #3% \expandafter\expandafter\expandafter\CatchFile@Do \CatchFile@Input\CatchFile@File\relax \fi } \begingroup \lccode65=64 % lowercase('A') = '@' \lccode66=64 % lowercase('B') = '@' \catcode65=8 % catcode('A') = subscript \catcode66=3 % catcode('B') = math shift \lowercase{\endgroup \def\CatchFile@EOF{AB}% } \CatchFile@AtEnd \endinput %% %% End of file `catchfile.sty'.