出力の抑制

出力の抑制

奇妙に聞こえるかもしれませんが、私は何かを書いて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}

関連情報