我正在尝试将 bib2gls 纳入我的项目中的词汇表管理中,但是在使用我的母语(捷克语)及其变音符号时遇到了麻烦(据我所知,那些是非 ASCII 的,但 Unicode 可以接受的字符)。
明确地显示这些,其为“ěščřžýáíéďťň”。
就我的故障排除能力而言,我能够在 .glstex 文件中追踪问题的根源,该文件无法接受包含非 ASCII 字符的 .bib 文件。
我偶然发现了包 newunicode,答案可能就在那里,但我不知道如何将它用于我的具体情况。
我希望找到一种理想情况下可以在 XeLaTeX 和 LuaLaTeX 中工作的解决方案,或者至少是其中一种。据我所知,我尝试了编码包的组合,但没有一种能够正确显示所有字符(字形)。
梅威瑟:
% !TEX encoding = UTF-8 Unicode
%% Pokyny pro arara:
% arara: xelatex
% arara: bib2gls if found("aux", "glsxtr@resource")
% arara: xelatex
% arara: bib2gls if found("aux", "glsxtr@resource")
% arara: xelatex
% arara: xelatex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass [a4paper, 12pt, twoside,openright] {book} %nastavení knihy
\usepackage [czech] {babel}
%\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{microtype}
\usepackage [a4paper, twoside, inner=2.5cm, outer=2.5cm, bottom=3cm] {geometry}
\usepackage{import}
\usepackage{filecontents}
\usepackage[record, nopostdot, automake, abbreviations,%
nostyles, stylemods={all}%
]{glossaries-extra}
\GlsXtrLoadResources[selection={all},%
src={testgls},%
save-locations=false,%
]
%Glossary entries
\begin{filecontents}{testgls.bib}
% !TEX encoding = UTF-8 Unicode
@entry{nonasciichartest,
name={ačšěřžýáíéťďň},
description={ačšěřžýáíéťďň}
}
@entry{asciitest,
name={ASCII test},
description={abcdefghijklmopqrstuvwxyz}
}
\end{filecontents}{testgls.bib}
\begin{document}
\nonfrenchspacing
%\pagenumbering{roman} %nutné pro kompilovatelnost referencí - hned od začátku nastavit číslování stránek
\thispagestyle{empty}
\printunsrtglossary[type={main}, style={altlistgroup}, title=Slovníček pojmů, toctitle=Slovníček pojmů]
\clearpage
Standard text:
ěščřžýáíéťďň
\end{document}
最后说明:我也尝试使用魔术注释,但这也没有带来有效的解决方案。它们的使用甚至可能是多余的 :)
非常感谢您针对此复杂情况提供的任何帮助和提示。Bib2gls 是一款很棒的工具,我希望学会使用它。
托马斯
答案1
正如菲舍尔女士所指示的,我正在回答我自己的问题(奇怪)。
解决此问题的方法是向 \GlsXtrLoadResources 添加选项“charset=UTF-8”,从而:
% !TEX encoding = UTF-8 Unicode
% arara: xelatex
% arara: bib2gls if found("aux", "glsxtr@resource")
% arara: xelatex
% arara: bib2gls if found("aux", "glsxtr@resource")
% arara: xelatex
% arara: xelatex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass [a4paper, 12pt, twoside,openright] {book}
\usepackage [czech] {babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{microtype}
\usepackage [a4paper, twoside, inner=2.5cm, outer=2.5cm, bottom=3cm] {geometry}
\usepackage{import}
\usepackage{filecontents}
\usepackage[record, nopostdot, automake, abbreviations,%
nostyles, stylemods={all}%
]{glossaries-extra}
\GlsXtrLoadResources[selection={all},%
src={testgls},%
save-locations=false,%
charset=UTF-8%
]
%Glossary entries
\begin{filecontents}{testgls.bib}
% !TEX encoding = UTF-8 Unicode
@entry{nonasciichartest,
name={ačšěřžýáíéťďň},
description={ačšěřžýáíéťďň}
}
@entry{asciitest,
name={ASCII test},
description={abcdefghijklmopqrstuvwxyz}
}
\end{filecontents}{testgls.bib}
\begin{document}
\nonfrenchspacing
\thispagestyle{empty}
\printunsrtglossary[type={main}, style={altlistgroup}, title=Slovníček pojmů, toctitle=Slovníček pojmů]
\clearpage
Standard text:
ěščřžýáíéťďň
\end{document}