%% %% This is file `nameauth.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% nameauth.dtx (with options: `package') %% %% This is a generated file. %% %% Copyright (C) 2011 by Charles P. Schaum %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.2 of this license %% or (at your option) any later version. The latest version of this %% license is in: %% %% http://www.latex-project.org/lppl.txt %% %% and version 1.2 or later is part of all distributions of LaTeX version %% 1999/12/01 or later. %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{nameauth} [2012/04/24 v1.26 name authority macros to aid consistent display and indexing of names] \newif\if@nameauth@DoFormat \newif\if@nameauth@DoIndex \newif\if@nameauth@DoComma \newif\if@nameauth@Comma \newif\if@nameauth@Punct \newif\if@nameauth@DoCaps \DeclareOption{mainmatter}{\@nameauth@DoFormattrue} \DeclareOption{frontmatter}{\@nameauth@DoFormatfalse} \DeclareOption{smallcaps}{\newcommand{\NamesFormat}{\scshape}} \DeclareOption{italic}{\renewcommand{\NamesFormat}{\itshape}} \DeclareOption{boldface}{\renewcommand{\NamesFormat}{\bfseries}} \DeclareOption{noformat}{\renewcommand{\NamesFormat}{}} \DeclareOption{comma}{\@nameauth@DoCommatrue} \DeclareOption{nocomma}{\@nameauth@DoCommafalse} \DeclareOption{index}{\@nameauth@DoIndextrue} \DeclareOption{noindex}{\@nameauth@DoIndexfalse} \ExecuteOptions{smallcaps,mainmatter,nocomma,index} \ProcessOptions\relax \RequirePackage{etoolbox} \RequirePackage{xparse} \newcommand*{\@nameauth@CleanName}[1]% {% \expandafter\zap@space\detokenize{#1} \@empty% } \newcommand*{\@nameauth@Root}[1]% {% \@nameauth@TrimRoot#1\relax% } \def\@nameauth@TrimRoot#1,#2\relax{#1} \newcommand*{\@nameauth@Suffix}[1]% {% \@nameauth@TrimSuffix#1\relax% } \def\@nameauth@TrimSuffix#1,#2\relax{#2} \newcommand*{\@nameauth@CheckComma}[1]% {% \@nameauth@CheckSuffix#1,\relax% } \def\@nameauth@CheckSuffix#1,#2\relax% {% \def\Test{#2}% \ifx\Test\@empty\@nameauth@Commafalse\else\@nameauth@Commatrue\fi% } \def\@nameauth@CheckDot{\futurelet\@token\@nameauth@EvalDot} \def\@nameauth@EvalDot% {% \let\@period=.\ifx\@token\@period\expandafter\@gobble \fi% } \newcommand*{\@nameauth@TestDot}[1]% {% \def\TestDot##1.\TestEnd##2\TestStop{\TestPunct{##2}}% \def\TestPunct##1% {\ifx\TestPunct##1\TestPunct\else\@nameauth@Puncttrue\fi}% \@nameauth@Punctfalse% \TestDot#1\TestEnd.\TestEnd\TestStop% } \DeclareDocumentCommand\@nameauth@FmtName{s m}% {% \@nameauth@DoCapsfalse% \@nameauth@TestDot{#2}% \IfBooleanTF{#1}% {#2}% {\bgroup\NamesFormat{#2}\egroup}% } \DeclareDocumentCommand\@nameauth@Index{m o}% {% \IfValueTF{#2} {\ifcsname#2\endcsname% \if@nameauth@DoIndex\index{#1\csname#2\endcsname}\fi% \else% \if@nameauth@DoIndex\index{#1}\fi% \fi}% {\if@nameauth@DoIndex\index{#1}\fi}% } \newcommand*{\@nameauth@CapRoot}[1]% {% \@nameauth@CR#1\relax% } \def\@nameauth@CR#1#2\relax{\uppercase{#1}\@nameauth@Root{#2}} \newcommand{\CapThis}% {% \@nameauth@DoCapstrue% } \DeclareDocumentCommand\Name{s o m o}% {% \protected@edef\Surnames{#3}% \protected@edef\Suffix{\@empty}% \if@nameauth@DoCaps% \protected@edef\Shortnames{\@nameauth@CapRoot{#3,}}% \else% \protected@edef\Shortnames{\@nameauth@Root{#3,}}% \fi% \if@nameauth@DoComma\else% \@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}% {\IfValueTF{#4}% {\def\Forenames{#4}}{\def\Forenames{#2}}% \ifcsname\@nameauth@CleanName{#2#3!PN!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% \PackageWarning{nameauth}% {macro Name Cross-reference: #2 #3 cannot be a page reference.}% \else% \if@nameauth@DoFormat% \ifcsname\@nameauth@CleanName{#2#3!MN!}\endcsname% \IfBooleanTF{#1}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{% \expandafter\Forenames\expandafter\space\Surnames}% \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}% \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}% \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}% \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}% \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}% \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}% {\IfValueTF{#4} {\ifcsname\@nameauth@CleanName{#3#4!PN!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames\space#4}% \PackageWarning{nameauth}% {macro Name Cross-reference: #3 #4 cannot be a page reference.}% \else% \if@nameauth@DoFormat% \ifcsname\@nameauth@CleanName{#3#4!MN!}\endcsname% \IfBooleanTF{#1}% {\expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames\space#4}% \@nameauth@Index{\Surnames\space#4}[\@nameauth@CleanName{#3#4}]}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{\Shortnames}% \@nameauth@Index{\Surnames\space#4}[\@nameauth@CleanName{#3#4}]}% \else% \csgdef{\@nameauth@CleanName{#3#4!MN!}}{}% \expandafter\@nameauth@FmtName\expandafter{% \Surnames\space#4}% \@nameauth@Index{\Surnames\space#4}[\@nameauth@CleanName{#3#4}]% \fi% \else% \ifcsname\@nameauth@CleanName{#3#4!NF!}\endcsname% \IfBooleanTF{#1}% {\expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames\space#4}% \@nameauth@Index{\Surnames\space#4}[\@nameauth@CleanName{#3#4}]}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{\Shortnames}% \@nameauth@Index{\Surnames\space#4}[\@nameauth@CleanName{#3#4}]}% \else% \csgdef{\@nameauth@CleanName{#3#4!NF!}}{}% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames\space#4}% \@nameauth@Index{\Surnames\space#4}[\@nameauth@CleanName{#3#4}]% \fi% \fi% \fi}% {\ifcsname\@nameauth@CleanName{#3!PN!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames}% \PackageWarning{nameauth}% {macro Name Cross-reference: #3 cannot be a page reference.}% \else% \if@nameauth@DoFormat% \ifcsname\@nameauth@CleanName{#3!MN!}\endcsname% \IfBooleanTF{#1}% {\expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#3}]}% {\@nameauth@FmtName*{\Shortnames}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#3}]}% \else% \csgdef{\@nameauth@CleanName{#3!MN!}}{}% \expandafter\@nameauth@FmtName\expandafter{\Surnames}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#3}]% \fi% \else% \ifcsname\@nameauth@CleanName{#3!NF!}\endcsname% \IfBooleanTF{#1}% {\expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#3}]}% {\@nameauth@FmtName*{\Shortnames}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#3}]}% \else% \csgdef{\@nameauth@CleanName{#3!NF!}}{}% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#3}]% \fi% \fi% \fi}% }% \if@nameauth@Punct\expandafter\@nameauth@CheckDot\fi% } \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}% {\IfValueTF{#3}{\edef\Forenames{#3}}{\edef\Forenames{#1}}% \ifcsname\@nameauth@CleanName{#1#2!PN!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Forenames}% \PackageWarning{nameauth}% {macro FName Cross-reference: #1 #2 cannot be a page reference.}% \else% \if@nameauth@DoFormat% \ifcsname\@nameauth@CleanName{#1#2!MN!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Forenames}% \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}% \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}% \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}% \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}% {\IfValueTF{#3} {\ifcsname\@nameauth@CleanName{#2#3!PN!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames\space#3}% \PackageWarning{nameauth}% {macro FName Cross-reference: #2 #3 cannot be a page reference.}% \else% \if@nameauth@DoFormat% \ifcsname\@nameauth@CleanName{#2#3!MN!}\endcsname% \@nameauth@FmtName*{\@nameauth@Root{#2,}}% \@nameauth@Index{\Surnames\space#3}[\@nameauth@CleanName{#2#3}]% \else% \csgdef{\@nameauth@CleanName{#2#3!MN!}}{}% \expandafter\@nameauth@FmtName% \expandafter{\Surnames\space#3}% \@nameauth@Index{\Surnames\space#3}[\@nameauth@CleanName{#2#3}]% \fi% \else% \ifcsname\@nameauth@CleanName{#2#3!NF!}\endcsname% \@nameauth@FmtName*{\@nameauth@Root{#2,}}% \@nameauth@Index{\Surnames\space#3}[\@nameauth@CleanName{#2#3}]% \else% \csgdef{\@nameauth@CleanName{#2#3!NF!}}{}% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames\space#3}% \@nameauth@Index{\Surnames\space#3}[\@nameauth@CleanName{#2#3}]% \fi% \fi% \fi}% {\ifcsname\@nameauth@CleanName{#2!PN!}\endcsname% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames}% \PackageWarning{nameauth}% {macro FName Cross-reference: #2 cannot be a page reference.}% \else% \if@nameauth@DoFormat% \ifcsname\@nameauth@CleanName{#2!MN!}\endcsname% \@nameauth@FmtName*{\@nameauth@Root{#2,}}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#2}]% \else% \csgdef{\@nameauth@CleanName{#2!MN!}}{}% \expandafter\@nameauth@FmtName\expandafter{\Surnames}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#2}]% \fi% \else% \ifcsname\@nameauth@CleanName{#2!NF!}\endcsname% \@nameauth@FmtName*{\@nameauth@Root{#2,}}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#2}]% \else% \csgdef{\@nameauth@CleanName{#2!NF!}}{}% \expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnames}% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#2}]% \fi% \fi% \fi}% }% \if@nameauth@Punct\expandafter\@nameauth@CheckDot\fi% } \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}% {\IfValueTF{#6}% {\edef\Forenames{#6}}{\edef\Forenames{#4}}% \expandafter\@nameauth@FmtName\expandafter*\expandafter{% \expandafter\Forenames\expandafter\space\Surnamesii}% \ifcsname\@nameauth@CleanName{#4#5!PN!}\endcsname% \PackageWarning{nameauth}% {macro AKA XRef: #4 #5 exists.}% \else% \ifcsname\@nameauth@CleanName{#4#5!MN!}\endcsname% \PackageWarning{nameauth}% {macro AKA Name reference: #4 #5 already exists; no see ref.}% \else% \ifcsname\@nameauth@CleanName{#4#5!NF!}\endcsname% \PackageWarning{nameauth}% {macro AKA Name reference: #4 #5 already exists; no see ref.}% \else% \csgdef{\@nameauth@CleanName{#4#5!PN!}}{}% \IfValueTF{#2}% {% \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}% {\IfValueTF{#6}% {\IfBooleanTF{#1}% {\@nameauth@FmtName*{#6}}% {\expandafter\@nameauth@FmtName\expandafter*% \expandafter{\Surnamesii\space#6}}% \ifcsname\@nameauth@CleanName{#5#6!PN!}\endcsname% \PackageWarning{nameauth}% {macro AKA XRef: #5 #6 exists.}% \else% \ifcsname\@nameauth@CleanName{#5#6!MN!}\endcsname% \PackageWarning{nameauth}% {macro AKA Name reference: #5 #6 already exists; no see ref.}% \else% \ifcsname\@nameauth@CleanName{#5#6!NF!}\endcsname% \PackageWarning{nameauth}% {macro AKA Name reference: #5 #6 already exists; no see ref.}% \else% \csgdef{\@nameauth@CleanName{#5#6!PN!}}{}% \IfValueTF{#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% \fi}% {\expandafter\@nameauth@FmtName\expandafter*\expandafter{\Surnamesii}% \ifcsname\@nameauth@CleanName{#5!PN!}\endcsname% \PackageWarning{nameauth}% {macro AKA XRef: #5 exists.}% \else% \ifcsname\@nameauth@CleanName{#5!MN!}\endcsname% \PackageWarning{nameauth}% {macro AKA Name reference: #5 already exists; no see ref.}% \else% \ifcsname\@nameauth@CleanName{#5!NF!}\endcsname% \PackageWarning{nameauth}% {macro AKA Name reference: #5 already exists; no see ref.}% \else% \csgdef{\@nameauth@CleanName{#5!PN!}}{}% \IfValueTF{#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% \fi}% }% \if@nameauth@Punct\expandafter\@nameauth@CheckDot\fi% } \DeclareDocumentCommand\PName{s o m o m o}% {% \IfBooleanTF{#1}{\Name*[#2]{#3}}{\Name[#2]{#3}}% {\space}(\AKA[#2]{#3}[#4]{#5}[#6])% } \DeclareDocumentCommand\TagName{o m o m}% {% \IfValueTF{#1}% {\ifcsname\@nameauth@CleanName{#1#2!PN!}\endcsname% \PackageWarning{nameauth}% {macro TagName Cannot tag xref: #1 #2.}% \else% \csgdef{\@nameauth@CleanName{#1#2}}{#4}% \fi}% {\IfValueTF{#3} {\ifcsname\@nameauth@CleanName{#2#3!PN!}\endcsname% \PackageWarning{nameauth}% {macro TagName Cannot tag xref: #2 #3.}% \else% \csgdef{\@nameauth@CleanName{#2#3}}{#4}% \fi}% {\ifcsname\@nameauth@CleanName{#2!PN!}\endcsname% \PackageWarning{nameauth}% {macro TagName Cannot tag xref: #2.}% \else% \csgdef{\@nameauth@CleanName{#2}}{#4}% \fi}% }% } \DeclareDocumentCommand\UntagName{o m o}% {% \IfValueTF{#1}% {\csundef{\@nameauth@CleanName{#1#2}}}% {\IfValueTF{#3} {\csundef{\@nameauth@CleanName{#2#3}}}% {\csundef{\@nameauth@CleanName{#2}}}% }% } \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}% {\ifcsname\@nameauth@CleanName{#1#2!PN!}\endcsname% \PackageWarning{nameauth}% {macro IndexName XRef: #1 #2 exists.}% \else% \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% \PackageWarning{nameauth}% {macro IndexName XRef: #2 #3 exists.}% \else% \@nameauth@Index{\Surnames\space#3}[\@nameauth@CleanName{#2#3}]% \fi}% {\ifcsname\@nameauth@CleanName{#2!PN!}\endcsname% \PackageWarning{nameauth}% {macro IndexName XRef: #2 exists.}% \else% \@nameauth@Index{\Surnames}[\@nameauth@CleanName{#2}]% \fi}% }% } \DeclareDocumentCommand\ExcludeName{o m o}% {% \IfValueTF{#1}% {% \ifcsname\@nameauth@CleanName{#1#2!PN!}\endcsname% \PackageWarning{nameauth}% {macro ExcludeName XRef: #1 #2 exists.}% \else% \ifcsname\@nameauth@CleanName{#1#2!MN!}\endcsname% \PackageWarning{nameauth}% {macro ExcludeName Reference: #1 #2 already exists; no exclusion.}% \else% \ifcsname\@nameauth@CleanName{#1#2!NF!}\endcsname% \PackageWarning{nameauth}% {macro ExcludeName Reference: #1 #2 already exists; no exclusion.}% \else% \csgdef{\@nameauth@CleanName{#1#2!PN!}}{}% \fi% \fi% \fi}% {\IfValueTF{#3}% {\ifcsname\@nameauth@CleanName{#2#3!PN!}\endcsname\relax% \else% \ifcsname\@nameauth@CleanName{#2#3!MN!}\endcsname% \PackageWarning{nameauth}% {macro ExcludeName Reference: #2 #3 already exists; no exclusion.}% \else% \ifcsname\@nameauth@CleanName{#2#3!NF!}\endcsname% \PackageWarning{nameauth}% {macro ExcludeName Reference: #2 #3 already exists; no exclusion.}% \else% \csgdef{\@nameauth@CleanName{#2#3!PN!}}{}% \fi% \fi% \fi}% {\ifcsname\@nameauth@CleanName{#2!PN!}\endcsname\relax% \else% \ifcsname\@nameauth@CleanName{#2!MN!}\endcsname% \PackageWarning{nameauth}% {macro ExcludeName Reference: #2 already exists; no exclusion.}% \else% \ifcsname\@nameauth@CleanName{#2!NF!}\endcsname% \PackageWarning{nameauth}% {macro ExcludeName Reference: #2 already exists; no exclusion.}% \else% \csgdef{\@nameauth@CleanName{#2!PN!}}{}% \fi% \fi% \fi}% }% } \DeclareDocumentCommand\ForgetName{o m o}% {% \IfValueTF{#1}% {\csundef{\@nameauth@CleanName{#1#2!MN!}}% \csundef{\@nameauth@CleanName{#1#2!NF!}}}% {\IfValueTF{#3}% {\csundef{\@nameauth@CleanName{#2#3!MN!}}% \csundef{\@nameauth@CleanName{#2#3!NF!}}}% {\csundef{\@nameauth@CleanName{#2!MN!}}% \csundef{\@nameauth@CleanName{#2!NF!}}}% }% } \DeclareDocumentCommand\SubvertName{o m o}% {% \IfValueTF{#1}% {\csgdef{\@nameauth@CleanName{#1#2!MN!}}% \csgdef{\@nameauth@CleanName{#1#2!NF!}}}% {\IfValueTF{#3}% {\csgdef{\@nameauth@CleanName{#2#3!MN!}}% \csgdef{\@nameauth@CleanName{#2#3!NF!}}}% {\csgdef{\@nameauth@CleanName{#2!MN!}}% \csgdef{\@nameauth@CleanName{#2!NF!}}}% }% } \newcommand{\NamesInactive}{\@nameauth@DoFormatfalse} \newcommand{\NamesActive}{\@nameauth@DoFormattrue} \newcommand{\IndexInactive}{\@nameauth@DoIndexfalse} \newcommand{\IndexActive}{\@nameauth@DoIndextrue} \endinput %% %% End of file `nameauth.sty'.