制作作者名单

制作作者名单

这基本上是可行的,但有几个小问题我不确定如何解决。可能有一种更简单的方法来生成我需要的非常简单的列表。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}}

相关内容