diff --git a/Doc/lib/libdis.tex b/Doc/lib/libdis.tex
index e11a1f6..f484103 100644
--- a/Doc/lib/libdis.tex
+++ b/Doc/lib/libdis.tex
@@ -1,22 +1,22 @@
-\section{Standard Module \sectcode{dis}}
+\section{Standard Module \module{dis}}
 \stmodindex{dis}
-
 \label{module-dis}
 
-The \code{dis} module supports the analysis of Python byte code by
+The \module{dis} module supports the analysis of Python byte code by
 disassembling it.  Since there is no Python assembler, this module
 defines the Python assembly language.  The Python byte code which
 this module takes as an input is defined in the file 
 \file{Include/opcode.h} and used by the compiler and the interpreter.
 
-Example: Given the function myfunc
+Example: Given the function \function{myfunc}:
 
 \begin{verbatim}
 def myfunc(alist):
-  return len(alist)
+    return len(alist)
 \end{verbatim}
 
-the following command can be used to get the disassembly of \code{myfunc()}:
+the following command can be used to get the disassembly of
+\function{myfunc()}:
 
 \begin{verbatim}
 >>> dis.dis(myfunc)
@@ -31,9 +31,7 @@
          19 RETURN_VALUE   
 \end{verbatim}
 
-The \code{dis} module defines the following functions:
-
-\setindexsubitem{(in module dis)}
+The \module{dis} module defines the following functions:
 
 \begin{funcdesc}{dis}{\optional{bytesource}}
 Disassemble the \var{bytesource} object. \var{bytesource} can denote
@@ -53,8 +51,8 @@
 Disassembles a code object, indicating the last instruction if \var{lasti}
 was provided.  The output is divided in the following columns:
 \begin{itemize}
-\item the current instruction, indicated as \code{-->},
-\item a labelled instruction, indicated with \code{>>},
+\item the current instruction, indicated as \samp{-->},
+\item a labelled instruction, indicated with \samp{>>},
 \item the address of the instruction,
 \item the operation code name,
 \item operation parameters, and
@@ -324,14 +322,14 @@
 
 \begin{opcodedesc}{STORE_NAME}{namei}
 Implements \code{name = TOS}. \var{namei} is the index of \var{name}
-in the attribute \code{co_names} of the code object.
+in the attribute \member{co_names} of the code object.
 The compiler tries to use \code{STORE_LOCAL} or \code{STORE_GLOBAL}
 if possible.
 \end{opcodedesc}
 
 \begin{opcodedesc}{DELETE_NAME}{namei}
 Implements \code{del name}, where \var{namei} is the index into
-\code{co_names} attribute of the code object.
+\member{co_names} attribute of the code object.
 \end{opcodedesc}
 
 \begin{opcodedesc}{UNPACK_TUPLE}{count}
@@ -349,12 +347,12 @@
 
 \begin{opcodedesc}{STORE_ATTR}{namei}
 Implements \code{TOS.name = TOS1}, where \var{namei} is the index
-of name in \code{co_names}.
+of name in \member{co_names}.
 \end{opcodedesc}
 
 \begin{opcodedesc}{DELETE_ATTR}{namei}
 Implements \code{del TOS.name}, using \var{namei} as index into
-\code{co_names}.
+\member{co_names}.
 \end{opcodedesc}
 
 \begin{opcodedesc}{STORE_GLOBAL}{namei}
@@ -370,11 +368,11 @@
 %\end{opcodedesc}
 
 \begin{opcodedesc}{LOAD_CONST}{consti}
-Pushes \code{co_consts[\var{consti}]} onto the stack.
+Pushes \samp{co_consts[\var{consti}]} onto the stack.
 \end{opcodedesc}
 
 \begin{opcodedesc}{LOAD_NAME}{namei}
-Pushes the value associated with \code{co_names[\var{namei}]} onto the stack.
+Pushes the value associated with \samp{co_names[\var{namei}]} onto the stack.
 \end{opcodedesc}
 
 \begin{opcodedesc}{BUILD_TUPLE}{count}
