%% %% This is file `mfirstuc.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% glossaries.dtx (with options: `mfirstuc.sty,package') %% %% glossaries.dtx %% Copyright 2015 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license of (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% 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, glossaries-prefix.sty, mfirstuc.sty, mfirstuc-english.sty, glossary-hypernav.sty, glossary-inline.sty, glossary-list.sty, glossary-long.sty, glossary-longragged.sty, glossary-mcols.sty, glossary-super.sty, glossary-superragged.sty, glossary-tree.sty, glossaries-compatible-207.sty, glossaries-compatible-307.sty, glossaries-accsupp.sty, glossaries-babel.sty, glossaries-polyglossia.sty, minimalgls.tex, glossary-lipsum-examples.tex, example-glossaries-acronym-desc.tex, example-glossaries-acronym.tex, example-glossaries-acronyms-lang.tex, example-glossaries-brief.tex, example-glossaries-childnoname.tex, example-glossaries-cite.tex, example-glossaries-images.tex, example-glossaries-long.tex, example-glossaries-multipar.tex, example-glossaries-parent.tex, example-glossaries-symbols.tex, example-glossaries-url.tex, sample-chap-hyperfirst.tex, sample-crossref.tex, sample-custom-acronym.tex, sample-dot-abbr.tex, sample-dual.tex, sample-entrycount.tex, sample-entryfmt.tex, sample-FnDesc.tex, sample-font-abbr.tex, sample-ignored.tex, sample-index.tex, sample-inline.tex, sample-langdict.tex, sample-mfirstuc.tex, sample-newkeys.tex, sample-noidxapp-utf8.tex, sample-noidxapp.tex, sample-nomathhyper.tex, sample-numberlist.tex, sample-prefix.tex, sample-si.tex, sample-storage-abbr-desc.tex, sample-storage-abbr.tex, sample.tex, sample4col.tex, sampleaccsupp.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleacronyms.tex, sampleCustomAcr.tex, sampleDB.tex, sampleDesc.tex, sampleEq.tex, sampleEqPg.tex, sampleFnAcrDesc.tex, sampleNtn.tex, samplePeople.tex, sampleSec.tex, sampleSort.tex, sampletree.tex, sampleutf8.tex, samplexdy.tex, samplexdy2.tex, mwe-acr-desc.tex, mwe-acr.tex, mwe-gls.tex, samplexdy-mc.xdy, samplexdy-mc207.xdy, database1.tex, database2.tex, glossaries.perl, mfirstuc.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 %% Lower-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 %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{mfirstuc}[2015/02/03 v1.10 (NLCT)] \RequirePackage{etoolbox} \newif\if@glscs \newtoks\@glsmfirst \newtoks\@glsmrest \newrobustcmd*{\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 \glsmakefirstuc{#1}% \else \expandafter\@gls@split\@gls@rest\@nil \ifx\@gls@first\@empty \glsmakefirstuc{#1}% \else \expandafter\@glsmfirst\expandafter{\@gls@first}% \expandafter\@glsmrest\expandafter{\@gls@rest}% \edef\@gls@domfirstuc{\noexpand\@gls@body {\noexpand\glsmakefirstuc\the\@glsmfirst}% \the\@glsmrest}% \@gls@domfirstuc \fi \fi \else \glsmakefirstuc{#1}% \fi \fi } \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@makefirstuc#1{\mfirstucMakeUppercase #1} \newcommand*{\mfirstucMakeUppercase}{\MakeUppercase} \newcommand*{\glsmakefirstuc}[1]{\@gls@makefirstuc{#1}} \def\@gls@getbody#1#{\def\@gls@body{#1}\@gls@gobbletonil} \def\@gls@gobbletonil#1\@nil{\def\@gls@rest{#1}} \newcommand*{\xmakefirstuc}[1]{% \expandafter\makefirstuc\expandafter{#1}} \DeclareRobustCommand*{\emakefirstuc}[1]{% \protected@edef\@MFU@caparg{#1}% \expandafter\makefirstuc\expandafter{\@MFU@caparg}% } \newrobustcmd*{\capitalisewords}[1]{% \def\gls@add@space{}% \let\@mfu@domakefirstuc\makefirstuc \let\@mfu@checkword\@gobble \mfu@capitalisewords#1 \@nil\mfu@endcap } \def\mfu@capitalisewords#1 #2\mfu@endcap{% \def\mfu@cap@first{#1}% \def\mfu@cap@second{#2}% \gls@add@space \@mfu@checkword{#1}% \@mfu@domakefirstuc{#1}% \def\gls@add@space{ }% \ifx\mfu@cap@second\@nnil \let\next@mfu@cap\mfu@noop \else \let\next@mfu@cap\mfu@capitalisewords \let\@mfu@checkword\mfu@checkword \fi \next@mfu@cap#2\mfu@endcap } \def\mfu@noop#1\mfu@endcap{} \newcommand*\mfu@checkword[1]{% \ifinlist{#1}{\@mfu@nocaplist}% {% \let\@mfu@domakefirstuc\@firstofone }% {% \let\@mfu@domakefirstuc\makefirstuc }% } \newcommand*{\@mfu@nocaplist}{} \newcommand*{\MFUnocap}[1]{\listadd{\@mfu@nocaplist}{#1}} \newcommand*{\gMFUnocap}[1]{\listgadd{\@mfu@nocaplist}{#1}} \newcommand*{\MFUclear}{\renewcommand*{\@mfu@nocaplist}{}} \newcommand*{\xcapitalisewords}[1]{% \expandafter\capitalisewords\expandafter{#1}% } \DeclareRobustCommand*{\ecapitalisewords}[1]{% \protected@edef\@MFU@caparg{#1}% \expandafter\capitalisewords\expandafter{\@MFU@caparg}% } \endinput %% %% End of file `mfirstuc.sty'.