summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/mapcodes
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/mapcodes
Initial commit
Diffstat (limited to 'macros/latex/contrib/mapcodes')
-rw-r--r--macros/latex/contrib/mapcodes/00readme.txt72
-rw-r--r--macros/latex/contrib/mapcodes/atari.dtx187
-rw-r--r--macros/latex/contrib/mapcodes/german.dtx79
-rw-r--r--macros/latex/contrib/mapcodes/hproman8.dtx151
-rw-r--r--macros/latex/contrib/mapcodes/ibm850.dtx184
-rw-r--r--macros/latex/contrib/mapcodes/ibm852.dtx184
-rw-r--r--macros/latex/contrib/mapcodes/install.txt64
-rw-r--r--macros/latex/contrib/mapcodes/iso88591.dtx153
-rw-r--r--macros/latex/contrib/mapcodes/iso88592.dtx153
-rw-r--r--macros/latex/contrib/mapcodes/macroman.dtx185
-rw-r--r--macros/latex/contrib/mapcodes/manifest.txt39
-rw-r--r--macros/latex/contrib/mapcodes/mapcodes.dtx721
-rw-r--r--macros/latex/contrib/mapcodes/mapcodes.ins68
-rw-r--r--macros/latex/contrib/mapcodes/spanish.dtx79
14 files changed, 2319 insertions, 0 deletions
diff --git a/macros/latex/contrib/mapcodes/00readme.txt b/macros/latex/contrib/mapcodes/00readme.txt
new file mode 100644
index 0000000000..79c23e4ef6
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/00readme.txt
@@ -0,0 +1,72 @@
+---------------------------------------------------------------------
+mapcodes version 1.04 Copyright (C) 1994, 1995 Michael Piotrowski
+---------------------------------------------------------------------
+
+Distribution Guide 10 May 1995
+Beschreibung des Pakets 10.05.1995
+
+
+
+
+
+Welcome to the mapcodes system!
+
+This file contains the distribution guide for the above-named version
+of the mapcodes package for the support of 8-bit input file in a
+variety of encodings. This package was written and is maintained by
+Michael Piotrowski.
+
+You need LaTeX2e for this package.
+
+This distribution is described in the files ending with .txt. You
+should read install.txt before starting to install mapcodes.
+
+ - 00readme.txt is the file you are reading.
+
+ - install.txt describes how to install mapcodes.
+
+ - manifest.txt lists all the files in the mapcodes distribution.
+
+You are not allowed to change the files in this distribution.
+
+Send any suggestions, additions, complaints, bug reports to me:
+
+E-mail: mlpiotro@linguistik.uni-erlangen.de
+Address: Michael Piotrowski
+ Haferfeldstr. 5
+ D-86405 Meitingen
+ Germany
+Note that I am more likely to respond to E-mail.
+
+
+
+
+
+
+Diese Datei enthaelt die Beschreibung des Pakets mapcodes in der oben
+angefuehrten Version. mapcodes ermoeglicht die Benutzung von 8-bit-
+Eingabedateien in verschiedenen Zeichensaetzen. mapcodes wurde von
+Michael Piotrowski geschrieben und wird von ihm gepflegt.
+
+Sie benoetigen LaTeX2e fuer dieses Paket.
+
+Dieses Paket wird in den Dateien mit der Endung .txt beschrieben.
+Bevor sie mit der Installation von mapcodes beginnen, sollten sie
+die Datei install.txt lesen.
+
+ - 00readme.txt ist die Datei, die Sie gerade lesen.
+
+ - install.txt beschreibt die Installation von mapcodes.
+
+ - manifest.txt fuehrt alle Dateien des mapcodes-Pakets auf.
+
+Es ist Ihnen nicht gestattet, die Dateien in diesem Paket zu veraendern.
+
+Bitte schicken Sie Vorschlaege, Erweiterungen, Beschwerden und
+Fehlerberichte an:
+
+E-mail: mlpiotro@linguistik.uni-erlangen.de
+Adresse: Michael Piotrowski
+ Haferfeldstr. 5
+ D-86405 Meitingen
+ Deutschland
diff --git a/macros/latex/contrib/mapcodes/atari.dtx b/macros/latex/contrib/mapcodes/atari.dtx
new file mode 100644
index 0000000000..1d8276e7f3
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/atari.dtx
@@ -0,0 +1,187 @@
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+%
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\DontCheckModules
+\newcommand{\mapcodes}{\textsf{mapcodes}}
+\begin{document}
+ \DocInput{atari.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \def\filename{atari.dtx}
+% \def\fileversion{v1.0}
+% \def\filedate{1994/12/05}
+% \CheckSum{515}
+%
+% \changes{atari-1.0}{1994/12/05}{First version}
+%
+% \section{Atari TOS Character Table}
+%
+% This is \filename{} \fileversion{} of \filedate. It contains the Atari
+% conversion table for \mapcodes.
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+%
+\typeout{Mapping Atari to \encodingdefault\space encoding}
+
+\catcode128=\active \def^^80{\map@Ccedilla}%
+\catcode129=\active \def^^81{\map@udieresis}%
+\catcode130=\active \def^^82{\map@eacute}%
+\catcode131=\active \def^^83{\map@acircumflex}%
+\catcode132=\active \def^^84{\map@adieresis}%
+\catcode133=\active \def^^85{\map@agrave}%
+\catcode134=\active \def^^86{\map@aring}%
+\catcode135=\active \def^^87{\map@ccedilla}%
+\catcode136=\active \def^^88{\map@ecircumflex}%
+\catcode137=\active \def^^89{\map@edieresis}%
+\catcode138=\active \def^^8a{\map@egrave}%
+\catcode139=\active \def^^8b{\map@idieresis}%
+\catcode140=\active \def^^8c{\map@icircumflex}%
+\catcode141=\active \def^^8d{\map@igrave}%
+\catcode142=\active \def^^8e{\map@Adieresis}%
+\catcode143=\active \def^^8f{\map@Aring}%
+\catcode144=\active \def^^90{\map@Eacute}%
+\catcode145=\active \def^^91{\map@ae}%
+\catcode146=\active \def^^92{\map@AE}%
+\catcode147=\active \def^^93{\map@ocircumflex}%
+\catcode148=\active \def^^94{\map@odieresis}%
+\catcode149=\active \def^^95{\map@ograve}%
+\catcode150=\active \def^^96{\map@ucircumflex}%
+\catcode151=\active \def^^97{\map@ugrave}%
+\catcode152=\active \def^^98{\map@ydieresis}%
+\catcode153=\active \def^^99{\map@Odieresis}%
+\catcode154=\active \def^^9a{\map@Udieresis}%
+\catcode155=\active \def^^9b{\map@cent}%
+\catcode156=\active \def^^9c{\map@sterling}%
+\catcode157=\active \def^^9d{\map@yen}%
+\catcode158=\active \def^^9e{\map@germandbls}%
+\catcode159=\active \def^^9f{\map@florin}%
+\catcode160=\active \def^^a0{\map@aacute}%
+\catcode161=\active \def^^a1{\map@iacute}%
+\catcode162=\active \def^^a2{\map@oacute}%
+\catcode163=\active \def^^a3{\map@uacute}%
+\catcode164=\active \def^^a4{\map@ntilde}%
+\catcode165=\active \def^^a5{\map@Ntilde}%
+\catcode166=\active \def^^a6{\map@ordfeminine}%
+\catcode167=\active \def^^a7{\map@ordmasculine}%
+\catcode168=\active \def^^a8{\map@questiondown}%
+%\catcode169=\active \def^^a9{\map@}%
+\catcode170=\active \def^^aa{\map@logicalnot}%
+\catcode171=\active \def^^ab{\map@onehalf}%
+\catcode172=\active \def^^ac{\map@onequarter}%
+\catcode173=\active \def^^ad{\map@exclamdown}%
+\catcode174=\active \def^^ae{\map@guillemotleft}%
+\catcode175=\active \def^^af{\map@guillemotright}%
+\catcode176=\active \def^^b0{\map@atilde}%
+\catcode177=\active \def^^b1{\map@otilde}%
+\catcode178=\active \def^^b2{\map@Oslash}%
+\catcode179=\active \def^^b3{\map@oslash}%
+\catcode180=\active \def^^b4{\map@oe}%
+\catcode181=\active \def^^b5{\map@OE}%
+\catcode182=\active \def^^b6{\map@Agrave}%
+\catcode183=\active \def^^b7{\map@Atilde}%
+\catcode184=\active \def^^b8{\map@Otilde}%
+\catcode185=\active \def^^b9{\map@dieresis}%
+\catcode186=\active \def^^ba{\map@acute}%
+\catcode187=\active \def^^bb{\map@dagger}%
+\catcode188=\active \def^^bc{\map@paragraph}%
+\catcode189=\active \def^^bd{\map@copyright}%
+\catcode190=\active \def^^be{\map@registered}%
+\catcode191=\active \def^^bf{\map@trademark}%
+\catcode192=\active \def^^c0{\map@ij}%
+\catcode193=\active \def^^c1{\map@IJ}%
+\catcode194=\active \def^^c2{\map@aleph}%
+\catcode195=\active \def^^c3{\map@nil}%
+\catcode196=\active \def^^c4{\map@nil}%
+\catcode197=\active \def^^c5{\map@nil}%
+\catcode198=\active \def^^c6{\map@nil}%
+\catcode199=\active \def^^c7{\map@nil}%
+\catcode200=\active \def^^c8{\map@nil}%
+\catcode201=\active \def^^c9{\map@nil}%
+\catcode202=\active \def^^ca{\map@nil}%
+\catcode203=\active \def^^cb{\map@nil}%
+\catcode204=\active \def^^cc{\map@nil}%
+\catcode205=\active \def^^cd{\map@nil}%
+\catcode206=\active \def^^ce{\map@nil}%
+\catcode207=\active \def^^cf{\map@nil}%
+\catcode208=\active \def^^d0{\map@nil}%
+\catcode209=\active \def^^d1{\map@nil}%
+\catcode210=\active \def^^d2{\map@nil}%
+\catcode211=\active \def^^d3{\map@nil}%
+\catcode212=\active \def^^d4{\map@nil}%
+\catcode213=\active \def^^d5{\map@nil}%
+\catcode214=\active \def^^d6{\map@nil}%
+\catcode215=\active \def^^d7{\map@nil}%
+\catcode216=\active \def^^d8{\map@nil}%
+\catcode217=\active \def^^d9{\map@nil}%
+\catcode218=\active \def^^da{\map@nil}%
+\catcode219=\active \def^^db{\map@nil}%
+\catcode220=\active \def^^dc{\map@nil}%
+\catcode221=\active \def^^dd{\map@section}%
+\catcode222=\active \def^^de{\map@logicaland}%
+\catcode223=\active \def^^df{\map@infinity}%
+\catcode224=\active \def^^e0{\map@alpha}%
+\catcode225=\active \def^^e1{\map@beta}%
+\catcode226=\active \def^^e2{\map@Gamma}%
+\catcode227=\active \def^^e3{\map@pi}%
+\catcode228=\active \def^^e4{\map@Sigma}%
+\catcode229=\active \def^^e5{\map@sigma}%
+\catcode230=\active \def^^e6{\map@mu}%
+\catcode231=\active \def^^e7{\map@tau}%
+\catcode232=\active \def^^e8{\map@Phi}%
+\catcode233=\active \def^^e9{\map@Theta}%
+\catcode234=\active \def^^ea{\map@Omega}%
+\catcode235=\active \def^^eb{\map@delta}%
+%\catcode236=\active \def^^ec{\map@}%
+\catcode237=\active \def^^ed{\map@phi}%
+\catcode238=\active \def^^ee{\map@epsilon}%
+\catcode239=\active \def^^ef{\map@intersection}%
+\catcode240=\active \def^^f0{\map@equivalence}%
+\catcode241=\active \def^^f1{\map@plusminus}%
+\catcode242=\active \def^^f2{\map@greaterequal}%
+\catcode243=\active \def^^f3{\map@lessequal}%
+\catcode244=\active \def^^f4{\map@nil}%
+\catcode245=\active \def^^f5{\map@nil}%
+\catcode246=\active \def^^f6{\map@divide}%
+\catcode247=\active \def^^f7{\map@approxequal}%
+\catcode248=\active \def^^f8{\map@degree}%
+\catcode249=\active \def^^f9{\map@bullet}%
+\catcode250=\active \def^^fa{\map@productdot}%
+\catcode251=\active \def^^fb{\map@radical}%
+\catcode252=\active \def^^fc{\map@nsuperior}%
+\catcode253=\active \def^^fd{\map@twosuperior}%
+\catcode254=\active \def^^fe{\map@threesuperior}%
+\catcode255=\active \def^^ff{\map@macron}%
+%
+% \end{macrocode}
+% \Finale
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/mapcodes/german.dtx b/macros/latex/contrib/mapcodes/german.dtx
new file mode 100644
index 0000000000..e3519b91d7
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/german.dtx
@@ -0,0 +1,79 @@
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+%
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\DontCheckModules
+\newcommand{\mapcodes}{\textsf{mapcodes}}
+\begin{document}
+ \DocInput{german.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \def\filename{german.dtx}
+% \def\fileversion{v1.1}
+% \def\filedate{1995/04/07}
+% \CheckSum{44}
+%
+% \changes{german-1.0}{1994/12/05}{First version}
+% \changes{german-1.1}{1995/04/07}{Support for quotation marks added}
+%
+% \section{\mapcodes{} Support for German Extensions}
+%
+% This is \filename{} \fileversion{} of \filedate. It contains the
+% \mapcodes support for the \textsf{german} package and the
+% \texttt{german} option of \textsf{babel}.
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+\typeout{Compatibility with German OT1 extensions requested...}
+
+\ifx\encodingdefault\map@oldenc
+ \typeout{enabled.}
+ \renewcommand\map@Adieresis{"A}
+ \renewcommand\map@Odieresis{"O}
+ \renewcommand\map@Udieresis{"U}
+ \renewcommand\map@adieresis{"a}
+ \renewcommand\map@odieresis{"o}
+ \renewcommand\map@udieresis{"u}
+ \renewcommand\map@germandbls{"s}
+ \renewcommand\map@quotedblbase{"`}
+ \renewcommand\map@quotedblleft{"'}
+ \renewcommand\map@quotesinglbase{\glq}
+ \renewcommand\map@quoteleft{\grq}
+ \renewcommand\map@guilsinglleft{\flq}
+ \renewcommand\map@guilsinglright{\flq}
+ \renewcommand\map@guillemotleft{\flqq}
+ \renewcommand\map@guillemotright{\frqq}
+\else
+ \typeout{rejected, T1 encoding used.}
+\fi
+% \end{macrocode}
+% \Finale
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/mapcodes/hproman8.dtx b/macros/latex/contrib/mapcodes/hproman8.dtx
new file mode 100644
index 0000000000..3bc4ed395f
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/hproman8.dtx
@@ -0,0 +1,151 @@
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+%
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\DontCheckModules
+\newcommand{\mapcodes}{\textsf{mapcodes}}
+\begin{document}
+ \DocInput{hproman8.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \def\filename{hproman8.dtx}
+% \def\fileversion{v1.0}
+% \def\filedate{1994/12/05}
+% \CheckSum{379}
+%
+% \changes{hproman8-1.0}{1994/12/05}{First version}
+%
+% \section{HP Roman 8 Character Table}
+%
+% This is \filename{} \fileversion{} of \filedate. It contains the HP
+% Roman 8 conversion table for \mapcodes.
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+\typeout{Mapping HP Roman 8 to \encodingdefault\space encoding}
+
+\catcode161=\active \def^^a1{\map@Agrave}%
+\catcode162=\active \def^^a2{\map@Acircumflex}%
+\catcode163=\active \def^^a3{\map@Egrave}%
+\catcode164=\active \def^^a4{\map@Ecircumflex}%
+\catcode165=\active \def^^a5{\map@Edieresis}%
+\catcode166=\active \def^^a6{\map@Icircumflex}%
+\catcode167=\active \def^^a7{\map@Idieresis}%
+\catcode168=\active \def^^a8{\map@acute}%
+\catcode169=\active \def^^a9{\map@grave}%
+\catcode170=\active \def^^aa{\map@circumflex}%
+\catcode171=\active \def^^ab{\map@dieresis}%
+\catcode172=\active \def^^ac{\map@tilde}%
+\catcode173=\active \def^^ad{\map@Ugrave}%
+\catcode174=\active \def^^ae{\map@Ucircumflex}%
+\catcode175=\active \def^^af{\map@sterling}%
+\catcode176=\active \def^^b0{\map@macron}%
+\catcode177=\active \def^^b1{\map@Yacute}%
+\catcode178=\active \def^^b2{\map@yacute}%
+\catcode179=\active \def^^b3{\map@degree}%
+\catcode180=\active \def^^b4{\map@Ccedilla}%
+\catcode181=\active \def^^b5{\map@ccedilla}%
+\catcode182=\active \def^^b6{\map@Ntilde}%
+\catcode183=\active \def^^b7{\map@ntilde}%
+\catcode184=\active \def^^b8{\map@exclamdown}%
+\catcode185=\active \def^^b9{\map@questiondown}%
+\catcode186=\active \def^^ba{\map@currency}%
+\catcode187=\active \def^^bb{\map@sterling}%
+\catcode188=\active \def^^bc{\map@yen}%
+\catcode189=\active \def^^bd{\map@section}%
+\catcode190=\active \def^^be{\map@florin}%
+\catcode191=\active \def^^bf{\map@cent}%
+\catcode192=\active \def^^c0{\map@acircumflex}%
+\catcode193=\active \def^^c1{\map@ecircumflex}%
+\catcode194=\active \def^^c2{\map@ocircumflex}%
+\catcode195=\active \def^^c3{\map@ucircumflex}%
+\catcode196=\active \def^^c4{\map@aacute}%
+\catcode197=\active \def^^c5{\map@eacute}%
+\catcode198=\active \def^^c6{\map@oacute}%
+\catcode199=\active \def^^c7{\map@uacute}%
+\catcode200=\active \def^^c8{\map@agrave}%
+\catcode201=\active \def^^c9{\map@egrave}%
+\catcode202=\active \def^^ca{\map@ograve}%
+\catcode203=\active \def^^cb{\map@ugrave}%
+\catcode204=\active \def^^cc{\map@adieresis}%
+\catcode205=\active \def^^cd{\map@edieresis}%
+\catcode206=\active \def^^ce{\map@odieresis}%
+\catcode207=\active \def^^cf{\map@udieresis}%
+\catcode208=\active \def^^d0{\map@Aring}%
+\catcode209=\active \def^^d1{\map@icircumflex}%
+\catcode210=\active \def^^d2{\map@Oslash}%
+\catcode211=\active \def^^d3{\map@AE}%
+\catcode212=\active \def^^d4{\map@aring}%
+\catcode213=\active \def^^d5{\map@iacute}%
+\catcode214=\active \def^^d6{\map@oslash}%
+\catcode215=\active \def^^d7{\map@ae}%
+\catcode216=\active \def^^d8{\map@Adieresis}%
+\catcode217=\active \def^^d9{\map@igrave}%
+\catcode218=\active \def^^da{\map@Odieresis}%
+\catcode219=\active \def^^db{\map@Udieresis}%
+\catcode220=\active \def^^dc{\map@Eacute}%
+\catcode221=\active \def^^dd{\map@idieresis}%
+\catcode222=\active \def^^de{\map@germandbls}%
+\catcode223=\active \def^^df{\map@Ocircumflex}%
+\catcode224=\active \def^^e0{\map@Aacute}%
+\catcode225=\active \def^^e1{\map@Atilde}%
+\catcode226=\active \def^^e2{\map@atilde}%
+\catcode227=\active \def^^e3{\map@Eth}%
+\catcode228=\active \def^^e4{\map@eth}%
+\catcode229=\active \def^^e5{\map@Iacute}%
+\catcode230=\active \def^^e6{\map@Igrave}%
+\catcode231=\active \def^^e7{\map@Oacute}%
+\catcode232=\active \def^^e8{\map@Ograve}%
+\catcode233=\active \def^^e9{\map@Otilde}%
+\catcode234=\active \def^^ea{\map@otilde}%
+\catcode235=\active \def^^eb{\map@Scaron}%
+\catcode236=\active \def^^ec{\map@scaron}%
+\catcode237=\active \def^^ed{\map@Uacute}%
+\catcode238=\active \def^^ee{\map@Ydieresis}%
+\catcode239=\active \def^^ef{\map@ydieresis}%
+\catcode240=\active \def^^f0{\map@Thorn}%
+\catcode241=\active \def^^f1{\map@thorn}%
+\catcode242=\active \def^^f2{\map@periodcentered}%
+\catcode243=\active \def^^f3{\map@mu}%
+\catcode244=\active \def^^f4{\map@paragraph}%
+\catcode245=\active \def^^f5{\map@threequarters}%
+\catcode246=\active \def^^f6{\map@emdash}%
+\catcode247=\active \def^^f7{\map@onequarter}%
+\catcode248=\active \def^^f8{\map@onehalf}%
+\catcode249=\active \def^^f9{\map@ordfeminine}%
+\catcode250=\active \def^^fa{\map@ordmasculine}%
+\catcode251=\active \def^^fb{\map@guillemotleft}%
+\catcode252=\active \def^^fc{\map@filledbox}%
+\catcode253=\active \def^^fd{\map@guillemotright}%
+\catcode254=\active \def^^fe{\map@plusminus}%
+% \end{macrocode}
+% \Finale
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/mapcodes/ibm850.dtx b/macros/latex/contrib/mapcodes/ibm850.dtx
new file mode 100644
index 0000000000..78243f8d59
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/ibm850.dtx
@@ -0,0 +1,184 @@
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+%
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\DontCheckModules
+\newcommand{\mapcodes}{\textsf{mapcodes}}
+\begin{document}
+ \DocInput{ibm850.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \def\filename{ibm850.dtx}
+% \def\fileversion{v1.0}
+% \def\filedate{1994/12/05}
+% \CheckSum{511}
+%
+% \changes{ibm850-1.0}{1994/12/05}{First version}
+%
+% \section{IBM Codepage 850 Character Table}
+%
+% This is \filename{} \fileversion{} of \filedate. It contains the
+% IBM Codepage 850 conversion table for \mapcodes.
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+\typeout{Mapping IBM PC Codepage 850 to \encodingdefault\space encoding}
+
+\catcode128=\active \def^^80{\map@Ccedilla}%
+\catcode129=\active \def^^81{\map@udieresis}%
+\catcode130=\active \def^^82{\map@eacute}%
+\catcode131=\active \def^^83{\map@acircumflex}%
+\catcode132=\active \def^^84{\map@adieresis}%
+\catcode133=\active \def^^85{\map@agrave}%
+\catcode134=\active \def^^86{\map@aring}%
+\catcode135=\active \def^^87{\map@ccedilla}%
+\catcode136=\active \def^^88{\map@ecircumflex}%
+\catcode137=\active \def^^89{\map@edieresis}%
+\catcode138=\active \def^^8a{\map@egrave}%
+\catcode139=\active \def^^8b{\map@idieresis}%
+\catcode140=\active \def^^8c{\map@icircumflex}%
+\catcode141=\active \def^^8d{\map@igrave}%
+\catcode142=\active \def^^8e{\map@Adieresis}%
+\catcode143=\active \def^^8f{\map@Aring}%
+\catcode144=\active \def^^90{\map@Eacute}%
+\catcode145=\active \def^^91{\map@ae}%
+\catcode146=\active \def^^92{\map@AE}%
+\catcode147=\active \def^^93{\map@ocircumflex}%
+\catcode148=\active \def^^94{\map@odieresis}%
+\catcode149=\active \def^^95{\map@ograve}%
+\catcode150=\active \def^^96{\map@ucircumflex}%
+\catcode151=\active \def^^97{\map@ugrave}%
+\catcode152=\active \def^^98{\map@ydieresis}%
+\catcode153=\active \def^^99{\map@Odieresis}%
+\catcode154=\active \def^^9a{\map@Udieresis}%
+\catcode155=\active \def^^9b{\map@oslash}%
+\catcode156=\active \def^^9c{\map@sterling}%
+\catcode157=\active \def^^9d{\map@Oslash}%
+\catcode158=\active \def^^9e{\map@multiply}%
+\catcode159=\active \def^^9f{\map@florin}%
+\catcode160=\active \def^^a0{\map@aacute}%
+\catcode161=\active \def^^a1{\map@iacute}%
+\catcode162=\active \def^^a2{\map@oacute}%
+\catcode163=\active \def^^a3{\map@uacute}%
+\catcode164=\active \def^^a4{\map@ntilde}%
+\catcode165=\active \def^^a5{\map@Ntilde}%
+\catcode166=\active \def^^a6{\map@ordfeminine}%
+\catcode167=\active \def^^a7{\map@ordmasculine}%
+\catcode168=\active \def^^a8{\map@questiondown}%
+\catcode169=\active \def^^a9{\map@registered}%
+\catcode170=\active \def^^aa{\map@logicalnot}%
+\catcode171=\active \def^^ab{\map@onehalf}%
+\catcode172=\active \def^^ac{\map@onequarter}%
+\catcode173=\active \def^^ad{\map@exclamdown}%
+\catcode174=\active \def^^ae{\map@guillemotleft}%
+\catcode175=\active \def^^af{\map@guillemotright}%
+\catcode176=\active \def^^b0{\map@nil}%
+\catcode177=\active \def^^b1{\map@nil}%
+\catcode178=\active \def^^b2{\map@nil}%
+\catcode179=\active \def^^b3{\map@nil}%
+\catcode180=\active \def^^b4{\map@nil}%
+\catcode181=\active \def^^b5{\map@Aacute}%
+\catcode182=\active \def^^b6{\map@Acircumflex}%
+\catcode183=\active \def^^b7{\map@Agrave}%
+\catcode184=\active \def^^b8{\map@copyright}%
+\catcode185=\active \def^^b9{\map@nil}%
+\catcode186=\active \def^^ba{\map@nil}%
+\catcode187=\active \def^^bb{\map@nil}%
+\catcode188=\active \def^^bc{\map@nil}%
+\catcode189=\active \def^^bd{\map@cent}%
+\catcode190=\active \def^^be{\map@yen}%
+\catcode191=\active \def^^bf{\map@nil}%
+\catcode192=\active \def^^c0{\map@nil}%
+\catcode193=\active \def^^c1{\map@nil}%
+\catcode194=\active \def^^c2{\map@nil}%
+\catcode195=\active \def^^c3{\map@nil}%
+\catcode196=\active \def^^c4{\map@nil}%
+\catcode197=\active \def^^c5{\map@nil}%
+\catcode198=\active \def^^c6{\map@atilde}%
+\catcode199=\active \def^^c7{\map@Atilde}%
+\catcode200=\active \def^^c8{\map@nil}%
+\catcode201=\active \def^^c9{\map@nil}%
+\catcode202=\active \def^^ca{\map@nil}%
+\catcode203=\active \def^^cb{\map@nil}%
+\catcode204=\active \def^^cc{\map@nil}%
+\catcode205=\active \def^^cd{\map@nil}%
+\catcode206=\active \def^^ce{\map@nil}%
+\catcode207=\active \def^^cf{\map@currency}%
+\catcode208=\active \def^^d0{\map@eth}%
+\catcode209=\active \def^^d1{\map@Eth}%
+\catcode210=\active \def^^d2{\map@Ecircumflex}%
+\catcode211=\active \def^^d3{\map@Edieresis}%
+\catcode212=\active \def^^d4{\map@Egrave}%
+\catcode213=\active \def^^d5{\map@onesuperior}%
+\catcode214=\active \def^^d6{\map@Iacute}%
+\catcode215=\active \def^^d7{\map@Icircumflex}%
+\catcode216=\active \def^^d8{\map@Idieresis}%
+\catcode217=\active \def^^d9{\map@nil}%
+\catcode218=\active \def^^da{\map@nil}%
+\catcode219=\active \def^^db{\map@nil}%
+\catcode220=\active \def^^dc{\map@nil}%
+\catcode221=\active \def^^dd{\map@brokenbar}%
+\catcode222=\active \def^^de{\map@Igrave}%
+\catcode223=\active \def^^df{\map@nil}%
+\catcode224=\active \def^^e0{\map@Oacute}%
+\catcode225=\active \def^^e1{\map@germandbls}%
+\catcode226=\active \def^^e2{\map@Ocircumflex}%
+\catcode227=\active \def^^e3{\map@Ograve}%
+\catcode228=\active \def^^e4{\map@otilde}%
+\catcode229=\active \def^^e5{\map@Otilde}%
+\catcode230=\active \def^^e6{\map@mu}%
+\catcode231=\active \def^^e7{\map@thorn}%
+\catcode232=\active \def^^e8{\map@Thorn}%
+\catcode233=\active \def^^e9{\map@Uacute}%
+\catcode234=\active \def^^ea{\map@Ucircumflex}%
+\catcode235=\active \def^^eb{\map@Ugrave}%
+\catcode236=\active \def^^ec{\map@yacute}%
+\catcode237=\active \def^^ed{\map@Yacute}%
+\catcode238=\active \def^^ee{\map@macron}%
+\catcode239=\active \def^^ef{\map@acute}%
+%\catcode240=\active \def^^f0{\map@}%
+\catcode241=\active \def^^f1{\map@plusminus}%
+%\catcode242=\active \def^^f2{\map@}%
+\catcode243=\active \def^^f3{\map@threequarters}%
+\catcode244=\active \def^^f4{\map@paragraph}%
+\catcode245=\active \def^^f5{\map@section}%
+\catcode246=\active \def^^f6{\map@divide}%
+\catcode247=\active \def^^f7{\map@cedilla}%
+\catcode248=\active \def^^f8{\map@degree}%
+\catcode249=\active \def^^f9{\map@dieresis}%
+\catcode250=\active \def^^fa{\map@productdot}%
+\catcode251=\active \def^^fb{\map@onesuperior}%
+\catcode252=\active \def^^fc{\map@threesuperior}%
+\catcode253=\active \def^^fd{\map@twosuperior}%
+\catcode254=\active \def^^fe{\map@filledbox}%
+% \end{macrocode}
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/mapcodes/ibm852.dtx b/macros/latex/contrib/mapcodes/ibm852.dtx
new file mode 100644
index 0000000000..2415c1e4a0
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/ibm852.dtx
@@ -0,0 +1,184 @@
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+%
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\DontCheckModules
+\newcommand{\mapcodes}{\textsf{mapcodes}}
+\begin{document}
+ \DocInput{ibm852.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \def\filename{ibm852.dtx}
+% \def\fileversion{v1.0}
+% \def\filedate{1994/12/05}
+% \CheckSum{511}
+%
+% \changes{ibm852-1.0}{1994/12/05}{First version}
+%
+% \section{IBM Codepage 852 Character Table}
+%
+% This is \filename{} \fileversion{} of \filedate. It contains the
+% IBM Codepage 852 conversion table for \mapcodes.
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+\typeout{Mapping IBM PC Codepage 852 to \encodingdefault\space encoding}
+
+\catcode128=\active \def^^80{\map@Ccedilla}%
+\catcode129=\active \def^^81{\map@udieresis}%
+\catcode130=\active \def^^82{\map@eacute}%
+\catcode131=\active \def^^83{\map@acircumflex}%
+\catcode132=\active \def^^84{\map@adieresis}%
+\catcode133=\active \def^^85{\map@uring}%
+\catcode134=\active \def^^86{\map@cacute}%
+\catcode135=\active \def^^87{\map@ccedilla}%
+\catcode136=\active \def^^88{\map@lslash}%
+\catcode137=\active \def^^89{\map@edieresis}%
+\catcode138=\active \def^^8a{\map@Otilde}%
+\catcode139=\active \def^^8b{\map@otilde}%
+\catcode140=\active \def^^8c{\map@icircumflex}%
+\catcode141=\active \def^^8d{\map@Zacute}%
+\catcode142=\active \def^^8e{\map@Adieresis}%
+\catcode143=\active \def^^8f{\map@Cacute}%
+\catcode144=\active \def^^90{\map@Eacute}%
+\catcode145=\active \def^^91{\map@Lacute}%
+\catcode146=\active \def^^92{\map@lacute}%
+\catcode147=\active \def^^93{\map@ocircumflex}%
+\catcode148=\active \def^^94{\map@odieresis}%
+\catcode149=\active \def^^95{\map@Lcaron}%
+\catcode150=\active \def^^96{\map@lcaron}%
+\catcode151=\active \def^^97{\map@Sacute}%
+\catcode152=\active \def^^98{\map@sacute}%
+\catcode153=\active \def^^99{\map@Odieresis}%
+\catcode154=\active \def^^9a{\map@Udieresis}%
+\catcode155=\active \def^^9b{\map@Tcaron}%
+\catcode156=\active \def^^9c{\map@tcaron}%
+\catcode157=\active \def^^9d{\map@Lslash}%
+\catcode158=\active \def^^9e{\map@multiply}%
+\catcode159=\active \def^^9f{\map@ccaron}%
+\catcode160=\active \def^^a0{\map@aacute}%
+\catcode161=\active \def^^a1{\map@iacute}%
+\catcode162=\active \def^^a2{\map@oacute}%
+\catcode163=\active \def^^a3{\map@uacute}%
+\catcode164=\active \def^^a4{\map@Aogonek}%
+\catcode165=\active \def^^a5{\map@aogonek}%
+\catcode166=\active \def^^a6{\map@Zcaron}%
+\catcode167=\active \def^^a7{\map@zcaron}%
+\catcode168=\active \def^^a8{\map@Eogonek}%
+\catcode169=\active \def^^a9{\map@eogonek}%
+\catcode170=\active \def^^aa{\map@logicalnot}%
+\catcode171=\active \def^^ab{\map@zacute}%
+\catcode172=\active \def^^ac{\map@Ccaron}%
+\catcode173=\active \def^^ad{\map@scedilla}%
+\catcode174=\active \def^^ae{\map@guillemotleft}%
+\catcode175=\active \def^^af{\map@guillemotright}%
+\catcode176=\active \def^^b0{\map@nil}%
+\catcode177=\active \def^^b1{\map@nil}%
+\catcode178=\active \def^^b2{\map@nil}%
+\catcode179=\active \def^^b3{\map@nil}%
+\catcode180=\active \def^^b4{\map@nil}%
+\catcode181=\active \def^^b5{\map@Aacute}%
+\catcode182=\active \def^^b6{\map@Acircumflex}%
+\catcode183=\active \def^^b7{\map@Ecaron}%
+\catcode184=\active \def^^b8{\map@Scedilla}%
+\catcode185=\active \def^^b9{\map@nil}%
+\catcode186=\active \def^^ba{\map@nil}%
+\catcode187=\active \def^^bb{\map@nil}%
+\catcode188=\active \def^^bc{\map@nil}%
+\catcode189=\active \def^^bd{\map@Zdotaccent}%
+\catcode190=\active \def^^be{\map@zdotaccent}%
+\catcode191=\active \def^^bf{\map@nil}%
+\catcode192=\active \def^^c0{\map@nil}%
+\catcode193=\active \def^^c1{\map@nil}%
+\catcode194=\active \def^^c2{\map@nil}%
+\catcode195=\active \def^^c3{\map@nil}%
+\catcode196=\active \def^^c4{\map@nil}%
+\catcode197=\active \def^^c5{\map@nil}%
+\catcode198=\active \def^^c6{\map@Abreve}%
+\catcode199=\active \def^^c7{\map@abreve}%
+\catcode200=\active \def^^c8{\map@nil}%
+\catcode201=\active \def^^c9{\map@nil}%
+\catcode202=\active \def^^ca{\map@nil}%
+\catcode203=\active \def^^cb{\map@nil}%
+\catcode204=\active \def^^cc{\map@nil}%
+\catcode205=\active \def^^cd{\map@nil}%
+\catcode206=\active \def^^ce{\map@nil}%
+\catcode207=\active \def^^cf{\map@currency}%
+\catcode208=\active \def^^d0{\map@dslash}%
+\catcode209=\active \def^^d1{\map@Dslash}%
+\catcode210=\active \def^^d2{\map@Dcaron}%
+\catcode211=\active \def^^d3{\map@Edieresis}%
+\catcode212=\active \def^^d4{\map@dcaron}%
+\catcode213=\active \def^^d5{\map@Ncaron}%
+\catcode214=\active \def^^d6{\map@Iacute}%
+\catcode215=\active \def^^d7{\map@Icircumflex}%
+\catcode216=\active \def^^d8{\map@ecaron}%
+\catcode217=\active \def^^d9{\map@nil}%
+\catcode218=\active \def^^da{\map@nil}%
+\catcode219=\active \def^^db{\map@nil}%
+\catcode220=\active \def^^dc{\map@nil}%
+\catcode221=\active \def^^dd{\map@Tcedilla}%
+\catcode222=\active \def^^de{\map@Uring}%
+\catcode223=\active \def^^df{\map@nil}%
+\catcode224=\active \def^^e0{\map@Oacute}%
+\catcode225=\active \def^^e1{\map@germandbls}%
+\catcode226=\active \def^^e2{\map@Ocircumflex}%
+\catcode227=\active \def^^e3{\map@Nacute}%
+\catcode228=\active \def^^e4{\map@nacute}%
+\catcode229=\active \def^^e5{\map@ncaron}%
+\catcode230=\active \def^^e6{\map@Scaron}%
+\catcode231=\active \def^^e7{\map@scaron}%
+\catcode232=\active \def^^e8{\map@Racute}%
+\catcode233=\active \def^^e9{\map@Uacute}%
+\catcode234=\active \def^^ea{\map@racute}%
+\catcode235=\active \def^^eb{\map@Uhungarumlaut}%
+\catcode236=\active \def^^ec{\map@yacute}%
+\catcode237=\active \def^^ed{\map@Yacute}%
+\catcode238=\active \def^^ee{\map@tcedilla}%
+\catcode239=\active \def^^ef{\map@acute}%
+%\catcode240=\active \def^^f0{\map@}%
+\catcode241=\active \def^^f1{\map@hungarumlaut}%
+\catcode242=\active \def^^f2{\map@ogonek}%
+\catcode243=\active \def^^f3{\map@caron}%
+\catcode244=\active \def^^f4{\map@breve}%
+\catcode245=\active \def^^f5{\map@section}%
+\catcode246=\active \def^^f6{\map@divide}%
+\catcode247=\active \def^^f7{\map@cedilla}%
+\catcode248=\active \def^^f8{\map@degree}%
+\catcode249=\active \def^^f9{\map@dieresis}%
+\catcode250=\active \def^^fa{\map@productdot}%
+\catcode251=\active \def^^fb{\map@uhungarumlaut}%
+\catcode252=\active \def^^fc{\map@Rcaron}%
+\catcode253=\active \def^^fd{\map@rcaron}%
+\catcode254=\active \def^^fe{\map@filledbox}%
+% \end{macrocode}
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/mapcodes/install.txt b/macros/latex/contrib/mapcodes/install.txt
new file mode 100644
index 0000000000..570077780b
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/install.txt
@@ -0,0 +1,64 @@
+---------------------------------------------------------------------
+mapcodes version 1.04 Copyright (C) 1994 Michael Piotrowski
+---------------------------------------------------------------------
+
+Installation Guide 07 Feb 1995
+Installationsbeschreibung 07.02.1995
+
+
+
+
+
+This file describes in 5 steps the installation of the mapcodes
+package.
+
+1. Make sure you have LaTeX2e installed.
+
+2. If you're using emTeX, make sure that the format file wasn't built
+ with the /c option but with the /8 option. The format file must
+ not contain a translation table!
+ For more details on how to build formats with emTeX consult the
+ emTeX documentation.
+
+3. Run the installation file `mapcodes.ins' through LaTeX. This will
+ result in the creation of the following files:
+
+ - mapcodes.sty
+ - mapcodes.drv
+ - various files with the extension .map
+
+4. If necessary, copy these files in a directory where TeX can find them.
+
+5. Run `mapcodes.drv' through LaTeX to produce the documentation. (You may
+ delete `mapcodes.drv' and the .dtx files afterwards to save space)
+
+Happy TeXing!
+
+
+
+Diese Datei beschreibt die Installation des mapcodes-Paket in 5
+Schritten.
+
+1. Stellen Sie sicher, dass Sie LaTeX2e installiert haben.
+
+2. Wenn Sie emTeX benutzen, achten Sie darauf, dass die Formatdatei
+ nicht mit dem Schalter /c, sondern mit dem Schalter /8 erzeugt wurde.
+ Die Formatdatei darf keine šbersetzungstabelle enthalten!
+ Eine genaue Beschreibung, wie Formate mit emTeX erzeugt werden,
+ finden Sie in der EmTeX-Beschreibung.
+
+3. Rufen Sie LaTeX mit der Installationsdatei `mapcodes.ins' auf.
+ Dabei werden folgende Dateien erzeugt:
+
+ - mapcodes.sty
+ - mapcodes.drv
+ - verschiedene Dateien mit der Erweiterung .map
+
+4. Wenn noetig, kopieren Sie diese Dateien in ein Verzeichnis, in dem
+ TeX sie finden kann.
+
+5. Um die Beschreibung zu erzeugen, rufen Sie LaTeX mit mapcodes.drv auf.
+ (Sie koennen mapcodes.drv und die .dtx-Dateien hinterher loeschen, um
+ Platz zu sparen)
+
+Frohes TeXen! \ No newline at end of file
diff --git a/macros/latex/contrib/mapcodes/iso88591.dtx b/macros/latex/contrib/mapcodes/iso88591.dtx
new file mode 100644
index 0000000000..93a8847e59
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/iso88591.dtx
@@ -0,0 +1,153 @@
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+%
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\DontCheckModules
+\newcommand{\mapcodes}{\textsf{mapcodes}}
+\begin{document}
+ \DocInput{iso88591.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \def\filename{iso88591.dtx}
+% \def\fileversion{v1.0}
+% \def\filedate{1994/12/05}
+% \CheckSum{387}
+%
+% \changes{iso88591-1.0}{1994/12/05}{First version}
+%
+% \section{ISO 8859-1 Character Table}
+%
+% This is \filename{} \fileversion{} of \filedate. It contains the
+% ISO 8859-1 conversion table for \mapcodes.
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+\typeout{Mapping ISO 8859-1 (Latin 1) to \encodingdefault\space encoding.}
+
+\catcode160=\active \def^^a0{\map@space}%
+\catcode161=\active \def^^a1{\map@exclamdown}%
+\catcode162=\active \def^^a2{\map@cent}%
+\catcode163=\active \def^^a3{\map@sterling}%
+\catcode164=\active \def^^a4{\map@currency}%
+\catcode165=\active \def^^a5{\map@yen}%
+\catcode166=\active \def^^a6{\map@brokenbar}%
+\catcode167=\active \def^^a7{\map@section}%
+\catcode168=\active \def^^a8{\map@dieresis}%
+\catcode169=\active \def^^a9{\map@copyright}%
+\catcode170=\active \def^^aa{\map@ordfeminine}%
+\catcode171=\active \def^^ab{\map@guillemotleft}%
+\catcode172=\active \def^^ac{\map@logicalnot}%
+\catcode173=\active \def^^ad{\map@hyphen}%
+\catcode174=\active \def^^ae{\map@registered}%
+\catcode175=\active \def^^af{\map@macron}%
+\catcode176=\active \def^^b0{\map@degree}%
+\catcode177=\active \def^^b1{\map@plusminus}%
+\catcode178=\active \def^^b2{\map@twosuperior}%
+\catcode179=\active \def^^b3{\map@threesuperior}%
+\catcode180=\active \def^^b4{\map@acute}%
+\catcode181=\active \def^^b5{\map@mu}%
+\catcode182=\active \def^^b6{\map@paragraph}%
+\catcode183=\active \def^^b7{\map@periodcentered}%
+\catcode184=\active \def^^b8{\map@cedilla}%
+\catcode185=\active \def^^b9{\map@onesuperior}%
+\catcode186=\active \def^^ba{\map@ordmasculine}%
+\catcode187=\active \def^^bb{\map@guillemotright}%
+\catcode188=\active \def^^bc{\map@onequarter}%
+\catcode189=\active \def^^bd{\map@onehalf}%
+\catcode190=\active \def^^be{\map@threequarters}%
+\catcode191=\active \def^^bf{\map@questiondown}%
+\catcode192=\active \def^^c0{\map@Agrave}%
+\catcode193=\active \def^^c1{\map@Aacute}%
+\catcode194=\active \def^^c2{\map@Acircumflex}%
+\catcode195=\active \def^^c3{\map@Atilde}%
+\catcode196=\active \def^^c4{\map@Adieresis}%
+\catcode197=\active \def^^c5{\map@Aring}%
+\catcode198=\active \def^^c6{\map@AE}%
+\catcode199=\active \def^^c7{\map@Ccedilla}%
+\catcode200=\active \def^^c8{\map@Egrave}%
+\catcode201=\active \def^^c9{\map@Eacute}%
+\catcode202=\active \def^^ca{\map@Ecircumflex}%
+\catcode203=\active \def^^cb{\map@Edieresis}%
+\catcode204=\active \def^^cc{\map@Igrave}%
+\catcode205=\active \def^^cd{\map@Iacute}%
+\catcode206=\active \def^^ce{\map@Icircumflex}%
+\catcode207=\active \def^^cf{\map@Idieresis}%
+\catcode208=\active \def^^d0{\map@Eth}%
+\catcode209=\active \def^^d1{\map@Ntilde}%
+\catcode210=\active \def^^d2{\map@Ograve}%
+\catcode211=\active \def^^d3{\map@Oacute}%
+\catcode212=\active \def^^d4{\map@Ocircumflex}%
+\catcode213=\active \def^^d5{\map@Otilde}%
+\catcode214=\active \def^^d6{\map@Odieresis}%
+\catcode215=\active \def^^d7{\map@multiply}%
+\catcode216=\active \def^^d8{\map@Oslash}%
+\catcode217=\active \def^^d9{\map@Ugrave}%
+\catcode218=\active \def^^da{\map@Uacute}%
+\catcode219=\active \def^^db{\map@Ucircumflex}%
+\catcode220=\active \def^^dc{\map@Udieresis}%
+\catcode221=\active \def^^dd{\map@Yacute}%
+\catcode222=\active \def^^de{\map@Thorn}%
+\catcode223=\active \def^^df{\map@germandbls}%
+\catcode224=\active \def^^e0{\map@agrave}%
+\catcode225=\active \def^^e1{\map@aacute}%
+\catcode226=\active \def^^e2{\map@acircumflex}%
+\catcode227=\active \def^^e3{\map@atilde}%
+\catcode228=\active \def^^e4{\map@adieresis}%
+\catcode229=\active \def^^e5{\map@aring}%
+\catcode230=\active \def^^e6{\map@ae}%
+\catcode231=\active \def^^e7{\map@ccedilla}%
+\catcode232=\active \def^^e8{\map@egrave}%
+\catcode233=\active \def^^e9{\map@eacute}%
+\catcode234=\active \def^^ea{\map@ecircumflex}%
+\catcode235=\active \def^^eb{\map@edieresis}%
+\catcode236=\active \def^^ec{\map@igrave}%
+\catcode237=\active \def^^ed{\map@iacute}%
+\catcode238=\active \def^^ee{\map@icircumflex}%
+\catcode239=\active \def^^ef{\map@idieresis}%
+\catcode240=\active \def^^f0{\map@eth}%
+\catcode241=\active \def^^f1{\map@ntilde}%
+\catcode242=\active \def^^f2{\map@ograve}%
+\catcode243=\active \def^^f3{\map@oacute}%
+\catcode244=\active \def^^f4{\map@ocircumflex}%
+\catcode245=\active \def^^f5{\map@otilde}%
+\catcode246=\active \def^^f6{\map@odieresis}%
+\catcode247=\active \def^^f7{\map@divide}%
+\catcode248=\active \def^^f8{\map@oslash}%
+\catcode249=\active \def^^f9{\map@ugrave}%
+\catcode250=\active \def^^fa{\map@uacute}%
+\catcode251=\active \def^^fb{\map@ucircumflex}%
+\catcode252=\active \def^^fc{\map@udieresis}%
+\catcode253=\active \def^^fd{\map@yacute}%
+\catcode254=\active \def^^fe{\map@thorn}%
+\catcode255=\active \def^^ff{\map@ydieresis}%
+% \end{macrocode}
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/mapcodes/iso88592.dtx b/macros/latex/contrib/mapcodes/iso88592.dtx
new file mode 100644
index 0000000000..b97a270655
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/iso88592.dtx
@@ -0,0 +1,153 @@
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+%
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\DontCheckModules
+\newcommand{\mapcodes}{\textsf{mapcodes}}
+\begin{document}
+ \DocInput{iso88592.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \def\filename{iso88592.dtx}
+% \def\fileversion{v1.0}
+% \def\filedate{1994/12/06}
+% \CheckSum{387}
+%
+% \changes{iso88592-1.0}{1994/12/06}{First version}
+%
+% \section{ISO 8859-2 Character Table}
+%
+% This is \filename{} \fileversion{} of \filedate. It contains the
+% ISO 8859-2 conversion table for \mapcodes.
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+\typeout{Mapping ISO 8859-2 (Latin 2) to \encodingdefault\space encoding.}
+
+\catcode160=\active \def^^a0{\map@space}%
+\catcode161=\active \def^^a1{\map@Aogonek}%
+\catcode162=\active \def^^a2{\map@breve}%
+\catcode163=\active \def^^a3{\map@Lslash}%
+\catcode164=\active \def^^a4{\map@currency}%
+\catcode165=\active \def^^a5{\map@Lcaron}%
+\catcode166=\active \def^^a6{\map@Sacute}%
+\catcode167=\active \def^^a7{\map@section}%
+\catcode168=\active \def^^a8{\map@dieresis}%
+\catcode169=\active \def^^a9{\map@Scaron}%
+\catcode170=\active \def^^aa{\map@Scedilla}%
+\catcode171=\active \def^^ab{\map@Tcaron}%
+\catcode172=\active \def^^ac{\map@Zacute}%
+\catcode173=\active \def^^ad{\map@hyphen}%
+\catcode174=\active \def^^ae{\map@Zcaron}%
+\catcode175=\active \def^^af{\map@Zdotaccent}%
+\catcode176=\active \def^^b0{\map@degree}%
+\catcode177=\active \def^^b1{\map@aogonek}%
+\catcode178=\active \def^^b2{\map@ogonek}%
+\catcode179=\active \def^^b3{\map@lslash}%
+\catcode180=\active \def^^b4{\map@acute}%
+\catcode181=\active \def^^b5{\map@lcaron}%
+\catcode182=\active \def^^b6{\map@sacute}%
+\catcode183=\active \def^^b7{\map@caron}%
+\catcode184=\active \def^^b8{\map@cedilla}%
+\catcode185=\active \def^^b9{\map@scaron}%
+\catcode186=\active \def^^ba{\map@scedilla}%
+\catcode187=\active \def^^bb{\map@tcaron}%
+\catcode188=\active \def^^bc{\map@zacute}%
+\catcode189=\active \def^^bd{\map@hungarumlaut}%
+\catcode190=\active \def^^be{\map@zcaron}%
+\catcode191=\active \def^^bf{\map@zdotaccent}%
+\catcode192=\active \def^^c0{\map@Racute}%
+\catcode193=\active \def^^c1{\map@Aacute}%
+\catcode194=\active \def^^c2{\map@Acircumflex}%
+\catcode195=\active \def^^c3{\map@Abreve}%
+\catcode196=\active \def^^c4{\map@Adieresis}%
+\catcode197=\active \def^^c5{\map@Lacute}%
+\catcode198=\active \def^^c6{\map@Cacute}%
+\catcode199=\active \def^^c7{\map@Ccedilla}%
+\catcode200=\active \def^^c8{\map@Ccaron}%
+\catcode201=\active \def^^c9{\map@Eacute}%
+\catcode202=\active \def^^ca{\map@Eogonek}%
+\catcode203=\active \def^^cb{\map@Edieresis}%
+\catcode204=\active \def^^cc{\map@Ecaron}%
+\catcode205=\active \def^^cd{\map@Iacute}%
+\catcode206=\active \def^^ce{\map@Icircumflex}%
+\catcode207=\active \def^^cf{\map@Dcaron}%
+\catcode208=\active \def^^d0{\map@Dslash}%
+\catcode209=\active \def^^d1{\map@Nacute}%
+\catcode210=\active \def^^d2{\map@Ncaron}%
+\catcode211=\active \def^^d3{\map@Oacute}%
+\catcode212=\active \def^^d4{\map@Ocircumflex}%
+\catcode213=\active \def^^d5{\map@Ohungarumlaut}%
+\catcode214=\active \def^^d6{\map@Odieresis}%
+\catcode215=\active \def^^d7{\map@multiply}%
+\catcode216=\active \def^^d8{\map@Rcaron}%
+\catcode217=\active \def^^d9{\map@Uring}%
+\catcode218=\active \def^^da{\map@Uacute}%
+\catcode219=\active \def^^db{\map@Uhungarumlaut}%
+\catcode220=\active \def^^dc{\map@Udieresis}%
+\catcode221=\active \def^^dd{\map@Yacute}%
+\catcode222=\active \def^^de{\map@Tcedilla}%
+\catcode223=\active \def^^df{\map@germandbls}%
+\catcode224=\active \def^^e0{\map@racute}%
+\catcode225=\active \def^^e1{\map@aacute}%
+\catcode226=\active \def^^e2{\map@acircumflex}%
+\catcode227=\active \def^^e3{\map@abreve}%
+\catcode228=\active \def^^e4{\map@adieresis}%
+\catcode229=\active \def^^e5{\map@lacute}%
+\catcode230=\active \def^^e6{\map@cacute}%
+\catcode231=\active \def^^e7{\map@ccedilla}%
+\catcode232=\active \def^^e8{\map@ccaron}%
+\catcode233=\active \def^^e9{\map@eacute}%
+\catcode234=\active \def^^ea{\map@eogonek}%
+\catcode235=\active \def^^eb{\map@edieresis}%
+\catcode236=\active \def^^ec{\map@ecaron}%
+\catcode237=\active \def^^ed{\map@iacute}%
+\catcode238=\active \def^^ee{\map@icircumflex}%
+\catcode239=\active \def^^ef{\map@dcaron}%
+\catcode240=\active \def^^f0{\map@dslash}%
+\catcode241=\active \def^^f1{\map@nacute}%
+\catcode242=\active \def^^f2{\map@ncaron}%
+\catcode243=\active \def^^f3{\map@oacute}%
+\catcode244=\active \def^^f4{\map@ocircumflex}%
+\catcode245=\active \def^^f5{\map@ohungarumlaut}%
+\catcode246=\active \def^^f6{\map@odieresis}%
+\catcode247=\active \def^^f7{\map@divide}%
+\catcode248=\active \def^^f8{\map@rcaron}%
+\catcode249=\active \def^^f9{\map@uring}%
+\catcode250=\active \def^^fa{\map@uacute}%
+\catcode251=\active \def^^fb{\map@uhungarumlaut}%
+\catcode252=\active \def^^fc{\map@udieresis}%
+\catcode253=\active \def^^fd{\map@yacute}%
+\catcode254=\active \def^^fe{\map@tcedilla}%
+\catcode255=\active \def^^ff{\map@dotaccent}%
+% \end{macrocode}
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/mapcodes/macroman.dtx b/macros/latex/contrib/mapcodes/macroman.dtx
new file mode 100644
index 0000000000..bbc830ca78
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/macroman.dtx
@@ -0,0 +1,185 @@
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+%
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\DontCheckModules
+\newcommand{\mapcodes}{\textsf{mapcodes}}
+\begin{document}
+ \DocInput{macroman.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \def\filename{macroman.dtx}
+% \def\fileversion{v1.0}
+% \def\filedate{1994/12/05}
+% \CheckSum{515}
+%
+% \changes{macroman-1.0}{1994/12/05}{First version}
+%
+% \section{Macintosh Roman Character Table}
+%
+% This is \filename{} \fileversion{} of \filedate. It contains the
+% Macintosh Roman conversion table for \mapcodes.
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+\typeout{Mapping Macintosh Roman to \encodingdefault\space encoding}
+
+\catcode128=\active \def^^80{\map@Adieresis}%
+\catcode129=\active \def^^81{\map@Aring}%
+\catcode130=\active \def^^82{\map@Ccedilla}%
+\catcode131=\active \def^^83{\map@Eacute}%
+\catcode132=\active \def^^84{\map@Ntilde}%
+\catcode133=\active \def^^85{\map@Odieresis}%
+\catcode134=\active \def^^86{\map@Udieresis}%
+\catcode135=\active \def^^87{\map@aacute}%
+\catcode136=\active \def^^88{\map@agrave}%
+\catcode137=\active \def^^89{\map@acircumflex}%
+\catcode138=\active \def^^8a{\map@adieresis}%
+\catcode139=\active \def^^8b{\map@atilde}%
+\catcode140=\active \def^^8c{\map@aring}%
+\catcode141=\active \def^^8d{\map@ccedilla}%
+\catcode142=\active \def^^8e{\map@eacute}%
+\catcode143=\active \def^^8f{\map@egrave}%
+\catcode144=\active \def^^90{\map@ecircumflex}%
+\catcode145=\active \def^^91{\map@edieresis}%
+\catcode146=\active \def^^92{\map@iacute}%
+\catcode147=\active \def^^93{\map@igrave}%
+\catcode148=\active \def^^94{\map@icircumflex}%
+\catcode149=\active \def^^95{\map@idieresis}%
+\catcode150=\active \def^^96{\map@ntilde}%
+\catcode151=\active \def^^97{\map@oacute}%
+\catcode152=\active \def^^98{\map@ograve}%
+\catcode153=\active \def^^99{\map@ocircumflex}%
+\catcode154=\active \def^^9a{\map@odieresis}%
+\catcode155=\active \def^^9b{\map@otilde}%
+\catcode156=\active \def^^9c{\map@uacute}%
+\catcode157=\active \def^^9d{\map@ugrave}%
+\catcode158=\active \def^^9e{\map@ucircumflex}%
+\catcode159=\active \def^^9f{\map@udieresis}%
+\catcode160=\active \def^^a0{\map@dagger}%
+\catcode161=\active \def^^a1{\map@degree}%
+\catcode162=\active \def^^a2{\map@cent}%
+\catcode163=\active \def^^a3{\map@sterling}%
+\catcode164=\active \def^^a4{\map@section}%
+\catcode165=\active \def^^a5{\map@productdot}%
+\catcode166=\active \def^^a6{\map@paragraph}%
+\catcode167=\active \def^^a7{\map@germandbls}%
+\catcode168=\active \def^^a8{\map@registered}%
+\catcode169=\active \def^^a9{\map@copyright}%
+\catcode170=\active \def^^aa{\map@trademark}%
+\catcode171=\active \def^^ab{\map@acute}%
+\catcode172=\active \def^^ac{\map@dieresis}%
+\catcode173=\active \def^^ad{\map@notequal}%
+\catcode174=\active \def^^ae{\map@AE}%
+\catcode175=\active \def^^af{\map@Oslash}%
+\catcode176=\active \def^^b0{\map@infinity}%
+\catcode177=\active \def^^b1{\map@plusminus}%
+\catcode178=\active \def^^b2{\map@lessequal}%
+\catcode179=\active \def^^b3{\map@greaterequal}%
+\catcode180=\active \def^^b4{\map@yen}%
+\catcode181=\active \def^^b5{\map@mu}%
+\catcode182=\active \def^^b6{\map@partialdiff}%
+\catcode183=\active \def^^b7{\map@summation}%
+\catcode184=\active \def^^b8{\map@product}%
+\catcode185=\active \def^^b9{\map@pi}%
+\catcode186=\active \def^^ba{\map@integral}%
+\catcode187=\active \def^^bb{\map@ordfeminine}%
+\catcode188=\active \def^^bc{\map@ordmasculine}%
+\catcode189=\active \def^^bd{\map@Omega}%
+\catcode190=\active \def^^be{\map@ae}%
+\catcode191=\active \def^^bf{\map@oslash}%
+\catcode192=\active \def^^c0{\map@questiondown}%
+\catcode193=\active \def^^c1{\map@exclamdown}%
+\catcode194=\active \def^^c2{\map@logicalnot}%
+\catcode195=\active \def^^c3{\map@radical}%
+\catcode196=\active \def^^c4{\map@florin}%
+\catcode197=\active \def^^c5{\map@approxequal}%
+\catcode198=\active \def^^c6{\map@Delta}%
+\catcode199=\active \def^^c7{\map@guillemotleft}%
+\catcode200=\active \def^^c8{\map@guillemotright}%
+\catcode201=\active \def^^c9{\map@cdots}% not a Postscript name!
+\catcode202=\active \def^^ca{\map@space}%
+\catcode203=\active \def^^cb{\map@Agrave}%
+\catcode204=\active \def^^cc{\map@Atilde}%
+\catcode205=\active \def^^cd{\map@Otilde}%
+\catcode206=\active \def^^ce{\map@OE}%
+\catcode207=\active \def^^cf{\map@oe}%
+\catcode208=\active \def^^d0{\map@endash}%
+\catcode209=\active \def^^d1{\map@emdash}%
+\catcode210=\active \def^^d2{\map@quotedblleft}%
+\catcode211=\active \def^^d3{\map@quotedblright}%
+\catcode212=\active \def^^d4{\map@quoteleft}%
+\catcode213=\active \def^^d5{\map@quoteright}%
+\catcode214=\active \def^^d6{\map@divide}%
+\catcode215=\active \def^^d7{\map@lozenge}%
+\catcode216=\active \def^^d8{\map@ydieresis}%
+\catcode217=\active \def^^d9{\map@Ydieresis}%
+\catcode218=\active \def^^da{\map@fraction}%
+\catcode219=\active \def^^db{\map@currency}%
+\catcode220=\active \def^^dc{\map@guilsinglleft}%
+\catcode221=\active \def^^dd{\map@guilsinglright}%
+\catcode222=\active \def^^de{\map@fi}%
+\catcode223=\active \def^^df{\map@fl}%
+\catcode224=\active \def^^e0{\map@daggerdbl}%
+\catcode225=\active \def^^e1{\map@periodcentered}%
+\catcode226=\active \def^^e2{\map@quotesinglbase}%
+\catcode227=\active \def^^e3{\map@quotedblbase}%
+\catcode228=\active \def^^e4{\map@perthousand}%
+\catcode229=\active \def^^e5{\map@Acircumflex}%
+\catcode230=\active \def^^e6{\map@Ecircumflex}%
+\catcode231=\active \def^^e7{\map@Aacute}%
+\catcode232=\active \def^^e8{\map@Edieresis}%
+\catcode233=\active \def^^e9{\map@Egrave}%
+\catcode234=\active \def^^ea{\map@Iacute}%
+\catcode235=\active \def^^eb{\map@Icircumflex}%
+\catcode236=\active \def^^ec{\map@Idieresis}%
+\catcode237=\active \def^^ed{\map@Igrave}%
+\catcode238=\active \def^^ee{\map@Oacute}%
+\catcode239=\active \def^^ef{\map@Ocircumflex}%
+\catcode240=\active \def^^f0{\map@nil}%
+\catcode241=\active \def^^f1{\map@Ograve}%
+\catcode242=\active \def^^f2{\map@Uacute}%
+\catcode243=\active \def^^f3{\map@Ucircumflex}%
+\catcode244=\active \def^^f4{\map@Ugrave}%
+\catcode245=\active \def^^f5{\map@dotlessi}%
+\catcode246=\active \def^^f6{\map@circumflex}%
+\catcode247=\active \def^^f7{\map@tilde}%
+\catcode248=\active \def^^f8{\map@macron}%
+\catcode249=\active \def^^f9{\map@breve}%
+\catcode250=\active \def^^fa{\map@dotaccent}%
+\catcode251=\active \def^^fb{\map@ring}%
+\catcode252=\active \def^^fc{\map@cedilla}%
+\catcode253=\active \def^^fd{\map@hungarumlaut}%
+\catcode254=\active \def^^fe{\map@ogonek}%
+\catcode255=\active \def^^ff{\map@caron}%
+% \end{macrocode}
+% \Finale
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/mapcodes/manifest.txt b/macros/latex/contrib/mapcodes/manifest.txt
new file mode 100644
index 0000000000..9bad420b59
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/manifest.txt
@@ -0,0 +1,39 @@
+---------------------------------------------------------------------
+mapcodes version 1.04 Copyright (C) 1994 Michael Piotrowski
+---------------------------------------------------------------------
+
+Distribution List 05 Dec 1994
+Inhalt des Pakets 05.12.1994
+
+
+
+
+
+Documentation/Dokumentation
+---------------------------
+
+00readme.txt -- The Distribution Guide/Die Beschreibung des Pakets
+install.txt -- How to install mapcodes/Installation von mapcodes
+manifest.txt -- This file/Diese Datei
+
+Kernel file/Hauptdatei
+----------------------
+
+mapcodes.dtx
+
+Encoding-specific files/Dateien fuer die verschiedenen Zeichensaetze
+--------------------------------------------------------------------
+
+atari.dtx -- Atari TOS (Atari ST, TT, Falcon)
+hproman8.dtx -- HP Roman 8 (HP-UX Standard)
+ibm850.dtx -- IBM PC Codepage 850 (OS/2, DOS)
+ibm852.dtx -- IBM PC Codepage 852 (OS/2, DOS)
+iso88591.dtx -- ISO 8859-1 (many UNIX systems/viele UNIX-Systeme,
+ Amiga, Windows)
+iso88592.dtx -- ISO 8859-2
+macroman.dtx -- Macintosh Roman (Apple Macintosh)
+
+Installation script/Installationsdatei
+--------------------------------------
+
+mapcodes.ins -- Unpacks the .dtx files/Entpackt die .dtx-Dateien \ No newline at end of file
diff --git a/macros/latex/contrib/mapcodes/mapcodes.dtx b/macros/latex/contrib/mapcodes/mapcodes.dtx
new file mode 100644
index 0000000000..27c000da75
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/mapcodes.dtx
@@ -0,0 +1,721 @@
+\def\fileversion{1.04}
+\def\filedate {07 Apr 95}
+\def\docdate {06 Dec 94}
+\def\docdatede{06 Dec 94}
+%
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+% \fi
+%
+% \changes{v1.0}{94/12/04}{First release}
+% \changes{v1.01}{94/12/06}{ISO 8859-2 added, all chars of all charsets are mapped now}
+% \changes{v1.02}{95/02/07}{Modifications for \TeX 3.1415 under HP-UX}
+% \changes{v1.03}{95/03/14}{Serious (pronounce: stupid) bug fixed}
+% \changes{v1.04}{95/04/07}{Support for quotation marks in \texttt{german.dtx} added}
+%
+% \MakeShortVerb{\|}
+%
+% \newcommand{\mapcodes}{\textsf{mapcodes}}
+% \newcommand{\package}[1]{\textsf{#1}}
+% \newcommand{\option}[1]{\texttt{#1}}
+%
+% \title{Using 8-bit Character Sets with \mapcodes{}
+% \thanks{This document describes version \fileversion{} of \filedate{}.}}
+% \author{Michael Piotrowski\\
+% \texttt{mlpiotro@linguistik.uni-erlangen.de}}
+% \date{Printed on \today}
+% \maketitle
+% \begin{abstract}
+% The \mapcodes{} package allows you to use 8-bit input files
+% in a variety of encodings, like ISO 8859-1 or the IBM codepage 850.
+% It can be used with both T1 and OT1 fonts and language-specific
+% extension packages.
+% \end{abstract}
+%
+% \section{Deutsche Kurzbeschreibung}
+%
+% \mapcodes{} erm\"oglicht die Verwendung von 8-bit-Eingabedateien
+% mit verschiedenen Zeichens\"atzen.
+%
+% In dieser Version sind das:
+% \begin{itemize}
+% \item ISO 8859-1 (Latin 1)
+% \item ISO 8859-2 (Latin 2)
+% \item IBM Kodeseite 850
+% \item IBM Kodeseite 852
+% \item HP Roman 8
+% \item Macintosh Roman
+% \item Atari TOS
+% \end{itemize}
+%
+% Um \mapcodes{} zu benutzen, schreiben Sie eine Zeile der folgenden
+% Form in die Pr\"aambel der Eingabedatei:
+% \begin{quote}
+% |\usepackage[|\textit{Zeichensatz}|]{mapcodes}|
+% \end{quote}
+%
+% F\"ur \textit{Zeichensatz} k\"onnen sie im Augenblick folgendes
+% einsetzen:\footnote{F\"ur iso8859-$x$ kann auch latin$x$ geschrieben
+% werden.}
+% \begin{center}
+% \begin{tabular}{llll}
+% |iso8859-1|&|iso8859-2|&|ibm850|&|ibm852|\\
+% |hproman8|&|macroman|&|atari|&\\
+% \end{tabular}
+% \end{center}
+%
+% \mapcodes{} erkennt selbst\"andig, ob Sie T1- oder OT1-Schriften
+% verwenden, wobei erstere zu empfehlen sind. Wenn Sie OT1-Schriften
+% und ein LaTeX-Paket wie \package{german} oder eine \package{babel}-Option
+% wie \option{german} oder \option{spanish} verwenden, kann
+% \mapcodes{} die entsprechenden Erweiterungen nutzen, die z. B.
+% Trennungen in W\"ortern mit Umlauten erlauben. Geben sie hierzu
+% die Sprache als zus\"atzliche Option an. Beispiel:
+% \begin{quote}
+% |\usepackage[hproman8,german]{mapcodes}|
+% \end{quote}
+% Sie k\"onnen die Sprache auch als globale Option zum
+% |\documentclass|-Befehl angeben. Im Augenblick werden folgende
+% Sprachoptionen unterst\"utzt:
+%
+% \begin{center}
+% \begin{tabular}{llll}
+% |german|&|spanish|&&\\
+% \end{tabular}
+% \end{center}
+%
+%
+% \section{Introduction}
+% When using \TeX{} with languages other than English you always have the
+% problem of how to enter language-specific characters like \"a, \'e or
+% \'\i. The \LaTeX{} commands |\"{a}|, |\'{e}| and |\`{\i{}}| are neither
+% intended nor adequate for writing texts in German, French or Italian,
+% as they are too difficult to type; besides of that, they inhibit
+% proper hyphenation of the words in which they are contained.
+%
+% Packages like \package{german} or \package{babel} offer some help
+% in producing non-English texts, providing commands like |"a| for \"a
+% which also allow correct hyphenation. However, this is still not
+% perfect; it would be much nicer if you could simply use the ``\"a'' key
+% on a German keyboard and directly see ``\"a'' on your screen.
+% The drawback here is that unfortunately nearly every computer system
+% is still using its own character sets and tables, which makes it
+% difficult to correctly process 8-bit coded texts from one system
+% on an other system.
+%
+% The \mapcodes{} package allows you to use (nearly) all of the
+% characters in the character set you are using while providing a high
+% level of portability.
+%
+% \section{Specifications}
+%
+% Currently supported character sets:
+% \begin{itemize}
+% \item ISO 8859-1 (Latin 1)
+% \item ISO 8859-2 (Latin 2)
+% \item IBM codepage 850
+% \item IBM codepage 852
+% \item HP Roman 8
+% \item Macintosh Roman
+% \item Atari TOS
+% \end{itemize}
+%
+% \mapcodes{} can easily be extended in a modular way to support
+% further encodings.
+%
+% Output can be produced for:
+% \begin{itemize}
+% \item OT1 fonts; |"cf| in Latin 1 encoding will be mapped to |\ss|
+% \item OT1 with extension packages; currently supported are the
+% \package{german} package and the \option{german} and
+% \option{spanish} options of \package{babel}. For the
+% \package{german} package the above code would
+% be mapped to |"s| and thus allowing hyphenation.
+% \item T1 fonts; |"cf| is mapped to the the corresponding character
+% code in the T1 set, namely |"ff|.
+% \end{itemize}
+%
+% \section{The User Interface}
+%
+% To use \package{mapcodes}, simply specifiy it in a |\usepackage| command,
+% with the name of the desired encoding as an option. Example:
+% \begin{quote}
+% |\usepackage[iso8859-1]{mapcodes}|
+% \end{quote}
+%
+% If you are using em\TeX\, make sure that you use a \LaTeX{}
+% format \textbf{without} a character translation table built-in
+% (this is done by specifying the option \option{/c} when building it).
+% Use the option \option{/8} instead to enable 8-bit character processing.
+%
+% \package{mapcodes} automatically detects whether you are using T1 or OT1
+% fonts. Note, however, that the usage of OT1 fonts can in some
+% cases yield esthetically dubious results due to limitations of these
+% fonts. Usage of T1 fonts is recommended. If you are using OT1 fonts with
+% one of the extension packages named above, you can request support for
+% them by specifying the language name in addition to the encoding.
+% Example:
+% \begin{quote}
+% |\usepackage[hproman8,german]{mapcodes}|
+% \end{quote}
+%
+% When you are using T1 fonts, the request will be ignored.
+%
+% Valid encoding options in this version are:\footnote{|iso8859-|$x$ can
+% be replaced by |latin|$x$}
+% \begin{center}
+% \begin{tabular}{llll}
+% |iso8859-1|&|iso8859-1|&|ibm850|&|ibm852|\\
+% |hproman8|&|macroman|&|atari|&\\
+% \end{tabular}
+% \end{center}
+%
+% Valid language options in this version are:
+% \begin{center}
+% \begin{tabular}{llll}
+% |german|&|spanish|&&\\
+% \end{tabular}
+% \end{center}
+%
+% \section{Bugs and features}
+% Suggestions and bug reports are welcome. Direct them to the
+% E-mail address indicated on the first page.
+%
+% \StopEventually{
+% \section{Acknowledgments}
+% The character tables in Kosta Kostis' \texttt{trans097} conversion
+% tools were very helpful.
+%
+% \begin{thebibliography}{9}
+% \bibitem{Lamport} Lamport, Leslie. \emph{\LaTeX: A Document
+% Preparation System.} 2nd ed. Reading, Mass.: Addison-Wesley 1994.
+% \bibitem{PSMan} Adobe Systems Incorporated. \emph{POSTSCRIPT language
+% reference manual.} Reading, Mass.: Addison-Wesley 1986.
+% \end{thebibliography}
+% }
+%
+% \section{The Code}
+%
+% The preliminaries:
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{mapcodes}[1995/02/07 mapcodes 1.02]
+\typeout{Package `mapcodes' \fileversion\space<\filedate> (Michael Piotrowski)}
+\typeout{English documentation\space\space<\docdate>}
+\typeout{Deutsche Beschreibung\space\space<\docdatede>}
+% \end{macrocode}
+%
+% Some constants and varibles are defined:
+% \begin{macrocode}
+\newcommand\map@corkenc{T1}
+\newcommand\map@oldenc{OT1}
+\newlength{\map@width}
+\newlength{\map@height}
+% \end{macrocode}
+%
+% \begin{macro}{\map@overlay}
+% This little macro is used to produce the yen sign and the registered
+% trademark symbol. The second argument is centered over the first one.
+% For details consult \cite[p. 108ff]{Lamport}
+% \begin{macrocode}
+\newcommand{\map@overlay}[2]{%
+ \settowidth{\map@width}{#1}%
+ \makebox[0pt][l]{\makebox[\map@width]{#2}}%
+ {#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\map@accent}
+% The following macro is my own implementation of the \TeX{} |\accent|
+% command. The second argument is lifted up and placed over the first one.
+% \begin{macrocode}
+\newcommand{\map@accent}[2]{%
+ \settowidth{\map@width}{#1}%
+ \settoheight{\map@height}{#1}%
+ \addtolength{\map@height}{0.2\map@height}%
+ \raisebox{\map@height}[0pt][0pt]{%
+ \makebox[0pt][l]{%
+ \makebox[\map@width]{#2}}}%
+ {#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% The following definitions are used for both T1 and OT1 fonts. The names
+% for the characters are the names defined in \cite{PSMan} with a
+% prefixed ``map@'' to be in any case different from possibly existing
+% \LaTeX{} commands.
+% \begin{macrocode}
+\newcommand\map@nil{\ensuremath{\bigotimes}}
+\newcommand\map@ordfeminine{{\raise1ex\hbox{\underbar{\scriptsize a}}}}
+\newcommand\map@ordmasculine{{\raise1ex\hbox{\underbar{\scriptsize o}}}}
+\newcommand\map@cent{\leavevmode\hbox{\rm\rlap/c}}
+\newcommand\map@copyright{\copyright{}}
+\newcommand\map@paragraph{\P{}}
+\newcommand\map@trademark{{\raise1ex\hbox{\scriptsize TM}}}
+\newcommand\map@registered{\map@overlay{\ensuremath{\bigcirc}}{\scriptsize R}}
+\newcommand\map@multiply{\ensuremath{\times}}
+\newcommand\map@divide{\ensuremath{\div}}
+\newcommand\map@onesuperior{\ensuremath{^1}}
+\newcommand\map@twosuperior{\ensuremath{^2}}
+\newcommand\map@threesuperior{\ensuremath{^3}}
+\newcommand\map@onequarter{\ensuremath{\frac{1}{4}}}
+\newcommand\map@onehalf{\ensuremath{\frac{1}{2}}}
+\newcommand\map@threequarters{\ensuremath{\frac{3}{4}}}
+\newcommand\map@space{~}
+\newcommand\map@hyphen{-}
+\newcommand\map@mu{\ensuremath{\mu}}
+\newcommand\map@yen{\map@overlay{Y}{--}}
+\newcommand\map@logicalnot{\ensuremath{\neg}}
+\newcommand\map@plusminus{\ensuremath{\pm}}
+\newcommand\map@periodcentered{\ensuremath{\cdot}}
+\newcommand\map@degree{\ensuremath{^\circ}}
+\newcommand\map@brokenbar{\ensuremath{\mid}}
+\newcommand\map@currency{\ensuremath{\circ}}
+\newcommand\map@dagger{\ensuremath{\dagger}}
+\newcommand\map@daggerdbl{\ensuremath{\ddagger}}
+\newcommand\map@bullet{\ensuremath{\bullet}}
+\newcommand\map@aleph{\ensuremath{\aleph}}
+\newcommand\map@alpha{\ensuremath{\alpha}}
+\newcommand\map@beta{\ensuremath{\beta}}
+\newcommand\map@gamma{\ensuremath{\gamma}}
+\newcommand\map@pi{\ensuremath{\pi}}
+\newcommand\map@productdot{\ensuremath{\cdot}}
+\newcommand\map@notequal{\ensuremath{\not=}}
+\newcommand\map@infinity{\ensuremath{\infty}}
+\newcommand\map@lessequal{\ensuremath{\leq}}
+\newcommand\map@greaterequal{\ensuremath{\geq}}
+\newcommand\map@partialdiff{\ensuremath{\partial}}
+\newcommand\map@summation{\ensuremath{\sum}}
+\newcommand\map@product{\ensuremath{\prod}}
+\newcommand\map@integral{\ensuremath{\int}}
+\newcommand\map@Omega{\ensuremath{\Omega}}
+\newcommand\map@radical{\ensuremath{\surd}}
+\newcommand\map@florin{\textrm{\textit{f}}}
+\newcommand\map@approxequal{\ensuremath{\approx}}
+\newcommand\map@Delta{\ensuremath{\Delta}}
+\newcommand\map@quoteleft{`}
+\newcommand\map@quoteright{'}
+\newcommand\map@lozenge{\ensuremath{\diamond}}
+\newcommand\map@fi{fi}
+\newcommand\map@fl{fl}
+\newcommand\map@cdots{\ensuremath{\cdots}} % not a Postscript name!
+\newcommand\map@fraction{/}
+\newcommand\map@{\ensuremath{\pi}}
+\newcommand\map@Gamma{\ensuremath{\Gamma}}
+\newcommand\map@logicaland{\ensuremath{\wedge}}
+\newcommand\map@Sigma{\ensuremath{\Sigma}}
+\newcommand\map@sigma{\ensuremath{\sigma}}
+\newcommand\map@tau{\ensuremath{\tau}}
+\newcommand\map@Phi{\ensuremath{\Phi}}
+\newcommand\map@Theta{\ensuremath{\Theta}}
+\newcommand\map@delta{\ensuremath{\delta}}
+\newcommand\map@phi{\ensuremath{\phi}}
+\newcommand\map@epsilon{\ensuremath{\varepsilon}}
+\newcommand\map@intersection{\ensuremath{\bigcap}}
+\newcommand\map@equivalence{\ensuremath{\equiv}}
+\newcommand\map@nsuperior{\ensuremath{^n}}
+\newcommand\map@filledbox{\ensuremath{\diamondsuit}}
+
+
+% \end{macrocode}
+%
+% If T1 fonts are used the following definitions are made:
+% \begin{macrocode}
+\ifx\encodingdefault\map@corkenc
+\newcommand\map@grave{\symbol{00}}
+\newcommand\map@acute{\symbol{01}}
+\newcommand\map@circumflex{\symbol{02}}
+\newcommand\map@tilde{\symbol{03}}
+\newcommand\map@dieresis{\symbol{04}}
+\newcommand\map@hungarumlaut{\symbol{05}}
+\newcommand\map@ring{\symbol{06}}
+\newcommand\map@caron{\symbol{07}}
+\newcommand\map@breve{\symbol{08}}
+\newcommand\map@macron{\symbol{09}}
+\newcommand\map@dotaccent{\symbol{10}}
+\newcommand\map@cedilla{\symbol{11}}
+\newcommand\map@ogonek{\symbol{12}}
+\newcommand\map@quotesinglbase{\symbol{13}}
+\newcommand\map@guilsinglleft{\symbol{14}}
+\newcommand\map@guilsinglright{\symbol{15}}
+\newcommand\map@quotedblleft{\symbol{16}}
+\newcommand\map@quotedblright{\symbol{17}}
+\newcommand\map@quotedblbase{\symbol{18}}
+\newcommand\map@guillemotleft{\symbol{19}}
+\newcommand\map@guillemotright{\symbol{20}}
+\newcommand\map@endash{\symbol{21}}
+\newcommand\map@emdash{\symbol{22}}
+\newcommand\map@perthousand{\%\symbol{23}}
+\newcommand\map@dotlessi{\symbol{24}}
+\newcommand\map@dotlessj{\symbol{25}}
+\newcommand\map@Abreve{\symbol{128}}
+\newcommand\map@Aogonek{\symbol{129}}
+\newcommand\map@Cacute{\symbol{130}}
+\newcommand\map@Ccaron{\symbol{131}}
+\newcommand\map@Dcaron{\symbol{132}}
+\newcommand\map@Ecaron{\symbol{133}}
+\newcommand\map@Eogonek{\symbol{134}}
+\newcommand\map@Gbreve{\symbol{135}}
+\newcommand\map@Lacute{\symbol{136}}
+\newcommand\map@Lquoteright{\symbol{137}}
+\newcommand\map@Lslash{\symbol{138}}
+\newcommand\map@Nacute{\symbol{139}}
+\newcommand\map@Ncaron{\symbol{140}}
+\newcommand\map@NJ{\symbol{141}}
+\newcommand\map@Ohungarumlaut{\symbol{142}}
+\newcommand\map@Racute{\symbol{143}}
+\newcommand\map@Rcaron{\symbol{144}}
+\newcommand\map@Sacute{\symbol{145}}
+\newcommand\map@Scaron{\symbol{146}}
+\newcommand\map@Scedilla{\symbol{147}}
+\newcommand\map@Tcaron{\symbol{148}}
+\newcommand\map@Tcedilla{\symbol{149}}
+\newcommand\map@Uhungarumlaut{\symbol{150}}
+\newcommand\map@Uring{\symbol{151}}
+\newcommand\map@Ydieresis{\symbol{152}}
+\newcommand\map@Zacute{\symbol{153}}
+\newcommand\map@Zcaron{\symbol{154}}
+\newcommand\map@Zdotaccent{\symbol{155}}
+\newcommand\map@IJ{\symbol{156}}
+\newcommand\map@Idotaccent{\symbol{157}}
+\newcommand\map@dslash{\symbol{158}}
+\newcommand\map@section{\symbol{159}}
+\newcommand\map@abreve{\symbol{160}}
+\newcommand\map@aogonek{\symbol{161}}
+\newcommand\map@cacute{\symbol{162}}
+\newcommand\map@ccaron{\symbol{163}}
+\newcommand\map@dquoteright{\symbol{164}}
+\newcommand\map@ecaron{\symbol{165}}
+\newcommand\map@eogonek{\symbol{166}}
+\newcommand\map@gbreve{\symbol{167}}
+\newcommand\map@lacute{\symbol{168}}
+\newcommand\map@lquoteright{\symbol{169}}
+\newcommand\map@lslash{\symbol{170}}
+\newcommand\map@nacute{\symbol{171}}
+\newcommand\map@ncaron{\symbol{172}}
+\newcommand\map@nj{\symbol{173}}
+\newcommand\map@ohungarumlaut{\symbol{174}}
+\newcommand\map@racute{\symbol{175}}
+\newcommand\map@rcaron{\symbol{176}}
+\newcommand\map@sacute{\symbol{177}}
+\newcommand\map@scaron{\symbol{178}}
+\newcommand\map@scedilla{\symbol{179}}
+\newcommand\map@tquoteright{\symbol{180}}
+\newcommand\map@tcedilla{\symbol{181}}
+\newcommand\map@uhungarumlaut{\symbol{182}}
+\newcommand\map@uring{\symbol{183}}
+\newcommand\map@ydieresis{\symbol{184}}
+\newcommand\map@zacute{\symbol{185}}
+\newcommand\map@zcaron{\symbol{186}}
+\newcommand\map@zdotaccent{\symbol{187}}
+\newcommand\map@ij{\symbol{188}}
+\newcommand\map@exclamdown{\symbol{189}}
+\newcommand\map@questiondown{\symbol{190}}
+\newcommand\map@sterling{\symbol{191}}
+\newcommand\map@Agrave{\symbol{192}}
+\newcommand\map@Aacute{\symbol{193}}
+\newcommand\map@Acircumflex{\symbol{194}}
+\newcommand\map@Atilde{\symbol{195}}
+\newcommand\map@Adieresis{\symbol{196}}
+\newcommand\map@Aring{\symbol{197}}
+\newcommand\map@AE{\symbol{198}}
+\newcommand\map@Ccedilla{\symbol{199}}
+\newcommand\map@Egrave{\symbol{200}}
+\newcommand\map@Eacute{\symbol{201}}
+\newcommand\map@Ecircumflex{\symbol{202}}
+\newcommand\map@Edieresis{\symbol{203}}
+\newcommand\map@Igrave{\symbol{204}}
+\newcommand\map@Iacute{\symbol{205}}
+\newcommand\map@Icircumflex{\symbol{206}}
+\newcommand\map@Idieresis{\symbol{207}}
+\newcommand\map@Eth{\symbol{208}}%%%%% Achtung! Eth und Dslash
+\newcommand\map@Dslash{\symbol{208}}%% sind Synonyme! (gleiche Nummern!)
+\newcommand\map@Ntilde{\symbol{209}}
+\newcommand\map@Ograve{\symbol{210}}
+\newcommand\map@Oacute{\symbol{211}}
+\newcommand\map@Ocircumflex{\symbol{212}}
+\newcommand\map@Otilde{\symbol{213}}
+\newcommand\map@Odieresis{\symbol{214}}
+\newcommand\map@OE{\symbol{215}}
+\newcommand\map@Oslash{\symbol{216}}
+\newcommand\map@Ugrave{\symbol{217}}
+\newcommand\map@Uacute{\symbol{218}}
+\newcommand\map@Ucircumflex{\symbol{219}}
+\newcommand\map@Udieresis{\symbol{220}}
+\newcommand\map@Yacute{\symbol{221}}
+\newcommand\map@Thorn{\symbol{222}}
+\newcommand\map@SS{\symbol{223}}
+\newcommand\map@agrave{\symbol{224}}
+\newcommand\map@aacute{\symbol{225}}
+\newcommand\map@acircumflex{\symbol{226}}
+\newcommand\map@atilde{\symbol{227}}
+\newcommand\map@adieresis{\symbol{228}}
+\newcommand\map@aring{\symbol{229}}
+\newcommand\map@ae{\symbol{230}}
+\newcommand\map@ccedilla{\symbol{231}}
+\newcommand\map@egrave{\symbol{232}}
+\newcommand\map@eacute{\symbol{233}}
+\newcommand\map@ecircumflex{\symbol{234}}
+\newcommand\map@edieresis{\symbol{235}}
+\newcommand\map@igrave{\symbol{236}}
+\newcommand\map@iacute{\symbol{237}}
+\newcommand\map@icircumflex{\symbol{238}}
+\newcommand\map@idieresis{\symbol{239}}
+\newcommand\map@eth{\symbol{240}}
+\newcommand\map@ntilde{\symbol{241}}
+\newcommand\map@ograve{\symbol{242}}
+\newcommand\map@oacute{\symbol{243}}
+\newcommand\map@ocircumflex{\symbol{244}}
+\newcommand\map@otilde{\symbol{245}}
+\newcommand\map@odieresis{\symbol{246}}
+\newcommand\map@oe{\symbol{247}}
+\newcommand\map@oslash{\symbol{248}}
+\newcommand\map@ugrave{\symbol{249}}
+\newcommand\map@uacute{\symbol{250}}
+\newcommand\map@ucircumflex{\symbol{251}}
+\newcommand\map@udieresis{\symbol{252}}
+\newcommand\map@yacute{\symbol{253}}
+\newcommand\map@thorn{\symbol{254}}
+\newcommand\map@germandbls{\symbol{255}}
+% \end{macrocode}
+%
+% With OT1 fonts, however, the following definitions are made:
+% \begin{macrocode}
+\else
+\newcommand\map@grave{\`{}}
+\newcommand\map@acute{\'{}}
+\newcommand\map@circumflex{\^{}}
+\newcommand\map@tilde{\~{}}
+\newcommand\map@dieresis{\"{}}
+\newcommand\map@hungarumlaut{\H{}}
+\newcommand\map@ring{}
+\newcommand\map@caron{\v{}}
+\newcommand\map@breve{\u{}}
+\newcommand\map@macron{\={}}
+\newcommand\map@dotaccent{\.{}}
+\newcommand\map@cedilla{\c{}}
+\newcommand\map@ogonek{\map@nil}
+\newcommand\map@endash{-}
+\newcommand\map@emdash{--}
+
+\newcommand\map@aacute{\'a}
+\newcommand\map@Aacute{\'A}
+\newcommand\map@abreve{\u{a}}
+\newcommand\map@Abreve{\u{A}}
+\newcommand\map@Acircumflex{\^A}
+\newcommand\map@acircumflex{\^a}
+\newcommand\map@adieresis{\"a}
+\newcommand\map@Adieresis{\"A}
+\newcommand\map@ae{\ae{}}
+\newcommand\map@AE{\AE{}}
+\newcommand\map@agrave{\`a}
+\newcommand\map@Agrave{\`A}
+\newcommand\map@aogonek{\c{a}}
+\newcommand\map@Aogonek{\c{A}}
+\newcommand\map@Aring{\AA{}}
+\newcommand\map@aring{\aa{}}
+\newcommand\map@atilde{\~a}
+\newcommand\map@Atilde{\~A}
+\newcommand\map@cacute{\'c}
+\newcommand\map@Cacute{\'C}
+\newcommand\map@ccaron{\v{c}}
+\newcommand\map@Ccaron{\v{C}}
+\newcommand\map@Ccedilla{\c C}
+\newcommand\map@ccedilla{\c c}
+\newcommand\map@Dcaron{\v{D}}
+\newcommand\map@dcaron{d\ensuremath{\!}'}
+\newcommand\map@dotlessi{\i{}}
+\newcommand\map@dotlessj{\j{}}
+\newcommand\map@dslash{\map@overlay{d}{\ensuremath{^-}}}
+\newcommand\map@Dslash{\map@Eth}
+\newcommand\map@Eacute{\'E}
+\newcommand\map@eacute{\'e}
+\newcommand\map@ecaron{\v{E}}
+\newcommand\map@Ecaron{\v{E}}
+\newcommand\map@Ecircumflex{\^E}
+\newcommand\map@ecircumflex{\^e}
+\newcommand\map@Edieresis{\"E}
+\newcommand\map@edieresis{\"e}
+\newcommand\map@egrave{\`e}
+\newcommand\map@Egrave{\`E}
+\newcommand\map@eogonek{\c{e}}
+\newcommand\map@Eogonek{\c{E}}
+\newcommand\map@Eth{\makebox[0pt][l]{--}D}
+\newcommand\map@eth{\ensuremath{\partial}}
+\newcommand\map@exclamdown{!`}
+\newcommand\map@gbreve{\u{g}}
+\newcommand\map@Gbreve{\u{G}}
+\newcommand\map@germandbls{\ss{}}
+\newcommand\map@guillemotleft{\ensuremath{\scriptstyle\ll}}
+\newcommand\map@guillemotright{\ensuremath{\scriptstyle\gg}}
+\newcommand\map@guilsinglleft{\ensuremath{\scriptstyle <}}
+\newcommand\map@guilsinglright{\ensuremath{\scriptstyle >}}
+\newcommand\map@Iacute{\'I}
+\newcommand\map@iacute{\'\i{}}
+\newcommand\map@Icircumflex{\^I}
+\newcommand\map@icircumflex{\^\i{}}
+\newcommand\map@Idieresis{\"I}
+\newcommand\map@idieresis{\"\i{}}
+\newcommand\map@Idotaccent{\.{I}}
+\newcommand\map@Igrave{\`I}
+\newcommand\map@igrave{\`\i{}}
+\newcommand\map@ij{ij}
+\newcommand\map@IJ{IJ}
+\newcommand\map@lacute{\'l}
+\newcommand\map@Lacute{\'L}
+\newcommand\map@lcaron{l\ensuremath{\!}'}% siehe Dudentaschenbuch Satz- und
+\newcommand\map@Lcaron{L\ensuremath{\!}'}% Korrekturvorschriften
+\newcommand\map@lslash{\map@overlay{l}{-}}
+\newcommand\map@Lslash{\makebox[0pt][l]{--}L}
+\newcommand\map@nacute{\'n}
+\newcommand\map@Nacute{\'N}
+\newcommand\map@ncaron{\v{n}}
+\newcommand\map@Ncaron{\v{n}}
+\newcommand\map@ntilde{\~n}
+\newcommand\map@Ntilde{\~N}
+\newcommand\map@Oacute{\'O}
+\newcommand\map@oacute{\'o}
+\newcommand\map@Ocircumflex{\^O}
+\newcommand\map@ocircumflex{\^o}
+\newcommand\map@odieresis{\"o}
+\newcommand\map@Odieresis{\"O}
+\newcommand\map@oe{\oe{}}
+\newcommand\map@OE{\OE{}}
+\newcommand\map@Ograve{\`O}
+\newcommand\map@ograve{\`o}
+\newcommand\map@ohungarumlaut{\H{o}}
+\newcommand\map@Ohungarumlaut{\H{O}}
+\newcommand\map@oslash{\o{}}
+\newcommand\map@Oslash{\O{}}
+\newcommand\map@otilde{\~o}
+\newcommand\map@Otilde{\~O}
+\newcommand\map@perthousand{\ensuremath{^{0}/_{00}}}
+\newcommand\map@questiondown{?`}
+\newcommand\map@quotedblbase{,,}
+\newcommand\map@quotedblleft{``}
+\newcommand\map@quotedblright{''}
+\newcommand\map@quotesinglbase{,}
+\newcommand\map@racute{\'r}
+\newcommand\map@Racute{\'R}
+\newcommand\map@rcaron{\v{r}}
+\newcommand\map@Rcaron{\v{R}}
+\newcommand\map@Sacute{\'S}
+\newcommand\map@sacute{\'s}
+\newcommand\map@scaron{\v{s}}
+\newcommand\map@Scaron{\v{S}}
+\newcommand\map@Scedilla{\c{s}}
+\newcommand\map@scedilla{\c{s}}
+\newcommand\map@section{\S{}}
+\newcommand\map@SS{SS}
+\newcommand\map@sterling{\pounds{}}
+\newcommand\map@tcaron{t\ensuremath{\!}'}
+\newcommand\map@Tcaron{\v{T}}
+\newcommand\map@Tcedilla{\c{T}}
+\newcommand\map@tcedilla{\c{t}}
+\newcommand\map@Thorn{\makebox[0pt][l]{l}\raisebox{0,3ex}{p}}
+\newcommand\map@thorn{\makebox[0pt][l]{l}p}
+\newcommand\map@uacute{\'u}
+\newcommand\map@Uacute{\'U}
+\newcommand\map@ucircumflex{\^u}
+\newcommand\map@Ucircumflex{\^U}
+\newcommand\map@Udieresis{\"U}
+\newcommand\map@udieresis{\"u}
+\newcommand\map@ugrave{\`u}
+\newcommand\map@Ugrave{\`U}
+\newcommand\map@Uhungarumlaut{\H{U}}
+\newcommand\map@uhungarumlaut{\H{u}}
+\newcommand\map@uring{\map@accent{u}{\ensuremath{\scriptscriptstyle\circ}}}
+\newcommand\map@Uring{\map@accent{U}{\ensuremath{\scriptscriptstyle\circ}}}
+\newcommand\map@Yacute{\'Y}
+\newcommand\map@yacute{\'y}
+\newcommand\map@Ydieresis{\"Y}
+\newcommand\map@ydieresis{\"y}
+\newcommand\map@zacute{\'z}
+\newcommand\map@Zacute{\'Z}
+\newcommand\map@zcaron{\v{z}}
+\newcommand\map@Zcaron{\v{Z}}
+\newcommand\map@zdotaccent{\.{z}}
+\newcommand\map@Zdotaccent{\.{Z}}
+\fi
+% \end{macrocode}
+%
+% That's it for the definitions. Now the options are evaluated:
+% \begin{macrocode}
+\DeclareOption{iso8859-1}{\input{iso88591.map}}
+\DeclareOption{iso8859-2}{\input{iso88592.map}}
+\DeclareOption{latin1}{\input{iso88591.map}}
+\DeclareOption{latin2}{\input{iso88592.map}}
+\DeclareOption{ibm850}{\input{ibm850.map}}
+\DeclareOption{ibm852}{\input{ibm852.map}}
+\DeclareOption{atari}{\input{atari.map}}
+\DeclareOption{hproman8}{\input{hproman8.map}}
+\DeclareOption{macroman}{\input{macroman.map}}
+% \end{macrocode}
+%
+% If the specified option is not listed above we look for a
+% file of this name. Note that we don't care if it doesn't
+% exist either (should be changed).
+% \begin{macrocode}
+\DeclareOption*{\InputIfFileExists{\CurrentOption.map}{}{}}
+% \end{macrocode}
+%
+% The language options are read last.
+% \begin{macrocode}
+\DeclareOption{german}{\input{german.map}}
+\DeclareOption{spanish}{\input{spanish.map}}
+% \end{macrocode}
+%
+% And finally the options are processed.
+% \begin{macrocode}
+\ProcessOptions
+%</package>
+% \end{macrocode}
+%
+% \section{The Documentation Driver}
+% This will generate the documentation root file.
+% \begin{macrocode}
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\usepackage[ibm850]{mapcodes}
+\OnlyDescription
+\DisableCrossrefs
+\RecordChanges
+\setlength{\parindent}{0pt}
+\begin{document}
+ \DocInput{mapcodes.dtx} \PrintChanges
+\end{document}
+%</driver>
+% \end{macrocode}
+%
+% The end.
+% \begin{macrocode}
+\endinput
+% \end{macrocode}
+%
+% \Finale
diff --git a/macros/latex/contrib/mapcodes/mapcodes.ins b/macros/latex/contrib/mapcodes/mapcodes.ins
new file mode 100644
index 0000000000..34d0761bf9
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/mapcodes.ins
@@ -0,0 +1,68 @@
+% This file is part of the mapcodes package, version 1.04.
+% This is the installation file for the mapcodes package.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+
+\def\batchfile{mapcodes.ins}
+\input docstrip.tex
+
+\preamble
+
+ This file is part of the mapcodes package, version 1.04.
+-----------------------------------------------------------
+Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+
+This file 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:
+
+For error reports in case of UNCHANGED versions see readme file.
+
+You are not allowed to change this file.
+
+You are allowed to distribute this file under the condition that
+it is distributed together with all files mentioned in manifest.txt.
+
+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.
+
+\endpreamble
+
+\generateFile{mapcodes.drv}{f}{\from{mapcodes.dtx}{driver}}
+\generateFile{mapcodes.sty}{f}{\from{mapcodes.dtx}{package}}
+
+\generateFile{iso88591.map}{f}{\from{iso88591.dtx}{}}
+\generateFile{iso88592.map}{f}{\from{iso88592.dtx}{}}
+\generateFile{ibm850.map}{f}{\from{ibm850.dtx}{}}
+\generateFile{ibm852.map}{f}{\from{ibm852.dtx}{}}
+\generateFile{hproman8.map}{f}{\from{hproman8.dtx}{}}
+\generateFile{atari.map}{f}{\from{atari.dtx}{}}
+\generateFile{macroman.map}{f}{\from{macroman.dtx}{}}
+\generateFile{german.map}{f}{\from{german.dtx}{}}
+\generateFile{spanish.map}{f}{\from{spanish.dtx}{}}
diff --git a/macros/latex/contrib/mapcodes/spanish.dtx b/macros/latex/contrib/mapcodes/spanish.dtx
new file mode 100644
index 0000000000..8dce7b4f3d
--- /dev/null
+++ b/macros/latex/contrib/mapcodes/spanish.dtx
@@ -0,0 +1,79 @@
+% \iffalse metacomment
+% This file is part of the mapcodes package, version 1.04.
+% -----------------------------------------------------------
+% Copyright (C) 1994 Michael Piotrowski. All rights reserved.
+%
+% This file 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:
+%
+% For error reports in case of UNCHANGED versions see readme file.
+%
+% You are not allowed to change this file.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in manifest.txt.
+%
+% 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.
+%
+%
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\DontCheckModules
+\newcommand{\mapcodes}{\textsf{mapcodes}}
+\begin{document}
+ \DocInput{spanish.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \def\filename{spanish.dtx}
+% \def\fileversion{v1.0}
+% \def\filedate{1994/12/05}
+% \CheckSum{42}
+%
+% \changes{spanish-1.0}{1994/12/05}{First version}
+%
+% \section{\mapcodes{} Support for \textsf{babel} Spanish Option}
+%
+% This is \filename{} \fileversion{} of \filedate. It contains the
+% \mapcodes support for the \textsf{babel} |spanish| option.
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+\typeout{Compatibility with babel spanish option OT1 facilities requested...}
+
+\ifx\encodingdefault\map@oldenc
+ \typeout{enabled.}
+ \renewcommand\map@Aacute{'A}
+ \renewcommand\map@Eacute{'E}
+ \renewcommand\map@Iacute{'I}
+ \renewcommand\map@Oacute{'O}
+ \renewcommand\map@Uacute{'U}
+ \renewcommand\map@aacute{'a}
+ \renewcommand\map@eacute{'e}
+ \renewcommand\map@iacute{'i}
+ \renewcommand\map@oacute{'o}
+ \renewcommand\map@uacute{'u}
+ \renewcommand\map@udieresis{"u}
+ \renewcommand\map@ordfeminine{"a}
+ \renewcommand\map@ordmasculine{"o}
+ \renewcommand\map@guillemotleft{"<}
+ \renewcommand\map@guillemotright{">}
+ \renewcommand\map@Ntilde{~N}
+ \renewcommand\map@ntilde{~n}
+\else
+ \typeout{rejected, T1 encoding used.}
+\fi
+% \end{macrocode}
+% \Finale
+\endinput \ No newline at end of file