In this thread, we addressed the issue of proper sorting in an automated author name index. It worked fine until I merged the code with these two redefinitions made by Enrico in this thread in order to have the roman pagenumber in the index printed in smallcaps:
\newcommand{\scindex}[2][]{\index[#1]{#2|textsc}} % NEW Enrico
\DeclareIndexNameFormat{default}{%
\usebibmacro{index:name}
{\scindex[nomi]} %NEW Enrico
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
ATM I'm running:
- XeLateX
- Biber on the aux
- Xindy on nomi.idx
- XeLaTeX again
And I got no index.
If I remove the Enrico's redefinition for the smallcaps issue, it works again.
Is there a way to make these two things stay together?
This is my MWE:
% !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[name=nomi] % texindy -L german-din5007 -C utf8 nomi.idx
\newcommand{\scindex}[2][]{\index[#1]{#2|textsc}} %%%% Serve solo se voglio i numeri di pagina in smallcaps
\renewbibmacro*{citeindex}{%
\ifciteindex
{\ifnameundef{namea}{\indexnames{labelname}}{\indexnames{namea}}}
{}}
\DeclareIndexNameFormat{default}{% Formato del nome dell'autore
\usebibmacro{index:name}
{\scindex[nomi]}%era {\index[nomi]}. Così stampa le pagine in smallcaps
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
\begin{document}
I should like to sort properly \cite{Dull} and \cite{Dol2}.
\printindex[nomi] % Indice dei nomi
\end{document}
xindyonname.idx, run it onnomi.idx. Internally your index is callednomiand that is what the auxiliary files end up as. – moewe Jun 05 '18 at 20:18.aux. Biber isn't BibTeX. – cfr Jun 06 '18 at 02:29texindyafter a second XeLaTeX run. So I would use the orderxelatex,biber,xelatex,xelatex,texindy,xelatex,xelatexjust to be sure of page references (in most cases you can probably get away with only onexelatexinstead of two runs). Secondly, egreg's answer was not specifically forxindy. And apparentlyxindyneeds to be told abouttextsc, see https://tex.stackexchange.com/a/58801/35864 – moewe Jun 07 '18 at 06:03latex-loc-fmts.xdyonly knowstextbf,textitandhyperpage. So you have to tell it about thetextscin your own.xdyfile. Also related https://tex.stackexchange.com/q/270049/35864 – moewe Jun 07 '18 at 06:18