我正在编写一个表格,并尝试从外部文件导入其内容。奇怪的是,我发现在导入内容时,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}
答案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 …
,因为在这种情况下空格标记(行尾)将是文件名的结尾。但是,例如,这不支持带空格的文件名。