
Usando \tikzexternalize
, descobri que agrupar um tikzpicture
in \underset
faz com que o tikzexteranlize compile a imagem três vezes; por exemplo, observe a saída de
\documentclass{scrartcl}
\usepackage{tikz,mathtools}
\usetikzlibrary{external}
\tikzexternalize
\begin{document}
\[
\underset{a}{
\begin{tikzpicture}
\draw (0,0) -- (1,1);
\end{tikzpicture}
}
\]
\end{document}
Acho que é também por isso que compilar um documento que contém muitas dessas construções (sem tikzexternalize) leva relativamente tempo. Observei que substituindo \underset
por
\newsavebox\undersetbox
\newcommand{\boxedunderset}[2]{
\savebox\undersetbox{#2}
\underset{#1}{\usebox \undersetbox}
}
resolve o problema. Qual é o problema, quais comandos são afetados e há uma solução fácil para o problema de maneira mais geral?