summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty')
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty63
1 files changed, 36 insertions, 27 deletions
diff --git a/Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty b/Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty
index 6b7959f3719..1e513dd332a 100644
--- a/Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty
+++ b/Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty
@@ -21,7 +21,7 @@
%%
%% The Current Maintainer of this work is Nicola Talbot.
%%
-%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, mfirstuc.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-longragged.sty, glossary-super.sty, glossary-superragged.sty, glossary-tree.sty, glossaries-accsupp.sty, glossaries-babel.sty, glossaries-dictionary-Brazilian.dict, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Polish.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleaccsupp.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleDesc.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, sampletree.tex, sampleutf8.tex, samplexdy.tex, samplexdy-mc.xdy, database1.tex, database2.tex, glossaries.perl.
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, mfirstuc.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-longragged.sty, glossary-super.sty, glossary-superragged.sty, glossary-tree.sty, glossaries-accsupp.sty, glossaries-babel.sty, glossaries-polyglossia.sty, glossaries-dictionary-Brazilian.dict, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Polish.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleaccsupp.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleacronyms.tex, sampleDB.tex, sampleDesc.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, sampletree.tex, sampleutf8.tex, samplexdy.tex, samplexdy-mc.xdy, database1.tex, database2.tex, glossaries.perl.
%%
%% \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
@@ -39,40 +39,49 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{mfirstuc}[2008/12/22 v1.03 (NLCT)]
+\ProvidesPackage{mfirstuc}[2009/11/03 v1.04 (NLCT)]
\newif\if@glscs
+\newtoks\@glsmfirst
+\newtoks\@glsmrest
\def\makefirstuc#1{%
-\def\gls@argi{#1}%
-\ifx\gls@argi\@empty
-\else
- \def\@gls@tmp{\ #1}%
- \@onelevel@sanitize\@gls@tmp
- \expandafter\@gls@checkcs\@gls@tmp\relax\relax
- \if@glscs
- \@gls@getbody #1{}\@nil
- \ifx\@gls@rest\@empty
- \@gls@makefirstuc{#1}%
- \else
- \expandafter\@gls@split\@gls@rest\@nil
- \ifx\@gls@first\@empty
- \@gls@makefirstuc{#1}%
+ \def\gls@argi{#1}%
+ \ifx\gls@argi\@empty
+ \else
+ \def\@gls@tmp{\ #1}%
+ \@onelevel@sanitize\@gls@tmp
+ \expandafter\@gls@checkcs\@gls@tmp\relax\relax
+ \if@glscs
+ \@gls@getbody #1{}\@nil
+ \ifx\@gls@rest\@empty
+ \@gls@makefirstuc{#1}%
\else
- \@gls@body{\expandafter\@gls@makefirstuc\@gls@first}\@gls@rest%
+ \expandafter\@gls@split\@gls@rest\@nil
+ \ifx\@gls@first\@empty
+ \@gls@makefirstuc{#1}%
+ \else
+ \expandafter\@glsmfirst\expandafter{\@gls@first}%
+ \expandafter\@glsmrest\expandafter{\@gls@rest}%
+ \edef\@gls@domfirstuc{\noexpand\@gls@body
+ {\noexpand\@gls@makefirstuc\the\@glsmfirst}%
+ \the\@glsmrest}%
+ \@gls@domfirstuc
+ \fi
\fi
+ \else
+ \@gls@makefirstuc{#1}%
\fi
- \else
- \@gls@makefirstuc{#1}%
\fi
-\fi
}
-\def\@gls@split#1#2\@nil{\def\@gls@first{#1}\def\@gls@rest{#2}}
+\def\@gls@split#1#2\@nil{%
+ \def\@gls@first{#1}\def\@gls@rest{#2}%
+}
\def\@gls@checkcs#1 #2#3\relax{%
-\def\@gls@argi{#1}\def\@gls@argii{#2}%
-\ifx\@gls@argi\@gls@argii
- \@glscstrue
-\else
- \@glscsfalse
-\fi
+ \def\@gls@argi{#1}\def\@gls@argii{#2}%
+ \ifx\@gls@argi\@gls@argii
+ \@glscstrue
+ \else
+ \@glscsfalse
+ \fi
}
\def\@gls@makefirstuc#1{\MakeUppercase #1}
\def\@gls@getbody#1#{\def\@gls@body{#1}\@gls@gobbletonil}