这个问题:打开或关闭部分文本处理关闭和打开文本的某些部分完全地——但它使用的方法(注释)导致文本前面部分的标签未定义。有没有关闭的策略仅打印,以便处理文本(并定义标签),但不添加到 PDF 中?
更新 1
这是遵循 ted 在评论中提出的想法的 MNWE(必须使用 运行-interaction=nonstopmode
)。看起来这个解决方案的问题在于保存框对命令不够稳健\section
。如果保存框可以变得更稳健,那么这种方法就可以奏效。
\documentclass{article}
\newsavebox{\mybox}
\usepackage{hyperref}
\begin{document}
\section{Bla} \label{one}
Text before the tests.
\section{More Bla} \label{two}
Text before the tests. See Section \ref{one}. (That's fine, everything normal...)
\savebox{\mybox}[0in][0in]{
You don't see this, do you? But you \emph{can} see Section \ref{one} and Section \ref{two}, of course.
\section{Still More Bla} \label{three}
But you shouldn't see this either...
}\usebox{\mybox}
So far, this isn't working... See Section \ref{three}.
\end{document}
答案1
平均能量损失(基于 Ethan Bolker 的评论):
如果要关闭的部分可以放在单独的文件中,\includeonly 可能会起作用。如果 \includeonly 可以与 \filecontents 很好地配合使用,生活可能会更加轻松。我没有时间尝试这些想法。– Ethan Bolker
\documentclass{article}
\usepackage{filecontents}
\usepackage{hyperref}
\begin{filecontents}{part1.tex}
Hi,
\end{filecontents}
\begin{filecontents}{part2.tex}
how are you?
\end{filecontents}
% comment out the following line when you first run, then re-add
\includeonly{part2}
\begin{document}
\include{part1}
\include{part2}
\end{document}
答案2
\documentclass{article}
\usepackage{versions}
\includeversion{v1}
\excludeversion{v2}
\begin{document}
\begin{v1}
hello
\end{v1}
\begin{v2}
goodbye
\end{v2}
\end{document}
答案3
您可以随时设置\color{white}
,但它们仍然会占用空间。
答案4
我认为以下不是您想要的答案。但是,要回答这个问题
是否有一种策略可以仅关闭打印,以便处理文本(并定义标签)
您可以使用将打印状态设置为关闭ocg-p包裹:
\documentclass{article}
\usepackage{ocg-p}
\usepackage{hyperref}
\begin{document}
\section{Bla} \label{one}
Text before the tests.
\section{More Bla} \label{two}
Text before the tests. See Section \ref{one}. (That's fine, everything normal...)
\begin{ocg}[%
listintoolbar=always,
printocg=never,
exportocg=ifvisible
]{noprint}{1}{1}%
You don't see this, do you? But you \emph{can} see Section \ref{one} and Section \ref{two}, of course.
\section{Still More Bla} \label{three}
But you shouldn't see this either...
\end{ocg}
So far, this isn't working... See Section \ref{three}.
\end{document}
这会将文本和标签添加到 pdf,但ocg
环境中的部分不会打印。