diff --git a/Doc/lib/libarray.tex b/Doc/lib/libarray.tex
index 19ba91d..180be34 100644
--- a/Doc/lib/libarray.tex
+++ b/Doc/lib/libarray.tex
@@ -10,7 +10,7 @@
 type is specified at object creation time by using a \dfn{type code},
 which is a single character.  The following type codes are defined:
 
-\begin{tableiii}{|c|c|c|}{character}{Type code}{Type}{Minimum size in bytes}
+\begin{tableiii}{c|l|c}{code}{Type code}{C Type}{Minimum size in bytes}
 \lineiii{'c'}{character}{1}
 \lineiii{'b'}{signed integer}{1}
 \lineiii{'B'}{unsigned integer}{1}
diff --git a/Doc/lib/libcd.tex b/Doc/lib/libcd.tex
index e027466..44111a3 100644
--- a/Doc/lib/libcd.tex
+++ b/Doc/lib/libcd.tex
@@ -253,7 +253,7 @@
 for this \var{type} of callback.  The type of the data depends on the
 \var{type} of callback as follows:
 
-\begin{tableii}{|l|p{4in}|}{code}{Type}{Value}
+\begin{tableii}{l|p{4in}}{code}{Type}{Value}
   \lineii{audio}{String which can be passed unmodified to
 \function{al.writesamps()}.}
   \lineii{pnum}{Integer giving the program (track) number.}
diff --git a/Doc/lib/libfl.tex b/Doc/lib/libfl.tex
index a0e0076..7ebec7d 100644
--- a/Doc/lib/libfl.tex
+++ b/Doc/lib/libfl.tex
@@ -377,7 +377,7 @@
 Form objects have the following data attributes; see the FORMS
 documentation:
 
-\begin{tableiii}{|l|c|l|}{member}{Name}{Type}{Meaning}
+\begin{tableiii}{l|l|l}{member}{Name}{C Type}{Meaning}
   \lineiii{window}{int (read-only)}{GL window id}
   \lineiii{w}{float}{form width}
   \lineiii{h}{float}{form height}
@@ -436,7 +436,7 @@
 
 FORMS objects have these data attributes; see the FORMS documentation:
 
-\begin{tableiii}{|l|c|l|}{member}{Name}{Type}{Meaning}
+\begin{tableiii}{l|l|l}{member}{Name}{C Type}{Meaning}
   \lineiii{objclass}{int (read-only)}{object class}
   \lineiii{type}{int (read-only)}{object type}
   \lineiii{boxtype}{int}{box type}
diff --git a/Doc/lib/libimghdr.tex b/Doc/lib/libimghdr.tex
index d624f06..2f21a25 100644
--- a/Doc/lib/libimghdr.tex
+++ b/Doc/lib/libimghdr.tex
@@ -18,7 +18,7 @@
 The following image types are recognized, as listed below with the
 return value from \function{what()}:
 
-\begin{tableii}{|l|l|}{code}{Value}{Image format}
+\begin{tableii}{l|l}{code}{Value}{Image format}
   \lineii{'rgb'}{SGI ImgLib Files}
   \lineii{'gif'}{GIF 87a and 89a Files}
   \lineii{'pbm'}{Portable Bitmap Files}
diff --git a/Doc/lib/libjpeg.tex b/Doc/lib/libjpeg.tex
index 5b765fa..76e70af 100644
--- a/Doc/lib/libjpeg.tex
+++ b/Doc/lib/libjpeg.tex
@@ -40,7 +40,7 @@
 \function{decompress()} calls will use these options.  The following
 options are available:
 
