我有一个\item
样式命令,我需要能够抑制以下文本的输出。我可以用 来做到这一点\nullfont
,但这似乎是一个糟糕的黑客行为。是否有一个可以抑制所有输出的声明,类似于\sbox0
但这是一个声明而不是命令?
这是一个最小的工作示例(实际情况\myitem
及其使用环境更加复杂)。
\documentclass{report}
\newcommand{\myitem}[1]{%
\nullfont% <-- want a better way to do this
}
\begin{document}
\begin{enumerate}
\item[foo] show this
\myitem{bar} suppress this
\item[foobar] show this too
\end{enumerate}
\end{document}
请注意,这类似于这个问题但我无法修改原始 tex 源,因此没有与项目关联的文本结尾的处理程序。项目之间没有段落跳跃。
答案1
由于您说您没有多个段落条目可以用来\par
结束该项目:
\documentclass{report}
\def\myitem{\setbox0\vbox\bgroup\def\par{\endgraf\egroup\par}}
\begin{document}
\begin{enumerate}
\item[foo] show this
\myitem{bar} suppress this
\item[foobar] show this too
\end{enumerate}
\end{document}