diff --git a/Doc/lib/libmarshal.tex b/Doc/lib/libmarshal.tex
index 75f929a..1fa746d 100644
--- a/Doc/lib/libmarshal.tex
+++ b/Doc/lib/libmarshal.tex
@@ -11,13 +11,13 @@
 independent of machine architecture issues (e.g., you can write a
 Python value to a file on a PC, transport the file to a Sun, and read
 it back there).  Details of the format are undocumented on purpose;
-it may change between Python versions (although it rarely does).%
-\footnote{The name of this module stems from a bit of terminology used
-by the designers of Modula-3 (amongst others), who use the term
-``marshalling'' for shipping of data around in a self-contained form.
-Strictly speaking, ``to marshal'' means to convert some data from
-internal to external form (in an RPC buffer for instance) and
-``unmarshalling'' for the reverse process.}
+it may change between Python versions (although it rarely
+does).\footnote{The name of this module stems from a bit of
+  terminology used by the designers of Modula-3 (amongst others), who
+  use the term ``marshalling'' for shipping of data around in a
+  self-contained form. Strictly speaking, ``to marshal'' means to
+  convert some data from internal to external form (in an RPC buffer for
+  instance) and ``unmarshalling'' for the reverse process.}
 
 This is not a general ``persistency'' module.  For general persistency
 and transfer of Python objects through RPC calls, see the modules
@@ -46,12 +46,12 @@
 This particularly affects the use of very long integer literals in
 Python modules --- these will be accepted by the parser on such
 machines, but will be silently be truncated when the module is read
-from the \file{.pyc} instead.%
-\footnote{A solution would be to refuse such literals in the parser,
-since they are inherently non-portable.  Another solution would be to
-let the \module{marshal} module raise an exception when an integer
-value would be truncated.  At least one of these solutions will be
-implemented in a future version.}
+from the \file{.pyc} instead.\footnote{
+  A solution would be to refuse such literals in the parser,
+  since they are inherently non-portable.  Another solution would be to
+  let the \module{marshal} module raise an exception when an integer
+  value would be truncated.  At least one of these solutions will be
+  implemented in a future version.}
 
 There are functions that read/write files as well as functions
 operating on strings.
diff --git a/Doc/lib/libobjs.tex b/Doc/lib/libobjs.tex
index 8668eff..d19697b 100644
--- a/Doc/lib/libobjs.tex
+++ b/Doc/lib/libobjs.tex
@@ -6,8 +6,8 @@
 symbol table.  This table is searched last when the interpreter looks
 up the meaning of a name, so local and global
 user-defined names can override built-in names.  Built-in types are
