From d73af8ff177173d2bbbe49a5f21c5d13c38a15c2 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Tue, 26 Feb 2019 21:03:48 +0100 Subject: defined \@sortedauthor --- icite.dtx | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/icite.dtx b/icite.dtx index e6c9b14..db2d34b 100644 --- a/icite.dtx +++ b/icite.dtx @@ -241,10 +241,13 @@ Running "make install" installs the files in the local TeX tree. % Define fields to be used by \package{icite}: % \begin{macrocode} \define@reuse@key{author} +\define@reuse@key{indexauthor} +\define@reuse@key{sortname} \define@reuse@key{title} \define@reuse@key{shorttitle} \define@reuse@key{indextitle} \define@reuse@key{indexsorttitle} +\define@reuse@key{entrysubtype} % \end{macrocode} % This is the same as \cs{usebibentry} from \package{ebib}, but it % does not return an error if the entry field is not found: @@ -265,10 +268,23 @@ Running "make install" installs the files in the local TeX tree. % \begin{macrocode} \NewDocumentCommand{\icite@index}{m}{\index{#1}} \NewDocumentCommand{\icite}{o o m O{\ic@dfltcit}}{% + \edef\@author{\get@bibentry{#3}{author}}% + \edef\@indexauthor{\get@bibentry{#3}{indexauthor}}% + \edef\@sortname{\get@bibentry{#3}{sortname}}% \edef\@indexsorttitle{\get@bibentry{#3}{indexsorttitle}}% \edef\@indextitle{\get@bibentry{#3}{indextitle}}% \edef\@shorttitle{\get@bibentry{#3}{shorttitle}}% \edef\@title{\get@bibentry{#3}{title}}% + \ifx\@indexauthor\empty + \def\@useauthor{\@author}% + \else + \def\@useauthor{\@indexauthor}% + \fi + \ifx\@sortname\empty + \def\@sortedauthor{\@useauthor}% + \else + \def\@sortedauthor{{\@sortname}@\@useauthor}% + \fi \ifx\@indextitle\empty \ifx\@shorttitle\empty \def\@usetitle{\@title}% @@ -284,12 +300,12 @@ Running "make install" installs the files in the local TeX tree. \def\@sortedtitle{{\@indexsorttitle}@\@usetitle}% \fi \IfNoValueTF{#1}% - {\index{\get@bibentry{#3}{author}!\@sortedtitle}% + {\index{\@sortedauthor!\@sortedtitle}% \csname #4\endcsname{#3}} {\IfNoValueTF{#2}% - {\index{\get@bibentry{#3}{author}!\@sortedtitle!#1}% + {\index{\@sortedauthor!\@sortedtitle!#1}% \csname #4\endcsname[{#1}]{#3}} - {\index{\get@bibentry{#3}{author}!\@sortedtitle!#2}% + {\index{\@sortedauthor!\@sortedtitle!#2}% \csname #4\endcsname[#1][{#2}]{#3}}% }% } -- cgit v1.2.3