\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 % % \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} % % \end{macrocode} % % The end. % \begin{macrocode} \endinput % \end{macrocode} % % \Finale