Tikz-Externalisierung und Glossare geben kryptische Fehler aus

Tikz-Externalisierung und Glossare geben kryptische Fehler aus

Gemäß dem Titel versuche ich, Folgendes mit dem neuesten TexLive zu kompilieren:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\tikzexternalenable

\usepackage{glossaries-extra}
\makenoidxglossaries{}

\begin{document}
\begin{figure}[htbp]\tikzsetnextfilename{test-figure}
    \begin{tikzpicture}
        \node at (0, 0) {hi, mom};
    \end{tikzpicture}
\end{figure}
\printnoidxglossary{}
\end{document}

Die Kompilierung schlägt fehl. Bei der Überprüfung test-figure.logstellen wir fest:

! Too many }'s.
<argument> ...keys {glossaries-extra.sty}{docdef}}
                                                  {\PackageError {glossaries...
l.9 \makenoidxglossaries
                        {} 

Ich habe keine Ahnung, wie ich überhaupt anfangen soll, einen solchen Fehler zu untersuchen. Der Code, den ich gepostet habe, ist ein minimales Beispiel zur Reproduktion, das aus meinem tatsächlichen Anwendungsfall destilliert wurde. Ich würde mich über jede Art von Hilfe freuen und bin bereit, alles bereitzustellen, was Ihnen helfen könnte, mir zu helfen. Vielen Dank an alle im Voraus.

Das Ersetzen glossaries-extradurch glossariesführt dazu, dass die MWE-Kompilierung reibungslos verläuft.

Antwort1

Das Vertauschen der Reihenfolge von \tikzexternalizeund \makenoidxglossaries{}scheint zu funktionieren

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{external}

\usepackage{glossaries-extra}
\makenoidxglossaries{}

\tikzexternalize
\tikzexternalenable

\begin{document}
\begin{figure}[htbp]\tikzsetnextfilename{test-figure}
    \begin{tikzpicture}
        \node at (0, 0) {hi, mom};
    \end{tikzpicture}
\end{figure}
\printnoidxglossary{}
\end{document}

Seltsamerweise scheint dies dem Vorschlag im TikZ-Handbuch zu widersprechen, dass Probleme mit \tikzexternalizeund \usepackage{glossary}gelöst werden können, indem\tikzexternalize Vor \usepackage{glossary}.

Was auch immer das Problem verursacht, es scheint auf die jüngsten Änderungen zurückzuführen zu sein. Ihr Beispiel wird bei mir unter TL 2020 problemlos kompiliert, bei den neuesten Versionen tritt jedoch ein Fehler auf.

verwandte Informationen