0

I have an author index and I'm trying to change the output of one particular name.

In my ME one author is "Archimandrite Vladimir", but I:

  • don't want him at the A letter but at the V
  • I don't want the output "Archimandrite Vladimir" but Vladimir, arch.

I tried (at least for the sorting issue) with this solution without any success. Could anybody help?

MWE:

% !BIB TS-program = biber
% !BIB program = biber
% !TEX encoding = UTF-8 Unicode
% !TeX TS-program = xelatexmk

\begin{filecontents}{archivio.bib}

@book{Vla:Sin,
    Address = {Moskwa},
    Author = {{Archimandrite Vladimir}},
    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=cite,
            dateabbrev=false,
            backend=biber,
        ]{biblatex}

\addbibresource{archivio.bib}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\usepackage{imakeidx}
\makeindex[name=nomi, intoc=true, title=Indice dei nomi]

\renewbibmacro*{citeindex}{%                Rimuovo i titoli che verrebbero indicizzati di default
  \ifciteindex
    {\indexnames{labelname}}
    {}}

\DeclareIndexNameFormat{default}{%      Formato del nome dell'autore
  \usebibmacro{index:name}
    {\index[nomi]}
    {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffix}}



\begin{document}


I am citing \cite[]{Vla:Sin}\\

But I want to add also John Smith\index[nomi]{Smith, J.} to my index of names.

\printindex[nomi]       % Indice dei nomi   
\end{document}
Teodoro
  • 587
  • 2
  • 9

1 Answers1

1

Unfortunately, unlike for title which has indextitle and indexsorttitle, there is no indexauthor or indexname. We can't use shortauthor either, so we will have to make up a name ourselves.

We can use namea for the purpose of defining a different name format for the index.

\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=cite,
            dateabbrev=false,
            backend=biber,
        ]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Vla:Sin,
    Address = {Moskwa},
    Author = {{Archimandrite Vladimir}},
    namea = {{Vladimir, \emph{arch.}}},
    Publisher = {Sinodal'naja tip.},
    Title = {Sistematičeskoe opisanie rukopisej moskovskoj Sinodal'noj (patriaršej) biblioteki},
    Year = {1894},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}


\usepackage{imakeidx}
\makeindex[name=nomi, intoc=true, title=Indice dei nomi]

\renewbibmacro*{citeindex}{%
  \ifciteindex
    {\ifnameundef{namea}{\indexnames{labelname}}{\indexnames{namea}}}
    {}}

\renewbibmacro*{bibindex}{%
  \ifbibindex
    {\ifnameundef{namea}{\indexnames{labelname}}{\indexnames{namea}}}
    {}}

\DeclareIndexNameFormat{default}{%
  \usebibmacro{index:name}
    {\index[nomi]}
    {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffix}}

\begin{document}
I am citing \cite[]{Vla:Sin}

\cite{sigfridsson}

I am citing \cite[]{Vla:Sin}

But I want to add also John Smith\index[nomi]{Smith, J.} to my index of names.

\printindex[nomi]
\end{document}

enter image description here

enter image description here

moewe
  • 175,683