diff options
author | Karl Berry <karl@freefriends.org> | 2017-03-23 21:29:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-03-23 21:29:07 +0000 |
commit | 92c843695cdf50eda50282ddd95705cf0aec67c5 (patch) | |
tree | 5ceda1f4e573944c61cd8edf8965f695d0590a5a /Master/texmf-dist/tex/latex/nameauth | |
parent | 10c1a2a82f0cc8edd68925cce34738ffd368bed8 (diff) |
nameauth (23mar17)
git-svn-id: svn://tug.org/texlive/trunk@43586 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/nameauth')
-rw-r--r-- | Master/texmf-dist/tex/latex/nameauth/nameauth.sty | 138 |
1 files changed, 95 insertions, 43 deletions
diff --git a/Master/texmf-dist/tex/latex/nameauth/nameauth.sty b/Master/texmf-dist/tex/latex/nameauth/nameauth.sty index b34d23a7912..f91f56ccb3a 100644 --- a/Master/texmf-dist/tex/latex/nameauth/nameauth.sty +++ b/Master/texmf-dist/tex/latex/nameauth/nameauth.sty @@ -7,7 +7,7 @@ %% nameauth.dtx (with options: `package') %% %% --------:| ---------------------------------------------------------------- -%% nameauth:| Name authority management for consistency in text and index +%% nameauth:| Name authority mechanism for consistency in text and index %% Author:| Charles P. Schaum %% E-mail:| charles dot schaum at comcast dot net %% License:| Released under the LaTeX Project Public License 1.3c or later @@ -15,7 +15,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{nameauth} - [2017/01/13 3.1 Name authority management for consistency in text and index] + [2017/03/22 3.2 Name authority mechanism for consistency in text and index] \newif\if@nameauth@InAKA \newif\if@nameauth@InName \newif\if@nameauth@Xref @@ -94,7 +94,8 @@ \DeclareOption{boldface}{\renewcommand*\NamesFormat{\bfseries}} \DeclareOption{noformat}{\renewcommand*\NamesFormat{}} \DeclareOption{verbose}{\@nameauth@Verbosetrue} -\DeclareOption{altformat}{\@nameauth@AltFormattrue\@nameauth@DoAlttrue} +\DeclareOption{altformat}{% + \@nameauth@AltFormattrue\@nameauth@DoAlttrue} \ExecuteOptions% {nocomma,mainmatter,index,pretag,% normalcaps,notreversed,noformat} @@ -105,15 +106,26 @@ \RequirePackage{xargs} \newcommand*\@nameauth@Clean[1] {\expandafter\zap@space\detokenize{#1} \@empty} -\newcommand*\@nameauth@Root[1]{\@nameauth@TrimRoot#1,\\} -\def\@nameauth@TrimRoot#1,#2\\{\trim@spaces{#1}} -\newcommand*\@nameauth@TagRoot[1]{\@nameauth@TrimTag#1|\\} -\def\@nameauth@TrimTag#1|#2\\{#1} -\newcommand*\@nameauth@Suffix[1]{\@nameauth@TrimSuffix#1,,\\} -\def\@nameauth@TrimSuffix#1,#2,#3\\% +\newcommand*\@nameauth@Root[1]{\@nameauth@@Root#1,\\} +\def\@nameauth@@Root#1,#2\\{\trim@spaces{#1}} +\newcommand*\@nameauth@TrimTag[1]{\@nameauth@@TrimTag#1|\\} +\def\@nameauth@@TrimTag#1|#2\\{#1} +\newcommand*\@nameauth@Suffix[1]{\@nameauth@@Suffix#1,,\\} +\def\@nameauth@@Suffix#1,#2,#3\\% {\ifx\\#2\\\@empty\else\trim@spaces{#2}\fi} +\newcommand*\@nameauth@GetSuff[1]{\@nameauth@@GetSuff#1,,\\} +\def\@nameauth@@GetSuff#1,#2,#3\\{#2} +\newcommand*\@nameauth@TestToks[1] +{% + \toks@\expandafter{\@car#1\@nil}% + \edef\one{\the\toks@}% + \toks@\expandafter{\@carß\@nil}% + \edef\two{\the\toks@}% + \ifx\one\two\@nameauth@UTFtrue\else\@nameauth@UTFfalse\fi +} \newcommand*\@nameauth@UTFtest[1] {% + \def\testarg{#1}% \ifdefined\Umathchar \@nameauth@UTFfalse% \else @@ -121,27 +133,39 @@ \if@nameauth@Accent \@nameauth@UTFtrue\@nameauth@Accentfalse% \else - \toks@\expandafter{\@car#1\@nil}% - \edef\one{\the\toks@}% - \toks@\expandafter{\@carß\@nil}% - \edef\two{\the\toks@}% - \ifx\one\two\@nameauth@UTFtrue\else\@nameauth@UTFfalse\fi + \expandafter\@nameauth@TestToks\expandafter{\testarg}% \fi \else \@nameauth@UTFfalse% \fi \fi } -\newcommand*\@nameauth@Cap[1] +\newcommand*\@nameauth@UTFtestS[1] {% - \if@nameauth@UTF \@nameauth@Ciii#1\\% - \else \@nameauth@Cii#1\\% + \let\ex\expandafter% + \ex\def\ex\testarg\ex{\@nameauth@GetSuff{#1}}% + \ex\toks@\ex\ex\ex{\testarg}% + \ex\def\ex\test@rg\ex{\the\toks@}% + \ifdefined\Umathchar + \@nameauth@UTFfalse% + \else + \ifdefined\UTFviii@two@octets + \if@nameauth@Accent + \@nameauth@UTFtrue\@nameauth@Accentfalse% + \else + \expandafter\@nameauth@TestToks\expandafter{\test@rg}% + \fi + \else + \@nameauth@UTFfalse% + \fi \fi } -\def\@nameauth@Cii#1#2\\% - {\expandafter\trim@spaces\expandafter{\uppercase{#1}#2}} -\def\@nameauth@Ciii#1#2#3\\% - {\expandafter\trim@spaces\expandafter{\uppercase{#1#2}#3}} +\newcommand*\@nameauth@Cap[1]{\@nameauth@C@p#1\\} +\def\@nameauth@C@p#1#2\\% + {\expandafter\trim@spaces\expandafter{\MakeUppercase{#1}#2}} +\newcommand*\@nameauth@CapUTF[1]{\@nameauth@C@pUTF#1\\} +\def\@nameauth@C@pUTF#1#2#3\\% + {\expandafter\trim@spaces\expandafter{\MakeUppercase{#1#2}#3}} \newcommand*\@nameauth@TestDot[1] {% \def\TestDot##1.\TestEnd##2\\{\TestPunct{##2}}% @@ -239,25 +263,56 @@ \@nameauth@toksb\expandafter{#2}% \@nameauth@toksc\expandafter{#3}% \if@nameauth@DoCaps + \let\carga\arga% + \let\crootb\rootb% \let\csuffb\suffb% \let\cargc\argc% \unless\if@nameauth@AltFormat - \ex\@nameauth@UTFtest\ex{\rootb}% - \edef\crootb{\noexpand\@nameauth@Cap{\rootb}}% + \unless\ifx\arga\@empty + \def\test{#1}% + \ex\@nameauth@UTFtest\ex{\test}% + \if@nameauth@UTF + \ex\def\ex\carga\ex{\ex\@nameauth@CapUTF\ex{\test}}% + \else + \ex\def\ex\carga\ex{\ex\@nameauth@Cap\ex{\test}}% + \fi + \fi + \def\test{#2}% + \ex\@nameauth@UTFtest\ex{\test}% + \if@nameauth@UTF + \ex\def\ex\crootb\ex{\ex\@nameauth@CapUTF\ex{\rootb}}% + \else + \ex\def\ex\crootb\ex{\ex\@nameauth@Cap\ex{\rootb}}% + \fi \unless\ifx\suffb\@empty - \ex\@nameauth@UTFtest\ex{\suffb}% - \edef\csuffb{\noexpand\@nameauth@Cap{\suffb}}% + \def\test{#2}% + \ex\@nameauth@UTFtestS\ex{\test}% + \protected@edef\test{\@nameauth@GetSuff{#2}}% + \if@nameauth@UTF + \protected@edef\test{\@nameauth@Suffix{#2}}% + \ex\def\ex\csuffb\ex{\ex\@nameauth@CapUTF\ex{\test}}% + \else + \edef\test{\@nameauth@Suffix{#2}}% + \ex\def\ex\csuffb\ex{\ex\@nameauth@Cap\ex{\test}}% + \fi \fi \unless\ifx\argc\@empty - \ex\@nameauth@UTFtest\ex{\argc}% - \edef\cargc{\noexpand\@nameauth@Cap{\argc}}% + \def\test{#3}% + \ex\@nameauth@UTFtest\ex{\test}% + \if@nameauth@UTF + \ex\def\ex\cargc\ex{\ex\@nameauth@CapUTF\ex{\test}}% + \else + \ex\def\ex\cargc\ex{\ex\@nameauth@Cap\ex{\test}}% + \fi \fi - \let\rootb\crootb% - \fi - \else - \if@nameauth@AllThis - \protected@edef\rootb{\uppercase{\@nameauth@Root{#2}}}% \fi + \let\arga\carga% + \let\rootb\crootb% + \let\suffb\csuffb% + \let\argc\cargc% + \fi + \if@nameauth@AllThis + \protected@edef\rootb{\MakeUppercase{\@nameauth@Root{#2}}}% \fi \edef\Space{\space}% \edef\SpaceX{\space}% @@ -281,18 +336,15 @@ \ifx\arga\@empty \ifx\argc\@empty \let\FNN\suffb% - \unless\ifx\suffb\@empty - \if@nameauth@DoCaps\let\FNN\csuffb\fi - \fi \let\SNN\rootb% \@nameauth@NonWest{\csb#4}% \else \ifx\suffb\@empty - \if@nameauth@DoCaps\let\FNN\cargc\else\let\FNN\argc\fi + \let\FNN\argc% \let\SNN\rootb% \@nameauth@NonWest{\csbc#4}% \else - \if@nameauth@DoCaps\let\FNN\cargc\else\let\FNN\argc\fi + \let\FNN\argc% \let\SNN\rootb% \@nameauth@NonWest{\csb#4}% \fi @@ -304,7 +356,7 @@ \let\FNN\argc% \fi \unless\ifx\suffb\@empty - \protected@edef\SNN{\rootb\Space\suffb}% + \def\SNN{\rootb\Space\suffb}% \if@nameauth@ShortSNN\let\SNN\rootb\fi \fi \@nameauth@West{\csab#4}% @@ -465,7 +517,7 @@ \let\ex\expandafter% \ifcsname\cseq!TAG\endcsname \protected@edef\Tag{\csname#1!TAG\endcsname}% - \ex\def\ex\ShortTag\ex{\ex\@nameauth@TagRoot\ex{\Tag}}% + \ex\def\ex\ShortTag\ex{\ex\@nameauth@TrimTag\ex{\Tag}}% \fi \if@nameauth@DoIndex \ifcsname\cseq!TAG\endcsname @@ -534,14 +586,14 @@ } \newcommand*\AltCaps[1]{% \if@nameauth@InHook - \if@nameauth@DoCaps\uppercase{#1}\else#1\fi + \if@nameauth@DoCaps\MakeUppercase{#1}\else#1\fi \else#1% \fi } \newcommand*\textSC[1]{% \if@nameauth@DoAlt\textsc{#1}\else#1\fi} \newcommand*\textUC[1]{% - \if@nameauth@DoAlt\uppercase{#1}\else#1\fi} + \if@nameauth@DoAlt\MakeUppercase{#1}\else#1\fi} \newcommand*\textIT[1]{% \if@nameauth@DoAlt\textit{#1}\else#1\fi} \newcommand*\textBF[1]{% @@ -623,7 +675,7 @@ \let\FNN\argc% \fi \unless\ifx\suffb\@empty - \protected@edef\SNN{\rootb\Space\suffb}% + \def\SNN{\rootb\Space\suffb}% \if@nameauth@ShortSNN\let\SNN\rootb\fi% \fi \if@nameauth@FullName @@ -640,7 +692,7 @@ \if@nameauth@FirstName \FNN% \else - \protected@edef\SNN{\rootb}% + \let\SNN\rootb% \SNN% \fi \fi |