
Согласно заголовку, я пытаюсь скомпилировать следующее с помощью последней версии 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, но в последних версиях возникают ошибки.