表形式の環境にデータを入力すると、奇妙な余分なスペースができます

表形式の環境にデータを入力すると、奇妙な余分なスペースができます

表を書いていて、その内容を外部ファイルからインポートしようとしています。不思議なことに、内容をインポートすると、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}

25の配置はここでも同じです

注: これは plainTeX では発生しません\input …。この場合、スペース トークン (行末の) がファイル名の末尾となるためです。ただし、これは、たとえば、スペースを含むファイル名をサポートしません。

参照:行末のパーセント記号 (%) の用途は何ですか? (マクロが余分なスペースを作成するのはなぜですか...)

関連情報