tikz の外部化と用語集で不可解なエラーが発生する

tikz の外部化と用語集で不可解なエラーが発生する

タイトルの通り、最新の TexLive で以下をコンパイルしようとしています。

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

コンパイルは失敗します。調査すると次test-figure.logのことがわかります:

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

このようなエラーの調査をどうやって開始したらよいのか、私にはまったくわかりません。私が投稿したコードは、実際の使用例から抽出した最小限の再現例です。どんな種類の助けでもありがたいですし、私を助けるのに役立つものなら何でも喜んで提供します。よろしくお願いします。

glossaries-extraを に置き換えるとglossaries、MWE は正常にコンパイルされます。

答え1

\tikzexternalizeとの順序を入れ替えると\makenoidxglossaries{}うまくいくようです

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

不思議なことに、これはTikZマニュアルの提案に反しているように思われます\tikzexternalize\usepackage{glossary}\tikzexternalize 前に \usepackage{glossary}

問題の原因が何であれ、最近の変更が原因のようです。あなたの例は TL 2020 では正常にコンパイルされますが、最新バージョンではエラーが発生します。

関連情報