From beaaa685fbb168a83aa48252c3be8dcee461a64e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 30 Apr 2012 23:33:06 +0000 Subject: nameauth 1.26 (25apr12) git-svn-id: svn://tug.org/texlive/trunk@26166 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/nameauth/README | 2 +- Master/texmf-dist/doc/latex/nameauth/nameauth.pdf | Bin 634197 -> 635738 bytes .../texmf-dist/source/latex/nameauth/nameauth.dtx | 99 ++++++++++++++++----- Master/texmf-dist/tex/latex/nameauth/nameauth.sty | 80 +++++++++++++---- 4 files changed, 142 insertions(+), 39 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/nameauth/README b/Master/texmf-dist/doc/latex/nameauth/README index ab099e286b9..2ccdbb59aec 100644 --- a/Master/texmf-dist/doc/latex/nameauth/README +++ b/Master/texmf-dist/doc/latex/nameauth/README @@ -1,7 +1,7 @@ The nameauth package Charles P. Schaum charles dot schaum at att dot net -v1.24 from 2012/04/21 +v1.26 from 2012/04/24 Abstract diff --git a/Master/texmf-dist/doc/latex/nameauth/nameauth.pdf b/Master/texmf-dist/doc/latex/nameauth/nameauth.pdf index 847263c1b86..4797757d820 100644 Binary files a/Master/texmf-dist/doc/latex/nameauth/nameauth.pdf and b/Master/texmf-dist/doc/latex/nameauth/nameauth.pdf differ diff --git a/Master/texmf-dist/source/latex/nameauth/nameauth.dtx b/Master/texmf-dist/source/latex/nameauth/nameauth.dtx index 15389b0f4e8..3a4063e441a 100644 --- a/Master/texmf-dist/source/latex/nameauth/nameauth.dtx +++ b/Master/texmf-dist/source/latex/nameauth/nameauth.dtx @@ -26,7 +26,7 @@ %\NeedsTeXFormat{LaTeX2e}[2005/12/01] %\ProvidesPackage{nameauth} %<*package> - [2012/04/21 v1.24 name authority macros to aid consistent display and indexing of names] + [2012/04/24 v1.26 name authority macros to aid consistent display and indexing of names] % % %<*driver> @@ -58,7 +58,7 @@ \usepackage{makeidx} \usepackage{multicol} \usepackage[toc]{multitoc} -\usepackage{nameauth}[2012/03/25] +\usepackage{nameauth}[2012/04/24] \usepackage{hypdoc} \makeindex \frenchspacing @@ -73,7 +73,7 @@ % % \fi % -% \CheckSum{983} +% \CheckSum{1180} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -106,7 +106,8 @@ % \changes{v1.1}{2012/03/08}{Fixed errors when emitting warnings} % \changes{v1.2}{2012/03/25}{Added tagging features; extensively edited documentation} % \changes{v1.22}{2012/04/20}{Attempted first-use particle caps} -% \changes{v1.24}{2012/04/21}{Reverted functionality and suggested workaround} +% \changes{v1.24}{2012/04/21}{Reverted functionality and suggested \cmd{\CapThis} workaround} +% \changes{v1.26}{2012/04/24}{Fixed sorting of name suffixes in index} % % \DoNotIndex{\@empty, \@gobble, \@period, \@token, \if@nameauth@DoComma, \if@nameauth@DoFormat, \if@nameauth@Punct, \if@nameauth@DoIndex, \if@nameauth@Comma, \if@nameauth@DoCaps, \protected@edef, \zap@space, \bfseries, \bgroup, \csgdef, \csundef, \DeclareDocumentCommand, \DeclareOption, \def, \detokenize, \edef, \egroup, \else, \endcsname, \endinput, \ExecuteOptions, \expandafter, \fi, \Forenames, \futurelet \if, \IfBooleanTF, \ifcsname,\IfValueTF, \ifx, \index, \itshape, \let, \newcommand, \newenvironment, \newif, \PackageWarning, \ProcessOptions, \relax, \renewcommand, \RequirePackage, \scshape, \space, \Shortnames, \Surnames, \Surnamesi, \Surnamesii, \Test, \TestDot, \TestEnd, \TestPunct, \TestStop, \uppercase} % @@ -251,7 +252,7 @@ % \subsubsection{Intermediate Naming} % \label{sec:Intermediate} % \begin{multicols}{2}\small -% Always use a comma to delimit suffixes, followed by a space or thin space. \cmd{\AKA} and \cmd{\PName} will cross-reference these forms. See also Section \ref{sec:suffix}. Macros that are too wide for the column are split across lines using the comment token, but need not be so in the text. +% \noindent Always use a comma to delimit suffixes, followed by a space or thin space. \cmd{\AKA} and \cmd{\PName} will cross-reference these forms. See also Section \ref{sec:suffix}. Macros that are too wide for the column are split across lines using the comment token, but need not be so in the text. % \begin{enumerate}\setlength\itemsep{0pt} % \item First: \ForgetName[George S.]{Patton, Jr.}\Name[George S.]{Patton, Jr.}\\[0.5ex] % {\footnotesize |\Name*[George S.]{Patton, Jr.}| or\\ |\Name[George S.]{Patton, Jr.}| or\\ |\FName[George S.]{Patton, Jr.}|} @@ -479,7 +480,10 @@ % Ś Ş ş Š š Ţ ţ Ť ť & Ů ů Ű ű & Ź ź Ż ż Ž ž & second use \\ % \end{tabular} % \end{quote} -% \clearpage +% Please remember that if you use accented names, you may prefer using \textsf{xindy} (or \textsf{texindy}) on the \texttt{.idx} file. It simplifies the whole process and I recommend it. +% +%With \textsf{makeindex} there are a number of solutions, but some depend on the availability of the |-g| option and user-created settings in an |.ist| file whose description goes beyond the scope of this document. You also could use \cmd{\IndexActive} and \cmd{\IndexInactive} to suppress indexing, then create manual entries. For non-English documents, however, that solution is not optimal. +% % One may add control sequences to names, thanks to the help of \Name*[Robert]{Schlicht}. The next example adds more accented characters under \textsf{inputenc}/\textsf{fontenc}: % \begin{quote}\small % |\usepackage{newunicodechar}|\\ @@ -489,7 +493,6 @@ % |\newunicodechar{ā}{\=a}|\\ % |\newunicodechar{ṃ}{\d m}| % \end{quote} -% % For some situations, such as ``traditional'' NFSS, you will need fonts with TS1 glyphs, e.g., |\usepackage{lmodern}|. See the informative tables on pages 455--63 in \emph{The Latex Companion}. This allows |\Name{Ghazāli}| to generate \IndexInactive\Name{Ghazāli}\IndexActive. % % In some cases, indexing accented names will fail unless you use \textsf{xetex} or \textsf{luatex}, both of which use \textsf{fontspec} instead of NFSS. Control sequences like |\=a| fail even in manual index entries when using \textsf{makeindex} and \texttt{gind.ist} because the equal sign is interpreted as a ``literal'' character, as mentioned by \Name[Dan]{Luecking}. I used |\IndexInactive\Name{Ghazāli}\IndexActive| to prevent the index entry ``ali'' sorted under ``Ghaz'' because even the manual entry fails in that case. @@ -1078,10 +1081,12 @@ % \changes{v0.95}{2012/02/17}{Fixed incompatibility with \textsf{microtype}} % \changes{v0.96}{2012/02/19}{Fixed occasional incompatibility with \textsf{memoir}.} % \changes{v1.0}{2012/02/20}{Fixed compatibility issues.} +% \changes{v1.26}{2012/04/24}{Fixed sorting of name suffixes in index} % \begin{macrocode} \DeclareDocumentCommand\Name{s o m o}% {% \protected@edef\Surnames{#3}% + \protected@edef\Suffix{\@empty}% \if@nameauth@DoCaps% \protected@edef\Shortnames{\@nameauth@CapRoot{#3,}}% \else% @@ -1091,6 +1096,7 @@ \@nameauth@CheckComma{#3}% \if@nameauth@Comma% \protected@edef\Surnames{\@nameauth@Root{#3}\@nameauth@Suffix{#3}}% + \protected@edef\Suffix{\@nameauth@Suffix{#3}}% \fi% \fi% \IfValueTF{#2}% @@ -1107,28 +1113,34 @@ \IfBooleanTF{#1}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]}% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{\Shortnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]}% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi}% \else% \csgdef{\@nameauth@CleanName{#2#3!MN!}}{}% \expandafter\@nameauth@FmtName\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi% \fi% \else% \ifcsname\@nameauth@CleanName{#2#3!NF!}\endcsname% \IfBooleanTF{#1}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]}% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{\Shortnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]}% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi}% \else% \csgdef{\@nameauth@CleanName{#2#3!NF!}}{}% \expandafter\@nameauth@FmtName\expandafter*\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi% \fi% \fi% \fi}% @@ -1244,14 +1256,18 @@ % \changes{v0.94}{2012/02/15}{Error checking expanded} % \changes{v0.96}{2012/02/19}{Fixed occasional incompatibility with \textsf{memoir}.} % \changes{v1.0}{2012/02/20}{Fixed compatibility issues.} +% \changes{v1.26}{2012/04/24}{Fixed sorting of name suffixes in index} % \begin{macrocode} \DeclareDocumentCommand\FName{o m o}% {% \protected@edef\Surnames{#2}% + \protected@edef\Shortnames{\@nameauth@Root{#2,}}% + \protected@edef\Suffix{\@empty}% \if@nameauth@DoComma\else% \@nameauth@CheckComma{#2}% \if@nameauth@Comma% \protected@edef\Surnames{\@nameauth@Root{#2}\@nameauth@Suffix{#2}}% + \protected@edef\Suffix{\@nameauth@Suffix{#2}}% \fi% \fi% \IfValueTF{#1}% @@ -1266,23 +1282,27 @@ \ifcsname\@nameauth@CleanName{#1#2!MN!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Forenames}% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Shortnames, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \else% \csgdef{\@nameauth@CleanName{#1#2!MN!}}{}% \expandafter\@nameauth@FmtName\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Shortnames, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \fi% \else% \ifcsname\@nameauth@CleanName{#1#2!NF!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Forenames}% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Shortnames, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \else% \csgdef{\@nameauth@CleanName{#1#2!NF!}}{}% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Shortnames, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \fi% \fi% \fi}% @@ -1356,19 +1376,26 @@ % \changes{v0.94}{2012/02/15}{Added error checking} % \changes{v1.0}{2012/02/20}{Fixed compatibility issues.} % \changes{v1.1}{2012/03/08}{Fixed warning reporting.} +% \changes{v1.26}{2012/04/24}{Fixed sorting of name suffixes in index} % \begin{macrocode} \DeclareDocumentCommand\AKA{s o m o m o}% {% \protected@edef\Surnamesi{#3}% \protected@edef\Surnamesii{#5}% + \protected@edef\Shortnamesi{\@nameauth@Root{#3,}}% + \protected@edef\Shortnamesii{\@nameauth@Root{#5,}}% + \protected@edef\Suffixi{\@empty}% + \protected@edef\Suffixii{\@empty}% \if@nameauth@DoComma\else% \@nameauth@CheckComma{#3}% \if@nameauth@Comma% \protected@edef\Surnamesi{\@nameauth@Root{#3}\@nameauth@Suffix{#3}}% + \protected@edef\Suffixi{\@nameauth@Suffix{#3}}% \fi% \@nameauth@CheckComma{#5}% \if@nameauth@Comma% \protected@edef\Surnamesii{\@nameauth@Root{#5}\@nameauth@Suffix{#5}}% + \protected@edef\Suffixii{\@nameauth@Suffix{#5}}% \fi% \fi% \IfValueTF{#4}% @@ -1390,8 +1417,25 @@ \else% \csgdef{\@nameauth@CleanName{#4#5!PN!}}{}% \IfValueTF{#2}% - {\@nameauth@Index{\Surnamesii, #4|see{\Surnamesi, #2}}}% - {\@nameauth@Index{\Surnamesii, #4|see{\Surnamesi}}}% + {% + \ifx\Suffixi\@empty% + \ifx\Suffixii\@empty% + \@nameauth@Index{\Surnamesii, #4|see{\Surnamesi, #2}}% + \else% + \@nameauth@Index{\Shortnamesii, #4, \Suffixii|see{\Surnamesi, #2}}% + \fi% + \else% + \ifx\Suffixii\@empty% + \@nameauth@Index{\Surnamesii, #4|see{\Shortnamesi, #2, \Suffixi}}% + \else% + \@nameauth@Index{\Shortnamesii, #4, \Suffixii|see{\Shortnamesi, #2, \Suffixi}}% + \fi% + \fi% + }% + {% + \ifx\Suffixii\@empty \@nameauth@Index{\Surnamesii, #4|see{\Surnamesi}}% + \else\@nameauth@Index{\Shortnamesii, #4, \Suffixii|see{\Surnamesi}}\fi% + }% \fi% \fi% \fi}% @@ -1414,7 +1458,10 @@ \else% \csgdef{\@nameauth@CleanName{#5#6!PN!}}{}% \IfValueTF{#2}% - {\@nameauth@Index{\Surnamesii\space#6|see{\Surnamesi, #2}}}% + {% + \ifx\Suffixi\@empty \@nameauth@Index{\Surnamesii\space#6|see{\Surnamesi, #2}}% + \else\@nameauth@Index{\Surnamesii\space#6|see{\Shortnamesi, #2, \Suffixi}}\fi% + }% {\@nameauth@Index{\Surnamesii\space#6|see{\Surnamesi}}}% \fi% \fi% @@ -1434,7 +1481,10 @@ \else% \csgdef{\@nameauth@CleanName{#5!PN!}}{}% \IfValueTF{#2}% - {\@nameauth@Index{\Surnamesii|see{\Surnamesi, #2}}}% + {% + \ifx\Suffixi\@empty \@nameauth@Index{\Surnamesii|see{\Surnamesi, #2}}% + \else\@nameauth@Index{\Surnamesii|see{\Shortnamesi, #2, \Suffixi}}\fi% + }% {\@nameauth@Index{\Surnamesii|see{\Surnamesi}}}% \fi% \fi% @@ -1512,14 +1562,18 @@ % \changes{v0.9}{2012/02/10}{redesigned macro} % \changes{v1.0}{2012/02/20}{Fixed compatibility issues.} % \changes{v1.2}{2012/02/25}{Added warnings.} +% \changes{v1.26}{2012/04/24}{Fixed sorting of name suffixes in index} % \begin{macrocode} \DeclareDocumentCommand\IndexName{o m o}% {% \protected@edef\Surnames{#2}% + \protected@edef\Short{\@nameauth@Root{#2,}}% + \protected@edef\Suffix{\@empty}% \if@nameauth@DoComma\else% \@nameauth@CheckComma{#2}% \if@nameauth@Comma% \protected@edef\Surnames{\@nameauth@Root{#2}\@nameauth@Suffix{#2}}% + \protected@edef\Suffix{\@nameauth@Suffix{#2}}% \fi% \fi% \IfValueTF{#1}% @@ -1527,7 +1581,8 @@ \PackageWarning{nameauth}% {macro IndexName XRef: #1 #2 exists.}% \else% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Short, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \fi}% {\IfValueTF{#3} {\ifcsname\@nameauth@CleanName{#2#3!PN!}\endcsname% diff --git a/Master/texmf-dist/tex/latex/nameauth/nameauth.sty b/Master/texmf-dist/tex/latex/nameauth/nameauth.sty index ce7022ec3f0..8a85de3f081 100644 --- a/Master/texmf-dist/tex/latex/nameauth/nameauth.sty +++ b/Master/texmf-dist/tex/latex/nameauth/nameauth.sty @@ -22,7 +22,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{nameauth} - [2012/04/21 v1.24 name authority macros to aid consistent display and indexing of names] + [2012/04/24 v1.26 name authority macros to aid consistent display and indexing of names] \newif\if@nameauth@DoFormat \newif\if@nameauth@DoIndex @@ -110,6 +110,7 @@ \DeclareDocumentCommand\Name{s o m o}% {% \protected@edef\Surnames{#3}% + \protected@edef\Suffix{\@empty}% \if@nameauth@DoCaps% \protected@edef\Shortnames{\@nameauth@CapRoot{#3,}}% \else% @@ -119,6 +120,7 @@ \@nameauth@CheckComma{#3}% \if@nameauth@Comma% \protected@edef\Surnames{\@nameauth@Root{#3}\@nameauth@Suffix{#3}}% + \protected@edef\Suffix{\@nameauth@Suffix{#3}}% \fi% \fi% \IfValueTF{#2}% @@ -135,28 +137,34 @@ \IfBooleanTF{#1}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]}% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{\Shortnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]}% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi}% \else% \csgdef{\@nameauth@CleanName{#2#3!MN!}}{}% \expandafter\@nameauth@FmtName\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi% \fi% \else% \ifcsname\@nameauth@CleanName{#2#3!NF!}\endcsname% \IfBooleanTF{#1}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]}% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{\Shortnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]}% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi}% \else% \csgdef{\@nameauth@CleanName{#2#3!NF!}}{}% \expandafter\@nameauth@FmtName\expandafter*\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #2}[\@nameauth@CleanName{#2#3}]% + \else \@nameauth@Index{\Shortnames, #2, \Suffix}[\@nameauth@CleanName{#2#3}]\fi% \fi% \fi% \fi}% @@ -238,10 +246,13 @@ \DeclareDocumentCommand\FName{o m o}% {% \protected@edef\Surnames{#2}% + \protected@edef\Shortnames{\@nameauth@Root{#2,}}% + \protected@edef\Suffix{\@empty}% \if@nameauth@DoComma\else% \@nameauth@CheckComma{#2}% \if@nameauth@Comma% \protected@edef\Surnames{\@nameauth@Root{#2}\@nameauth@Suffix{#2}}% + \protected@edef\Suffix{\@nameauth@Suffix{#2}}% \fi% \fi% \IfValueTF{#1}% @@ -256,23 +267,27 @@ \ifcsname\@nameauth@CleanName{#1#2!MN!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Forenames}% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Shortnames, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \else% \csgdef{\@nameauth@CleanName{#1#2!MN!}}{}% \expandafter\@nameauth@FmtName\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Shortnames, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \fi% \else% \ifcsname\@nameauth@CleanName{#1#2!NF!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Forenames}% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Shortnames, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \else% \csgdef{\@nameauth@CleanName{#1#2!NF!}}{}% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Forenames\expandafter\space\Surnames}% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Shortnames, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \fi% \fi% \fi}% @@ -339,14 +354,20 @@ {% \protected@edef\Surnamesi{#3}% \protected@edef\Surnamesii{#5}% + \protected@edef\Shortnamesi{\@nameauth@Root{#3,}}% + \protected@edef\Shortnamesii{\@nameauth@Root{#5,}}% + \protected@edef\Suffixi{\@empty}% + \protected@edef\Suffixii{\@empty}% \if@nameauth@DoComma\else% \@nameauth@CheckComma{#3}% \if@nameauth@Comma% \protected@edef\Surnamesi{\@nameauth@Root{#3}\@nameauth@Suffix{#3}}% + \protected@edef\Suffixi{\@nameauth@Suffix{#3}}% \fi% \@nameauth@CheckComma{#5}% \if@nameauth@Comma% \protected@edef\Surnamesii{\@nameauth@Root{#5}\@nameauth@Suffix{#5}}% + \protected@edef\Suffixii{\@nameauth@Suffix{#5}}% \fi% \fi% \IfValueTF{#4}% @@ -368,8 +389,25 @@ \else% \csgdef{\@nameauth@CleanName{#4#5!PN!}}{}% \IfValueTF{#2}% - {\@nameauth@Index{\Surnamesii, #4|see{\Surnamesi, #2}}}% - {\@nameauth@Index{\Surnamesii, #4|see{\Surnamesi}}}% + {% + \ifx\Suffixi\@empty% + \ifx\Suffixii\@empty% + \@nameauth@Index{\Surnamesii, #4|see{\Surnamesi, #2}}% + \else% + \@nameauth@Index{\Shortnamesii, #4, \Suffixii|see{\Surnamesi, #2}}% + \fi% + \else% + \ifx\Suffixii\@empty% + \@nameauth@Index{\Surnamesii, #4|see{\Shortnamesi, #2, \Suffixi}}% + \else% + \@nameauth@Index{\Shortnamesii, #4, \Suffixii|see{\Shortnamesi, #2, \Suffixi}}% + \fi% + \fi% + }% + {% + \ifx\Suffixii\@empty \@nameauth@Index{\Surnamesii, #4|see{\Surnamesi}}% + \else\@nameauth@Index{\Shortnamesii, #4, \Suffixii|see{\Surnamesi}}\fi% + }% \fi% \fi% \fi}% @@ -392,7 +430,10 @@ \else% \csgdef{\@nameauth@CleanName{#5#6!PN!}}{}% \IfValueTF{#2}% - {\@nameauth@Index{\Surnamesii\space#6|see{\Surnamesi, #2}}}% + {% + \ifx\Suffixi\@empty \@nameauth@Index{\Surnamesii\space#6|see{\Surnamesi, #2}}% + \else\@nameauth@Index{\Surnamesii\space#6|see{\Shortnamesi, #2, \Suffixi}}\fi% + }% {\@nameauth@Index{\Surnamesii\space#6|see{\Surnamesi}}}% \fi% \fi% @@ -412,7 +453,10 @@ \else% \csgdef{\@nameauth@CleanName{#5!PN!}}{}% \IfValueTF{#2}% - {\@nameauth@Index{\Surnamesii|see{\Surnamesi, #2}}}% + {% + \ifx\Suffixi\@empty \@nameauth@Index{\Surnamesii|see{\Surnamesi, #2}}% + \else\@nameauth@Index{\Surnamesii|see{\Shortnamesi, #2, \Suffixi}}\fi% + }% {\@nameauth@Index{\Surnamesii|see{\Surnamesi}}}% \fi% \fi% @@ -461,10 +505,13 @@ \DeclareDocumentCommand\IndexName{o m o}% {% \protected@edef\Surnames{#2}% + \protected@edef\Short{\@nameauth@Root{#2,}}% + \protected@edef\Suffix{\@empty}% \if@nameauth@DoComma\else% \@nameauth@CheckComma{#2}% \if@nameauth@Comma% \protected@edef\Surnames{\@nameauth@Root{#2}\@nameauth@Suffix{#2}}% + \protected@edef\Suffix{\@nameauth@Suffix{#2}}% \fi% \fi% \IfValueTF{#1}% @@ -472,7 +519,8 @@ \PackageWarning{nameauth}% {macro IndexName XRef: #1 #2 exists.}% \else% - \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \ifx\Suffix\@empty \@nameauth@Index{\Surnames, #1}[\@nameauth@CleanName{#1#2}]% + \else \@nameauth@Index{\Short, #1, \Suffix}[\@nameauth@CleanName{#1#2}]\fi% \fi}% {\IfValueTF{#3} {\ifcsname\@nameauth@CleanName{#2#3!PN!}\endcsname% -- cgit v1.2.3