diff --git a/Doc/lib/libcalendar.tex b/Doc/lib/libcalendar.tex
new file mode 100644
index 0000000..1f3931e
--- /dev/null
+++ b/Doc/lib/libcalendar.tex
@@ -0,0 +1,45 @@
+% This section was contributed by Drew Csillag <drew_csillag@geocities.com>.
+
+\section{Standard Module \module{calendar}}
+\label{module-calendar}
+\stmodindex{calendar}
+
+
+This module allows you to output calendars like the \UNIX{}
+\manpage{cal}{1} program.
+
+\begin{funcdesc}{isleap}{year}
+Returns \code{1} if \var{year} is a leap year.
+\end{funcdesc}
+
+\begin{funcdesc}{leapdays}{year1, year2}
+Return the number of leap years in the range
+[\var{year1}\ldots\var{year2}].
+\end{funcdesc}
+
+\begin{funcdesc}{weekday}{year, month, day}
+Returns the day of the week (\code{0} is Monday) for \var{year}
+(\code{1970}--\dots), \var{month} (\code{1}--\code{12}), \var{day}
+(\code{1}--\code{31}).
+\end{funcdesc}
+
+\begin{funcdesc}{monthrange}{year, month}
+Returns weekday of first day of the month and number of days in month, 
+for the specified \var{year} and \var{month}.
+\end{funcdesc}
+
+\begin{funcdesc}{monthcalendar}{year, month}
+Returns a matrix representing a month's calendar.  Each row represents
+a week; days outside of the month a represented by zeros.
+\end{funcdesc}
+
+\begin{funcdesc}{prmonth}{year, month\optional{, width\optional{, length}}}
+Prints a month's calendar.  If \var{width} is provided, it specifies
+the width of the columns that the numbers are centered in.  If
+\var{length} is given, it specifies the number of lines that each
+week will use.
+\end{funcdesc}
+
+\begin{funcdesc}{prcal}{year}
+Prints the calendar for the year \var{year}.
+\end{funcdesc}
diff --git a/Doc/libcalendar.tex b/Doc/libcalendar.tex
new file mode 100644
index 0000000..1f3931e
--- /dev/null
+++ b/Doc/libcalendar.tex
@@ -0,0 +1,45 @@
+% This section was contributed by Drew Csillag <drew_csillag@geocities.com>.
+
+\section{Standard Module \module{calendar}}
+\label{module-calendar}
+\stmodindex{calendar}
+
+
+This module allows you to output calendars like the \UNIX{}
+\manpage{cal}{1} program.
+
+\begin{funcdesc}{isleap}{year}
+Returns \code{1} if \var{year} is a leap year.
+\end{funcdesc}
+
+\begin{funcdesc}{leapdays}{year1, year2}
+Return the number of leap years in the range
+[\var{year1}\ldots\var{year2}].
+\end{funcdesc}
+
+\begin{funcdesc}{weekday}{year, month, day}
+Returns the day of the week (\code{0} is Monday) for \var{year}
+(\code{1970}--\dots), \var{month} (\code{1}--\code{12}), \var{day}
+(\code{1}--\code{31}).
+\end{funcdesc}
+
+\begin{funcdesc}{monthrange}{year, month}
+Returns weekday of first day of the month and number of days in month, 
+for the specified \var{year} and \var{month}.
+\end{funcdesc}
+
+\begin{funcdesc}{monthcalendar}{year, month}
+Returns a matrix representing a month's calendar.  Each row represents
+a week; days outside of the month a represented by zeros.
+\end{funcdesc}
+
+\begin{funcdesc}{prmonth}{year, month\optional{, width\optional{, length}}}
+Prints a month's calendar.  If \var{width} is provided, it specifies
+the width of the columns that the numbers are centered in.  If
+\var{length} is given, it specifies the number of lines that each
+week will use.
+\end{funcdesc}
+
+\begin{funcdesc}{prcal}{year}
+Prints the calendar for the year \var{year}.
+\end{funcdesc}
