해결책 (?):

해결책 (?):

혼합인원 색인과 인용저자 색인을 갖고 싶습니다. 등장하는 작가오직인용문의 경우 색인에서 이탤릭체로 표시해야 합니다. 다른 사람(및 본문에도 나오는 저자)은 정상입니다.

\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}

색인

몇 가지 문제가 있습니다. 첫째 - 이름은 이탤릭체로 표시할 수 없습니다. {\itshape\namepartfamily\normalfont}성을 이탤릭체로 표시하지만 {\itshape\namepartgiven\normalfont}오류가 발생합니다. 둘 다 이탤릭체로 표시하는 유일한 방법은 다음과 같습니다.

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

그러나 이제는 인용될 뿐만 아니라 색인의 텍스트에서 수동으로 색인을 생성한 저자가 두 번 나타납니다(Jordan Peter). 인덱스2

어떻게 병합하고 이름과 성을 모두 이탤릭체로 만들 수 있나요?

해결책 (?):

마지막으로 명령을 재정의하여 작동하게 했습니다 \mkbibindexname.

\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

결과:

좋은 것

이 솔루션은 효과가 있습니다(Greenwild Dirk는 인용에만 나타나기 때문에 이탤릭체로 표시되고, Smith Joe는 본문에만 나타나기 때문에 이탤릭체로 표시되지 않으며, Jordan Peter는 텍스트와 인용에 모두 표시되기 때문에 이탤릭체로 표시되지 않습니다). 아마도 좀 더 우아한 해결책이 있을까요?

관련 정보