summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/polski
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-08-16 00:39:22 +0000
committerKarl Berry <karl@freefriends.org>2007-08-16 00:39:22 +0000
commite9e0c2e3adbd4ee7145f096e6cf52be2b6d23beb (patch)
tree4110cd2cd1d42ca30ac7d276d229fdd4cc71f96a /Master/texmf-dist/source/latex/polski
parent3aed69f900ce6a1011d17c3886e1d65c66822612 (diff)
first attempt at polski (14aug07)
git-svn-id: svn://tug.org/texlive/trunk@4741 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/polski')
-rw-r--r--Master/texmf-dist/source/latex/polski/ot1patch.dtx237
-rw-r--r--Master/texmf-dist/source/latex/polski/ot1patch.ins7
-rw-r--r--Master/texmf-dist/source/latex/polski/platex.ins196
-rw-r--r--Master/texmf-dist/source/latex/polski/plfonts.fdd646
-rw-r--r--Master/texmf-dist/source/latex/polski/plprefix.dtx389
-rw-r--r--Master/texmf-dist/source/latex/polski/plprefix.ins8
-rw-r--r--Master/texmf-dist/source/latex/polski/polski.dtx1389
-rw-r--r--Master/texmf-dist/source/latex/polski/strony.dtx455
8 files changed, 3327 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/polski/ot1patch.dtx b/Master/texmf-dist/source/latex/polski/ot1patch.dtx
new file mode 100644
index 00000000000..38c6fab5ae4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/polski/ot1patch.dtx
@@ -0,0 +1,237 @@
+% \iffalse -*- doctex -*-
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Package ot1patch %%
+%% %%
+%% Purpose: to provide best possible substitutes for polish national %%
+%% characters using OT1 Computer Modern Roman fonts %%
+%% %%
+%% %%
+%% Copyright (c) by Marcin Woli\'nski <1997/06/18> %%
+%% wolinski@mimuw.edu.pl %%
+%% %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% The package may be used freely, but you are not allowed to modify %%
+%% this file. If you wish to make any changes please make a copy %%
+%% under a different name. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \fi
+ \def\fileversion{v 0.3}
+ \def\docdate{1997/05/16}
+ \def\filedate{1997/10/08}
+% \CheckSum{209}
+%
+% \title{Pakiet/Package ot1patch\thanks
+% {Version \fileversion\ dated \filedate.}}
+% \author{Marcin Woli\'nski}
+% \date{\docdate}
+%
+% \maketitle
+% Celem tego pakietu jest dostarczenie substytut\'{o}w polskich
+% znak\'{o}w narodowych, zbudowanych jedynie ze znak\'{o}w
+% dost\k{e}pnych w fontach w uk{\l}adzie OT1, szczeg\'{o}lnie fontach
+% Computer Modern. Poniewa\.{z} wysokiej jako\'{s}ci polskie fonty
+% dla \TeX a s\k{a} publicznie dost\k{e}pne, stosowanie tego pakietu
+% nie jest zalecane. Mo\.{z}na go poleci\'c jedynie mieszka\'{n}com
+% bezludnych wysp bez dost\k{e}pu do Internetu (ale sk\k{a}d oni mieli
+% by mie\'c ten pakiet?).
+%
+% Pakiet zosta{\l} pomy\'{s}lany jako dodatek do pakietu \textsf{Po
+% polsku} autorstwa Mariusza Olko. Mo\.{z}na go jednak stosowa\'c
+% niezale\.{z}nie. Skutkiem zadeklarowania jego u\.{z}ycia
+% komend\k{a} |\usepackage{ot1patch}| jest zmiana definicji
+% niekt\'{o}rych komend akcentowych w uk{\l}adzie OT1
+% (w~szczeg\'{o}lno\'{s}ci komenda |\k| produkuj\k{a}ca ogonek,
+% przestaje powodowa\'c b{\l}\k{a}d). Uk{\l}ad OT1 nie jest w istocie
+% dobrze okre\'{s}lony, bowiem fonty ,,maszynowe'' r\'{o}\.{z}ni\k{a}
+% si\k{e} od pozosta{\l}ych na kilku pozycjach. \textsf{ot1patch}
+% troszczy si\k{e} i o t\k{e} spraw\k{e}.
+%
+% Pakiet \textsf{ot1patch} w istocie jest adaptacj\k{a} do nowego
+% \LaTeX a stylu \textsf{plfonts.sty} autorstwa Leszka Holenderskiego.
+% Styl ten jest najstaranniejsz\k{a} znan\k{a} mi wersj\k{a}
+% dorobienia protez ogonk\'{o}w do font\'{o}w Computer Modern.
+%
+% \bigskip
+% The purpose of this package is to provide substitutes of polish
+% national characters built using only old fonts (OT1). Besides of
+% producing characters missing from OT1 this package takes care of
+% less obvious matter: OT1 is not a really well-defined encoding since
+% typewritter fonts differ from others in some positions.
+%
+% The package is loaded in the standard way with the
+% |\usepackage{ot1patch}| command.
+%
+% \StopEventually{}
+%
+% \section{Implementation}
+% \iffalse
+% Since I hate the presence of section `Printing the documentation' in
+% every DOCed package my driver is put into a metacomment. To print
+% documentation LaTeX this file. If you need to change the driver run
+% DOCSTRIP and ask it to make ogonek.drv by stripping ogonek.dtx with
+% option `driver'. Do *not* modify this file.
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{ot1patch}
+\DisableCrossrefs
+%<driver>%\OnlyDescription
+%<driver>%\EnableCrossrefs
+%<driver>%\CodeLinesIndex
+\begin{document}
+ \DocInput{ot1patch.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \subsection{Identification}
+% We start the code with standard identification of the package
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{ot1patch}[\filedate\space\fileversion\space
+ A patch for some OT1 characters (MW)]
+% \end{macrocode}
+%
+% \subsection{The \texttt{\string\k} macro (polish ogonek)}
+% This comes from L.~Holenderski's \texttt{plfonts.sty}.
+% Positioning of ogonek for specific letters is tuned for 300dpi
+% Computer Modern fonts, but works reasonably well with other
+% resolutions.
+%
+% Ogonek is made from half-circle used by \TeX\ to produce
+% $\hookrightarrow$.
+% \begin{macro}{\@sob}
+% Macro |\@sob| positioning ogonek under a letter. Parameters are
+% letter and fractions hl,ho,vl,vo.
+% \begin{macrocode}
+\dimendef\pl@left=0 \dimendef\pl@down=1
+\dimendef\pl@right=2 \dimendef\pl@temp=3
+\def\@sob#1#2#3#4#5{%
+ \setbox0\hbox{#1}\setbox1\hbox{$_\mathchar'454$}\setbox2\hbox{p}%
+ \pl@right=#2\wd0 \advance\pl@right by-#3\wd1
+ \pl@down=#5\ht1 \advance\pl@down by-#4\ht0
+ \pl@left=\pl@right \advance\pl@left by\wd1
+ \pl@temp=-\pl@down \advance\pl@temp by\dp2 \dp1=\pl@temp
+ \leavevmode
+ \kern\pl@right\lower\pl@down\box1\kern-\pl@left #1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@iIuUogonek}
+% \begin{macro}{\k}
+% Here is the |\k| default macro (it is not normally defined in OT1), with
+% special positioning of ogonek for some letters. We don't do this with
+% |\DeclareTextCompositeCommand| because it wouldn't fit with the defaults
+% mechanism.
+% \begin{macrocode}
+\def\@iIuUogonek#1{%
+ \ifx i#1\@sob i{.66}{.20}{0}{.90}\else
+ \ifx I#1\@sob I{.80}{.50}{0}{.90}\else
+ \ifx u#1\@sob u{.66}{.20}{0}{.90}\else
+ \ifx U#1\@sob U{.60}{.35}{0}{.90}\else
+ \@sob {#1}{.50}{.35}{0}{.90}\fi
+ \fi \fi \fi
+ }
+\DeclareTextCommandDefault\k[1]{%
+ \ifx a#1\@sob a{.66}{.20}{0}{.90}\else
+ \ifx A#1\@sob A{.80}{.50}{0}{.90}\else
+ \ifx e#1\@sob e{.50}{.35}{0}{.93}\else
+ \ifx E#1\@sob E{.60}{.35}{0}{.90}\else
+ \@iIuUogonek{#1}%
+ \fi \fi \fi \fi
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Polish crossed l}
+% Since in typewritter fonts there is no cross character for polish \l\ we
+% will have to take special actions then. For that purpose we define the
+% next macro. It performs a rather devious check if the font in use is
+% `typewritter like'. Regular text fonts contain in position '40 the cross
+% for polish \l, but in typewritter `visible space' occurs there. Second
+% of these characters has positive depth, contrary to the first, so we
+% check for that. This is slow, better check is welcome.
+%
+% \begin{macrocode}
+\def\if@ttfont#1#2{\setbox0=\hbox{\char'40}\ifdim\dp0>0pt#1\else#2\fi}
+% \end{macrocode}
+%
+% \begin{macro}{\@spb}
+% This definition is used to cross l or L in typewritter fonts.
+% \changes{0.2}{1997/06/07}{Added leavevmode}
+% \begin{macrocode}
+\def\@spb#1#2#3#4#5{%
+ \setbox0\hbox{#1}\setbox2\hbox{\char'023}%
+ \pl@right=#2\wd0 \advance\pl@right by-#3\wd2
+ \pl@down=#5\ht2 \advance\pl@down by-#4\ht0
+ \pl@left=\pl@right \advance\pl@left by\wd2
+ \ht2=\pl@down \dp2=-\pl@down
+ \leavevmode
+ \kern\pl@right\lower\pl@down\box2\kern-\pl@left #1}
+% \end{macrocode}
+% \end{macro}
+%
+% And here are definitions of |\l| and |\L|. Unfortunately we have
+% to redefine \LaTeX's values.
+% \begin{macrocode}
+\DeclareTextCommand\l{OT1}{%
+ \if@ttfont{\@spb l{.45}{.5}{.4}{.8}}%
+ {{\char32l}}}
+\DeclareTextCommand\L{OT1}{%
+ \if@ttfont{\@spb L{.23}{.5}{.4}{.8}}%
+ {\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}}}
+% \end{macrocode}
+%
+% \subsection{Dot accent}
+% \begin{macro}{\@skb}
+% \changes{0.2}{1997/06/07}{Added leavevmode}
+% Typewritter fonts don't contain the dot accent so we use raised
+% period instead. As this style is prepared with polish language
+% in mind, this is done for \.z only.
+% \begin{macrocode}
+\def\@skb#1#2#3#4#5{%
+ \setbox0\hbox{#1}\setbox1\hbox{\char'056}%
+ \pl@right=#2\wd0 \advance\pl@right by-#3\wd1
+ \pl@down=#5\ht1 \advance\pl@down by-#4\ht0
+ \pl@left=\pl@right \advance\pl@left by\wd1
+ \leavevmode
+ \kern\pl@right\lower\pl@down\box1\kern-\pl@left #1}
+% \end{macrocode}
+% \end{macro}
+%
+% And appropriate redefinition for |\.|:
+% \begin{macrocode}
+\DeclareTextCompositeCommand\.{OT1}z{%
+ \if@ttfont{\@skb z{.5}{.5}{1.2}{0}}%
+ {{\accent'137z}}}
+\DeclareTextCompositeCommand\.{OT1}Z{%
+ \if@ttfont{\@skb Z{.5}{.5}{1.1}{0}}%
+ {{\accent'137Z}}}
+% \end{macrocode}
+%
+% \subsection{French quotes
+% (\guillemotleft guillemotes\guillemotright)}
+% \changes{0.2}{1997/06/18}{Added \cs{leavevmode}}
+% Here is the best substitute for guillemotes we could think of.
+% \begin{macrocode}
+\DeclareTextCommandDefault\guillemotleft
+ {\leavevmode\raise.3ex
+ \hbox{$\scriptscriptstyle\langle\!\langle$}}
+\DeclareTextCommandDefault\guillemotright
+ {\leavevmode\raise.3ex
+ \hbox{$\scriptscriptstyle\rangle\!\rangle$}}
+% \end{macrocode}
+%
+% And that's all.
+% \begin{macrocode}
+\endinput
+%</package>
+% \end{macrocode}
+%
+%
+% \Finale
diff --git a/Master/texmf-dist/source/latex/polski/ot1patch.ins b/Master/texmf-dist/source/latex/polski/ot1patch.ins
new file mode 100644
index 00000000000..86c64a5fbba
--- /dev/null
+++ b/Master/texmf-dist/source/latex/polski/ot1patch.ins
@@ -0,0 +1,7 @@
+\def\batchfile{ot1patch.ins}
+\input docstrip
+
+\preamble
+\endpreamble
+
+\generate{\file{ot1patch.sty}{\from{ot1patch.dtx}{package}}}
diff --git a/Master/texmf-dist/source/latex/polski/platex.ins b/Master/texmf-dist/source/latex/polski/platex.ins
new file mode 100644
index 00000000000..47667013aa5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/polski/platex.ins
@@ -0,0 +1,196 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%%
+%% Copyright (C) 1994 by Mariusz Olko. All rights reserved.
+%% Copyright (C) 1997,1998 by Mariusz Olko and Marcin Woli\'nski.
+%% Copyright (C) 2000,2002,2003 by Marcin Woli\'nski.
+%%
+%% This file is part of the package `PLaTeX'
+%% -----------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 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.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% In particular, NO PERMISSION is granted to modify the contents of this
+%% file since it contains the legal notices that are placed in the files
+%% it generates.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\input docstrip
+\keepsilent
+
+\declarepreamble\mainpreamble
+
+This is a generated file.
+
+Copyright (C) 1994 by Mariusz Olko. All rights reserved.
+Copyright (C) 1997,1998 by Mariusz Olko and Marcin Woli\string\'nski.
+Copyright (C) 2000,2002,2003 by Marcin Woli\string\'nski.
+
+
+This file is part of the package `PLaTeX'
+-----------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.2
+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.2 or later is part of all distributions of LaTeX
+version 1999/12/01 or later.
+
+This file may only be distributed together with a copy of the PLaTeX
+package.
+
+\endpreamble
+
+\declarepreamble\cfgpreamble
+
+This is a generated file.
+
+Copyright (C) 2000,2002,2003 by Marcin Woli\string\'nski.
+
+This file is part of the package `PLaTeX'
+-----------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.2
+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.2 or later is part of all distributions of LaTeX
+version 1999/12/01 or later.
+
+This file may only be distributed together with a copy of the PLaTeX
+package.
+
+In particular, permission is granted to customize the declarations in
+this file to serve the needs of your installation.
+However, NO PERMISSION is granted to distribute a modified version
+of this file under its original name.
+
+\endpreamble
+
+
+\usepreamble\mainpreamble
+
+\def\batchfile{platex.ins}
+\input docstrip
+\keepsilent
+\Msg{+------------------------------------------------------------------------}
+\Msg{|}
+\Msg{| Rozpoczelas instalacje pakietu PLaTeX, ktory dostarcza narzedzi}
+\Msg{| potrzebnych do skladu w jezyku polskim LaTeXem 2e.}
+\Msg{|}
+\Msg{| Instalacja polega na usunieciu z plikow *.dtx oraz *.fdd komentarzy}
+\Msg{| i wygenerowaniu plikow czytanych bezposrednio przez LaTeXa.}
+\Msg{|}
+\Msg{| *** Czy chcesz wygenerowac pliki?}
+\Msg{|}
+\Msg{+------------------------------------------------------------------------}
+\Msg{|}
+\Msg{| Welcome to the instalation routine of bundle PLaTeX, a set of tools}
+\Msg{| aimed at typeseting in polish with LaTeX2e.}
+\Msg{|}
+\Msg{| *** Do you want to proceed?}
+\Msg{|}
+\Msg{+------------------------------------------------------------------------}
+\Ask{\odpowiedz}{[t/n] [y/n]}
+\def\1{n}
+\ifx\1\odpowiedz \expandafter\endinput \fi
+\generate{%\file{cp1250.def}{\from{strony.dtx}{windows}}
+ \file{mazovia.def}{\from{strony.dtx}{mazovia}}
+ \file{amigapl.def}{\from{strony.dtx}{amigapl}}
+ \file{qxenc.def}{\from{strony.dtx}{qx}}
+ \file{hyphen.cfg}{\from{polski.dtx}{hyphenation}}
+ \file{polski.sty}{\from{polski.dtx}{style}}
+% Tu mozna wlaczyc generowanie ot4enc.def (dla starszych dystrybucji LaTeXa)
+% \file{ot4enc.def}{\from{polski.dtx}{encoding}}
+}
+\batchinput{plprefix.ins}
+\batchinput{ot1patch.ins}
+\Msg{+------------------------------------------------------------------------}
+\Msg{|}
+\Msg{| Wygenerowane zostaly podstawowe pliki umozliwiajace kompilacje}
+\Msg{| dokumentow w jezyku polskim.}
+\Msg{| \space\space\space Kolejnym krokiem jest wygenerowanie plikow
+ zawierajacych}
+\Msg{| opis polskich czcionek zainstalowanych na Twoim komputerze.}
+\Msg{| Jesli na Twoim komputerze nie ma zainstalowanych czcionek `pl'}
+\Msg{| pochodzacych z dystrybucji MeXa, opisy czcionek nie powinny zostac}
+\Msg{| wygenerowane, aby nie wprowadzic w blad LaTeXa!}
+\Msg{|}
+\Msg{| *** Czy na Twoim komputerze sa zainstalowane czcionki `pl'?}
+\Msg{|}
+\Msg{+------------------------------------------------------------------------}
+\Msg{|}
+\Msg{| The basic polish language styles are already generated.}
+\Msg{| Now we are ready to generate font description files.}
+\Msg{|}
+\Msg{| *** Do you have fonts `pl' installed on your system?}
+\Msg{|}
+\Msg{+------------------------------------------------------------------------}
+\Ask{\odpowiedz}{[t/n] [y/n]}
+\def\1{n}
+\ifx\1\odpowiedz \expandafter\endbatchfile \fi
+%\generate{\file{ot4cmss.fd}{\from{plfonts.fdd}{fd,ori,OT4,cmss}}
+% \file{ot4cmr.fd}{\from{plfonts.fdd}{fd,ori,OT4,cmr}}
+% \file{ot4cmtt.fd}{\from{plfonts.fdd}{fd,ori,OT4,cmtt}}
+% \file{ot4cmfib.fd}{\from{plfonts.fdd}{fd,ori,OT4,cmfib}}
+% \file{ot4cmfr.fd}{\from{plfonts.fdd}{fd,ori,OT4,cmfr}}
+% \file{ot4cmdh.fd}{\from{plfonts.fdd}{fd,ori,OT4,cmdh}}
+% \file{ot4ccr.fd}{\from{plfonts.fdd}{fd,ori,OT4,ccr}}
+% \file{omlplcm.fd}{\from{plfonts.fdd}{fd,ori,OMLplcm}}
+% \file{omlplm.fd}{\from{plfonts.fdd}{fd,ori,OMLplm}}
+% \file{omsplsy.fd}{\from{plfonts.fdd}{fd,ori,OMSplsy}}
+% \file{omxplex.fd}{\from{plfonts.fdd}{fd,ori,OMXplex}}
+%}
+\generate{\usepreamble\cfgpreamble
+ \file{ot4cmss.fd}{\from{plfonts.fdd}{OT4cmss,any}}
+ \file{ot4cmr.fd}{\from{plfonts.fdd}{OT4cmr,any}}
+ \file{ot4cmtt.fd}{\from{plfonts.fdd}{OT4cmtt,any}}
+ \file{ot4cmfib.fd}{\from{plfonts.fdd}{OT4cmfib,any}}
+ \file{ot4cmfr.fd}{\from{plfonts.fdd}{OT4cmfr,any}}
+ \file{ot4cmdh.fd}{\from{plfonts.fdd}{OT4cmdh,any}}
+ \file{ot4ccr.fd}{\from{plfonts.fdd}{OT4ccr,any}}
+ \file{omlplcm.fd}{\from{plfonts.fdd}{OMLplcm,any}}
+ \file{omlplm.fd}{\from{plfonts.fdd}{OMLplm,any}}
+ \file{omsplsy.fd}{\from{plfonts.fdd}{OMSplsy,any}}
+ \file{omxplex.fd}{\from{plfonts.fdd}{OMXplex,any}}
+}
+\Msg{+------------------------------------------------------------------------}
+\Msg{|}
+\Msg{| Skopiuj teraz pliki *.sty, *.def, *.fd, hyphen.cfg, plhyph.tex}
+\Msg{| oraz language.dat do katalogu czytanego przez TeXa podczas kompilacji}
+\Msg{| i jesli chcesz moc uzywac polskich wzorcow przenoszenia, wygeneruj}
+\Msg{| ponownie format LaTeX.}
+\Msg{|}
+\Msg{| Powodzenia!}
+\Msg{|}
+\Msg{+------------------------------------------------------------------------}
+
+\endbatchfile
+
+%% \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 \~}
diff --git a/Master/texmf-dist/source/latex/polski/plfonts.fdd b/Master/texmf-dist/source/latex/polski/plfonts.fdd
new file mode 100644
index 00000000000..c8d082a06a1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/polski/plfonts.fdd
@@ -0,0 +1,646 @@
+% \iffalse meta-comment -*- doctex -*-
+%
+% Copyright 2000 by Marcin Woli\'nski. All rights reserved.
+%
+% This file is part of the PLaTeX package.
+% ----------------------------------------
+%
+% The file may be distributed under the terms of the LaTeX Project
+% Public License, as described in lppl.txt in the base LaTeX
+% distribution. Either version 1.2 or, at your option, any later
+% version.
+%
+% \fi
+% \CheckSum{106}
+%
+%\iffalse This is a meta comment
+%
+%<OMLplcm>\ProvidesFile{omlplcm.fd}
+%<OMLplm>\ProvidesFile{omlplm.fd}
+%<OMLplr>\ProvidesFile{omlplr.fd}
+%<OMSplr>\ProvidesFile{omsplr.fd}
+%<OMSplsy>\ProvidesFile{omsplsy.fd}
+%<OMXplex>\ProvidesFile{omxplex.fd}
+%<OT4ccr>\ProvidesFile{ot4ccr.fd}
+%<OT4cmdh>\ProvidesFile{ot4cmdh.fd}
+%<OT4cmfib>\ProvidesFile{ot4cmfib.fd}
+%<OT4cmfr>\ProvidesFile{ot4cmfr.fd}
+%<OT4cmr>\ProvidesFile{ot4cmr.fd}
+%<OT4cmss>\ProvidesFile{ot4cmss.fd}
+%<OT4cmtt>\ProvidesFile{ot4cmtt.fd}
+%<OT4cmvtt>\ProvidesFile{ot4cmvtt.fd}
+%<*driver>
+ \ProvidesFile{plfonts.drv}
+%</driver>
+ [2000/10/09 v1.2 Font defs for fonts PL (MW)]
+%
+%<*driver>
+\documentclass{ltxdoc}
+\GetFileInfo{plfonts.drv}
+\providecommand\dst{\expandafter{\normalfont\scshape docstrip}}
+\title{Font definitions for Polish adaptation of Computer~Modern
+ typefaces.\thanks{This file has version
+ number \fileversion, dated \filedate.
+ This file is derived from the \texttt{cmfonts.fdd}
+ version 2.5g dated 1998/03/27 distributed with \LaTeXe.}}
+\date{\filedate}
+\author{Marcin Woli\'nski}
+\begin{document}
+\maketitle
+\tableofcontents
+ \DocInput{plfonts.fdd}
+\end{document}
+%</driver>
+%
+%\fi
+%
+% \section{Introduction}
+%
+% This file contains the external font information needed to load
+% Polish adaptation of the Computer Modern fonts designed by Don Knuth.
+% From this file \texttt{.fd} files for
+% Computer Modern in \texttt{OT4} encoding are generated.
+%
+% \StopEventually{}
+%
+% \section{The \texttt{docstrip} modules}
+%
+% The following modules are used to direct \texttt{docstrip} in
+% generating external files:
+% \begin{center}
+% \begin{tabular}{ll}
+% driver & produce a documentation driver file \\
+% any & assume fonts are available at any size\\
+% OMLplcm & make Concrete Roman Math italic\\
+% OMLplm & make Computer Modern Math italic\\
+% OMLplr & make Computer Modern Roman (math italic encoding)\\
+% OMSplr & make Computer Modern Roman (math symbol encoding)\\
+% OMSplsy & make Computer Modern Symbols \\
+% OMXplex & make Computer Modern large Symbols\\
+% OT4ccr & make Concrete Roman (old encoding) \\
+% OT4cmdh & make Computer Modern Dunhill (old encoding)\\
+% OT4cmfib & make Computer Modern Fibonacci (old encoding)\\
+% OT4cmfr & make Computer Modern Funny (old encoding)\\
+% OT4cmr & make Computer Modern Roman (old encoding)\\
+% OT4cmss & make Computer Modern Sans (old encoding)\\
+% OT4cmtt & make Computer Modern Typewriter (old encoding)\\
+% OT4cmvtt & make Computer Modern Variable Typewriter (old encoding)\\
+% \end{tabular}
+% \end{center}
+% A typical \texttt{docstrip} command file would then have entries like:
+% \begin{verbatim}
+%\generateFile{ot4cmr.fd}{t}{\from{plfonts.fdd}{fd,OT4cmr}}
+%\end{verbatim}
+%
+%
+% \section{The font definition files}
+%
+% \subsection{Text encoding (\texttt{OT4})}
+%
+% Note that in contrast to the Cork encoding, which is fully
+% defined, the old \TeX{} text encoding \texttt{OT1} isn't
+% implemented consistent
+% within all fonts. Most noticeably a dollar sign (\$) in
+% some fonts is replaced by a pound symbol (\pounds) in others,
+% which produced quite a number of bug fixes in the NFSS1. Also the
+% typewriter fonts contain a few different characters which are not
+% present in other fonts. \texttt{OT4} encoding inherits these
+% features from \texttt{OT1}
+%
+% If one would use the philosophy of NFSS2 consequently all these
+% would therefore be different encodings and font mixing would
+% therefore be nearly impossible with older fonts. Therefore such
+% encodings are considered the same but one should be remember that
+% in some situations this may cause problems.
+%
+% \subsubsection{Computer Modern Roman}
+%
+% \begin{macrocode}
+%<*OT4cmr>
+\DeclareFontFamily{OT4}{cmr}{\hyphenchar\font45 }
+\DeclareFontShape{OT4}{cmr}{m}{n}%
+%<*!any>
+ {<5><6><7><8><9><10><12>gen*plr%
+ <10.95>plr10%
+ <14.4>plr12%
+ <17.28><20.74><24.88>plr17}{}
+%</!any>
+%<*any>
+ {<-5.5> plr5 <5.5-6.5> plr6
+ <6.5-7.5> plr7 <7.5-8.5> plr8
+ <8.5-9.5> plr9 <9.5-11> plr10
+ <11-15> plr12
+ <15-> plr17
+ }{}
+%</any>
+\DeclareFontShape{OT4}{cmr}{m}{sl}%
+%<*!any>
+ {<5><6><7>plsl8%
+ <8><9>gen*plsl%
+ <10><10.95>plsl10%
+ <12><14.4><17.28><20.74><24.88>plsl12%
+ }{}
+%</!any>
+%<*any>
+ {<-8.5> plsl8 <8.5-9.5> plsl9
+ <9.5-11> plsl10 <11-> plsl12
+ }{}
+%</any>
+\DeclareFontShape{OT4}{cmr}{m}{it}%
+%<*!any>
+ {<5><6><7>plti7%
+ <8>plti8%
+ <9>plti9%
+ <10><10.95>plti10%
+ <12><14.4><17.28><20.74><24.88>plti12%
+ }{}
+%</!any>
+%<*any>
+ {<-7.5> plti7
+ <7.5-8.5> plti8 <8.5-9.5> plti9
+ <9.5-11> plti10 <11-> plti12
+ }{}
+%</any>
+\DeclareFontShape{OT4}{cmr}{m}{sc}%
+%<*!any>
+ {<5><6><7><8><9><10><10.95><12>%
+ <14.4><17.28><20.74><24.88>plcsc10%
+ }{}
+%</!any>
+%<*any>
+ {<-> plcsc10}{}
+%</any>
+% \end{macrocode}
+% Here we try to cure the famous \$ $\to$ \pounds{} bug:
+% \begin{macrocode}
+%<+OT4cmr>% Warning: please note that the upright shape below is
+%<+OT4cmr>% used for the \pounds symbol of LaTeX. So this
+%<+OT4cmr>% font definition shouldn't be removed.
+%<+OT4cmr>%
+\DeclareFontShape{OT4}{cmr}{m}{ui}
+%<*!any>
+ {<5><6><7><8><9><10><10.95><12>%
+ <14.4><17.28><20.74><24.88>plu10%
+ }{}
+%</!any>
+%<*any>
+ {<-> plu10}{}
+%</any>
+%<+OT4cmr>%%%%%%% bold series
+\DeclareFontShape{OT4}{cmr}{b}{n}
+%<*!any>
+ {<5><6><7><8><9><10><10.95><12>%
+ <14.4><17.28><20.74><24.88>plb10%
+ }{}
+%</!any>
+%<*any>
+ {<-> plb10}{}
+%</any>
+%<+OT4cmr>%%%%%%%% bold extended series
+\DeclareFontShape{OT4}{cmr}{bx}{n}
+%<*!any>
+ {<5><6><7><8><9>gen*plbx%
+ <10><10.95>plbx10%
+ <12><14.4><17.28><20.74><24.88>plbx12%
+ }{}
+%</!any>
+%<*any>
+ {<-5.5> plbx5 <5.5-6.5> plbx6
+ <6.5-7.5> plbx7 <7.5-8.5> plbx8
+ <8.5-9.5> plbx9 <9.5-11> plbx10
+ <11-> plbx12
+ }{}
+%</any>
+\DeclareFontShape{OT4}{cmr}{bx}{sl}
+%<*!any>
+ {<5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88>plbxsl10%
+ }{}
+%</!any>
+%<*any>
+ {<-> plbxsl10}{}
+%</any>
+\DeclareFontShape{OT4}{cmr}{bx}{it}
+%<*!any>
+ {<5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88>plbxti10%
+ }{}
+%</!any>
+%<*any>
+ {<-> plbxti10}{}
+%</any>
+%<+OT4cmr>% Again this is necessary for a correct \pounds symbol in
+%<+OT4cmr>% the cmr fonts Hopefully the dc/ec font layout will take
+%<+OT4cmr>% over soon.
+%<+OT4cmr>%
+\DeclareFontShape{OT4}{cmr}{bx}{ui}
+ {<->sub*cmr/m/ui}{}
+%</OT4cmr>
+% \end{macrocode}
+%
+% \subsubsection{Computer Modern Sans}
+%
+% Same game for the Sans family.
+% \begin{macrocode}
+%<*OT4cmss>
+\DeclareFontFamily{OT4}{cmss}{\hyphenchar\font45 }
+\DeclareFontShape{OT4}{cmss}{m}{n}
+%<*!any>
+ {<5><6><7><8>plss8%
+ <9>plss9%
+ <10><10.95>plss10%
+ <12><14.4>plss12%
+ <17.28><20.74><24.88>plss17%
+ }{}
+%</!any>
+%<*any>
+ {<-8.5> plss8
+ <8.5-9.5> plss9 <9.5-11> plss10
+ <11-15.5> plss12 <15.5-> plss17
+ }{}
+%</any>
+\DeclareFontShape{OT4}{cmss}{m}{it}
+ {<->ssub*cmss/m/sl}{}
+\DeclareFontShape{OT4}{cmss}{m}{sl}
+%<*!any>
+ {<5><6><7><8>plssi8<9>plssi9%
+ <10><10.95>plssi10%
+ <12><14.4>plssi12%
+ <17.28><20.74><24.88>plssi17%
+ }{}
+%</!any>
+%<*any>
+ {<-8.5> plssi8
+ <8.5-9.5> plssi9 <9.5-11> plssi10
+ <11-15.5> plssi12 <15.5-> plssi17
+ }{}
+%</any>
+%<+OT4cmss>%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{OT4}{cmss}{m}{sc}
+ {<->sub*cmr/m/sc}{}
+%<+OT4cmss>%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{OT4}{cmss}{m}{ui}
+ {<->sub*cmr/m/ui}{}
+%<+OT4cmss>%%%%%%%% semibold condensed series
+\DeclareFontShape{OT4}{cmss}{sbc}{n}
+%<*!any>
+ {<5><6><7><8><9>
+ <10><10.95><12><14.4><17.28><20.74><24.88>plssdc10%
+ }{}
+%</!any>
+%<+any>{<-> plssdc10}{}
+%<+OT4cmss>%%%%%%%%% bold extended series
+\DeclareFontShape{OT4}{cmss}{bx}{n}
+%<*!any>
+ {<5><6><7><8><9>
+ <10><10.95><12><14.4><17.28><20.74><24.88>plssbx10%
+ }{}
+%</!any>
+%<+any>{<-> plssbx10}{}
+%<+OT4cmss>%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{OT4}{cmss}{bx}{ui}
+ {<->sub*cmr/bx/ui}{}
+%</OT4cmss>
+% \end{macrocode}
+%
+% \subsubsection{Computer Modern Typewriter}
+%
+% Notice that this encoding is in fact quite different and we
+% shouldn't therefore substitute some other font group if the
+% correct size or shape isn't available. Otherwise, we may end with
+% a |\verb| suddenly producing a lot of funny chars instead of the
+% desired ones.
+% \begin{macrocode}
+%<*OT4cmtt>
+\DeclareFontFamily{OT4}{cmtt}{\hyphenchar \font\m@ne}
+\DeclareFontShape{OT4}{cmtt}{m}{n}
+%<*!any>
+ {<5><6><7><8>pltt8
+ <9>pltt9%
+ <10><10.95>pltt10%
+ <12><14.4><17.28><20.74><24.88>pltt12%
+ }{}
+%</!any>
+%<*any>
+ {<-8.5> pltt8 <8.5-9.5> pltt9
+ <9.5-11> pltt10 <11-> pltt12
+ }{}
+%</any>
+\DeclareFontShape{OT4}{cmtt}{m}{it}
+%<*!any>
+ {<5><6><7><8><9>
+ <10><10.95><12><14.4><17.28><20.74><24.88> plitt10
+ }{}
+%</!any>
+%<+any>{<-> plitt10}{}
+\DeclareFontShape{OT4}{cmtt}{m}{sl}
+%<*!any>
+ {<5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88>plsltt10%
+ }{}
+%</!any>
+%<+any>{<-> plsltt10}{}
+\DeclareFontShape{OT4}{cmtt}{m}{sc}
+%<*!any>
+ {<5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88>pltcsc10%
+ }{}
+%</!any>
+%<+any>{<-> pltcsc10}{}
+\DeclareFontShape{OT4}{cmtt}{m}{ui}
+ {<->sub*cmtt/m/it}{}
+\DeclareFontShape{OT4}{cmtt}{bx}{n}
+ {<->sub*cmtt/m/n}{}
+\DeclareFontShape{OT4}{cmtt}{bx}{it}
+ {<->sub*cmtt/m/it}{}
+\DeclareFontShape{OT4}{cmtt}{bx}{ui}
+ {<->sub*cmtt/m/it}{}
+%</OT4cmtt>
+% \end{macrocode}
+%
+%
+% \subsubsection{Computer Modern Variable Typewriter}
+%
+% The Computer Modern Variable Typewriter family is the
+% proportional spaced version of the Computer Modern Typewriter
+% family. It is implemented as a separate family to allow easy use
+% in normal text, including changes of shape/series etc if available.
+% This family also allows normal hyphenation.
+% \begin{macrocode}
+%<*OT4cmvtt>
+\DeclareFontFamily{OT4}{cmvtt}{\hyphenchar\font45 }
+\DeclareFontShape{OT4}{cmvtt}{m}{n}%
+%<*!any>
+ {<5><6><7><8><9><10><10.95>%
+ <12><14.4><17.28><20.74><24.88>plvtt10%
+ }{}
+%</!any>
+%<+any>{<-> plvtt10}{}
+%</OT4cmvtt>
+% \end{macrocode}
+%
+%
+% \subsubsection{Computer Modern Funny}
+%
+% \begin{macrocode}
+%<*OT4cmfr>
+\DeclareFontFamily{OT4}{cmfr}{\hyphenchar\font45 }
+\DeclareFontShape{OT4}{cmfr}{m}{n}{%
+%<-any> <10>plff10%
+%<+any> <->plff10
+ }{}
+\DeclareFontShape{OT4}{cmfr}{m}{it}{%
+%<-any> <10>plfi10%
+%<+any> <-> plfi10
+ }{}
+%</OT4cmfr>
+% \end{macrocode}
+%
+% \subsubsection{Computer Modern Dunhill}
+%
+% \begin{macrocode}
+%<*OT4cmdh>
+\DeclareFontFamily{OT4}{cmdh}{\hyphenchar\font45 }
+\DeclareFontShape{OT4}{cmdh}{m}{n}{%
+%<-any> <10>pldunh10%
+%<+any> <-> pldunh10
+ }{}
+%</OT4cmdh>
+% \end{macrocode}
+%
+% \subsubsection{Computer Modern Fibonacci}
+%
+% \begin{macrocode}
+%<*OT4cmfib>
+\DeclareFontFamily{OT4}{cmfib}{\hyphenchar\font45 }
+\DeclareFontShape{OT4}{cmfib}{m}{n}{%
+%<-any> <8>plfib8%
+%<+any> <-> plfib8
+ }{}
+%</OT4cmfib>
+% \end{macrocode}
+%
+% \subsubsection{Concrete Roman}
+%
+% \begin{macrocode}
+%<*OT4ccr>
+\DeclareFontFamily{OT4}{ccr}{\hyphenchar\font45 }
+\DeclareFontShape{OT4}{ccr}{m}{n}
+%<*!any>
+ {<5><6><7><8><9><10> gen * pcr
+ <10.95><12><14.4><17.28><20.74><24.88> pcr10}{}
+%</!any>
+%<*any>
+ {<-5.5> pcr5 <5.5-6.5> pcr6
+ <6.5-7.5> pcr7 <7.5-8.5> pcr8
+ <8.5-9.5> pcr9 <9.5-> pcr10
+ }{}
+%</any>
+\DeclareFontShape{OT4}{ccr}{m}{it}{
+%<-any> <10><10.95><12> pcti10}{}
+%<+any> <-> pcti10}{}
+\DeclareFontShape{OT4}{ccr}{m}{sc}{
+%<-any> <10><10.95><12> pccsc10}{}
+%<+any> <-> pccsc10}{}
+\DeclareFontShape{OT4}{ccr}{m}{sl}
+%<*!any>
+ {<9> pcsl9
+ <10><10.95><12> pcsl10}{}
+%</!any>
+%<*any>
+ {<-9.5> pcsl9
+ <9.5-> pcsl10}{}
+%</any>
+\DeclareFontShape{OT4}{ccr}{c}{sl}{
+%<-any> <9> pcslc9}{}
+%<+any> <-> pcslc9}{}
+% \end{macrocode}
+% Finally a few substitution fonts for combinations not available.
+% \begin{macrocode}
+\DeclareFontShape{OT4}{ccr}{bx}{n}%
+ {<->sub*cmr/bx/n}{}
+\DeclareFontShape{OT4}{ccr}{bx}{sl}%
+ {<->sub*cmr/bx/sl}{}
+\DeclareFontShape{OT4}{ccr}{bx}{it}%
+ {<->sub*cmr/bx/it}{}
+%</OT4ccr>
+% \end{macrocode}
+%
+% \subsection{Math encodings}
+%
+% \subsubsection{Computer Modern Math italics}
+% \begin{macrocode}
+%<*OMLplm>
+\DeclareFontFamily{OML}{plm}{\skewchar\font127 }
+\DeclareFontShape{OML}{plm}{m}{it}%
+%<*!any>
+ {<5><6><7><8><9>gen*plmi%
+ <10><10.95>plmi10%
+ <12><14.4><17.28><20.74><24.88>plmi12%
+ }{}
+%</!any>
+%<*any>
+ {<-5.5> plmi5 <5.5-6.5> plmi6
+ <6.5-7.5> plmi7 <7.5-8.5> plmi8
+ <8.5-9.5> plmi9 <9.5-11> plmi10
+ <11-> plmi12
+ }{}
+%</any>
+\DeclareFontShape{OML}{plm}{b}{it}
+%<*disabled>
+%<*!any>
+ {<5><6><7><8><9>gen*plmib
+ <10><10.95><12><14.4><17.28><20.74><24.88>plmib10
+ }{}
+%</!any>
+%<*any>
+ {<-5.5> plmib5 <5.5-6.5> plmib6
+ <6.5-7.5> plmib7 <7.5-8.5> plmib8
+ <8.5-9.5> plmib9 <9.5-> plmib10
+ }{}
+%</any>
+%</disabled>
+%<*!any>
+ {<5><6><7><8><9>
+ <10><10.95><12><14.4><17.28><20.74><24.88>plmib10
+ }{}
+%</!any>
+%<*any>
+ {<-> plmib10
+ }{}
+%</any>
+% \end{macrocode}
+% This will allow the |\oldstylenums| command to work within
+% |\textbf|.
+% \begin{macrocode}
+\DeclareFontShape{OML}{plm}{bx}{it}%
+ {<->ssub*cmm/b/it}{}
+%</OMLplm>
+% \end{macrocode}
+%
+% \subsubsection{Computer Modern Roman Math italics}
+%
+% Some text symbols like `\t oo' and `$<$' are kept in the OML
+% encoding, so we need font substititutions from OML/cmr to OML/cmm.
+% \begin{macrocode}
+%<*OMLplr>
+\DeclareFontFamily{OML}{plr}{\skewchar\font127 }
+\DeclareFontShape{OML}{plr}{m}{n}%
+ {<->ssub*plm/m/it}{}
+\DeclareFontShape{OML}{plr}{m}{it}%
+ {<->ssub*plm/m/it}{}
+\DeclareFontShape{OML}{plr}{m}{sl}%
+ {<->ssub*plm/m/it}{}
+\DeclareFontShape{OML}{plr}{m}{sc}%
+ {<->ssub*plm/m/it}{}
+\DeclareFontShape{OML}{plr}{bx}{n}%
+ {<->ssub*plm/b/it}{}
+\DeclareFontShape{OML}{plr}{bx}{it}%
+ {<->ssub*plm/b/it}{}
+\DeclareFontShape{OML}{plr}{bx}{sl}%
+ {<->ssub*plm/b/it}{}
+\DeclareFontShape{OML}{plr}{bx}{sc}%
+ {<->ssub*plm/b/it}{}
+%</OMLplr>
+% \end{macrocode}
+%
+% \subsubsection{Computer Modern Math symbols}
+%
+% \begin{macrocode}
+%<*OMSplsy>
+\DeclareFontFamily{OMS}{plsy}{\skewchar\font48 }
+\DeclareFontShape{OMS}{plsy}{m}{n}
+%<*!any>
+ {<5><6><7><8><9><10>gen*plsy%
+ <10.95><12><14.4><17.28><20.74><24.88>plsy10%
+ }{}
+%</!any>
+%<*any>
+ {<-5.5> plsy5 <5.5-6.5> plsy6
+ <6.5-7.5> plsy7 <7.5-8.5> plsy8
+ <8.5-9.5> plsy9 <9.5-> plsy10
+ }{}
+%</any>
+\DeclareFontShape{OMS}{plsy}{b}{n}
+%<*disabled>
+%<*!any>
+ {<5><6><7><8><9>gen*plbsy%
+ <10><10.95><12><14.4><17.28><20.74><24.88>plbsy10%
+ }{}
+%</!any>
+%<*any>
+ {<-5.5> plbsy5 <5.5-6.5> plbsy6
+ <6.5-7.5> plbsy7 <7.5-8.5> plbsy8
+ <8.5-9.5> plbsy9 <9.5-> plbsy10
+ }{}
+%</any>
+%</disabled>
+%<*!any>
+ {<5><6><7><8><9>
+ <10><10.95><12><14.4><17.28><20.74><24.88>plbsy10%
+ }{}
+%</!any>
+%<*any>
+ {<-> plbsy10
+ }{}
+%</any>
+%</OMSplsy>
+% \end{macrocode}
+%
+% \subsubsection{Computer Modern Roman Math symbols}
+%
+% Some text symbols like `\P' and `\dag' are kept in the OMS encoding,
+% so we need font substititutions from OMS/plr to OMS/plsy.
+% \begin{macrocode}
+%<*OMSplr>
+\DeclareFontFamily{OMS}{plr}{\skewchar\font48 }
+\DeclareFontShape{OMS}{plr}{m}{n}%
+ {<->ssub*plsy/m/n}{}
+\DeclareFontShape{OMS}{plr}{m}{it}%
+ {<->ssub*plsy/m/n}{}
+\DeclareFontShape{OMS}{plr}{m}{sl}%
+ {<->ssub*plsy/m/n}{}
+\DeclareFontShape{OMS}{plr}{m}{sc}%
+ {<->ssub*plsy/m/n}{}
+\DeclareFontShape{OMS}{plr}{bx}{n}%
+ {<->ssub*plsy/b/n}{}
+\DeclareFontShape{OMS}{plr}{bx}{it}%
+ {<->ssub*plsy/b/n}{}
+\DeclareFontShape{OMS}{plr}{bx}{sl}%
+ {<->ssub*plsy/b/n}{}
+\DeclareFontShape{OMS}{plr}{bx}{sc}%
+ {<->ssub*plsy/b/n}{}
+%</OMSplr>
+% \end{macrocode}
+%
+% \subsubsection{Computer Modern large symbols}
+%
+% \begin{macrocode}
+%<*OMXplex>
+\DeclareFontFamily{OMX}{plex}{}
+\DeclareFontShape{OMX}{plex}{m}{n}{%
+ <->sfixed*plex10%
+ }{}
+%</OMXplex>
+% \end{macrocode}
+%
+% \subsubsection{Concrete Roman math italics}
+%
+% \begin{macrocode}
+%<*OMLplcm>
+\DeclareFontFamily{OML}{plcm}{\skewchar\font127 }
+\DeclareFontShape{OML}{plcm}{m}{it}
+%<-any> {<10><10.95><12> pcmi10 }{}
+%<+any> {<-> pcmi10 }{}
+%</OMLplcm>
+% \end{macrocode}
+%
+% The next line goes into all files and in addition prevents \dst{}
+% from adding any further code from the main source file (such as a
+% character table).
+% \begin{macrocode}
+\endinput
+% \end{macrocode}
+%
+% \Finale
+%
diff --git a/Master/texmf-dist/source/latex/polski/plprefix.dtx b/Master/texmf-dist/source/latex/polski/plprefix.dtx
new file mode 100644
index 00000000000..c5819e2419a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/polski/plprefix.dtx
@@ -0,0 +1,389 @@
+% \iffalse -*- doctex -*-
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Package plprefix %%
+%% %%
+%% Purpose: to provide various variants of prefix notation for %%
+%% polish diacritical characters. %%
+%% %%
+%% Copyright (c) by Marcin Woli\'nski <2003/01/09> %%
+%% wolinski@gust.org.pl %%
+%% %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% The package may be used freely, but you are not allowed to modify %%
+%% this file. If you wish to make any changes please make a copy %%
+%% under a different name. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \fi
+%
+% \CheckSum{255}
+% \def\plpref{\textsf{plprefix}}
+% \def\popolsku{\textsc{P\LaTeX}}
+%
+% \prefixing
+% \title{Prefiksowa notacja polskich znak/ow diakrytycznych.\\
+% Pakiet \plpref}
+% \author{Marcin Woli\'nski}
+% \date{9 stycz/nia 2003}
+% \maketitle
+%
+%
+% \section*{Wst/ep}
+% Notacja prefiksowa (,,ciachowa'') polega na zapisywaniu polskich
+% znak/ow diakrytycznych w~postaci dw/och znak/ow: \textit{prefiks}
+% oraz \textit{litera} (oba znaki o kodach $\leq127$). W~systemach,
+% w~kt/orych nie daje si/e w~spos/ob naturalny wy/swietla/c na ekranie
+% polskich znak/ow, taki zapis jest stosunkowo atrakcyjn/a alternatyw/a
+% dla stosowania standardowych makr \LaTeX a dla akcent/ow (|\'|, |\.|
+% i |\k|).
+%
+% Niestety w/sr/od polskich \TeX nik/ow nie ma zgodno/sci co do tego,
+% jaki znak powinien s/lu/zy/c jako prefiks. W czasach
+% prehistorycznych u/zywany bywa/l znak \texttt{@}, w /srodowiskach
+% zbli/zonych do Wydzia/lu Matematyki UW nadal popularna jest notacja
+% z czudzys/lowem (\texttt{"}), za/s od pojawienia si/e \MeX a na
+% popularno/sci zaczyna zyskiwa/c slash (,,ciach'' \texttt{//}). To
+% jednak nie koniec problemu, bowiem nie ma r/ownie/z zgodno/sci jak
+% zapisywa/c litery /x i /z. Spotykane wersje to prefiks-x $\to$ /x i
+% prefiks-z $\to$ /z oraz prefiks-z $\to$ /x i prefiks-r $\to$ /z.
+%
+% Pakiet \plpref\ stanowi dodatek do pakietu \popolsku,
+% umo/zliwiaj/acy wyb/or u/zywanej notacji prefiksowej. Mnogo/s/c
+% pogl/ad/ow w kwestii notacji nale/zy jednak uzna/c za niekorzystn/a
+% i promowa/c jedn/a notacj/e (w/la/sciwym kandydatem wydaje si/e
+% notacja \MeX a). Inaczej m/owi/ac stosowanie pakietu \plpref\ nie
+% jest zalecane jako /ze ,,oficjaln/a'' notacj/e prefiksow/a
+% obs/luguje pakiet \popolsku. Pakiet \plpref\ zosta/l stworzony z
+% my/sl/a o umo/zliwieniu u/zytkowania \LaTeX a wszystkim
+% nieszcz/e/snikom, kt/orzy po prostu nie s/a w stanie patrze/c na
+% ciacha, marz/a za to o swojskim cudzys/lowie lub czym innym.
+%
+% \section{Instrukcja u/zytkownika}
+%
+% Pakiet \plpref\ /laduje si/e przy pomocy deklaracji |\usepackage|.
+% Aby dokona/c wyboru notacji nale/zy poda/c jako opcj/e zamierzony
+% spos/ob wprowadzania litery /z. Poni/zsza tabela przedstawia
+% dost/epne mo/zliwo/sci.
+%
+% \begin{center}
+% \nonprefixing
+% \begin{tabular}{ccccccccccl}
+% Opcja &\k a&\'c&\k e&\l&\'n&\'o&\'s&\'z&\.z\\
+% \tt/z &/a&/c&/e&/l&/n&/o&/s&/x&/z&domy\'slna, \MeX\\
+% \tt/r &/a&/c&/e&/l&/n&/o&/s&/z&/r\\
+% \tt"z &"a&"c&"e&"l&"n&"o&"s&"x&"z\\
+% \tt"r &"a&"c&"e&"l&"n&"o&"s&"z&"r\\
+% \tt@z &@a&@c&@e&@l&@n&@o&@s&@x&@z\\
+% \tt@r &@a&@c&@e&@l&@n&@o&@s&@z&@r
+% \end{tabular}
+% \end{center}
+%
+% Na przyk/lad nast/epuj/aca deklaracja zadaje notacj/e, w kt/orej
+% prefiksem jest znak \texttt{@}, liter/e /z zapisuje si/e jako
+% \texttt{@r}, natomiast /x jako \texttt{@z}:
+% \begin{verbatim}
+% \usepackage[@r]{plprefix}
+% \end{verbatim}
+%
+% W ka/zdym przypadku aby uzyska/c znak u/zywany jako prefiks nale/zy
+% napisa/c go dwa razy. W przyk/ladzie powy/zej aby uzyska/c
+% znak ,,at'' (@) piszemy \texttt{@@}.
+%
+% Ponadto aby pozosta/c w zgodno/sci z pakietem \popolsku\ w
+% wersji 1.01 zosta/ly dodane nast/epuj/ace kombinacje:
+% \mbox{\emph{prefix}-\texttt{,}} --- otwieraj/acy cudzys/l/ow polski,
+% \mbox{\emph{prefix}-\texttt{'}} --- zamykaj/acy cudzys/l/ow polski,
+% \mbox{\emph{prefix}-\texttt{<}} --- otwieraj/acy cudzys/l/ow francuski,
+% \mbox{\emph{prefix}-\texttt{>}} --- zamykaj/acy cudzys/l/ow francuski,
+% \mbox{\emph{prefix}-\texttt{-}} --- \verb+\dywiz+. Na przyk/lad przy
+% aktywnej deklaracji powy/zej nast/epuj/acy zapis jest poprawny:
+% \begin{verbatim}
+% Jan powiedzia@l: @,Marysia powiedzia@la: @<Wychyli@lam
+% puchar @r@o@lto@-zielonej @r@o@lci@>@'.
+% \end{verbatim}
+%
+% Pakiet w trakcie /ladowania nie uaktywnia notacji prefiksowej,
+% poniewa/z je/zeli po nim /ladowane s/a jakie/s inne pakiety mog/loby
+% to powodowa/c nieoczekiwane skutki. \DescribeMacro{\prefixing}%
+% /Zeby uaktywni/c notacj/e prefiksow/a nale/zy jawnie u/zy/c
+% polecenia |\prefixing|. Polecenie to jest zwyk/l/a lokaln/a
+% deklaracj/a. U/zyte wewn/atrz grupy obejmuje swoim zasi/egiem tekst do
+% ko/nca tej grupy. \DescribeMacro{\nonprefixing}Je/zeli
+% zachodzi potrzeba wy/l/aczenia prefiksowania nale/zy u/zy/c polecenia
+% |\nonprefixing|, kt/ore r/ownie/z jest deklaracj/a lokaln/a.
+%
+% Notacja prefiksowa nie podlega automatycznemu wy/l/aczeniu w obr/ebie
+% /srodowiska \texttt{verbatim}. Jest to r/o/znica w stosunku do \MeX a,
+% natomiast jest to zgodne z zachowaniem pakietu \popolsku. Zgodnie z
+% argumentacj/a Mariusza Olko, taki uk/lad daje mo/zliwo/s/c uzyskania
+% polskich znak/ow w obr/ebie /srodowiska \texttt{verbatim}, je/zeli za/s
+% nasz/a intencj/a jest efekt jak w \MeX u, wystarczy jawnie wy/l/aczy/c
+% prefiksowanie.
+%
+%
+% \begin{small}
+% \plpref\ pozwala na zastosowanie dowolnego znaku
+% jako prefiksu. \DescribeMacro{\SetPrefixChar}Mo/zna to osi/agn/a/c przy
+% pomocy deklaracji |\SetPrefixChar| podaj/ac jako argument znak, kt/ory
+% od tej pory ma s/luzy/c jako prefiks. Oto przyk/lad sytuacji w kt/orej
+% okaza/lo si/e to potrzebne (nieco egzotyczny ale prawdziwy): sk/ladamy
+% w j/ezyku polskim dokumentacj/e programu komputerowego, program jest
+% napisany z u/zyciem \texttt{CWEB}a. Znaki \texttt{//} i |"| maj/a
+% istotne znaczenie dla j/ezyka C i ich podwajanie og/lupi/loby
+% kompilator, natomiast |@| ma specjalne znaczenie dla
+% \texttt{CWEB}a. W tym przypadku zastosowano do zapisywania polskich
+% liter znak |`|, kt/ory szcz/e/sliwie nie by/l potrzebny do uzyskania
+% cudzys/low/ow, bo tekst by/l \emph{po polsku}.
+%
+% Druga interesuj/aca mo/zliwo/s/c to definiowanie nowych kombinacji
+% \emph{prefiks//litera}. \DescribeMacro{\Prefix} Osi/aga si/e to przy
+% pomocy makra |\Prefix|. Na przyk/lad nast/epuj/ace linie definiuj/a
+% kombinacj/e \emph{prefix}|<| (np. |//<| je/zeli prefiksem jest ciach)
+% jako lewy cudzys/l/ow francuski, \emph{prefix}|>| jako prawy cudzys/l/ow
+% francuski, natomiast \emph{prefix}|g| jako napis \texttt{g/lupi pomys/l?}.
+% \begin{verbatim}
+% \Prefix\let <\guillemotleft
+% \Prefix\let >\guillemotright
+% \Prefix\def g{g/lupi pomys/l?}
+% \end{verbatim}
+% Od tej pory zapis |Czy //<//zmir//lacz//> to //g| b/edzie znaczy/l
+% ,,Czy \guillemotleft /zmir/lacz\guillemotright\ to g/lupi pomys/l?''.
+% \end{small}
+%
+% \StopEventually{}
+% \iffalse
+%<*driver>
+ \documentclass{ltxdoc}
+%<driver>% You may need to add an option to select font encoding here:
+ \usepackage[MeX]{polski}
+%<driver>% Comment in next line if you don't want to print the code
+%<driver>% \OnlyDescription
+ \begin{document}
+ \DocInput{plprefix.dtx}
+ \end{document}
+%</driver>
+% \fi
+% \nonprefixing
+%
+% \language0
+%
+% \section{Source code}
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}[1996/06/01]
+\ProvidesPackage{plprefix}[2003/01/09 v1.02
+ Prefix notation for polish characters]
+% \end{macrocode}
+% \begin{macro}{\ThePrefixChar}
+% Current prefix character of category 12 (other) will be saved in
+% macro |\ThePrefixChar|.
+% \begin{macrocode}
+\newcommand\ThePrefixChar{1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\prefixing}
+%
+% \begin{macrocode}
+\def\prefixing{\catcode\expandafter`\ThePrefixChar=\active
+ \bgroup \uccode`\~=\expandafter`\ThePrefixChar \uppercase{\egroup
+ \let~\PrefixMacro}%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\nonprefixing}
+%
+% \begin{macrocode}
+\def\nonprefixing{\catcode\expandafter`\ThePrefixChar=12 }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\SetPrefixChar}
+% Now we can define operator for selecting prefix character
+% \begin{macrocode}
+\newcommand\SetPrefixChar[1]{%
+ \nonprefixing
+ \bgroup \uccode`2=`#1\uppercase{\egroup
+ \def\ThePrefixChar{2}}%
+ \prefixing
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PrefixMacro}
+% Here we define prefix notation handler. The first thing we do is
+% to check whether the prefix character is followed by an allowed
+% token. The first test is for second identical character (or
+% macro |\PrefixMacro|), in which case we just return a current
+% prefix character with category code |<other>|.
+%
+% We assume that for all allowed prefix-token combinations there
+% are defined macros named |\pref@<token>|. If comparison with
+% |\relax| is true the macro is not defined. We issue an error
+% message with some help.
+%
+% \begin{macrocode}
+\newcommand\PrefixMacro[1]{\ifx#1\PrefixMacro
+ \ifx\protect\@typeset@protect\else\protect\string\fi\ThePrefixChar
+ \else
+ \expandafter\ifx\csname pref@\string#1\endcsname\relax
+ \PrefixingError{#1}%
+ \else \csname pref@\string#1\endcsname \fi\fi
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PrefixingError}
+% When a prefixing error is encountered we ignore the prefix but
+% leave the next token since in cases like |/\end| gobbling |/| is
+% just what is needed, but gobbling both would cause a disaster.
+% \begin{macrocode}
+\newcommand\PrefixingError[1]{%
+ \ifx\protect\@typeset@protect
+ \PackageError{plprefix}
+ {The prefix-character combination
+ \ThePrefixChar\noexpand#1 is undefined}%
+ {I will ignore the prefix character.}%
+ \else \expandafter\protect\ThePrefixChar \fi
+ \expandafter\expandafter\expandafter#1%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% Now we can set default prefix character (slash).
+% \begin{macrocode}
+\SetPrefixChar\/
+\nonprefixing
+% \end{macrocode}
+%
+% \begin{macro}{\Prefix}
+% To declare prefix-character combinations we use this auxiliary
+% macro. One says
+% \begin{verbatim}
+% \Prefix\def c{foo}
+% \end{verbatim}
+% to declare that prefix-|c| (eg. |/c|) should expand to
+% \texttt{foo}. This can be used as well with |\let|,
+% |\newcommand|, |\renewcommand|, |\ifx| etc.
+% \begin{macrocode}
+\newcommand\Prefix[2]{\expandafter#1\csname pref@#2\endcsname}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PlPrIeC}
+% This macro is needed to protect against removing white space in
+% TOC by Polish characters that have definition ending with a macro
+% call (|\l| and |\L|). The macro is identical to |\IeC| from
+% inputenc package, but we have to define it here not to depend on
+% inputenc. The name is different not to cause conflict in case
+% inputenc is loaded after plprefix.
+% \begin{macrocode}
+\def\PlPrIeC{%
+ \ifx\protect\@typeset@protect
+ \expandafter\@firstofone
+ \else
+ \noexpand\PlPrIeC
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Next come the declarations of all Polish diacritics. Polish
+% characters are defined as normal accented letters, and we expect
+% that they will expand according to their definitions in the
+% current font encoding.
+%
+% Since \LaTeX\ redefines |\'| in |tabbing| environment, and prefix
+% notation should work also there, we don't use |\'| but a nickname
+% |\@acute| defined later on.
+% \begin{macrocode}
+\Prefix\def a{\k a} \Prefix\def A{\k A}
+\Prefix\def c{\@acute c} \Prefix\def C{\@acute C}
+\Prefix\def e{\k e} \Prefix\def E{\k E}
+\Prefix\def l{\PlPrIeC{\l}} \Prefix\def L{\PlPrIeC{\L}}
+\Prefix\def n{\@acute n} \Prefix\def N{\@acute N}
+\Prefix\def o{\@acute o} \Prefix\def O{\@acute O}
+\Prefix\def s{\@acute s} \Prefix\def S{\@acute S}
+\Prefix\def x{\@acute z} \Prefix\def X{\@acute Z}
+\Prefix\def z{\.z} \Prefix\def Z{\.Z}
+% \end{macrocode}
+% Some additional prefix combinations:
+% \begin{macrocode}
+\Prefix\def ,{\PlPrIeC{\quotedblbase}}
+\Prefix\def '{\PlPrIeC{\textquotedblright}}
+\Prefix\def <{\PlPrIeC{\guillemotleft}}
+\Prefix\def >{\PlPrIeC{\guillemotright}}
+\providecommand*\dywiz{%
+ \kern0sp\discretionary{-}{-}{-}\penalty10000\hskip0sp\relax}
+\Prefix\def -{\PlPrIeC{\dywiz}}
+% \end{macrocode}
+%
+% \begin{macro}{\prefZisZkropka}
+% \begin{macro}{\prefZisZkreska}
+% Two macros for toggling between notations using [prefix-|x| for
+% \'z and prefix-|z| for \.z] and [prefix-|z| for \'z and
+% prefix-|r| for \.z].
+% \begin{macrocode}
+\newcommand\prefZisZkropka{%
+ \Prefix\let r\relax \Prefix\let R\relax
+ \Prefix\def x{\@acute z}\Prefix\def X{\@acute Z}%
+ \Prefix\def z{\.z}\Prefix\def Z{\.Z}%
+ }
+\newcommand\prefZisZkreska{%
+ \Prefix\let x\relax \Prefix\let X\relax
+ \Prefix\def z{\@acute z}\Prefix\def Z{\@acute Z}%
+ \Prefix\def r{\.z}\Prefix\def R{\.Z}%
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Package options}
+% The options select requested notation for polish characters.
+%
+% \begin{macrocode}
+\DeclareOption{/z}{\SetPrefixChar\/ \prefZisZkropka
+ \nonprefixing}
+\DeclareOption{"z}{\SetPrefixChar\" \prefZisZkropka
+ \nonprefixing}
+\DeclareOption{@z}{\SetPrefixChar\@ \prefZisZkropka
+ \catcode`\@=11}
+\DeclareOption{/r}{\SetPrefixChar\/ \prefZisZkreska
+ \nonprefixing}
+\DeclareOption{"r}{\SetPrefixChar\" \prefZisZkreska
+ \nonprefixing}
+\DeclareOption{@r}{\SetPrefixChar\@ \prefZisZkreska
+ \catcode`\@=11}
+% \end{macrocode}
+%
+% Font encoding current at begining of document can be assumed
+% default for document so we will define the nickname for |\'| then
+% (it will be slightly faster in this encoding).
+% \begin{macrocode}
+\ProcessOptions
+\AtBeginDocument{\let\@acute\'}
+%</package>
+% \end{macrocode}
+%
+% \Finale
+%
+% \endinput
+% \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 \~}
diff --git a/Master/texmf-dist/source/latex/polski/plprefix.ins b/Master/texmf-dist/source/latex/polski/plprefix.ins
new file mode 100644
index 00000000000..41892f9f498
--- /dev/null
+++ b/Master/texmf-dist/source/latex/polski/plprefix.ins
@@ -0,0 +1,8 @@
+\def\batchfile{plprefix.ins}
+\input docstrip
+\preamble
+\endpreamble
+
+\generate{\file{plprefix.sty}{\from{plprefix.dtx}{package}}}
+
+\endinput
diff --git a/Master/texmf-dist/source/latex/polski/polski.dtx b/Master/texmf-dist/source/latex/polski/polski.dtx
new file mode 100644
index 00000000000..ca5fd563f0a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/polski/polski.dtx
@@ -0,0 +1,1389 @@
+% \iffalse meta-comment -*- doctex -*-
+%
+% Copyright (C) 1994 by Mariusz Olko. All rights reserved.
+% Copyright (C) 1997,1998 by Mariusz Olko and Marcin Woli\'nski.
+% Copyright (C) 2000,2001,2003 by Marcin Woli\'nski.
+% All rights reserved.
+%
+% This file is part of the package `PLaTeX'
+% ------------------------------------------------------------------
+%
+% The file may be distributed under the terms of the LaTeX Project
+% Public License, as described in lppl.txt in the base LaTeX
+% distribution. Either version 1.2 or, at your option, any later
+% version.
+%
+% \fi
+% \iffalse
+%<*driver>
+\documentclass{ltxdoc}
+%\errorcontextlines=1000
+\usepackage[MeX]{polski}
+\makeatletter
+\DeclareRobustCommand\PLaTeX{% after latex.dtx
+ P\kern-.08em L\kern-.36em
+ {\setbox0\hbox{T}%
+ \vbox to\ht0{\hbox{%
+ \csname S@\f@size\endcsname
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}
+ \vss}%
+ }%
+ \kern-.15em
+ \TeX\@}%
+\makeatother
+%<driver>% Comment next line if you want to print the code
+%<driver>%\OnlyDescription
+\def\parsedate#1/#2/#3.{\day=#3 \month=#2 \year=#1 }
+\parsedate 2003/05/09.
+\author{\begin{tabular}[t]{c}
+ Mariusz Olko\\[4pt]
+ Litter\ae\\
+ G\'orczewska 94\Slash96\Slash7\\
+ 01--117 Warszawa\\
+ \textsf{M.Olko@Litterae.com.pl}\\
+ \end{tabular}
+\hskip20pt
+\begin{tabular}[t]{c}
+ Marcin Woli\'nski\\[4pt]
+ \textsf{wolinski@gust.org.pl}\\
+\end{tabular}
+}%\\[4pt]
+
+\title{\LaTeXe\ po polsku czyli \PLaTeX\\
+ wersja 1.3.1}
+
+\begin{document}
+\maketitle
+\tableofcontents
+\DocInput{polski.dtx}
+\end{document}
+%
+%</driver>
+%
+% \fi
+%
+% \CheckSum{1170}
+%
+% \def\PostScript{\textsc{PostScript}}
+% \def\Polski{\textsc{Polski}}
+% \def\polski{\textsc{polski}}
+% \def\popolsku{P\LaTeX}
+% \def\Babel{\textsc{Babel}}
+%
+% \prefixing
+% \section{Informacje dla u/zytkownik/ow}
+% \subsection{Kr/otki obraz ca/lo/sci}
+%
+% Pakiet \popolsku\ sk/lada si/e z kilku zasadniczych cz/e/sci.
+% \begin{itemize}
+%
+% \item
+% Pierwsz/a z nich stanowi/a pliki opisu czcionek maj/ace standardowo
+% rozszerzenie |.fd|, a generowane przez program \textsf{DocStrip} z pliku
+% |plfonts.fdd|. Znajduj/a si/e w nich informacje na temat czcionek
+% |pl| czyli polskich wersji czcionek Computer Modern
+% (dystrybuowanych z \LaMeX em) oraz czcionek |pc| czyli polskich
+% wersji czcionek Computer Concrete. Dzi/eki zawartym tam informacjom
+% czcionki te staj/a si/e dost/epne w Nowym Mechani/xmie Wyboru
+% Czcionek (\emph{ang.} New Font Selection Scheme).
+% Z pliku |plfonts.fdd| mo/zna wygenerowa/c pliki opisu
+% czcionek zar/owno w Starym Uk/ladzie (OT1) jak i w Uk/ladzie Polskim
+% (OT4).
+% \iffalse
+% Dodatkowo istnieje mo/zliwo/s/c wygenerowania plik/ow |fd|, kt/ore w
+% miejsce czcionek Computer Modern w Starym Uk/ladzie podstawi/a
+% odpowiednie wersje polskie. Podstawienie takie jest ingerencj/a w
+% cz/e/s/c standardowego \LaTeX{}a i mo/ze, w bardzo rzadkich
+% przypadkach, da/c inne wyniki sk/ladu ni/z przy u/zyciu oryginalnych
+% czcionek Computer Modern.
+% \fi
+%
+% \item
+% Druga cz/e/s/c plik/ow zwi/azana jest z konfiguracj/a \LaTeX{}a.
+% Na razie w sk/lad pakietu wchodzi jedynie cz/e/s/c pozwalaj/aca
+% na do/l/aczenie do standardowego \LaTeX{}a polskich wzorc/ow
+% przenoszenia wyraz/ow. Do tego celu zosta/l przewidziany w \LaTeX u
+% plik o nazwie |hyphen.cfg|. Je/zeli podczas generowania formatu
+% \LaTeX\ ma dost/ep do tego pliku, to u/zyje go zamiast swojego
+% standardowego pliku /laduj/acego wzorce przenoszenia.
+% W pakiecie dostarczony jest plik |hyphen.cfg| wzorowany na podobnym
+% pliku z pakietu \Babel. Wczytuje on informacje o wzorcach, kt/ore
+% maj/a by/c za/ladowane do formatu, z pliku |language.dat|. Na
+% pocz/atku tego pliku znajduje si/e szczeg/o/lowy opis jego formatu.
+%
+% Wzorce przenoszenia, kt/ore znajduj/a si/e w pliku |plhyph.pl| s/a
+% tymi samymi wzorcami przenoszenia, kt/ore znajduj/a si/e w ostatnich
+% wersjach \MeX a.
+%
+% \item
+% Ostatni/a cz/e/sci/a sk/ladow/a pakietu jest styl |polski.sty|,
+% kt/ory dostarcza wszystkich (?) element/ow potrzebnych do sk/ladu
+% w j/ezyku polskim. Pozwala na stosowanie w r/o/znych
+% /srodowiskach, z polskimi wzorcami przenoszenia i bez, z polskimi
+% czcionkami i bez. Posiada te/z mo/zliwo/s/c upodobnienia si/e na
+% poziomie komend w 99\% do \LaMeX{}a. Jego szczeg/o/lowy opis znajduje
+% si/e w nast/epnym rozdziale.
+%
+% \end{itemize}
+%
+% W pakiecie \popolsku\ wykorzystane zosta/ly wzorce przenoszenia
+% wyraz/ow, kt/orych autorami s/a Hanna Ko/lodziejska, Marek Ry/cko i
+% Bogus/law Jackowski. Sam kod stylu \polski ego bazuje na kodzie
+% zawartym w pakiecie \MeX//\LaMeX\ autorstwa Marka Ry/cko i Bogus/lawa
+% Jackowskiego.
+%
+% \subsection{Jak dzia/la styl \polski}
+%
+% Po za/ladowaniu stylu zmienione zostaj/a wewn/etrzne
+% kody \TeX a dla odno/snych liter polskiego alfabetu w Nowym
+% Uk/ladzie (T1). Te zmiany pozwalaj/a na definiowanie makrokomend, kt/ore
+% maj/a w nazwie polskie litery, umo/zliwiaj/a prawid/low/a zamian/e
+% liter ma/lych na du/ze, a tak/ze pozwalaj/a algorytmowi przenoszenia
+% wyraz/ow traktowa/c polskie litery jako litery. Nast/epnie podj/ete
+% zostaje poszukiwanie polskich wzorc/ow przenoszenia, kt/ore
+% sprowadza si/e do sprawdzenia czy jest zdefiniowane makro |\polish|
+% lub |\l@polish|. Pierwsze z nich jest definiowane w pliku
+% |hyphen.cfg| dostarczonym z pakietem (a'la \MeX), drugie za/s jest
+% definiowane standardowo dla j/ezyka polskiego przez format \Babel.
+% Je/zeli makra (wzorce przenoszenia) nie zostan/a znalezione, \polski{}
+% styl wypisuje na ekranie stosowne ostrze/zenie, je/zeli zostan/a to
+% s/a u/zyte do prze/l/aczenia wzorc/ow przenoszenia na polskie.
+%
+% W kolejnym kroku zdefiniowana zostaje notacja /,ciachowa/'. Notacja
+% ta, wprowadzona w \MeX u przez Ry/ck/e i Jackowskiego, pozwala na
+% zapisywanie polskich liter w postaci dw/och znak/ow \textit{ciach}
+% oraz \textit{litera}. Taki zapis pozwala na przesy/lanie tekst/ow
+% poczt/a elektroniczn/a oraz na prac/e w miejscach gdzie nie ma
+% wbudowanego w system wsparcia dla j/ezyka polskiego (wi/ekszo/s/c
+% instalacji \texttt{UNIX}owych). Styl \polski\ uzyskuje wszystkie
+% polskie litery zdefiniowane w standardowym \TeX u (tj. \textit{/o,
+% /z} czy \textit{/l}) przy pomocy standardowych makr \TeX a
+% (tzn. np. |\'o|, |\.z| czy te/z |\l|), natomiast litery takie jak
+% \textit{/a} czy \textit{/e} za pomoc/a standardowego makra \LaTeX
+% owego |\k|. Ca/la dalsza /l/aczno/s/c pomi/edzy komend/a
+% \textit{ciach litera} a wydrukowanym znakiem jest zapewnione poprzez
+% definicje uk/lad/ow czcionek. To w/la/snie w tych plikach jest
+% zdefiniowane, /ze np. w Starym Uk/ladzie (OT1) liter/e \textit{/o}
+% otrzymuje si/e przez z/lo/zenie akcentu \textit{\symbol{19}} oraz
+% litery \textit{o} natomiast w Uk/ladach Nowym (T1) oraz Polskim
+% (OT4) przez postawienie znaku o kodzie 161. Daje to du/z/a
+% elastyczno/s/c i pozwala na bardzo /latwe u/zycie czcionek w
+% dowolnym sensownym uk/ladzie. Do korzystania z czcionek |pl|
+% zdefiniowany zosta/l nowy uk/lad czcionek nazwany |OT4|.
+% Szczeg/o/lowe informacje o funkcjonowania uk/lad/ow czcionek mo/zna
+% znale/x/c w plikach standardowej dystrybycji \LaTeX a |ltoutenc.dtx|
+% oraz |fntguide.tex|.
+%
+% \Polski{} styl pozwala na sk/lad z r/o/znymi zestawami czcionek w
+% r/o/znych uk/ladach. Pocz/atkowy uk/lad czcionek dokumentu mo/ze
+% zosta/c wybrany przez dodanie do wywo/lania pakietu odpowiednich
+% opcji (patrz~\ref{uzycie}) lub u/zycie standardowego stylu
+% |fontenc|.
+% Je/sli jednak nie zmieniono
+% pocz/atkowego uk/ladu, \polski{} styl pr/obuje odszuka/c w
+% systemie plik |ot4cmr.fd|, zawieraj/acy \LaTeX{}owe opisy czcionek
+% |pl|. Je/zeli taki plik zostanie znaleziony, czynione jest
+% za/lo/zenie, /ze w systemie zainstalowane s/a r/ownie/z same
+% czcionki |pl| i styl sam zmienia pocz/atkowy uk/lad na |OT4|.
+% Je/sli plik nie zostanie odszukany, to uk/lad pozostaje bez zmian.
+%
+%
+% \Polski{} styl przedefiniowuje wszystkie napisy, kt/ore
+% mog/a pojawi/c si/e wygenerowane \emph{automatycznie} przez \LaTeX
+% a, takie jak: rozdzia/l, spis tre/sci itp. Zmieniona zostaje te/z
+% definicja makra |\date| tak, aby data by/la drukowana po polsku.
+% Poniewa/z w niekt/orych sytuacjach na ko/ncu daty pisze si/e ca/le
+% s/lowo ,,roku'', czasami tylko sam/a liter/e ,,r.'', a~czasami nic,
+% wprowadzone zosta/lo makro |\PLdateending|, kt/ore rozwija si/e
+% zaraz za rokiem i~w~razie potrzeby mo/ze zosta/c /latwo
+% przedefiniowane. Co wi/ecej zachowanie makra |\today| mo/zna
+% zmieni/c za pomoc/a nast/epuj/acych opcji pakietu: |roku|, |r.|,
+% |noroku| (ta ostatnia jest domy/slna, wi/ec
+% domy/slnie po numerze roku nie jest nic dodawane).
+%
+% Dodatkowo styl definiuje makro |\dywiz|, kt/ore pozwala na
+% poprawne przeniesienie wyraz/ow z/lo/zonych zapisanych jako
+% |bia/lo\dywiz czerwony| i dzielonych jako
+% \begin{quote}
+% bia/lo-\\-czerwony.
+% \end{quote}
+%
+% Kolejny problem to pauzy (my/slniki). Wed/lug polskich zwyczaj/ow
+% my/slnik powinien by/c otoczony odst/epami wielko/sci 2pt, oraz nie
+% nale/zy rozpoczyna/c wiersza tekstowego my/slnikiem. Zalecenia te
+% realizuje makro |\pauza|. Makro to zawiera w~sobie potrzebne
+% odst/epy, nale/zy wi/ec go u/zywa/c nast/epuj/aco:
+% \begin{verbatim}
+% By/lo zbyt ciemno\pauza powiedzia/la.
+% \end{verbatim}
+% Uwaga: definicj/e tego makra traktujemy jako prowizoryczn/a. Mo/ze
+% ulec zmianie!
+%
+% W polskich zwyczajach typograficznych odst/ep po kropce mi/edzy
+% zdaniami powinien by/c taki sam jak pomi/edzy
+% wyrazami w /srodku zdania, dlatego styl wo/la makro |\frenchspacing|.
+%
+% Pewne zmiany dotycz/a r/ownie/z matematyki.
+% Najwa/zniejszymi r/o/znicami w~sk/ladzie pomi/edzy matematycznymi
+% wydawnictwami polskimi
+% i~angielskoj/ezycznymi jest inny kszta/lt znak/ow
+% \textit{mniejsze\dywiz r/owne} i \textit{wi/eksze\dywiz r/owne} oraz
+% inne skr/oty stosowane na oznaczenie tangensa, cotangensa i funkcji
+% transcendentalnych. Zmian/a kszta/ltu znak/ow
+% \textit{mniejsze\dywiz r/owne} i \textit{wi/eksze\dywiz r/owne}
+% jest dokonywana wtedy, je/sli dost/epne s/a matematyczne czcionki |pl|.
+% Standardowo styl \polski{} definiuje nowe makra |\tg|, |\tgh|,
+% |\ctg|, |\ctgh|, |\arc| oraz |\nwd| a nast/epnie\pauza uwaga\pauza zmienione
+% zostaj/a
+% symbole drukowane przez standardowe makra \LaTeX a |\tan|, |\cot|,
+% |\tanh|, |\coth|, |\arcsin|, |\arccos|, |\arctan|, |\gcd|. Dla pe/lno/sci
+% jest te/z definiowane makro |\arccot|, kt/orego z~tajemniczych
+% przyczyn nie ma w~wersji oryginalnej.
+% Przedefiniowanie tych makr pozwala na
+% cytowanie tych samych wzor/ow w pracy polskiej i angielskiej bez
+% konieczno/sci zmieniania ich zapisu.
+% Standardowe symbole s/a zmieniane poniewa/z \LaTeX\ (czy te/z \TeX)
+% dawno przesta/l by/c tylko systemem sk/ladu. Sta/l si/e obecnie
+% j/ezykiem, w kt/orym zapisywane s/a wzory matematyczne i jest bardzo
+% wa/zne jest aby, je/sli jest to mo/zliwe, nie zmienia/c
+% ,,standardu'' zapisu tego j/ezyka, lecz co najwy/zej dostosowywa/c
+% spos/ob w jaki jest on prezentowany na wydruku.
+%
+%
+% \subsection{Do/l/aczenie \polski{}ego stylu do dokumentu}
+% \label{uzycie}
+%
+% Styl \polski\ jest /ladowany przez
+% umieszczenie w preambule dokumentu zlecenia
+% \begin{verbatim}
+% \usepackage[opcje]{polski}\end{verbatim}
+% U/zycie w wywo/laniu stylu opcji pozwala na dopasowanie jego
+% zachowania do istniej/acego /srodowiska i potrzeb.
+% \begin{description}
+% \item[OT1] /swiadomie nie chcemy zmienia/c uk/ladu czcionek z
+% uk/ladu podstawowego wbudowanego w \LaTeX{}a.
+% \item[OT4] prze/l/acza uk/lad czcionek na polski (OT4). Oznacza
+% to, /ze w dokumencie b/ed/a wykorzystane czcionki
+% |pl|.
+% \item[T1] zmienia uk/lad czcionek na Nowy Uk/lad Czcionek. Opcja
+% jest wygodna np. w po/l/aczeniu z pakietem czcionek
+% \PostScript{}owych w uk/ladzie T1.
+% \item[QX] zmienia uk/lad czcionek na QX. U/zyteczna przy sk/ladzie
+% fontami produkcji JNS Team: QuasiTimes, QuasiSwiss, QuasiBookman itd.
+% \item[plmath] prze/l/acza czcionki matematyczne na |pl|, tzn.
+% przedefiniowuje alfabety matematyczne i zestawy symboli. Dodatkowo
+% zmienia \LaTeX ow/a definicj/e symboli wi/eksze\dywiz r/owne oraz
+% mniejsze\dywiz r/owne.
+% \item[nomathsymbols] blokuje spolonizowanie przez styl znaczenia
+% standardowych \LaTeX{}owych symboli okre/slaj/acych funkcje
+% trygonometryczne oraz relacje wi/eksze\dywiz r/owne i mniejsze\dywiz
+% r/owne
+% \item[prefixinginverb] powoduje, /ze notacja prefiksowa nie jest
+% wy/l/aczana w~obr/ebie /srodowiska \texttt{verbatim} i~w~argumencie
+% polecenia \cs{verb}. (Domy/slnie aktywna).
+% \item[noprefixinginverb] powoduje, /ze notacja prefiksowa jest
+% wy/l/aczana w~tych kontekstach.
+% \item[MeX] jest to tryb 100\% zgodno/sci z \MeX em. Ta opcja
+% definiuje wszystkie makra, kt/ore s/a normalnie dost/epne dla
+% u/zytkownika w \MeX u. Pozwala to na kompilacj/e dokument/ow \MeX
+% owych bez dokonywania /zadnych zmian.
+% \end{description}
+%
+% Je/zeli nie u/zyto /zadnej z opcji wyboru uk/ladu font/ow,
+% \texttt{polski.sty} pr/obuje w/l/aczy/c fonty PL, je/zeli s/a one
+% zainstalowane. Dotyczy to zar/owno font/ow tekstowych, jak i
+% matematycznych. W~instalacji zawieraj/acej fonty PL wywo/lanie pakietu
+% bez opcji jest r/ownowa/zne wywo/laniu
+% \begin{verbatim}
+% \usepackage[OT4,plmath]{polski}
+% \end{verbatim}
+%
+% Opcja \texttt{OT1} s/lu/zy do powiedzenia pakietowi, /ze u/zytkownik
+% /swiadomie u/zywa uk/ladu nie zawieraj/acego kompletu znak/ow potrzebnych
+% do sk/ladu po polsku.
+%
+% \StopEventually{}
+%
+% Dalsza cz/e/s/c dokumentu opisuje kod samego stylu oraz plik/ow
+% potrzebnych do instalacji czcionek polskich i wzorc/ow przenoszenia
+% w \LaTeX u. Dokumentacja jest w j/ezyku angielskim.
+% \nonprefixing
+% \selecthyphenation{english}
+%
+% \iffalse=============================================================\fi
+% \section{Source code of \texttt{polski.sty}}
+% \subsection{Writing banners}
+% This package should work only with \LaTeXe, so we make sure the
+% appropriate message is displayed when another \TeX\ format is used.
+% \begin{macrocode}
+%<*style>
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+% \end{macrocode}
+% Announce the name of the package to the world
+% \begin{macrocode}
+\ProvidesPackage{polski}[2003/05/09 v1.3.1 Polish language package]
+% \end{macrocode}
+% and write its banner on the display
+% \begin{macrocode}
+\typeout{Document Language Style `polski' v1.3.1 <2003/05/09>}
+% \end{macrocode}
+% \subsection{Category codes and all that}
+% Here we will define the codes for Polish diacritical
+% characters. There are several codes we need to set for each of them.
+% The most important one is the category code (|catcode|), which
+% identifies the character as a letter to \TeX.
+% Other codes to set are lowercase and
+% uppercase equivalents (|lccode| and |uccode|) used to determine the
+% proper character when lower and upper casing the string. These are
+% now properly set in the kernel.
+% \begin{macrocode}
+\@ifpackageloaded{inputenc}{\typeout{\space\space\space
+ Inputenc package detected. Catcodes not changed.}}{%
+\catcode`\^^a1=11 %\lccode`\^^a1=`\^^a1 \uccode`\^^a1=`\^^81 % a ogonek
+\catcode`\^^a2=11 %\lccode`\^^a2=`\^^a2 \uccode`\^^a2=`\^^82 % c acute
+\catcode`\^^a6=11 %\lccode`\^^a6=`\^^a6 \uccode`\^^a6=`\^^86 % e ogonek
+\catcode`\^^aa=11 %\lccode`\^^aa=`\^^aa \uccode`\^^aa=`\^^8a % l crossed
+\catcode`\^^ab=11 %\lccode`\^^ab=`\^^ab \uccode`\^^ab=`\^^8b % n acute
+\catcode`\^^f3=11 %\lccode`\^^f3=`\^^f3 \uccode`\^^f3=`\^^d3 % o acute
+\catcode`\^^b1=11 %\lccode`\^^b1=`\^^b1 \uccode`\^^b1=`\^^91 % s acute
+\catcode`\^^bb=11 %\lccode`\^^bb=`\^^bb \uccode`\^^bb=`\^^9b % z dot
+\catcode`\^^b9=11 %\lccode`\^^b9=`\^^b9 \uccode`\^^b9=`\^^99 % z acute
+% \end{macrocode}
+% Now the same for uppercase letters.
+% \begin{macrocode}
+\catcode`\^^81=11 %\lccode`\^^81=`\^^a1 \uccode`\^^81=`\^^81 % A ogonek
+\catcode`\^^82=11 %\lccode`\^^82=`\^^a2 \uccode`\^^82=`\^^82 % C accute
+\catcode`\^^86=11 %\lccode`\^^86=`\^^a6 \uccode`\^^86=`\^^86 % E ogonek
+\catcode`\^^8a=11 %\lccode`\^^8a=`\^^aa \uccode`\^^8a=`\^^8a % L crossed
+\catcode`\^^8b=11 %\lccode`\^^8b=`\^^ab \uccode`\^^8b=`\^^8b % N accute
+\catcode`\^^d3=11 %\lccode`\^^d3=`\^^f3 \uccode`\^^d3=`\^^d3 % O acute
+\catcode`\^^91=11 %\lccode`\^^91=`\^^b1 \uccode`\^^91=`\^^91 % S acute
+\catcode`\^^9b=11 %\lccode`\^^9b=`\^^bb \uccode`\^^9b=`\^^9b % Z dot
+\catcode`\^^99=11 %\lccode`\^^99=`\^^b9 \uccode`\^^99=`\^^99 % Z acute
+}
+% \end{macrocode}
+% We finish by setting space factor codes (|sfcode|) for uppercase
+% letters. When French spacing is turned off, \TeX\ treats interword
+% spacing after full stop in a special manner. If the last character before
+% the period is lowercase letter then \TeX\ assumes it is the end of the
+% sentence, and makes the space wider (and more stretchable).
+% However, if the last letter is uppercase, then \TeX\ assumes it is an
+% abbreviation and doesn't widen the space. (This is not the whole
+% truth. Consult the \TeX book pages 285--287 for details.) We set
+% |sfcode| for Polish capital letters.
+% \begin{macrocode}
+\sfcode`\^^81=999 % A ogonek
+\sfcode`\^^82=999 % C acute
+\sfcode`\^^86=999 % E ogonek
+\sfcode`\^^8a=999 % L crossed
+\sfcode`\^^8b=999 % N acute
+\sfcode`\^^d3=999 % O acute
+\sfcode`\^^91=999 % S acute
+\sfcode`\^^9b=999 % Z dot
+\sfcode`\^^99=999 % Z acute
+% \end{macrocode}
+% This provides for \mathit and friends to work correctly for Polish
+% characters (when used with TCX).
+% \begin{macrocode}
+\DeclareMathSymbol{^^a1}{\mathalpha}{letters}{`^^a1}
+\DeclareMathSymbol{^^a2}{\mathalpha}{letters}{`^^a2}
+\DeclareMathSymbol{^^a6}{\mathalpha}{letters}{`^^a6}
+\DeclareMathSymbol{^^aa}{\mathalpha}{letters}{`^^aa}
+\DeclareMathSymbol{^^ab}{\mathalpha}{letters}{`^^ab}
+\DeclareMathSymbol{^^f3}{\mathalpha}{letters}{`^^f3}
+\DeclareMathSymbol{^^b1}{\mathalpha}{letters}{`^^b1}
+\DeclareMathSymbol{^^bb}{\mathalpha}{letters}{`^^bb}
+\DeclareMathSymbol{^^b9}{\mathalpha}{letters}{`^^b9}
+\DeclareMathSymbol{^^81}{\mathalpha}{letters}{`^^81}
+\DeclareMathSymbol{^^82}{\mathalpha}{letters}{`^^82}
+\DeclareMathSymbol{^^86}{\mathalpha}{letters}{`^^86}
+\DeclareMathSymbol{^^8a}{\mathalpha}{letters}{`^^8a}
+\DeclareMathSymbol{^^8b}{\mathalpha}{letters}{`^^8b}
+\DeclareMathSymbol{^^d3}{\mathalpha}{letters}{`^^d3}
+\DeclareMathSymbol{^^91}{\mathalpha}{letters}{`^^91}
+\DeclareMathSymbol{^^9b}{\mathalpha}{letters}{`^^9b}
+\DeclareMathSymbol{^^99}{\mathalpha}{letters}{`^^99}
+% \end{macrocode}
+%
+%
+% \subsection{Hyphenation}
+%
+% \begin{macro}{\selecthyphenation}
+% \changes{v1.01}{1998/04/20}{Macro added}
+% \changes{v1.02}{2000/05/16}{New langauage allocated only if undefined.
+% Name changed to be Babel compatible.}
+% Here we define the hyphenation selecting operator. If a set of
+% hyphenation patterns for a particular language is unavaiable,
+% hyphenation in that language is turned off. For that we use
+% following trick: a new language is allocated with no
+% hyphenation patterns. Then switching to this language
+% effectively switches hyphenation off (many thanks to Marek
+% Ry\'cko).
+% \begin{macrocode}
+\ifx\l@nohyphenation\@undefined
+ \newlanguage\l@nohyphenation
+\fi
+\def\selecthyphenation#1{%
+ \expandafter\ifx\csname l@#1\endcsname\relax
+ \PackageError{polski}{No hyphenation patterns for language `#1'}
+ {Hyphenation in this language will be disabled.}%
+ \selecthyphenation{nohyphenation}%
+ \else
+ \language\csname l@#1\endcsname
+ \fi
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% We try to switch to polish hyphenation patterns looking either for
+% patterns name used by |hyphen.cfg| from old versions of \popolsku{}
+% bundle or for new Babel-like name.
+% \begin{macrocode}
+\ifx\polish\undefined
+ \selecthyphenation{polish}
+\else
+ \language\polish
+\fi
+\lefthyphenmin=2
+\righthyphenmin=2
+% \end{macrocode}
+% \subsection{Slash notation}
+%
+% The slash notation was introduced in the macro package
+% {L\kern-.111em\lower.6ex\hbox{E}\kern-.075emX} by
+% Bogus\l{}aw Jackowski and Marek Ry\'cko. It has been used since then in
+% many places and became Polish \TeX{} User's Group GUST ``standard''.
+% What follows is the implementation of active slash or Polish slash macro.
+%
+% \DescribeMacro{\Slash} We start by storing slash character
+% (catcode 12 meaning |<other>|) in apropriately named macro.
+% \begin{macrocode}
+\def\Slash{/}
+% \end{macrocode}
+% \DescribeMacro{\PLSlash} Now we define macro |\PLSlash| which will
+% actually be used in input files to access polish letters. It does
+% not need to be robust. If it is, it breaks kerns
+% (pointed out by Marcin Woli\'nski).
+% \changes{v1.2.3}{2002/03/05}{// caused errors in TOC if used with
+% \cs{prefixing}}
+% \begin{macrocode}
+\def\PLSlash#1{%
+% \end{macrocode}
+% The first thing we do is to check whether
+% the slash character is followed by an allowed character. The first test
+% is for the second slash (or macro |\PLSlash|), in which case we just
+% return \emph{slash} character with category code |<other>|.
+% \begin{macrocode}
+ \ifx#1\PLSlash
+ \ifx\protect\@typeset@protect\else\protect\string\fi\Slash
+ \else
+% \end{macrocode}
+% If it was not a slash we test for a letter. We
+% assume that there are defined macros which expand to the current
+% definitions of Polish letters. We will give them names
+% |\PLSlash@<character>|, so now we look if it is defined.
+% If comparison with
+% |\relax| is true the macro is not defined. We issue an error
+% message with some help.
+% \begin{macrocode}
+ \expandafter \ifx \csname PLSlash@\string#1\endcsname \relax
+ \PLSlash@error#1%
+ \else
+% \end{macrocode}
+% If we got here, we can now expand polish character. However, we
+% do that after completing all |\if|s.
+% \begin{macrocode}
+ \expandafter\expandafter\expandafter\PLSlash@letter
+ \expandafter\expandafter\expandafter#1%
+ \fi
+ \fi
+}
+
+\def\PLSlash@error#1{\PackageError{polski}{%
+Illegal pair of characters /\noexpand#1 occurred}{%
+Only a character from the set [acelnosxzACELNOSXZ,'<>/-]
+ can appear after \Slash.\MessageBreak
+Proceed, I will omit both \Slash\ and the character following it.\MessageBreak
+You can also correct your mistake NOW, typing I followed by\MessageBreak
+whatever should be in the place of the offending pair.}}
+% \end{macrocode}
+%
+% \begin{macro}{\PlPrIeC}
+% This macro is needed to protect against removing white space in
+% TOC by Polish characters that have definition ending with a macro
+% call (|\l| and |\L|). The macro is identical to |\IeC| from
+% inputenc package, but we have to define it here not to depend on
+% inputenc. The name is different not to cause conflict in case
+% inputenc is loaded after plprefix.
+% \begin{macrocode}
+\def\PlPrIeC{%
+ \ifx\protect\@typeset@protect
+ \expandafter\@firstofone
+ \else
+ \noexpand\PlPrIeC
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \DescribeMacro{\PLSlash@letter} This macro is very simple: it just
+% invokes another macro with some wild name.
+% \begin{macrocode}
+\def\PLSlash@letter#1{\csname PLSlash@#1\endcsname}
+% \end{macrocode}
+%
+% Next come the definitions of all Polish diacritics and special symbols.
+% For each ``slashed'' character we define a macro expanding to its
+% proper definition.
+% Polish characters are defined as normal accented
+% letters, and we expect that they will expand according to their
+% definitions in the current font encoding. This allows us to use the
+% same slash notation with any (decent) font encoding. For example
+% T1 and OT4 encodings will use letters, but OT1 will do what it can%
+% ---ie.~insert simple accented characters (with |a| and |e| left
+% untouched). For more information on
+% the work of encoding engine consult \LaTeX\ file
+% \texttt{ltoutenc.dtx}.
+%
+% The following macro is just a helper which will be undefined after use.
+% \begin{macrocode}
+\def\PL@accent@def#1#2{%
+ \expandafter\def \csname PLSlash@\string #1\endcsname{#2}}
+% \end{macrocode}
+% The real definition will take place at the beginning of the document.
+% This is small optimization. We assume that the encoding at this
+% stage is what will be default for the rest of the document. If
+% document starts in OT1 encoding we warn user that he can loose some
+% information from the printout.
+% \begin{macrocode}
+\PL@accent@def{a}{\k a}
+\PL@accent@def{c}{\@tabacckludge'c}
+\PL@accent@def{e}{\k e}
+\PL@accent@def{l}{\PlPrIeC{\l}}
+\PL@accent@def{n}{\@tabacckludge'n}
+\PL@accent@def{o}{\@tabacckludge'o}
+\PL@accent@def{s}{\@tabacckludge's}
+\PL@accent@def{x}{\@tabacckludge'z}
+\PL@accent@def{z}{\.z}
+\PL@accent@def{A}{\k A}
+\PL@accent@def{C}{\@tabacckludge'C}
+\PL@accent@def{E}{\k E}
+\PL@accent@def{L}{\PlPrIeC{\L}}
+\PL@accent@def{N}{\@tabacckludge'N}
+\PL@accent@def{O}{\@tabacckludge'O}
+\PL@accent@def{S}{\@tabacckludge'S}
+\PL@accent@def{X}{\@tabacckludge'Z}
+\PL@accent@def{Z}{\.Z}
+\PL@accent@def{<}{\PlPrIeC{\guillemotleft}}
+\PL@accent@def{>}{\PlPrIeC{\guillemotright}}
+\PL@accent@def{,}{\PlPrIeC{\quotedblbase}}
+\PL@accent@def{'}{\PlPrIeC{\textquotedblright}}
+\PL@accent@def{-}{\PlPrIeC{\dywiz}}
+%
+\let \PL@accent@def \undefined
+% \end{macrocode}
+%
+% \DescribeMacro{\prefixing} The last touch is the definition of
+% the |\prefixing| macro which activates the slash, but only if
+% |plprefix| package was't loaded before. We manage prefixing flag
+% |\pr@fix| for compatibility with \MeX.
+% \begin{macrocode}
+\@ifpackageloaded{plprefix}{}{%
+ \def\prefixing{\catcode`/=\active
+ \bgroup \uccode`\~=`/ \uppercase{\egroup \let~\PLSlash}%
+ \let\pr@fix=T}
+% \end{macrocode}
+% \DescribeMacro{\nonprefixing} and |\nonprefixing| macro which
+% deactivates the slash.
+% \begin{macrocode}
+ \def\nonprefixing{\catcode`/=12 \let\pr@fix=F}
+}
+% \end{macrocode}
+%
+% \subsection{Maths in Polish}
+% \label{redefining-maths}
+%
+% The next few macros are provided to typeset maths in Polish.
+%
+% \DescribeMacro{\arc} In Polish, transcendental functions are written
+% with a tiny space after |arc| or |ar|. Here we define macro |\arc| which
+% when followed by eg. |\sin| typesets $\arc\sin$.
+% \begin{macrocode}
+\def\arc#1{\mathop{\operator@font
+ arc\thinspace\escapechar-1 \string#1}\nolimits}
+\def\ar#1{\mathop{\operator@font
+ ar\thinspace\escapechar-1 \string#1}\nolimits}
+% \end{macrocode}
+%
+% \DescribeMacro{\tg}\DescribeMacro{\tgh}
+% \DescribeMacro{\ctg}\DescribeMacro{\ctgh}
+% We also use different abbreviations for tangent and
+% cotangent.
+% \begin{macrocode}
+\def\tg{\mathop{\operator@font tg}\nolimits}
+\def\ctg{\mathop{\operator@font ctg}\nolimits}
+\def\tgh{\mathop{\operator@font tgh}\nolimits}
+\def\ctgh{\mathop{\operator@font ctgh}\nolimits}
+\def\nwd{\mathop{\operator@font nwd}}
+% \end{macrocode}
+%
+% Finally we take a drastic step and redefine \LaTeX's definitions
+% of mathematical functions. This will allow us to keep the markup
+% independent of the language in which the document is typeset. We think
+% that this is very important, because \TeX\ is today much more than
+% just a typesetting tool, it is also a language which is used to exchange
+% mathematical formul\ae. Redefinition will be suppressed when option
+% \texttt{nomathsnames} is used.
+% \begin{macrocode}
+\def\PL@redef@funcnames{%
+ \let\tan=\tg \let\cot=\ctg
+ \let\tanh=\tgh \let\coth=\ctgh
+ \def\arcsin{\arc\sin}
+ \def\arccos{\arc\cos}
+ \def\arctan{\arc\tg}
+ \def\arccot{\arc\ctg}
+ \let\gcd\nwd
+ }
+% \end{macrocode}
+% These redefinitions should be supplemented by appropriate
+% greater-than-or-equal and less-than-or-equal symbols. They are
+% introduced by the |plmath| option or autodetection, when we are sure
+% we have those symbols available in our fonts.
+%
+%
+% \subsection{Dashes}
+%
+% \DescribeMacro{\dywiz}
+% When a Polish compound word is split at the hyphen, it should be
+% typeset with two hyphens: one at the end of line and the second at
+% the beginning of the new line. We provide macro
+% |\dywiz| which gives proper hyphenation of compound words. Kerns
+% before and after |\discretionary| allow both parts of the word to be
+% considered for hyphenation.
+% \begin{macrocode}
+\def\dywiz{\kern0sp\discretionary{-}{-}{-}\penalty10000\hskip0sp\relax}
+% \end{macrocode}
+%
+%
+% \begin{macro}{\pauza}
+% Polish typographical rules require to put a fixed space of .2em
+% around dashes and forbid breaking a line before a dash.
+% \begin{macrocode}
+\newcommand*\pauza{\unskip\kern.2em\textemdash\hskip.2em\ignorespaces}
+\newcommand*\ppauza{\unskip\kern.2em\textendash\hskip.2em\ignorespaces}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Teaching \LaTeX\ to speak Polish}
+%
+% In early versions of \LaTeX\ there were problems when one wanted to
+% customize predefined texts which were inserted automatically by
+% \LaTeX (such as \emph{Bibliography} or \emph{Chapter}). They were all
+% hidden deep in the definitions of sectioning or other commands. Now
+% they are all defined as simple macros which can easily be redefined
+% in language packages. We will do that here.
+% \begin{macrocode}
+\def\prefacename{Przedmowa}
+\def\refname{Literatura}
+\def\abstractname{Streszczenie}
+\def\bibname{Bibliografia}
+\def\chaptername{Rozdzia\PLSlash l} % uppercasing in running head must work
+\def\appendixname{Dodatek}
+\def\contentsname{Spis tre\'sci}
+\def\listfigurename{Spis rysunk\'ow}
+\def\listtablename{Spis tabel}
+\def\indexname{Skorowidz}
+\def\figurename{Rysunek}
+\def\tablename{Tabela}
+\def\partname{Cz\k e\'s\'c}
+\def\enclname{Za\l\k aczniki}
+\def\ccname{Do wiadomo\'sci}
+\def\headtoname{Do}
+\def\pagename{Strona}
+\def\seename{zob.}
+\def\proofname{Dow\'od}
+% \end{macrocode}
+% \DescribeMacro{\today}
+% Finally we redefine the macro |\today| to print the current date in Polish.
+% In Polish documents in some situations it is more appropriate to use
+% the full word \emph{roku}
+% (meaning \emph{year}) at the end of the date and sometimes it is more
+% natural to use an abbreviation. The macro |\PLdateending| which expands
+% at the end of the date can be easily redefined to suit particular needs.
+% \begin{macrocode}
+\def\today{\number\day~\ifcase\month\or
+ stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or
+ lipca\or sierpnia\or wrze\'snia\or pa\'zdziernika\or
+ listopada\or grudnia\fi \space\number\year \PLdateending}
+% \end{macrocode}
+%
+% \subsection{Macros needed later}
+% This macro redefines all standard maths fonts. Now |pl| maths fonts will be
+% used instead of |cm| maths fonts.
+% \begin{macrocode}
+\def\PL@setmaths{%
+% \end{macrocode}
+% We start by leaving sign that we have fonts avaiable to redefine
+% |\ge| and |\le| macros.
+% \begin{macrocode}
+ \def\PLm@ths{}
+% \end{macrocode}
+% We redefine math alphabets for both math versions. We don't have to
+% redefine |\mathrm|, |\mathnormal| or |\mathcal| alphabets, as they
+% bound to |operators|, |letters| and |symbols| fonts by default (see
+% |fontdef.dtx|.
+%
+% We must define OT4 encoding if it is not defined yet.
+% \begin{macrocode}
+ \@ifundefined{T@OT4}{%
+ \input ot4enc.def
+ }{}
+ \SetMathAlphabet{\mathbf}{normal}{OT4}{cmr}{bx}{n}
+ \SetMathAlphabet{\mathsf}{normal}{OT4}{cmss}{m}{n}
+ \SetMathAlphabet{\mathit}{normal}{OT4}{cmr}{m}{it}
+ \SetMathAlphabet{\mathtt}{normal}{OT4}{cmtt}{m}{n}
+% \end{macrocode}
+% We set math alphabets for bold version.
+% \begin{macrocode}
+ \SetMathAlphabet{\mathsf}{bold}{OT4}{cmss}{bx}{n}
+ \SetMathAlphabet{\mathit}{bold}{OT4}{cmr}{bx}{it}
+% \end{macrocode}
+% We redeclare all standard symbol fonts. We change the definition of
+% |\@font@warning| macro to not to scare the user with warning
+% messages on the screen about encoding change.
+% \begin{macrocode}
+ \bgroup\let\@font@warning\@font@info
+ \SetSymbolFont{operators} {normal}{OT4}{cmr} {m}{n}
+ \SetSymbolFont{letters} {normal}{OML}{plm} {m}{it}
+ \SetSymbolFont{symbols} {normal}{OMS}{plsy}{m}{n}
+ \SetSymbolFont{largesymbols}{normal}{OMX}{plex}{m}{n}
+ \SetSymbolFont{operators} {bold} {OT4}{cmr} {bx}{n}
+ \SetSymbolFont{letters} {bold} {OML}{plm} {b}{it}
+ \SetSymbolFont{symbols} {bold} {OMS}{plsy}{b}{n}
+ \egroup
+% \end{macrocode}
+% As we have just reloaded the maths fonts, we have some new symbols
+% available.
+% We redefine greater-than-or-equal and less-than-or-equal
+% signs to conform to Polish typographical conventions. This is
+% by analogy with that which was done in section~\ref{redefining-maths}.
+% Redefinition will be suppressed when option \emph{nomathsnames} is used.
+% \begin{macrocode}
+ \DeclareMathSymbol{\xleq}{3}{symbols}{172}
+ \DeclareMathSymbol{\xgeq}{3}{symbols}{173}
+}
+%
+\def\PL@redef@relations{
+ \let\leq=\xleq
+ \let\geq=\xgeq
+ \let\le=\leq
+ \let\ge=\geq
+}
+% \end{macrocode}
+%
+%
+% \subsection{Options}
+%
+% Style \polski\ provides a number of options which customize
+% it to the specific environment or needs. They switch \LaTeX\ to
+% different encodings, provide additional macros,~etc.
+%
+%
+% \subsubsection{Option \texttt{plmath}}
+% \label{plmath}
+% This option redefines all standard maths fonts. Now |pl| maths fonts will be
+% used instead of |cm| maths fonts.
+% \begin{macrocode}
+\DeclareOption{plmath}{%
+ \PL@setmaths
+}
+% \end{macrocode}
+%
+%
+% \subsubsection{Option \texttt{nomathsymbols}}
+% \label{nomathsymbols}
+% This option supresses redefinition of standard \LaTeX's macros for
+% trigonometric functions and for less-or-equal signs.
+% \begin{macrocode}
+\DeclareOption{nomathsymbols}{%
+ \def\PLn@m@thsn@mes{}
+}
+% \end{macrocode}
+%
+% \subsubsection{Option \texttt{MeX}}
+%
+% This mode should prepare everything to be \emph{markup} compatible
+% with \LaMeX. This includes macron redefinition.
+% \begin{macrocode}
+% \changes{v1.2.2}{2001/08/31}{Redefinition of macron was too early. OT4
+% may be not known yet.}
+\DeclareOption{MeX}{%
+ \AtBeginDocument{%
+ \@ifundefined{T@OT1}{}{%
+ \DeclareTextCommand{\=}{OT1}{\dywiz}%
+ \DeclareTextAccent{\macron}{OT1}{22}}%
+ \@ifundefined{T@T1}{}{%
+ \DeclareTextCommand{\=}{T1}{\dywiz}%
+ \DeclareTextAccent{\macron}{T1}{9}}%
+ \@ifundefined{T@OT4}{}{%
+ \DeclareTextCommand{\=}{OT4}{\dywiz}%
+ \DeclareTextAccent{\macron}{OT4}{22}}%
+ \@ifundefined{T@QX}{}{%
+ \DeclareTextCommand{\=}{QX}{\dywiz}%
+ \DeclareTextAccent{\macron}{QX}{9}}%
+ }%
+ \let\xle\xleq
+ \let\xge\xgeq
+ \let\polish\l@polish
+ \let\english\l@english
+ \def\MeX{M\kern-.111em\lower.6ex\hbox{E}\kern-.075emX}
+ \DeclareRobustCommand\LaMeX{% after latex.dtx
+ L\kern-.36em
+ {\setbox0\hbox{T}%
+ \vbox to\ht0{\hbox{%
+ \csname S@\f@size\endcsname
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}
+ \vss}%
+ }%
+ \kern-.15em
+ \MeX\@}%
+ }
+% \end{macrocode}
+%
+%
+% \subsubsection{Option {\ttfamily T1}}
+% This will select T1 encoding for the document.
+% \begin{macrocode}
+\DeclareOption{T1}{%
+ \@ifundefined{T@T1}{\input{t1enc.def}}{}
+ \def\encodingdefault{T1}\fontencoding{T1}%
+ \def\PL@ncodingd@fined{}
+}
+% \end{macrocode}
+%
+% \subsubsection{Option {\ttfamily QX}}
+% This will select QX encoding for the document.
+% \begin{macrocode}
+\DeclareOption{QX}{%
+ \@ifundefined{T@QX}{\input{qxenc.def}}{}
+ \def\encodingdefault{QX}\fontencoding{QX}%
+ \def\PL@ncodingd@fined{}
+}
+% \end{macrocode}
+%
+% \subsubsection{Option {\tt OT1}}
+% This will select OT1 encoding for the document.
+% \begin{macrocode}
+\DeclareOption{OT1}{%
+ \def\encodingdefault{OT1}\fontencoding{OT1}%
+ \def\PL@ncodingd@fined{}
+}
+% \end{macrocode}
+%
+%
+% \subsubsection{Option {\tt OT4}}
+% This will select OT4 encoding for the document.
+% \begin{macrocode}
+\DeclareOption{OT4}{%
+ \@ifundefined{T@OT4}{\input{ot4enc.def}}{}%
+ \def\encodingdefault{OT4}%
+ \fontencoding{OT4}%
+ \def\PL@ncodingd@fined{}%
+}
+% \end{macrocode}
+%
+% \subsubsection{Options for prefixing in verbatim}
+% These decide if prefixing is active in verbatim:
+% \begin{macrocode}
+\DeclareOption{prefixinginverb}{%
+ \def\PL@prefixinginverb{1}%
+}
+\DeclareOption{noprefixinginverb}{%
+ \def\PL@prefixinginverb{0}%
+}
+% \end{macrocode}
+%
+% \subsubsection{Options for date ending in \cs{today}}
+%
+% \begin{macrocode}
+\DeclareOption{roku}{%
+ \def\PLdateending{\nobreakspace roku}
+}
+\DeclareOption{r.}{%
+ \def\PLdateending{\nobreakspace r.}
+}
+\DeclareOption{noroku}{%
+ \def\PLdateending{}
+}
+% \end{macrocode}
+%
+% \subsection{Taking off \dots}
+% This is almost the end. We process all
+% the options in the order of their definition and
+% switch to french spacing which is also Polish traditional spacing.
+% \begin{macrocode}
+\ExecuteOptions{prefixinginverb,noroku}
+\ProcessOptions
+\frenchspacing
+% \end{macrocode}
+%
+% We now try to autodetect whether the pl fonts reside on the system.
+% We assume, that if there is \verb|OT4cmr.def| file on the system,
+% there are also fonts installed. The autodetection is suppressed if
+% any encoding was switched by package options, or redefined before
+% the package was loaded.
+% \begin{macrocode}
+\def\tempa{OT1}
+\ifx\tempa\f@encoding
+ \@ifundefined{PL@ncodingd@fined}{%
+ \IfFileExists{ot4cmr.fd}{%
+ \typeout{\space\space\space
+ Switching to Polish text encoding and Polish maths fonts.}
+ \@ifundefined{T@OT4}{%
+ \input ot4enc.def
+ }{}%
+ \def\encodingdefault{OT4}
+ \fontencoding{OT4}\selectfont
+ \PL@setmaths
+ }{%
+ \typeout{\space\space\space
+ Can't locate Polish fonts. Will use default encoding.}
+ }%
+% \end{macrocode}
+%
+% We set a checkpoint to warn the user if she enters the document in
+% OT1 encoding.
+% \begin{macrocode}
+ \def\@PL@OT@check{%
+ \bgroup
+ \def\tempa{OT1}\ifx\tempa\cf@encoding
+ \@ifpackageloaded{ot1patch}{}{%
+ \PackageError{polski}{%
+Zaczynasz skladac dokument uzywajac oryginalnych\MessageBreak
+czcionek TeXa. Czcionki te nie maja kompletu polskich\MessageBreak
+znakow. W zwiazku z tym LaTeX bedzie zglaszal bledy.\MessageBreak
+\MessageBreak
+Zainstaluj czcionki z dystrybucji MeXa dostepne\MessageBreak
+na ftp://ftp.gust.org.pl, sprobuj uzyc czcionek EC\MessageBreak
+dodajac opcje T1 do wywolania stylu polski'ego\MessageBreak
+lub w ostatecznosci uzyj stylu ot1patch.}{}}%
+ \fi
+ \egroup
+ \let\@PL@OT@check=\undefined}%
+ \AtBeginDocument{\@PL@OT@check}%
+ }{%
+ \let\PL@ncodingd@fined=\undefined
+ }%
+\fi
+% \end{macrocode}
+% Now we can redefine \LaTeX names for some maths functions and
+% relations if it was not suppressed.
+% \begin{macrocode}
+\@ifundefined{PLn@m@thsn@mes}{
+ \PL@redef@funcnames
+ \@ifundefined{PLm@ths}{}{\PL@redef@relations}
+ }{}
+% \end{macrocode}
+% If prefixing is not to be active in verb, we have to add slash to
+% \cs{dospecials}:
+% \begin{macrocode}
+\if 0\PL@prefixinginverb
+ \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do\/}
+\fi
+% \end{macrocode}
+% Cleaning up and undefining some local macros.
+% \begin{macrocode}
+\let\PLn@m@thn@mes=\undefined
+\let\PLm@ths=\undefined
+\let\PL@setmaths=\undefined
+\let\PL@redef@relations=\undefined
+\let\PL@redef@funcnames=\undefined
+\let\PL@prefixinginverb=\undefined
+%</style>
+% \end{macrocode}
+%
+% \section{Configuring \LaTeX's hyphenation patterns}
+%
+% (This section was written by Marcin Woli\'nski. He is to be
+% blamed for errors.)
+% This code will go to file |hyphen.cfg| which, if found, will be
+% read by Ini\TeX\ during format generation instead of the standard
+% \LaTeX\ hyphenation patterns configuration.
+%
+% First we have to adjust language allocation counter (|\count19|)
+% since kernel (incorrectly) causes |\newlanguage| to start
+% allocation from 1.
+% \begin{macrocode}
+%<*hyphenation>
+\global\count19=-1
+% \end{macrocode}
+% The rest of actions is put into a group, so our auxiliary macros
+% will automatically disappear when they are no longer needed.
+% Allocations done by |\newlanguage| are global and so are
+% |\patterns| and |\hyphenation|.
+% \begin{macrocode}
+\begingroup
+% \end{macrocode}
+% Here I define a few auxiliary macros needed to process
+% |language.dat|. Every time \TeX\ sees a new name he puts it into
+% his name pool and it is never freed. For that reason I don't
+% want to introduce new names for my auxiliary macros. So my first
+% idea was to use control sequences of length 1 (which are not put
+% into the pool). But this approach is risky since ``hyphenation
+% files'' commonly contain small pieces of code to adjust their
+% behaviour to format or \TeX\ version used. So I've decided to
+% redefine locally a few of standard \LaTeX\ macros.
+% This causes code to be less readable, but I'll try to make these
+% names somehow mnemonic. (I've chosen macros which contribute
+% directly to the current page, which means for sure they're not
+% used by hyphenation files.)
+%
+% |\@stopline| will be used as a sentinel delimiting line end.
+% \begin{macrocode}
+\def\@stopline{\@stopline}
+% \end{macrocode}
+% |\line| is main macro processing line read from
+% |language.dat|. The line is passed to |\line| as argument
+% with a space and |\@stopline| appended. |\line| checks
+% if the line starts with |=| (synonym definition) and based on
+% that passes the line to |\leftline| or |\rightline|.
+% \begin{macrocode}
+\def\line#1#2\@stopline{%
+ \ifx=#1%
+ \leftline#2\@stopline
+ \else
+ \rightline#1#2\@stopline
+ \fi
+ }
+% \end{macrocode}
+% |\leftline| is called for synonym lines (with |=| removed).
+% Such lines should contain only a name for the synonym. So
+% |\leftline| first checks if there is anything after the name
+% and raises and error.
+% \begin{macrocode}
+\def\leftline#1 #2\@stopline{%
+ \ifx\@stopline#2\@stopline\else
+ \errhelp{The line should contain only an equals sign followed by
+ the synonym name.}%
+ \errmessage{Extra stuff on a synonym line in language.dat:^^J
+ =#1 #2}\fi
+% \end{macrocode}
+% Next check if the language name wasn't already used:
+% \begin{macrocode}
+ \expandafter\ifx\csname l@#1\endcsname\relax \else
+ \errhelp{This probably means your ``language.dat'' contains many
+ lines starting with `#1' or `=#1'. ^^JThe language `#1' will
+ be redefined. This may not be what you want.}%
+ \errmessage{Language `#1' already defined}\fi
+% \end{macrocode}
+% Synonyms make no sense when no real language was defined yet.
+% This is checked next. If |\count19| is $-1$ an error is raised
+% and no definition takes place.
+% \begin{macrocode}
+ \ifnum\count19=\m@ne
+ \errhelp{You cannot put synonyms before first real
+ language definition in language.dat.}
+ \errmessage{Cannot define `#1' as a language synonym: no language
+ defined yet}%
+ \else
+% \end{macrocode}
+% Finally the real definition takes place: |l@<language>| is
+% defined with |\chardef| to be last allocated language number.
+% \begin{macrocode}
+ \global\expandafter\chardef\csname l@#1\endcsname\count19
+ \wlog{\string\l@#1=\string\language\number\count19}
+ \fi
+ }
+% \end{macrocode}
+% |\rightline| processes lines that don't start with |=|. Such
+% lines instruct ini\TeX\ to read one or more hyphenation files.
+%
+% The line is split on first space, |#1| being language name, |#2|
+% list of file names. Note that there is at least one space in
+% input line since we've put one just before |\@stopline|.
+% \begin{macrocode}
+\def\rightline#1 #2\@stopline{%
+% \end{macrocode}
+% First check if the language is already defined. If the language
+% name is new it is allocated.
+% \begin{macrocode}
+ \expandafter\ifx\csname l@#1\endcsname\relax
+ \expandafter\newlanguage\csname l@#1\endcsname
+ \else
+ \errhelp{This probably means your ``language.dat'' contains many
+ lines starting with `#1' or `=#1'. ^^JThe patterns will be
+ merged with the ones already loaded. This may not be what you
+ want.}%
+ \errmessage{Language `#1' already defined}%
+ \fi
+% \end{macrocode}
+% Then the language is set as current to begin loading of
+% hyphenation patterns.
+% \begin{macrocode}
+ \language\csname l@#1\endcsname
+% \end{macrocode}
+% The language name is added to the list of defined languages kept
+% in |\displaylines|.
+% \begin{macrocode}
+ \edef\displaylines{\displaylines, #1}%
+% \end{macrocode}
+% For every language there should be at least one patterns file
+% specified. So if |#2| is empty we raise an error.
+% \begin{macrocode}
+ \ifx\@stopline#2\@stopline
+ \errhelp{Hyphenation will be inhibited in language `#1'.}%
+ \errmessage{No pattern files specified for language `#1'}%
+% \end{macrocode}
+% Now |\centerline| processes list of file names delimited with
+% |\@stopline|.
+% \begin{macrocode}
+ \else
+ \begingroup
+ \message{Loading hyphenation patterns for #1.}
+ \centerline#2\@stopline
+ \endgroup
+ \fi
+ }
+% \end{macrocode}
+% Macro |\centerline| calls itself recursively until no file name
+% remains on input line. For each name it tries to load the file.
+% Absence of file is considered to be a fatal error.
+% \begin{macrocode}
+\def\centerline#1 #2\@stopline{%
+ \InputIfFileExists{#1}{}{%
+ \errhelp{Your language.dat file says I should load a file named
+ `#1'.^^J Check whether this name is correct and the file is
+ installed. ^^JThe format will not be generated.}%
+ \errmessage{Fatal error: patterns file #1 not found}%
+ \endgroup\endgroup\@@end}
+ \ifx\@stopline#2\@stopline\else \centerline#2\@stopline\fi
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\addvspace}
+% This macro is used to ensure that the line from language.dat ends
+% with exactly one space character.
+% \begin{macrocode}
+\def\addvspace #1 \*#2\@stopline{%
+ \ifx\@stopline#2\@stopline
+ \expandafter\def\expandafter\*\expandafter{\* }%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% With these auxiliaries we can start actual processing. First the
+% existence of file \texttt{language.dat} is checked and the file
+% is opened.
+% \begin{macrocode}
+\openin1 = language.dat
+\ifeof1
+ \errhelp{You should have a file named language.dat on your system.
+ This file specifies for what languages hyphenation patterns should
+ be loaded and where these are kept. Without this file the format
+ will not be generated.}%
+ \errmessage{Fatal error: language.dat not found}%
+ \endgroup\@@end
+\fi
+% \end{macrocode}
+% |\displaylines| is initialized in such a way that language list
+% won't contain starting comma:
+% \begin{macrocode}
+\let\displaylines\@gobble
+% \end{macrocode}
+% Now lines from \texttt{language.dat} are read one by one.
+% |\endlinechar| is set to $-1$ to avoid a space that may get on
+% the end of input line. But after a line is read |\endlinechar|
+% is reset again since code in patterns files may be fragile to
+% such a condition.
+% \begin{macrocode}
+\loop
+ \endlinechar\m@ne
+ \read1 to \*%
+ \endlinechar`\^^M
+% \end{macrocode}
+% Empty lines are skipped and others are passed to |\line|
+% with appended single space and the sentinel. Line is read to
+% |\*|. This is safe since this macro is only used locally here,
+% and normal value of |\*| is of no use for hyphenation files.
+% \begin{macrocode}
+ \ifx\*\empty
+ \else
+ \expandafter\addvspace\*\* \*\@stopline
+ \expandafter\line\*\@stopline
+ \fi
+% \end{macrocode}
+% Processing takes place until end of \texttt{language.dat} is
+% found.
+% \begin{macrocode}
+ \ifeof1\else
+\repeat
+\closein1
+% \end{macrocode}
+% Now another sanity check is made: any reasonable
+% \texttt{language.dat} should contain at least one language
+% definition. So we refuse to generate format without any
+% hyphenation patterns.
+% \begin{macrocode}
+\ifnum\count19=-1
+ \errhelp{Your language.dat does not instruct LaTeX to load any
+ hyphenation patterns. Since format with no hyphenation patterns
+ is hardly usable I refuse to generate it. Check your language.dat
+ and try again.}%
+ \errmessage{Fatal error: No languages defined in language.dat}%
+ \endgroup\@@end
+\fi
+% \end{macrocode}
+% Then code to display list of loaded languages is added to
+% |\everyjob| and the group ends.
+% \begin{macrocode}
+\edef\displaylines{\the\everyjob
+ \noexpand\wlog{Loaded hyphenation patterns for\displaylines.}}
+\global\everyjob\expandafter{\displaylines}
+\endgroup
+\language0
+\lefthyphenmin=2 \righthyphenmin=3
+%</hyphenation>
+% \end{macrocode}
+%
+% \section{Font encoding {\tt OT4}}
+%
+% Here we define a new encoding. Its main purpose is to provide the
+% link between standard accents such as |\'|,|\.| or |\k| (ogonek),
+% and the corresponding characters in the font. Jackowski's
+% fonts will be called |cm|s and |cc|s in this encoding.
+%
+% \begin{macrocode}
+%<*encoding>
+\ProvidesFile{ot4enc.def}[2003/05/09 v1.3.1 Output encoding for polish fonts]
+% \end{macrocode}
+% Declare the encoding.
+% \begin{macrocode}
+\DeclareFontEncoding{OT4}{}{}
+% \end{macrocode}
+% Declare the accents.
+% \begin{macrocode}
+\DeclareTextAccent{\"}{OT4}{127}
+\DeclareTextAccent{\'}{OT4}{19}
+\DeclareTextAccent{\.}{OT4}{95}
+\DeclareTextAccent{\=}{OT4}{22}
+\DeclareTextAccent{\^}{OT4}{94}
+\DeclareTextAccent{\`}{OT4}{18}
+\DeclareTextAccent{\~}{OT4}{126}
+\DeclareTextAccent{\H}{OT4}{125}
+\DeclareTextAccent{\u}{OT4}{21}
+\DeclareTextAccent{\v}{OT4}{20}
+\DeclareTextAccent{\r}{OT4}{23}
+% \end{macrocode}
+% The ogonek accent is available only under a e A \& E. But we
+% have to provide some definition for \cs{k}. Some accents have to
+% be built by hand as in OT1:
+% \begin{macrocode}
+\DeclareTextCommand{\k}{OT4}[1]{%
+ \TextSymbolUnavailable{\k{#1}}#1}
+\DeclareTextCommand{\b}{OT4}[1]
+ {{\o@lign{\relax#1\crcr\hidewidth\sh@ft{29}%
+ \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}}
+\DeclareTextCommand{\c}{OT4}[1]
+ {\leavevmode\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1%
+ \else{\ooalign{\unhbox\z@\crcr\hidewidth\char24\hidewidth}}\fi}
+\DeclareTextCommand{\d}{OT4}[1]
+ {{\o@lign{\relax#1\crcr\hidewidth\sh@ft{10}.\hidewidth}}}
+% \end{macrocode}
+% Declare the text symbols.
+% \begin{macrocode}
+\DeclareTextSymbol{\AE}{OT4}{29}
+\DeclareTextSymbol{\OE}{OT4}{30}
+\DeclareTextSymbol{\O}{OT4}{31}
+\DeclareTextSymbol{\L}{OT4}{138}
+\DeclareTextSymbol{\ae}{OT4}{26}
+\DeclareTextSymbol{\guillemotleft}{OT4}{174}
+\DeclareTextSymbol{\guillemotright}{OT4}{175}
+\DeclareTextSymbol{\i}{OT4}{16}
+\DeclareTextSymbol{\j}{OT4}{17}
+\DeclareTextSymbol{\l}{OT4}{170}
+\DeclareTextSymbol{\o}{OT4}{28}
+\DeclareTextSymbol{\oe}{OT4}{27}
+\DeclareTextSymbol{\quotedblbase}{OT4}{255}
+\DeclareTextSymbol{\ss}{OT4}{25}
+\DeclareTextSymbol{\textemdash}{OT4}{124}
+\DeclareTextSymbol{\textendash}{OT4}{123}
+\DeclareTextSymbol{\textexclamdown}{OT4}{60}
+%\DeclareTextSymbol{\texthyphenchar}{OT4}{`\-}
+%\DeclareTextSymbol{\texthyphen}{OT4}{`\-}
+\DeclareTextSymbol{\textquestiondown}{OT4}{62}
+\DeclareTextSymbol{\textquotedblleft}{OT4}{92}
+\DeclareTextSymbol{\textquotedblright}{OT4}{`\"}
+\DeclareTextSymbol{\textquoteleft}{OT4}{`\`}
+\DeclareTextSymbol{\textquoteright}{OT4}{`\'}
+% \end{macrocode}
+% Some symbols are faked from others:
+% \begin{macrocode}
+\DeclareTextCommand{\aa}{OT4}
+ {{\accent23a}}
+\DeclareTextCommand{\AA}{OT4}
+ {\leavevmode\setbox0\hbox{h}\dimen@\ht0\advance\dimen@-1ex%
+ \rlap{\raise.67\dimen@\hbox{\char'27}}A}
+\DeclareTextCommand{\SS}{OT4}
+ {SS}
+% \end{macrocode}
+% In the OT4 encoding, \pounds~and \$ share a slot.
+% \begin{macrocode}
+\DeclareTextCommand{\textdollar}{OT4}{\nfss@text{%
+ \ifdim \fontdimen\@ne\font >\z@
+ \slshape
+ \else
+ \upshape
+ \fi
+ \char`\$}}
+\DeclareTextCommand{\textsterling}{OT4}{\nfss@text{%
+ \ifdim \fontdimen\@ne\font >\z@
+ \itshape
+ \else
+ \fontshape{ui}\selectfont
+ \fi
+ \char`\$}}
+% \end{macrocode}
+% Declare the composites.
+% \begin{macrocode}
+\DeclareTextComposite{\k}{OT4}{A}{129}
+\DeclareTextComposite{\'}{OT4}{C}{130}
+\DeclareTextComposite{\k}{OT4}{E}{134}
+\DeclareTextComposite{\'}{OT4}{N}{139}
+\DeclareTextComposite{\'}{OT4}{S}{145}
+\DeclareTextComposite{\'}{OT4}{Z}{153}
+\DeclareTextComposite{\.}{OT4}{Z}{155}
+\DeclareTextComposite{\k}{OT4}{a}{161}
+\DeclareTextComposite{\'}{OT4}{c}{162}
+\DeclareTextComposite{\k}{OT4}{e}{166}
+\DeclareTextComposite{\'}{OT4}{n}{171}
+\DeclareTextComposite{\'}{OT4}{s}{177}
+\DeclareTextComposite{\'}{OT4}{z}{185}
+\DeclareTextComposite{\.}{OT4}{z}{187}
+\DeclareTextComposite{\'}{OT4}{O}{211}
+\DeclareTextComposite{\'}{OT4}{o}{243}
+%</encoding>
+% \end{macrocode}
+%
+% \Finale
+%
+\endinput
+%% \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 \~}
diff --git a/Master/texmf-dist/source/latex/polski/strony.dtx b/Master/texmf-dist/source/latex/polski/strony.dtx
new file mode 100644
index 00000000000..981112479d1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/polski/strony.dtx
@@ -0,0 +1,455 @@
+% \iffalse meta-comment -*- doctex -*-
+% $Id: strony.dtx,v 0.5 2002/03/05 20:23:16 marcin Exp $
+%
+% Copyright (C) 1994 by Mariusz Olko. All rights reserved.
+%
+% This file is part of the package `PLaTeX'
+% ------------------------------------------------------------------
+%
+% This system is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%
+%
+% IMPORTANT NOTICE:
+%
+% You are not allowed to change this file.
+%
+% If you receive only some of these files from someone, complain!
+%
+% You are NOT ALLOWED to distribute this file alone. You are NOT
+% ALLOWED to take money for the distribution or use of either this
+% file or a changed version, except for a nominal charge for copying
+% etc.
+%
+% \fi
+% \iffalse
+%
+%<*driver>
+\documentclass{ltxdoc}
+\begin{document}
+\tableofcontents
+\DocInput{stronyk.dtx}
+\end{document}
+%</driver>
+% \fi
+% \CheckSum{0}
+%
+%\section{Input encodings}
+%\subsection{`Mazovia' encoding}
+% \begin{macrocode}
+%<*mazovia>
+\ProvidesFile{mazovia.def}
+\DeclareInputText{143}{\k A}
+\DeclareInputText{149}{\@tabacckludge'C}
+\DeclareInputText{144}{\k E}
+\DeclareInputText{156}{\L}
+\DeclareInputText{165}{\@tabacckludge'N}
+\DeclareInputText{163}{\@tabacckludge'O}
+\DeclareInputText{152}{\@tabacckludge'S}
+\DeclareInputText{160}{\@tabacckludge'Z}
+\DeclareInputText{161}{\.Z}
+\DeclareInputText{134}{\k a}
+\DeclareInputText{141}{\@tabacckludge'c}
+\DeclareInputText{145}{\k e}
+\DeclareInputText{146}{\l}
+\DeclareInputText{164}{\@tabacckludge'n}
+\DeclareInputText{162}{\@tabacckludge'o}
+\DeclareInputText{158}{\@tabacckludge's}
+\DeclareInputText{166}{\@tabacckludge'z}
+\DeclareInputText{167}{\.z}
+%</mazovia>
+% \end{macrocode}
+%
+%\subsection{`Windows PL' encoding}
+%
+% This codepage prepared by Marcin Woli\'nski, covers full 1250
+% character set. It will be included in the next \LaTeX\ release.
+% \begin{macrocode}
+%<*windows>
+\ProvidesFile{cp1250.def}
+%\DeclareInputText{128}{} % not used
+%\DeclareInputText{129}{} % n/u
+\DeclareInputText{130}{\quotesinglbase}
+%\DeclareInputText{131}{} % n/u
+\DeclareInputText{132}{\quotedblbase}
+\DeclareInputText{133}{\textellipsis}
+\DeclareInputText{134}{\textdagger}
+\DeclareInputText{135}{\textdaggerdbl}
+%\DeclareInputText{136}{} % n/u
+%\DeclareInputText{137}{\perthousand} % not avaiable
+\DeclareInputText{138}{\v S}
+\DeclareInputText{139}{\guilsinglleft}
+\DeclareInputText{140}{\@tabacckludge'S}
+\DeclareInputText{141}{\v T}
+\DeclareInputText{142}{\v Z}
+\DeclareInputText{143}{\@tabacckludge'Z}
+%\DeclareInputText{144}{} % n/u
+\DeclareInputText{145}{\textquoteleft}
+\DeclareInputText{146}{\textquoteright}
+\DeclareInputText{147}{\textquotedblleft}
+\DeclareInputText{148}{\textquotedblright}
+\DeclareInputText{149}{\textbullet}
+\DeclareInputText{150}{\textendash}
+\DeclareInputText{151}{\textemdash}
+%\DeclareInputText{152}{} % n/u
+\DeclareInputText{153}{\texttrademark}
+\DeclareInputText{154}{\v s}
+\DeclareInputText{155}{\guilsinglright}
+\DeclareInputText{156}{\@tabacckludge's}
+\DeclareInputText{157}{\v t} % t caron (t') ?
+\DeclareInputText{158}{\v z}
+\DeclareInputText{159}{\@tabacckludge'z}
+\DeclareInputText{160}{\nobreakspace}
+\DeclareInputText{161}{\v{}}
+\DeclareInputText{162}{\u{}}
+\DeclareInputText{163}{\L}
+%\DeclareInputText{164}{\textcurrency} % not avaiable
+\DeclareInputText{165}{\k A}
+%\DeclareInputText{166}{\textbrokenbar} % not avaiable
+\DeclareInputText{167}{\textsection}
+\DeclareInputText{168}{\"{}}
+\DeclareInputText{169}{\copyright}
+\DeclareInputText{170}{\c S}
+\DeclareInputText{171}{\guillemotleft}
+\DeclareInputMath{172}{\lnot}
+\DeclareInputText{173}{\-} % soft hyphen
+\DeclareInputText{174}{\textregistered}
+\DeclareInputText{175}{\.Z}
+%\DeclareInputMath{176}{\mathdegree} % degree sign % not avaiable
+\DeclareInputMath{177}{\pm} % plus-minus
+\DeclareInputText{178}{\k{}}
+\DeclareInputText{179}{\l}
+\DeclareInputText{180}{\@tabacckludge'{}}
+\DeclareInputMath{181}{\mu} % micro sign
+\DeclareInputText{182}{\textparagraph}
+\DeclareInputText{183}{\textperiodcentered}
+\DeclareInputText{184}{\c{}}
+\DeclareInputText{185}{\k a}
+\DeclareInputText{186}{\c s}
+\DeclareInputText{187}{\guillemotright}
+\DeclareInputText{188}{\v L} % L caron (L') ?
+\DeclareInputText{189}{\H{}}
+\DeclareInputText{190}{\v l} % l caron (l') ?
+\DeclareInputText{191}{\. z}
+\DeclareInputText{192}{\@tabacckludge'R}
+\DeclareInputText{193}{\@tabacckludge'A}
+\DeclareInputText{194}{\^A}
+\DeclareInputText{195}{\u A}
+\DeclareInputText{196}{\"A}
+\DeclareInputText{197}{\@tabacckludge'L}
+\DeclareInputText{198}{\@tabacckludge'C}
+\DeclareInputText{199}{\c C}
+\DeclareInputText{200}{\v C}
+\DeclareInputText{201}{\@tabacckludge'E}
+\DeclareInputText{202}{\k E}
+\DeclareInputText{203}{\"E}
+\DeclareInputText{204}{\v E}
+\DeclareInputText{205}{\@tabacckludge'I}
+\DeclareInputText{206}{\^I}
+\DeclareInputText{207}{\v D}
+\DeclareInputText{208}{\DJ} % D stroke
+\DeclareInputText{209}{\@tabacckludge'N}
+\DeclareInputText{210}{\v N}
+\DeclareInputText{211}{\@tabacckludge'O}
+\DeclareInputText{212}{\^O}
+\DeclareInputText{213}{\H O}
+\DeclareInputText{214}{\"O}
+\DeclareInputMath{215}{\times}
+\DeclareInputText{216}{\v R}
+\DeclareInputText{217}{\r U}
+\DeclareInputText{218}{\@tabacckludge'U}
+\DeclareInputText{219}{\H U}
+\DeclareInputText{220}{\" U}
+\DeclareInputText{221}{\@tabacckludge'Y}
+\DeclareInputText{222}{\c T}
+\DeclareInputText{223}{\ss}
+\DeclareInputText{224}{\@tabacckludge'r}
+\DeclareInputText{225}{\@tabacckludge'a}
+\DeclareInputText{226}{\^a}
+\DeclareInputText{227}{\u a}
+\DeclareInputText{228}{\" a}
+\DeclareInputText{229}{\@tabacckludge'l}
+\DeclareInputText{230}{\@tabacckludge'c}
+\DeclareInputText{231}{\c c}
+\DeclareInputText{232}{\v c}
+\DeclareInputText{233}{\@tabacckludge'e}
+\DeclareInputText{234}{\k e}
+\DeclareInputText{235}{\"e}
+\DeclareInputText{236}{\v e}
+\DeclareInputText{237}{\@tabacckludge'\i}
+\DeclareInputText{238}{\^\i}
+\DeclareInputText{239}{\v d} % d caron (d') ?
+\DeclareInputText{240}{\dj} % d stroke
+\DeclareInputText{241}{\@tabacckludge'n}
+\DeclareInputText{242}{\v n}
+\DeclareInputText{243}{\@tabacckludge'o}
+\DeclareInputText{244}{\^o}
+\DeclareInputText{245}{\H o}
+\DeclareInputText{246}{\"o}
+\DeclareInputMath{247}{\div}
+\DeclareInputText{248}{\v r}
+\DeclareInputText{249}{\r u}
+\DeclareInputText{250}{\@tabacckludge'u}
+\DeclareInputText{251}{\H u}
+\DeclareInputText{252}{\"u}
+\DeclareInputText{253}{\@tabacckludge'y}
+\DeclareInputText{254}{\c t}
+\DeclareInputText{255}{\.{}}
+%</windows>
+% \end{macrocode}
+%
+%\subsection{Amiga}
+% This encoding contributed by Robert Ramiega
+% \begin{macrocode}
+%<*amigapl>
+\ProvidesFile{amigapl.def}
+\DeclareInputText{194}{\k A}
+\DeclareInputText{202}{\@tabacckludge'C}
+\DeclareInputText{203}{\k E}
+\DeclareInputText{206}{\L}
+\DeclareInputText{207}{\@tabacckludge'N}
+\DeclareInputText{211}{\@tabacckludge'O}
+\DeclareInputText{212}{\@tabacckludge'S}
+\DeclareInputText{218}{\@tabacckludge'Z}
+\DeclareInputText{219}{\.Z}
+\DeclareInputText{226}{\k a}
+\DeclareInputText{234}{\@tabacckludge'c}
+\DeclareInputText{235}{\k e}
+\DeclareInputText{238}{\l}
+\DeclareInputText{239}{\@tabacckludge'n}
+\DeclareInputText{243}{\@tabacckludge'o}
+\DeclareInputText{244}{\@tabacckludge's}
+\DeclareInputText{250}{\@tabacckludge'z}
+\DeclareInputText{251}{\.z}
+%</amigapl>
+% \end{macrocode}
+%\section{Font encodings}
+%\subsection{QX encoding}
+% \begin{macrocode}
+%<*qx>
+\ProvidesFile{qxenc.def}[2002/01/11 v0.05a QX font encoding definition]
+\DeclareFontEncoding{QX}{}{}
+\DeclareFontSubstitution{QX}{qtm}{m}{n}
+\DeclareTextSymbol{\textalpha}{QX}{0}
+\DeclareTextSymbol{\textDelta}{QX}{1} % TeX-math, Adobe
+\DeclareTextSymbol{\textbeta}{QX}{2} % TeX-math, Adobe
+\DeclareTextSymbol{\textdelta}{QX}{3} % TeX-math, Adobe
+\DeclareTextSymbol{\textpi}{QX}{4} % TeX-math, Adobe
+\DeclareTextSymbol{\textPi}{QX}{5} % TeX-math, Adobe
+\DeclareTextSymbol{\textSigma}{QX}{6} % TeX-math, Adobe
+\DeclareTextSymbol{\textmu}{QX}{7} % TeX-math, Adobe
+\DeclareTextSymbol{\textellipsis}{QX}{8} % LaTeX
+
+\DeclareTextSymbol{\textOmega}{QX}{10} % TeX-math, Adobe
+
+\DeclareTextSymbol{\i}{QX}{16} % TeX
+\DeclareTextComposite{\.}{QX}{i}{`\i} % LaTeX
+\DeclareTextSymbol{\j}{QX}{17} % TeX
+\DeclareTextAccent{\`}{QX}{18} % TeX
+\DeclareTextAccent{\'}{QX}{19} % TeX
+\DeclareTextAccent{\v}{QX}{20} % TeX
+\DeclareTextAccent{\u}{QX}{21} % TeX
+\DeclareTextAccent{\=}{QX}{22} % MeX
+\DeclareTextCommand{\b}{QX}[1]
+ {\leavevmode\bgroup\o@lign{\relax#1\crcr\hidewidth\sh@ft{29}%
+ \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}\egroup}
+\DeclareTextAccent{\r}{QX}{23} % LaTeX
+\DeclareTextCommand{\c}{QX}[1] % TeX
+ {\leavevmode\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1%
+ \else{\ooalign{\unhbox\z@\crcr\hidewidth\char24\hidewidth}}\fi}
+\DeclareTextSymbol{\ss}{QX}{25} % TeX
+\DeclareTextSymbol{\ae}{QX}{26} % TeX
+\DeclareTextSymbol{\oe}{QX}{27} % TeX
+\DeclareTextSymbol{\o}{QX}{28} % TeX
+\DeclareTextSymbol{\AE}{QX}{29} % TeX
+\DeclareTextSymbol{\OE}{QX}{30} % TeX
+\DeclareTextSymbol{\O}{QX}{31} % TeX
+
+\DeclareTextSymbol{\textquotedblright}{QX}{34} % LaTeX
+\DeclareTextSymbol{\textdollar}{QX}{36} % LaTeX
+\DeclareTextSymbol{\textquoteright}{QX}{39} % LaTeX
+
+\DeclareTextCommand{\d}{QX}[1] % TeX
+ {\leavevmode\bgroup
+ \o@lign{\relax#1\crcr\hidewidth\sh@ft{10}.\hidewidth}\egroup} % \char46
+
+\DeclareTextSymbol{\textexclamdown}{QX}{60} % LaTeX
+\DeclareTextSymbol{\textquestiondown}{QX}{62} % LaTeX
+
+\DeclareTextSymbol{\textquotedblleft}{QX}{92} % LaTeX
+\DeclareTextAccent{\^}{QX}{94} % TeX
+\DeclareTextAccent{\.}{QX}{95} % TeX
+
+\DeclareTextSymbol{\textquoteleft}{QX}{96} % LaTeX
+\DeclareTextSymbol{\textendash}{QX}{123} % LaTeX
+\DeclareTextSymbol{\textemdash}{QX}{124} % LaTeX
+\DeclareTextAccent{\H}{QX}{125} % TeX
+\DeclareTextAccent{\~}{QX}{126} % TeX
+\DeclareTextAccent{\"}{QX}{127} % TeX
+
+\DeclareTextSymbol{\texteuro}{QX}{128} % LaTeX (TS1 ?)
+\DeclareTextSymbol{\textEuro}{QX}{128} % Adobe's name is `Euro'
+\DeclareTextComposite{\k}{QX}{A}{129}
+\DeclareTextComposite{\'}{QX}{C}{130}
+\DeclareTextSymbol{\textgreater}{QX}{131} % LaTeX
+\DeclareTextSymbol{\textxgeq}{QX}{132} % MeX-math
+\DeclareTextSymbol{\textapprox}{QX}{133} % TeX-math
+\DeclareTextComposite{\k}{QX}{E}{134}
+\DeclareTextComposite{\k}{QX}{I}{135}
+
+\DeclareTextSymbol{\textless}{QX}{136} % LaTeX
+\DeclareTextSymbol{\textxleq}{QX}{137} % MeX-math
+\DeclareTextSymbol{\L}{QX}{138} % TeX
+\DeclareTextComposite{\'}{QX}{N}{139}
+\DeclareTextSymbol{\textasciitilde}{QX}{140} % LaTeX
+\DeclareTextSymbol{\textasciicircum}{QX}{141} % LaTeX
+\DeclareTextSymbol{\textell}{QX}{142} % TeX-math, Adobe
+\DeclareTextSymbol{\textdagger}{QX}{143} % LaTeX
+\DeclareTextSymbol{\textdaggerdbl}{QX}{144} % LaTeX
+\DeclareTextComposite{\'}{QX}{S}{145}
+\DeclareTextComposite{\v}{QX}{S}{146}
+\DeclareTextComposite{\c}{QX}{S}{147}
+\DeclareTextSymbol{\textdegree}{QX}{148} % Adobe
+\DeclareTextComposite{\c}{QX}{T}{149}
+\DeclareTextCommand{\k}{QX}[1]{% % LaTeX
+ \leavevmode\setbox0=\hbox{#1}\ifdim\ht0=1ex \accent150 #1%
+ \else{\ooalign{\hidewidth\char150\hidewidth\crcr\unhbox0}}\fi
+ }
+\DeclareTextComposite{\k}{QX}{U}{151}
+\DeclareTextComposite{\"}{QX}{Y}{152}
+\DeclareTextComposite{\'}{QX}{Z}{153}
+\DeclareTextComposite{\v}{QX}{Z}{154}
+\DeclareTextComposite{\.}{QX}{Z}{155}
+
+\DeclareTextSymbol{\textbraceleft}{QX}{157} % LaTeX
+\DeclareTextSymbol{\textbraceright}{QX}{158} % LaTeX
+\DeclareTextSymbol{\textsection}{QX}{159} % LaTeX
+
+\DeclareTextComposite{\k}{QX}{a}{161}
+\DeclareTextComposite{\'}{QX}{c}{162}
+\DeclareTextSymbol{\textregistered}{QX}{163} % LaTeX
+\DeclareTextSymbol{\copyright}{QX}{164} % TeX
+\DeclareTextSymbol{\textdiv}{QX}{165} % TeX-math
+\DeclareTextComposite{\k}{QX}{e}{166}
+\DeclareTextComposite{\k}{QX}{i}{167}
+\DeclareTextSymbol{\textminus}{QX}{168} % Adobe
+\DeclareTextSymbol{\texttimes}{QX}{169} % TeX-math
+\DeclareTextSymbol{\l}{QX}{170} % TeX
+\DeclareTextComposite{\'}{QX}{n}{171}
+\DeclareTextSymbol{\textpm}{QX}{172} % TeX-math
+\DeclareTextSymbol{\textinfty}{QX}{173} % TeX-math
+\DeclareTextSymbol{\guillemotleft}{QX}{174} % LaTeX
+\DeclareTextSymbol{\guillemotright}{QX}{175} % LaTeX
+\DeclareTextSymbol{\textparagraph}{QX}{176} % LaTeX
+\DeclareTextComposite{\'}{QX}{s}{177}
+\DeclareTextComposite{\v}{QX}{s}{178}
+\DeclareTextComposite{\c}{QX}{s}{179}
+\DeclareTextSymbol{\textbullet}{QX}{180} % LaTeX
+\DeclareTextComposite{\c}{QX}{t}{181}
+
+\DeclareTextComposite{\k}{QX}{u}{183}
+\DeclareTextComposite{\"}{QX}{y}{184}
+\DeclareTextComposite{\'}{QX}{z}{185}
+\DeclareTextComposite{\v}{QX}{z}{186}
+\DeclareTextComposite{\.}{QX}{z}{187}
+\DeclareTextSymbol{\textperiodcentered}{QX}{189}% LaTeX
+\DeclareTextSymbol{\textquotedbl}{QX}{190} % LaTeX
+\DeclareTextSymbol{\textquotesingle}{QX}{191} % Adobe
+\DeclareTextComposite{\`}{QX}{A}{192}
+\DeclareTextComposite{\'}{QX}{A}{193}
+\DeclareTextComposite{\^}{QX}{A}{194}
+\DeclareTextComposite{\~}{QX}{A}{195}
+\DeclareTextComposite{\"}{QX}{A}{196}
+\DeclareTextSymbol{\AA}{QX}{197} % TeX
+\DeclareTextSymbol{\textbackslash}{QX}{198} % LaTeX
+\DeclareTextComposite{\c}{QX}{C}{199}
+
+\DeclareTextComposite{\`}{QX}{E}{200}
+\DeclareTextComposite{\'}{QX}{E}{201}
+\DeclareTextComposite{\^}{QX}{E}{202}
+\DeclareTextComposite{\"}{QX}{E}{203}
+\DeclareTextComposite{\`}{QX}{I}{204}
+\DeclareTextComposite{\'}{QX}{I}{205}
+\DeclareTextComposite{\^}{QX}{I}{206}
+\DeclareTextComposite{\"}{QX}{I}{207}
+
+\DeclareTextSymbol{\DH}{QX}{208} % LaTeX
+\DeclareTextSymbol{\DJ}{QX}{208} % LaTeX
+\DeclareTextComposite{\~}{QX}{N}{209}
+\DeclareTextComposite{\`}{QX}{O}{210}
+\DeclareTextComposite{\'}{QX}{O}{211}
+\DeclareTextComposite{\^}{QX}{O}{212}
+\DeclareTextComposite{\~}{QX}{O}{213}
+\DeclareTextComposite{\"}{QX}{O}{214}
+\DeclareTextSymbol{\textcurrency}{QX}{215} % Adobe
+
+\DeclareTextSymbol{\textperthousand}{QX}{216} % Adobe
+\DeclareTextComposite{\`}{QX}{U}{217}
+\DeclareTextComposite{\'}{QX}{U}{218}
+\DeclareTextComposite{\^}{QX}{U}{219}
+\DeclareTextComposite{\"}{QX}{U}{220}
+\DeclareTextComposite{\'}{QX}{Y}{221}
+\DeclareTextSymbol{\TH}{QX}{222} % LaTeX
+\DeclareTextSymbol{\textbar}{QX}{223} % LaTeX
+
+\DeclareTextComposite{\`}{QX}{a}{224}
+\DeclareTextComposite{\'}{QX}{a}{225}
+\DeclareTextComposite{\^}{QX}{a}{226}
+\DeclareTextComposite{\~}{QX}{a}{227}
+\DeclareTextComposite{\"}{QX}{a}{228}
+\DeclareTextSymbol{\aa}{QX}{229} % TeX
+\DeclareTextComposite{\r}{QX}{a}{229}
+\DeclareTextSymbol{\textunderscore}{QX}{230} % LaTeX
+\DeclareTextComposite{\c}{QX}{c}{231}
+
+\DeclareTextComposite{\`}{QX}{e}{232}
+\DeclareTextComposite{\'}{QX}{e}{233}
+\DeclareTextComposite{\^}{QX}{e}{234}
+\DeclareTextComposite{\"}{QX}{e}{235}
+\DeclareTextComposite{\`}{QX}{i}{236}
+\DeclareTextComposite{\`}{QX}{\i}{236}
+\DeclareTextComposite{\'}{QX}{i}{237}
+\DeclareTextComposite{\'}{QX}{\i}{237}
+\DeclareTextComposite{\^}{QX}{i}{238}
+\DeclareTextComposite{\^}{QX}{\i}{238}
+\DeclareTextComposite{\"}{QX}{i}{239}
+\DeclareTextComposite{\"}{QX}{\i}{239}
+
+\DeclareTextSymbol{\dh}{QX}{240} % LaTeX
+\DeclareTextSymbol{\dj}{QX}{240} % LaTeX
+\DeclareTextComposite{\~}{QX}{n}{241}
+\DeclareTextComposite{\`}{QX}{o}{242}
+\DeclareTextComposite{\'}{QX}{o}{243}
+\DeclareTextComposite{\^}{QX}{o}{244}
+\DeclareTextComposite{\~}{QX}{o}{245}
+\DeclareTextComposite{\"}{QX}{o}{246}
+\DeclareTextSymbol{\textanglearc}{QX}{247} % Adobe
+
+\DeclareTextSymbol{\textdiameter}{QX}{248} % Adobe
+\DeclareTextComposite{\`}{QX}{u}{249}
+\DeclareTextComposite{\'}{QX}{u}{250}
+\DeclareTextComposite{\^}{QX}{u}{251}
+\DeclareTextComposite{\"}{QX}{u}{252}
+\DeclareTextComposite{\'}{QX}{y}{253}
+\DeclareTextSymbol{\th}{QX}{254} % LaTeX
+\DeclareTextSymbol{\quotedblbase}{QX}{255} % LaTeX
+%</qx>
+% \end{macrocode}
+%
+\endinput
+%% \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 \~}