抑制输出

抑制输出

这可能听起来很奇怪,但我正在尝试写一些东西,并让 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。预期结果是什么都不打印。

我猜测发生这种情况是因为\emphmathmode 没有使用\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}

相关内容