Es würde mich sehr wundern, wenn es das noch nicht als Paket gäbe. Notfalls könnte man sich das mit Hilfe des moreverb-Pakets einfach selbst basteln:
Code:
\documentclass[fontsize=11pt,headings=big,open=any]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{moreverb}
\makeatletter
\newenvironment{examplefile}[1]{%
\@bsphack
\@ifundefined{verbatim@out@#1}{%
\expandafter\newwrite\csname verbatim@out@#1\endcsname
\expandafter\show\csname verbatim@out@#1\endcsname
\expandafter\immediate\expandafter\openout \csname
verbatim@out@#1\endcsname #1
}{%
% Am Anfang jedes Beispiels schreiben wir eine Leerzeile, um einen neuen
% Absatz zu beginnen:
\expandafter\immediate\expandafter\write \csname verbatim@out@#1\endcsname
{}%
}%
\let\do\@makeother\dospecials
\catcode`\^^M\active \catcode`\^^I=12
\def\verbatim@processline{%
\expandafter\immediate\expandafter\write\csname verbatim@out@#1\endcsname
{\the\verbatim@line}}%
\verbatim@start
}{%
\@esphack
}
\newcommand*{\inputexamples}[1]{%
\@ifundefined{verbatim@out@#1}{}{%
\expandafter\immediate\expandafter\closeout
\csname verbatim@out@#1\endcsname
\expandafter\let\csname verbatim@out@#1\endcsname\relax
}%
\InputIfFileExists{#1}{\typeout{Example file `#1' read.}}{%
\typeout{Example file `#1' not found.}%
}%
}
\makeatother
\usepackage{lipsum}% Für Demozwecke ganz nützlich.
\begin{document}
\lipsum[1]
\begin{examplefile}{\jobname.xmp}
Text1
\end{examplefile}
\lipsum[2]
\begin{examplefile}{\jobname.xmp}
Noch ein Text mit Tabelle
\begin{tabular}{c}Tabellentext\\\end{tabular}
\end{examplefile}
\lipsum[3]
\inputexamples{\jobname.xmp}
\end{document}
Falls man nicht will, dass jede examplefile-Umgebung einen neuen Absatz beginnt, kann man die entsprechenden beiden Zeilen (siehe Kommentar) auch auskommentieren. Dann muss man für Absätze in der xmp-Datei selbst sorgen.
Die Umgebung ist so angelegt, dass man unterschiedliche Dateien verwenden kann. Allerdings wird man dann sehr schnell in der "no room for new write"-Problem laufen.
Lesezeichen