Ja, eine solche Möglichkeit gibt es und zwar mit Hilfe des Pakets filecontents
. Wie bereits in der Antwort zum Thema VM kurz erklärt, verändert dieses Paket die LaTeX-Standard-Umgebungen filecontents
und filecontents*
in zweierlei Hinsicht:
- Die Umgebung überschreibt eine gleichnamige Datei, wenn sie bereits existiert.
- Die Umgebung kann auch noch innerhalb des Dokuments, also nach
\begin{document}
verwendet werden.
Diese beiden Eigenschaften sind genau das, was man für ltxtable
benötigt. Man kann so nämlich die jeweilige Tabelle einfach via filecontents
-Umgebung an der jeweiligen Stelle im Dokument, also unmittelbar vor der zugehörigen \LTXtable
-Anweisung in eine Hilfsdatei schreiben lassen:
\documentclass{article}
\usepackage{longtable, ltxtable, booktabs}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä}, germandbls={ß}, Euro={€}}
\usepackage[ngerman]{babel}
\usepackage{filecontents}
\usepackage{lipsum}
\begin{document}
\section{Beispiel}
\begin{filecontents}{\jobname-ltxtable.tex}
\begin{longtable}{lX}
\caption{Testtabelle}\label{tab:log1}\\
\toprule
Spalte 1 & Spalte 2 \\
\midrule
\endfirsthead
\caption[]{Testtabelle \small(Fortsetzung)}\\
\toprule
Spalte 1 & Spalte 2 \\
\midrule
\endhead
\midrule
\endfoot
\bottomrule
\endlastfoot
A & \lipsum[1] \\
B & \lipsum[2] \\
C & \lipsum[3] \\
D & \lipsum[4] \\
\end{longtable}
\end{filecontents}
\LTXtable{\textwidth}{\jobname-ltxtable.tex}
\lipsum[2]
\begin{filecontents}{\jobname-ltxtable.tex}
\begin{longtable}{Xl}
\caption{noch eine Testtabelle}\label{tab:log2}\\
\toprule
Spalte 1 & Spalte 2 \\
\midrule
\endfirsthead
\caption[]{noch eine Testtabelle \small(Fortsetzung)}\\
\toprule
Spalte 1 & Spalte 2 \\
\midrule
\endhead
\midrule
\endfoot
\bottomrule
\endlastfoot
\lipsum[1] & A \\
\lipsum[2] & B \\
\lipsum[3] & C \\
\lipsum[4] & D \\
\end{longtable}
\end{filecontents}
\LTXtable{\textwidth}{\jobname-ltxtable.tex}
\end{document}
Wie in dem Beispiel zu sehen ist, kann sogar derselbe Dateiname für die Hilfsdateien mit den Tabellen immer wieder verwendet werden, so dass nicht das gesamte Verzeichnis mit Hilfsdateien überladen wird. Natürlich kann man aber auch immer wieder neue Dateinamen verwenden. In dem Fall bietet es sich an, den Label-Namen in den Dateinamen einfließen zu lassen, beispielsweise als tab-log1.tex
und tab-log2.tex
statt als \jobname-ltxtable.tex
.
beantwortet
20 Sep '13, 12:54
saputello
11.1k●17●43●65
Akzeptiert-Rate:
51%