
表を書いていて、その内容を外部ファイルからインポートしようとしています。不思議なことに、内容をインポートすると、TeX が最後のエントリに奇妙なスペースを追加するようです。外部ファイルから内容をコピーしてドキュメントに直接貼り付けると、この現象は発生しません。この動作を修正するにはどうすればよいでしょうか?
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}
MWE の結果を以下に示します。左の表は入力されたもので、右の表は直接入力したものです。それぞれの場合で 25 の配置が異なることに注意してください。
答え1
これは、の処理により発生します\input{…}
(2020-10-01 以降の LaTeX では、 の末尾の後にも追加のフック コードがあります\input
)。また、 の後の行末には余分なスペース トークンがあるためです\input{…}
。これを回避するには、 の後の行末をコメント化します\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}
注: これは plainTeX では発生しません\input …
。この場合、スペース トークン (行末の) がファイル名の末尾となるためです。ただし、これは、たとえば、スペースを含むファイル名をサポートしません。