
Eu tenho um \item
comando de estilo onde preciso suprimir a saída do texto a seguir. Posso fazer isso com \nullfont
, mas parece um hack ruim. Existe uma declaração que suprimirá toda a saída, nos moldes de um \sbox0
mas que é uma declaração e não um comando?
Aqui está um exemplo prático mínimo (o real \myitem
e o contexto em que é usado são mais complicados).
\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}
Observe que isso é semelhante aessa questãomas não consigo modificar a fonte tex original e, portanto, não tenho um manipulador para o final do texto associado ao item. Não há saltos de parágrafo entre os itens.
Responder1
Como você diz que não possui várias entradas de parágrafo, pode usá-las \par
para finalizar o item:
\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}