Tikzexternalize и `underset`

Tikzexternalize и `underset`

Используя \tikzexternalize, я обнаружил, что упаковка a tikzpictureв \undersetзаставляет tikzexteranlize компилировать изображение три раза; например, посмотрите на вывод

\documentclass{scrartcl}
\usepackage{tikz,mathtools}
\usetikzlibrary{external}
\tikzexternalize
\begin{document}
        \[
            \underset{a}{
                \begin{tikzpicture}
                    \draw (0,0) -- (1,1);
                \end{tikzpicture}
            }
        \]
\end{document}

Я думаю, что это также является причиной того, почему компиляция документа, который содержит много таких конструкций (без tikzexternalize), занимает относительно много времени. Я заметил, что замена \undersetна

\newsavebox\undersetbox
\newcommand{\boxedunderset}[2]{
    \savebox\undersetbox{#2}
    \underset{#1}{\usebox \undersetbox}
}

решает проблему. В чем проблема, какие команды затронуты и есть ли простое решение проблемы в целом?

Связанный контент