Tikzeexternalizar e `underset`

Tikzeexternalizar e `underset`

Usando \tikzexternalize, descobri que agrupar um tikzpicturein \undersetfaz 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 \undersetpor

\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?

informação relacionada