答案1
答案2
TeX 总是在文件末尾添加一个结束行\input
,这会在输出中变成一个空格。括号后的结束行会添加另一个空格。请注意,标记化已经完成,因此输出中会有两个空格。
另一方面,\par
(由以下空行生成)\unskip
确实能够删除一其中一个空间被占用,而另一个空间则保留下来。
如果您将其添加\endinput
到文件中,则不会发生这种情况。请注意,建议%
仅在特定情况下有效。
\begin{filecontents*}[force]{\jobname-in.tex}
\hfill Some text\endinput
\end{filecontents*}
\documentclass{article}
\begin{document}
\noindent X\dotfill X
\noindent\input{\jobname-in}
\noindent\hfill Some other text
\bigskip
\noindent\input{\jobname-in}and other text
\noindent\input{\jobname-in} and other text
\noindent\hfill Some other text
\end{document}
如果你删除\endinput
,你会得到
你可以清楚地看到二第二组中间行的空格。这里%
没用。
替代方法是在范围内\endinput
进行\input
\everyeof{\relax}