-described together here for easy reference.%
-\footnote{Most descriptions sorely lack explanations of the exceptions
+described together here for easy reference.\footnote{
+	Most descriptions sorely lack explanations of the exceptions
 	that may be raised --- this will be fixed in a future version of
 	this manual.}
 \indexii{built-in}{types}
diff --git a/Doc/lib/libprofile.tex b/Doc/lib/libprofile.tex
index 421812a..47ff394 100644
--- a/Doc/lib/libprofile.tex
+++ b/Doc/lib/libprofile.tex
@@ -1,14 +1,13 @@
-\chapter{The Python Profiler}
-\label{profile}
+\chapter{The Python Profiler \label{profile}}
+
+\sectionauthor{James Roskind}{}
 
 Copyright \copyright{} 1994, by InfoSeek Corporation, all rights reserved.
 \index{InfoSeek Corporation}
 
-Written by James Roskind\index{Roskind, James}.%
-\footnote{
-Updated and converted to \LaTeX\ by Guido van Rossum.  The references to
-the old profiler are left in the text, although it no longer exists.
-}
+Written by James Roskind.\footnote{
+  Updated and converted to \LaTeX\ by Guido van Rossum.  The references to
+  the old profiler are left in the text, although it no longer exists.}
 
 Permission to use, copy, modify, and distribute this Python software
 and its associated documentation for any purpose (subject to the
@@ -497,12 +496,11 @@
 \end{methoddesc}
 
 \begin{methoddesc}{ignore}{}
-\deprecated{1.5.1}{This is not needed in modern versions of Python.%
-\footnote{
-This was once necessary, when Python would print any unused expression
-result that was not \code{None}.  The method is still defined for
-backward compatibility.
-}}
+\deprecated{1.5.1}{This is not needed in modern versions of
+Python.\footnote{
+  This was once necessary, when Python would print any unused expression
+  result that was not \code{None}.  The method is still defined for
+  backward compatibility.}}
 \end{methoddesc}
 
 
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex
index 581adec..a893a91 100644
--- a/Doc/lib/libstdtypes.tex
+++ b/Doc/lib/libstdtypes.tex
@@ -188,9 +188,9 @@
 ``smaller'' type is converted to that of the other, where plain
 integer is smaller than long integer is smaller than floating point is
 smaller than complex.
-Comparisons between numbers of mixed type use the same rule.%
-\footnote{As a consequence, the list \code{[1, 2]} is considered equal
-          to \code{[1.0, 2.0]}, and similar for tuples.}
+Comparisons between numbers of mixed type use the same rule.\footnote{
+	As a consequence, the list \code{[1, 2]} is considered equal
+        to \code{[1.0, 2.0]}, and similar for tuples.}
 The functions \function{int()}, \function{long()}, \function{float()},
 and \function{complex()} can be used
 to coerce numbers to a specific type.
@@ -386,8 +386,8 @@
 
 The right argument should be a tuple with one item for each argument
 required by the format string; if the string requires a single
-argument, the right argument may also be a single non-tuple object.%
-\footnote{A tuple object in this case should be a singleton.}
+argument, the right argument may also be a single non-tuple
+object.\footnote{A tuple object in this case should be a singleton.}
 The following format characters are understood:
 \code{\%}, \code{c}, \code{s}, \code{i}, \code{d}, \code{u}, \code{o},
 \code{x}, \code{X}, \code{e}, \code{E}, \code{f}, \code{g}, \code{G}. 
@@ -404,11 +404,11 @@
 
 For safety reasons, floating point precisions are clipped to 50;
 \code{\%f} conversions for numbers whose absolute value is over 1e25
-are replaced by \code{\%g} conversions.%
-\footnote{These numbers are fairly arbitrary.  They are intended to
-avoid printing endless strings of meaningless digits without hampering
-correct use and without having to know the exact precision of floating
-point values on a particular machine.}
+are replaced by \code{\%g} conversions.\footnote{
+  These numbers are fairly arbitrary.  They are intended to
+  avoid printing endless strings of meaningless digits without hampering
+  correct use and without having to know the exact precision of floating
+  point values on a particular machine.}
 All other errors raise exceptions.
 
 If the right argument is a dictionary (or any kind of mapping), then
@@ -763,8 +763,8 @@
 
 \begin{methoddesc}[file]{readline}{\optional{size}}
   Read one entire line from the file.  A trailing newline character is
-  kept in the string%
-\footnote{The advantage of leaving the newline on is that an empty string 
+  kept in the string\footnote{
+	The advantage of leaving the newline on is that an empty string 
 	can be returned to mean \EOF{} without being ambiguous.  Another 
 	advantage is that (in cases where it might matter, e.g. if you 
 	want to make an exact copy of a file while scanning its lines) 
diff --git a/Doc/lib/libstdwin.tex b/Doc/lib/libstdwin.tex
index 7744a51..a4f195f 100644
--- a/Doc/lib/libstdwin.tex
+++ b/Doc/lib/libstdwin.tex
@@ -42,9 +42,10 @@
 
 \begin{funcdesc}{open}{title}
 Open a new window whose initial title is given by the string argument.
-Return a window object; window object methods are described below.%
-\footnote{The Python version of STDWIN does not support draw procedures; all
-	drawing requests are reported as draw events.}
+Return a window object; window object methods are described
+below.\footnote{
+	The Python version of STDWIN does not support draw procedures;
+	all drawing requests are reported as draw events.}
 \end{funcdesc}
 
 \begin{funcdesc}{getevent}{}
