summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty')
-rw-r--r--Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty100
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}%