diff options
author | Karl Berry <karl@freefriends.org> | 2017-12-28 23:44:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-12-28 23:44:51 +0000 |
commit | 06185309fb0f91e4619d8fb10a81d445ac221b67 (patch) | |
tree | e3c681134efae2523747c403f55da5e0f24e1482 /Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty | |
parent | efb05e5b6b2687f9611f7a7bc5bf381c1a7c538f (diff) |
fmtcount (28dec17)
git-svn-id: svn://tug.org/texlive/trunk@46159 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty | 100 |
1 files changed, 56 insertions, 44 deletions
diff --git a/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty index d3ac0ab4214..a918fb7a7d4 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty +++ b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def, fcnumparser.sty, fcprefix.sty, fmtcount.sty. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fc-american.def, fc-brazilian.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def, fcnumparser.sty, fcprefix.sty, fmtcount.sty. %% %% \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 @@ -53,12 +53,11 @@ %% End: \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{fmtcount}[2017/09/16 v3.04] +\ProvidesPackage{fmtcount}[2017/12/24 v3.05] \RequirePackage{ifthen} \RequirePackage{xkeyval} \RequirePackage{etoolbox} \RequirePackage{fcprefix} -\RequirePackage{ifxetex} \RequirePackage{amsgen} \providecommand*{\fc@orddef@ult}[1]{\fc@textsuperscript{#1}} \providecommand*{\fc@ord@multiling}[1]{% @@ -105,11 +104,13 @@ \newcommand*\fc@supported@language@list{% english,% UKenglish,% +brazilian,% british,% USenglish,% american,% spanish,% portuges,% +portuguese,% french,% frenchb,% francais,% @@ -142,13 +143,15 @@ italian} \expandafter }\@tempa }% -\newcommand*{\@fc@loadifbabelorpolyglossialdf}[1]{% - \ifxetex - \IfFileExists{gloss-#1.ldf}{\ifcsundef{#1@loaded}{}{\FCloadlang{#1}}}{}% - \else - \ifcsundef{ver@#1.ldf}{}{\FCloadlang{#1}}% - \fi -} +\newcommand*\@fc@loadifbabelldf[1]{\ifcsundef{ver@#1.ldf}{}{\FCloadlang{#1}}} +\newcommand*{\@fc@loadifbabelorpolyglossialdf}[1]{} +\@ifpackageloaded{polyglossia}{% + \def\@fc@loadifbabelorpolyglossialdf#1{\IfFileExists{gloss-#1.ldf}{\ifcsundef{#1@loaded}{}{\FCloadlang{#1}}}{}% + \@fc@loadifbabelldf{#1}% + }% +}{\@ifpackageloaded{babel}{% + \let\@fc@loadifbabelorpolyglossialdf\@fc@loadifbabelldf +}{}} \fc@iterate@on@languages\@fc@loadifbabelorpolyglossialdf \def\fc@iterate@on@languages@body#1{% \expandafter\def\csname fc@#1@alias@of\endcsname{#1}} @@ -991,7 +994,10 @@ italian} \@decimal{\expandafter\expandafter\expandafter \the\value{#1}}% } +\newif\iffc@languagemode@detected +\fc@languagemode@detectedfalse \def\@setdef@ultfmtcount{% + \fc@languagemode@detectedtrue \ifcsundef{@ordinalMenglish}{\FCloadlang{english}}{}% \def\@ordinalstringM{\@ordinalstringMenglish}% \let\@ordinalstringF=\@ordinalstringMenglish @@ -1045,6 +1051,7 @@ italian} }% } \def\@set@mulitling@fmtcount{% + \fc@languagemode@detectedtrue \def\@numberstringM{% \fc@multiling{numberstring}{M}% }% @@ -1092,44 +1099,49 @@ italian} }% \let\fmtord\fc@ord@multiling } -\expandafter\@ifpackageloaded -\expandafter{\ifxetex polyglossia\else babel\fi}% -{% - \@set@mulitling@fmtcount -}% -{% - \@ifpackageloaded{ngerman}% - {% - \FCloadlang{ngerman}% - \@set@mulitling@fmtcount - }% - {% - \iffmtcount@language@option +\def\fc@check@for@multiling#1:#2\@nil{% + \@ifpackageloaded{#1}{% + #2\@set@mulitling@fmtcount + }{}% +} +\def\fc@loop@on@multiling@pkg#1,{% + \def\@tempb{#1}% + \ifx\@tempb\@nnil + \let\fc@loop@on@multiling@pkg\@empty + \else + \fc@check@for@multiling#1\@nil + \iffc@languagemode@detected + \def\fc@loop@on@multiling@pkg##1\@nil,{}% + \fi + \fi + \fc@loop@on@multiling@pkg +} +\AtBeginDocument{% + \fc@loop@on@multiling@pkg babel:,polyglossia:,ngerman:\FCloadlang{ngerman},\@nil, + \unless\iffc@languagemode@detected\iffmtcount@language@option + \ifcsundef{languagename}% + {% + \PackageWarning{fmtcount}{% + `\protect\languagename' is undefined, you should use a language package such as babel/polyglossia + when loading a language via package option. Reverting to default language. + }% + \@setdef@ultfmtcount + }{% \@set@mulitling@fmtcount - \AtBeginDocument{% - \ifcsundef{languagename}% - {% + + \@FC@iflangloaded{\languagename}{}{% \PackageWarning{fmtcount}{% - `\protect\languagename' is undefined, you should use package babel/polyglossia when loading a - language via package option. Reverting to default language. + Setting `\protect\languagename' to `\fc@mainlang'.\MessageBreak + Reason is that `\protect\languagename' was `\languagename',\MessageBreak + but `\languagename' was not loaded by fmtcount,\MessageBreak + whereas `\fc@mainlang' was the last language loaded by fmtcount ; }% - \@setdef@ultfmtcount - }{% - \@FC@iflangloaded{\languagename}{}{% - \PackageWarning{fmtcount}{% - Setting `\protect\languagename' to `\fc@mainlang'.\MessageBreak - Reason is that `\protect\languagename' was `\languagename',\MessageBreak - but `\languagename' was not loaded by fmtcount,\MessageBreak - whereas `\fc@mainlang' was the last language loaded by fmtcount ; - }% - \let\languagename\fc@mainlang - } - }% - } - \else + \let\languagename\fc@mainlang + }% + }% + \else \@setdef@ultfmtcount - \fi - }% + \fi\fi } \AtBeginDocument{% \ifcsundef{FBsupR}{\let\fc@textsuperscript\textsuperscript}{\let\fc@textsuperscript\fup}% |