diff --git a/Doc/libdis.tex b/Doc/libdis.tex
index e11a1f6..f484103 100644
--- a/Doc/libdis.tex
+++ b/Doc/libdis.tex
@@ -1,22 +1,22 @@
-\section{Standard Module \sectcode{dis}}
+\section{Standard Module \module{dis}}
 \stmodindex{dis}
-
 \label{module-dis}
 
-The \code{dis} module supports the analysis of Python byte code by
+The \module{dis} module supports the analysis of Python byte code by
 disassembling it.  Since there is no Python assembler, this module
 defines the Python assembly language.  The Python byte code which
 this module takes as an input is defined in the file 
 \file{Include/opcode.h} and used by the compiler and the interpreter.
 
-Example: Given the function myfunc
+Example: Given the function \function{myfunc}:
 
 \begin{verbatim}
 def myfunc(alist):
-  return len(alist)
+    return len(alist)
 \end{verbatim}
 
-the following command can be used to get the disassembly of \code{myfunc()}:
+the following command can be used to get the disassembly of
+\function{myfunc()}:
 
 \begin{verbatim}
 >>> dis.dis(myfunc)
@@ -31,9 +31,7 @@
          19 RETURN_VALUE   
 \end{verbatim}
 
-The \code{dis} module defines the following functions:
-
-\setindexsubitem{(in module dis)}
+The \module{dis} module defines the following functions:
 
 \begin{funcdesc}{dis}{\optional{bytesource}}
 Disassemble the \var{bytesource} object. \var{bytesource} can denote
@@ -53,8 +51,8 @@
 Disassembles a code object, indicating the last instruction if \var{lasti}
 was provided.  The output is divided in the following columns:
 \begin{itemize}
-\item the current instruction, indicated as \code{-->},
-\item a labelled instruction, indicated with \code{>>},
+\item the current instruction, indicated as \samp{-->},
+\item a labelled instruction, indicated with \samp{>>},
 \item the address of the instruction,
 \item the operation code name,
 \item operation parameters, and
@@ -324,14 +322,14 @@
 
 \begin{opcodedesc}{STORE_NAME}{namei}
 Implements \code{name = TOS}. \var{namei} is the index of \var{name}
-in the attribute \code{co_names} of the code object.
+in the attribute \member{co_names} of the code object.
 The compiler tries to use \code{STORE_LOCAL} or \code{STORE_GLOBAL}
 if possible.
 \end{opcodedesc}
 
 \begin{opcodedesc}{DELETE_NAME}{namei}
 Implements \code{del name}, where \var{namei} is the index into
-\code{co_names} attribute of the code object.
+\member{co_names} attribute of the code object.
 \end{opcodedesc}
 
 \begin{opcodedesc}{UNPACK_TUPLE}{count}
@@ -349,12 +347,12 @@
 
 \begin{opcodedesc}{STORE_ATTR}{namei}
 Implements \code{TOS.name = TOS1}, where \var{namei} is the index
-of name in \code{co_names}.
+of name in \member{co_names}.
 \end{opcodedesc}
 
 \begin{opcodedesc}{DELETE_ATTR}{namei}
 Implements \code{del TOS.name}, using \var{namei} as index into
-\code{co_names}.
+\member{co_names}.
 \end{opcodedesc}
 
 \begin{opcodedesc}{STORE_GLOBAL}{namei}
@@ -370,11 +368,11 @@
 %\end{opcodedesc}
 
 \begin{opcodedesc}{LOAD_CONST}{consti}
-Pushes \code{co_consts[\var{consti}]} onto the stack.
+Pushes \samp{co_consts[\var{consti}]} onto the stack.
 \end{opcodedesc}
 
 \begin{opcodedesc}{LOAD_NAME}{namei}
-Pushes the value associated with \code{co_names[\var{namei}]} onto the stack.
+Pushes the value associated with \samp{co_names[\var{namei}]} onto the stack.
 \end{opcodedesc}
 
 \begin{opcodedesc}{BUILD_TUPLE}{count}
