biblatex를 사용한 색인화 - 이름만

biblatex를 사용한 색인화 - 이름만

나는 makeidx 패키지, biblatex의 indexing=cite 옵션, \makeindex 및 \printindex 명령을 사용하여 biblatex에서 색인을 생성하는 것이 쉽다는 것을 알았습니다. 그러나 제목이 언급되지 않고 이름만 색인으로 만드는 것이 쉽지 않다고 생각했습니다. Biblatex 예제 문서(20)에서 약간 수정된 다음 MWE를 살펴보십시오.

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{csquotes}

\usepackage[indexing,style=authortitle,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}

\usepackage{makeidx}
\renewbibmacro*{citeindex}{\indexnames{labelname}{}}
\makeindex

\begin{document}

\section*{Indexing with the \texttt{makeidx} package}

\nocite{*}

\cite{piccato,gaonkar,malinowski,coleridge,gerhardt,cicero}

\index{Example entry}

\clearpage


\printbibliography

\printindex

\end{document}

삽입해 보았습니다

\renewbibmacro*{citeindex}{%
    \ifboolexpr{ test {\ifciteindex} and not test {\iffootnote} }
    {\indexnames{author}}{}}

제안대로여기, 하지만 그건 작동하지 않는 것 같습니다. 그렇다면 이름 색인만 얻을 수 있는 방법에 대한 아이디어가 있습니까?

답변1

indexing=cite옵션 을 추가해야 합니다 biblatex.

\usepackage[indexing=cite,style=authortitle,backend=biber]{biblatex}

\citetitle색인에 제목을 추가하지 않으려면 \citetitle매크로를 수정하여 색인 내용을 변경해야 합니다. 제목을 인용하면 여전히 해당 페이지의 색인에 저자가 표시되기를 원한다고 가정하여 \citetitle저자 이름을 색인에 추가하도록 수정했습니다. 그러나 원하지 않는 경우에는 에서 인덱싱 코드를 모두 제거하면 됩니다 \citetitle.

완전한 예는 다음과 같습니다.

\documentclass[a4paper]{article}

\usepackage[american]{babel}
\usepackage{csquotes}

\usepackage[indexing=cite,style=authortitle,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareCiteCommand{\citetitle}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printfield[citetitle]{labeltitle}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand*{\citetitle}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printfield[citetitle]{title}}
  {\multicitedelim}
  {\usebibmacro{postnote}}


\usepackage{makeidx}
\renewbibmacro*{citeindex}{\indexnames{labelname}{}}
\makeindex

\begin{document}

\section*{Indexing with the \texttt{makeidx} package}

\nocite{*}

\cite{piccato,gaonkar,malinowski,cicero}
\citetitle{coleridge,gerhardt}

\index{Example entry}

\clearpage


\printbibliography

\printindex

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보