Подавление вывода

Подавление вывода

Это может показаться странным, но я пытаюсь что-то написать и заставить LaTeXнетнапечатать это в документе (это возникло из-за другого моего вопроса,а именно эта ссылка)

Вот что у меня есть на данный момент:

\documentclass[8pt]{book}
\usepackage{amsthm}

\begin{document}
\let\oldpar\par%
\let\par\relax%
\nullfont

Lorem ipsum dolor sit amet, \emph{consectetur adipiscing elit} 2000$^\circ$C.

\[ ax^2 = b \left( \frac{\sqrt{t}}{42} \right)\]

\normalfont%
\let\par\oldpar%

\end{document}

Если вы скомпилируете это, вы получите документ, в котором \emphбудут напечатаны только режим математики и . Ожидаемым результатом было бы вообще ничего не напечатать.

Я предполагаю, что это происходит потому \emph, что mathmode не использует, \normalfontа вместо этого использует какой-то другой шрифт.

Какие команды там используются? Я пробовал, \let\itshape\relax но это не дало результата.

Заранее спасибо!

решение1

Сохраните содержимое, которое вы хотите скрыть, в рамке и выведите в документе пустую рамку того же размера.

\documentclass{book}
\begin{document}
ABC
\setbox0=\vbox{%
Lorem ipsum dolor sit amet, \emph{consectetur adipiscing elit} 2000$^\circ$C.

\[ ax^2 = b \left( \frac{\sqrt{t}}{42} \right)\]
}\par\vbox to \dimexpr\ht0+\dp0\relax{}
DEF
\end{document}

введите описание изображения здесь

решение2

Предложенные переопределения не совсем безопасны.

Этот документ будет повторяться вечно и никогда не закончится.

\documentclass[8pt]{book}
\usepackage{amsthm}

\begin{document}
\let\oldpar\par%
\let\par\relax%
\nullfont

Lorem ipsum dolor sit amet, \emph{consectetur adipiscing elit} 2000$^\circ$C.

\[ ax^2 = b \left( \frac{\sqrt{t}}{42} \right)\]

a\hrule

\normalfont%
\let\par\oldpar%

\end{document}

Связанный контент