%% $Id: latin1.sty,v 3.3 1996/12/19 03:31:56 krisrose Exp $ %% %% TeX 3 support for ISO 8859-1 (Latin 1) characters. %% Copyright (c) 1990-1996 Kristoffer H. Rose %% %% This file is not part of the Xy-pic package for graphs and diagrams in %% TeX but is distributed with it on the same conditions. %% %% The Xy-pic package is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by the %% Free Software Foundation; either version 2 of the License, or (at your %% option) any later version. %% %% The Xy-pic package 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. See the GNU General Public License %% for more details. %% %% You should have received a copy of the GNU General Public License along %% with this package; if not, write to the Free Software Foundation, Inc., %% 675 Mass Ave, Cambridge, MA 02139, USA. % NOTE: THIS FILE CONTAINS NON-ASCII 8BIT CHARACTERS! % USAGE: This should be input using the command % % \input latin1 % % This will then make those ISO 8859-1 (Latin 1) characters that are present % in plain TeX available, and for AMS-TeX users, those available there as % well (these are marked %%AMS below). % First we pull the standard trick of dropping out if already loaded or if % this is not TeX 3... % \ifx\inputlineno\undefined \errhelp{You may continue but some things will not typeset right.}% \errmessage{latin1.tex requires TeX version 3---please update}% \endinput\fi \expandafter\ifx\csname latin1.tex\endcsname\relax \else \message{[already loaded]}\endinput \fi \expandafter\edef\csname latin1.tex\endcsname{% \catcode`\noexpand\@\the\catcode`\@\space \expandafter\let\csname latin1.tex\endcsname=\noexpand\empty} \catcode`\@=11 % % Next we define some shorthands that users might like as well. % \def\forcemathdef#1#2{\gdef#1{\relax\ifmmode#2\else{$#2$}\fi}} \def\forcemathchardef#1="#2#3#4#5{\forcemathdef#1{\mathchar"#2#3#4#5 }} % \def\mathtextdef#1#2#3{% \gdef#1{\relax\ifmmode\def\next{#2}\else\def\next{#3}\fi\next}} % \def\missingchardef#1{\gdef#1{\space}} % % Code for slashed fractions [from TeXcercise 11.6]: % \def\slashedfrac#1#2{\hbox{\kern.1em % \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.11em % /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}} % % Assumes that columns 3-8 are already set up as ASCII. % % ISO 8859-1 column 10 % \catcode`\ =\active \let =~ \catcode`\¡=\active \chardef¡='074 \catcode`\¢=\active \forcemathdef¢{\mathord{\mathpalette\c@ncel{\fam=0\mkern2mu c}}} \catcode`\£=\active \forcemathchardef£="0424 \catcode`\¤=\active \missingchardef¤ %%Missing: currency \catcode`\¥=\active \def¥{\yen} %%AMS (msam) \catcode`\¦=\active \missingchardef¦ %%Missing: brokenbar \catcode`\§=\active \def§{\S} \catcode`\¨=\active \mathtextdef¨\ddot\" \catcode`\©=\active \def©{\copyright} \def\copyright{{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\mathhexbox20D}}} \catcode`\ª=\active \forcemathdefª{^{\textrm{\b a}}} \catcode`\«=\active \missingchardef« %%Missing: guillemotleft \catcode`\¬=\active \forcemathchardef¬="023A \catcode`\­=\active \missingchardef­ \catcode`\®=\active \def®{\circledR} %%AMS (msam) \catcode`\¯=\active \mathtextdef¯\bar\B %%AMS % % ISO 8859-1 column 11 % \catcode`\°=\active \forcemathdef°{^\circ} \catcode`\±=\active \forcemathchardef±="2206 \catcode`\²=\active \forcemathdef²{^2} \catcode`\³=\active \forcemathdef³{^3} \catcode`\´=\active \let´=\' \catcode`\µ=\active \forcemathchardefµ="0116 \catcode`\¶=\active \def¶{\P} \catcode`\·=\active \forcemathchardef·="2201 \catcode`\¸=\active \let¸=\c \catcode`\¹=\active \forcemathdef¹{^1} \catcode`\º=\active \forcemathdefº{^{\textrm{\b o}}} \catcode`\»=\active \missingchardef» %%Missing: guillemotright \catcode`\¼=\active \def¼{\slashedfrac14} \catcode`\½=\active \def½{\slashedfrac12} \catcode`\¾=\active \def¾{\slashedfrac34} \catcode`\¿=\active \chardef¿='076 % % ISO 8859-1 columns 12-15, by letter: % \catcode`\à=\active \defà{\`a} \catcode`\À=\active \defÀ{\`A} \ifx\inputlineno\undefined\else\uccode`\à=`\À \lccode`\À=`\à \fi \catcode`\á=\active \defá{\'a} \catcode`\Á=\active \defÁ{\'A} \ifx\inputlineno\undefined\else\uccode`\á=`\Á \lccode`\Á=`\á \fi \catcode`\â=\active \defâ{\^a} \catcode`\Â=\active \defÂ{\^A} \ifx\inputlineno\undefined\else\uccode`\â=`\Â \lccode`\Â=`\â \fi \catcode`\ã=\active \defã{\~a} \catcode`\Ã=\active \defÃ{\~A} \ifx\inputlineno\undefined\else\uccode`\ã=`\Ã \lccode`\Ã=`\ã \fi \catcode`\ä=\active \defä{\"a} \catcode`\Ä=\active \defÄ{\"A} \ifx\inputlineno\undefined\else\uccode`\ä=`\Ä \lccode`\Ä=`\ä \fi \catcode`\å=\active \letå=\aa \catcode`\Å=\active \letÅ=\AA \ifx\inputlineno\undefined\else\uccode`\å=`\Å \lccode`\Å=`\å \fi % \catcode`\æ=\active \chardefæ="1A \catcode`\Æ=\active \chardefÆ="1D \ifx\inputlineno\undefined\else\uccode`\æ=`\Æ \lccode`\Æ=`\æ \fi \uccode"1A="1D \lccode"1D="1A % Scandinavian... % \catcode`\ç=\active \defç{\c c} \catcode`\Ç=\active \defÇ{\c C} \ifx\inputlineno\undefined\else\uccode`\ç=`\Ç \lccode`\Ç=`\ç \fi % \catcode`\è=\active \defè{\`e} \catcode`\È=\active \defÈ{\`E} \ifx\inputlineno\undefined\else\uccode`\è=`\È \lccode`\È=`\è \fi \catcode`\é=\active \defé{\'e} \catcode`\É=\active \defÉ{\'E} \ifx\inputlineno\undefined\else\uccode`\é=`\É \lccode`\É=`\é \fi \catcode`\ê=\active \defê{\^e} \catcode`\Ê=\active \defÊ{\^E} \ifx\inputlineno\undefined\else\uccode`\ê=`\Ê \lccode`\Ê=`\ê \fi \catcode`\ë=\active \defë{\"e} \catcode`\Ë=\active \defË{\"E} \ifx\inputlineno\undefined\else\uccode`\ë=`\Ë \lccode`\Ë=`\ë \fi % \catcode`\ì=\active \defì{\`\i} \catcode`\Ì=\active \defÌ{\`I} \ifx\inputlineno\undefined\else\uccode`\ì=`\Ì \lccode`\Ì=`\ì \fi \catcode`\í=\active \defí{\'\i} \catcode`\Í=\active \defÍ{\'I} \ifx\inputlineno\undefined\else\uccode`\í=`\Í \lccode`\Í=`\í \fi \catcode`\î=\active \defî{\^\i} \catcode`\Î=\active \defÎ{\^I} \ifx\inputlineno\undefined\else\uccode`\î=`\Î \lccode`\Î=`\î \fi \catcode`\ï=\active \defï{\"\i} \catcode`\Ï=\active \defÏ{\"I} \ifx\inputlineno\undefined\else\uccode`\ï=`\Ï \lccode`\Ï=`\ï \fi % \catcode`\Ð=\active \missingchardefÐ %%Missing: Eth \catcode`\ð=\active \missingchardefð %%Missing: eth \ifx\inputlineno\undefined\else\uccode`\Ð=`\ð \lccode`\ð=`\Ð \fi % \catcode`\ñ=\active \defñ{\~n} \catcode`\Ñ=\active \defÑ{\~N} \ifx\inputlineno\undefined\else\uccode`\ñ=`\Ñ \lccode`\Ñ=`\ñ \fi % \catcode`\ò=\active \defò{\`o} \catcode`\Ò=\active \defÒ{\`O} \ifx\inputlineno\undefined\else\uccode`\ò=`\Ò \lccode`\Ò=`\ò \fi \catcode`\ó=\active \defó{\'o} \catcode`\Ó=\active \defÓ{\'O} \ifx\inputlineno\undefined\else\uccode`\ó=`\Ó \lccode`\Ó=`\ó \fi \catcode`\ô=\active \defô{\^o} \catcode`\Ô=\active \defÔ{\^O} \ifx\inputlineno\undefined\else\uccode`\ô=`\Ô \lccode`\Ô=`\ô \fi \catcode`\õ=\active \defõ{\^o} \catcode`\Õ=\active \defÕ{\^O} \ifx\inputlineno\undefined\else\uccode`\õ=`\Õ \lccode`\Õ=`\õ \fi \catcode`\ö=\active \defö{\"o} \catcode`\Ö=\active \defÖ{\"O} \ifx\inputlineno\undefined\else\uccode`\ö=`\Ö \lccode`\Ö=`\ö \fi \catcode`\ø=\active \chardefø="1C \catcode`\Ø=\active \chardefØ="1F \ifx\inputlineno\undefined\else\uccode`\ø=`\Ø \lccode`\Ø=`\ø \fi \uccode"1C="1F \lccode"1F="1C % I'm Danish! % \catcode`\ù=\active \defù{\`u} \catcode`\Ù=\active \defÙ{\`U} \ifx\inputlineno\undefined\else\uccode`\ù=`\Ù \lccode`\Ù=`\ù \fi \catcode`\ú=\active \defú{\'u} \catcode`\Ú=\active \defÚ{\'U} \ifx\inputlineno\undefined\else\uccode`\ú=`\Ú \lccode`\Ú=`\ú \fi \catcode`\û=\active \defû{\^u} \catcode`\Û=\active \defÛ{\^U} \ifx\inputlineno\undefined\else\uccode`\û=`\Û \lccode`\Û=`\û \fi \catcode`\ü=\active \defü{\"u} \catcode`\Ü=\active \defÜ{\"U} \ifx\inputlineno\undefined\else\uccode`\ü=`\Ü \lccode`\Ü=`\ü \fi % \catcode`\Ý=\active \defÝ{\'Y} \catcode`\ý=\active \defý{\'y} \ifx\inputlineno\undefined\else\uccode`\Ý=`\ý \lccode`\ý=`\Ý \fi \catcode`\ÿ=\active \defÿ{\"y} % \catcode`\Þ=\active \missingchardefÞ %%Missing: Thorn \catcode`\þ=\active \missingchardefþ %%Missing: thorn \ifx\inputlineno\undefined\else\uccode`\þ=`\Þ \lccode`\Þ=`\þ \fi % \catcode`\ß=\active \letß=\ss % % ISO 8859-1 columns 12-15, symbols: % \catcode`\×=\active \forcemathchardef×="2202 \catcode`\÷=\active \forcemathchardef÷="2204 % \csname latin1.tex\endcsname % $Log: latin1.sty,v $ % Revision 3.3 1996/12/19 03:31:56 krisrose % Maintenance release % % Revision 3.1 1995/09/05 20:31:32 kris % Releasing! % % Revision 3.0 1995/07/07 20:14:21 kris % Major release w/new User's Guide! % % Revision 2.13 1995/07/04 15:11:17 kris % Ready to release v3? % % Revision 2.8 1994/11/07 04:40:31 kris % Abandoned. % % Revision 2.7 1994/03/08 02:06:01 kris % Release 3alpha. % % New for Xy-pic 2.7 based on latin1.doc of the XPPT distribution.