这是对答案的后续这里。我发现两种情况下提出的解决方案都失败了,我正在寻找解决方法。考虑 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
并在绘图中使用它来解决此问题。
有没有更好的方法来解决这些问题?