defined \@sortedauthor

This commit is contained in:
Robert Alessi 2019-02-26 21:03:48 +01:00
parent 7427c70d2f
commit d73af8ff17
1 changed files with 19 additions and 3 deletions

View File

@ -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}}%
}%
}