我正在使用imakeidx
和polyglossia
包,主要语言:法语。
我有一个包含一些\see
命令的漂亮小索引。但是文档中打印的单词“voir”(法语中的“see”)不是斜体。
我在序言中尝试了下面的命令:
\newcommand*\see[2]{\emph{\seename} #1}
或者
\renewcommand*{\seename}{\emph{voir}}
但什么都没有改变。
我通过将主语言更改为英语进行了测试,并且它与斜体“see”配合良好。
有人能帮助我吗?谢谢
PS:这是一个最简单的例子……
\documentclass[12pt]{scrreprt}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
\setmonofont{DejaVu Sans Mono}[Scale=MatchLowercase]
\usepackage{xunicode}
\usepackage{polyglossia}
\setmainlanguage{french}
\usepackage{imakeidx} \makeindex
\begin{document}
Bla bla bla\index{word-A}.
\index{word-AA|see{word-A}}
\printindex
\end{document}
答案1
这是 中的一个错误gloss-french.ldf
,它
\def\seename{\emph{voir}}%
\def\alsoname{\emph{voir aussi}}%
在 的代码中\captionsfrench
。\emph
应该删除 ,因为它已经在 的标准定义中了\see
。
实际情况是,根据 的标准定义,文件\see{word-A}{1}
中.ind
\see
\emph{\seename} word-A
进而变成
\emph{\emph{voir}} word-A
双重强调选择直立类型。您可以选择以下修复之一:
\appto\captionsfrench{\def\seename{voir}\def\alsoname{voir aussi}}
\renewcommand{\see}[2]{\seename\ #1}
前一种方法修复了 的错误设置polyglossia
;后者只是避免了双重强调。