
根據標題,我正在嘗試使用最新的 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 上對我來說編譯得很好,但在最新版本中卻出錯了。