-\begin{tableii}{|l|p{3in}|}{code}{Option}{Effect}
+\begin{tableii}{l|p{3in}}{code}{Option}{Effect}
   \lineii{'forcegray'}{%
     Force output to be grayscale, even if input is RGB.}
   \lineii{'quality'}{%
diff --git a/Doc/lib/liblocale.tex b/Doc/lib/liblocale.tex
index 1752790..07361b8 100644
--- a/Doc/lib/liblocale.tex
+++ b/Doc/lib/liblocale.tex
@@ -84,7 +84,7 @@
 The possible values for \code{p_sign_posn} and \code{n_sign_posn}
 are given below.
 
-\begin{tableii}{|c|l|}{code}{Value}{Explanation}
+\begin{tableii}{c|l}{code}{Value}{Explanation}
 \lineii{0}{Currency and value are surrounded by parentheses.}
 \lineii{1}{The sign should precede the value and currency symbol.}
 \lineii{2}{The sign should follow the value and currency symbol.}
diff --git a/Doc/lib/libposixfile.tex b/Doc/lib/libposixfile.tex
index 570a79b..a1f853d 100644
--- a/Doc/lib/libposixfile.tex
+++ b/Doc/lib/libposixfile.tex
@@ -102,7 +102,7 @@
 Format characters for the \method{lock()} method have the following
 meaning:
 
-\begin{tableii}{|c|l|}{samp}{Format}{Meaning}
+\begin{tableii}{c|l}{samp}{Format}{Meaning}
   \lineii{u}{unlock the specified region}
   \lineii{r}{request a read lock for the specified section}
   \lineii{w}{request a write lock for the specified section}
@@ -110,7 +110,7 @@
 
 In addition the following modifiers can be added to the format:
 
-\begin{tableiii}{|c|l|c|}{samp}{Modifier}{Meaning}{Notes}
+\begin{tableiii}{c|l|c}{samp}{Modifier}{Meaning}{Notes}
   \lineiii{|}{wait until the lock has been granted}{}
   \lineiii{?}{return the first lock conflicting with the requested lock, or
               \code{None} if there is no conflict.}{(1)} 
@@ -126,7 +126,7 @@
 Format characters for the \method{flags()} method have the following
 meanings:
 
-\begin{tableii}{|c|l|}{samp}{Format}{Meaning}
+\begin{tableii}{c|l}{samp}{Format}{Meaning}
   \lineii{a}{append only flag}
   \lineii{c}{close on exec flag}
   \lineii{n}{no delay flag (also called non-blocking flag)}
@@ -135,7 +135,7 @@
 
 In addition the following modifiers can be added to the format:
 
-\begin{tableiii}{|c|l|c|}{samp}{Modifier}{Meaning}{Notes}
+\begin{tableiii}{c|l|c}{samp}{Modifier}{Meaning}{Notes}
   \lineiii{!}{turn the specified flags 'off', instead of the default 'on'}{(1)}
   \lineiii{=}{replace the flags, instead of the default 'OR' operation}{(1)}
   \lineiii{?}{return a string in which the characters represent the flags that
diff --git a/Doc/lib/libprofile.tex b/Doc/lib/libprofile.tex
index 758944d..61da988 100644
--- a/Doc/lib/libprofile.tex
+++ b/Doc/lib/libprofile.tex
@@ -401,7 +401,7 @@
 abbreviation is unambiguous.  The following are the keys currently
 defined: 
 
-\begin{tableii}{|l|l|}{code}{Valid Arg}{Meaning}
+\begin{tableii}{l|l}{code}{Valid Arg}{Meaning}
   \lineii{'calls'}{call count}
   \lineii{'cumulative'}{cumulative time}
   \lineii{'file'}{file name}
diff --git a/Doc/lib/libresource.tex b/Doc/lib/libresource.tex
index b07240a..bb0bff2 100644
--- a/Doc/lib/libresource.tex
+++ b/Doc/lib/libresource.tex
@@ -146,7 +146,7 @@
   man page for detailed information about these values. A brief
   summary is presented here:
 
-\begin{tableii}{|r|l|}{code}{Offset}{Resource}
+\begin{tableii}{r|l}{code}{Offset}{Resource}
   \lineii{0}{time in user mode (float)}
   \lineii{1}{time in system mode (float)}
   \lineii{2}{maximum resident set size}
diff --git a/Doc/lib/libstruct.tex b/Doc/lib/libstruct.tex
index 5703c05..5925328 100644
--- a/Doc/lib/libstruct.tex
+++ b/Doc/lib/libstruct.tex
@@ -39,7 +39,7 @@
 Format characters have the following meaning; the conversion between C
 and Python values should be obvious given their types:
 
-\begin{tableiii}{|c|l|l|}{samp}{Format}{C}{Python}
+\begin{tableiii}{c|l|l}{samp}{Format}{C Type}{Python}
   \lineiii{x}{pad byte}{no value}
   \lineiii{c}{char}{string of length 1}
   \lineiii{b}{signed char}{integer}
@@ -81,7 +81,7 @@
 indicate the byte order, size and alignment of the packed data,
 according to the following table:
 
-\begin{tableiii}{|c|l|l|}{samp}{Character}{Byte order}{Size and alignment}
+\begin{tableiii}{c|l|l}{samp}{Character}{Byte order}{Size and alignment}
   \lineiii{@}{native}{native}
   \lineiii{=}{native}{standard}
   \lineiii{<}{little-endian}{standard}
diff --git a/Doc/lib/libtime.tex b/Doc/lib/libtime.tex
index a8c134e..ed4f4ef 100644
--- a/Doc/lib/libtime.tex
+++ b/Doc/lib/libtime.tex
@@ -129,7 +129,7 @@
 The following directives, shown without the optional field width and
 precision specification, are replaced by the indicated characters:
 
-\begin{tableii}{|c|p{24em}|}{code}{Directive}{Meaning}
+\begin{tableii}{c|p{24em}}{code}{Directive}{Meaning}
   \lineii{\%a}{Locale's abbreviated weekday name.}
   \lineii{\%A}{Locale's full weekday name.}
   \lineii{\%b}{Locale's abbreviated month name.}
diff --git a/Doc/lib/libtypes.tex b/Doc/lib/libtypes.tex
index 117cce6..2dfe742 100644
--- a/Doc/lib/libtypes.tex
+++ b/Doc/lib/libtypes.tex
@@ -62,9 +62,8 @@
 These are the Boolean operations, ordered by ascending priority:
 \indexii{Boolean}{operations}
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{x} or \var{y}}{if \var{x} is false, then \var{y}, else \var{x}}{(1)}
-  \hline
   \lineiii{\var{x} and \var{y}}{if \var{x} is false, then \var{x}, else \var{y}}{(1)}
   \hline
   \lineiii{not \var{x}}{if \var{x} is false, then \code{1}, else \code{0}}{(2)}
@@ -102,7 +101,7 @@
 
 This table summarizes the comparison operations:
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Meaning}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Meaning}{Notes}
   \lineiii{<}{strictly less than}{}
   \lineiii{<=}{less than or equal}{}
   \lineiii{>}{strictly greater than}{}
@@ -212,7 +211,7 @@
 priority; all numeric operations have a higher priority than
 comparison operations):
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{x} + \var{y}}{sum of \var{x} and \var{y}}{}
   \lineiii{\var{x} - \var{y}}{difference of \var{x} and \var{y}}{}
   \hline
