boiboites.sty 中的方程式参考

boiboites.sty 中的方程式参考

我正在使用非常好的包波波伊特在我的工作中,结合 tikz 和 pgf 图形的外部编译。我在使用 boiboites 环境中定义的引用时遇到了一些问题,如下例所示:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{boiboites}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{external} 
\tikzexternalize 

\newboxedtheorem[boxcolor=blue, background=cyan, titlebackground=cyan,titleboxcolor = black]{impbox}{}{} 

\begin{document}

\begin{impbox}[Some equation]
    \begin{equation} \label{eq:1}
        a = b
    \end{equation}
\end{impbox}

I want to talk about equation \ref{eq:1} here.

\end{document}

产生以下结果:

具有外部图形汇编的 boiboites

我的文档非常大,使用了很多“boiboites”。我看到了一种可能性(无法再次找到链接),即通过为每个“boiboites”应用额外的编译步骤来解决这个问题,但这在这里不可行。有人知道其他方法吗?

提前致谢 !

答案1

每个boîte(盒子)都是使用 tikz 构建的,因此它是外部化的(因此标签丢失了)。一种解决方案可能是添加\tikzexternaldisable\tikzexternalenable。但是如果您想将盒子的内容外部化,该解决方案将不起作用。

新命令(您也可以定义一个新的环境):

\newboxedtheorem[boxcolor=blue, background=cyan, titlebackground=cyan,titleboxcolor = black]{impbox}{}{} 
\newcommand{\thperso}[2]{%
\tikzexternaldisable
\begin{impbox}[#1]
#2
\end{impbox}
\tikzexternalenable%
}

新的框语法:

\thperso{Some equation}{%
    \begin{equation} 
        a = b\label{eq:1}
    \end{equation}%
}

相关内容