我正在使用 Imakeidx 自动生成 bibentries 的作者索引,但我对某些特殊字符(如变音符号)的排序有问题。按照建议,我尝试使用 xindy 作为排序引擎,但我得到的唯一结果是我还必须处理 .idx 文件(如果没有 xindy 我就不需要这样做),但排序仍然错误。
在我的例子中,我首先需要 Döllinger,然后需要 Dull。
我快要疯了,真的。
梅威瑟:
% !BIB TS-program = biber
% !BIB program = biber
% !TEX encoding = UTF-8 Unicode
% !TeX TS-program = xelatexmk
\begin{filecontents}{archivio.bib}
@book{Dull,
Address = {Cambridge},
Author = {Mark Dull},
Publisher = {Amazon KDP},
Title = {Hello world},
Year = {1999}}
@book{Dol2,
Address = {Moskwa},
Author = {Philip Döllinger},
Publisher = {Sinodal'naja tip.},
Title = {Sistematičeskoe opisanie rukopisej moskovskoj Sinodal'noj (patriaršej) biblioteki},
Year = {1894}}
\end{filecontents}
\documentclass[11pt, openany]{book}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin, english, french}
\usepackage[]{csquotes}
\usepackage{xpatch}
\usepackage[style=verbose-trad2,
language=auto,
ibidpage=true,
autolang=other,
useprefix=true,
giveninits=true,
indexing=true,
dateabbrev=false,
backend=biber,
]{biblatex}
\addbibresource{archivio.bib}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[xindy]{imakeidx}
\makeindex[program=xindy, name=nomi, intoc=true, title=Indice dei nomi]
\renewbibmacro*{citeindex}{%
\ifciteindex
{\ifnameundef{namea}{\indexnames{labelname}}{\indexnames{namea}}}
{}}
\DeclareIndexNameFormat{default}{% Formato del nome dell'autore
\usebibmacro{index:name}
{\index[nomi]}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
\begin{document}
I should like to sort properly \cite{Dull} and \cite{Dol2}.
\printindex[nomi] % Indice dei nomi
\end{document}