@@ -277,17 +276,13 @@
 This table lists the bit-string operations sorted in ascending
 priority (operations in the same box have the same priority):
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{x} | \var{y}}{bitwise \dfn{or} of \var{x} and \var{y}}{}
-  \hline
   \lineiii{\var{x} \^{} \var{y}}{bitwise \dfn{exclusive or} of \var{x} and \var{y}}{}
-  \hline
   \lineiii{\var{x} \&{} \var{y}}{bitwise \dfn{and} of \var{x} and \var{y}}{}
-  \hline
   \lineiii{\var{x} << \var{n}}{\var{x} shifted left by \var{n} bits}{(1), (2)}
   \lineiii{\var{x} >> \var{n}}{\var{x} shifted right by \var{n} bits}{(1), (3)}
   \hline
-  \hline
   \lineiii{\~\var{x}}{the bits of \var{x} inverted}{}
 \end{tableiii}
 \indexiii{operations on}{integer}{types}
@@ -337,13 +332,12 @@
 \var{s} and \var{t} are sequences of the same type; \var{n}, \var{i}
 and \var{j} are integers:
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{x} in \var{s}}{\code{1} if an item of \var{s} is equal to \var{x}, else \code{0}}{}
   \lineiii{\var{x} not in \var{s}}{\code{0} if an item of \var{s} is
 equal to \var{x}, else \code{1}}{}
   \hline
   \lineiii{\var{s} + \var{t}}{the concatenation of \var{s} and \var{t}}{}
