我使用biblatex
来管理我的书目indexing=true
。我通过以下代码构建作者索引:
\DeclareIndexNameFormat{default}{%
\nameparts{#1}%
\usebibmacro{index:name}%
{\index[perso]}%
{\namepartfamily}%
{\namepartgiven}%
% {}% L1
% {}% L2
{\namepartprefix}% generates spurious space L3
{\namepartsuffix}% generates spurious space L4
}
在文本中,我使用\footcite
和\footfullcite
来引用一些文档。不幸的是,由于我使用了命令,\foocite
我获得了正确的索引,但当我使用时,\footfullcite
索引构建得并不好(\footfullcite
索引中没有出现对应的出现)。
梅威瑟:
\documentclass[english]{article}
\listfiles
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ARTICLE{article,
author = {Nachname, Vorname},
title = {Titel des Zeitschriftenartikels},
journal = {Zeitschrift},
year = {2006},
volume = {6},
pages = {19--75}
}
@BOOK{book,
author = {Buchautor, Hans-Wilhelm},
title = {Irgendein Buch},
address = {Buch am Wald},
year = {2000}
}
\end{filecontents}
\usepackage{babel,csquotes}
\usepackage[
texindy
]{indextools}
\makeindex
\makeindex[columnseprule,intoc=true,title=Index,name=perso]
\usepackage[
style=authortitle,
indexing=true
]{biblatex}
\bibliography{\jobname}
\DeclareIndexNameFormat{default}{%
\nameparts{#1}%
\usebibmacro{index:name}%
{\index[perso]}%
{\namepartfamily}%
{\namepartgiveni}%
% {}% L1
% {}% L2
{\namepartprefix}% generates spurious space L3
{\namepartsuffix}% generates spurious space L4
}
\begin{document}
\footcite{book}\newpage
\footfullcite{book}\newpage
\cite{article}\newpage
\footcite{article}\newpage
\footfullcite{article}
\printbibliography
\printindex[perso]
\end{document}
答案1
的默认定义\footfullcite
不包含对索引宏的调用,因此它的引用不会进入索引。
和
\DeclareCiteCommand{\footfullcite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
我们添加了调用\usebibmacro{citeindex}
,以便这些引用现在也应该出现在索引中。