
Usando \tikzexternalize
, descubrí que envolver a tikzpicture
in \underset
hace que tikzexteranlize compile la imagen tres veces; por ejemplo, observe la salida de
\documentclass{scrartcl}
\usepackage{tikz,mathtools}
\usetikzlibrary{external}
\tikzexternalize
\begin{document}
\[
\underset{a}{
\begin{tikzpicture}
\draw (0,0) -- (1,1);
\end{tikzpicture}
}
\]
\end{document}
Supongo que esta es también la razón por la que compilar un documento que contiene muchas de estas construcciones (sin tikzexternalize) lleva relativamente tiempo. He observado que reemplazar \underset
por
\newsavebox\undersetbox
\newcommand{\boxedunderset}[2]{
\savebox\undersetbox{#2}
\underset{#1}{\usebox \undersetbox}
}
resuelve el problema. ¿Cuál es el problema, qué comandos se ven afectados y existe una solución fácil para el problema en términos más generales?