词汇表、多语、xindy、天真和ï

词汇表、多语、xindy、天真和ï

我收到错误: ERROR: READ: comma is illegal outside of backquote

执行时:polyglossia与放置\"{\i}namenewglossaryentry

此外,它似乎与 - 有关,xindy 因为当我更换时它工作得很好

 \usepackage[xindy,style=altlistgroup]{glossaries}

 \usepackage[style=altlistgroup]{glossaries}

下面是错误示例,其中错误生成行标记为% !!! ERROR [...]注释:

% !TEX TS-program = arara
% !TEX encoding = UTF-8 Unicode
% arara: xelatex
% arara: makeglossaries
% arara: xelatex
\documentclass[a4paper,12pt,onecolumn,oneside,openright]{article}
\usepackage{geometry}
\usepackage{sidenotes}      
\usepackage{ifpdf,ifluatex,ifxetex}
\usepackage{layouts}
\usepackage[no-math]{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Linux Libertine O} 
\newfontfamily\greekfont[Script=Greek, Scale=MatchUppercase]{Linux Libertine O}
\newfontfamily\cyrillicfont{Linux Libertine O}
\usepackage{xltxtra}
\usepackage{pstricks}
\usepackage[protrusion=true,final]{microtype}
\usepackage{mathtools}
\usepackage{amscd,amsfonts,amssymb,amsthm}
\usepackage{mathtext,mathrsfs}
\usepackage{unicode-math}
% ------------------------------------------------------------------------------
%  polyglossia, etc.
% ------------------------------------------------------------------------------
\usepackage{polyglossia}   
\setdefaultlanguage[variant=british]{english}
\setotherlanguages{latin,greek,russian,polish,german}                 % !!! ERROR - when used with: newglossaryentry [...] name = {na\"{\i}ve} 
%
\usepackage[colorlinks,plainpages]{hyperref}
\usepackage[xindy,style=altlistgroup]{glossaries}
%
\makeglossaries
% ------------------------------------------------------------------------------
%  Problematic glossary entry, etc.
% ------------------------------------------------------------------------------
\newglossaryentry{naiive}{
    name        = {na\"{\i}ve},       % !!! ERROR - when used with: polyglossia 
%   name        = {naiiiiiive},
    description = {is a French loanword (adjective, form of naïf) indicating having or showing a lack of experience, understanding or sophistication},
    sort        = {naive}
}
\newglossaryentry{gauss}{name={Gauss, Karl Friedrich},
first={Karl Friedrich Gauss},text={Gauss},
description={German mathematician}}
\begin{document}
\title{Modified Sample Document Using the Glossaries Package With Xindy}
\author{author}
\maketitle
\section{\glsentryfirst{gauss}}
\gls{naiive} --- \gls{gauss}
\printglossaries
\end{document}

使用polyglossiaï(unicode)可以作为临时修复,但我强烈地感觉到它应该以正确的方式工作,即使用:polyglossia和一起\"{\i}

答案1

如果您查看该.glo包,则会发现在加载“其他语言”时,它会以不同的方式写出。

没有“其他语言”

\\glsnamefont{na\\\"{\\i }ve}

使用“其他语言”

\\glsnamefont{na\\"{\\i }ve}

因此"在第一种情况下不会转义,因为某些加载的语言使用 Babel 风格的简写。因此glossaries在写出文件时会以不同的方式运行.glo

使用naïve,没有理由坚持使用具有 Unicode 能力的引擎的“旧风格”。


顺便说一句,Xindy 无法在启用 UTF-8 的情况下运行,这可能是一个问题。解决方法是

\usepackage[xindy,style=altlistgroup]{glossaries}
\GlsSetXdyCodePage{utf8}

但这应该通过一揽子计划解决。

相关内容