我想忽略\par
预定义 LaTeX 文件中的命令。我尝试过:
\renewcommand{\par}{}
但这不起作用,因为\par
它在命令内结束了段落\renewcommand
。
! Paragraph ended before \renew@command was complete.
有没有办法做到这一点?
答案1
您可以轻松重新定义\par
:
\def\par{}
但只有在非常受控的环境下这样做才是安全的,例如:
此文档不会终止,您需要终止该进程
\documentclass{article}
\begin{document}
\def\par{}
aaaaa
\hrule
\end{document}
答案2
最好的办法可能是\par
在群体内部重新定义。例如
\newenvironment{specialpar}{\def\par{\ \P\ }}{\endgraf}
然后你就可以这样做
\documentclass{article}
\usepackage{kantlipsum} % for this example
\newenvironment{specialpar}{\def\par{\ \P\ }}{\endgraf}
\begin{document}
\begin{specialpar}
Whatever you want, but knowing that \texttt{\string\par} is a special thing in here,
so your input must be controlled. \par
This. \par
That. \par
And many other things, but beware of errors.
Another paragraph.
And yet another.
\kant
\end{specialpar}
\end{document}
PS:请注意,如果在同一个“TeX 段落”中堆积很多东西(即,在添加原始段落之前\par
或\engraf
例如),这会在内存中堆积并使 TeX 工作得更多(程序每次处理适当的段落时都会喘口气)。