![制作作者名单](https://linux22.com/image/374408/%E5%88%B6%E4%BD%9C%E4%BD%9C%E8%80%85%E5%90%8D%E5%8D%95.png)
这基本上是可行的,但有几个小问题我不确定如何解决。可能有一种更简单的方法来生成我需要的非常简单的列表。MWE 遵循
\documentclass[a4paper,12pt]{article}
\usepackage[english, french]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@journal{LEVY2005,
author = {Lévy, A.},
title = {Modification des enchères après une intervention sur l’ouverture de 1 Sans-Atout},
shorttitle = {Modifications après une intervention sur 1SA},
language = {Français},
publisher = {Le Bridgeur},
volume={785},
number={6},
date = {2005}
}
@journal{RODW2012,
author = {Rodwell, E.},
title = {{Eric Rodwell: The Bridge World Interview}},
publisher = {The Bridge World},
page={26},
date = {2012}
}
\end{filecontents}
\usepackage[autostyle]{csquotes}%
\usepackage{makeidx}
\makeindex
\usepackage{index}
\usepackage[hyperindex=true]{hyperref}
\usepackage[emindex]{apacite}
\bibliographystyle{apacitex}
\makeindex
\begin{document}
Cette convention était popularisée par l'équipe Meckwell. \citeauthor{RODW2012}
On suit l'article de Lévy.\citeauthor{LEVY2005}
\newpage
\bibliography{mwe}
\printindex[autx]
\newpage
\printindex
\end{document}
输出为:
A)
Cette convention était popularisée par l'équipe Meckwell. Rodwell
On suit l'article de Lévy.Lévy
B)
Références
Lévy, A. (n.d.). Modification ...
Rodwell, E. (n.d.). Eric Rodwell: ...
C)
Index des auteurs
Lévy, A., 1, 2 Rodwell, E., 1, 2
A) 没问题。B) 我不需要日期,我已经使用 (nd) 部分实现了这一点,但我不想显示 (nd)。如果作者有多个日期,我希望将它们全部合并,并且不显示任何日期。
所以有两个问题 1) 有没有更简单的方法可以做到这一点 (我首先尝试了 authorindex 但没有成功)? 2) 如果没有,如何修补 B)?
答案1
更容易不是使用 apacite。
我最终尝试了几个提到的包 索引包列表 - 优点和缺点 并花费了数小时解决一系列与以下相关的问题:i)与回忆录包的交互 ii)与词汇表和首字母缩略词的交互 iii)需要有多个索引 iv)想要使用自定义的引用命令“mycite”。
最后,我选择了 imakeidx 包,并在每个 \mycite 条目后面简单地添加一个作者索引条目列表。所以我现在有了如下简单的条目
\mycite{RODW2012}\index[author]{Rodwell, Eric}
可以进一步打包成
\newcommand{\myciteAut}[1]{\mycite{#1}\index[author]{\citeauthorlastfirst{#1}}}
甚至
\newcommand{\myciteAut}[1]{\mycite{#1}\index[author]{\citeauthorlastfirst{#1}}\index[works]{\citetitle{#1}}}
使用
\DeclareCiteCommand{\citeauthorlastfirst}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\DeclareNameAlias{labelname}{last-first}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}