Ich schreibe eine Tabelle und versuche, deren Inhalt aus einer externen Datei zu importieren. Kurioserweise habe ich festgestellt, dass TeX beim Importieren des Inhalts dem letzten Eintrag ein seltsames Leerzeichen hinzuzufügen scheint. Dies tritt nicht auf, wenn ich den Inhalt aus der externen Datei kopiere und direkt in das Dokument einfüge. Wie kann ich dieses Verhalten beheben?
MWE:
\documentclass[margin=0.1cm]{standalone}
\begin{filecontents*}{data.tex}
01 & 02 & 03 & 04 & 05\\06 & 07 & 08 & 09 & 10\\11 & 12 & 13 & 14 & 15\\16 & 17 & 18 & 19 & 20\\21 & 22 & 23 & 24 & 25
\end{filecontents*}
\begin{document}
\begin{tabular}{c|c|c|c|c}
\input{data.tex}
\end{tabular}
\begin{tabular}{c|c|c|c|c}
01 & 02 & 03 & 04 & 05\\06 & 07 & 08 & 09 & 10\\11 & 12 & 13 & 14 & 15\\16 & 17 & 18 & 19 & 20\\21 & 22 & 23 & 24 & 25
\end{tabular}
\end{document}
Das Ergebnis des MWE wird unten angezeigt. Die linke Tabelle ist eingegeben, die rechte direkt getippt. Beachten Sie, dass 25 in beiden Fällen unterschiedliche Ausrichtungen hat.
Antwort1
Dies geschieht aufgrund der Handhabung von \input{…}
(bei LaTeX vom 01.10.2020 gibt es meines Wissens sogar zusätzlichen Hook-Code nach dem Ende eines \input
) und weil Sie ein zusätzliches Leerzeichen haben: das Zeilenende nach \input{…}
. Um dies zu vermeiden, kommentieren Sie das Zeilenende nach \input{…}
:
\documentclass[margin=0.1cm]{standalone}
\begin{filecontents*}{data.tex}
01 & 02 & 03 & 04 & 05\\06 & 07 & 08 & 09 & 10\\11 & 12 & 13 & 14 & 15\\16 & 17 & 18 & 19 & 20\\21 & 22 & 23 & 24 & 25
\end{filecontents*}
\begin{document}
\begin{tabular}{c|c|c|c|c}
\input{data.tex}% <-- this percent is needed
\end{tabular}
\begin{tabular}{c|c|c|c|c}
01 & 02 & 03 & 04 & 05\\06 & 07 & 08 & 09 & 10\\11 & 12 & 13 & 14 & 15\\16 & 17 & 18 & 19 & 20\\21 & 22 & 23 & 24 & 25
\end{tabular}
\end{document}
Hinweis: Dies würde bei plainTeX nicht passieren \input …
, da in diesem Fall das Leerzeichen (des Zeilenendes) das Ende des Dateinamens wäre. Dies würde jedoch beispielsweise Dateinamen mit Leerzeichen nicht unterstützen.