以下 MWE 非常有效:
% test.tex
\documentclass{article}
\usepackage[subpreambles]{standalone}
\usepackage{filecontents}
\usepackage{glossaries}
%
\begin{filecontents}{stdalone}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\newglossaryentry{cafe}
{
name={cafe},
% name={café},
description={beverage that makes you sleep if you don't drink it}
}
\begin{document}
Foo.
\end{document}
\end{filecontents}
%
\begin{document}
\input{stdalone}
\end{document}
但是,一旦name={cafe}
被包含重音符号的字符串替换,例如name={café}
,独立输入文件的内容将被忽略,并出现以下警告:
Package standalone Warning: Sub-preamble of file 'stdalone.tex' has changed.
Content will be ignored. Please rerun LaTeX! on input line 14.
文件的子前导码stdalone.tex
存储在文件中test.sta
,并且据我所知,它在编译之间不会改变(从第二个开始)。
你知道发生了什么吗?