为什么当我使用枚举环境时,命令 \everypar 不会调用。我在我们的包中使用 \everypar,我需要的是,即使在枚举环境之后,everypar 也会调用。请帮我解决这个问题。非常感谢大家的帮助。
\documentclass{article}
\newcommand{\logging}{\message{new paragraph}}
\begin{document}
\section{test}
\begin{enumerate}
\item test
\item new test
\end{enumerate}
\everypar{\logging}
Test
New test
test again
\end{document}
答案1
处理此类冲突的通常方法是隐藏原始内容\everypar
并使其显示两个标记列表,一个新的\everypar
(将由 latex 设置)和一个\myeverypar
您可以设置的标记列表:
\documentclass{article}
\let\oldeverypar\everypar
\newtoks\everypar
\newtoks\myeverypar
\oldeverypar{\the\everypar\the\myeverypar}
\newcommand{\logging}{[here]\message{new paragraph}}
\begin{document}
\section{test}
\begin{enumerate}
\item test
\item new test
\end{enumerate}
\myeverypar{\logging}
Test
New test
test again
\end{document}
在这种情况下,我添加了排版,[here]
以便更容易地看到哪些段落触发了\logging
命令,只是为了调试。