\typeout{The extended characters used with this style
                  correspond with ASCII.TCP.}
\newif\ifgreek
\newif\ifdots\dotstrue
\def\adddialect#1#2{%
    \global\chardef#1#2
    \wlog{\string#1 = a dialect from \string\language#2}}
\def\ifnextchar#1#2#3{\let\tempe #1\def\tempa{#2}\def\tempb{#3}\futurelet
  \tempc\ifnch}
\def\ifnch{\ifx\tempc\tempe\let\tempd\tempa\else\let\tempd\tempb\fi\tempd}
\ifx\iflanguage\undefined\def\iflanguage#1#2#3{#3}\fi
\def\root#1{\ifmmode\sqrt#1\else\begin{math}\sqrt#1\end{math}\fi}
\def\asciicxxviii{\iflanguage{russian}A{\c{C}}} % 128  �
\def\asciicxxix{\iflanguage{russian}B{\"u}} % 129  �
\def\asciicxxx{\iflanguage{russian}V\eac} % 130  �
\def\asciicxxxi{\iflanguage{russian}G\ahat} % 131  �
\def\asciicxxxii{\iflanguage{russian}D{\"a}} % 132  �
\def\asciicxxxiii{\iflanguage{russian}E\agr} % 133  �
\def\asciicxxxiv{\iflanguage{russian}{\Z }{\aa }} % 134  �
\def\asciicxxxv{\iflanguage{russian}Z{\c{c}}} % 135  �
\def\asciicxxxvi{\iflanguage{russian}I\ehat} % 136  �
\def\asciicxxxvii{\iflanguage{russian}J{\"e}} % 137  �
\def\asciicxxxviii{\iflanguage{russian}K\egr} % 138  �
\def\asciicxxxix{\iflanguage{russian}L\idots} % 139  �
\def\asciicxl{\iflanguage{russian}M\ihat} % 140  �
\def\asciicxli{\iflanguage{russian}N\igr} % 141  �
\def\asciicxlii{\iflanguage{russian}O{\"A}} % 142  �
\def\asciicxliii{\iflanguage{russian}P\AA } % 143  �
\def\asciicxliv{\iflanguage{russian}R\'E} % 144  �
\def\asciicxlv{\iflanguage{russian}S{\ae }} % 145  �
\def\asciicxlvi{\iflanguage{russian}T{\AE }} % 146  �
\def\asciicxlvii{\iflanguage{russian}U\ohat} % 147  �
\def\asciicxlviii{\iflanguage{russian}F{\"o}} % 148  �
\def\asciicxlix{\iflanguage{russian}H\ogr} % 149  �
\def\asciicl{\iflanguage{russian}C\uhat} % 150  �
\def\asciicli{\iflanguage{russian}{\Cz}\ugr} % 151  �
\def\asciiclii{\iflanguage{russian}{\S}{\allowhyphens
  i\kern-0.06pt j\allowhyphens}} % 152  �
\def\asciicliii{\iflanguage{russian}{\Scz}{\"O}} % 153  �
\def\asciicliv{\iflanguage{russian}{\tz}{\"U}} % 154  �
\def\asciiclvi{\iflanguage{russian}{\mz}{\pounds }} % 156  �
\def\asciiclviii{\iflanguage{russian}{\Ju}{}} % 158  �
\def\asciiclix{\iflanguage{russian}{\Ja}{{\it f\,}}} % 159  �
\def\asciiclx{\iflanguage{russian}a\aac} % 160  �
\def\asciiclxi{\iflanguage{russian}b\iac} % 161  �
\def\asciiclxii{\iflanguage{russian}v\oac} % 162  �
\def\asciiclxiii{\iflanguage{russian}g\uac} % 163  �
\def\asciiclxiv{\iflanguage{russian}d\ntilde} % 164  �
\def\asciiclxv{\iflanguage{russian}e\~N} % 165  �
\def\asciiclxvi{\iflanguage{russian}{\z}{}} % 166  �
\def\asciiclxviii{\iflanguage{russian}i{?`}} % 168  �
\def\asciiclxx
   {\iflanguage{russian}k{\ifmmode\neg\else{\begin{math}\neg\end{math}}\fi{}}}
% 170 �
\def\asciiclxxi{\iflanguage{russian}{l}
   \ifmmode{\frac{1}{2}}\else{\begin{math}\frac{1}{2}\end{math}}\fi{}} % 171  �
\def\asciiclxxii{\iflanguage{russian}{m}
   \ifmmode{\frac{1}{4}}\else{\begin{math}\frac{1}{4}\end{math}}\fi{}} % 172  �
\def\asciiclxxiii{\iflanguage{russian}n{!`}} % 173  �
\def\asciiclxxiv{\iflanguage{russian}o\leftquotes } % 174  �
\def\asciiclxxv{\iflanguage{russian}p\rightquotes } % 175  �
\def\asciiclxxix{\,/\,\allowhyphens} % 179  �
\def\asciiclxxxvi{\ifmmode\|\else{\begin{math}\|\end{math}}\fi{}} % 186 �
\def\asciicxci{\iflanguage{russian}{\leftquotes }{\rceil }} % 191 �
\def\asciicxcii{\iflanguage{russian}{\rightquotes }{\lfloor }} % 192 �
\def\asciicxciii{\ifmmode\bot\else{\begin{math}\bot\end{math}}\fi{}} % 193 �
\def\asciicxciv{\ifmmode\top\else{\begin{math}\top\end{math}}\fi{}} % 194  �
\def\asciicxcvi#1 {\mbox{\dashes#1}{ }} % 196  �
\def\asciicxcvii{\dag } % 197  �
\def\asciicxcviii{\ifmmode\models\else{\begin{math}\models\end{math}}\fi{}} % 198 �
\def\asciiccxvi{\ddag } % 216  �
\def\asciiccxvii{\rfloor } % 217 �
\def\asciiccxviii{\lceil } % 218 �
\def\asciiccxxi{\discretionary{-}{}{\kern.03em}} % �
\def\asciiccxxiv{\ifgreek{a}\else\iflanguage{russian}{r}
   {\ifmmode\alpha\else{\begin{math}\alpha\end{math}}\fi}\fi{}} % 224  �
\def\asciiccxxv{\ifgreek{b}\else\iflanguage{russian}s\ss{}\fi{}} % 225  �
\def\asciiccxxvi{\ifgreek{G}\else\iflanguage{russian}{t}
   {\ifmmode\Gamma\else{\begin{math}\Gamma\end{math}}\fi}\fi{}}% 226  �
\def\asciiccxxvii{\ifgreek{p}\else\iflanguage{russian}{u}
   {\ifmmode\pi\else{\begin{math}\pi\end{math}}\fi}\fi{}} % 227  �
\def\asciiccxxviii{\ifgreek{S}\else\iflanguage{russian}{v}
   {\ifmmode\Sigma\else{\begin{math}\Sigma\end{math}}\fi}\fi{}} % 228  �
\def\asciiccxxix{\ifgreek{s}\else\iflanguage{russian}{h}
   {\ifmmode\sigma\else{\begin{math}\sigma\end{math}}\fi}\fi{}} % 229  �
\def\asciiccxxx{\ifgreek{m}\else\iflanguage{russian}{c}
   {\ifmmode\mu\else{\begin{math}\mu\end{math}}\fi}\fi{}} % 230  �
\def\asciiccxxxi{\ifgreek{g}\else\iflanguage{russian}{\cz}
   {\ifmmode\gamma\else{\begin{math}\gamma\end{math}}\fi}\fi{}} % 231  �
\def\asciiccxxxii{\ifgreek{F}\else\iflanguage{russian}{\s}
   {\ifmmode\Phi\else{\begin{math}\Phi\end{math}}\fi}\fi{}} % 231  �
\def\asciiccxxxiii{\ifgreek{j}\else\iflanguage{russian}{\scz}
   {\ifmmode\theta\else{\begin{math}\theta\end{math}}\fi}\fi{}} % 233  �
\def\asciiccxxxiv{\ifgreek{W}\else\iflanguage{russian}{\Tz}
   {\ifmmode\Omega\else{\begin{math}\Omega\end{math}}\fi}\fi{}} % 234  �
\def\asciiccxxxv{\ifgreek{d}\else\iflanguage{russian}{y}
   {\ifmmode\delta\else{\begin{math}\delta\end{math}}\fi}\fi{}} % 235  �
\def\asciiccxxxvi{\iflanguage{russian}{\Mz}
   {\ifmmode\infty\else{\begin{math}\infty\end{math}}\fi{}}} % 236  �
\def\asciiccxxxvii{\iflanguage{russian}z{\o }} % 237  �
\def\asciiccxxxviii{\ifgreek{e}\else\iflanguage{russian}{\ju}
   {\ifmmode\varepsilon\else{\begin{math}\varepsilon\end{math}}\fi}\fi{}}
% 238 �
\def\asciiccxxxix{\iflanguage{russian}{\ja}
{\ifmmode\bigcap\else{\begin{math}\bigcap\end{math}}\fi{}}} % 239  �
\def\asciiccxl{\ifmmode\equiv\else{\begin{math}\equiv\end{math}}\fi{}} % 240  �
\def\asciiccxli{\iflanguage{russian}{"e}
   {\ifmmode\pm\else{\begin{math}\pm\end{math}}\fi{}}} % 241  �
\def\asciiccxlii{\iflanguage{russian}
   {\ifmmode^{2}\else{\begin{math}^{2}\end{math}}\fi{}}
   {\ifmmode\geq\else{\begin{math}\geq\end{math}}\fi{}}} % 242  �
\def\asciiccxliii{\iflanguage{russian}{\footnote}
   {\ifmmode\leq\else{\begin{math}\leq\end{math}}\fi{}}} % 243  �
\def\asciiccxlvi{\ifmmode\div\else{\begin{math}\div\end{math}}\fi{}} % 246  �
\def\asciiccxlvii{\ifmmode\approx\else{\begin{math}\approx\end{math}}\fi{}} % 247  �
\def\asciiccxlviii{\ifmmode{^0}\else{\begin{math}^0\end{math}}\fi{}} % 248  �
\def\asciiccxlix{\pel} % 249  �
\def\asciiccla{\ifdots\hbox\bgroup\fi%\else\unskip\penalty-301\fi
   \ifnextchar\asciiccl{\ifmmode\mathinner{\ldotp\,}
      \else\begin{math}\mathinner{\ldotp\,}\end{math}\fi\dotsfalse}
                       {\ifmmode\mathinner{\ldotp\,}
      \else\begin{math}\mathinner{\ldotp\,}\end{math}\fi\egroup\dotstrue}}
\def\asciiccl{\protect\asciiccla} %
%\@ifnextchar�{\ifmmode\ldotp\,\else
%   \begin{math}\ldotp\,\end{math}\fi\linebreak}
%   {\ifmmode\ldotp\,\else
%   \begin{math}\ldotp\,\end{math}\fi\nolinebreak}
%   % 250 �
\def\asciiccli{\root} % �
\def\asciicclii{\footnote} % �
\def\asciiccliii{\ifmmode{^2}\else{\begin{math}^2\end{math}}\fi}
\def\asciiccliv{\item } % �
\gdef\agr{\`{a}}
\gdef\egr{\`{e}}
\gdef\igr{\`{\i}}
\gdef\ogr{\`{o}}
\gdef\ugr{\`{u}}
\gdef\aac{\'{a}}
\gdef\eac{\'{e}}
\gdef\iac{\'{\i}}
\gdef\oac{\'{o}}
\gdef\uac{\'{u}}
\gdef\ahat{\^{a}}
\gdef\ehat{\^{e}}
\gdef\ihat{\^{\i}}
\gdef\ohat{\^{o}}
\gdef\uhat{\^{u}}
\catcode`\"\active
\gdef\idots{"i}
\catcode`\"12
\gdef\ntilde{\~{n}}
\gdef\E{\relax}
\gdef\e{\relax}
\gdef\S{\relax}
\gdef\s{\relax}
\gdef\Z{\relax}
\gdef\z{\relax}
\gdef\Ja{\relax}
\gdef\ja{\relax}
\gdef\Ju{\relax}
\gdef\ju{\relax}
\gdef\Cz{\relax}
\gdef\cz{\relax}
\gdef\Mz{\relax}
\gdef\mz{\relax}
\gdef\Tz{\relax}
\gdef\tz{\relax}
\gdef\Scz{\relax}
\gdef\scz{\relax}
\catcode\lq\'=11
\catcode\lq\`=11
\catcode\lq\~=11
\lccode\lq\'=\lq\'%
\lccode\lq\`=\lq\`%
\lccode\lq\~=\lq\~%
\def\gobble#1{}
\def\keybgreek{\ifx�\undefined%
\typeout{Warning: Be sure your TeX version uses ascii.tcp^^J
\@spaces\@spaces
or do not use an extended keyboard!}\fi%
\def\eac{'e}%
\def\ahat{~a}%
\def\agr{`a}%
\def\ehat{~e}%
\def\egr{`e}%
\def\ogr{`o}%
\def\ihat{~i}%
\def\igr{`i}%
\def\ohat{~o}%
\def\uhat{~u}%
\def\ugr{`u}%
\def\aac{'a}%
\def\iac{'i}%
\def\oac{'o}%
\def\uac{'u}%
\def\ntilde{~h}%
\def\asciiccxxxvi{~w}%
}
\catcode\lq\'=12
\catcode\lq\`=12
\catcode\lq\~=13
\lccode\lq\'=\lq\'%
\lccode\lq\`=\lq\`%
\lccode\lq\~=\lq\~%
\newcount\vwl
\newcount\acct
\def\lt{<}
\def\gt{>}
{%
\catcode\lq\<=13%
\catcode\lq\>=13%
\catcode\lq\~=11%
\catcode\lq\"=11%
\catcode\lq\|=11%
\catcode\lq\'=13%
\catcode\lq\`=13%
\lccode\lq\>=\lq\>%
\lccode\lq\<=\lq\<%
\lccode\lq\~=\lq\~%
\lccode\lq\"=\lq\"%
\lccode\lq\|=\lq\|%
\lccode\lq\'=\lq\'%
\lccode\lq\`=\lq\`%
  \gdef'{\ifnextchar `{\expandafter\smoothgrave\gobble}%
   {\ifnextchar ~{\expandafter\smoothcircumflex\gobble}%
   {\ifnextchar '{\expandafter\accent\rq136\gobble}%
   {\ifnextchar\asciiclx{\expandafter\aaclenis\gobble}%
   {\ifnextchar\asciicxxx{\expandafter\eaclenis\gobble}%
   {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}%
   {\ifnextchar\asciiclxii{\expandafter\oaclenis\gobble}%
   {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}%
   {\ifnextchar\asciicxxxiii{\expandafter\agrlenis\gobble}%
   {\ifnextchar\asciicxxxviii{\expandafter\egrlenis\gobble}%
   {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}%
   {\ifnextchar\asciicxlix{\expandafter\ogrlenis\gobble}%
   {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}%
      {\char\lq\'}}}}}}}}}}}}}}
  \gdef`{\ifnextchar `{\expandafter\roughgrave\gobble}%
   {\ifnextchar ~{\expandafter\roughcircumflex\gobble}%
   {\ifnextchar '{\expandafter\accent\rq126\gobble}%
   {\ifnextchar\asciiclx{\expandafter\aacasper\gobble}%
   {\ifnextchar\asciicxxx{\expandafter\eacasper\gobble}%
   {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}%
   {\ifnextchar\asciiclxii{\expandafter\oacasper\gobble}%
   {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}%
   {\ifnextchar\asciicxxxiii{\expandafter\agrasper\gobble}%
   {\ifnextchar\asciicxxxviii{\expandafter\egrasper\gobble}%
   {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}%
   {\ifnextchar\asciicxlix{\expandafter\ograsper\gobble}%
   {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}%
      {\char\lq\`}}}}}}}}}}}}}}
  \gdef>{\ifnextchar `{\expandafter\smoothgrave\gobble}%
   {\ifnextchar ~{\expandafter\smoothcircumflex\gobble}%
   {\ifnextchar '{\expandafter\accent\rq136\gobble}%
   {\ifnextchar\asciiclx{\expandafter\aaclenis\gobble}%
   {\ifnextchar\asciicxxx{\expandafter\eaclenis\gobble}%
   {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}%
   {\ifnextchar\asciiclxii{\expandafter\oaclenis\gobble}%
   {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}%
   {\ifnextchar\asciicxxxiii{\expandafter\agrlenis\gobble}%
   {\ifnextchar\asciicxxxviii{\expandafter\egrlenis\gobble}%
   {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}%
   {\ifnextchar\asciicxlix{\expandafter\ogrlenis\gobble}%
   {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}%
      {\char\lq\>}}}}}}}}}}}}}}
   \gdef\aaclenis{\accent\rq136 a\relax}
   \gdef\eaclenis{\accent\rq136 e\relax}
   \gdef\iaclenis{\accent\rq136 i\relax}
   \gdef\oaclenis{\accent\rq136 o\relax}
   \gdef\uaclenis{\accent\rq136 u\relax}
   \gdef\agrlenis{\accent\rq137 a\relax}
   \gdef\egrlenis{\accent\rq137 e\relax}
   \gdef\igrlenis{\accent\rq137 i\relax}
   \gdef\ogrlenis{\accent\rq137 o\relax}
   \gdef\ugrlenis{\accent\rq137 u\relax}
  \gdef<{\ifnextchar `{\expandafter\roughgrave\gobble}%
   {\ifnextchar ~{\expandafter\roughcircumflex\gobble}%
   {\ifnextchar '{\expandafter\accent\rq126\gobble}%
   {\ifnextchar\asciiclx{\expandafter\aacasper\gobble}%
   {\ifnextchar\asciicxxx{\expandafter\eacasper\gobble}%
   {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}%
   {\ifnextchar\asciiclxii{\expandafter\oacasper\gobble}%
   {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}%
   {\ifnextchar\asciicxxxiii{\expandafter\agrasper\gobble}%
   {\ifnextchar\asciicxxxviii{\expandafter\egrasper\gobble}%
   {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}%
   {\ifnextchar\asciicxlix{\expandafter\ograsper\gobble}%
   {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}%
      {\char\lq\<}}}}}}}}}}}}}}
   \gdef\aacasper{\accent\rq126 a\relax}
   \gdef\eacasper{\accent\rq126 e\relax}
   \gdef\iacasper{\accent\rq126 i\relax}
   \gdef\oacasper{\accent\rq126 o\relax}
   \gdef\uacasper{\accent\rq126 u\relax}
   \gdef\agrasper{\accent\rq103 a\relax}
   \gdef\egrasper{\accent\rq103 e\relax}
   \gdef\igrasper{\accent\rq103 i\relax}
   \gdef\ograsper{\accent\rq103 o\relax}
   \gdef\ugrasper{\accent\rq103 u\relax}
  \gdef\smoothgrave#1{\acct=\rq137 \vwl=\lq#1 \dobreathinggrave}
  \gdef\roughgrave#1{\acct=\rq103 \vwl=\lq#1 \dobreathinggrave}
  \gdef\dobreathinggrave{\ifnum\vwl\lt\rq133%40	%if uppercase
    \ifnum\vwl\gt\rq100%
    \char\the\acct\char\the\vwl\else\expandafter\testiota\fi\fi}
  \gdef\smoothcircumflex#1{\acct=\rq134 \vwl=\lq#1 \dobreathingcircumflex}
  \gdef\roughcircumflex#1{\acct=\rq100 \vwl=\lq#1 \dobreathingcircumflex}
  \gdef\dobreathingcircumflex{\ifnum\vwl\lt\rq140 %if uppercase
    \char\the\acct\kern -.2em\char\the\vwl\else
    \doaccent\fi}
  \gdef\doaccent{\accent\the\acct \char\the\vwl\relax}
  \gdef\testiota{\ifnextchar |{\addiota\doaccent\gobble}{\doaccent}}
  \gdef\addiota{\ifnum\vwl=\lq a\vwl=\rq370%
    \else\ifnum\vwl=\lq h\vwl=\rq371 \else\vwl=\rq372 \fi\fi}
  \gdef\doaccent{\accent\the\acct \char\the\vwl\relax}
}