-  \hline
   \lineiii{\var{s} * \var{n}{\rm ,} \var{n} * \var{s}}{\var{n} copies of \var{s} concatenated}{(3)}
   \hline
   \lineiii{\var{s}[\var{i}]}{\var{i}'th item of \var{s}, origin 0}{(1)}
@@ -456,7 +450,7 @@
 \indexiii{mutable}{sequence}{types}
 \indexii{list}{type}
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{s}[\var{i}] = \var{x}}
 	{item \var{i} of \var{s} is replaced by \var{x}}{}
   \lineiii{\var{s}[\var{i}:\var{j}] = \var{t}}
@@ -542,7 +536,7 @@
 The following operations are defined on mappings (where \var{a} is a
 mapping, \var{k} is a key and \var{x} is an arbitrary object):
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{len(\var{a})}{the number of items in \var{a}}{}
   \lineiii{\var{a}[\var{k}]}{the item of \var{a} with key \var{k}}{(1)}
   \lineiii{\var{a}[\var{k}] = \var{x}}{set \code{\var{a}[\var{k}]} to \var{x}}{}
diff --git a/Doc/libarray.tex b/Doc/libarray.tex
index 19ba91d..180be34 100644
--- a/Doc/libarray.tex
+++ b/Doc/libarray.tex
@@ -10,7 +10,7 @@
 type is specified at object creation time by using a \dfn{type code},
 which is a single character.  The following type codes are defined:
 
-\begin{tableiii}{|c|c|c|}{character}{Type code}{Type}{Minimum size in bytes}
+\begin{tableiii}{c|l|c}{code}{Type code}{C Type}{Minimum size in bytes}
 \lineiii{'c'}{character}{1}
 \lineiii{'b'}{signed integer}{1}
 \lineiii{'B'}{unsigned integer}{1}
diff --git a/Doc/libcd.tex b/Doc/libcd.tex
index e027466..44111a3 100644
--- a/Doc/libcd.tex
+++ b/Doc/libcd.tex
@@ -253,7 +253,7 @@
 for this \var{type} of callback.  The type of the data depends on the
 \var{type} of callback as follows:
 
-\begin{tableii}{|l|p{4in}|}{code}{Type}{Value}
+\begin{tableii}{l|p{4in}}{code}{Type}{Value}
   \lineii{audio}{String which can be passed unmodified to
 \function{al.writesamps()}.}
   \lineii{pnum}{Integer giving the program (track) number.}
diff --git a/Doc/libfl.tex b/Doc/libfl.tex
index a0e0076..7ebec7d 100644
--- a/Doc/libfl.tex
+++ b/Doc/libfl.tex
@@ -377,7 +377,7 @@
 Form objects have the following data attributes; see the FORMS
 documentation:
 
-\begin{tableiii}{|l|c|l|}{member}{Name}{Type}{Meaning}
+\begin{tableiii}{l|l|l}{member}{Name}{C Type}{Meaning}
   \lineiii{window}{int (read-only)}{GL window id}
   \lineiii{w}{float}{form width}
   \lineiii{h}{float}{form height}
@@ -436,7 +436,7 @@
 
 FORMS objects have these data attributes; see the FORMS documentation:
 
-\begin{tableiii}{|l|c|l|}{member}{Name}{Type}{Meaning}
+\begin{tableiii}{l|l|l}{member}{Name}{C Type}{Meaning}
   \lineiii{objclass}{int (read-only)}{object class}
   \lineiii{type}{int (read-only)}{object type}
   \lineiii{boxtype}{int}{box type}
diff --git a/Doc/libimghdr.tex b/Doc/libimghdr.tex
index d624f06..2f21a25 100644
--- a/Doc/libimghdr.tex
+++ b/Doc/libimghdr.tex
@@ -18,7 +18,7 @@
 The following image types are recognized, as listed below with the
 return value from \function{what()}:
 
-\begin{tableii}{|l|l|}{code}{Value}{Image format}
+\begin{tableii}{l|l}{code}{Value}{Image format}
   \lineii{'rgb'}{SGI ImgLib Files}
   \lineii{'gif'}{GIF 87a and 89a Files}
   \lineii{'pbm'}{Portable Bitmap Files}
