diff --git a/Doc/lib.tex b/Doc/lib.tex
index 0928f3e..f9d0ad7 100644
--- a/Doc/lib.tex
+++ b/Doc/lib.tex
@@ -1,82 +1,5 @@
 \documentstyle[myformat]{report}
 
-% Underscores are not magic throughout this document
-\catcode`_=12
-
-% Dummy \cbstart and \cbend so I can leave the changebars in...
-\newcommand{\cbstart}{}
-\newcommand{\cbend}{}
-
-% Define \itembreak: force the text after an item to start on a new line
-\newcommand{\itembreak}{
-\mbox{}
-\\*[0mm]
-}
-
-% Command to generate two index entries (using subentries)
-\newcommand{\indexii}[2]{
-\index{#1!#2}
-\index{#2!#1}
-}
-
-% And three entries (using only one level of subentries)
-\newcommand{\indexiii}[3]{
-\index{#1!#2 #3}
-\index{#2!#3, #1}
-\index{#3!#1 #2}
-}
-
-% And four (again, using only one level of subentries)
-\newcommand{\indexiv}[4]{
-\index{#1!#2 #3 #4}
-\index{#2!#3 #4, #1}
-\index{#3!#4, #1 #2}
-\index{#4!#1 #2 #3}
-}
-
-% Command to generate a reference to a function, statement, keyword, operator
-\newcommand{\stindex}[1]{\indexii{statement}{#1@{\tt#1}}}
-\newcommand{\kwindex}[1]{\indexii{keyword}{#1@{\tt#1}}}
-\newcommand{\opindex}[1]{\indexii{operator}{#1@{\tt#1}}}
-\newcommand{\bifuncindex}[1]{\index{#1@{\tt#1} (built-in function)}}
-
-% Add an index entry for a module
-\newcommand{\modindex}[2]{\index{#1@{\tt#1} (#2module)}}
-\newcommand{\bimodindex}[1]{\modindex{#1}{built-in }}
-\newcommand{\stmodindex}[1]{\modindex{#1}{standard }}
-
-% Additional string for an index entry
-\newcommand{\indexsubitem}{}
-\newcommand{\ttindex}[1]{\index{#1@{\tt#1} \indexsubitem}}
-
-% Define \itemjoin: some negative vspace to join two items together
-\newcommand{\itemjoin}{
-\mbox{}
-\vspace{-\itemsep}
-\vspace{-\parsep}
-}
-
-% Define \funcitem{func}{args}: define a function item
-\newcommand{\funcitem}[2]{
-\ttindex{#1}
-\item[{\tt #1(#2)}]
-\ 
-}
-
-% Define \dataitem{name}: define a data item
-\newcommand{\dataitem}[1]{
-\ttindex{#1}
-\item[{\tt #1}]
-\ 
-}
-
-% Define \excitem{name}: define an exception item
-\newcommand{\excitem}[1]{
-\ttindex{#1}
-\item[{\tt #1}]
-\itembreak
-}
-
 \title{\bf
 	Python Library Reference
 }
diff --git a/Doc/lib/lib.tex b/Doc/lib/lib.tex
index 0928f3e..f9d0ad7 100644
--- a/Doc/lib/lib.tex
+++ b/Doc/lib/lib.tex
@@ -1,82 +1,5 @@
 \documentstyle[myformat]{report}
 
-% Underscores are not magic throughout this document
-\catcode`_=12
-
-% Dummy \cbstart and \cbend so I can leave the changebars in...
-\newcommand{\cbstart}{}
-\newcommand{\cbend}{}
-
-% Define \itembreak: force the text after an item to start on a new line
-\newcommand{\itembreak}{
-\mbox{}
-\\*[0mm]
-}
-
-% Command to generate two index entries (using subentries)
-\newcommand{\indexii}[2]{
-\index{#1!#2}
-\index{#2!#1}
-}
-
-% And three entries (using only one level of subentries)
-\newcommand{\indexiii}[3]{
-\index{#1!#2 #3}
-\index{#2!#3, #1}
-\index{#3!#1 #2}
-}
-
-% And four (again, using only one level of subentries)
-\newcommand{\indexiv}[4]{
-\index{#1!#2 #3 #4}
-\index{#2!#3 #4, #1}
-\index{#3!#4, #1 #2}
-\index{#4!#1 #2 #3}
-}
-
-% Command to generate a reference to a function, statement, keyword, operator
-\newcommand{\stindex}[1]{\indexii{statement}{#1@{\tt#1}}}
-\newcommand{\kwindex}[1]{\indexii{keyword}{#1@{\tt#1}}}
-\newcommand{\opindex}[1]{\indexii{operator}{#1@{\tt#1}}}
-\newcommand{\bifuncindex}[1]{\index{#1@{\tt#1} (built-in function)}}
-
-% Add an index entry for a module
-\newcommand{\modindex}[2]{\index{#1@{\tt#1} (#2module)}}
-\newcommand{\bimodindex}[1]{\modindex{#1}{built-in }}
-\newcommand{\stmodindex}[1]{\modindex{#1}{standard }}
-
-% Additional string for an index entry
-\newcommand{\indexsubitem}{}
-\newcommand{\ttindex}[1]{\index{#1@{\tt#1} \indexsubitem}}
-
-% Define \itemjoin: some negative vspace to join two items together
-\newcommand{\itemjoin}{
-\mbox{}
-\vspace{-\itemsep}
-\vspace{-\parsep}
-}
-
-% Define \funcitem{func}{args}: define a function item
-\newcommand{\funcitem}[2]{
-\ttindex{#1}
-\item[{\tt #1(#2)}]
-\ 
-}
-
-% Define \dataitem{name}: define a data item
-\newcommand{\dataitem}[1]{
-\ttindex{#1}
-\item[{\tt #1}]
-\ 
-}
-
-% Define \excitem{name}: define an exception item
-\newcommand{\excitem}[1]{
-\ttindex{#1}
-\item[{\tt #1}]
-\itembreak
-}
-
 \title{\bf
 	Python Library Reference
 }
