diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/oberdiek/iflang.sty')
-rw-r--r-- | Master/texmf-dist/tex/generic/oberdiek/iflang.sty | 302 |
1 files changed, 302 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/oberdiek/iflang.sty b/Master/texmf-dist/tex/generic/oberdiek/iflang.sty new file mode 100644 index 00000000000..223267a1532 --- /dev/null +++ b/Master/texmf-dist/tex/generic/oberdiek/iflang.sty @@ -0,0 +1,302 @@ +%% +%% This is file `iflang.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% iflang.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (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". +%% +%% This Current Maintainer of this work is Heiko Oberdiek. +%% +%% This work consists of the main source file iflang.dtx +%% and the derived files +%% iflang.sty, iflang.pdf, iflang.ins, iflang.drv, +%% iflang-test1.tex, iflang-test2.tex, iflang-test3.tex. +%% +\begingroup + \expandafter\let\expandafter\x\csname ver@iflang.sty\endcsname + \ifcase 0% + \ifx\x\relax % plain + \else + \ifx\x\empty % LaTeX + \else + 1% + \fi + \fi + \else + \expandafter\ifx\csname PackageInfo\endcsname\relax + \def\x#1#2{% + \immediate\write-1{Package #1 Info: #2.}% + }% + \else + \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% + \fi + \x{iflang}{The package is already loaded}% + \endgroup + \expandafter\endinput + \fi +\endgroup +\begingroup + \expandafter\ifx\csname ProvidesPackage\endcsname\relax + \def\x#1#2#3[#4]{\endgroup + \immediate\write-1{Package: #3 #4}% + \xdef#1{#4}% + }% + \else + \def\x#1#2[#3]{\endgroup + #2[{#3}]% + \ifx#1\relax + \xdef#1{#3}% + \fi + }% + \fi +\expandafter\x\csname ver@iflang.sty\endcsname +\ProvidesPackage{iflang}% + [2007/04/12 v1.2 Language checks (HO)] +\expandafter\edef\csname IfLang@endinput\endcsname{% + \catcode39 \the\catcode39\relax % ' + \catcode40 \the\catcode40\relax % ( + \catcode41 \the\catcode41\relax % ) + \catcode61 \the\catcode61\relax % = + \catcode64 \the\catcode64\relax % @ + \noexpand\endinput +} +\catcode39 12\relax % ' +\catcode40 12\relax % ( +\catcode41 12\relax % ) +\catcode61 12\relax % = +\catcode64 11\relax % @ +\expandafter\ifx\csname @firstoftwo\endcsname\relax + \long\def\@firstoftwo#1#2{#1}% +\fi +\expandafter\ifx\csname @secondoftwo\endcsname\relax + \long\def\@secondoftwo#1#2{#2}% +\fi +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname ifcsname\endcsname\relax + \expandafter\@firstoftwo +\else + \expandafter\@secondoftwo +\fi +{% + \def\IfLang@IfDefined#1{% + \expandafter\ifx\csname#1\endcsname\relax + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi + }% +}{% + \def\IfLang@IfDefined#1{% + \ifnum\ifcsname#1\endcsname + \expandafter\ifx\csname#1\endcsname\relax + 1% + \else + 0% + \fi + \else + 1% + \fi + =0 % + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +} +\begingroup +\ifnum\expandafter\ifx\csname PackageInfo\endcsname\relax + 1% + \fi + \expandafter\ifx\csname PackageWarningNoLine\endcsname\relax + 1% + \fi + 0=0 % + \endgroup + \expandafter\@secondoftwo +\else + \endgroup + \expandafter\@firstoftwo +\fi +{% + \def\IfLang@GenericMessage#1#2#3{% + \begingroup + \newlinechar=10 % + \def\@spaces{\space\space\space\space}% + \ifcase#1 % + \def\MessageBreak{% + ^^J(iflang) \@spaces\@spaces\@spaces\@spaces + }% + \or + \def\MessageBreak{% + ^^J(iflang)\@spaces\@spaces\@spaces\@spaces + }% + \or + \def\MessageBreak{% + ^^J(iflang) \space\@spaces\@spaces\@spaces + }% + \fi + \expandafter\ifx\csname if#3\expandafter\endcsname + \csname iftrue\endcsname + \def\on@line{ on input line \the\inputlineno}% + \else + \def\on@line{}% + \fi + \immediate\write\ifcase#1 -1\or 16\fi{% + ^^JPackage iflang % + \ifcase#1 Info\or Warning\or Error\fi + : #2\on@line.^^J% + }% + \endgroup + }% + \def\IfLang@Info#1{% + \IfLang@GenericMessage{0}{#1}{false}% + }% + \def\IfLang@Warning#1{% + \IfLang@GenericMessage{1}{#1}{false}% + }% +}{% + \def\IfLang@Info#1{% + \begingroup + \def\on@line{}% + \PackageInfo{iflang}{#1}% + \endgroup + }% + \def\IfLang@Warning#1{% + \PackageWarningNoLine{iflang}{#1}% + }% +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname uselanguage\endcsname\relax + \IfLang@Info{Naming convention for patterns: babel}% + \def\IfLang@prefix{l@}% +\else + \IfLang@Info{Naming convention for patterns: etex.src}% + \def\IfLang@prefix{lang@}% + \let\IfLang@OrgUseLanguage\uselanguage + \def\uselanguage#1{% + \edef\languagename{#1}% + \IfLang@OrgUseLanguage{#1}% + }% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname languagename\endcsname\relax + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname lang@USenglish\endcsname\relax + \IfLang@Warning{\string\lang@USenglish\space is missing}% + \else + \ifnum\lang@USenglish=\language + \def\languagename{USenglish}% + \else + \IfLang@Warning{% + \string\languagename\space is not set,\MessageBreak + current language is unknown% + }% + \fi + \fi + \fi +\fi +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname languagename\endcsname\relax + \IfLang@Info{\string\languagename\space is not set}% +\fi +\def\IfLanguagePatterns#1{% + \ifnum\IfLang@IfDefined{\IfLang@prefix#1}{% + \ifnum\csname\IfLang@prefix#1\endcsname=\language + 0% + \else + 1% + \fi + }{1}=0 % + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfstrcmp\endcsname\relax + \expandafter\@firstoftwo +\else + \expandafter\@secondoftwo +\fi +{% + \def\IfLang@StrNil{\relax}% + \def\IfLang@StrEqual#1{% + \number\IfLang@StrEqualStart{}{}#1\IfLang@StrNil + }% + \def\IfLang@StrEqualStart#1#2#3{% + \ifx#3\IfLang@StrNil + \IfLang@StrEqualStop + \fi + \ifcat\noexpand#3\relax + \IfLang@StrExpand{#1}{#2}#3% + \fi + \IfLang@StrEqualStart{\if#3#1}{#2\fi}% + }% + \def\IfLang@StrEqualStop\fi#1\IfLang@StrEqualStart#2#3#4{% + \fi + #2#4\relax'#313 % + }% + \def\IfLang@StrExpand#1#2#3\fi\IfLang@StrEqualStart#4#5{% + \fi + \IfLang@@StrExpand{#1}{#2}#3% + }% + \def\IfLang@@StrExpand#1#2#3\IfLang@StrNil{% + \expandafter\IfLang@@@StrExpand#3\IfLang@StrNil{#1}{#2}% + }% + \def\IfLang@@@StrExpand#1\IfLang@StrNil#2#3{% + \IfLang@StrEqualStart{#2}{#3}#1\IfLang@StrNil + }% + \def\IfLanguageName#1{% + \ifnum\IfLang@IfDefined{languagename}{% + \if\expandafter\IfLang@strequal\expandafter% + {\languagename}{#1}% + 0% + \else + 1% + \fi + }{1}=0 % + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +}{% + \def\IfLanguageName#1{% + \ifnum\IfLang@IfDefined{languagename}{% + \pdfstrcmp{#1}{\languagename}% + }{1}=0 % + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname languagename\endcsname\relax +\else + \IfLanguagePatterns{\languagename}{}{% + \IfLang@Warning{% + Mismatch between \string\language\space + (patterns)\MessageBreak + and setting of \string\languagename + }% + }% +\fi +\IfLang@endinput +\endinput +%% +%% End of file `iflang.sty'. |