Fixed for Latex2e by Dave Ascher.
diff --git a/Doc/myformat.sty b/Doc/myformat.sty
index f1779cb..1abdcbe 100644
--- a/Doc/myformat.sty
+++ b/Doc/myformat.sty
@@ -1,13 +1,8 @@
+%
+% myformat.sty for the Python doc [updated to work with Latex2e]
+%
+
% Style parameters and macros used by most documents here
-
-\input{a4wide.sty} % Take this out if it doesn't exist or doesn't work
-\input{times.sty} % And this (at CWI, this uses PostScript fonts)
-
-% This has to be tuned each time the repair person takes the printer apart:
-%\addtolength{\oddsidemargin}{-2.5mm}
-%\addtolength{\evensidemargin}{-2.5mm}
-
-% Style parameters
\raggedbottom
\sloppy
\parindent = 0mm
@@ -36,11 +31,28 @@
\noindent
}
-% Underscores are not magic throughout the Python documentation.
-% This still only gives the right effect in the tt font!!!
-\def\_{\ifnum\fam=\ttfam \char'137\else{\tt\char'137}\fi}
-\catcode`\_=12
-\catcode`\_=\active\def_{\ifnum\fam=\ttfam \char'137 \else{\tt\char'137}\fi}
+% Underscore hack (only act like subscript operator if in math mode)
+%
+% The following is due to Mark Wooding (the old version didn't work with
+% Latex 2e.
+
+\DeclareRobustCommand\hackscore{%
+ \ifmmode_\else\textunderscore\fi%
+}
+\begingroup
+\catcode`\_\active
+\def\next{%
+ \AtBeginDocument{\catcode`\_\active\def_{\hackscore{}}}%
+}
+\expandafter\endgroup\next
+
+%
+% This is the old hack, which didn't work with 2e.
+% If you're still using Latex 2.09, you can give it a try if the above fails.
+%
+%\def\_{\ifnum\fam=\ttfamily \char'137\else{\tt\char'137}\fi}
+%\catcode`\_=12
+%\catcode`\_=\active\def_{\ifnum\fam=\ttfamily \char'137 \else{\tt\char'137}\fi}
% Define \itembreak: force the text after an item to start on a new line
\newcommand{\itembreak}{
@@ -89,7 +101,6 @@
% Define \funcitem{func}{args}: define a function item
\newcommand{\funcitem}[2]{%
\ttindex{#1}%
-%\item[{\tt #1(#2)}]
\item[\code{#1(\varvars{#2})}]
\
}
@@ -140,37 +151,27 @@
\newcommand{\ABC}{{\sc abc}}
\newcommand{\UNIX}{{\sc Unix}}
\newcommand{\ASCII}{{\sc ascii}}
-%\newcommand{\C}{{\bf C}}
\newcommand{\Cpp}{C\protect\raisebox{.18ex}{++}}
\newcommand{\C}{C}
\newcommand{\EOF}{{\sc eof}}
% code is the most difficult one...
-%\frenchspacing removed, because \section, etc., can't handle it
\newcommand{\code}[1]{{\@vobeyspaces\@noligs\def\{{\char`\{}\def\}{\char`\}}\def\~{\char`\~}\def\^{\char`\^}\def\e{\char`\\}\def\${\char`\$}\def\#{\char`\#}\def\&{\char`\&}\def\%{\char`\%}%
\mbox{\tt #1}}}
-%This one does not work
-%%%% myspecials, same as dospecials, but without {, } and \
-%%%\def\myspecials{\do\ \do\$\do\&%
-%%% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
-%%%\newcommand{\code}[1]{\begingroup \catcode``=13 \@noligs
-%%%\tt \let\do\@makeother \myspecials
-%%%#1\endgroup}
+
\newcommand{\kbd}[1]{\mbox{\tt #1}}
\newcommand{\key}[1]{\mbox{\tt #1}}
\newcommand{\samp}[1]{\mbox{`\code{#1}'}}
\newcommand{\var}[1]{\mbox{\it#1\/}}
\let\file=\samp
\newcommand{\dfn}[1]{{\em #1\/}}
-\newcommand{\emph}[1]{{\em #1\/}}
+\renewcommand{\emph}[1]{{\em #1\/}}
\newcommand{\strong}[1]{{\bf #1}}
-%\newcommand{\varvars}[1]{{\catcode`\,=\active\def,{\tt\char`\,\/tt}\var{#1}}}
-%\newcommand{\varvars}[1]{{\def\,{\/{\tt\char`\,}}\var{#1}}}
\newcommand{\varvars}[1]{{\def\,{\/{\tt\char`\,}}\def\({\/{\tt\char`\(}}\def\){\/{\tt\char`\)}}\var{#1}}}
\newif\iftexi\texifalse
-%not supported yet%\newif\iflatex\latextrue
+\newif\iflatex\latextrue
\newenvironment{tableii}[4]{\begin{center}\def\lineii##1##2{\csname#2\endcsname{##1}&##2\\}\begin{tabular}{#1}\hline#3\\
\hline}{\hline\end{tabular}\end{center}}
@@ -182,15 +183,3 @@
\advance\@tempdima \leftmargin\makebox[\@tempdima][l]{#1}}
\newcommand{\sectcode}[1]{{\tt #1}}
-%%%
-%%%\let\orgchapter\chapter
-%%%\def\chapter#1{{\let\code\sectcode\orgchapter{#1}}}
-%%%\let\orgsection\section
-%%%\def\section#1{{\let\code\sectcode\orgsection{#1}}}
-%%%\let\orgsubsection\subsection
-%%%\def\subsection#1{{\let\code\sectcode\orgsubsection{#1}}}
-%%%\let\orgsubsubsection\subsubsection
-%%%\def\subsubsection#1{{\let\code\sectcode\orgsubsubsection{#1}}}
-%%%\let\orgsubsubsubsection\subsubsubsection
-%%%\def\subsubsubsection#1{{\let\code\sectcode\orgsubsubsubsection{#1}}}
-