diff --git a/Doc/libjpeg.tex b/Doc/libjpeg.tex
index 5b765fa..76e70af 100644
--- a/Doc/libjpeg.tex
+++ b/Doc/libjpeg.tex
@@ -40,7 +40,7 @@
 \function{decompress()} calls will use these options.  The following
 options are available:
 
-\begin{tableii}{|l|p{3in}|}{code}{Option}{Effect}
+\begin{tableii}{l|p{3in}}{code}{Option}{Effect}
   \lineii{'forcegray'}{%
     Force output to be grayscale, even if input is RGB.}
   \lineii{'quality'}{%
diff --git a/Doc/liblocale.tex b/Doc/liblocale.tex
index 1752790..07361b8 100644
--- a/Doc/liblocale.tex
+++ b/Doc/liblocale.tex
@@ -84,7 +84,7 @@
 The possible values for \code{p_sign_posn} and \code{n_sign_posn}
 are given below.
 
-\begin{tableii}{|c|l|}{code}{Value}{Explanation}
+\begin{tableii}{c|l}{code}{Value}{Explanation}
 \lineii{0}{Currency and value are surrounded by parentheses.}
 \lineii{1}{The sign should precede the value and currency symbol.}
 \lineii{2}{The sign should follow the value and currency symbol.}
diff --git a/Doc/libposixfile.tex b/Doc/libposixfile.tex
index 570a79b..a1f853d 100644
--- a/Doc/libposixfile.tex
+++ b/Doc/libposixfile.tex
@@ -102,7 +102,7 @@
 Format characters for the \method{lock()} method have the following
 meaning:
 
-\begin{tableii}{|c|l|}{samp}{Format}{Meaning}
+\begin{tableii}{c|l}{samp}{Format}{Meaning}
   \lineii{u}{unlock the specified region}
   \lineii{r}{request a read lock for the specified section}
   \lineii{w}{request a write lock for the specified section}
@@ -110,7 +110,7 @@
 
 In addition the following modifiers can be added to the format:
 
-\begin{tableiii}{|c|l|c|}{samp}{Modifier}{Meaning}{Notes}
+\begin{tableiii}{c|l|c}{samp}{Modifier}{Meaning}{Notes}
   \lineiii{|}{wait until the lock has been granted}{}
   \lineiii{?}{return the first lock conflicting with the requested lock, or
               \code{None} if there is no conflict.}{(1)} 
@@ -126,7 +126,7 @@
 Format characters for the \method{flags()} method have the following
 meanings:
 
-\begin{tableii}{|c|l|}{samp}{Format}{Meaning}
+\begin{tableii}{c|l}{samp}{Format}{Meaning}
   \lineii{a}{append only flag}
   \lineii{c}{close on exec flag}
   \lineii{n}{no delay flag (also called non-blocking flag)}
@@ -135,7 +135,7 @@
 
 In addition the following modifiers can be added to the format:
 
-\begin{tableiii}{|c|l|c|}{samp}{Modifier}{Meaning}{Notes}
+\begin{tableiii}{c|l|c}{samp}{Modifier}{Meaning}{Notes}
   \lineiii{!}{turn the specified flags 'off', instead of the default 'on'}{(1)}
   \lineiii{=}{replace the flags, instead of the default 'OR' operation}{(1)}
   \lineiii{?}{return a string in which the characters represent the flags that
diff --git a/Doc/libprofile.tex b/Doc/libprofile.tex
index 758944d..61da988 100644
--- a/Doc/libprofile.tex
+++ b/Doc/libprofile.tex
@@ -401,7 +401,7 @@
 abbreviation is unambiguous.  The following are the keys currently
 defined: 
 
-\begin{tableii}{|l|l|}{code}{Valid Arg}{Meaning}
+\begin{tableii}{l|l}{code}{Valid Arg}{Meaning}
   \lineii{'calls'}{call count}
   \lineii{'cumulative'}{cumulative time}
   \lineii{'file'}{file name}
diff --git a/Doc/libresource.tex b/Doc/libresource.tex
index b07240a..bb0bff2 100644
--- a/Doc/libresource.tex
+++ b/Doc/libresource.tex
@@ -146,7 +146,7 @@
   man page for detailed information about these values. A brief
   summary is presented here:
 
-\begin{tableii}{|r|l|}{code}{Offset}{Resource}
+\begin{tableii}{r|l}{code}{Offset}{Resource}
   \lineii{0}{time in user mode (float)}
   \lineii{1}{time in system mode (float)}
   \lineii{2}{maximum resident set size}
diff --git a/Doc/libstruct.tex b/Doc/libstruct.tex
index 5703c05..5925328 100644
--- a/Doc/libstruct.tex
+++ b/Doc/libstruct.tex
@@ -39,7 +39,7 @@
 Format characters have the following meaning; the conversion between C
 and Python values should be obvious given their types:
 
-\begin{tableiii}{|c|l|l|}{samp}{Format}{C}{Python}
+\begin{tableiii}{c|l|l}{samp}{Format}{C Type}{Python}
   \lineiii{x}{pad byte}{no value}
   \lineiii{c}{char}{string of length 1}
   \lineiii{b}{signed char}{integer}
@@ -81,7 +81,7 @@
 indicate the byte order, size and alignment of the packed data,
 according to the following table:
 
-\begin{tableiii}{|c|l|l|}{samp}{Character}{Byte order}{Size and alignment}
+\begin{tableiii}{c|l|l}{samp}{Character}{Byte order}{Size and alignment}
   \lineiii{@}{native}{native}
   \lineiii{=}{native}{standard}
   \lineiii{<}{little-endian}{standard}
diff --git a/Doc/libtime.tex b/Doc/libtime.tex
index a8c134e..ed4f4ef 100644
--- a/Doc/libtime.tex
+++ b/Doc/libtime.tex
@@ -129,7 +129,7 @@
 The following directives, shown without the optional field width and
 precision specification, are replaced by the indicated characters:
 
-\begin{tableii}{|c|p{24em}|}{code}{Directive}{Meaning}
+\begin{tableii}{c|p{24em}}{code}{Directive}{Meaning}
   \lineii{\%a}{Locale's abbreviated weekday name.}
   \lineii{\%A}{Locale's full weekday name.}
   \lineii{\%b}{Locale's abbreviated month name.}
diff --git a/Doc/libtypes.tex b/Doc/libtypes.tex
index 117cce6..2dfe742 100644
--- a/Doc/libtypes.tex
+++ b/Doc/libtypes.tex
@@ -62,9 +62,8 @@
 These are the Boolean operations, ordered by ascending priority:
 \indexii{Boolean}{operations}
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{x} or \var{y}}{if \var{x} is false, then \var{y}, else \var{x}}{(1)}
-  \hline
   \lineiii{\var{x} and \var{y}}{if \var{x} is false, then \var{x}, else \var{y}}{(1)}
   \hline
   \lineiii{not \var{x}}{if \var{x} is false, then \code{1}, else \code{0}}{(2)}
@@ -102,7 +101,7 @@
 
 This table summarizes the comparison operations:
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Meaning}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Meaning}{Notes}
   \lineiii{<}{strictly less than}{}
   \lineiii{<=}{less than or equal}{}
   \lineiii{>}{strictly greater than}{}
@@ -212,7 +211,7 @@
 priority; all numeric operations have a higher priority than
 comparison operations):
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{x} + \var{y}}{sum of \var{x} and \var{y}}{}
   \lineiii{\var{x} - \var{y}}{difference of \var{x} and \var{y}}{}
   \hline
