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

        {\scindex[nomi]}   %NEW Enrico

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


    Address = {Cambridge},
    Author = {Mark Dull},
    Publisher = {Amazon KDP},
    Title = {Hello world},
    Year = {1999}}

    Address = {Moskwa},
    Author = {Philip Döllinger},
    Publisher = {Sinodal'naja tip.},
    Title = {Sistematičeskoe opisanie rukopisej moskovskoj Sinodal'noj (patriaršej) biblioteki},
    Year = {1894}}


\documentclass[11pt, openany]{book}
\setotherlanguages{latin, english, french}




\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


\DeclareIndexNameFormat{default}{%      Formato del nome dell'autore
{\scindex[nomi]}%era    {\index[nomi]}. Così stampa le pagine in smallcaps


I should like to sort properly \cite{Dull} and \cite{Dol2}.

\printindex[nomi]       % Indice dei nomi   
  • 1
    Haven't tested, but don't run xindy on name.idx, run it on nomi.idx. Internally your index is called nomi and that is what the auxiliary files end up as. – moewe Jun 5 '18 at 20:18
  • 2
    Also don't run Biber on the .aux. Biber isn't BibTeX. – cfr Jun 6 '18 at 2:29
  • Edited, I was running nomi.idx, not name.idx as I wrote. It was a typo. About Biber, I get the same result either running biber on the .aux via texworks or running it via texshop on the main .tex with the "magic code" % !BIB TS-program = biber % !BIB program = biber. In both cases the problem is still there, though. Any ideas? – Teodoro Jun 6 '18 at 16:22
  • Two things: Because of the way the index is produced it only makes sense to run texindy after a second XeLaTeX run. So I would use the order xelatex, biber, xelatex, xelatex, texindy, xelatex, xelatex just to be sure of page references (in most cases you can probably get away with only one xelatex instead of two runs). Secondly, egreg's answer was not specifically for xindy. And apparently xindy needs to be told about textsc, see tex.stackexchange.com/a/58801/35864 – moewe Jun 7 '18 at 6:03
  • I checked an latex-loc-fmts.xdy only knows textbf, textit and hyperpage. So you have to tell it about the textsc in your own .xdy file. Also related tex.stackexchange.com/q/270049/35864 – moewe Jun 7 '18 at 6:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.