summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/babel-contrib/polish
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/babel-contrib/polish
Initial commit
Diffstat (limited to 'macros/latex/contrib/babel-contrib/polish')
-rw-r--r--macros/latex/contrib/babel-contrib/polish/polish.dtx563
-rw-r--r--macros/latex/contrib/babel-contrib/polish/polish.ins148
-rw-r--r--macros/latex/contrib/babel-contrib/polish/polish.pdfbin0 -> 134292 bytes
3 files changed, 711 insertions, 0 deletions
diff --git a/macros/latex/contrib/babel-contrib/polish/polish.dtx b/macros/latex/contrib/babel-contrib/polish/polish.dtx
new file mode 100644
index 0000000000..a2e6697855
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/polish/polish.dtx
@@ -0,0 +1,563 @@
+% \iffalse meta-comment
+%
+% Copyright 1989-2005 Johannes L. Braams and any individual authors
+% listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the Babel system.
+% --------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work is Johannes Braams.
+%
+% The list of all files belonging to the Babel system is
+% given in the file `manifest.bbl. See also `legal.bbl' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+% \fi
+% \CheckSum{543}
+%
+% \iffalse
+% Tell the \LaTeX\ system who we are and write an entry on the
+% transcript.
+%<*dtx>
+\ProvidesFile{polish.dtx}
+%</dtx>
+%<code>\ProvidesLanguage{polish}
+%\fi
+%\ProvidesFile{polish.dtx}
+ [2005/03/31 v1.2l Polish support from the babel system]
+%\iffalse
+%% File `polish.dtx'
+%% Babel package for LaTeX version 2e
+%% Copyright (C) 1989 -- 2005
+%% by Johannes Braams, TeXniek
+%
+%% Polish Language Definition File
+%% Copyright (C) 1989 - 2005
+%% by Elmar Schalueck, Michael Janich
+% Universitaet-Gesamthochschule Paderborn
+% Warburger Strasse 100
+% 4790 Paderborn
+% Germany
+% elmar at uni-paderborn.de
+% massa at uni-paderborn.de
+%
+%% Please report errors to: J.L. Braams
+%% babel at braams.cistron.nl
+%
+% This file is part of the babel system, it provides the source
+% code for the Polish language definition file. It was developped
+% out of Polish.tex, which was written by Elmar Schalueck and
+% Michael Janich. Polish.tex was based on code by Leszek
+% Holenderski, Jerzy Ryll and J. S. Bie\'n from Faculty of
+% Mathematics,Informatics and Mechanics of Warsaw University, exept
+% of Jerzy Ryll (Instytut Informatyki Uniwersytetu Warszawskiego).
+%<*filedriver>
+\documentclass{ltxdoc}
+\newcommand*\TeXhax{\TeX hax}
+\newcommand*\babel{\textsf{babel}}
+\newcommand*\langvar{$\langle \it lang \rangle$}
+\newcommand*\note[1]{}
+\newcommand*\Lopt[1]{\textsf{#1}}
+\newcommand*\file[1]{\texttt{#1}}
+\begin{document}
+ \DocInput{polish.dtx}
+\end{document}
+%</filedriver>
+%\fi
+% \GetFileInfo{polish.dtx}
+%
+% \changes{polish-1.1c}{1994/06/26}{Removed the use of \cs{filedate}
+% and moved identification after the loading of babel.def}
+% \changes{polish-1.2d}{1996/10/10}{Replaced \cs{undefined} with
+% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency
+% with \LaTeX, moved the definition of \cs{atcatcode} right to the
+% beginning.}
+%
+% \section{The Polish language}
+%
+% The file \file{\filename}\footnote{The file described in this
+% section has version number \fileversion\ and was last revised on
+% \filedate.} defines all the language-specific macros for the
+% Polish language.
+%
+% For this language the character |"| is made active. In
+% table~\ref{tab:polish-quote} an overview is given of its purpose.
+% \begin{table}[htb]
+% \begin{center}
+% \begin{tabular}{lp{8cm}}
+% |"a| & or |\aob|, for tailed-a (like \c{a})\\
+% |"A| & or |\Aob|, for tailed-A (like \c{A})\\
+% |"e| & or |\eob|, for tailed-e (like \c{e})\\
+% |"E| & or |\Eob|, for tailed-E (like \c{E})\\
+% |"c| & or |\'c|, for accented c (like \'c),
+% same with uppercase letters and n,o,s\\
+% |"l| & or |\lpb{}|, for l with stroke (like \l)\\
+% |"L| & or |\Lpb{}|, for L with stroke (like \L)\\
+% |"r| & or |\zkb{}|, for pointed z (like \.z), cf.
+% pronounciation\\
+% |"R| & or |\Zkb{}|, for pointed Z (like \.Z)\\
+% |"z| & or |\'z|, for accented z\\
+% |"Z| & or |\'Z|, for accented Z\\
+% \verb="|= & disable ligature at this position.\\
+% |"-| & an explicit hyphen sign, allowing hyphenation
+% in the rest of the word.\\
+% |""| & like |"-|, but producing no hyphen sign
+% (for compund words with hyphen, e.g.\ |x-""y|). \\
+% |"`| & for German left double quotes (looks like ,,). \\
+% |"'| & for German right double quotes. \\
+% |"<| & for French left double quotes (similar to $<<$). \\
+% |">| & for French right double quotes (similar to $>>$).\\
+% \end{tabular}
+% \caption{The extra definitions made by \file{polish.sty}}
+% \label{tab:polish-quote}
+% \end{center}
+% \end{table}
+%
+% \StopEventually{}
+%
+% The macro |\LdfInit| takes care of preventing that this file is
+% loaded more than once, checking the category code of the
+% \texttt{@} sign, etc.
+% \changes{polish-1.2d}{1996/11/03}{Now use \cs{LdfInit} to perform
+% initial checks}
+% \begin{macrocode}
+%<*code>
+\LdfInit{polish}\captionspolish
+% \end{macrocode}
+%
+% When this file is read as an option, i.e. by the |\usepackage|
+% command, \texttt{polish} could be an `unknown' language in which
+% case we have to make it known. So we check for the existence of
+% |\l@polish| to see whether we have to do something here.
+%
+% \changes{polish-1.1c}{1994/06/26}{Now use \cs{@nopatterns} to
+% produce the warning}
+% \begin{macrocode}
+\ifx\l@polish\@undefined
+ \@nopatterns{Polish}
+ \adddialect\l@polish0\fi
+% \end{macrocode}
+%
+% The next step consists of defining commands to switch to (and
+% from) the Polish language.
+%
+% \begin{macro}{\captionspolish}
+% The macro |\captionspolish| defines all strings used in the four
+% standard documentclasses provided with \LaTeX.
+% \changes{polish-1.2b}{1995/07/04}{Added \cs{proofname} for
+% AMS-\LaTeX}
+% \changes{polish-1.2f}{1997/09/11}{Added translation for Proof and
+% changed translation of Contents}
+% \changes{polish-1.2i}{2000/09/19}{\cs{bibname} and \cs{refname} were
+% swapped}
+% \changes{polish-1.2i}{2000/09/19}{Added \cs{glossaryname}}
+% \begin{macrocode}
+\addto\captionspolish{%
+ \def\prefacename{Przedmowa}%
+ \def\refname{Literatura}%
+ \def\abstractname{Streszczenie}%
+ \def\bibname{Bibliografia}%
+ \def\chaptername{Rozdzia\l}%
+ \def\appendixname{Dodatek}%
+ \def\contentsname{Spis tre\'sci}%
+ \def\listfigurename{Spis rysunk\'ow}%
+ \def\listtablename{Spis tablic}%
+ \def\indexname{Indeks}%
+ \def\figurename{Rysunek}%
+ \def\tablename{Tablica}%
+ \def\partname{Cz\eob{}\'s\'c}%
+ \def\enclname{Za\l\aob{}cznik}%
+ \def\ccname{Kopie:}%
+ \def\headtoname{Do}%
+ \def\pagename{Strona}%
+ \def\seename{Por\'ownaj}%
+ \def\alsoname{Por\'ownaj tak\.ze}%
+ \def\proofname{Dow\'od}%
+ \def\glossaryname{Glossary}% <-- Needs translation
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\datepolish}
+% The macro |\datepolish| redefines the command |\today| to produce
+% Polish dates.
+% \changes{polish-1.2f}{1997/10/01}{Use \cs{edef} to define
+% \cs{today} to save memory}
+% \changes{polish-1.2f}{1998/03/28}{use \cs{def} instead of \cs{edef}}
+% \changes{polish-1.2i}{2000/01/08}{A missing comment character caused
+% an unwanted space character in the output}
+% \begin{macrocode}
+\def\datepolish{%
+ \def\today{\number\day~\ifcase\month\or
+ stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or lipca\or
+ sierpnia\or wrze\'snia\or pa\'zdziernika\or listopada\or grudnia\fi
+ \space\number\year}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\extraspolish}
+% \begin{macro}{\noextraspolish}
+% The macro |\extraspolish| will perform all the extra definitions
+% needed for the Polish language. The macro |\noextraspolish| is
+% used to cancel the actions of |\extraspolish|.
+%
+% For Polish the \texttt{"} character is made active. This is
+% done once, later on its definition may vary. Other languages in
+% the same document may also use the \texttt{"} character for
+% shorthands; we specify that the polish group of shorthands
+% should be used.
+%
+% \begin{macrocode}
+\initiate@active@char{"}
+\addto\extraspolish{\languageshorthands{polish}}
+\addto\extraspolish{\bbl@activate{"}}
+% \end{macrocode}
+% Don't forget to turn the shorthands off again.
+% \changes{polish-1.2h}{1999/12/17}{Deactivate shorthands ouside of
+% Polish}
+% \begin{macrocode}
+\addto\noextraspolish{\bbl@deactivate{"}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% The code above is necessary because we need an extra
+% active character. This character is then used as indicated in
+% table~\ref{tab:polish-quote}.
+%
+% If you have problems at the end of a word with a linebreak, use
+% the other version without hyphenation tricks. Some TeX wizard may
+% produce a better solution with forcasting another token to decide
+% whether the character after the double quote is the last in a
+% word. Do it and let us know.
+%
+% In Polish texts some letters get special diacritical marks.
+% Leszek Holenderski designed the following code to position the
+% diacritics correctly for every font in every size. These macros
+% need a few extra dimension variables.
+%
+% \begin{macrocode}
+\newdimen\pl@left
+\newdimen\pl@down
+\newdimen\pl@right
+\newdimen\pl@temp
+% \end{macrocode}
+%
+% \begin{macro}{\sob}
+% The macro |\sob| is used to put the `ogonek' in the right
+% place.
+%
+% \changes{polish-1.2d}{1996/08/18}{This macro is meant to be used in
+% horizontal mode; so leave vertical mode if necessary}
+% \begin{macrocode}
+\def\sob#1#2#3#4#5{%parameters: letter and fractions hl,ho,vl,vo
+ \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}{\aob}
+% \begin{macro}{\Aob}
+% \begin{macro}{\eob}
+% \begin{macro}{\Eob}
+% The ogonek is placed with the letters `a', `A', `e', and `E'.
+% \changes{polish-1.2d}{1996/08/18}{Use the constructed version of the
+% characters only in OT1; use proper characters in T1.}
+% \begin{macrocode}
+\DeclareTextCommand{\aob}{OT1}{\sob a{.66}{.20}{0}{.90}}
+\DeclareTextCommand{\Aob}{OT1}{\sob A{.80}{.50}{0}{.90}}
+\DeclareTextCommand{\eob}{OT1}{\sob e{.50}{.35}{0}{.93}}
+\DeclareTextCommand{\Eob}{OT1}{\sob E{.60}{.35}{0}{.90}}
+% \end{macrocode}
+% For the 'new' \texttt{T1} encoding we can provide simpler
+% definitions.
+% \begin{macrocode}
+\DeclareTextCommand{\aob}{T1}{\k a}
+\DeclareTextCommand{\Aob}{T1}{\k A}
+\DeclareTextCommand{\eob}{T1}{\k e}
+\DeclareTextCommand{\Eob}{T1}{\k E}
+% \end{macrocode}
+% Construct the characters by default from the OT1 encoding.
+% \begin{macrocode}
+\ProvideTextCommandDefault{\aob}{\UseTextSymbol{OT1}{\aob}}
+\ProvideTextCommandDefault{\Aob}{\UseTextSymbol{OT1}{\Aob}}
+\ProvideTextCommandDefault{\eob}{\UseTextSymbol{OT1}{\eob}}
+\ProvideTextCommandDefault{\Eob}{\UseTextSymbol{OT1}{\Eob}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\spb}
+% The macro |\spb| is used to put the `poprzeczka' in the
+% right place.
+%
+% \changes{polish-1.2d}{1996/08/18}{\cs{spb} is meant to be used in
+% horizontal mode; so leave vertical mode if necessary}
+% \begin{macrocode}
+\def\spb#1#2#3#4#5{%
+ \setbox0\hbox{#1}\setbox1\hbox{\char'023}%
+ \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
+ \ht1=\pl@down \dp1=-\pl@down
+ \leavevmode
+ \kern\pl@right\lower\pl@down\box1\kern-\pl@left #1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\skb}
+% The macro |\skb| is used to put the `kropka' in the
+% right place.
+%
+% \changes{polish-1.2d}{1996/08/18}{\cs{skb} is meant to be used in
+% horizontal mode; so leave vertical mode if necessary}
+% \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}
+%
+% \begin{macro}{\textpl}
+% For the `poprzeczka' and the `kropka' in text fonts we don't need
+% any special coding, but we can (almost) use what is already
+% available.
+%
+% \begin{macrocode}
+\def\textpl{%
+ \def\lpb{\plll}%
+ \def\Lpb{\pLLL}%
+ \def\zkb{\.z}%
+ \def\Zkb{\.Z}}
+% \end{macrocode}
+% Initially we assume that typesetting is done with text fonts.
+% \changes{polish-1.0a}{1993/11/05}{Initially execute `textpl}
+% \begin{macrocode}
+\textpl
+% \end{macrocode}
+%
+% \begin{macrocode}
+\let\lll=\l \let\LLL=\L
+\def\plll{\lll}
+\def\pLLL{\LLL}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\telepl}
+% But for the `teletype' font in `OT1' encoding we have to take some
+% special actions, involving the macros defined above.
+%
+% \begin{macrocode}
+\def\telepl{%
+ \def\lpb{\spb l{.45}{.5}{.4}{.8}}%
+ \def\Lpb{\spb L{.23}{.5}{.4}{.8}}%
+ \def\zkb{\skb z{.5}{.5}{1.2}{0}}%
+ \def\Zkb{\skb Z{.5}{.5}{1.1}{0}}}
+% \end{macrocode}
+% \end{macro}
+%
+% To activate these codes the font changing commands as they are
+% defined in \LaTeX\ are modified. The same is done for plain
+% \TeX's font changing commands.
+%
+% When |\selectfont| is undefined the current format is spposed to be
+% either plain (based) or \LaTeX$\:$2.09.
+% \changes{polish-1.2a}{1995/06/06}{Don't modify \cs{rm} and friends for
+% \LaTeXe, take \cs{selectfont } instead}
+% \begin{macrocode}
+\ifx\selectfont\@undefined
+ \ifx\prm\@undefined \addto\rm{\textpl}\else \addto\prm{\textpl}\fi
+ \ifx\pit\@undefined \addto\it{\textpl}\else \addto\pit{\textpl}\fi
+ \ifx\pbf\@undefined \addto\bf{\textpl}\else \addto\pbf{\textpl}\fi
+ \ifx\psl\@undefined \addto\sl{\textpl}\else \addto\psl{\textpl}\fi
+ \ifx\psf\@undefined \else \addto\psf{\textpl}\fi
+ \ifx\psc\@undefined \else \addto\psc{\textpl}\fi
+ \ifx\ptt\@undefined \addto\tt{\telepl}\else \addto\ptt{\telepl}\fi
+\else
+% \end{macrocode}
+% When |\selectfont| exists we assume \LaTeXe.
+% \begin{macrocode}
+ \expandafter\addto\csname selectfont \endcsname{%
+ \csname\f@encoding @pl\endcsname}
+\fi
+% \end{macrocode}
+% Currently we support the OT1 and T1 encodings. For T1 we don't
+% have to make a difference between typewriter fonts and other
+% fonts, they all have the same glyphs.
+% \begin{macrocode}
+\expandafter\let\csname T1@pl\endcsname\textpl
+% \end{macrocode}
+% For OT1 we need to check the current font family, stored in
+% |\f@family|. Unfortunately we need a hack as |\ttdefault| is
+% defined as a |\long| macro, while |\f@family| is not.
+% \begin{macrocode}
+\expandafter\def\csname OT1@pl\endcsname{%
+ \long\edef\curr@family{\f@family}%
+ \ifx\curr@family\ttdefault
+ \telepl
+ \else
+ \textpl
+ \fi}
+% \end{macrocode}
+%
+% \begin{macro}{\dq}
+% We save the original double quote character in |\dq| to keep
+% it available, the math accent |\"| can now be typed as |"|.
+% \begin{macrocode}
+\begingroup \catcode`\"12
+\def\x{\endgroup
+ \def\dq{"}}
+\x
+% \end{macrocode}
+% \end{macro}
+%
+% Now we can define the doublequote macros for diacritics,
+% \changes{polish-1.1d}{1995/01/31}{The dqmacro for C used \cs{'c}}
+% \begin{macrocode}
+\declare@shorthand{polish}{"a}{\textormath{\aob}{\ddot a}}
+\declare@shorthand{polish}{"A}{\textormath{\Aob}{\ddot A}}
+\declare@shorthand{polish}{"c}{\textormath{\'c}{\acute c}}
+\declare@shorthand{polish}{"C}{\textormath{\'C}{\acute C}}
+\declare@shorthand{polish}{"e}{\textormath{\eob}{\ddot e}}
+\declare@shorthand{polish}{"E}{\textormath{\Eob}{\ddot E}}
+\declare@shorthand{polish}{"l}{\textormath{\lpb}{\ddot l}}
+\declare@shorthand{polish}{"L}{\textormath{\Lpb}{\ddot L}}
+\declare@shorthand{polish}{"n}{\textormath{\'n}{\acute n}}
+\declare@shorthand{polish}{"N}{\textormath{\'N}{\acute N}}
+\declare@shorthand{polish}{"o}{\textormath{\'o}{\acute o}}
+\declare@shorthand{polish}{"O}{\textormath{\'O}{\acute O}}
+\declare@shorthand{polish}{"s}{\textormath{\'s}{\acute s}}
+\declare@shorthand{polish}{"S}{\textormath{\'S}{\acute S}}
+% \end{macrocode}
+% \begin{macro}{\polishrz}
+% \begin{macro}{\polishzx}
+% \changes{polish-1.2j}{2000/11/11}{Added support for two
+% notationstyles for kropka and accented z}
+% The command |\polishrz| defines the shorthands |"r|, |"z| and
+% |"x| to produce pointed z, accented z and |"x|. This is the
+% default as these shorthands were defined by this language
+% definition file for quite some time.
+% \begin{macrocode}
+\newcommand*{\polishrz}{%
+ \declare@shorthand{polish}{"r}{\textormath{\zkb}{\ddot r}}%
+ \declare@shorthand{polish}{"R}{\textormath{\Zkb}{\ddot R}}%
+ \declare@shorthand{polish}{"z}{\textormath{\'z}{\acute z}}%
+ \declare@shorthand{polish}{"Z}{\textormath{\'Z}{\acute Z}}%
+ \declare@shorthand{polish}{"x}{\dq x}%
+ \declare@shorthand{polish}{"X}{\dq X}%
+ }
+\polishrz
+% \end{macrocode}
+% The command |\polishzx| switches to a different set of
+% shorthands, |"z|, |"x| and |"r| to produce pointed z, accented z
+% and |"r|; a different shorthand notation also in use.
+% \changes{polish-1.2k}{2003/10/12}{Fixed a typo}
+% \begin{macrocode}
+\newcommand*{\polishzx}{%
+ \declare@shorthand{polish}{"z}{\textormath{\zkb}{\ddot z}}%
+ \declare@shorthand{polish}{"Z}{\textormath{\Zkb}{\ddot Z}}%
+ \declare@shorthand{polish}{"x}{\textormath{\'z}{\acute x}}%
+ \declare@shorthand{polish}{"X}{\textormath{\'Z}{\acute X}}%
+ \declare@shorthand{polish}{"r}{\dq r}%
+ \declare@shorthand{polish}{"R}{\dq R}%
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Then we define access to two forms of quotation marks, similar
+% to the german and french quotation marks.
+% \changes{polish-1.2e}{1997/04/03}{Removed empty groups after
+% double quote and guillemot characters}
+% \changes{polish-1.2l}{2004/02/18}{Changed closing quote}
+% \begin{macrocode}
+\declare@shorthand{polish}{"`}{%
+ \textormath{\quotedblbase}{\mbox{\quotedblbase}}}
+\declare@shorthand{polish}{"'}{%
+ \textormath{\textquotedblright}{\mbox{\textquotedblright}}}
+\declare@shorthand{polish}{"<}{%
+ \textormath{\guillemotleft}{\mbox{\guillemotleft}}}
+\declare@shorthand{polish}{">}{%
+ \textormath{\guillemotright}{\mbox{\guillemotright}}}
+% \end{macrocode}
+% then we define two shorthands to be able to specify hyphenation
+% breakpoints that behavew a little different from |\-|.
+% \begin{macrocode}
+\declare@shorthand{polish}{"-}{\nobreak-\bbl@allowhyphens}
+\declare@shorthand{polish}{""}{\hskip\z@skip}
+% \end{macrocode}
+% And we want to have a shorthand for disabling a ligature.
+% \begin{macrocode}
+\declare@shorthand{polish}{"|}{%
+ \textormath{\discretionary{-}{}{\kern.03em}}{}}
+% \end{macrocode}
+%
+%
+% \begin{macro}{\mdqon}
+% \begin{macro}{\mdqoff}
+% All that's left to do now is to define a couple of commands
+% for reasons of compatibility with \file{polish.tex}.
+% \changes{polish-1.2f}{1998/06/07}{Now use \cs{shorthandon} and
+% \cs{shorthandoff}}
+% \begin{macrocode}
+\def\mdqon{\shorthandon{"}}
+\def\mdqoff{\shorthandoff{"}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% The macro |\ldf@finish| takes care of looking for a
+% configuration file, setting the main language to be switched on
+% at |\begin{document}| and resetting the category code of
+% \texttt{@} to its original value.
+% \changes{polish-1.2d}{1996/11/03}{Now use \cs{ldf@finish} to wrap
+% up}
+% \begin{macrocode}
+\ldf@finish{polish}
+%</code>
+% \end{macrocode}
+%
+% \Finale
+%
+%% \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 \~}
+%%
+\endinput
diff --git a/macros/latex/contrib/babel-contrib/polish/polish.ins b/macros/latex/contrib/babel-contrib/polish/polish.ins
new file mode 100644
index 0000000000..00a5e50a92
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/polish/polish.ins
@@ -0,0 +1,148 @@
+%%
+%% 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 1989-2005 Johannes L. Braams and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% This file is part of the Babel system.
+%% --------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Johannes Braams.
+%%
+%% The list of all files belonging to the LaTeX base distribution is
+%% given in the file `manifest.bbl. See also `legal.bbl' for additional
+%% information.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\filedate{1999/04/11}
+\def\batchfile{polish.ins}
+\input docstrip.tex
+
+{\ifx\generate\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.3c or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\declarepreamble\mainpreamble
+This is a generated file.
+
+Copyright 1989-2005 Johannes L. Braams and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file was generated from file(s) of the Babel system.
+---------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Johannes Braams.
+
+This file may only be distributed together with a copy of the Babel
+system. You may however distribute the Babel system without
+such generated files.
+
+The list of all files belonging to the Babel distribution is
+given in the file `manifest.bbl'. See also `legal.bbl for additional
+information.
+
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
+extension .ins) which are part of the distribution.
+\endpreamble
+
+\declarepreamble\fdpreamble
+This is a generated file.
+
+Copyright 1989-2005 Johannes L. Braams and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file was generated from file(s) of the Babel system.
+---------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Johannes Braams.
+
+This file may only be distributed together with a copy of the Babel
+system. You may however distribute the Babel system without
+such generated files.
+
+The list of all files belonging to the Babel distribution is
+given in the file `manifest.bbl'. See also `legal.bbl for additional
+information.
+
+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
+
+\keepsilent
+
+\usedir{tex/generic/babel}
+
+\usepreamble\mainpreamble
+\generate{\file{polish.ldf}{\from{polish.dtx}{code}}
+ }
+\usepreamble\fdpreamble
+
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the files ending with}
+\Msg{* '.dtx' and `.fdd' through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+
+\endinput
diff --git a/macros/latex/contrib/babel-contrib/polish/polish.pdf b/macros/latex/contrib/babel-contrib/polish/polish.pdf
new file mode 100644
index 0000000000..19b5c0b01b
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/polish/polish.pdf
Binary files differ