我想执行一个命令来生成文本,但不希望该文本在文档中的任何地方都可见。我们可以将命令放在一个框内,该框会剪切其他文本,例如在页面中间?通常,这看起来很丑陋(框文本呈现在其他文本之上)。我们可以让文本不可见吗?也就是说,在页面中间放一个框,里面装满不可见的文本?或者,如果我们将文本框放在页边距之外,会怎么样?这样,文本会在那里,但不可见?
答案1
以下似乎有效:
\documentclass{minimal}
\usepackage[pscoord]{eso-pic}
\newcommand{\placetextbox}[3]{
\setbox0=\hbox{#3}
\AddToShipoutPictureFG*{
\put(\LenToUnit{#1\paperwidth},\LenToUnit{#2\paperheight}){\vtop{{\null}\makebox[0pt][c]{#3}}}%
}
}
\begin{document}
This is Some Visible Text
\placetextbox{0.5}{0.5}{\phantom{INVISIBLE TEXT HERE}}
\end{document}
您只需将其替换INVISIBLE TEXT HERE
为您想要执行的命令,但不想要输出文本。
上述解决方案基于 Werner 对另一个问题的回答问题。然而,在那种情况下,他们并没有试图让文本不可见,或者在丢弃结果文本的同时执行命令。
例如,如果您正在使用bibtex
并且想要参考书目中包含一些内容而没有任何文内引用,那么INVISIBLE TEXT HERE
可能是这样的:
\cite{Miller78} \cite{Bubba94}