Lösung (?):

Lösung (?):

Ich möchte einen gemischten Personenindex und einen Index für zitierte Werke haben. Autoren, die erscheinennurin Zitaten müssen im Index kursiv gedruckt werden. Andere Personen (und Autoren, die auch im Haupttext erscheinen) sind normal.

\documentclass{article}

\usepackage[backend=biber,natbib=true,indexing=cite]{biblatex} %for digital version 
\bibliography{\jobname}

\usepackage[truexindy,splitindex]{imakeidx}
\makeindex[name=persons,program=truexindy,options=-M texindy]

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{book1,
    author  = "Greenwild, Dirk",
    title   = "Yellow pages",
    year    = "1998",
}
@book{book2,
    author    = "Jordan, Peter",
    title     = "Math in the world",
    year      = "1996",
}
\end{filecontents}

\DeclareIndexNameFormat{default}{%
  \nameparts{#1}
  \usebibmacro{index:name}
    {\index[persons]}
    {\itshape\namepartfamily\normalfont} 
    {\namepartgiven}
    {\namepartprefix} 
    {\namepartsuffix}%
    }

\begin{document}

Foo\index[persons]{Smith, Joe}. Foo\cite{book1}. Jordan\index[persons]{Jordan, Peter} foo\cite{book2}.

\printindex[persons]

\end{document}

Index

Es gibt einige Probleme. Erstens - ich kann den Vornamen nicht kursiv schreiben. {\itshape\namepartfamily\normalfont}kursiv schreibt den Nachnamen, {\itshape\namepartgiven\normalfont}führt aber zu Fehlern. Die einzige Möglichkeit, beide kursiv zu schreiben, ist

{\itshape\namepartfamily} 
{\namepartgiven}
{\normalfont\namepartprefix} 

Doch nun taucht der Autor, der nicht nur zitiert, sondern auch manuell anhand des Texts im Index indexiert wird, zweimal auf (Jordan Peter). Index2

Wie kann ich sie zusammenführen und sowohl den Vor- als auch den Nachnamen kursiv machen?

Lösung (?):

Endlich habe ich es geschafft, indem ich \mkbibindexnameden Befehl neu definiert habe:

\makeatletter
\renewcommand*{\mkbibindexname}[4]{%
  \ifuseprefix
    {\ifdefvoid{#3}{}{#3 }%
     \@firstofone #1% remove spurious braces
     \ifdefvoid{#4}{}{ #4}%
     \ifdefvoid{#2}{}{, #2}%
     \actualoperator
     \ifdefvoid{#3}{}{\MakeCapital{#3} }%
     #1%
     \ifdefvoid{#4}{}{ #4}%
     \ifdefvoid{#2}{}{, #2}}
    {\@firstofone \textit{#1}% here added \textit
     \ifdefvoid{#4}{}{ #4}%
     \ifboolexpe{%
       test {\ifdefvoid{#2}}
       and
       test {\ifdefvoid{#3}}}
       {}
       {\ }%removes comma between first and last name
     \ifdefvoid{#2}{}{ \textit{#2}}% here added \textit
     \ifdefvoid{#3}{}{ #3}}}
\makeatother

Ergebnis:

Guter

Diese Lösung funktioniert (Greenwild Dirk ist kursiv gedruckt, weil er nur im Zitat vorkommt, Smith Joe ist nicht kursiv gedruckt, weil er nur im Haupttext vorkommt, Jordan Peter ist nicht kursiv gedruckt, weil er sowohl im Text als auch im Zitat vorkommt). Vielleicht gibt es eine elegantere Lösung?

verwandte Informationen