关闭或打开部分文本的打印?

关闭或打开部分文本的打印?

这个问题:打开或关闭部分文本处理关闭和打开文本的某些部分完全地——但它使用的方法(注释)导致文本前面部分的标签未定义。有没有关闭的策略仅打印,以便处理文本(并定义标签),但不添加到 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环境中的部分不会打印。

相关内容