![确定是否在 PGF 轴环境中](https://linux22.com/image/236861/%E7%A1%AE%E5%AE%9A%E6%98%AF%E5%90%A6%E5%9C%A8%20PGF%20%E8%BD%B4%E7%8E%AF%E5%A2%83%E4%B8%AD.png)
有没有一种简单的方法来测试宏是否在 PGF\begin{axis}...\end{axis}
环境中被调用?一种解决方案是自己定义一个新环境,在 处设置一个标志\begin{axis}
并将其清除为\end{axis}
,但我不想这样做。
答案1
pgfplots
提供一个命令\pgfplotsifinaxis
,测试键是否pgfplots@is@in@axis
定义并根据结果调用代码。
它定义pgfplots.code.tex
为
\long\def\pgfplotsifinaxis#1#2{%
\pgfutil@ifundefined{pgfplots@is@in@axis}{#2}{#1}%
}%
它用作
\pgfplotsifinaxis{code if in axis}{code if outside axis}