summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/msg/msg.sty446
1 files changed, 446 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/msg/msg.sty b/Master/texmf-dist/tex/latex/msg/msg.sty
new file mode 100644
index 00000000000..6dc6cd62e5f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/msg/msg.sty
@@ -0,0 +1,446 @@
+%%
+%% This is file `msg.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% msg.dtx (with options: `code')
+%%
+%% File is part of the "msg" package for LaTeX
+%% which is designed to localize any LaTeX package
+%% or document class.
+%%
+\iffalse checksum part
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% checksum = "54410 1466 6398 61162"
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\fi
+\def\fileversion{V0.20}\def\filedate{2005/01/24}%
+\ifx\issuemsg\undefined\else\expandafter\endinput\fi%
+\ifnum\catcode`\@=11\else\expandafter\catcode`\@=11\fi%
+\ifx\LdfInit\@undefined% We need inputenc package.
+ \RequirePackage{inputenc}% Usually, load that package.
+\else% But with Babel, dont use \usepackage or such,
+ \let\@msg@tempa\@currname% Save current package name.
+ \xdef\@currname{inputenc}% set package req.
+ \@@input inputenc.sty% and input it now.
+ \makeatletter%
+ \let\@currname\@msg@tempa% Reset original package name.
+\fi%
+\ifx\issuemsgio\undefined\let\issuemsgio\typeout\fi%
+\def\@msg@tempa{dummy}%
+\def\@msg@tempb{nohyphenation}%
+\def\@msg@tempc{english}% Default language for msg package.
+\ifx\languagename\@msg@tempa\else%
+ \ifx\languagename\@msg@tempb\else%
+ \ifx\languagename\@msg@tempc\let\msg@languagename\undefined\else
+ \ifx\languagename\undefined\let\msg@languagename\undefined%
+ \else\edef\msg@languagename{\languagename}% Set it for now.
+ \fi%
+ \fi%
+ \fi%
+\fi%
+\def\packagewarningheader#1{Package #1 Warning: }%
+\renewcommand{\PackageWarning}[2]{\GenericWarning{(#1)%
+ \@spaces\@spaces\@spaces\@spaces}%
+ {\packagewarningheader{#1}#2}%
+ }
+\edef\@msg@code@ast{\the\catcode`\*}% Save the current catcode of ``*''.
+\def\issuemsg{\@ifnextchar[{\i@suemsg}{\i@suemsg[\issuemsgio]}%]
+ }%
+\def\issuemsgx{\@ifnextchar[{\i@suemsgx}{\i@suemsgx[\issuemsgio]}%]
+ }%
+\let\@msgalspace\space%
+\def\@msgalign#1{\ifx\empty#1\else\expandafter\@msgalign@%
+ \expandafter#1\fi}%
+\def\@msgalign@#1{\ifx\void#1\else\expandafter\@msgalign@@%
+ \expandafter#1\fi}%
+\def\@msgalign@@#1{\ifx\protect#1\expandafter\@msgalign@@@%
+ \else\expandafter\@msgalign@@@@%
+ \fi}%
+\def\@msgalign@@@{\@msgalign}%
+\def\@msgalign@@@@{\@msgalspace\@msgalign}%
+\let\msg@cmd\relax%
+\def\i@suemsg{\let\msg@cmd\issuemsg\i@suemsgx}%
+\def\i@suemsgx[#1]#2(#3){\@ifnextchar[{\i@@uemsg[#1]#2(#3)}%]
+ {\i@@uemsg[#1]#2(#3)[]}%
+ }%
+\let\if@msg@pkg@error\iffalse% Defaultly, not an error macro message.
+\def\i@@uemsg[#1]#2(#3)[#4]{%
+ \def\@argmsg{#4}%
+ \def\@msg@iocmd{#1}%
+ \def\@msg@txt{%
+ \themsg\themsgi\themsgii\themsgiii%
+ }%
+ \let\@msg@MBori\MessageBreak%
+ \ifx\MessageBreak\relax%
+ \def\MessageBreak{^^J\expandafter\@msgalign\msg@header\void}%
+ \fi%
+\def\@msg@tempa{#1}% TeX cs requires {arg}:
+\def\@msg@tempb{\message}%
+\ifx\@msg@tempa\@msg@tempb%
+ \def\@msg@txt{{%
+ \themsg\themsgi\themsgii\themsgiii%
+ }}%
+\fi%
+\def\@msg@tempb{\errmessage}%
+\ifx\@msg@tempa\@msg@tempb%
+ \def\@msg@txt{{%
+ \themsg\themsgi\themsgii\themsgiii%
+ }}%
+\fi%
+ \let\@msg@txt@\empty%
+ \def\@msg@tempb##1##2/{\let\@msg@tempb=##1}%
+ \def\@msg@tempa{\let\if@msg@pkg@error\iftrue}%
+ \@msg@tempb#1/% \PackageError is a special case with
+ \ifx\@msg@tempb\PackageError% package name and msg+help.
+ \@msg@tempa% Keep it in mind for \@msgparts.
+ \fi%
+ \ifx\@msg@tempb\ClassError% The same for \ClassError.
+ \@msg@tempa%
+ \fi%
+ \ifx\undefined#1\retrievemsg2(msg)%
+ \PackageWarning{msg}\@msg@txt%
+ \else\retrievemsg#2(#3)[#4]%
+ \edef\@msg@txt{\@msg@txt}%
+ \edef\@msg@txt@{\@msg@txt@}%
+ \@relaxORgobble\@msg@iocmd{\@msg@txt}{\@msg@txt@}%
+ \fi%
+ \let\MessageBreak\@msg@MBori%
+ }%
+ \def\getmsg#1(#2){\@ifnextchar[{\g@tmsg#1(#2)}{\g@tmsg#1(#2)[]}%]
+ }%
+ \def\g@tmsg#1(#2)[#3]{\retrievemsg{#1}(#2)[#3]\@relaxORgobble%
+ \themsg}%
+ \newif\if@msg@more%
+ \def\@msglineparse#1#2\void{\def\@msg@tempa{\msg}%
+ \def\@msg@tempb{#1}%
+ \ifx\@msg@tempa\@msg@tempb%
+ \@msg@tempf% Execute the previous line.
+ \def\@msg@tempf{}% Start a new one.
+ \if@msg@more% Continue line feed.
+ \def\@msg@tempf{\protect#1#2}%
+ \fi%
+ \else%
+ \let\msgheaderOLD\msgheader%
+ \let\msgtrailerOLD\msgtrailer%
+ \let\msgencodingOLD\msgencoding%
+ \let\spaceOLD\space%
+ \def\msgheader{\protect\msgheader}%
+ \def\msgtrailer{\protect\msgtrailer}%
+ \def\msgencoding{\protect\msgencoding}%
+ \def\space{\protect\space}%
+ \def\help{\protect\helpi}%
+ \protected@edef\@msg@tempf{\@msg@tempf\@msgline}%
+ \let\space\spaceOLD%
+ \let\msgheader\msgheaderOLD%
+ \let\msgtrailer\msgtrailerOLD%
+ \let\msgencoding\msgencodingOLD%
+ \let\spaceOLD\undefined%
+ \let\msgheaderOLD\undefined%
+ \let\msgtrailerOLD\undefined%
+ \let\msgencodingOLD\undefined%
+ \fi%
+ }%
+ \newread\@inputmsg%
+ \def\@@input@msg@filename{% Doing nearly like \@@input\msg@filename
+ \openin\@inputmsg=\msg@filename\@msg@moretrue%
+ \let\msgparti\relax%
+ \let\msgpartii\relax%
+ \let\msgpartiii\relax%
+ \def\@msg@tempf{}%
+ \let\endinputORI\endinput%
+ \let\endinput\undefined% To avoid redef info msg.
+ \DeclareRobustCommand*{\endinput}{\@msg@morefalse%
+ }%
+ \let\reserved@a\@gobble% Clean remaining code.
+ \loop\catcode`\#=\active%
+ \endlinechar=-1%
+ \read\@inputmsg to \@msgline%
+ \endlinechar`\^^M%
+ \catcode`\#=6%
+ \ifx\@msgline\empty\else%
+ \expandafter\@msglineparse\@msgline\void%
+ \fi%
+ \ifeof\@inputmsg\@msg@morefalse\fi%
+ \if@msg@more\repeat%
+ \closein\@inputmsg\@msg@tempf%
+ \catcode`\#=6%
+ \let\endinput\endinputORI%
+ }%
+\def\@msginput@usual{\let\endinputORI\endinput\@@input\msg@filename}%
+ \def\retrievemsg#1(#2){\catcode`\*=\@msg@code@ast%
+ \@ifnextchar[{\r@trievemsg#1(#2)}%]
+ {\r@trievemsg#1(#2)[]}%
+ }%
+ \let\msg@empty\empty%
+ \let\if@msgnext\iffalse% Set no request for all messages.
+ \def\r@trievemsg#1(#2)[#3]{\def\@argmsg{#3}%
+ \let\msg@header\empty\let\msg@trailer\empty%
+ \xdef\msgid{#1}%
+ \def\@msg@pkg{#2}% Prevent from empty file:
+ \let\themsg\msg@empty%
+ \if@msgnext\let\help\helpi\fi%
+ \let\themsgi\empty%
+ \let\themsgii\empty%
+ \let\themsgiii\empty%
+ \let\@relaxORgobble\relax%
+ \edef\@msg@tempd{\@msg@pkg-msg.tex}%
+ \ifx\msg@languagename\undefined%
+ \ifx\languagename\undefined\else% Get current language.
+ \let\msg@input@lang\languagename%
+ \fi% If no current language, use msg's language.
+ \else\let\msg@input@lang\msg@languagename%
+ \fi%
+ \csname msg@MPC\endcsname% req. when ltxdoc
+ \ifx\msg@input@lang\undefined%
+ \let\msg@filename\@msg@tempd%
+ \else%
+ \edef\@msg@tempc{\msg@input@lang\string_\@msg@tempd}%
+ \IfFileExists\@msg@tempc{\let\msg@filename\@msg@tempc}%
+ {\let\msg@filename\@msg@tempd}%
+ \fi%
+ \edef\msg@inputlineno{the\inputlineno}%
+ \makeatletter%
+ \let\@msg@gobble@space\relax% Req. when \msgheader in first line.
+ \let\reserved@a\@gobble% Avoid runaway.
+ \bgroup\@@input@msg@filename\relax\egroup% Protected marmelade.
+ \let\msg@cmd\relax%
+ \csname msg@MPI\endcsname% req. when ltxdoc
+ \ifx\themsg\empty% Unusual end of file reached.
+ \def\@msg@tempa{\let\msg@empty\relax% to avoid loop.
+ \makeatletter%
+ \r@trievemsg6(msg)[]%
+ \makeatother%
+ }%
+ \expandafter\@msg@tempa%
+ \fi%
+ \ifx\themsg\msg@empty%
+ \PackageError{msg}%
+ {\string\msg{*} not found in \msg@filename}%
+ {please reinstall the msg package}%
+ \fi%
+ \let\if@msg@pkg@error\iffalse% Reset for next msg request.
+ \catcode`\*=\@msg@code@ast% Reset catcode too.
+ }%
+\catcode`\#=\active\def\set@argmsg{\def#1{\@argmsg}}%
+\catcode`\#=6%
+\def\msg{\let\@msg@gobble@space\@gobble% Should apply after firs call.
+ \@ifstar{\def\@msgskip{^^J}\@msg}{\def\@msgskip{}\@msg}}%
+\long\def\@msg#1{\def\@msg@tempc{#1}\catcode`\#=\active%
+ \def\@msg@tempd##1##2\void{\def\@msg@tempd{##2}%
+ \let\@msg@tempe\empty%
+ \ifx\@msg@tempd\empty%
+ \def\@msg@tempe{##1}%
+ \fi}%
+ \@msg@tempd#1\void\relax% \@msg@tempe is the first #1 token.
+ \let\themsgi\empty% We need to clean any
+ \let\themsgii\empty% previous read
+ \let\themsgiii\empty% message parts.
+ \set@argmsg\@msg@%
+ }%
+\def\@gobble@help#1#2{\@msgparts}% Case 2 lines \msg with \read but not \input.
+\long\def\@msg@#1{\def\@msg@tempd{%
+ \ifx\@msginput@usual\@@input@msg@filename%
+ \def\space{\noexpand\space}%
+ \protected@edef\msg@header{\msg@header}%
+ \protected@edef\msg@trailer{\msg@trailer}%
+ \else%
+ \edef\msg@header{\msg@header}%
+ \edef\msg@trailer{\msg@trailer}%
+ \fi%
+ \edef\space{ }%
+ \protected@xdef\themsg{%
+ \@msgskip\msg@header#1\msg@trailer}%
+ \def\space{ }%
+ }%
+ \catcode`\#=6\let\@msg@tempb\relax%
+ \def\@msg@tempb{\@ne\tw@\thr@@\sixt@@n\@cclv}%
+ \ifx\msgid\@msg@tempb% Check for any next message request.
+ \global\let\msgid\@msg@tempc%
+ \else%
+ \ifx\msgid\@msg@tempc% Check for the previous id.
+ \if@msgnext\def\msgid{\@ne\tw@\thr@@\sixt@@n\@cclv}%
+ \fi%
+ \fi%
+ \fi%
+ \ifx\msgid\@msg@tempc% Check for the "id".
+ \let\@msgparts@ORnot\@msgparts@%
+ \def\@msg@tempb{\endinput}%
+ \if@msg@pkg@error%
+ \let\help\@firstofone%
+ \def\@msgparts@ORnot{\endinput\def\@msg@txt@}%
+ \fi%
+ \def\@msg@tempf{}%
+ \expandafter\@msg@tempd%
+ \else\expandafter%
+ \ifx\@msg@tempe*\let\@msgparts@ORnot\@msgparts@%
+ \def\@msg@tempb{\endinput\@msg@tempd%
+ \PackageWarningNoLine{msg}{\themsg%
+ \themsgi\themsgii\themsgiii}%
+ \let\@relaxORgobble\@gobble}%
+ \else\let\@msgparts@ORnot\@gobble%
+ \fi%
+ \fi%
+ \catcode`\#=\active
+ \@ifnextchar\protect{\expandafter\@gobble@help}{\@msgparts}%
+ }%
+\long\def\@msgparts#1{\def\@msg@tempc{\catcode`\#=6%
+ \def\@msg@tempb{\issuemsg[%
+ \PackageError{\@msg@pkg}]{7}(msg)%
+ \endinput}%
+ \expandafter\@msg@tempb%
+ }%
+ \ifx\msg#1% When #1 is \msg it's sure the previous \msg
+ \@msg@tempc% didn't provided the correct arguments.
+ \else%
+ \ifx\msgheader#1\@msg@tempc% ditto for \msgheader
+ \else%
+ \ifx\msgtrailer#1\@msg@tempc% ditto for \msgtrailer
+ \else%
+ \ifx\msgencoding#1\@msg@tempc% ditto for \msgencoding
+ \else%
+ \@msgparts@ORnot{#1}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \@ifnextchar\space{\@gobble}{}% Gobble any superfluous blank.
+ }%
+\long\def\@msgparts@#1{\long\def\msgparti##1{\xdef\themsgi{##1}}%
+ \long\def\help##1{\xdef\themsgi{\space help=##1}}%
+ \long\def\helpi##1{\xdef\themsgi{\space help=##1}}%
+ \long\def\msgpartii##1{\xdef\themsgii{##1}}%
+ \long\def\msgpartiii##1{\xdef\themsgiii{##1}}%
+ #1\catcode`\#=6\expandafter\@msg@tempb%
+ }%
+\let\@msgencoding\@gobble% Nearly null macro until \AtBeginDocument,
+\def\msgencoding#1{\ifx\empty#1\else% just disactive 8bits chars.
+ \let\iterateORI\iterate%
+ \def\@msg@encoding{#1}%
+ \ifx\msg@cmd\issuemsg%\inputencoding{ascii}%
+ \def\@msgenc@loop##1##2{\@tempcnta`##1\relax%
+ \loop\catcode\@tempcnta=11%
+ \ifnum\@tempcnta<`##2\relax%
+ \advance\@tempcnta\@ne%
+ \repeat}%
+ \@msgenc@loop\^^A\^^H%
+ \@msgenc@loop\^^K\^^K%
+ \@msgenc@loop\^^N\^^_%
+ \@msgenc@loop\^^?\^^ff% 128-255
+ \else\let\@latex@infoORI\@latex@info%
+ \let\@latex@info\@gobble%
+ \let\endinputBACK\endinput%
+ \let\endinput\endinputORI%
+ \@msgencoding{#1}%
+ \let\endinput\endinputBACK%
+ \let\@latex@info\@latex@infoORI%
+ \fi\makeatletter%
+ \let\iterate\iterateORI%
+ \fi%
+ }%
+\let\@msg@encoding\empty% Unknown current encoding.
+\AtBeginDocument{\let\@msgencoding\inputencoding}%
+\def\msgheader#1{\let\reserved@a\relax%
+ \def\msg@header{#1}\protect\@msgHTsptoken}%
+\def\msgtrailer#1{\let\reserved@a\relax%
+ \def\msg@trailer{#1}\protect\@msgHTsptoken}%
+\def\@msgHTsptoken{\@ifnextchar\@sptoken{\@msg@gobble@space%
+ \let\@msg@gobble@space\@gobble}%
+ {\let\@msg@gobble@space\@gobble}%
+ }%
+ \def\issueallmsg{\bgroup\let\@@input@msg@filename\@msginput@usual%
+ \let\msg@cmd\issuemsg%
+ \@ifnextchar[{\i@sueallmsg}{\i@sueallmsg[\issuemsgio]}%]
+ }%
+ \def\i@sueallmsg[#1]{\let\@msg@iocmdn#1\i@@ueallmsg}%
+ \def\i@@ueallmsg(#1){\def\next{\i@@@eallmsg(#1)}%
+ \long\def\help##1{\xdef\themsgi{\space help=##1}}%
+ \let\if@msgnext\iftrue% begin/continue loop.
+ \def\msgid{\@ne\tw@\thr@@\sixt@@n\@cclv}% Set next one wanted.
+ \let\prev@msgid\msgid% Save previous id.
+ \i@@@eallmsg(#1)% Go for looping.
+ \let\if@msgnext\iffalse%
+ }%
+ \def\i@@@eallmsg(#1){\def\@tempa{\i@@uemsg[\@msg@iocmdn]}%
+ \let\themsg\empty%
+ \expandafter\@tempa\expandafter{\msgid}(#1)[]% Get it.
+ \def\@tempa{\let\if@msgnext\iffalse}%
+ \ifx\prev@msgid\msgid%
+ \@tempa%
+ \let\@@input@msg@filename\@msginput@usual%
+ \issuemsg[\PackageError{msg}]{12}(msg)%
+ \expandafter\stop%
+ \fi%
+ \let\prev@msgid\msgid% Save previous id.
+ \def\@tempa{*}% Check if last one.
+ \ifx\msgid\@tempa%
+ \let\next\egroup% This is the end.
+ \fi%
+ \let\msg@cmd\issuemsg%
+ \next%
+ }%
+\DeclareOption{message}{\let\issuemsgio\message}% TeX cs.
+\DeclareOption{wlog}{\let\issuemsgio\wlog}% Plain TeX cs.
+\DeclareOption{typeout}{\let\issuemsgio\typeout}% LaTeX cs.
+\DeclareOption{kbtypeout}{\let\issuemsgio\kbtypeout}% Keyboard cs.
+\DeclareOption{tracefiles}{\let\@@input@msg@filename\@msginput@usual%
+ }%
+\edef\nativelanguage{french}% This is my native language.
+\let\on@lineORI\on@line%
+\let\pwhORI\packagewarningheader%
+\DeclareOption{french}{% Mostly a testing option
+ % or have msg's messages in French.
+ \@msgINfrench}%
+\def\@msgINfrench{%
+ \def\on@line{ (voir le source, ligne \the\inputlineno)}%
+ \def\packagewarningheader##1{Extension ##1 : ATTENTION, }%
+ \def\msg@languagename{french}}%
+\edef\@msg@tempa{french}\ifx\languagename\@msg@tempa\@msgINfrench\fi%
+\DeclareOption*{% Once a language is provided we should
+ \let\on@line\on@lineORI% reset to default.
+ \let\packagewarningheader\pwhORI%
+ \def\@msg@tempa{native}%
+ \ifx\@msg@tempa\CurrentOption%
+ \let\msg@languagename\nativelanguage%
+ \else%
+ \expandafter%
+ \ifx\csname l@\CurrentOption\endcsname\relax%
+ \def\@msg@tempa{\retrievemsg3(msg)\PackageWarningNoLine{msg}%
+ {\themsg\themsgi\themsgii\themsgiii}}%
+ \else\def\@msg@tempa{\edef\msg@languagename{\CurrentOption}}%
+ \fi\@msg@tempa%
+ \fi%
+ }%
+\ProcessOptions% Process options
+\bgroup% Protect from any setting.
+\retrievemsg1(msg)%
+\csname msg@MPC\endcsname% required when ltxdoc
+\ProvidesPackage{msg}[\themsg]% Issue that message in log file with
+\def\@msg@tempa{\retrievemsg{11}(msg)\wlog{\themsg}}% options messages.
+\ifx\@@input@msg@filename\@msginput@usual\expandafter\@msg@tempa\fi%
+\egroup%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% \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 \~
+%% And any code from 128 to 255
+%% }
+%%
+\endinput
+%%
+%% End of file `msg.sty'.