Fix double word typos.
diff --git a/Doc/lib/libcookie.tex b/Doc/lib/libcookie.tex
index 43d5ada..f872ed2 100644
--- a/Doc/lib/libcookie.tex
+++ b/Doc/lib/libcookie.tex
@@ -12,7 +12,7 @@
 string-only cookies, and provides an abstraction for having any serializable
 data-type as cookie value.
 
-The module formerly strictly applied the parsing rules described in in
+The module formerly strictly applied the parsing rules described in
 the \rfc{2109} and \rfc{2068} specifications.  It has since been discovered
 that MSIE 3.0x doesn't follow the character rules outlined in those
 specs.  As a result, the parsing rules used are a bit less strict.
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index 4464de5..185723a 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -422,7 +422,7 @@
   file's desired buffer size: 0 means unbuffered, 1 means line
   buffered, any other positive value means use a buffer of
   (approximately) that size.  A negative \var{bufsize} means to use
-  the system default, which is usually line buffered for for tty
+  the system default, which is usually line buffered for tty
   devices and fully buffered for other files.  If omitted, the system
   default is used.\footnote{
     Specifying a buffer size currently has no effect on systems that
diff --git a/Doc/lib/liblocale.tex b/Doc/lib/liblocale.tex
index 85d0339..df1f6fd 100644
--- a/Doc/lib/liblocale.tex
+++ b/Doc/lib/liblocale.tex
@@ -58,7 +58,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{localeconv}{}
-  Returns the database of of the local conventions as a dictionary.
+  Returns the database of the local conventions as a dictionary.
   This dictionary has the following strings as keys:
 
   \begin{tableiii}{l|l|p{3in}}{constant}{Key}{Category}{Meaning}
diff --git a/Doc/lib/libmailbox.tex b/Doc/lib/libmailbox.tex
index 94e0784..947c2d3 100644
--- a/Doc/lib/libmailbox.tex
+++ b/Doc/lib/libmailbox.tex
@@ -72,7 +72,7 @@
 Access a Babyl mailbox, which is similar to an MMDF mailbox.  In
 Babyl format, each message has two sets of headers, the
 \emph{original} headers and the \emph{visible} headers.  The original
-headers appear before a a line containing only \code{'*** EOOH ***'}
+headers appear before a line containing only \code{'*** EOOH ***'}
 (End-Of-Original-Headers) and the visible headers appear after the
 \code{EOOH} line.  Babyl-compliant mail readers will show you only the
 visible headers, and \class{BabylMailbox} objects will return messages
diff --git a/Doc/lib/libmultifile.tex b/Doc/lib/libmultifile.tex
index 0594ae7..bdd573e 100644
--- a/Doc/lib/libmultifile.tex
+++ b/Doc/lib/libmultifile.tex
@@ -17,7 +17,7 @@
 \begin{classdesc}{MultiFile}{fp\optional{, seekable}}
 Create a multi-file.  You must instantiate this class with an input
 object argument for the \class{MultiFile} instance to get lines from,
-such as as a file object returned by \function{open()}.
+such as a file object returned by \function{open()}.
 
 \class{MultiFile} only ever looks at the input object's
 \method{readline()}, \method{seek()} and \method{tell()} methods, and
diff --git a/Doc/lib/libpdb.tex b/Doc/lib/libpdb.tex
index ee08fa2..ee9ab91 100644
--- a/Doc/lib/libpdb.tex
+++ b/Doc/lib/libpdb.tex
@@ -77,7 +77,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{runeval}{expression\optional{, globals\optional{, locals}}}
-Evaluate the \var{expression} (given as a a string) under debugger
+Evaluate the \var{expression} (given as a string) under debugger
 control.  When \function{runeval()} returns, it returns the value of the
 expression.  Otherwise this function is similar to
 \function{run()}.
diff --git a/Doc/lib/libprofile.tex b/Doc/lib/libprofile.tex
index 9c5ce08..f36ebfa 100644
--- a/Doc/lib/libprofile.tex
+++ b/Doc/lib/libprofile.tex
@@ -533,7 +533,7 @@
 There is a fundamental problem with deterministic profilers involving
 accuracy.  The most obvious restriction is that the underlying ``clock''
 is only ticking at a rate (typically) of about .001 seconds.  Hence no
-measurements will be more accurate that that underlying clock.  If
+measurements will be more accurate than the underlying clock.  If
 enough measurements are taken, then the ``error'' will tend to average
 out. Unfortunately, removing this first error induces a second source
 of error...
diff --git a/Doc/lib/librfc822.tex b/Doc/lib/librfc822.tex
index e32493c..e7bbc28 100644
--- a/Doc/lib/librfc822.tex
+++ b/Doc/lib/librfc822.tex
@@ -46,7 +46,7 @@
 data before discovering that the \cfunction{lseek()} system call
 doesn't work.  For maximum portability, you should set the seekable
 argument to zero to prevent that initial \method{tell()} when passing
-in an unseekable object such as a a file object created from a socket
+in an unseekable object such as a file object created from a socket
 object.
 
 Input lines as read from the file may either be terminated by CR-LF or
diff --git a/Doc/lib/libuserdict.tex b/Doc/lib/libuserdict.tex
index ef5c1bf..144c0b4 100644
--- a/Doc/lib/libuserdict.tex
+++ b/Doc/lib/libuserdict.tex
@@ -29,7 +29,7 @@
 \member{data} attribute of \class{UserDict} instances.  If
 \var{initialdata} is provided, \member{data} is initialized with its
 contents; note that a reference to \var{initialdata} will not be kept, 
-allowing it be used used for other purposes.
+allowing it be used for other purposes.
 \end{classdesc}
 
 In addition to supporting the methods and operations of mappings (see
diff --git a/Doc/lib/libzipfile.tex b/Doc/lib/libzipfile.tex
index 69e7878..30c7aaf 100644
--- a/Doc/lib/libzipfile.tex
+++ b/Doc/lib/libzipfile.tex
@@ -210,7 +210,7 @@
 \end{memberdesc}
 
 \begin{memberdesc}[ZipInfo]{date_time}
-  The time and date of the last modification to to the archive
+  The time and date of the last modification to the archive
   member.  This is a tuple of six values:
 
 \begin{tableii}{c|l}{code}{Index}{Value}