
У меня есть \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}
Обратите внимание, что это похоже наэтот вопросно я не могу изменить исходный текстовый источник и, таким образом, не имею обработчика для конца текста, связанного с элементом. Между элементами нет пропусков абзацев.
решение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}