@@ -277,17 +276,13 @@
 This table lists the bit-string operations sorted in ascending
 priority (operations in the same box have the same priority):
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{x} | \var{y}}{bitwise \dfn{or} of \var{x} and \var{y}}{}
-  \hline
   \lineiii{\var{x} \^{} \var{y}}{bitwise \dfn{exclusive or} of \var{x} and \var{y}}{}
-  \hline
   \lineiii{\var{x} \&{} \var{y}}{bitwise \dfn{and} of \var{x} and \var{y}}{}
-  \hline
   \lineiii{\var{x} << \var{n}}{\var{x} shifted left by \var{n} bits}{(1), (2)}
   \lineiii{\var{x} >> \var{n}}{\var{x} shifted right by \var{n} bits}{(1), (3)}
   \hline
-  \hline
   \lineiii{\~\var{x}}{the bits of \var{x} inverted}{}
 \end{tableiii}
 \indexiii{operations on}{integer}{types}
@@ -337,13 +332,12 @@
 \var{s} and \var{t} are sequences of the same type; \var{n}, \var{i}
 and \var{j} are integers:
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{x} in \var{s}}{\code{1} if an item of \var{s} is equal to \var{x}, else \code{0}}{}
   \lineiii{\var{x} not in \var{s}}{\code{0} if an item of \var{s} is
 equal to \var{x}, else \code{1}}{}
   \hline
   \lineiii{\var{s} + \var{t}}{the concatenation of \var{s} and \var{t}}{}
