我收到错误:
ERROR: READ: comma is illegal outside of backquote
执行时:polyglossia
与放置\"{\i}
在name
newglossaryentry
此外,它似乎与 - 有关,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}
但这应该通过一揽子计划解决。