在表格环境中输入数据会导致出现奇怪的额外空格

在表格环境中输入数据会导致出现奇怪的额外空格

我正在编写一个表格,并尝试从外部文件导入其内容。奇怪的是,我发现在导入内容时,TeX 似乎会在最后一个条目中添加一个奇怪的空格。当我从外部文件复制内容并将其直接粘贴到文档中时,不会发生这种情况。我该如何修复此行为?

梅威瑟:

\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 …,因为在这种情况下空格标记(行尾)将是文件名的结尾。但是,例如,这不支持带空格的文件名。

也可以看看:行尾的百分号 (%) 有什么用处?(为什么我的宏会创建额外的空间?)

相关内容