diff --git a/Doc/libmimify.tex b/Doc/libmimify.tex
new file mode 100644
index 0000000..4ce33df
--- /dev/null
+++ b/Doc/libmimify.tex
@@ -0,0 +1,75 @@
+\section{Standard Module \sectcode{mimify}}
+\stmodindex{mimify}
+\renewcommand{\indexsubitem}{(in module mimify)}
+
+The mimify module defines two functions to convert mail messages to
+and from MIME format.  The mail message can be either a simple message
+or a so-called multipart message.  Each part is treated separately.
+Mimifying (a part of) a message entails encoding the message as
+quoted-printable if it contains any characters that cannot be
+represented using 7-bit ASCII.  Unmimifying (a part of) a message
+entails undoing the quoted-printable encoding.  Mimify and unmimify
+are especially useful when a message has to be edited before being
+sent.  Typical use would be:
+
+\begin{verbatim}
+unmimify message
+edit message
+mimify message
+send message
+\end{verbatim}
+
+The modules defines the following user-callable functions and
+user-settable variables:
+
+\begin{funcdesc}{mimify}{infile, outfile}
+Copy the message in \var{infile} to \var{outfile}, converting parts to
+quoted-printable and adding MIME mail headers when necessary.
+\var{infile} and \var{outfile} can be file objects (actually, any
+object that has a \code{readline} method (for \var{infile}) or a
+\code{write} method (for \var{outfile})) or strings naming the files.
+If \var{infile} and \var{outfile} are both strings, they may have the
+same value.
+\end{funcdesc}
+
+\begin{funcdesc}{unmimify}{infile, outfile, decode_base64 = 0} 
+Copy the message in \var{infile} to \var{outfile}, decoding all
+quoted-printable parts.  \var{infile} and \var{outfile} can be file
+objects (actually, any object that has a \code{readline} method (for
+\var{infile}) or a \code{write} method (for \var{outfile})) or strings
+naming the files.  If \var{infile} and \var{outfile} are both strings,
+they may have the same value.
+If the \var{decode_base64} argument is provided and tests true, any
+parts that are coded in the base64 encoding are decoded as well.
+\end{funcdesc}
+
+\begin{datadesc}{MAXLEN}
+By default, a part will be encoded as quoted-printable when it
+contains any non-ASCII characters (i.e., characters with the 8th bit
+set), or if there are any lines longer than \code{MAXLEN} characters
+(default value 200).  
+\end{datadesc}
+
+\begin{datadesc}{CHARSET}
+When not specified in the mail headers, a character set must be filled
+in.  The string used is stored in \code{CHARSET}, and the default
+value is ISO-8859-1 (also known as Latin1 (latin-one)).
+\end{datadesc}
+
+This module can also be used from the command line.  Usage is as
+follows:
+\begin{verbatim}
+mimify.py -e [-l length] [infile [outfile]]
+mimify.py -d [-b] [infile [outfile]]
+\end{verbatim}
+to encode (mimify) and decode (unmimify) respectively.  \var{infile}
+defaults to standard input, \var{outfile} defaults to standard output.
+The same file can be specified for input and output.
+
+If the \code{-l} option is given when encoding, if there are any lines
+longer than the specified \var{length}, the containing part will be
+encoded.
+
+If the \code{-b} option is given when decoding, any base64 parts will
+be decoded as well.
+
