summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/nameauth
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-03-23 21:29:07 +0000
committerKarl Berry <karl@freefriends.org>2017-03-23 21:29:07 +0000
commit92c843695cdf50eda50282ddd95705cf0aec67c5 (patch)
tree5ceda1f4e573944c61cd8edf8965f695d0590a5a /Master/texmf-dist/tex/latex/nameauth
parent10c1a2a82f0cc8edd68925cce34738ffd368bed8 (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.sty138
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