-  \hline
   \lineiii{\var{s} * \var{n}{\rm ,} \var{n} * \var{s}}{\var{n} copies of \var{s} concatenated}{(3)}
   \hline
   \lineiii{\var{s}[\var{i}]}{\var{i}'th item of \var{s}, origin 0}{(1)}
@@ -456,7 +450,7 @@
 \indexiii{mutable}{sequence}{types}
 \indexii{list}{type}
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{\var{s}[\var{i}] = \var{x}}
 	{item \var{i} of \var{s} is replaced by \var{x}}{}
   \lineiii{\var{s}[\var{i}:\var{j}] = \var{t}}
@@ -542,7 +536,7 @@
 The following operations are defined on mappings (where \var{a} is a
 mapping, \var{k} is a key and \var{x} is an arbitrary object):
 
-\begin{tableiii}{|c|l|c|}{code}{Operation}{Result}{Notes}
+\begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
   \lineiii{len(\var{a})}{the number of items in \var{a}}{}
   \lineiii{\var{a}[\var{k}]}{the item of \var{a} with key \var{k}}{(1)}
   \lineiii{\var{a}[\var{k}] = \var{x}}{set \code{\var{a}[\var{k}]} to \var{x}}{}
diff --git a/Doc/perl/python.perl b/Doc/perl/python.perl
index 300ac18..d37aab1 100644
--- a/Doc/perl/python.perl
+++ b/Doc/perl/python.perl
@@ -720,7 +720,7 @@
 
 sub setup_column_alignments{
     local($_) = @_;
-    my($j1,$a1,$a2,$a3,$j4) = split(/[|]/,$_);
+    my($a1,$a2,$a3) = split(/[|]/,$_);
     my($th1,$th2,$th3) = ('<th>', '<th>', '<th>');
     $col_aligns[0] = (($a1 eq "c") ? "<td align=center>" : "<td>");
     $col_aligns[1] = (($a2 eq "c") ? "<td align=center>" : "<td>");
diff --git a/Doc/texinputs/python.sty b/Doc/texinputs/python.sty
index c58a55b..fc121b8 100644
--- a/Doc/texinputs/python.sty
+++ b/Doc/texinputs/python.sty
@@ -600,9 +600,8 @@
 \newenvironment{tableii}[4]{%
   \begin{center}%
     \def\lineii##1##2{\csname#2\endcsname{##1}&##2\\}%
-    \begin{tabular}{#1}\hline \strong{#3}&\strong{#4} \\ \hline%
+    \begin{tabular}{#1}\strong{#3}&\strong{#4} \\ \hline%
 }{%
-      \hline%
     \end{tabular}%
   \end{center}%
 }
@@ -610,9 +609,8 @@
 \newenvironment{tableiii}[5]{%
   \begin{center}%
     \def\lineiii##1##2##3{\csname#2\endcsname{##1}&##2&##3\\}%
-    \begin{tabular}{#1}\hline \strong{#3}&\strong{#4}&\strong{#5} \\ \hline%
+    \begin{tabular}{#1}\strong{#3}&\strong{#4}&\strong{#5} \\ \hline%
 }{%
-      \hline%
     \end{tabular}%
   \end{center}%
 }
