
タイトルの通り、最新の 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 では正常にコンパイルされますが、最新バージョンではエラーが発生します。