通过 \include 而不是 \input 使用 glossaries-extra + bib2gls 和辅助文件

通过 \include 而不是 \input 使用 glossaries-extra + bib2gls 和辅助文件

解释

我一直在写一个更大的文档,并使用制作idx来生成我的索引。然而,这似乎不够灵活,所以我换成了更复杂的额外词汇表。只要我将单独的段落包含在内,此包就可以正常工作\输入代替\包括。不幸的是,这种做法在排除段落时会破坏文档的结构;所以我想回到使用\包括

代码

以下代码按预期工作。一旦我切换到\包括,最终文档中(文本中应该有词汇表条目的地方)只出现问号,而词汇表本身保持为空。

代码 - 主要 - (几乎)最少

\documentclass[10pt,a4paper]{scrartcl}

%\includeonly{kap/kap_1}    %I'd like to use that 

% FONT, LANGUAGE
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Latin Modern Roman}
\usepackage[english]{babel}

%GLOSSARIES
\usepackage[record]{glossaries-extra}
\GlsXtrLoadResources[
    src={glos}, % use glos.bib file
    sort={use}
]
\glsdisablehyper


%DOCUMENT
\begin{document}

\input{par/par_1}    %<--- \include 

\newpage


%GLOSSARIES

    \printunsrtglossaries


\end{document}

代码 - par1

所包含文档的代码

\gls{entry}

代码 - glos.bib

词汇表 bib 文件的代码

% Encoding: UTF-8

@entry{entry,
    name={entryname},
    symbol={entrysymbol},
    description={description}
}

编译

我在用LuaLaTeX(1.07.0)(Tex Live 2018)在 Mac(10.13.6)上的 TeXShop(4.01)上编译代码。我决定采用方法 4,在词汇表快速指南,涉及应用bib2gls(x86_64-darwin)。因此,我创建了一个引擎,如迪基莫图书我替换了pdflatex路拉泰克斯. 只要我坚持,这就能按预期工作\输入在主文档中,这意味着词汇表已创建,并且 pdf 文档中没有任何伪像。一旦我替换\输入经过\包括,控制台中出现如下错误信息:

控制台输出

bib2gls version 1.5 (2018-05-09)
Reading main.aux
Reading glos.bib
Encoding: UTF-8
Writing /path/main.glstex
No entries written to /path/main.glstex.
Error: No records found in aux file.
Have you used the glossaries-extra.sty 'record' option?
Have you indexed your entries using commands like \gls?
Transcript written to main.glg.

如果我错过了一些关键信息或者搞砸了其他事情,请告诉我:)
祝好,TFT

答案1

此问题现在应该在版本 1.6(2018-07-07)中得到修复,我刚刚将其上传到 CTAN(因此请等待几天时间才能到达 TeX 发行版)。

相关内容