以下示例文档按预期编译示例 1。
示例 1:
\documentclass{article}
\usepackage[record,acronym,toc,shortcuts=ac]{glossaries-extra}
\usepackage{relsize} % required for new abbreviation Style long-short-sm
\setabbreviationstyle[\acronymtype]{long-short-sm}
\GlsXtrLoadResources[
src={entries},
sort={en-GB}
]
\begin{document}
Test 1: \ac{se}. % or \cgls{se} % WORKS
Test 2: \acl{se}. % or \glsxtrlong{se} % WORKS ONLY IF \ac{se} (Test 1) UNCOMMENTED
\printunsrtglossary[type=\acronymtype,title={List of~acronyms},style=index]
\end{document}
然而,当\ac{se}
(或\cgls{se}
)命令被注释掉时,结果会抛出一个警告——可能是由于命令\acl{se}
( )被或 pdfLaTeX\glsxtrlong{se}
忽略造成的——bib2gls
示例 2。
示例 2:
\documentclass{article}
\usepackage[record,acronym,toc,shortcuts=ac]{glossaries-extra}
\usepackage{relsize} % required for new abbreviation Style long-short-sm
\setabbreviationstyle[\acronymtype]{long-short-sm}
\GlsXtrLoadResources[
src={entries},
sort={en-GB}
]
\begin{document}
Test 1: %\ac{se}. % or \cgls{se} % WORKS
Test 2: \acl{se}. % or \glsxtrlong{se} % WORKS ONLY IF \ac{se} (Test 1) UNCOMMENTED
\printunsrtglossary[type=\acronymtype,title={List of~acronyms},style=index]
\end{document}
软件包 glossaries-extra 警告:词汇表条目“se”尚未在输入行 15 上定义。
entries.bib
应用程序使用的文件内容bib2gls
如下。
条目.bib:
% Encoding: UTF-8
@acronym{se,
long = {some example},
short = {SE},
timestamp = {31.03.2018}
}
能示例 2可以进行修改或修复,以便仅使用\acl{se}
( \glsxtrlong{se}
) 命令即可工作 – 无需事先使用,例如\ac{se}
( \cgls{se}
)?
编辑#2:完全重新安装 MikTeX 解决了该问题。
编辑:尽管更新到 1.32 版本,但glossaries-extra
错误仍然存在。
不适用于bib2gls
:
\documentclass{article}
\usepackage[record,acronym]{glossaries-extra}
\usepackage{filecontents}
\begin{filecontents}{entries.bib}
@acronym{se,
long = {some example},
short = {SE}
}
\end{filecontents}
\GlsXtrLoadResources[src={entries}]
\begin{document}
%Test 1: \gls{se}.\\
Test 2: \glsxtrlong{se}.
\printunsrtglossary[type=\acronymtype]
\end{document}
软件包 glossaries-extra 警告:输入行 17 上未定义词汇表条目‘se’。
软件包 glossaries-extra 警告:输入行 18 上未在词汇表‘acronym’中定义任何条目。
取消注释%Test 1: …
行或添加\glsadd{se}
序言是一种解决方法,但仍然不能解决核心问题。
无需工作bib2gls
:
\documentclass{article}
\usepackage[record,acronym]{glossaries-extra}
\newacronym{se}{SE}{some example}
\begin{document}
%Test 1: \gls{se}.\\
Test 2: \glsxtrlong{se}.
\printunsrtglossary[type=\acronymtype]
\end{document}
答案1
的早期版本中存在一个错误,glossaries-extra
这意味着像 这样的命令\glsxtrlong
无法正确地将记录写入文件.aux
。该问题已在 1.30 版中修复,因此请确保您使用的是最新版本。