隐藏文档的一部分但处理副作用

隐藏文档的一部分但处理副作用

这是对答案的后续这里。我发现两种情况下提出的解决方案都失败了,我正在寻找解决方法。考虑 MWE:

\documentclass{article}
\usepackage{etoolbox}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\long\def\ignoreThis#1{%
  \begingroup
  \setbox0\vbox{{\everypar{}
      \begin{minipage}{\linewidth}
        #1\end{minipage}}}%
\endgroup}%

\newcounter{mycounter}
\begin{document}
Note that \ignoreThis{this text is not shown but \addtocounter{mycounter}{5}}
side effects are processed: \themycounter
\end{document}

除了我发现的两种情况外,这种方法效果很好(我确信还有更多情况,因为这些情况似乎与输出到辅助文件有关)。

\ignoreThis{\begin{equation}
    \label{eq} A=B \end{equation}
  Reference inside \ref{eq}.}

这会导致警告Reference 'eq' on page 1 undefined。我可以\ref在本地重新定义\ignoreThis,但我怀疑这不是一个好的解决方案。另一个更严重的问题是由以下原因引起的pgfplots

\ignoreThis{\begin{tikzpicture}\begin{axis}
      \addplot[only marks,mark=*]%
      table[x=x, y=y] {x  y
        2 4
        4 4
        3 3};
    \end{axis}\end{tikzpicture}}

我收到错误Package pgfplots Error: Could not read table file。我可以通过在外部定义表\ignoreThis并在绘图中使用它来解决此问题。

有没有更好的方法来解决这些问题?

相关内容