% This is LaMeX.TeX - the Polish LaTeX format.
% (The version number and date is at the end of the file)
%
% Authors: Marek Ry\'cko & Bogus\l{}aw Jackowski
%
% This macro file belongs to the public domain
% under the conditions specified by the author of TeX:
%
%   ``Macro files like PLAIN.TEX should not be changed in any way,
%     except with respect to preloaded fonts,
%     unless the changes are authorized by the authors of the macros.''
%
%                                           Donald E. Knuth
%
% For details see MEXINFO.ENG or MEXINFO.POL.
%
\catcode`\{=1 % left brace is begin-group character
\catcode`\}=2 % right brace is end-group character
\message{Preloading the LaMeX format:}
%
\input mex1

% redefinition of the macro /
\@ct\/ % make slash active
\let\P@lch\l@slash
\let/\P@lch

% reading LPLAIN with `\input hyphen' eliminated
\let\@ridump\dump \let\dump\endinput
\let\of@n\font \let\font\f@n
\let\i@t\input
\let\i@tf H% input file type
\def\input#1 {%
    \if\i@tf H\let\i@tf F\message{SKIPPED}%
    \else\if\i@tf F\let\i@tf T\i@t\lf@nts \relax
    \else\if\i@tf T\let\i@tf X\let\input\i@t \input\l@tex \relax
    \else\message{This can't happen!!!}%
    \fi\fi\fi}%
    % in LPLAIN there will be three \input-s:
    % \input hyphen  \input lfonts  \input latex
    % (each followed by a space token)
\i@t \lpl@in \relax
\catcode`@=11 % @ is again a letter
\let\font\of@n \let\f@n\undefined
\let\i@t\undefined
\let\dump\@ridump
\let\@ridump\undefined

% Fonts loaded on demand:
% In the following definition copied directly from the file `LFONTS.TEX'
% there is only one change:
%   \global\expandafter\font
% is changed to
%   \expandafter\f@@nt
% (see MEX1.TEX file for the definition of \f@@nt).
\def\@getfont#1#2#3#4{\@ifundefined{\string #1\string #3}{\expandafter
    \f@@nt \csname \string #1\string #3\endcsname #4\relax
    \@addfontinfo#3{\textfont #2\csname \string #1\string #3\endcsname
    \scriptfont #2\csname \string #1\string #3\endcsname
    \scriptscriptfont #2\csname \string #1\string #3\endcsname
    \def#1{\fam #2\csname\string #1\string #3\endcsname}}}{}#3#1}
% redefinitions:
% (see MEX1.TEX file for the definition of \redeff@nt).
\redeff@nt\@mbi
\redeff@nt\@mbsy
% there is no need to redefine \@mcsc and \@mss.

% If prefixing is used then the macros writing index and glossary
% should use the slash of category ``other''
% (and active slash should expand to ``other'' slash --
% this makes possible to use macros containing active slash
% in their replacement text):
\expandafter\def\expandafter\@sanitize\expandafter
{\@sanitize \ifx\pr@fix T\@makeother\/\let/\normalslash\fi}

% the  \LaMeX logo:
\def\LaMeX{{\rm L\kern-.345em\raise.3ex\hbox{\sc a}\kern-.16em
     M\kern-.111em\lower.6ex\hbox{E}\kern-.075emX}}%

\input mex2

\let\emulateLaTeX\emulateplain

% Dates and captions (following the ideas of J. Shrod and H. Partl):
% (for use with special style files:
% IARTICLE.STY, IREPORT.STY, IBOOK.STY, ILETTER.STY,
% IPROC.STY, IMAKEIDX.STY).

\gdef\datepolish{\def\today{\number\day~\ifcase\month\or
  stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or
  lipca\or sierpnia\or wrze\pslash snia\or pa\pslash xdziernika\or
  listopada\or grudnia\fi~\number\year~r.}}

\gdef\dateenglish{\def\today{\ifcase\month\or
 January\or February\or March\or April\or May\or June\or
 July\or August\or September\or October\or November\or
 December\fi~\number\day,~\number\year}}

\gdef\captionsenglish{%
\def\refname{References}%
\def\abstractname{Abstract}%
\def\bibname{Bibliography}%
\def\chaptername{Chapter}%
\def\appendixname{Appendix}%
\def\contentsname{Contents}%
\def\listfigurename{List of Figures}%
\def\listtablename{List of Tables}%
\def\indexname{Index}%
\def\figurename{Figure}%
\def\tablename{Table}%
\def\partname{Part}%
\def\enclname{encl}%
\def\ccname{cc}%
\def\headtoname{To}%
\def\pagename{Page}%
\def\seename{see}}

\gdef\captionspolish{%
\def\refname{Cytowana literatura}%
\def\abstractname{Streszczenie}%
\def\bibname{Bibliografia}%
\def\chaptername{Rozdzia\pslash l}%
\def\appendixname{Dodatek}%
\def\contentsname{Spis tre\pslash sci}%
\def\listfigurename{Wykaz ilustracji}%
\def\listtablename{Wykaz tablic}%
\def\indexname{Skorowidz}%
\def\figurename{Rysunek}%
\def\tablename{Tablica}%
\def\partname{Cz\pslash e\pslash s\pslash c}%
\def\enclname{Za\pslash l.}%
\def\ccname{Do wiadomo\pslash sci}%
\def\headtoname{Do}%
\def\pagename{Strona}%
\def\seename{patrz}}

\datepolish \captionspolish

% LaMeX version of the Polish special discretionary:
\let\sdiscret\= \def\={\protect\sdiscret}
% In LaMeX \@acciii stores the new meaning of \= (a special discretionary).
% In tabbing environment, where \= has a different meaning
% one may use \a= as the special discretionary.
\let\@acciii\=
\expandafter\let\csname a=\endcsname\=

% Format identification:
%
\begingroup \let~\space \def\'{\string\'} \catcode`\&=12 % other
%
% identification data:
\def\a{LaMeX}      % format name
\def\b{1.05}       % format version
\def\c{18~XII~1993} % format date
%
\edef\x{\a~Version~\b~~\c~(B.~Jackowski~&~M.~Ry\'cko)}
\edef\z{\the\everyjob\immediate\write16{\x}\noexpand\the\everyjob}
\global\everyjob\expandafter{\z}
\newtoks\everyjob\global\everyjob{}
%
\global\let\plainfmtname\fmtname
\global\let\plainfmtversion\fmtversion
\xdef\fmtname{\a}
\xdef\fmtversion{\b}% identifies the current format
%
\endgroup

\@th\@% @ are no longer letters
