summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-01-25 17:07:24 +0000
committerKarl Berry <karl@freefriends.org>2008-01-25 17:07:24 +0000
commit5b93a841b7ce9c59c94645c0946b89a8a3e6bb02 (patch)
tree5d1b3a93816ec9aa0f7f88b6a78b7a11ebeb629d /Master/texmf-dist
parent20e95e084ad0beaaac8dec5edc2d9ca3e07b6f71 (diff)
rm calendar
git-svn-id: svn://tug.org/texlive/trunk@6406 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/calendar/autofilo.dvibin4888 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/calendar.dvibin7704 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/calguide.dvibin62692 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/calguide.tex1037
-rw-r--r--Master/texmf-dist/doc/latex/calendar/dates.dvibin10448 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demodate.tex136
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demoevnt.dvibin640 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demoevnt.tex21
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demohlst.tex21
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demohml.dvibin216 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demohml.tex21
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demohmth.tex21
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demomont.dvibin3144 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demomont.tex27
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demoover.tex73
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demotsht.dvibin24024 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demotsht.tex23
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demottbl.dvibin3820 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demottbl.tex23
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demowkly.dvibin2836 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demowkly.tex20
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demoyrly.dvibin5012 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/demoyrly.tex22
-rw-r--r--Master/texmf-dist/doc/latex/calendar/dotemacs.tex60
-rw-r--r--Master/texmf-dist/doc/latex/calendar/dvipshpplotq.tex23
-rw-r--r--Master/texmf-dist/doc/latex/calendar/evntlist.dvibin1016 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/htmlstuf.dvibin1016 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/mkaddr.dvibin4480 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/monthly.dvibin848 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/overword.dvibin3312 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/timesht.dvibin904 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/timetabl.dvibin836 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/weekly.dvibin940 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/calendar/yearly.dvibin1028 -> 0 bytes
-rw-r--r--Master/texmf-dist/source/latex/calendar/CATALOG17
-rw-r--r--Master/texmf-dist/source/latex/calendar/MANIFEST31
-rw-r--r--Master/texmf-dist/source/latex/calendar/README128
-rw-r--r--Master/texmf-dist/source/latex/calendar/allcal.ins193
-rw-r--r--Master/texmf-dist/source/latex/calendar/autofilo.dtx642
-rw-r--r--Master/texmf-dist/source/latex/calendar/bigdemo.tgzbin7797 -> 0 bytes
-rw-r--r--Master/texmf-dist/source/latex/calendar/caldemos.dtx212
-rw-r--r--Master/texmf-dist/source/latex/calendar/calendar.dtx1975
-rw-r--r--Master/texmf-dist/source/latex/calendar/dates.dtx2630
-rw-r--r--Master/texmf-dist/source/latex/calendar/demo1997.cld13
-rw-r--r--Master/texmf-dist/source/latex/calendar/demoapt.cld14
-rw-r--r--Master/texmf-dist/source/latex/calendar/demoaptr.cld17
-rw-r--r--Master/texmf-dist/source/latex/calendar/demoevt.cld13
-rw-r--r--Master/texmf-dist/source/latex/calendar/demoevtr.cld17
-rw-r--r--Master/texmf-dist/source/latex/calendar/demohlst.htm14
-rw-r--r--Master/texmf-dist/source/latex/calendar/demohml.htm59
-rw-r--r--Master/texmf-dist/source/latex/calendar/demohmth.htm13
-rw-r--r--Master/texmf-dist/source/latex/calendar/demolist.cld14
-rw-r--r--Master/texmf-dist/source/latex/calendar/evntlist.dtx284
-rw-r--r--Master/texmf-dist/source/latex/calendar/htmlstuf.dtx385
-rw-r--r--Master/texmf-dist/source/latex/calendar/mkaddr.Frank20
-rw-r--r--Master/texmf-dist/source/latex/calendar/mkaddr.dtx579
-rw-r--r--Master/texmf-dist/source/latex/calendar/mkaddr.tcl201
-rw-r--r--Master/texmf-dist/source/latex/calendar/monthly.dtx565
-rw-r--r--Master/texmf-dist/source/latex/calendar/overword.dtx344
-rw-r--r--Master/texmf-dist/source/latex/calendar/plotutil.dtx78
-rw-r--r--Master/texmf-dist/source/latex/calendar/timesht.dtx688
-rw-r--r--Master/texmf-dist/source/latex/calendar/timetabl.dtx772
-rw-r--r--Master/texmf-dist/source/latex/calendar/weekly.dtx491
-rw-r--r--Master/texmf-dist/source/latex/calendar/yearly.dtx340
-rw-r--r--Master/texmf-dist/tex/latex/calendar/autofilo.sty395
-rw-r--r--Master/texmf-dist/tex/latex/calendar/calendar.sty741
-rw-r--r--Master/texmf-dist/tex/latex/calendar/calopts.cfg67
-rw-r--r--Master/texmf-dist/tex/latex/calendar/dates.cfg13
-rw-r--r--Master/texmf-dist/tex/latex/calendar/dates.sty780
-rw-r--r--Master/texmf-dist/tex/latex/calendar/evntlist.sty109
-rw-r--r--Master/texmf-dist/tex/latex/calendar/filoaddr.cls78
-rw-r--r--Master/texmf-dist/tex/latex/calendar/hlist.sty114
-rw-r--r--Master/texmf-dist/tex/latex/calendar/hml.sty75
-rw-r--r--Master/texmf-dist/tex/latex/calendar/hmonth.sty180
-rw-r--r--Master/texmf-dist/tex/latex/calendar/hpplotsz.sty14
-rw-r--r--Master/texmf-dist/tex/latex/calendar/margins.sty25
-rw-r--r--Master/texmf-dist/tex/latex/calendar/monthly.sty222
-rw-r--r--Master/texmf-dist/tex/latex/calendar/overword.sty91
-rw-r--r--Master/texmf-dist/tex/latex/calendar/timesht.sty314
-rw-r--r--Master/texmf-dist/tex/latex/calendar/timetabl.sty328
-rw-r--r--Master/texmf-dist/tex/latex/calendar/weekly.cls202
-rw-r--r--Master/texmf-dist/tex/latex/calendar/yearly.sty133
-rw-r--r--Master/texmf-dist/tex/plain/calendar/a5.sty45
-rw-r--r--Master/texmf-dist/tex/plain/calendar/a6.sty66
-rw-r--r--Master/texmf-dist/tex/plain/calendar/block.sty59
-rw-r--r--Master/texmf-dist/tex/plain/calendar/calend0.tex156
-rw-r--r--Master/texmf-dist/tex/plain/calendar/calend1.tex85
-rw-r--r--Master/texmf-dist/tex/plain/calendar/feasts.tex32
-rw-r--r--Master/texmf-dist/tex/plain/calendar/moon.tex89
-rw-r--r--Master/texmf-dist/tex/plain/calendar/sun.tex15
-rw-r--r--Master/texmf-dist/tex/plain/calendar/wall.sty60
91 files changed, 0 insertions, 16765 deletions
diff --git a/Master/texmf-dist/doc/latex/calendar/autofilo.dvi b/Master/texmf-dist/doc/latex/calendar/autofilo.dvi
deleted file mode 100644
index cb8d70132bc..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/autofilo.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/calendar.dvi b/Master/texmf-dist/doc/latex/calendar/calendar.dvi
deleted file mode 100644
index 84765398ab9..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/calendar.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/calguide.dvi b/Master/texmf-dist/doc/latex/calendar/calguide.dvi
deleted file mode 100644
index d4fb4900588..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/calguide.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/calguide.tex b/Master/texmf-dist/doc/latex/calendar/calguide.tex
deleted file mode 100644
index 5950f9fa804..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/calguide.tex
+++ /dev/null
@@ -1,1037 +0,0 @@
-%\iffalse
-%
-% file: calman.tex
-% Copyright (C) 1996-1997 by Frank Bennett. All rights reserved.
-%
-%\fi
-\documentclass[a4paper]{article}
-\usepackage{float}
-\def\fileversion{3.1}
-\def\filedate{1998/01/17 17:11:27}
-\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
-\begin{document}
-
-\title{User's Guide to the \LaTeX{} Calendar
- Bundle\thanks{This file is version number
- \fileversion{}. It was last revised on
- \filedate{}.}}
-
-\author{Frank G. Bennett, Jr.}
-
-\maketitle
-\thispagestyle{empty}
-
-\tableofcontents
-\newpage
-
-\setcounter{page}{1}
-
-\section*{Preface}
-
-Welcome to the \LaTeX{} Calendar bundle. This bundle will
-produce calendars in a variety of formats, in any language
-supported by \LaTeXe, simply, quickly, and with enough
-flexibility to make the little ``personal calendars'' that ship
-with Windows~95 and the like beg for mercy. It just might be the
-only calendaring system you need.
-
-This manual explains how to use it.
-
-\section{System Preparation}
-
-The first thing you must do is be sure that you have all of the
-necessary tools to hand. Before using the styles in the \LaTeX{}
-calendar package, you should first check that your \LaTeX{}
-installation includes all of the utilities in the
-\texttt{graphics} subdirectory under \texttt{packages} in the
-main \LaTeXe{} distribution directory on CTAN, and the
-\texttt{longtable} and the \texttt{multicol} packages from the
-\texttt{tools} subdirectory of \texttt{packages}. You will also
-need everything in the \texttt{calendar} package itself. With
-these items in hand, the package should function smoothly in
-accordance with the documentation given here and in the
-individual \texttt{*.dtx} files. If you have problems, please
-contact me on \texttt{bennett@nomolog.nagoya-u.ac.jp}.
-
-\section{Creating Calendars}
-
-There are nine calendar styles in the bundle. The simplest
-possible document for each is shown in Figure~1. It is worth
-spending a little time studying these examples to see what the
-essential elements are, and what can vary from one style to
-another. Some are packages, invoked through the \cs{usepackage}
-tag. Others are classes, invoked via the \cs{documentclass} tag
-at the top of the document. In either case, the calendar itself
-takes the form of a \LaTeX{} environment. The name of this
-environment sometimes differs from the name given to
-\cs{usepackage} or \cs{documentclass}, because the operating
-system on which the largest software company in the world was
-built cannot cope with more than eight characters in a file name.
-
-\newlength\myboxAwidth
-\newlength\myboxAheight
-\def\myeg#1#2#3#4#5#6{%
-\fbox{%
-\vbox to\myboxAheight{%
-\hbox to\myboxAwidth{\cs{documentclass\{#1\}}\hfill}
-\hbox to\myboxAwidth{%
- \ifcat$#2$\else\cs{usepackage\{#2\}}\fi%
-\hfill}
-\hbox to\myboxAwidth{\cs{begin\{document\}}\hfill}
-\hbox to\myboxAwidth{\cs{begin\{#3\}}\hfill}
-\hbox to\myboxAwidth{\texttt{\{#4\}}\hfill}
-\hbox to\myboxAwidth{\texttt{\{#5\}}\hfill}
-\hbox to\myboxAwidth{\space\space \texttt{#6}\hfill}
-\hbox to\myboxAwidth{\cs{end\{#3\}}\hfill}\vfill}}}
-
-\floatstyle{plain}
-\restylefloat{figure}
-
-\begin{figure}[tbp]
-\def\{{\char`\{}
-\def\}{\char`\}}
-\fboxsep=2pt
-\fboxrule=0.4pt
-\myboxAwidth=119.4pt
-\myboxAheight=3cm
-\small
-\hbox to\textwidth{\hfill\myeg{article}{timesht}{timesheet}{}{}{Jan 1 1997}\hskip10pt%
- \myeg{weekly}{}{weekly}{}{}{Jan 1 1997}\hfill}
-\vskip10pt
-\hbox to\textwidth{\hfill\myeg{monthly}{}{monthly}{}{}{Jan 1 1997}\hskip10pt%
- \myeg{article}{yearly}{yearly}{}{}{Jan 1 1997}\hfill}
-\vskip10pt
-\hbox to\textwidth{\hfill\myeg{article}{evntlist}{eventlist}{}{}{Jan 1 1997}\hskip10pt%
- \myeg{timetabl}{}{timetable}{}{}{Jan 1 1997}\hfill}
-\vskip10pt
-\hbox to\textwidth{\hfill\myeg{article}{hmonth}{htmlmonth}{}{}{Jan 1 1997}\hskip10pt%
- \myeg{article}{hlist}{htmllist}{}{}{Jan 1 1997}\hfill}
-\vskip10pt
-\hbox to\textwidth{\hfill\myeg{article}{hml}{htmlmonthlist}{}{}{Jan 1 1997}\hskip10pt%
- \hskip\fboxsep\hskip\fboxsep\hskip\fboxrule\hskip\fboxrule
- \hskip\myboxAwidth\hfill}
-\caption{Minimal documents for each calendar style}
-\end{figure}
-
-There are \textit{always} two extra arguments after the
-\cs{begin} tag that opens the environment. The first extra
-argument contains formatting instructions and other options that
-modify the behavior of the style. We will refer to these as
-\textit{calendar options}. A few calendar options are common to
-all calendar styles, while others are specific to a particular
-style. In the examples, the first extra argument is always empty
-because (get ready for this one) calendar options are optional.
-A full explanation of all calendar options for all styles is
-given in section \ref{options} below.
-
-The second extra argument gives names of data files containing
-lists of events or appointments, together with the names of any
-colors to be associated with the entries in each data file. In
-the examples, this second argument is blank because a calendar
-can be created without including any events or appointments. See
-section \ref{lists} below for a discussion of how to manage data
-lists and include them in calendars.
-
-The only other component of a complete calendar is a
-\textit{controlling date} or a \textit{controlling range} of
-dates. As you can see from the examples, this is the only thing
-written inside the environment, and it is written in a
-human-readable form. The bundle is pretty forgiving in the way
-it reads dates; the elements of a simple date can be written in
-any order (that is to say, \texttt{Aug 1 1997}, \texttt{1 Aug
- 1997} and \texttt{1997 Aug 1} will all work equally well).
-Only the first three letters of the month are read, but any extra
-characters are quietly ignored (so you can say \texttt{August 1
- 1997} instead of \texttt{Aug 1 1997}). And the first character
-of the month can be either upper-case or lower-case (so \texttt{1
- aug 1997} is okay too).
-
-The finished calendar will be composed so that it includes the
-controlling date. This may be expressed as a \textit{range}
-rather than, as in the examples, a \textit{pinpoint date}. A
-range is simply two pinpoint dates separated by the word
-\texttt{to}. If a range is used (for example, \texttt{jan 1 1997
- to 1 august 1997}), the finished calendar will be composed so
-that it includes both the starting and the ending date of the
-controlling range.
-
-We have now completed an overview of how calendars are written.
-All that remains is to examine (a) how data files are written and
-included in documents (see section \ref{lists} below), and (b)
-what options are available to modify the behavior of each of the
-styles (see section \ref{options} below).
-
-\section{Data Files}\label{lists}
-
-\floatstyle{boxed}
-\restylefloat{figure}
-
-Most commercial calendars come with pre-printed notes of the
-major holidays and other significant events. Calendars created
-with the \LaTeX{} Calendar Bundle can contain pre-printed notes
-of any events or appontments that you like. Events or
-appointments are incorporated into a calendar from separate files
-that have the extension \texttt{.cld}. The names of the files,
-less the extension, should be listed, separated by commas and
-without spaces, in the second argument to the calendar
-environment, as show in Figure~2. In the next section, we will
-examine the content of the data files themselves.
-
-\begin{figure}[bh]
-\begin{verbatim}
-\documentclass{weekly}
-\begin{document}
-\begin{weekly}{}{firstlist,secondlist}
- Jan 1 1997
-\end{weekly}
-\end{document}
-\end{verbatim}
-\caption{Data file names}
-\end{figure}
-
-\subsection{Pinpoint Date Syntax}
-
-The simplest type of \texttt{.cld} file is a list of dates, each
-followed by a note in curly braces. Such a file is shown in
-Figure~3. The month is specified as a word (the first three
-letters of which will be recognized), the day as an integer
-between \texttt{1} and \texttt{31}, and the year as a four-digit
-integer. The items may come in any order, and the first letter
-of the word may be in upper or lower case.
-
-\begin{figure}[bht]
-\begin{verbatim}
- Jan 1 1997 {New Year's Day}
- Jan 1 1997 {The Day After New Year's Day}
-\end{verbatim}
-\caption{Simple pinpoint entries}
-\end{figure}
-
-The text given in curly braces should be a brief note describing
-the event or appointment. This can be followed by a longer note
-in square braces. Styles will use this longer text where
-appropriate and physically possible. An example is given in
-Figure~4.
-
-\begin{figure}[bht]
-\begin{verbatim}
- jan 1 1997 10:00-11:30 {Smith}
- [Smith: \textit{Reflections on Principle in the work
- of Ambrose Bierce}]
-\end{verbatim}
-\caption{Verbose description in square braces}
-\end{figure}
-
-Finally, a time or a range of times may be added to pinpoint
-entries. In this manual, I refer to entries that do not specify
-a time as ``events'', and to those that do specify a time as
-``appointments'', but there is no other difference between the
-two. They may be intermixed within a single \texttt{.cld} file,
-and in any order. There should be no space in the time string.
-See Figure~5 for an example of what appointment entries look like.
-
-\begin{figure}[ht]
-\begin{verbatim}
- jan 1 1997 8:00 {Happy New Year}
- [Take stock of New Year hangover and damage to home
- and hearth]
- jan 1 1997 10:00-16:00 {New Year cleaning}
-\end{verbatim}
-\caption{Appointment entries}
-\end{figure}
-
-\subsection{Recursive Date Syntax}
-
-Some events happen repeatedly. Birthdays happen every year.
-Classes happen every week during school terms except on holidays.
-Phases of the moon recur. It is not very efficient to use
-repeated pinpoint entries for such events, so the \LaTeX{}
-Calendar Bundle allows you to write such dates descriptively.
-This manual refers to dates defined in this way as
-\textit{recursive} dates.
-
-\begin{figure}[H]
-\begin{verbatim}
-% file: class.cld
-% The schedule for my Spanish class
-range curyear {Current year}
-every thurs {Spanish class}
-\end{verbatim}
-\caption{\texttt{class.cld}}
-\end{figure}
-
-\begin{figure}[H]
-\begin{verbatim}
-% file: curyear.cld
-% A range including all dates in the current year
-January 1 1997 to December 31 1997 {The year}
-\end{verbatim}
-\caption{\texttt{curyear.cld}}
-\end{figure}
-
-Figures~6 and 7 show the content of two \texttt{.cld} files, which
-together define a simple recursive date. The file
-\texttt{class.cld}, shown in Figure~6, will produce a note saying
-``Spanish class'' for every Thursday within the range
-given in the file \texttt{curyear.cld}. It is worth pausing for
-a few moments to study how these two files are constructed.
-
-Note that the \texttt{range} declaration takes a filename (less
-the \texttt{.cld} extension), followed by a comment in curly
-braces. The comment will not be printed in the calendar output,
-so the braces can be left empty if desired. The file called by
-the \texttt{range} declaration should contain one or more ranges,
-each of which is composed of a starting and an ending date
-separated by the word \texttt{to}. Each range should be ended
-with a comment (possibly, as in the example, an empty comment) in
-matched curly braces.\footnote{The starting date may also be
- followed by a comment in curly braces. It is often useful to
- associate a comment with the starting and ending dates of a
- range. See Figure~11 and the discussion at the end of this
- section.}
-
-The recursive date itself always begins with the word
-\texttt{every}, followed by a description of conditions to be
-repeated throughout the range. Figure~8 gives examples of all of
-the conditions that can be specified. The only entry that is not
-self-explanatory, I think, is the \texttt{every third} (or
-\texttt{first}, or \texttt{second}) \texttt{Tuesday} example.
-This puts an entry on the \texttt{n}\textit{th} day of the
-specified week of the month throughout the specified range. Note
-also that times can be specified for all recursive entries (that
-is to say, you can specify recursive appointments as well as
-recursive events).
-
-\begin{figure}[bht]
-\begin{verbatim}
- every day {Rejoice if you can}
- every day 8:00 {Wake up}
- every 20 {Payday}
- every 20 12:00 {Buy big lunch}
- every 1 April {All Fools Day}
- every 1 april 8:00 {Practical joke time!}
- every third tuesday {Village council}
- every third monday 2:00-3:00 {That appointment}
- every Tuesday 3:00-4:00 {Aerobics}
- every Tuesday {Happy Tuesday!}
- every other week from 12 dec 1997 {Kite flying}
- every other week from 12 dec 1997 17:00 {Repair kite}
-\end{verbatim}
-\caption{Examples of all possible recursive entry types}
-\end{figure}
-
-There is one common situation with which the simple recursive
-date illustrated in Figures~6 and 7 cannot cope. Suppose I want
-to define a recursive date that will put an entry in my diary for
-classes that I teach on a regular basis. I might try to do this
-using an entry like that in Figure~9.
-
-\begin{figure}[bht]
-\begin{verbatim}
-range schoolterms {Terms}
-every Tuesday 10:00-12:00 {Jse Lec}
- [Japanese Law lecture]
-every Tuesday 13:00-14:00 {Prop Tut}
- [Property Law tutorial]
-\end{verbatim}
- \caption{First attempt to record my teaching dates}
-\end{figure}
-
-The problem is that the simple ranges recorded in
-\texttt{schoolterms.cld} will not account for holidays, and I do
-not plan to teach classes during holidays. To cope with this
-little difficulty, the \LaTeX{} Calendar Bundle provides the
-\texttt{holiday} declaration. As you can see in Figure~10, the
-syntax of this declaration is the same as that of the
-\texttt{range} declaration. The separate file
-\texttt{ukhols.cld} should contain a list of pinpoint dates which
-are to be excluded when recursive dates are calculated.
-
-\begin{figure}[bht]
-\begin{verbatim}
-range schoolterms {Terms}
-holiday ukhols {United Kingdom holidays}
-every Tuesday 10:00-12:00 {Jse Lec}
- [Japanese Law lecture]
-every Tuesday 13:00-14:00 {Prop Tut}
- [Property Law tutorial]
-\end{verbatim}
- \caption{A better attempt to record my teaching dates}
-\end{figure}
-
-The text enclosed in curly braces that follows a \texttt{range}
-or \texttt{holiday} declaration (see Figures~6, 9 and 10), and
-the comments in curly braces inside the \texttt{.cld} files
-called by these declarations (see Figure~7) will not appear in
-the text of printed calendars. Sometimes it is \textit{useful}
-to print a note of the beginning and ending dates of a range, or
-the dates of holidays. In this case, the file containing the
-relevant range (which should have notes associated with the
-starting an ending dates) should be named in the second argument
-to the calendar environment, as a normal input file. Figure~11
-gives an example of a fully-commented range file.
-
-\begin{figure}[bht]
-\begin{verbatim}
-% file: ug-current.cld
-17 sep 1997 {First SOAS term begins}
- to 12 dec 1997 {First SOAS term ends}
-5 jan 1998 {Second SOAS term begins}
- to 20 mar 1998 {Second SOAS term ends}
-20 apr 1998 {Third SOAS term begins}
-to 5 jun 1998 {Third SOAS term ends}
-\end{verbatim}
- \caption{Ranges with comments}
-\end{figure}
-
-\subsection{Color Support}
-
-You can make calendars that are more informative and easier to
-read by printing entries of different types in different colors.
-To do this, you must first include color support by calling the
-\texttt{color} package. If the color package has not been
-configured for your system, you may need to tell it about your
-driver. If you use \texttt{dvips}, it is handy to use named
-colors and the pallette of colors provided by the
-\texttt{dvipsnames} option. See the documentation to the
-\texttt{graphics} package for further details.
-
-\begin{figure}[bht]
-\begin{verbatim}
-\documentclass{weekly}
-\usepackage[dvips,usenames,dvipsnames]{color}
-\begin{document}
-\end{verbatim}
- \caption{A header that invokes color support}
-\end{figure}
-
-Once color support is in place (and you have a color printer to
-hand), you can associate a color with the entries in a data file
-by putting a colon after the name of the file, followed by the
-name of the color in which you want its entries to appear. See
-the documentation to the \texttt{graphics} package for further
-information on what color names are available.
-
-\begin{figure}[bht]
-\begin{verbatim}
-\documentclass{weekly}
-\begin{document}
-\begin{weekly}{}{firstlist:red,secondlist:blue}
- Jan 1 1997
-\end{weekly}
-\end{document}
-\end{verbatim}
-\caption{Data file names}
-\end{figure}
-
-\subsection{Freezing Data}
-
-A price must be paid for the very friendly syntax of the data
-files used by the \LaTeX{} Calendar bundle; when large amounts of
-data are involved, it can take a significant amount of time to
-process a calendar. The \texttt{freeze} declaration provides a
-means of speeding things up. To freeze the data in a file, put
-the declaration \texttt{freeze} (without any following curly
-braces) immediately after any range or holiday specifications.
-All subsequent dates generated by the file will be captured in a
-pre-processed form to a file with the same name, but with the
-extension \texttt{.eve}. The next time a style from the \LaTeX{}
-Calendar bundle reads that file, the pre-processed \texttt{.eve}
-file will be read instead of the \texttt{.cld} file.
-
-\begin{figure}[bht]
-\begin{verbatim}
- range year {Current year}
- freeze
- every second thursday {Working group}
-\end{verbatim}
-\caption{An example of the \texttt{freeze} declaration}
-\end{figure}
-
-\subsection{Composite Lists}
-
-Large or complex data sets can be easier to manage if the data is
-broken down into small chunks. The \LaTeX{} Calendar bundle
-facilitates this through the \texttt{list} declaration, which
-allows one \texttt{.cld} file to incorporate another by
-reference. The file called by \texttt{list} may include either
-pinpoint or recursive dates. This can be used to create a file
-representing an entire category of entries. Figure~15 shows the
-content of a file that I used to represent all of the
-undergraduate lectures in a university law department in London.
-
-\begin{figure}[bht]
-\begin{verbatim}
-list ug-cinl-lecture {}
-list ug-cinl-lecture {}
-list ug-conflicts-lecture {}
-list ug-criminal-lecture {}
-list ug-csel-lecture {}
-list ug-eml-lecture {}
-list ug-equity-lecture {}
-list ug-essay-lecture {}
-list ug-family-lecture {}
-list ug-hr-lecture {}
-list ug-iel-lecture {}
-list ug-islam-lecture {}
-list ug-jsel-lecture {}
-list ug-ld-lecture {}
-list ug-ld-lecture {}
-list ug-lsaa-lecture {}
-list ug-lssa-lecture {}
-list ug-obs1-lecture {}
-list ug-obs2-lecture {}
-list ug-pil-lecture {}
-list ug-property-lecture {}
-list ug-public-lecture {}
-\end{verbatim}
- \caption{\texttt{ug-lectures.cld}}
-\end{figure}
-
-A nice feature of the \texttt{list} declaration is that the color
-associated with the ``top'' file is inherited by files called
-from it using \texttt{list}. When dealing with large or complex
-data sets, this is a Really Nice Feature. Note, however, that
-the \texttt{freeze} declaration will \textit{not} export any data
-contained in files referenced using \texttt{list}. The
-\texttt{freeze} declaration should therefore be used
-\textit{only} in files that do \textit{not} contain any
-\texttt{list} declarations.
-
-If your operating system can cope with long filenames, see the
-\texttt{tar} archive file \texttt{bigdemo.tgz} in the
-\texttt{calendar} subdirectory on CTAN for a complete working
-data set that relies on the \texttt{list} declaration to organize
-things in this way.
-
-\subsection{Language Support}
-
-The \LaTeX{} Calendar bundle can be quickly configured to support
-any language that \LaTeX{} is capable of handling. By default,
-calendars are produced using English names of the month and names
-of days of the week. It can also support \textit{multiple}
-languages in each of the \texttt{*.cld} files on your system, and
-produce the same calendar with month and day names \textit{and}
-the entry texts in alternative languages.
-
-The language configuration of the \LaTeX{} Calendar bundle is
-contained in the file \texttt{dates.cfg}. The sample file that
-ships with the bundle has the following contents:
-
-\bgroup\small
-\begin{verbatim}
-\DeclareCalendarLanguage{English}
- {{Sunday}{Monday}{Tuesday}{Wednesday}{Thursday}{Friday}{Saturday}}
- {{Sun}{Mon}{Tue}{Wed}{Thu}{Fri}{Sat}}
- {{January}{February}{March}{April}{May}{June}{July}{August}{September}
- {October}{November}{December}}
- {{Jan}{Feb}{Mar}{Apr}{May}{Jun}{Jul}{Aug}{Sep}{Oct}{Nov}{Dec}}
-
-\DeclareCalendarLanguage{German}
- {{Sonntag}{Montag}{Dienstag}{Mittwoch}{Donnerstag}{Freitag}{Samstag}}
- {{So}{Mo}{Di}{Mi}{Do}{Fr}{Sa}}
- {{Januar}{Februar}{M\"arz}{April}{Mai}{Juni}{Juli}{August}{September}%
- {Oktober}{November}{Dezember}}
- {{Jan}{Feb}{M\"arz}{Apr}{Mai}{Juni}{Juli}{Aug}{Sep}{Okt}{Nov}{Dez}}
-\end{verbatim}
-\egroup
-
-These entries serve two purposes. First, they define the texts
-that should be use for long and short names of the days of the
-week and the months for each of the language options that they
-declare. Second, the \textit{order} of options determines the
-order of alternative language entries in your \texttt{*.cld}
-files. In the example above, \texttt{English} is the default
-language, but \texttt{German} can be specified as an option in
-your documents, by giving that as a class or package option to
-the calendar style you are using. You can declare as many
-languages in your \texttt{dates.cfg} file as you like.
-
-Once you have edited the \texttt{dates.cfg} file to your
-satisfaction, and put the languages into the correct order for
-your needs, you are ready to add multi-lingual \texttt{*.cld}
-to your files. The first thing to note is that alternative
-languages are always \textit{optional}. If we are using the
-sample \texttt{dates.cfg} file above, and the \texttt{*.cld} file
-contains only default entries in English, the English entries
-will be supplied. Nothing will break as a result of specifying
-an alternative language that has been declared; they are
-perfectly safe.
-
-Again following the example configuration file above, a German
-entry can be added to a file by using angle braces instead of
-curly braces for its short text. Square braces (for a long text)
-work exactly as they do after the default, curly-brace text:
-
-\begin{verbatim}
-jan 1 1998 {New Year}
- <Neue Yahr>
-\end{verbatim}
-
-\begin{verbatim}
-jan 1 1998 21:00 {New Year's Party} [New Year's Party at Fred's house.]
- <Neue Yahr> []
-\end{verbatim}
-
-\subsection{Rotating Text}
-
-Two of the style packages (\texttt{weekly} and \texttt{timetabl})
-need to be able to twist text sideways before it is printed.
-Internally, they use the special facilities of the
-\texttt{graphics} bundle for this purpose. You may want to turn
-other calendars (such as the \texttt{monthly} calendar, for
-example) sideways in order to make better use of the space on a
-page. To get full use out of this package, it is therefore
-important that you have the the \texttt{graphics} bundle
-installed on your system, and that your print driver be one that
-is capable of rotating text. I don't have access to most of the
-devices supported by the \texttt{graphics} package, but from the
-code in the package it looks as though only the following drivers
-support rotation: \texttt{dvips}, \texttt{dvipsone},
-\texttt{dvitops}, \texttt{pctex32}, \texttt{pctexps},
-\texttt{pubps}, \texttt{textures}.
-
-Note that the \texttt{graphics} bundle must also be
-\textit{configured} properly for your system. In essence, this
-means that the files in the bundle must be told what driver you
-are using, via a file called \texttt{graphics.cfg}. If you have
-problems, please see the documentation in the file
-\texttt{grfguide.tex}, shipped with the \texttt{graphics} bundle.
-
-To rotate an entire calendar (such as \texttt{monthly}), use the
-\texttt{lscape} package, and enclose the calendar tags in
-\texttt{landscape} tags:
-
-\begin{verbatim}
-\documentclass{article}
-\usepackage{monthly}
-\usepackage{lscape}
-\begin{landscape}
-\begin{monthly}{}{}
- january 1 1998
-\end{monthly}
-\end{landscape}
-\end{verbatim}
-
-\subsection{Arbitrary Formul\ae}
-
-Finally, it is possible to specify recursive dates using an
-arbitrary formula, using the \texttt{function} declaration in a
-\texttt{.cld} file. The use of the \texttt{function} declaration
-is beyond the scope of this manual, but interested designers
-might want to take a look at the documentation contained in
-\texttt{dates.dtx} for a discussion of this declaration, and an
-example that generates a note of the phases of the moon.
-
-\section{Calendar, Class and Package Options}
-
-\label{options}
-In this section, all of the options to all of the styles are
-explained. ``Options'' come in two flavors. One is accepted by
-the calendar package or class that makes a given calendar
-environment available. Such options are fed to the
-\cs{usepackage} or \cs{documentclass} commands in the
-conventional way, through a square-braced argument. These are
-referred to here as \textit{class or package options}. The
-second type of option is given in the second argument to the
-calendar environment itself, and are referred to here as
-\textit{calendar options}.\footnote{Calendar options are
- processed using the \texttt{keyval} package. See the
- documentation of that package if you would like more detailed
- information about how these work.} Calendar options are given
-as a comma-delimited list. \textit{Boolean} calendar options
-take effect when they appear by themselves in the argument text.
-\textit{Variable} calendar options must be followed by an equal
-sign and some value, possibly in curly braces. Figure~16 gives
-examples of each type. To conclude our explanatory tour, we will
-examine the options recognized by each style in the bundle. If
-you would like to see samples of any of the styles, please
-extract and print the appropriate demo file from the
-distribution.
-
-\begin{figure}[bht]
-\begin{verbatim}
-\documentclass{timetabl}
-\begin{document}
-\begin{timetable}
- {notimes,
- title={Law Department Timetable},
- labels={Monday,Tuesday,Wednesday,Thursday,Friday},
- start=9:00,
- end=21:00,
- blockminutes=60}
- {}
- Jan 5 1997 to Jan 9 1997
-\end{timetable}
-\end{document}
-\end{verbatim}
- \caption{Examples of boolean and variable options}
-\end{figure}
-
-\subsection{Timesheets}
-
-The timesheet style produces a timesheet for every date in the
-controlling range. Timesheets have a column of time blocks
-marked out on the left side of the page, a list of appointments
-(if any) to the right of that, and a blank area for recording
-actions taken (or doodling pictures) on the far right of the
-page.
-
-\subsubsection{Package Options}
-
-This style is provided as a package. Its only options are
-language options declared in \texttt{dates.cfg}.
-
-\subsubsection{Calendar Options}
-
-The following formatting options are supported by the
-\texttt{timesheet} environment:
-
-\begin{description}
-\item[\texttt{title}] The string fed to this option will form the
- title of the timesheet. Robust commands (like \cs{LaTeXe})
- should be safe here. The default string is \texttt{Timesheet}.
-\item[\texttt{leftright}] This option can be used to alter the
- proportion of space taken up by the right and left columns.
- The syntax is a pair of integers separated by a slash. The
- default value is \texttt{1/1}, for evenly spaced columns. The
- values express a ratio, so you do not need to make the values
- add up to anything in particular.
-\item[\texttt{start}] This is the starting time of the timesheet.
- The format is colon-delimited 24-hour time (i.e.~\texttt{17:00}
- for five o'clock in the afternoon). The default starting time
- is \texttt{8:00}.
-\item[\texttt{end}] Like \texttt{start}, but specifies an ending
- time for the timesheet. The default ending time is
- \texttt{17:00}.
-\item[\texttt{blockminutes}] If you want the timesheet to be
- split into time blocks of equal duration, you can use this
- option to select the length of the blocks in minutes. This
- must divide evenly (without a remainder) into the span of time
- specified by the start and end of the timesheet. The default
- value of this option is \texttt{15}, for fifteen-minute blocks.
-\item[\texttt{blockgroup}] A line will be drawn all the way
- across the timesheet at the end of every group of time blocks.
- The number of blocks in a group can be set using this option.
- The default is \texttt{4}, which puts a line at every hour
- boundary with the default value of \texttt{blockminutes}.
-\item[\texttt{width}] If you don't want the timesheet to fill the
- whole width of the page, you can use this option to specify a
- smaller size. The feedback given when the style is run gives
- you the size in points for that run of \LaTeX, which may be
- useful in making formatting adjustments.
-\item[\texttt{leftspace}] This can be used to specify an explicit
- left-offset value. The default is \cs{fill}.
-\item[\texttt{rightspace}] Like \texttt{leftspace}, but for the
- right side of the timesheet. The default is \cs{fill}, for a
- centred table.
-\item[\texttt{titletype}] This sets the default typeface for the
- overall title of the timesheet.
-\item[\texttt{labeltype}] This sets the default typeface for the
- labels (Plan and Action) at the top of the sheet.
-\item[\texttt{timelabeltype}] This sets the default typeface for the
- time markings on the lefthand side of the page.
-\item[\texttt{timeitemtype}] This sets the default typeface for the
- times associated with appointments.
-\item[\texttt{itemtype}] This sets the default typeface for the
- item text itself.
-\end{description}
-
-\subsection{Weekly}
-
-The \texttt{weekly} style prints weekly calendars for use with a
-Filofax(tm) or other personal planner. Pages are framed with
-cut-lines, and punch-marks show where to cut holes at the edge of
-the page. For each date, the style initially attempts to set the
-event and date text as a single column. If the text overflows
-the box for that date, the style will attempt to recover by
-resetting the text as two columns.
-
-\subsubsection{Class Options}
-
-This style is provided as a \LaTeX{} class file. It has the
-following special features and limitations:
-
-\begin{itemize}
-\item The text of the calendar is always rotated, using the
- \texttt{lscape} package from the \texttt{graphics} bundle. As
- a result, calendars generated using this package can only be
- printed using \texttt{dvips} or other PostScript(TM) print
- drivers supported by the \texttt{graphics} bundle.
-\item If the \texttt{graphics} bundle has not been configured for
- your system, you can specify the driver and other options for
- its use by giving \LaTeX{} options to the class when it is
- loaded.
-\item While the paper size can be specified using options like
- \texttt{a4paper}, this will have no effect; the actual paper
- size is governed by calendar options.
-\item Documents created with this style should contain nothing
- other than a calendar environment.
-\end{itemize}
-
-\subsubsection{Calendar Options}
-
-The following formatting options are supported by the
-\texttt{weekly} environment:
-
-\begin{description}
-\item[\texttt{firstday}] This is the starting day of the
- calendar, expressed as an integer. Friday (the default) is
- ``\texttt{5}''.
-\item[\texttt{punchcluster}] Most filofaxes have two or or more
- clusters or groups of punches to hold the pages in place. This
- option sets the number of punches in each cluster. The default
- is three.
-\item[\texttt{intraspace}] This governs the space between
- punchouts within a group. The default is 19.25mm.
-\item[\texttt{punchgroups}] This option sets the number of groups
- of punches. The default is two groups.
-\item[\texttt{interspace}] This option sets the distance between
- the groups of punches. The default is 51.25mm.
-\item[\texttt{pageheight}] This fixes the height of a filofax
- page (not the physical paper on which it is printed). The
- default is 172mm.
-\item[\texttt{pagewidth}] This fixes the width of an individual
- page. The physical printed area will be twice this figure.
- The default is 95mm, for a 190mm printed area.
-\item[\texttt{grip}] This adjusts the distance from the edge of
- the page to the outer edge of the punchouts. Default is 5mm.
-\item[\texttt{punchmargin}] This adjusts the distance from the
- edge of the text to the inner edge of the punchouts. Default
- is 2mm.
-\item[\texttt{punchsize}] Size, in points, of punchouts. Default
- is 15.
-\item[\texttt{topspace}] Gap between top of filofax page and top
- of text page.
-\item[\texttt{bottomspace}] Gap between bottom of filofax page
- and bottom of text page.
-\item[\texttt{jawspread}] If set to a positive length, this
- places a set of rules the width of the punchmarks on either
- side of each punchhole, centered on its center and spread the
- distance specified. This can be useful as a guide with some
- one-hole punches that are designed to be used ``blind''.
-\item[\texttt{jawline}] Sets the width of the lines used to make
- jawmarks. Default value is \texttt{0.4pt}.
-\end{description}
-
-\subsection{Monthly}
-
-The \texttt{monthly} style produces a simple monthly calendar,
-similar to the ones you can buy in shops. The \LaTeX{} Calendar
-version does not include cartoons by Gary Larson or pictures of
-the latest fave rave teen band (at least by default), but you do
-have access to all of the goodies available in the other packages
-in the bundle (color coding, et cetera). Ordinarily you will
-want to print this using the \texttt{lscape} package and its
-\texttt{landscape} environment.
-
-\subsubsection{Package Options}
-
-This style is provided as a package. It only recognizes language
-options declared in \texttt{dates.cfg}.
-
-\subsubsection{Calendar Options}
-
-\begin{description}
-\item[\texttt{title}] The string fed to this option will form the
- title of the calendar. Robust commands (like ``\LaTeXe'')
- should be safe here. The default is the name of the month,
- followed by the year.
-\item[\texttt{labels}] This is an optional comma-delimited,
- brace-enclosed string giving a list of seven labels to be used
- for days of the week. This was once used to make calendars in
- languages other than English.
-\item[\texttt{firstday}] This is the starting day of the
- calendar, expressed as an integer. Sunday (the default) is
- ``0''.
-\item[\texttt{titletype}] This sets the typeface for the
-title. The default is \cs{large}\cs{bfseries}.
-\item[\texttt{daynametype}] This sets the typeface for the
- day-name labels. The default is \cs{bfseries}.
-\item[\texttt{datetype}] This sets the default typeface for
- the day in each box. The default is \cs{bfseries}.
-\item[\texttt{texttype}] This sets the default typeface for
- the entry texts. The default is \cs{tiny}.
-\end{description}
-
-\subsection{Yearly}
-
-This produces a simple yearly calendar. It was the first of the
-Calendar style packages to be written, and in some ways it is the
-most unsatisfactory; I invite others to use this style as a model
-and improve on it. But for workaday needs --- to produce a
-simple one-year calendar on a single piece of paper --- it works
-well enough.
-
-\subsubsection{Class or Package Options}
-
-This is distributed as a package.
-
-\subsubsection{Calendar Options}
-
-The following options are recognized by the \texttt{yearly} style:
-
-\begin{description}
-\item[\texttt{title}] The string fed to this option will
- form the title of the calendar. Robust commands (like
- ``\LaTeXe'') should be safe here. The default is
- the number of the year.
-\item[\texttt{labels}] This is an optional comma-delimited,
- brace-enclosed string giving a list of seven labels to
- be used for days of the week. This can be used to
- make a calendar in a language other than English or German.
-\item[\texttt{firstday}] This is the starting day of the
- calendar, expressed as an integer. Sunday (the
-default) is ``0''.
-\end{description}
-
-\subsection{Timetable}
-
-This package organizes date items in a format suitable for
-conference schedules, itineraries, academic teaching timetables
-and the like. It is a versatile package, worth playing around
-with if you want to use this bundle in an institutional context.
-
-\subsubsection{Package Options}
-
-This style is provided as a package. Its only options are
-language options declared in \texttt{dates.cfg}.
-
-\subsubsection{Calendar Options}
-
-The options valid for use with the \texttt{timetable} environment
-are:
-
-\begin{description}
-\item[\texttt{leftspace}] Amount of space to the left of the
- table (default is \cs{hfill}, but with table sized to exactly
-fit the margins).
-\item[\texttt{rightspace}] Amount of space to the right of the
- table (default is \cs{hfill}, but with table sized to exactly
-fit the margins).
-\item[\texttt{width}] Width of the table. The default is
-\cs{textwidth}.
-\item[\texttt{title}] The string fed to this option will
- form the title of the timetable. Robust commands (like
- ``\LaTeXe'') should be safe here. The default is
- ``Conference Schedule''.
-\item[\texttt{notimes}] If this option is given, the
-time of each item is not given in the body of the
-timetable. If all entries begin and end exactly on
-the boundaries arrived at by applying \texttt{blockminutes}
-to the range of the table, no information is lost, and the
-table will have a cleaner appearance and be easier to read.
-\item[\texttt{start}] Time from which schedule should
- begin, with hours and minutes separated by a colon.
- The default is \texttt{8:00}.
-\item[\texttt{end}] Time at which the schedule should
- end. The default is \texttt{17:00}.
-\item[\texttt{blockminutes}] The number of minutes in
- each time block. This should divide \textit{evenly}
- into the total number of minutes within the range specified
- by \texttt{start} and \texttt{end}. The default is 60.
-\item[\texttt{blocks}] As an alternative to
-\texttt{blockminutes},
- you can specify the precise periods of time you want
-included in each time block. The format is a set of
-comma-delimited time ranges, all
-enclosed in a pair of matching braces. For
-example:
-\begin{quote}
- \verb+blocks={8:00-9:00,9:00-10:00,4:00-5:00}+
-\end{quote}
-\item[\texttt{labels}] This is an optional comma-delimited,
- brace-enclosed string giving a list of labels to
- be used for the day headings.
-\item[\texttt{titleface}] The typeface used for the title.
-\item[\texttt{labelface}] The typeface used for the day labels.
-\item[\texttt{timelabelface}] The typeface used for the time
-labels on the left edge of the table.
-\item[\texttt{timeitemface}] The typeface used for the
- time of each entry (suppressed altogether if the
- \texttt{notimes}
- option is given).
-\item[\texttt{itemface}] The typeface used for the entry text.
-\end{description}
-
-\subsection{Event List}
-
-This is a simple package that produces a list of events
-in cronological order. It is not particularly elegant,
-and users are invited to improve on this model.
-
-\subsubsection{Class or Package Options}
-
-The only options recognized by this package are language options
-declared via \texttt{dates.cfg}.
-
-\subsubsection{Calendar Options}
-
-This package does not recognize any calendar options at present.
-
-\subsection{HTML Monthly Calendar}
-
-This package produces a monthly calendar in HTML. The
-calendar does not take advantage of any table features of
-HTML, and can be viewed on any browser, including the
-Lynx browser for character terminals.
-
-\subsubsection{Class or Package Options}
-
-The only options recognized by this package are language options
-declared via \texttt{dates.cfg}.
-
-\subsubsection{Calendar Options}
-
-This package recognizes he following calendar options:
-
-\begin{description}
-\item[\texttt{title}] The string fed to this option will form the
- title of the calendar. The default is the name of the month,
- followed by the year.
-\item[\texttt{firstday}] This is the starting day of the
- calendar, expressed as an integer. Sunday (the default) is
- ``0''.
-\item[\texttt{outputfile}] This is the name of a file to
- which the HTML output should be written.
-\end{description}
-
-\subsection{HTML Event List}
-
-This is a simple package that produces an HTML list of events
-in cronological order.
-
-\subsubsection{Class or Package Options}
-
-The only options recognized by this package are language options
-declared via \texttt{dates.cfg}.
-
-\subsubsection{Calendar Options}
-
-The only option recognized by this package is
-\texttt{outputfile}, which sets the name of the file to which the
-HTML output should be written.
-
-\subsection{HTML Month and Event List}
-
-There are CGI scripts that do the same thing as this script ---
-produce one or more monthly calendars, with jump-links on
-appropriate days into a list of events. The difference is that
-this style offers multi-lingual support, and could be
-made to work with color by a wizard.
-
-\subsubsection{Class or Package Options}
-
-The only options recognized by this package are language options
-declared via \texttt{dates.cfg}.
-
-\subsubsection{Calendar Options}
-
-This package recognizes the same calendar options as the
-HTML Monthly style.
-
-\end{document}
-
-
-
-
diff --git a/Master/texmf-dist/doc/latex/calendar/dates.dvi b/Master/texmf-dist/doc/latex/calendar/dates.dvi
deleted file mode 100644
index aee86ca724f..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/dates.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/demodate.tex b/Master/texmf-dist/doc/latex/calendar/demodate.tex
deleted file mode 100644
index bc7d8b93779..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demodate.tex
+++ /dev/null
@@ -1,136 +0,0 @@
-%%
-%% This is file `demodate.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% dates.dtx (with options: `demo')
-%%
-\documentclass{minimal}
-\usepackage{dates}
-\begin{document}
-
-\makeatletter
-\message{^^J---------------------------------------------------------}
-\message{This is a demonstration file for the LaTeX dates package.}
-\message{It will print a number of dates to the terminal.^^J}
-\message{The code demonstrated by this package is not intended}
-\message{for direct use by humans, so I have not worked very hard}
-\message{to make its output look pretty, and it won't actually}
-\message{print anything. But if you get a cluttered list of dates}
-\message{and no error messages, the package is working for you.}
-\message{---------------------------------------------------------}
-\dateread
-{\message{\theshorttext}%
- \message{\theday/\the\dates@month/\the\dates@year}%
- \ifx\thelongtext\dates@empty%
- \else%
- \message{\thelongtext}%
- \fi}
- december 10 1995 {Start of First Period of Time}
-to jan 10 1996 {End of First Period of Time}
- december 10 1996 {Start of Second Period of Time}
-to jan 10 1997 {End of Second Period of Time}
-February 18 1997 {Frank's Next Birthday}
- [The best presents come in small packages.^^JIt
- would be a terrific present for someone to make
- this one smaller.]
-February 18 1998 {Frank's Next Birthday But One}
-Every Monday {(Monday Coffee)}
-Every Third Tuesday {(Third Tuesday Meeting)}
-Function moonsinit moonsincrement {%
- \global\dates@date=\dates@subrange@start%
- \caldate%
- \newcount\moonno%
- \newif\ifsign%
- \def\firstmoon{\moonno=\dates@year
- \multiply\moonno by123685
- \divide\moonno by10000
- \multiply\moonno by4\advance\moonno by-1
- \loop\moondate\relax
- \ifnum\dates@date<\dates@subrange@start
- \advance\moonno by1\repeat}
- \def\moondate{{\dates@ct@z=\moonno
- \lin 202.126.369+0.\dates@ct@z=\count1
- \count6=0
- \lin 0.2.319+2907.\sin\fac{3}
- \divide\count6 by1000
- \lin 365.249.86+7593.\id\fac{1}
- \divide\count6 by10\count7 =\count6
- \ifodd\moonno\quarters
- \else\fullornew\fi\global\dates@date=\count7}
- \jdttol}
- \def\fullornew{\count6=0
- \lin -393.0.0+0.
- \divide\count1 by100000000
- \advance\count6 by\count1
- \lin 0.628.300+6269.\sin
- \multiply\count6 by\count4
- \lin -7.-700.-369+ 928.\sin\fac{ -74}
- \lin 0. 628. 300+ 6269.\sin\fac{ 1734}
- \lin 1. 256. 600+12539.\sin\fac{ 21}
- \lin 8. 328. 670+ 5341.\sin\fac{-4068}
- \lin 8. 538. 220+-4597.\sin\fac{ 10}
- \lin 8. 956. 970+11610.\sin\fac{ -51}
- \lin 16. 238. 589+-5526.\sin\fac{ -4}
- \lin 16. 657. 340+10682.\sin\fac{ 161}
- \lin 16. 866. 890+ 743.\sin\fac{ 104}
- \lin 17. 285. 640+16951.\sin\fac{ 50}
- \lin 17. 495. 190+ 7013.\sin\fac{ 4}
- \lin 24. 986. 10+16023.\sin\fac{ -4}
- \lin 25. 195. 560+ 6084.\sin\fac{ -6}
- \divide\count6 by10000
- \advance\count7 by\count6 }
- \def\quarters{\lin -393.0.0+0.
- \divide\count1 by100000000
- \count6 =\count1 \lin 0.628.300+6269.
- \sin\multiply\count6 by\count4
- \lin -16. -29. -40+-4413.\sin\fac{ 40}
- \lin -7.-700.-369+ 928.\sin\fac{ -47}
- \lin -7. -72. -69+ 7198.\sin\fac{ -30}
- \lin 0. 628. 300+ 6270.\sin\fac{ 1721}
- \lin 1. 256. 600+12539.\sin\fac{ 21}
- \lin 8. 328. 670+ 5341.\sin\fac{-6280}
- \lin 8. 538. 220+-4598.\sin\fac{ 21}
- \lin 8. 956. 970+11611.\sin\fac{ -119}
- \lin 16. 238. 589+-5526.\sin\fac{ -4}
- \lin 16. 657. 340+10682.\sin\fac{ 89}
- \lin 16. 866. 890+ 743.\sin\fac{ 79}
- \lin 17. 285. 640+16952.\sin\fac{ 3}
- \lin 17. 495. 190+ 7013.\sin\fac{ 3}
- \lin 24. 986. 10+16023.\sin\fac{ -4}
- \lin 25. 195. 560+ 6085.\sin\fac{ -6}
- \count8=\count6\count6=28000
- \lin 628. 300. 373+ 6270.\cos\fac{ -4}
- \lin 8. 328. 670+ 5341.\cos\fac{ 3}
- \count2=\moonno
- \advance\count2 by-1\divide\count2 by2
- \ifodd\count2\multiply\count6 by-1 \fi
- \advance\count6 by\count8
- \divide\count6 by10000
- \advance\count7 by\count6 }
- \def\phase{{\dates@ct@z=\moonno
- \count1=\moonno
- \divide\dates@ct@z by4\multiply\dates@ct@z by4
- \advance\count1 by-\dates@ct@z\relax
- \xdef\themoon{\ifcase\count1
- New Moon\or First Quarter\or
- Full Moon\or Last Quarter\fi}}}
- \gdef\moonsinit{%
- \firstmoon
- \global\dates@month=12\global\dates@day=31\dates@fix\global\advance\dates@date by1
- \count1=\dates@date
- \moondate
- \phase
- \caldate}
- \gdef\moonsincrement{%
- \advance\moonno by 1
- \moondate\phase
- \caldate}
- }
- {\themoon}
-\end{document}
-
-%%
-%%
-%% End of file `demodate.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demoevnt.dvi b/Master/texmf-dist/doc/latex/calendar/demoevnt.dvi
deleted file mode 100644
index d68009dbd7e..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demoevnt.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/demoevnt.tex b/Master/texmf-dist/doc/latex/calendar/demoevnt.tex
deleted file mode 100644
index f03e6c5451d..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demoevnt.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-%%
-%% This is file `demoevnt.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `evntlist')
-%%
-\documentclass{article}
-\usepackage{evntlist}
-\begin{document}
-\begin{eventlist}
- {}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{eventlist}
-\end{document}
-
-%%
-%%
-%% End of file `demoevnt.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demohlst.tex b/Master/texmf-dist/doc/latex/calendar/demohlst.tex
deleted file mode 100644
index b40fa9f3a46..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demohlst.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-%%
-%% This is file `demohlst.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `hlist')
-%%
-\documentclass{article}
-\usepackage{hlist}
-\begin{document}
-\begin{htmllist}
- {outputfile=demohlst.htm}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{htmllist}
-\end{document}
-
-%%
-%%
-%% End of file `demohlst.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demohml.dvi b/Master/texmf-dist/doc/latex/calendar/demohml.dvi
deleted file mode 100644
index 4e282ceda25..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demohml.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/demohml.tex b/Master/texmf-dist/doc/latex/calendar/demohml.tex
deleted file mode 100644
index 0dad7f97446..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demohml.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-%%
-%% This is file `demohml.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `hml')
-%%
-\documentclass{article}
-\usepackage{hml}
-\begin{document}
-\begin{htmlmonthlist}
- {outputfile=demohml.htm}
- {demolist,demoaptr,demoevtr}
- january 1997
-\end{htmlmonthlist}
-\end{document}
-
-%%
-%%
-%% End of file `demohml.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demohmth.tex b/Master/texmf-dist/doc/latex/calendar/demohmth.tex
deleted file mode 100644
index d99ba767861..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demohmth.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-%%
-%% This is file `demohmth.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `hmonth')
-%%
-\documentclass{article}
-\usepackage{hmonth}
-\begin{document}
-\begin{htmlmonth}
- {outputfile=demohmth.htm}
- {demolist,demoaptr,demoevtr}
- january 1997
-\end{htmlmonth}
-\end{document}
-
-%%
-%%
-%% End of file `demohmth.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demomont.dvi b/Master/texmf-dist/doc/latex/calendar/demomont.dvi
deleted file mode 100644
index b7fb2706b8a..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demomont.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/demomont.tex b/Master/texmf-dist/doc/latex/calendar/demomont.tex
deleted file mode 100644
index 94d8f48d20a..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demomont.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-%%
-%% This is file `demomont.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `monthly')
-%%
-\documentclass[a4paper]{article}
-\usepackage{monthly}
-\usepackage{margins}
-\usepackage{lscape}
-\parindent=0pt
-\begin{document}
-\margins{1.5cm}
-\begin{landscape}
-\begin{monthly}
- {}
- {demolist,demoaptr,demoevtr}
- january 1997
-\end{monthly}
-\end{landscape}
-\end{document}
-
-%%
-%%
-%% End of file `demomont.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demoover.tex b/Master/texmf-dist/doc/latex/calendar/demoover.tex
deleted file mode 100644
index d563747e9ef..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demoover.tex
+++ /dev/null
@@ -1,73 +0,0 @@
-%%
-%% This is file `demoover.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% overword.dtx (with options: `demo')
-%%
-\documentclass{minimal}
-\usepackage{overword}
-
-\begin{document}
-
-\makeatletter
-
-\newtoks\registerone
-\newtoks\registertwo
-\def\list{}
-
-\def\stashonright{%
- \registerone=\expandafter{\@overword}
- \registertwo=\expandafter{\list}
- \edef\list{%
- \noexpand\\{\the\registerone}\the\registertwo}}
-
-\def\showlist{%
- \def\\##1{\message{##1}}
- \message{\space\space -> }
- \list
- \message{^^J}}
-
-\def\readlistagain{%
- \def\\##1{ ##1 }
- \edef\listtext{\list}
-\message{\listtext}
- \expandafter\store\listtext\enditall}
-
-\def\storeandshow{%
- \@ifoverword\enditall
- {\message{Ran into \string\enditall!^^J}
- \stashonright
- \expandafter\showlist\@gobble}
- {\stashonright
- \storeandshow}
- {\message{Ran into \string\end!^^J}
- \stashonright
- \showlist}}
-
-\message{^^J----------------------------------------------------------------------}
-\message{This file demonstrates the operation of the Overword package for LaTeX}
-\message{Ordinarily, TeX reads and inteprets printable characters one by one.}
-\message{With this package, it is possible to read input word by word. This}
-\message{capability makes it possible to design user interfaces which are more}
-\message{intuitive to users. The Calendar bundle is one example of such an}
-\message{interface. Below, a phrase is printed to the terminal twice, once in}
-\message{reverse word order, and once in re-reversed (normal) word order. Each}
-\message{message is triggered by a control sequence found just beyond the last}
-\message{word read --- \string\enditall in the first instance, \string\end\space in the second.}
-\message{This file produces no printed output.}
-\message{^^J----------------------------------------------------------------------}
-
-\storeandshow This is a demonstration of the overword package \enditall
-
-\let\listclone\list
-\def\list{}
-\def\\#1{ #1 }
-\edef\listtext{\listclone}
-\expandafter\storeandshow\listtext
-
-\end{document}
-%%
-%%
-%% End of file `demoover.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demotsht.dvi b/Master/texmf-dist/doc/latex/calendar/demotsht.dvi
deleted file mode 100644
index c8b9b2fe304..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demotsht.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/demotsht.tex b/Master/texmf-dist/doc/latex/calendar/demotsht.tex
deleted file mode 100644
index 39a31f7fb7a..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demotsht.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-%%
-%% This is file `demotsht.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `timesht')
-%%
-\documentclass[a4paper]{article}
-\usepackage{timesht}
-\usepackage{margins}
-\begin{document}
-\margins{1.5cm}
-\begin{timesheet}
- {leftright=3/5}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{timesheet}
-\end{document}
-
-%%
-%%
-%% End of file `demotsht.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demottbl.dvi b/Master/texmf-dist/doc/latex/calendar/demottbl.dvi
deleted file mode 100644
index 0b22f5f8a6f..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demottbl.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/demottbl.tex b/Master/texmf-dist/doc/latex/calendar/demottbl.tex
deleted file mode 100644
index 2b171bf07c9..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demottbl.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-%%
-%% This is file `demottbl.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `timetabl')
-%%
-\documentclass[a4paper]{article}
-\usepackage{timetabl}
-\usepackage{margins}
-\begin{document}
-\margins{1.5cm}
-\begin{timetable}
- {title=Our Amazing Eclectic Conference}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{timetable}
-\end{document}
-
-%%
-%%
-%% End of file `demottbl.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demowkly.dvi b/Master/texmf-dist/doc/latex/calendar/demowkly.dvi
deleted file mode 100644
index 2fc0e87620f..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demowkly.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/demowkly.tex b/Master/texmf-dist/doc/latex/calendar/demowkly.tex
deleted file mode 100644
index c58c7407bfd..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demowkly.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-%%
-%% This is file `demowkly.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `weekly')
-%%
-\documentclass[a4paper]{weekly}
-\begin{document}
-\begin{weekly}
- {}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{weekly}
-\end{document}
-
-%%
-%%
-%% End of file `demowkly.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/demoyrly.dvi b/Master/texmf-dist/doc/latex/calendar/demoyrly.dvi
deleted file mode 100644
index 55113b76b7b..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demoyrly.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/demoyrly.tex b/Master/texmf-dist/doc/latex/calendar/demoyrly.tex
deleted file mode 100644
index 9f9d9f03c99..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/demoyrly.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-%%
-%% This is file `demoyrly.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `yearly')
-%%
-\documentclass[a4paper]{article}
-\usepackage{yearly}
-\parindent=0pt\relax
-\begin{document}
-\begin{yearly}
- {}
- {}
- 1997
-\end{yearly}
-\end{document}
-
-%%
-%%
-%% End of file `demoyrly.tex'.
diff --git a/Master/texmf-dist/doc/latex/calendar/dotemacs.tex b/Master/texmf-dist/doc/latex/calendar/dotemacs.tex
deleted file mode 100644
index e46fb2c9908..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/dotemacs.tex
+++ /dev/null
@@ -1,60 +0,0 @@
-;; Essential add-on for BBDB
-(defun bbdb-create-external ()
- "Prompt for and create a record. Hacked from bbdb-read-new-record."
- (interactive)
- (let ((name (bbdb-read-string "Name: "))
-(company (bbdb-read-string "Company: "))
-(net (bbdb-split (bbdb-read-string "Network Address: ") ","))
-(addrs
- (let (L L-tail str addr)
- (while
- (not
-(string=
- ""
- (setq str
- (bbdb-read-string
-"Address Description [RET when no more addrs]: "))))
- (setq addr (make-vector bbdb-address-length nil))
- (bbdb-record-edit-address addr str)
- (if L
- (progn (setcdr L-tail (cons addr nil))
-(setq L-tail (cdr L-tail)))
- (setq L (cons addr nil)
- L-tail L)))
- L))
-(phones
- (let (L L-tail str)
- (while
- (not
-(string=
- ""
- (setq str
- (bbdb-read-string
-"Phone Location [RET when no more phones]: "))))
- (let* ((phonelist
- (bbdb-error-retry
- (bbdb-parse-phone-number
- (read-string
-"Phone: "
-(and
- bbdb-default-area-code
- (format "(%03d) " bbdb-default-area-code))))))
- (phone (apply 'vector str
- (if (= 3 (length phonelist))
- (nconc phonelist '(0))
- phonelist))))
- (if L
- (progn (setcdr L-tail (cons phone nil))
- (setq L-tail (cdr L-tail)))
- (setq L (cons phone nil)
- L-tail L))))
- L))
-(notes (bbdb-read-string "Additional Comments: " "[M][F]")))
- (if (string= company "") (setq company nil))
- (if (string= name "") (setq name nil))
- (if (string= notes "") (setq notes nil))
- (bbdb-display-records
- (list
- (bbdb-create-internal name company net addrs phones notes)))))
-
-(global-set-key [f12] 'bbdb-create-external)
diff --git a/Master/texmf-dist/doc/latex/calendar/dvipshpplotq.tex b/Master/texmf-dist/doc/latex/calendar/dvipshpplotq.tex
deleted file mode 100644
index 6ba0676fe70..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/dvipshpplotq.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-JOBNAME=`basename ${*##* } .dvi`
-if [ $# -gt 1 ] ; then
- OPTIONS=${*% *}
-else
- OPTIONS=""
-fi
-echo -------------------------------------------------------------------
-echo : Calculating offset value
-HEIGHT=`cat ./$JOBNAME.hps | sed -e s/.*PageSize\ \\\[[0-9]*\ \\\\\([0-9]*\\\\\)\\\].*/\\\1/`
-OFFSET=795
-echo : Offset base figure is ${OFFSET}pt
-PT_OFFSET=`echo $OFFSET $HEIGHT-p|dc|sed s/-/_/`
-echo : Required offset in points is ${PT_OFFSET}pt
-CM_OFFSET=`echo 2k$PT_OFFSET 72.27/2.54*p|dc`
-echo : Setting offset to ${CM_OFFSET}cm
-echo : ...
-echo : God only knows why this process is necessary.
-echo : \$\#\&\^\"\=\$\%\@
-echo -------------------------------------------------------------------
-echo dvips $OPTIONS -P372hpplotq -O 2.1cm,${CM_OFFSET}cm -h ./$JOBNAME.hps -o $JOBNAME.ps $JOBNAME.dvi
-dvips $OPTIONS -P372hpplotq -O 2.1cm,${CM_OFFSET}cm -h ./$JOBNAME.hps -o $JOBNAME.ps $JOBNAME.dvi
-echo Wrote PostScript\(TM\) output to $JOBNAME.ps \(I think\).
diff --git a/Master/texmf-dist/doc/latex/calendar/evntlist.dvi b/Master/texmf-dist/doc/latex/calendar/evntlist.dvi
deleted file mode 100644
index 6c71f603567..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/evntlist.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/htmlstuf.dvi b/Master/texmf-dist/doc/latex/calendar/htmlstuf.dvi
deleted file mode 100644
index a30892a20f9..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/htmlstuf.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/mkaddr.dvi b/Master/texmf-dist/doc/latex/calendar/mkaddr.dvi
deleted file mode 100644
index 165bbde29c0..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/mkaddr.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/monthly.dvi b/Master/texmf-dist/doc/latex/calendar/monthly.dvi
deleted file mode 100644
index 357410c9c90..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/monthly.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/overword.dvi b/Master/texmf-dist/doc/latex/calendar/overword.dvi
deleted file mode 100644
index 7ef932f2487..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/overword.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/timesht.dvi b/Master/texmf-dist/doc/latex/calendar/timesht.dvi
deleted file mode 100644
index c38f7697ec8..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/timesht.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/timetabl.dvi b/Master/texmf-dist/doc/latex/calendar/timetabl.dvi
deleted file mode 100644
index 81cea1dfe67..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/timetabl.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/weekly.dvi b/Master/texmf-dist/doc/latex/calendar/weekly.dvi
deleted file mode 100644
index abe5342aee8..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/weekly.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/calendar/yearly.dvi b/Master/texmf-dist/doc/latex/calendar/yearly.dvi
deleted file mode 100644
index 74d7c7da874..00000000000
--- a/Master/texmf-dist/doc/latex/calendar/yearly.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/source/latex/calendar/CATALOG b/Master/texmf-dist/source/latex/calendar/CATALOG
deleted file mode 100644
index fbebd973d1d..00000000000
--- a/Master/texmf-dist/source/latex/calendar/CATALOG
+++ /dev/null
@@ -1,17 +0,0 @@
-Name: calendar
-Problems-To: fb@soas.ac.uk
-Author: Frank G Bennett, Jr
-Version: 3.1
-Description: Provides an interface for the creation of calendars using
- LaTeX. Each calendar "style" within this bundle produces a
- calendar in a particular format. Calendars may incorporate lists of
- events and appointments from external files. The package is stable,
- easy to install, easy to use, powerful and flexible. The bundle
- includes styles for: a yearly calendar, a monthly calendar, a weekly
- filofax(tm) calendar, a timesheet generator and a timetable/conference/
- itinerary generator.
-Keywords: calendar, timetable, diary, time management, office software,
- scheduling
-See-Also: CTAN://tex-archive/macros/plain/contrib/calendar.
-Address: Law Department, School of Oriental and African Studies,
- Thornhaugh Street, London WC1H 0XG
diff --git a/Master/texmf-dist/source/latex/calendar/MANIFEST b/Master/texmf-dist/source/latex/calendar/MANIFEST
deleted file mode 100644
index fcc4ea2a512..00000000000
--- a/Master/texmf-dist/source/latex/calendar/MANIFEST
+++ /dev/null
@@ -1,31 +0,0 @@
-The LaTeX Calendar bundle consists of the following files:
-
-CATALOG (LaTeX index entry)
-MANIFEST (This file)
-README (Blurb about the package)
-calguide.tex (generic user manual)
-
-allcal.ins (Installation file)
-
-calendar.dtx (Core module)
-dates.dtx (Core module)
-overword.dtx (Core module)
-
-calopts.cfg (File containing common code)
-dates.cfg (Sample language configuration file)
-autofilo.dtx (Filofax(tm) page support)
-
-timesht.dtx (Timesheet style)
-weekly.dtx (Weekly style)
-monthly.dtx (Monthly style)
-yearly.dtx (Yearly style)
-timetabl.dtx (Timetable style)
-evntlist.dtx (Event list style)
-htmlstuf.dtx (Three HTML styles)
-
-margins.sty (Simple margin control)
-mkaddr.dtx (Sample Tcl and Emacs Lisp code for managing addresses)
-plotutil.dtx (Sample Tcl and LaTeX code for controlling HP 6xx plotters)
-
-caldemos.dtx (Calendar demo files)
-bigdemo.tgz (Large set of data files and sample document)
diff --git a/Master/texmf-dist/source/latex/calendar/README b/Master/texmf-dist/source/latex/calendar/README
deleted file mode 100644
index 8f7e561a6f0..00000000000
--- a/Master/texmf-dist/source/latex/calendar/README
+++ /dev/null
@@ -1,128 +0,0 @@
-The LaTeX Calendar bundle (version 3.1)
-
-INTRODUCTION
-------------
-The files in this bundle provide an interface for the creation of calendars
-using LaTeX. It is easy to use, flexible and powerful. Promise me more,
-right? Read on.
-
-Each calendar "style" provides an environment which will read its contents
-as a date or range of dates, and produce a corresponding calendar in a
-particular format. For example, a calendar for the first two weeks in
-August 1997 in the "weekly" style would be expressed as follows:
-
- \begin{weekly}{}{}
- 1 Aug 1997 to 8 Aug 1997
- \end{weekly}
-
-The syntax for expressing dates is human-friendly: initial capitals are
-converted to lower case, abbreviations will be recognized, and within
-ordinary dates word order is irrelevant (i.e. both 1 aug 1997 and August 1
-1997 mean the same thing).
-
-Calendars may incorporate lists of events and appointments from external
-files. The syntax for such files permits the use of recursive dates limited
-by a range or ranges of dates ("every second saturday" during school
-session, that sort of thing), with a stop-list of holidays. Entries
-may also be color-coded if you have a color printer. You can also manage
-complex data sets by building large lists from smaller files in an
-object-oriented fashion.
-
-INSTALLATION
-------------
-The simplest way to install the tools in the package is to make a
-subdirectory in the search path of your TeX, FTP all of the source files to
-that directory, and run "latex allcal.ins". You should then be able to run
-the demonstration files. Note that demoover.tex and demodate.tex do not
-produce any printed output; these files just demonstrate the capabilities of
-the relevant code on the terminal.
-
-UPGRADING
----------
-If there is a previous version of the LaTeX Calendar package on your system,
-these files should be used as a complete replacement. Each release
-is likely to incorporate bug-fixes or enhancements that affect several
-files, so it is best to save yourself the potential frustration of
-a broken installation and do it from scratch each time.
-
-WHAT'S NEW
-----------
-==Version 3.1==
-The LaTeX Calendar Bundle now speaks HTML. Language support and
-documentation have also vastly improved. You can now specify any language
-as the default, AND you can include multiple languages in a single *.cld
-file, choosing which text to include when a calendar is actually produced.
-There is now ONE manual, that tells you everything you need to know.
-
-==Version 2.2==
-Lots of bugfixes, large and small.
-
-First day in yearly calendars can now be selected at run time.
-
-Parsing code greatly optimized. Note that only the first letter
-of words in date text is now downcased.
-
-Documentation in timetabl.dtx improved.
-
-==Version 2.1==
-A lot of redundant and ornamental processing has been eliminated,
-and the package is slightly faster now.
-
-A bug affecting 2nd and subseqent pages in the Timesheets package
-has been fixed.
-
-The behaviour of "every other" declarations has been modified
-to make this slightly more useful. See calman.tex for details.
-
-Validation of entries has been tightened up somewhat.
-
-==Version 2.0==
-The "weekly" package and its supporting style "autofilo.sty" creates
-calendars in Filofax(TM) format (those little ring-binder-type things that
-seem such a good idea until you discover how much the commercially printed
-pages cost). All page parameters, including the size, number and spacing
-of the punch-marks, are configurable.
-
-For Unix systems with Emacs and Tcl, the "mkaddr" package includes some
-hacks that can be used to generate Filofax(TM)-type-format address lists
-from an Emacs BBDB database (q.v.).
-
-The limitation in the code which demanded that a bogus entry be placed at
-the bottom of files in some circumstances to protect against reads beyond
-end of file has been eliminated. The syntax for use in *.cld files has also
-been slightly modified to make the interface internally consistent; =all=
-declarations other than "freeze" are now meant to be followed by a
-description in squiggly braces.
-
-Anniversaries are now supported.
-
-Several cross-nested global/local assignments to the same variable, which
-produced "save size" errors with even relatively modest volumes of
-data, have been fixed. I =think= that bugs of this kind have been
-eliminated from the code, but if you do see this error on a large job,
-send me the logfile and I'll try to track the problem down.
-
-CONTRIBUTORS
-------------
-
-Most of the code in this package was written by Frank Bennett
-<fb@soas.ac.uk>. The core upon which it is based, however, is a collection
-of calendar macros for plain TeX, still available in the plain TeX area on
-CTAN. Very slightly modified versions of these macros are the means used
-for generating dates, identifying days of the week and so forth. These
-macros were released anonymously; if anyone can tell me who wrote them, I
-will include their author among the credits here.
-
-Christian Horn and Miroslav Novak did beta-testing of early versions of
-Bennett's LaTeX code, and their help is gratefully acknowledged here. The
-"Timetable" package was suggested by Miroslav Novak, and implemented by
-Bennett. Edward Czilli provided invaluable feedback in the testing phase of
-versions 2.0, 2.1 and 2.2. Thanks are also due for comments and bug reports
-received from Jason Alexander, Edward J. Czilli, Bob Fiegel, Lico Hoekema,
-and Gabrielle Owen. To everyone who has corresponded with me about the
-package, I want to convey my sincerest thanks.
-
-Enjoy!
-
-Frank Bennett
-fb@soas.ac.uk
diff --git a/Master/texmf-dist/source/latex/calendar/allcal.ins b/Master/texmf-dist/source/latex/calendar/allcal.ins
deleted file mode 100644
index df226cb5c4e..00000000000
--- a/Master/texmf-dist/source/latex/calendar/allcal.ins
+++ /dev/null
@@ -1,193 +0,0 @@
-%\iffalse
-% allcal.ins,v
-% Revision 3.1 1998/01/17 16:55:22 root
-% Release code
-%
-% Revision 2.10 1998/01/16 21:12:52 root
-% *** empty log message ***
-%
-% Revision 2.9 1998/01/16 21:08:40 root
-% *** empty log message ***
-%
-% Revision 2.8 1998/01/16 19:22:55 root
-% *** empty log message ***
-%
-% Revision 2.7 1997/12/06 21:13:24 root
-% Changed filoaddr.sty to filoaddr.cls
-%
-% Revision 2.6 1997/12/06 08:53:32 root
-% Log offset fixed.
-%
-%Revision 2.5 1997/12/06 08:50:25 root
-%Fixed missing log entry.
-%
-% allcal.ins,v
-% Revision 2.1.1.1 1997/11/01 15:36:56 bennett
-% *** empty log message ***
-%
-% Revision 2.1 1997/11/01 14:40:45 root
-% Release code.
-%
-% Revision 1.4 1997/10/30 20:13:44 root
-% Added \IfFileExists conditionals that paternalistically attempt
-% to determine whether it's worth calling the existence of the
-% Tcl/Emacs facilities to the attention of the user.
-%
-% Revision 1.3 1997/10/30 06:13:56 root
-% Eliminated extract-all-installation-files option.
-%
-% Revision 1.2 1997/10/29 08:40:33 root
-% Simple test of RCS.
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%\fi
-%
-\def\batchfile{allcal.ins}
-\input docstrip.tex
-
-\def\calextract#1#2#3#4{%
- \IfFileExists{#1.dtx}{%
- \ifcat$#4$\def\calexfn{#1}\else\def\calexfn{#4}\fi
- \generate{
- \file{\calexfn.#2} {\from{#1.dtx}{#3}}}}
- \relax}
-
-\keepsilent
-
-\preamble
-This file is part of the Calendar package,
-Copyright (C) 1996, 1997 Frank Bennett, Jr.
-All rights reserved.
-------------------------------------------
-
-IMPORTANT NOTICE:
-
-You are not allowed to change this file. You may however copy
-this file to a file with a different name and then change the
-copy if (a) you do not charge for the modified code, (b) you
-acknowledge the author of this file in the new file, if it
-is distributed to others, and (c) you attach these same
-conditions to the new file.
-
-You are not allowed to distribute this file alone. You are not
-allowed to take money for the distribution or use of this file
-(or a changed version) except for a nominal charge for copying
-etc.
-
-You are allowed to distribute this file under the condition that
-it is distributed with all of its contents, intact.
-
-For error reports, or offers to help make this a more powerful,
-friendlier, and altogether more thrilling package, please contact me on
-fb@soas.ac.uk. Better yet, make a contribution to
-my pension. Account details available on request.
-------------------------------------------
-
-\endpreamble
-
-\Ask\demo{%
-^^JUnpack demonstration files? (optional) ^^J (y/n):
-}
-
-\newif\if@Emacs
-\IfFileExists{/usr/bin/emacs}{\@Emacstrue}{}
-\IfFileExists{/usr/local/bin/emacs}{\@Emacstrue}{}
-\IfFileExists{/usr/bin/mule}{\@Emacstrue}{}
-\IfFileExists{/usr/local/bin/mule}{\@Emacstrue}{}
-\if@Emacs
-\IfFileExists{/usr/bin/tclsh}{\@Emacstrue}{}
-\IfFileExists{/usr/local/bin/tclsh}{\@Emacstrue}{}
-\IfFileExists{/usr/bin/expect}{\@Emacstrue}{}
-\IfFileExists{/usr/local/bin/expect}{\@Emacstrue}{}
-\Ask\unix{%
-^^JUnpack address management files, meant for use on Unix systems (optional) ^^J (y/n):
-}
-\else
-\message{If you are a Unix user and install Emacs, Tcl and the BBDB email}
-\message{database, this pacakge contains a set of scripts that can be used}
-\message{to print address lists for your personal diary.}
-\fi
-
-\Ask\overwrite{%
-^^JBlindly OVERWRITE existing files (careful with this one) ^^J (y/n):
-}
-
-\ifx\overwrite\y\askforoverwritefalse\fi
-
-\calextract{overword}{sty}{style}{}
-\calextract{dates}{sty}{style}{}
-\calextract{calendar}{sty}{style}{}
-\calextract{evntlist}{sty}{style}{}
-\calextract{autofilo}{sty}{style}{}
-\calextract{monthly}{sty}{class}{}
-\calextract{timesht}{sty}{package}{}
-\calextract{timetabl}{sty}{package}{}
-\calextract{weekly}{cls}{class}{}
-\calextract{yearly}{sty}{style}{}
-\calextract{htmlstuf}{sty}{htmlmonth}{hmonth}
-\calextract{htmlstuf}{sty}{htmlevent}{hlist}
-\calextract{htmlstuf}{sty}{htmlmonthevent}{hml}
-
-\ifx\demo\y
- \bgroup
-
-\preamble
-\endpreamble
-
-\postamble
-\endpostamble
-
- \def\ins{n}
- \calextract{dates}{tex}{demo}{demodate}
- \calextract{overword}{tex}{demo}{demoover}
- \calextract{caldemos}{cld}{1997}{demo1997}
- \calextract{caldemos}{cld}{appts}{demoapt}
- \calextract{caldemos}{cld}{apptsr}{demoaptr}
- \calextract{caldemos}{cld}{demolist}{demolist}
- \calextract{caldemos}{cld}{events}{demoevt}
- \calextract{caldemos}{cld}{eventsr}{demoevtr}
- \calextract{caldemos}{tex}{monthly}{demomont}
- \calextract{caldemos}{tex}{timesht}{demotsht}
- \calextract{caldemos}{tex}{timetabl}{demottbl}
- \calextract{caldemos}{tex}{weekly}{demowkly}
- \calextract{caldemos}{tex}{yearly}{demoyrly}
- \calextract{caldemos}{tex}{evntlist}{demoevnt}
- \calextract{caldemos}{tex}{hmonth}{demohmth}
- \calextract{caldemos}{tex}{hlist}{demohlst}
- \calextract{caldemos}{tex}{hml}{demohml}
- \egroup
-\fi
-
-\ifx\unix\y
-
-\preamble
-\endpreamble
-
-\postamble
-\endpostamble
-
-\def\WritePreamble#1{}
-\def\WritePostamble#1{}
-
-\generate{\file{mkaddr.Frank}{\from{mkaddr.dtx}{format}}
- \file{mkaddr.tcl}{\from{mkaddr.dtx}{script}}
- \file{dotemacs}{\from{mkaddr.dtx}{elisp}}
- \file{filoaddr.cls}{\from{mkaddr.dtx}{style}}
- \file{dvipshpplotq}{\from{plotutil.dtx}{script}}
- \file{hpplotsz.sty}{\from{plotutil.dtx}{style}}
- }
-\fi
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation, you have to move all *.sty}
-\Msg{* and *.cls files into a directory searched by TeX.}
-\Msg{*}
-\IfFileExists{mkaddr.dtx}{\ifx\unix\y
-\Msg{* You might also want to move the "mkaddr" file into your}
-\Msg{* executable search path after reading the documentation}
-\Msg{* in mkaddr.dtx and experimenting with the script to see}
-\Msg{* if you find it useful.}
-\Msg{*}\fi}\relax
-\Msg{***********************************************************}
diff --git a/Master/texmf-dist/source/latex/calendar/autofilo.dtx b/Master/texmf-dist/source/latex/calendar/autofilo.dtx
deleted file mode 100644
index 34151b19e02..00000000000
--- a/Master/texmf-dist/source/latex/calendar/autofilo.dtx
+++ /dev/null
@@ -1,642 +0,0 @@
-%\iffalse
-%
-% file: autofilo.dtx
-% Copyright (C) 1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author of this file in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk. Better yet, make a contribution to
-% my pension. Account details available on request.
-%
-%\fi
-%
-% \def\fileversion{3.1.1.1}
-% \def\filedate{1998/01/17 18:13:42}
-%
-% \iffalse
-%
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{autofilo.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% autofilo.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:13:42 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 16:56:58 root
-% Release code
-%
-% Revision 2.8 1998/01/16 11:52:55 root
-% *** empty log message ***
-%
-% Revision 2.7 1998/01/15 10:45:24 root
-% Filofax page now comes out centered on the physical page.
-% Just fold the thing in half and cut.
-%
-% Revision 2.6 1997/12/05 17:01:48 root
-% Added zero width vrule to force left-hand cut rule to right
-% position even when jawline has no width.
-%
-% Revision 2.5 1997/12/05 13:47:40 root
-% Fixed quandary of overlapping revisions.
-%
-% Revision 2.4 1997/12/05 12:14:08 root
-% Fixed missing brace in af@circle, and added RequirePackage
-% for keyval parser.
-% Revision 2.2.1.5 1997/11/26 11:07:51 bennett
-% Final change to documentation.
-%
-% Revision 2.2.1.4 1997/11/07 16:27:06 root
-% Fixed checksum, added some documentation for the jawmarks
-% code.
-%
-% Revision 2.2.1.3 1997/11/07 16:15:14 root
-% Final fixes to jawmark code, maybe.
-%
-% Revision 2.2.1.2 1997/11/07 16:10:59 root
-% Patched up code for jaw marks.
-%
-% Revision 2.2.1.1 1997/11/07 14:57:37 root
-% Trial code for jaw marks.
-%
-% Revision 2.4 1997/12/05 12:14:08 root
-% Fixed missing brace in af@circle, and added RequirePackage
-% for keyval parser.
-%
-% Revision 2.3 1997/11/07 14:52:50 root
-% Added trial code for jaw marks.
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 15:17:06 bennett
-% Release code.
-%
-% Revision 1.2 1997/10/29 20:03:07 bennett
-% *** empty log message ***
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-% \title{User's Guide to the \texttt{autofilo}
-% package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate{}.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \begin{abstract}
-% \noindent This package provides an environment
-% within which pages are framed with cut lines and
-% printed with punch-marks, so that printed text can
-% easily be inserted into a filofax or binder.
-% \end{abstract}
-%
-% \CheckSum{692}
-%
-% \section{About the Style}
-%
-% This style provides a rough solution to the design
-% problem it addresses, but it does work. Pages are
-% always printed in landscape, rotated using the "lscape"
-% package from the "graphics" bundle, and centered on the
-% physical paper.\footnote{As a technical note, the frame itself
-% is not rotated, because it is inserted independently of
-% the output boxes controlled by the \LaTeX{} output routine.
-% The output modes (two-column,
-% and a hacked-together four-column mode) have
-% been modified to understand blocks of text as \cs{hbox}es
-% to be laid atop one another, rather than as \cs{vbox}es
-% to be set alongside one another.} It accepts two options,
-% "twocolumn" (the default) and "fourcolumn".
-%
-% The style provides an environment called "autofilo".
-% Most often, users of this package will be style
-% authors who want to incorporate it into other
-% environments that do more specific things. Because
-% "autofilo" accepts several "keyval"-style parameters,
-% style authors may have a use for documentation for those
-% optional parameters. So here is some sample documentation:
-%
-% \begin{description}
-% \item[\texttt{punchcluster}] Most filofaxes have two or
-% or more clusters or groups of punches to hold the
-% pages in place. This option sets the number of punches
-% in each cluster. The default is three.
-% \item[\texttt{intraspace}] This governs the space
-% between punchouts within a group. The default is
-% 19.25mm.
-% \item[\texttt{punchgroups}] This option sets the number
-% of groups of punches. The default is two groups.
-% \item[\texttt{interspace}] This option sets the
-% distance between the groups of punches. The default
-% is 51.25mm.
-% \item[\texttt{pageheight}] This fixes the height
-% of a filofax page (not the physical paper on
-% which it is printed). The default is 172mm.
-% \item[\texttt{pagewidth}] This fixes the width of an individual
-% page. The physical printed area will be twice this figure.
-% The default is 95mm, for a 190mm printed area.
-% \item[\texttt{grip}] This adjusts the distance from the
-% edge of the page to the outer edge of the punchouts.
-% Defaults to 5mm.
-% \item[\texttt{punchmargin}] This adjusts the distance from the
-% edge of the text to the inner edge of the punchouts.
-% Defaults to 2mm.
-% \item[\texttt{punchsize}] Size, in points, of punchouts.
-% Defaults to 15.
-% \item[\texttt{topspace}] Gap between top of filofax page
-% and top of text page.
-% \item[\texttt{bottomspace}] Gap between bottom of filofax page
-% and bottom of text page.
-% \item[\texttt{jawspread}] If set to a positive length, this places a set
-% of rules the width of the punchmarks on either side of each
-% punchhole, centered on its center and spread the distance specified.
-% This can be useful as a guide with some one-hole punches that are
-% designed to be used ``blind''.
-% \item[\texttt{jawline}] Sets the width of the lines used to make
-% jawmarks. The default value is \texttt{0.4pt}.
-% \end{description}
-%
-% \StopEventually{\PrintIndex}
-%
-% \section{The Class File}
-%
-% \begin{macrocode}
-%<*style>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{autofilo}
- [1997/12/05 12:14:08 2.4 Filofax page outlines (Frank Bennett)]
-% \end{macrocode}
-% We need a boolean to process our sole option.
-% \begin{macrocode}
-\newif\if@usequadruplecolumn
-% \end{macrocode}
-% We provide four columns as an option. Two columns (one for
-% each side of what will be the filofax page) will be the
-% default.
-% \begin{macrocode}
-\DeclareOption{fourcolumn}{\@usequadruplecolumntrue}
-% \end{macrocode}
-% Process the option if present, and load a supporting package.
-% \begin{macrocode}
-\ProcessOptions
-\RequirePackage{lscape}
-\RequirePackage{keyval}
-% \end{macrocode}
-% Declare some variables.
-% \begin{macrocode}
-\newif\if@quadruplecolumn
-\newbox\@leftleftcolumn
-\newbox\@leftrightcolumn
-\newbox\@rightleftcolumn
-\newbox\@rightrightcolumn
-\newcount\af@punchcluster
-\newcount\af@punchgroups
-\newlength\af@interspace
-\newlength\af@intraspace
-\newlength\af@grip
-\newlength\af@punchmargin
-\newcount\af@punchsize
-\newlength\af@punchwidth
-\newlength\af@halfpunchwidth
-\newcount\af@subtempcount
-\newcount\af@tempcount
-\newlength\af@textwidth
-\newlength\af@marginrel
-\newlength\af@halftextwidth
-\newlength\af@textheight
-\newlength\af@topmargin
-\newlength\af@bottommargin
-\newcount\col@no
-\newlength\af@jawspread
-\newlength\af@halfjawspread
-\newlength\af@jawline
-% \end{macrocode}
-% We'll need a macro to turn on the four-column mode.
-% This is just a modified version of \cs{twocolumn} in
-% the \LaTeX{} distribution.
-% \begin{macrocode}
-\def\quadruplecolumn{%
- \clearpage
- \global\columnwidth\textwidth
- \global\advance\columnwidth-3\columnsep
- \global\divide\columnwidth by4\relax
- \global\hsize\columnwidth
- \global\linewidth\columnwidth
- \global\@twocolumntrue
- \global\@quadruplecolumntrue
- \global\@firstcolumntrue
- \col@number=4\relax}
-% \end{macrocode}
-% Catch the output routine when the new mode is in effect.
-% \begin{macrocode}
-\def \@opcol {%
- \if@twocolumn
- \if@quadruplecolumn
- \@outputqdrplcol
- \else
- \@outputdblcol
- \fi
- \else
- \@outputpage
- \fi
- \global \@mparbottom \z@ \global \@textfloatsheight \z@
- \@floatplacement}
-% \end{macrocode}
-% Add a new output routine for the new mode, and a modified
-% version of the two-column output routine. Note that these
-% work \textit{only} inside the \texttt{landscape} environment.
-% \begin{macrocode}
-\def\@outputqdrplcol{%
- \ifcase\col@no
- \global\@firstcolumnfalse
- \global \setbox\@leftleftcolumn \box\@outputbox
- \or
- \global \setbox\@leftrightcolumn \box\@outputbox
- \or
- \global \setbox\@rightleftcolumn \box\@outputbox
- \or
- \global \@firstcolumntrue
- \global\setbox\@rightrightcolumn\box\@outputbox
- \setbox\@outputbox \vbox to\textwidth{%
- \hb@xt@\textheight {%
- \vrule height\columnwidth depth0pt width0pt
- \box\@rightrightcolumn \hss}%
- \vfill
- \hrule \@width\columnseprule
- \vfill
- \hb@xt@\textheight {%
- \vrule height\columnwidth depth0pt width0pt
- \box\@rightleftcolumn \hss}%
- \vfill
- \hrule \@width\columnseprule
- \vfill
- \hb@xt@\textheight {%
- \vrule height\columnwidth depth0pt width0pt
- \box\@leftrightcolumn \hss}%
- \vfill
- \hrule \@width\columnseprule
- \vfill
- \hb@xt@\textheight {%
- \box\@leftleftcolumn \hss}%
- }%
- \@combinedblfloats
- \@outputpage
- \begingroup
- \@dblfloatplacement
- \@startdblcolumn
- \@whilesw\if@fcolmade \fi
- {\@outputpage
- \@startdblcolumn}%
- \endgroup
- \fi
- \global\advance\col@no by1\relax
- \ifnum\col@no=4\relax\global\col@no=0\fi}
-\def\@outputdblcol{%
- \if@firstcolumn
- \global \@firstcolumnfalse
- \global \setbox\@leftcolumn \box\@outputbox
- \else
- \global \@firstcolumntrue
- \setbox\@outputbox \vbox to\textwidth{%
- \hbox to\textheight{%
- \box\@outputbox}%
- \vfil
- \hrule \@width\columnseprule
- \vfil
- \hbox to\textheight{%
- \box\@leftcolumn}}%
- \@combinedblfloats
- \@outputpage
- \begingroup
- \@dblfloatplacement
- \@startdblcolumn
- \@whilesw\if@fcolmade \fi
- {\@outputpage
- \@startdblcolumn}%
- \endgroup
- \fi
-}
-% \end{macrocode}
-% We use circles to make punchmarks.
-% When making circles, \TeX{} will put the center of the
-% circle at point, but consume horizontal space equal
-% to the full diameter of the circle. To compensate,
-% we need to skip forward by radius, and back again
-% after laying each circle.
-% \begin{macrocode}
-\def\af@circle{\hbox{\hskip\af@halfpunchwidth%
- \ifnum\af@jawspread>0\relax%
- \hskip-\af@halfjawspread%
- \hskip-\af@jawline%
- \vrule depth\af@halfpunchwidth%
- height\af@halfpunchwidth%
- width\af@jawline%
- \hskip\af@halfjawspread%
- \else%
- \vrule depth\af@halfpunchwidth%
- height\af@halfpunchwidth%
- width0pt%
- \fi%
- \circle{\af@punchsize}%
- \hskip-\af@punchwidth%
- \ifnum\af@jawspread>0\relax%
- \hskip\af@halfjawspread%
- \vrule depth\af@halfpunchwidth%
- height\af@halfpunchwidth
- width\af@jawline%
- \hskip-\af@halfjawspread%
- \hskip-\af@jawline%
- \fi%
- \hskip-\af@halfpunchwidth}}
-% \end{macrocode}
-% We define a looping command that lays down a cluster
-% of circles. Grouping allows this loop to be nested
-% in another.
-% \begin{macrocode}
-\def\af@group{%
- \bgroup%
- \af@tempcount=0%
- \af@circle%
- \loop\advance\af@tempcount by1\relax%
- \ifnum\af@tempcount<\af@punchcluster%
- \hskip\af@intraspace\relax\af@circle%
- \repeat%
- \egroup}
-% \end{macrocode}
-% We define a command that lays down a set of clusters
-% (groups).
-% \begin{macrocode}
-\def\af@circles{%
- \af@tempcount=0\relax%
- \af@group%
- \loop\advance\af@tempcount by1\relax%
- \ifnum\af@tempcount<\af@punchgroups%
- \hskip\af@interspace\relax\af@group%
- \repeat%
- \af@tempcount=0}
-% \end{macrocode}
-% The following command creates a set of punchmarks.
-% \begin{macrocode}
-\def\af@punches{%
- \hbox to\af@textheight{\hfil\af@circles\hskip\af@halfpunchwidth\relax\hfil}}
-% \end{macrocode}
-% The following creates a frame. The model was lifted from the "geometry"
-% package.
-% \begin{macrocode}
-\def\@@@innerframe{%
- \moveright-\af@topmargin%
- \vbox to 0pt{%
- \vskip\topmargin%
- \vbox to0pt{\hrule width\af@textheight\vss}%
- \hbox to\af@textheight{\llap{\vrule height\af@textwidth}%
- \hfil\vrule height\af@textwidth}%
- \vskip-\af@halftextwidth%
- \vbox to0pt{\hrule width\af@textheight\vss}%
- \vskip-\af@halftextwidth%
- \vskip\af@grip%
- \nointerlineskip\af@punches\nointerlineskip%
- \vskip-\af@punchwidth%
- \vskip-\af@grip%
- \vskip\af@textwidth%
- \vskip-\af@punchwidth%
- \vskip-\af@grip%
- \nointerlineskip\af@punches\nointerlineskip%
- \vskip\af@grip%
- \vbox to0pt{\hrule width\af@textheight\vss}%
- \vss}}%
-% \end{macrocode}
-% A further modification of the output routine,
-% this time to put the frame in place. This, too, is
-% lifted from "geometry". It has been modified only
-% slightly, but we drop \LaTeX 2.09 support altogether.
-% \begin{macrocode}
-\newif\if@latextwoe
-\@ifundefined{if@compatibility}{\@latextwoefalse}{\@latextwoetrue}
-\if@latextwoe
-\def\@outputpage{%
-\begingroup % the \endgroup is put in by \aftergroup
- \let \protect \noexpand
- \@resetactivechars
- \let\-\@dischyph
- \let\'\@acci\let\`\@accii\let\=\@acciii
- \let\\\@normalcr
- \let\par\@@par %% 15 Sep 87
- \shipout \vbox{%
- \set@typeset@protect
- \aftergroup \endgroup
- \aftergroup \set@typeset@protect
- \if@specialpage
- \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
- \fi
- \if@twoside
- \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
- \let\@themargin\oddsidemargin
- \else \let\@thehead\@evenhead
- \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
- \fi
- \fi
- \reset@font
- \normalsize
- \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
- \@begindvi
- \moveright\@themargin %<<<<<<<<<<<<<<<<<<<<< added
- \vtop{\@@@innerframe %<<<<<<<<<<<<<<<<<<<<< added
- \vskip \topmargin
- \vskip \af@marginrel
-% \moveright\@themargin \vbox OPENBRACE %<<<<<<<<<<<< original
- \moveright\af@topmargin% <<<<<<<<<<<< Bennett
- \vbox{% %<<<<<<<<<<<<<<<<<<<<< modified
- \setbox\@tempboxa \vbox to\headheight{%
- \vfil
- \color@hbox
- \normalcolor
- \hb@xt@\textwidth {%
- \let \label \@gobble
- \let \index \@gobble
- \let \glossary \@gobble %% 21 Jun 91
- \@thehead
- }%
- \color@endbox
- }% %% 22 Feb 87
- \dp\@tempboxa \z@
- \box\@tempboxa
- \vskip \headsep
- \box\@outputbox
- \baselineskip \footskip
- \color@hbox
- \normalcolor
- \hb@xt@\textwidth{%
- \let \label \@gobble
- \let \index \@gobble %% 22 Feb 87
- \let \glossary \@gobble %% 21 Jun 91
- \@thefoot
- }%
- \color@endbox
- }}%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< One more close bracket added
- }%
-\global \@colht \textheight
-\stepcounter{page}%
-\let\firstmark\botmark
-}
-\else
-\message{Sorry, autofilo.sty works only with LaTeX2e}
-\fi
-% \end{macrocode}
-% Set some global parameters.
-% \begin{macrocode}
-\headheight=0pt
-\headsep=0pt
-\footskip=0pt
-\marginparwidth=0pt
-\marginparsep=0pt
-\pagestyle{empty}
-\parindent=0pt
-\raggedbottom
-\columnseprule=0.0pt%
-\raggedright
-% \end{macrocode}
-% Some option definitions.
-% \begin{macrocode}
-\define@key{opt}{pageheight}{%
- \af@textheight=#1\relax}
-\define@key{opt}{pagewidth}{%
- \af@halftextwidth=#1\relax}
-\define@key{opt}{columnsep}{%
- \columnsep=#1\relax}
-\define@key{opt}{punchcluster}{%
- \af@punchcluster=#1}
-\define@key{opt}{punchgroups}{%
- \af@punchgroups=#1}
-\define@key{opt}{interspace}{%
- \af@interspace=#1}
-\define@key{opt}{intraspace}{%
- \af@intraspace=#1}
-\define@key{opt}{grip}{%
- \af@grip=#1}
-\define@key{opt}{punchmargin}{%
- \af@punchmargin=#1}
-\define@key{opt}{punchpoints}{%
- \af@punchsize=#1}
-\define@key{opt}{topspace}{%
- \af@topmargin=#1}
-\define@key{opt}{bottomspace}{%
- \af@bottommargin=#1}
-\define@key{opt}{jawspread}{%
- \af@jawspread=#1}
-\define@key{opt}{jawline}{%
- \af@jawline=#1}
-% \end{macrocode}
-% The default values for the options.
-% \begin{macrocode}
-\af@textheight=172mm
-\af@halftextwidth=95mm
-\columnsep=14pt
-\af@punchcluster=3
-\af@punchgroups=2
-\af@interspace=51.25mm
-\af@intraspace=19.25mm
-\af@grip=5mm
-\af@punchmargin=2mm
-\af@punchsize=15
-\af@topmargin=2pt
-\af@bottommargin=0pt\relax
-\af@jawline=0.4pt%
-% \end{macrocode}
-% The remaining dimensions must be calculated inside
-% the landscape environment. We define that now.
-% \begin{macrocode}
-\def\autofilo#1{%
- \setkeys{opt}{#1}%
- \oddsidemargin=-1in\relax%
- \af@textwidth\paperwidth%
- \advance\af@textwidth by-\af@textheight%
- \divide\af@textwidth by2\relax%
- \advance\oddsidemargin by\af@textwidth%
- \evensidemargin=-1in\relax%
- \advance\evensidemargin by\af@textwidth%
- \topmargin=-1in\relax%
- \af@textwidth\paperheight%
- \advance\af@textwidth by-\af@halftextwidth%
- \advance\af@textwidth by-\af@halftextwidth%
- \divide\af@textwidth by2\relax%
- \advance\topmargin by\af@textwidth\relax%
- \landscape%
- \af@halfjawspread\af@jawspread%
- \divide\af@halfjawspread by2\relax%
- \af@punchwidth=\af@punchsize pt%
- \af@halfpunchwidth\af@punchwidth%
- \divide\af@halfpunchwidth by2%
- \textheight\af@textheight%
- \advance\textheight by-\af@topmargin%
- \advance\textheight by-\af@bottommargin%
- \af@textwidth\af@halftextwidth%
- \multiply\af@textwidth by2\relax%
- \textwidth=\af@textwidth%
- \advance\textwidth by-2\af@punchwidth%
- \advance\textwidth by-2\af@grip%
- \advance\textwidth by-2\af@punchmargin%
- \af@marginrel\af@grip%
- \advance\af@marginrel by\af@punchmargin%
- \advance\af@marginrel by\af@punchwidth%
- \vsize\textheight%
- \hsize\textwidth%
- \@colroom\vsize%
- \@colht\vsize%
- \if@usequadruplecolumn%
- \quadruplecolumn%
- \else%
- \twocolumn%
- \fi}
-% \end{macrocode}
-% The end of the environment is a simple thing.
-% \begin{macrocode}
-\def\endautofilo{%
- \endlandscape}
-%</style>
-% \end{macrocode}
-% \Finale \PrintChanges
-
-
-
-
-
diff --git a/Master/texmf-dist/source/latex/calendar/bigdemo.tgz b/Master/texmf-dist/source/latex/calendar/bigdemo.tgz
deleted file mode 100644
index 4f130a83493..00000000000
--- a/Master/texmf-dist/source/latex/calendar/bigdemo.tgz
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/source/latex/calendar/caldemos.dtx b/Master/texmf-dist/source/latex/calendar/caldemos.dtx
deleted file mode 100644
index 6947f02f599..00000000000
--- a/Master/texmf-dist/source/latex/calendar/caldemos.dtx
+++ /dev/null
@@ -1,212 +0,0 @@
-%\iffalse
-%
-% file: demos.dtx
-% 1996-1997 by Frank Bennett. All rights reserved.
-%
-% Unlike the rest of the files in this package, these files
-% can be freely modified in any way you like.
-%
-%\fi
-%
-% \iffalse
-%
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{caldemos.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \CheckSum{70}
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% caldemos.dtx,v
-% Revision 2.4 1998/01/16 21:23:26 root
-% *** empty log message ***
-%
-% Revision 2.3 1997/11/26 11:14:51 bennett
-% *** empty log message ***
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.3 1997/11/06 09:36:41 root
-% Eliminated list inclusions from demoyrly.texx
-%
-% Revision 2.1.1.2 1997/11/04 14:47:18 root
-% Fixed pinpoint dates in "every other" demo (if I remember this
-% one correctly).
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 15:15:52 bennett
-% Release code.
-%
-% Revision 1.2 1997/10/29 20:05:06 bennett
-% *** empty log message ***
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-% \StopEventually{\PrintIndex}
-%
-% \begin{macrocode}
-%<*evntlist>
-\documentclass{article}
-\usepackage{evntlist}
-\begin{document}
-\begin{eventlist}
- {}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{eventlist}
-\end{document}
-%</evntlist>
-%<*hlist>
-\documentclass{article}
-\usepackage{hlist}
-\begin{document}
-\begin{htmllist}
- {outputfile=demohlst.htm}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{htmllist}
-\end{document}
-%</hlist>
-%<*hmonth>
-\documentclass{article}
-\usepackage{hmonth}
-\begin{document}
-\begin{htmlmonth}
- {outputfile=demohmth.htm}
- {demolist,demoaptr,demoevtr}
- january 1997
-\end{htmlmonth}
-\end{document}
-%</hmonth>
-%<*hml>
-\documentclass{article}
-\usepackage{hml}
-\begin{document}
-\begin{htmlmonthlist}
- {outputfile=demohml.htm}
- {demolist,demoaptr,demoevtr}
- january 1997
-\end{htmlmonthlist}
-\end{document}
-%</hml>
-%<*monthly>
-\documentclass[a4paper]{article}
-\usepackage{monthly}
-\usepackage{margins}
-\usepackage{lscape}
-% \usepackage{color}
-\parindent=0pt
-\begin{document}
-\margins{1.5cm}
-\begin{landscape}
-\begin{monthly}
- {}
- {demolist,demoaptr,demoevtr}
- january 1997
-\end{monthly}
-\end{landscape}
-\end{document}
-%</monthly>
-%<*timesht>
-\documentclass[a4paper]{article}
-% \usepackage{color}
-\usepackage{timesht}
-\usepackage{margins}
-\begin{document}
-\margins{1.5cm}
-\begin{timesheet}
- {leftright=3/5}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{timesheet}
-\end{document}
-%</timesht>
-%<*timetabl>
-\documentclass[a4paper]{article}
-\usepackage{timetabl}
-% \usepackage{color}
-\usepackage{margins}
-\begin{document}
-\margins{1.5cm}
-\begin{timetable}
- {title=Our Amazing Eclectic Conference}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{timetable}
-\end{document}
-%</timetabl>
-%<*weekly>
-\documentclass[a4paper]{weekly}
-% \usepackage{color}
-\begin{document}
-\begin{weekly}
- {}
- {demolist,demoaptr,demoevtr}
- january 1 1997 to january 3 1997
-\end{weekly}
-\end{document}
-%</weekly>
-%<*yearly>
-\documentclass[a4paper]{article}
-\usepackage{yearly}
-% \usepackage{color}
-\parindent=0pt\relax
-\begin{document}
-\begin{yearly}
- {}
- {}
- 1997
-\end{yearly}
-\end{document}
-%</yearly>
-%<*1997>
-January 1 1997 to December 31 1997 {The year 1997}
-%</1997>
-%<*appts>
-jan 1 1997 16:00 {Nancy} [Call Nancy to confirm]
-jan 1 1997 18:00-20:00 {Dinner} [New Year Dinner]
-%</appts>
-%<*apptsr>
-range demo1997 {Current year}
-every Monday 14:00-16:00 {Monday meeting}
-every other Wednesday from 1 January 1997 10:00 {Wednesday call}
-every 3 10:00-13:00 {Koffee klatch}
-every first Tuesday 13:00-15:00 {Study group}
-%</apptsr>
-%<*demolist>
-list demoevt {A separate list of events}
-list demoapt {A separate list of appointments}
-%</demolist>
-%<*events>
-jan 1 1997 {New Year} [New Year's Day]
-%</events>
-%<*eventsr>
-range demo1997
-every Monday {Monday event}
-every other friday from 10 january 1997 {Alternate Monday}
-every 3 {Third of month}
-every first Tuesday {First Tuesday}
-%</eventsr>
-% \end{macrocode}
-% \Finale \PrintChanges
-
-
diff --git a/Master/texmf-dist/source/latex/calendar/calendar.dtx b/Master/texmf-dist/source/latex/calendar/calendar.dtx
deleted file mode 100644
index 827b8752f1b..00000000000
--- a/Master/texmf-dist/source/latex/calendar/calendar.dtx
+++ /dev/null
@@ -1,1975 +0,0 @@
-%\iffalse
-%
-% File calendar.dtx
-% Copyright (C) 1996, 1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author(s) in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make Calendar a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk
-%
-%<*dtx>
- \ProvidesFile{calendar.dtx}
-%</dtx>
-%<style>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-%<style>\ProvidesPackage{calendar}
-%<style> [1998/01/17 18:14:52 3.1.1.1 Calendar engine (Frank Bennett)]
-% \fi
-%
-% \def\fileversion{3.1.1.1}
-% \def\filedate{1998/01/17 18:14:52}
-%
-%
-% \iffalse
-%<*driver>
-\documentclass{ltxdoc}
-%\usepackage[dvips]{color}
-%\CodelineIndex
-%\EnableCrossrefs
-%\RecordChanges
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{calendar.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \changes{v0.01}{1996/11/10}{Initial Version}
-% \changes{v0.02}{1996/11/11}{Replaced \TeX{} newcount with \LaTeXe{}
-% newcounter, and changed counters accordingly.}
-% \changes{v0.02}{1996/11/11}
-% {Incorporated higher maths functions into an option declaration
-% in the main file (was loaded from a separate file in original
-% \TeX{} version.)}
-% \changes{v0.03}{1996/11/12}{Complete re-draft of recursing routines,
-% with documentation.}
-% \changes{v0.03}{1996/11/12}{Drafting of the sort engine.}
-% \changes{v0.03}{1996/11/12}{Picked up some more counters that
-% hadn't been converted to \LaTeXe format.}
-% \changes{v0.03}{1996/11/12}{Wholesale cutting of old recursing
-% and formatting routines. The package is now a background engine;
-% it knows nothing about printing anymore.}
-% \changes{v0.04}{1996/11/17}{Introduction of parsing routines
-% and reorganization of entire package.}
-% \changes{v0.05}{1996/11/25}{Completed new parsing routines and finished
-% debugging of same.}
-% \changes{v0.05}{1996/11/25}{Completed sorting routines and finished
-% debugging of same.}
-% \changes{v0.06}{1996/11/27}{Added support for indicating a range of
-% dates in an input file, and for declaring recursive entries.}
-% \changes{v0.07}{1996/11/27}{Minor alterations to make the package
-% work for the timesheets demo. Another alpha release.}
-% \changes{v0.08}{1996/11/27}{No changes to this file; but the
-% README shipped to CTAN was for Nelson Beebe's makeindex. Ah,
-% the wonders of automation...}
-% \changes{v0.09}{1996/11/29}{Added maths routines for weekly
-% and monthly recursion. Nearly finished!}
-% \changes{v0.10}{1996/11/29}{Various bug fixes.}
-% \changes{v0.10}{1996/11/29}{Added routines for handling comments
-% in CLD files. Added demonstration files and comments thereto.}
-% \changes{v0.11}{1996/12/04}{Enhanced input and parsing routine.
-% Now handles entries across multiple lines, even with par, and does
-% not make characters active outside of the parsed text.}
-% \changes{v0.11}{1996/12/04}{Provided a check to prevent multiple
-% input of data files. Necessary to provide support for groups
-% of lists.}
-% \changes{v0.11}{1996/12/06}{Further work on the initial input
-% code, to provide for groups of lists and groups of groups.
-% This portion of the code is now complete.}
-% \changes{v0.11}{1996/12/07}{Code clean-up in the date parsing
-% routine; the code must be reasonably transparent if it is
-% to be used as a general date parsing engine in the package.}
-% \changes{v0.12}{1996/12/15}{Complete redraft commenced following the
-% removal of the overword and dates code to separate
-% eponymous packages. Recursive interface macro completed and
-% first cut of debugging done. Released with the Thumbnail demo.}
-% \changes{v1.0}{1996/12/26}{Far too many changes to document here.
-% Finished through to final, hopefully stable form, and packaged
-% with demonstration sub-packages for CTAN release.}
-% \changes{v1.11}{1997/01/07}{Moved LoadClass declaration from
-% bottom of the timesht.cls file to the top, so that margin
-% adjustments would not be overwritten and options would take effect.}
-% \changes{v1.11}{1997/01/07}{Added newpage to group break in timesheets style
-% file.}
-% \changes{v1.12}{1997/01/18}{Fixed bug in the timesheets package that often caused
-% one line in any *.cld entry spanning a range of times to appear in the wrong place.
-% The ending, rather than the starting minutes of the range were used to calculate
-% the current time position within the timesheet. Oops. This bug was reported by Miroslav Novak.}
-% \changes{v1.12}{1997/01/18}{Added code to correct another infelicity pointed
-% out by Miroslav Novak; the appearance of an item description line in timesheet
-% boxes where the ending time of the range for the item
-% is the starting time of the range in the box.}
-% \changes{v1.13}{1997/01/30}{Began work on improved
-% documentation. No promises that this will happen quickly\ldots}
-% \changes{v1.13}{1997/02/01}{Added color package to timesheets demo file.}
-% \changes{v1.13}{1997/02/01}{Added reference to need for color package
-% to documentation.}
-% \changes{v1.14}{1997/02/12}{Corrected an error lurking in cal@text@init
-% (which turned out to be unused code --- the error cropped up when
-% the code was extracted for explicit invocation in the Monthly style)
-% that swallowed all event text when color was not in force, and gave
-% rise to a fatal error otherwise. Oops.}
-% \changes{v1.14}{1997/02/16}{Caught initialization of blank (but
-% non-empty) entries in \texttt{cal@print@format}.}
-% \changes{v1.14}{1997/02/20}{Cut subpackages from this file;
-% too many packages now to for this to be manageable.}
-% \changes{v1.14}{1997/02/21}{Eliminated erroneous use of
-% cal@read for inputting *.eve files.}
-% \changes{v1.14}{1997/02/21}{Eliminated extraneous argument
-% to PackageWarning.}
-% \changes{v1.14}{1997/02/21}{Added comment chars to the end
-% of exported *.eve file event entries.}
-% \changes{v1.14}{1997/02/21}{Added initalization of exception
-% list and cal@append instruction to load events drawn from
-% an *.eve file into memory. We now have phases of the moon.}
-% \changes{v1.14}{1997/02/21}{Not a change, but a note of a bug.
-% A function such as moon.cld should be allowed to dynamically
-% change a function, and have the change register in the
-% theshorttext or thelongtext macros as the function recurses.
-% But the moon.cld phases only change on export, not during
-% the first run.}
-% \changes{v1.14}{1997/02/22}{Added cal@dates@base and the
-% \texttt{z} incrementing option. This gives us vertical
-% date columns without much work. For use in a conference
-% style package for Miroslav Novak.}
-% \changes{v1.14}{1997/02/23}{Added quick but very ugly
-% patch to allow non-printing text to be dropped on DVI
-% at the beginning of a subgroup.}
-% \changes{v1.14}{1997/03/01}{Made a number of variable assignments
-% global to prevent buildup in \TeX{}'s save space. Job
-% is not finished, but reliability has improved.}
-% \changes{v1.14}{1997/03/01}{Merged a large number of changes
-% into this ".dtx" file from the "*.sty" file.}
-% \changes{v1.14}{1997/03/01}{Cut superfluous documentation
-% from this file, and edited the remainder.}
-% \changes{v1.15}{1997/03/08}{Fixed bug in \texttt{cal@@@print@items}
-% that suppressed entries for a single time falling at the top
-% of a selected range of times.}
-% \changes{v1.16}{1997/05/19}{Minor changes to pass through language
-% options to the \texttt{dates} package.}
-% \changes{v1.17}{1997/10/18}{New public release of all styles
-% and modules incorporating global bug-fixes.}
-% \changes{v1.18}{1997/10/25}{Eliminated need for bogus entries
-% to protect against reads past end of file. }
-% \changes{v1.19}{1997/10/26}{One more cross-nesting, of \cs{cal@offset},
-% tracked down and eliminated.}
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% calendar.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:14:52 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 16:59:04 root
-% Release code
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.2 1997/11/05 12:38:40 root
-% Changed RAN to rAN.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 15:14:56 bennett
-% Release code.
-%
-% Revision 1.10 1997/11/01 14:28:10 root
-% Eliminated \enditall's from the package.
-%
-% Revision 1.9 1997/11/01 12:56:27 root
-% Added assignment to new counter \dates@range@limit.
-%
-% Revision 1.8 1997/10/31 21:56:23 root
-% Added hardwired \dates@requiremonthtrue immediately before
-% \cal@input.
-%
-% Revision 1.7 1997/10/29 20:06:34 bennett
-% *** empty log message ***
-%
-% Revision 1.6 1997/10/29 17:21:40 root
-% Further change affecting subgroup breaks?
-%
-% Revision 1.5 1997/10/29 16:52:21 root
-% Moved use of subgroup@setup to the right location (oops).
-%
-% Revision 1.4 1997/10/29 16:39:42 root
-% Added subgroup@setup to begin@subgroup, to guard against
-% starting the second and later pages of a timesheet with
-% the last time from the previous page. Thanks to Edward
-% Czilli for reporting this bug.
-%
-% Revision 1.3 1997/10/29 13:47:57 root
-% Restored date checking after discovering that it works
-% correctly if files are extracted from RCS using the -kv
-% option.
-%
-% Revision 1.2 1997/10/29 11:47:37 root
-% Eliminated optional date specification from RequirePackage{dates}
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-%
-% \title{Designer's Guide to the Calendar
-% package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty}
-% \DoNotIndex{\@flushglue,\@gobble,\@input}
-% \DoNotIndex{\@makefnmark,\@makeother,\@maketitle}
-% \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa}
-% \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue}
-% \DoNotIndex{\@thanks,\@thefnmark,\@topnum}
-% \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin}
-% \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces}
-% \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup}
-% \DoNotIndex{\cal,\csname,\def,\documentstyle,\dospecials,\edef}
-% \DoNotIndex{\egroup}
-% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist}
-% \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global}
-% \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn}
-% \DoNotIndex{\ifcase}
-% \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item}
-% \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower}
-% \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing}
-% \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc}
-% \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut}
-% \DoNotIndex{\strutbox}
-% \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt}
-% \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@}
-% \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim}
-% \DoNotIndex{\catcode,\end,\escapechar,\frenchspacing,\glossary}
-% \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle}
-% \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode}
-% \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip}
-% \DoNotIndex{\nopagebreak}
-% \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle}
-% \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb}
-% \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar}
-% \DoNotIndex{\[,\{,\},\]}
-% \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode}
-% \DoNotIndex{\baselineskip,\begin,\tw@}
-% \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q}
-% \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H}
-% \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z}
-% \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0}
-% \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_}
-% \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother}
-% \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment}
-% \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined}
-% \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc}
-% \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar}
-% \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode}
-% \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting}
-% \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf}
-% \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse}
-% \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault}
-% \DoNotIndex{\bfdefault}
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \begin{abstract}
-% \noindent This package provides tools for creating
-% customized calendars using \LaTeXe.
-% \end{abstract}
-%
-%
-% \CheckSum{1460}
-%
-% \section{Overview and Exhortation}
-%
-% Think of this package as the Music Minus One
-% of the scheduling trade. It provides a standard
-% interface for drafting calendars,
-% but leaves you in control of the style and
-% content of the finished product.
-% The calendar style generator included
-% in this package can be
-% used to create simple lists of events, as well
-% as daily, weekly, monthly and yearly calendars in a variety of
-% formats. Calendars can be ground into DVI,
-% or can be exported in an arbitrary list or table formatting
-% language such as HTML, or delimited
-% ASCII text.
-% While the format of calendars is
-% pretty much up to you, all calendars created
-% using the Calendar package inherit a number of
-% useful features, among which are:
-%
-% \begin{itemize}
-% \item Access to external lists of events
-% and appointments written in a user-friendly syntax.
-% \item Selective printing of long or short descriptions of
-% events and appointments according to the list
-% from which they originate or, in the case of appointments,
-% according to their starting time.
-% \item Built-in recursive entries such as "every" "monday"
-% or "Every" "second" "Wednesday", governed by a range.
-% \item An extensible interface within list files
-% for defining calculable dates within a range
-% by reference to a mathematical formula.
-% \item ``Stopping'' of recursive entries by reference
-% to a list of holidays.
-% \item Colour-coding of lists and groups of lists
-% for the readable presentation of complex schedules.
-% Colours may be associated with individual lists,
-% or with entire groups of lists.
-% \end{itemize}
-%
-% On top of this, all calendar styles have a uniform
-% user interface. For examples, please see the
-% files included in the "styles" subdirectory
-% in or near the filespace from which you retrieved
-% this file.
-%
-% Finally, the Calendar package has the virtue of
-% being chilled, if not yet completely frozen.
-% While there will doubtless
-% be minor bug fixes and enhancements in future
-% releases, this package is intended to be a finished
-% and stable platform on which to build calendar
-% styles. It will not move out from underneath
-% your work. And if you draft a calendar style
-% and publish it on CTAN, others will be able to
-% put it straight to work on their own local lists
-% of events.
-%
-% ************
-% The documentation to this package explains how
-% to define your own calendar formats. There are many
-% possibilities, but here are a few ideas:
-%
-% \begin{itemize}
-% \item Web maintainers
-% can provide a current view of upcoming events formatted
-% with a tabular calendar at the top, the dates of
-% which are linked to events for that day.
-% \item Filofax
-% calendars can be produced which contain institutional
-% data and personal appointments on a per-user basis.
-% \item Scheduling conflicts or common free times can be identified by producing
-% concordance calendars that lay the daily schedules
-% of several members of staff alongside one another.
-% \item Timesheets with pre-printed diary entries can be
-% produced.
-% \item Consolidated academic timetables can be
-% produced.
-% \item To simplify the maintenance of lists, a
-% Web site may want to produce a forms interface
-% for the distributed creation and management of lists. This
-% task is greatly simplified by the fact that the
-% syntax for entries is flexible and human-readable.
-% \item Users at a Web site can be given direct control over
-% calendar content, by running \LaTeX{} and "dvips" from a
-% CGI behind a click-box and radio-button interface.
-% \end{itemize}
-%
-% All of these applications can be supported directly
-% by the package as it stands. All that is required
-% is to define appropriate calendar formats.
-% Classes and packages
-% that define new calendar formats contain only the
-% essential commands which define their structure.
-%
-% The source of the Calendar package and related
-% files is located in
-% the CTAN archives under:
-%
-% \begin{quote}
-% "macros/latex/contrib/supported/calendar"
-% \end{quote}
-%
-% If you design a new calendar format, please upload
-% it to the CTAN "/incoming" directory at "ftp.tex.ac.uk"
-% and send the site maintainers a note (see the file
-% "README.uploads" for their contact details) asking
-% them to place it in the "styles" subdirectory
-% of the Calendar package filespace. It is best
-% to send your calendar format as a "*.dtx" file, with
-% documentation on how to use it (see the existing
-% packages for model documentation).
-% If you design a CGI or other front-end
-% that calls on a style or manages
-% database entries, please send that as well, for placement
-% in the "tools" subdirectory. That way, anyone interested in
-% using Calendar will find everything that is available in one
-% place, and the utility of the package will be greatly
-% enhanced.
-%
-% I do not have time at present to write a
-% readable and well-presented guide to the style
-% drafting process. If you want to draft
-% your own style, your best bet is to read
-% through the commentary and code of an
-% existing calendar style, and modify it
-% to suit your needs.
-% Feel free to write me
-% on "fb@soas.ac.uk" if you have any questions
-% or comments.
-%
-%\StopEventually{\PrintIndex}
-%
-% \section{The Macros}
-%
-% The Dates and Keyval packages will be used.
-%
-% \begin{macrocode}
-%<*style>
-\DeclareOption{english}{\PassOptionsToPackage{\CurrentOption}{dates}}
-\DeclareOption{german}{\PassOptionsToPackage{\CurrentOption}{dates}}
-\ProcessOptions
-\RequirePackage{dates}[1997/10/29]
-\RequirePackage{keyval}
-% \end{macrocode}
-%
-% \subsection{The Calendar Formatter}
-%
-% \begin{macro}{\newcalendar}
-% \begin{macro}{\@newcalendar}
-%
-% This is the business end of the package. The
-% calendar-defining front end is spread across
-% two macros to allow us to use more than
-% nine arguments. The second through ninth given
-% to the first macro are stored in a macro that
-% is expanded in the second.
-%
-% (the macro defined just above newcalendar is used
-% to parse the increment field)
-%
-% \begin{macrocode}
-\def\cal@parseincrement#1#2#{%
- \def\cal@incr{#1}%
- \def\cal@subgroup@setup{#2}}%
-\long\def\newcalendar#1#2#3#4#5#6#7#8#9{%
- \expandafter\def\csname cal@#1@bridge\endcsname{%
- \def\cal@output{#2}%
- \def\cal@first@weekday{#3}%
- \def\cal@group@length{#4}%
- \def\cal@subgroup@length{#5}%
- \def\cal@item@sep@real{#6}%
- \cal@parseincrement#7{}%
- \def\cal@header{#8}%
- \def\cal@footer{#9}}%
- \@newcalendar{#1}}
-% \end{macrocode}
-%
-% This defines the start and finish macros for an
-% environment, which will be invoked using "\begin"
-% and "\end". The head macro just expands the head
-% matter, grabs its first and only argument to a
-% variable for future reference, and invokes the
-% "\dateread" command in order to read the date
-% text entered as the content of the environment.
-% The "\dateread" command will expire when it hits
-% the "\end" at the bottom of the enviroment.
-%
-% \begin{macrocode}
-\long\def\@newcalendar#1#2#3#4#5#6#7#8#9{%
- \expandafter\def\csname#1\endcsname##1##2{%
- #4%
- \gdef\cal@optionslist{##1}%
- \setkeys{opt}{##1}%
- \gdef\cal@files{##2}%
- \dateread{}}%
-% \end{macrocode}
-%
-% The tail macro for the environment will start
-% by setting up the starting and ending dates
-% for our calendar. Step one is to set a subrange
-% start and end (which "\dateread" sets if "to" is
-% used in the date text) if none is found. The
-% second step is to set the current date to be the
-% start of the subrange derived from the date text,
-% and generate human-readable register data for
-% future reference. We then set the overall range for
-% the calendar to the subrange dates.
-%
-% The next step is to expand the front matter given
-% in the calendar definition, after which we expand
-% the material contained in the second through ninth
-% arguments given to the first macro. Then a series
-% of other toggles and macros are defined.
-%
-% (We also set the date base, for the zigzag algorithm)
-%
-% \begin{macrocode}
- \expandafter\def\csname end#1\endcsname{\relax%
- \ifnum\dates@subrange@start=0%
- \dates@subrange@start\dates@date%
- \dates@subrange@end\dates@date%
- \fi%
- \global\dates@date\dates@subrange@start%
- \caldate%
- \cal@date@base\dates@date%
- \cal@range@start\dates@subrange@start%
- \cal@range@end\dates@subrange@end%
- #5%
- \dates@range@limit\cal@range@end%
- \csname cal@#1@bridge\endcsname%
- \def\cal@groupbreak{#2}%
- \def\cal@subgroupbreak{#3}%
- \long\def\cal@entry@sep{#6}%
- \def\cal@item@init{#7}%
- \def\cal@entry@init{#8}%
- \long\def\cal@item@text{#9}%
-% \end{macrocode}
-%
-% We catch colors if the color package is not loaded.
-%
-% \begin{macrocode}
- \@ifundefined{color}%
- {\let\textcolor\@gobble%
- \let\colorbox\@gobble}%
- {}%
-% \end{macrocode
-%
-%
-% We then input the content of the event files given
-% as the argument to the environment, if any files exist
-% for processing.
-%
-% \begin{macrocode}
- \ifcat$\cal@files$%
- \else%
- \dates@requiremonthtrue%
- \dates@requiredaytrue%
- \expandafter\cal@input\cal@files,,\end%
- \fi%
-% \end{macrocode}
-%
-% Then we sort everything.
-%
-% \begin{macrocode}
- \cal@sorts%
-% \end{macrocode}
-%
-% We set the date to the bottom of the range again,
-% and set the registers.
-%
-% \begin{macrocode}
- \global\dates@date\cal@range@start%
- \caldate%
-% \end{macrocode}
-%
-% Finally, we produce the calendar text.
-%
-% \begin{macrocode}
- \cal@top}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Input and Export for Event Lists}
-%
-% \begin{macro}{\cal@input}
-% \begin{macro}{\cal@append}
-% \begin{macro}{\cal@list@append}
-% \begin{macro}{\cal@list@init}
-% \begin{macro}{\cal@read}
-%
-% This is the input routine. It starts by setting
-% up to loop itself. Then it checks to see if the
-% list is empty, and sets up to quit if it is.
-% If there is an item in the list, it first
-% puts the remainder of the items onto the list for
-% future reference. Then the input file is defined
-% to be the first item. Then it checks to see
-% if a freeze file exists. If it does, it is input,
-% and the data file is ignored. The engine number
-% counter is also incremented. If the file does not
-% exist, we check for a list file. If one is found,
-% we increment the engine counter, and turn off
-% freezing --- this will be turned on in the file
-% itself if a request is found there. Then we
-% just input the file for scanning. We follow the
-% text in the file with a meaningless entry as
-% a buffer, and a command that shuts off the
-% macro that gobbles up entries.
-%
-% \begin{macrocode}
-\def\cal@check@colon#1:#2#{%
- \def\dates@arg@a{#1}%
- \def\dates@arg@b{#2}}
-\def\cal@input#1,#2,\end{%
- \ifcat$#1$%
- \let\cal@input@next\relax%
- \global\let\cal@files\relax%
- \else%
- \advance\cal@engine by 1%
- \cal@check@colon#1:{}%
- \ifcat$\dates@arg@b$%
- \expandafter\edef\csname cal@\the\cal@engine @color\endcsname{}%
- \xdef\cal@color{}%
- \else%
- \expandafter\dates@strip@colon\dates@arg@b%
- \expandafter\edef%
- \csname cal@\the\cal@engine @color\endcsname{\dates@arg@b}%
- \gdef\cal@color{:\dates@arg@b}%
- \fi%
- \xdef\cal@input@file{\dates@arg@a}%
- \let\cal@input@next\cal@input%
- \xdef\cal@files{#2,,\noexpand\end}%
- \IfFileExists{\cal@input@file.eve}%
- {\PackageWarning{Calendar}%
- {Using freeze file \cal@input@file.eve}%
- \expandafter\ifx\csname\cal@input@file @cal@engine\endcsname%
- \relax%
- \@@input\cal@input@file.eve\relax%
- \fi}%
- {\IfFileExists{\cal@input@file.cld}%
- {\expandafter\ifx%
- \csname\cal@input@file @cal@engine\endcsname%
- \relax%
- \cal@dofreezefalse%
- \gdef\cal@exceptionlist{}%
- \expandafter\cal@read%
- \@@input\cal@input@file.cld\relax{}%
- \ifcal@dofreeze%
- \immediate\closeout\cal@freeze@file%
- \fi%
- \fi}%
- {\@missingfileerror{\cal@input@file}{cld}}}%
- \fi%
- \expandafter\edef%
- \csname\cal@input@file @cal@engine\endcsname{\the\cal@engine}%
- \expandafter\cal@input@next\cal@files}
-\def\cal@input@next@default{\expandafter\cal@input@clone\cal@files}
-% \end{macrocode}
-%
-% This is the handler used to put date information
-% into memory and, optionally, to write data to
-% a freeze file. The chain of nested conditions
-% is explained step by step.
-%
-% \begin{macrocode}
-\def\cal@append{%
-% \end{macrocode}
-%
-% \textit{If we are looking at a list of holidays, we build
-% an exceptions list only.}
-%
-% \begin{macrocode}
- \ifcal@holidays%
- \cal@except%
-% \end{macrocode}
-%
-% \textit{Otherwise we are looking at dates for use in the calendar.
-% We check first for a matching exception date, and block all
-% action if one is found ("\cal@checkexception" sets the condition
-% that follows).}
-%
-% \begin{macrocode}
- \else%
- \cal@checkexception%
- \ifcal@useentry%
-% \end{macrocode}
-%
-% \textit{If we are working on a range file, export to a freeze file
-% is blocked.}
-%
-% \begin{macrocode}
- \ifcal@noexport%
-% \end{macrocode}
-%
-% \textit{We only export to a freeze file if specifically requested
-% to do so. But if freezing is requested, we export all non-range
-% items, regardless of the range used for the calendar.}
-%
-% \begin{macrocode}
- \else%
- \ifcal@dofreeze%
- \cal@freeze%
- \fi%
- \fi%
-% \end{macrocode}
-%
-% \textit{The remainder of our conditions pertain to the loading of
-% data into memory. Range data is loaded, but only once,
-% so we use a separate condition to block action here.}
-%
-% \begin{macrocode}
- \ifcal@noload%
- \else%
-% \end{macrocode}
-%
-% \textit{If the current date is outside the range for
-% Memory store is only performed
-% for items within our overall date range for this
-% calendar. Having this data in memory
-% would do no affirmative harm, but it is dead weight
-% since we'll not be using it.}
-%
-% \begin{macrocode}
- \ifnum\dates@date<\cal@range@start%
- \else%
- \ifnum\dates@date>\cal@range@end%
- \else%
- \cal@list@init{events}%
- \cal@list@init{appointments}\relax%
-% \end{macrocode}
-%
-% \textit{We build separate lists for events and appointments.}
-%
-% \begin{macrocode}
- \ifnum\dates@time@start=0%
- \cal@list@append{events}%
- \else%
- \cal@list@append{appointments}%
- \fi%
- \fi%
- \fi%
- \fi%
- \fi%
- \fi}
-% \end{macrocode}
-%
-% This appends to the selected list type for the
-% current date. It grabs the list content, if any,
-% to a register. Then it defines the list to be
-% itself plus the new set of details.
-%
-% \begin{macrocode}
-\def\cal@list@append#1{%
- \cal@reg@a=%
- \expandafter\expandafter\expandafter{%
- \csname\the\dates@date @#1\endcsname}%
- \cal@reg@b\expandafter{\theshorttext}%
- \cal@reg@c\expandafter{\thelongtext}%
- \expandafter\edef%
- \csname\the\dates@date @#1\endcsname{%
- \the\cal@reg@a%
- \noexpand\cal@delim%
- {\the\dates@time@start}%
- {\the\dates@time@end}%
-% \end{macrocode}
-%
-% The no-export toggle is set whenever the ends of a range are being
-% loaded. We use that here to fiddle the engine number for
-% these entries. This is necessary to prevent color from being
-% applied to them.
-%
-% \begin{macrocode}
- {\ifcal@noexport%
- 0%
- \else%
- \the\cal@engine%
- \fi}%
- {\the\cal@reg@b}%
- {\the\cal@reg@c}}}%
-% \end{macrocode}
-%
-% This is the list initializer. We first
-% check to see if there is an existing
-% list, and initialize it if it is new.
-%
-% \begin{macrocode}
-\def\cal@list@init#1{%
- \expandafter\ifx%
- \csname\the\dates@date @#1\endcsname%
- \relax%
- \expandafter\def%
- \csname\the\dates@date @#1\endcsname%
- {}%
- \fi}
-% \end{macrocode}
-%
-% This is the file scanner. The input handler
-% can be redefined. The default at start-up is
-% to handle list files by putting them into memory.
-%
-% \begin{macrocode}
-\def\cal@read{%
- \dateread{\cal@append}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Sorting Routines}
-%
-% \begin{macro}{\cal@sorts}
-% \begin{macro}{\cal@@sorts}
-% \begin{macro}{\cal@@sorts@exit}
-% \begin{macro}{\cal@@sort@init}
-%
-% This is the front end for sorting all items in
-% memory. We step through the range day by day,
-% and execute the sort routine on any lists that
-% are found. One could avoid processing the empty
-% days by loading all items into a single list, but
-% a linear sort on a large number of items can be
-% very slow, both because the work done in a linear
-% sort grows geometrically, and because the sorting
-% alogorithm requires more comparisons.
-% On balance, this is a faster approach
-% in most cases.
-%
-% We start by setting the date to be the start of
-% the range, and do a "\let" that will set up
-% recursion in the next macro in the chain. We then
-% execute that macro.
-%
-% \begin{macrocode}
-\def\cal@sorts{%
- \global\dates@date\cal@range@start%
- \let\cal@@sorts@next\cal@@sorts%
- \cal@@sorts}
-% \end{macrocode}
-%
-% The following will die when we hit the end of the range.
-% Otherwise, it will look to see if there is something
-% in a list for the current date in the events or appointment
-% macros, and execute a sort of each if required.
-%
-% \begin{macrocode}
-\def\cal@@sorts{\relax%
- \ifnum\dates@date>\cal@range@end%
- \let\cal@@sorts@next\cal@@sorts@exit%
- \else%
- \expandafter\ifx%
- \csname\the\dates@date @events\endcsname\relax%
- \else%
- \cal@sort{\the\dates@date @events}%
- \fi%
- \expandafter\ifx%
- \csname\the\dates@date @appointments\endcsname\relax%
- \else%
- \cal@sort{\the\dates@date @appointments}%
- \fi%
- \global\advance\dates@date by 1%
- \fi%
- \cal@@sorts@next}
-% \end{macrocode}
-%
-% When we finish all of the sorting work, we restore the date
-% to the start of the range, and we're ready to make a calendar!
-%
-% \begin{macrocode}
-\def\cal@@sorts@exit{%
- \global\dates@date\cal@range@start%
- \caldate}
-% \end{macrocode}
-%
-% This is used to initialize a list for sorting. It
-% simply appends an entry with a time of minus one
-% to the end of the primary working list.
-%
-% \begin{macrocode}
-\def\cal@sort@init{%
- \cal@sort@A=-1%
- \cal@sort@B=0%
- \cal@sort@C=0%
- \cal@sort@D{}%
- \cal@sort@E{}%
- \global\let\cal@sort@new\cal@sort@list%
- \cal@appendright%
- \let\cal@sort@list\cal@sort@new%
- \gdef\cal@sort@new{}%
- \cal@sort@passonetrue}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\cal@sort}
-% \begin{macro}{\cal@@sort}
-% \begin{macro}{\cal@appendright}
-% \begin{macro}{\cal@sort@swap}
-%
-% This is the front end for sorting individual lists
-% of items. It takes a single
-% list macro name as its argument, invokes sorting on that
-% list macro, and sets it to be the sorted form. The sorting
-% setup here is designed to be easy to follow. It is probably
-% not the most efficient way of sorting, but the size of lists
-% is small (probably about ten items at the upper end),
-% so speed is not really an issue.
-%
-% The name of the list is given as text, to keep the code
-% where this is invoked more easily readable.
-%
-% \begin{macrocode}
-\def\cal@sort#1{%
- \expandafter\let\expandafter\cal@sort@list\csname#1\endcsname%
- \cal@sort@init%
- \global\let\cal@delim\cal@@sort%
- \cal@sort@list%
- \expandafter\let\csname#1\endcsname\cal@sort@new}
-% \end{macrocode}
-% This is the sort engine itself. Our data in memory consists of
-% a list macro in groups of five items each. We will
-% use this list under the name of "\cal@sort@list", and a working
-% sort list for export under the name of "\cal@sort@new".
-%
-% We begin
-% by grabbing the items to registers.
-%
-% \begin{macrocode}
-\def\cal@@sort#1#2#3#4#5{%
- \cal@sort@a=#1%
- \cal@sort@b=#2%
- \cal@sort@c=#3%
- \cal@sort@d{#4}%
- \cal@sort@e{#5}%
-% \end{macrocode}
-%
-% Our default action is to do nothing when we finish
-% with each sorting comparison; processing will be passed
-% to the next delimited item in the list.
-%
-% \begin{macrocode}
- \let\cal@@sort@next\relax%
-% \end{macrocode}
-%
-% Every list for sorting is assumed to end in an entry with a
-% time of minus one. When this is encountered, we export
-% the last held item, and just expire if there was no change
-% in the list.
-%
-% set the new list to be "\cal@sort@list", or we perform
-% some actions to prepare for rerunning the list.
-%
-% \begin{macrocode}
- \ifnum\cal@sort@a=-1\relax%
- \message{.}%
-% \cal@sort@swap% ... ?
- \cal@appendright%
- \ifcal@nosortchange%
-% \end{macrocode}
-%
-% If we are to rerun the list, we reset the change toggle
-% and the pass toggle. Then we export the held item,
-% swap, and export the existing end-of-list marker.
-% Then we set next to be the new list, and blank the
-% new list to prevent geometric progression.
-%
-% \begin{macrocode}
- \else%
- \cal@nosortchangetrue%
- \cal@sort@passonetrue%
-% \cal@appendright%
- \cal@sort@swap%
- \cal@appendright%
- \let\cal@@sort@next\cal@sort@new%
- \gdef\cal@sort@new{}%
- \fi%
-% \end{macrocode}
-%
-% If are not at the end of the list, we start here.
-% If this is the first pass, we do nothing. Otherwise
-% we perform a series of comparisons.
-%
-% \begin{macrocode}
- \else%
- \ifcal@sort@passone%
- \else%
-% \end{macrocode}
-%
-% The time held is larger than the existing time.
-% We need to change the order of the list, so we say so.
-% We swap and export the smaller item.
-%
-% \begin{macrocode}
- \ifnum\cal@sort@A>\cal@sort@a\relax%
- \cal@nosortchangefalse%
- \cal@sort@swap%
- \cal@appendright%
-% \end{macrocode}
-%
-% The time held is less than or equal to the existing time.\footnote{We also
-% need to keep engine numbers in sequence. But the
-% engine held must be less than the existing engine
-% because they are loaded in sequence. We therefore
-% do not need to check the next level.}
-% \changes{1996/12/25}{v1.2}{Cut out a check for equal
-% values in the sort comparison, and eliminated an erroneous
-% swap action.}
-%
-% \begin{macrocode}
- \else%
-% \ifnum\cal@sort@A=\cal@sort@a\relax%
- \cal@appendright%
-% \begin{macrocode}
-%
-% The time held was less than the existing time.
-%
-% \begin{macrocode}
-% \else%
-% \cal@appendright%
-% \fi%
- \fi%
- \fi%
-% \end{macrocode}
-%
-% Swap registers. The current small registers were not exported
-% to the new list, and are used as the large registers in the
-% next pass.
-%
-% \begin{macrocode}
- \cal@sort@swap%
- \cal@sort@passonefalse%
- \fi%
- \cal@@sort@next}
-% \end{macrocode}
-%
-% This simply appends to the end of the export list.
-%
-% \begin{macrocode}
-\def\cal@appendright{%
- \cal@reg@a\expandafter{\cal@sort@new}%
- \xdef\cal@sort@new{%
- \the\cal@reg@a%
- \noexpand\cal@delim%
- {\the\cal@sort@A}%
- {\the\cal@sort@B}%
- {\the\cal@sort@C}%
- {\the\cal@sort@D}%
- {\the\cal@sort@E}}}
-% \end{macrocode}
-%
-% This swaps the large and small registers (trust me).
-%
-% \begin{macrocode}
-\def\cal@sort@swap{%
- \cal@count@a\cal@sort@a%
- \cal@sort@a\cal@sort@A%
- \cal@sort@A\cal@count@a%
- \cal@count@a\cal@sort@b%
- \cal@sort@b\cal@sort@B%
- \cal@sort@B\cal@count@a%
- \cal@count@a\cal@sort@c%
- \cal@sort@c\cal@sort@C%
- \cal@sort@C\cal@count@a%
- \cal@reg@a\expandafter{\the\cal@sort@d}%
- \cal@sort@d\expandafter{\the\cal@sort@D}%
- \cal@sort@D\expandafter{\the\cal@reg@a}%
- \cal@reg@a\expandafter{\the\cal@sort@e}%
- \cal@sort@e\expandafter{\the\cal@sort@E}%
- \cal@sort@E\expandafter{\the\cal@reg@a}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{The Calendar Generator}
-%
-% The following is run at the start of table generation only.
-% After adjusting the global range for the table,
-% it sets up the limiting counters for lines and groups.
-% It also sets up a counter that tracks the number of items
-% in a line and another that tracks the number of items
-% in a group,
-% and sets counters indicating the day on which
-% each line will start and finish. It then outputs the
-% headers and chains to the first macro in the loop.
-%
-% \begin{macrocode}
-\def\cal@top{\relax%
- \ifnum\tracingdates>0%
- \message{^^J\themonth}%
- \fi%
- \let\cal@add@date@item\cal@add@date@item@default%
- \advance\cal@range@end by 1%
- \global\cal@subgroup@count0%
- \global\cal@group@count0%
- \cal@subgroup@len\cal@subgroup@length%
- \advance\cal@subgroup@len by -1\relax%
- \global\cal@group@len\cal@group@length%
-% \advance\cal@group@len by -1\relax%
- \cal@first@weekd\cal@first@weekday\relax%
- \ifnum\cal@first@weekd=0%
- \cal@last@weekd=6%
- \else%
- \cal@last@weekd\cal@first@weekd%
- \advance\cal@last@weekd by -1%
- \fi%
- \cal@subgroup@setup%
- \cal@output{\cal@header}\cal@begin@subgroup}
-% \end{macrocode}
-%
-% The following begins every line in the table.
-% It zeros the line item counter, then
-% checks to see if we are ready to finish the table.
-% If we are not finished, it checks to see if we have
-% finished a group. If so, it puts the name of the new month
-% on the terminal, resets the line and group counters,
-% and grabs the group length afresh (this can change if,
-% say, the group is a month). It then puts down a subfooter
-% (left out in the routine that feeds into this, so that
-% nothing will intervene between it and the foot), a footer
-% and a new header. It then either pads or goes straight
-% to input, as appropriate.
-% If we are not at the end of a group, it puts down the start of a line.
-% It then either starts the padding routine or goes straight
-% to the item insertion routine.
-% If we were ready to finish,
-% it puts down a final line ending and footer, then dies.
-%
-% \begin{macrocode}
-\def\cal@begin@subgroup{%
- \global\cal@subgroup@count=0%
- \global\def\cal@item@sep{}%
- \ifnum\dates@date<\cal@range@end\relax%
- \ifnum\cal@group@count=\cal@group@len\relax%
- \ifnum\tracingdates>0%
- \message{^^J\themonth}%
- \fi%
- \global\cal@group@count=0%
- \global\cal@group@len\cal@group@length%
- \cal@subgroup@setup%
- \cal@output{\cal@groupbreak}\relax%
- \ifnum\cal@first@weekd<7%
- \let\next\cal@pad@start%
- \else%
- \let\next\cal@add@date@item%
- \fi%
- \else%
- \ifnum\cal@first@weekd<7\relax%
- \let\next\cal@pad@start%
- \else%
- \let\next\cal@add@date@item%
- \fi%
- \fi%
- \else%
- \cal@output{\cal@footer}%
- \let\next\relax%
- \fi%
- \next}
-% \end{macrocode}
-%
-% This adds a date item. It starts by checking to
-% see if we are at the end of a group. It then either
-% selects padding or a new line, as requested.
-% If this is not the end of a group, we check to see
-% if it is the end of a line. If so, it puts out a
-% subfooter, but only if we're not going to be finishing
-% the whole table. (The same treatment should be given
-% to groups, come to think of it --- so there's at least
-% one known bug here). If we're not at the end of a line,
-% we place the item separator (which might be asleep),
-% then let it wake up. This is followed by the item
-% text and updates to the date and counters.
-%
-% \begin{macrocode}
-\def\cal@add@date@item@default{\relax%
- \ifnum\cal@group@count=\cal@group@len\relax%
- \ifnum\cal@first@weekd<7%
- \let\next\cal@pad@end%
- \else%
- \let\next\cal@begin@subgroup%
- \fi%
- \if\cal@incr G%
- \global\advance\dates@date by 1%
- \caldate%
- \fi%
- \if\cal@incr z%
- \global\advance\dates@date by1%
- \fi%
- \else\relax%
- \ifnum\cal@subgroup@count>\cal@subgroup@len\relax%
- \if\cal@incr z%
- \global\dates@date\cal@date@base%
-% \global\advance\dates@date by-1%
- \fi%
- \ifnum\dates@date<\cal@range@end%
- \if\cal@incr S%
- \global\advance\dates@date by1%
- \caldate%
- \fi%
- \cal@subgroup@setup%
- \cal@output{\cal@subgroupbreak}%
- \fi%
- \let\next\cal@begin@subgroup%
- \else%
- \cal@output{\cal@item@sep}%
- \global\def\cal@item@sep{\cal@item@sep@real}\relax%
- \ifnum\tracingdates>0%
- \message{\theday}%
- \fi%
- \cal@item@init%
- \cal@output{\cal@item@text}%
- \if\cal@incr I%
- \global\advance\dates@date by 1%
- \caldate%
- \fi%
- \if\cal@incr z%
- \global\advance\dates@date by 1%
- \caldate%
- \fi%
- \global\advance\cal@subgroup@count by 1\relax%
- \global\advance\cal@group@count by 1\relax%
- \let\next\cal@add@date@item%
- \fi%
- \fi%
- \next}
-% \end{macrocode}
-%
-% This pads out a line if the current date is later
-% than the day that should start a table.
-%
-% It then calculates an offset that will be used
-% by the padding loop, restoring the current date
-% after the figure has been determined.
-%
-% \begin{macrocode}
-\def\cal@pad@start{%
- \cal@temp@count\dates@date%
- \bgroup%
- \global\cal@offset=\dates@date%
- \prevday\cal@first@weekd%
- \global\advance\cal@offset by -\dates@date%
- \egroup%
- \global\dates@date\cal@temp@count%
- \cal@pad@@start}
-% \end{macrocode}
-%
-% This is the padding loop. It moves to the beginning of
-% the next line
-% if padding is unnecessary or has been completed,
-% putting the item separator to sleep as it does so.
-% Otherwise, it wakes up the separator,
-% puts it down, and increments
-% the group and line counters.
-%
-% \begin{macrocode}
-\def\cal@pad@@start{\relax%
- \ifnum\cal@offset=0\relax%
- \global\def\cal@item@sep{}%
- \let\next\cal@add@date@item%
- \else%
- \global\def\cal@item@sep{\cal@item@sep@real}%
- \cal@output{\cal@item@sep}%
- \global\advance\cal@offset by -1\relax%
- \global\advance\cal@subgroup@count by 1\relax%
- \let\next\cal@pad@@start%
- \fi%
- \next}
-% \end{macrocode}
-%
-% This pads a line to the ending day of the week.
-% It calculates the offset,
-% being careful not to let it hit an absurd value.
-%
-% \begin{macrocode}
-\def\cal@pad@end{%
- \cal@temp@count\dates@date%
- \bgroup%
- \global\cal@offset=\dates@date\relax%
- \nextday\cal@last@weekd%
- \advance\dates@date by -\cal@offset%
- \global\cal@offset\dates@date\relax%
- \ifnum\cal@offset=6%
- \global\cal@offset=0%
- \else%
- \global\advance\cal@offset by 1%
- \fi%
- \egroup%
- \global\dates@date\cal@temp@count%
- \cal@pad@@end}
-% \end{macrocode}
-%
-% If the offset is zero, there is no (longer) need for
-% padding, and we go back to see if it's okay to start
-% another line. Otherwise we output an item separator
-% and iterate.
-%
-% \begin{macrocode}
-\def\cal@pad@@end{\relax%
- \ifnum\cal@offset=0\relax%
- \let\next\cal@begin@subgroup%
- \else%
- \cal@output{\cal@item@sep}%
- \global\advance\cal@offset by -1%
- \global\advance\cal@subgroup@count by 1\relax%
- \let\next\cal@pad@@end%
- \fi%
- \next}
-% \end{macrocode}
-%
-% \subsection{Event Macros}
-%
-% The macros in this section are used to place text in the
-% finished calendar. They are used by designers with
-% the "\newcalendar" formatting macro.
-%
-%
-% We provide several macros for conditional execution
-% of text and color. The first two make rough decisions
-% about an entire list of items, and are intended for
-% use in tiny calendars in which specific text relating
-% to events is not included.
-%
-% \begin{macro}{\ifanyitem}
-%
-% This executes one of two arguments depending on whether
-% there is an event or appointment associated with the
-% current date. We'll use this for small calendars
-% on black and white printers, to boldface text
-% showing that there is something significant about
-% the date.
-%
-% \begin{macrocode}
-\def\ifanyitem#1#2{%
- \gdef\cal@temp{#1}%
- \expandafter\ifx%
- \csname\the\dates@date @events\endcsname%
- \relax%
- \expandafter\ifx%
- \csname\the\dates@date @appointments\endcsname%
- \relax%
- \gdef\cal@temp{#2}%
- \fi%
- \fi%
- \let\next\cal@temp%
- \next}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\getanycolor}
-% \begin{macro}{\get@calcolor}
-% \begin{macro}{\calcolor}
-%
-% The next extracts a colour
-% associated with a date. The color is returned in
-% "\calcolor".
-%
-% \begin{macrocode}
-\def\getanycolor{%
- \gdef\calcolor{}%
- \global\let\cal@delim\get@anycolor%
- \csname\the\dates@date @events\endcsname%
- \csname\the\dates@date @appointments\endcsname}
-% \end{macrocode}
-%
-% The following is executed on each item in the list.
-% When a color is found, we stick with that; the
-% order of lists fed to the calendar will determine
-% priority.
-% \changes{v0.12}{1996/12/21}{First attempt at color
-% coding --- it works!}
-%
-% \begin{macrocode}
-\def\get@anycolor#1#2#3#4#5{%
- \ifcat$\calcolor$%
- \expandafter\ifx%
- \csname cal@#3@color\endcsname%
- \relax%
- \else%
- \xdef\calcolor{\csname cal@#3@color\endcsname}%
- \fi%
- \fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% Next, we have macros for working with lists. The set here
-% sets up for the execution of a list, and dumps the list into the
-% DVI hopper. Any list found will formatted using
-% "\thecaltext", which the user may wish to redefine.
-%
-% If options are given to the command, only matching
-% entries will be printed.
-%
-% We permit the selection of
-% appointments and events by time, and
-% by engine number.\footnote{The latter feature will allow
-% the creation of concordance calendars that lay
-% schedules side by side on the page. It should be
-% possible, with minor enhancements to the Calendar
-% package itself, to produce a schedule concordance
-% that formats itself to the number of top-level lists
-% fed to it. Really terrific if you have a use for it\ldots}
-%
-% We begin by hunting for options.
-%
-% \begin{macrocode}
-\def\cal@get@events{%
- \def\theevents{}%
- \gdef\cal@entry@macro{\theevents}%
- \expandafter\let%
- \expandafter\cal@dumplist\csname\the\dates@date @events\endcsname%
- \cal@print@items}
-\def\cal@get@appointments{%
- \gdef\theappointments{}%
- \gdef\cal@entry@macro{\theappointments}%
- \expandafter\let%
- \expandafter\cal@dumplist%
- \csname\the\dates@date @appointments\endcsname%
- \cal@print@items}
-\def\cal@print@items{%
- \cal@sort@passonetrue%
- \@ifnextchar[%
- {\cal@@print@items}%
- {\cal@@print@items[-1/-1]}}
-\def\cal@@print@items#1[#2/#3]{%
- \cal@select@start=#2%
- \cal@select@end=#3%
- \@ifnextchar[%
- {\cal@@@print@items}%
- {\cal@@@print@items[-1]}}
-\def\cal@@@print@items#1[#2]{%
- \cal@engine@limit=#2%
- \global\let\cal@delim\cal@print@format%
- \cal@dumplist}
-% \end{macrocode}
-%
-% I'm sure there is a more clever way to do this,
-% but I can't think of it tonight. If no value
-% is given for an option, it becomes irrelevant
-% to the decision of whether or not to print. Otherwise,
-% a match for its value is required.
-%
-% \begin{macrocode}
-\def\cal@print@format#1#2#3#4#5{\relax%
- \ifcat$#4$%
- \else%
- \def\theshorttext{#4}%
- \ifcat$#5$%
- \let\thelongtext\theshorttext%
- \else%
- \def\thelongtext{#5}%
- \fi%
- \global\dates@time@start#1\relax%
- \global\dates@time@end#2\relax%
- \mod{60}\dates@time@start\cal@minutes@start%
- \cal@hours@start\dates@three%
- \divide\cal@hours@start by60%
- \mod{60}\dates@time@end\cal@minutes@end%
- \cal@hours@end\dates@three%
- \divide\cal@hours@end by60%
- \ifnum\cal@minutes@start<10%
- \xdef\cal@minutes@start@mac{%
- 0\the\cal@minutes@start}%
- \else%
- \xdef\cal@minutes@start@mac{%
- \the\cal@minutes@start}%
- \fi%
- \ifnum\cal@minutes@end<10%
- \xdef\cal@minutes@end@mac{%
- 0\the\cal@minutes@end}%
- \else%
- \xdef\cal@minutes@end@mac{%
- \the\cal@minutes@end}%
- \fi%
- \xdef\cal@appt@start@text{%
- \the\cal@hours@start:\cal@minutes@start@mac}%
- \xdef\cal@appt@end@text{%
- \the\cal@hours@end:\cal@minutes@end@mac}%
- \cal@doeventfalse%
- \cal@doapptfalse\relax%
- \ifnum\cal@engine@limit>-1\relax%
- \ifnum#3=\cal@engine@limit%
- \cal@doeventtrue%
- \fi%
- \else%
- \cal@doeventtrue%
- \fi\relax%
- \ifnum\cal@select@start>-1\relax%
-%
-% We eliminate anything that is outside or just
-% touches the time slot we're dealing with.
-%
- \ifnum\dates@time@start<\cal@select@end%
- \ifnum\dates@time@end>\cal@select@start%
- \cal@doappttrue%
-%
-% Ha! But just-touching entries that are pinpoint
-% times are okay.
-%
- \else
- \ifnum\dates@time@end=\cal@select@start%
- \ifnum\dates@time@start=\dates@time@end%
- \cal@doappttrue%
- \fi%
- \fi%
- \fi%
- \fi%
- \else%
- \cal@doappttrue%
- \fi%
- \ifcal@doappt%
- \ifcal@doevent%
- \xdef\calcolor{\csname cal@#3@color\endcsname}%
- \ifcal@sort@passone%
- \cal@reg@a{}%
- \else%
- \cal@reg@a\expandafter{\cal@entry@sep}%
- \fi%
- \cal@times@init%
- \global\let\cal@textcolor\relax%
- \cal@entry@init%
- \global%
- \global\let\cal@textcolor\cal@textcolor@default%
- \cal@reg@b\expandafter{\cal@entry@text}%
- \cal@reg@c%
- \expandafter\expandafter%
- \expandafter{\cal@entry@macro}%
- \expandafter\xdef\cal@entry@macro{%
- \the\cal@reg@c%
- \the\cal@reg@a%
- \the\cal@reg@b}%
- \cal@sort@passonefalse%
- \fi%
- \fi%
- \fi}
-% \end{macrocode}
-%
-% This macro is used to initialize the values of
-% text-literal macros "\thetimestart" and "\thetimeend".
-%
-% \begin{macrocode}
-\def\cal@times@init{%
- \mod{60}\dates@time@start\dates@one%
- \dates@three\dates@time@start%
- \divide\dates@three by 60%
- \ifnum\dates@one<10\relax%
- \xdef\cal@temp{0\the\dates@one}%
- \else%
- \xdef\cal@temp{\the\dates@one}%
- \fi%
- \xdef\thetimestart{\the\dates@three:\cal@temp}%
- \mod{60}\dates@time@end\dates@one%
- \dates@three\dates@time@end%
- \divide\dates@three by 60%
- \ifnum\dates@one<10\relax%
- \xdef\cal@temp{0\the\dates@one}%
- \else%
- \xdef\cal@temp{\the\dates@one}%
- \fi%
- \xdef\thetimeend{\the\dates@three:\cal@temp}}
-% \end{macrocode}
-%
-% And last but not least, we have the default macros used
-% to print the text. Users may want to season this one
-% to taste, but it should serve for most purposes.
-% We need to define two macros. One always goes to DVI,
-% and can contain non-printable stuff. The other goes
-% may be routed to an external file, and should only
-% contain things that expand to text, as nearly as possible.
-%
-% \begin{macrocode}
-\def\cal@textcolor@default#1#2{%
- \@ifundefined{color}
- {\ifcat$#1$#2\else\textbf{#2}\fi}
- {\ifcat$#1$#2\else\textcolor{#1}{#2}\fi}}
-\global\let\cal@textcolor\cal@textcolor@default
-% \end{macrocode}
-%
-% \subsection{Parser Customizations}
-%
-% This section contains macros that are used to alter
-% the behaviour of the "\dateread" macro. Two new commands
-% are introduced, "freeze" and "range". The first sets a toggle
-% that will cause pre-processed dates to be exported to
-% a freeze file for the list being imported. The second
-% sets a range for the current import file by referring to
-% a separate import file containing the range information.
-%
-% \begin{macro}{\fremac}
-% \begin{macro}{\cal@freeze}
-% \begin{macro}{\event}
-%
-% The first set is pretty simple. Users must be cautioned, however,
-% that they should only use this macro at the \textit{top} of a
-% file to be frozen, in order to catch all of the data it contains.
-% A patch could probably be applied to kill the parser if
-% "\fremac" occurs after the first argument is read. Later, later!
-%
-% \begin{macrocode}
-\def\fremac{%
- \immediate\openout\cal@freeze@file=\cal@input@file.eve\relax
- \cal@dofreezetrue%
-}
-% \end{macrocode}
-%
-% The following macro is used to export text if the
-% "\cal@dofreeze" toggle is on.
-%
-% \begin{macrocode}
-{\catcode`\%=12\xdef\cal@percent{%}}
-\def\cal@freeze{%
- \immediate\write\cal@freeze@file\relax%
- {\string\event%
- {\the\dates@date}%
- {\the\dates@time@start}%
- {\the\dates@time@end}%
- {\theshorttext}%
- {\thelongtext}\cal@percent}}
-% \end{macrocode}
-%
-%
-% Frozen export files contain "\event" macros, the arguments to
-% which contain frozen data. The "\event" macro loads date items
-% into memory via the same handler used to import fresh-cooked
-% data. We don't set the engine number from the file, because
-% we've already set the figure for this run.
-%
-% \begin{macrocode}
-\def\event#1#2#3#4#5{%
- \global\dates@date=#1\relax%
- \global\dates@time@start=#2\relax%
- \global\dates@time@end=#3\relax%
- \def\theshorttext{#4}%
- \def\thelongtext{#5}%
- \cal@append}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ranmac}
-% \begin{macro}{\cal@@@read@ranmac}
-% \begin{macro}{\cal@get@range}
-% \begin{macro}{\cal@get@@range}
-% \begin{macro}{\rANmac}
-%
-% This set of macros fetches a file containing
-% ranges (or other dates, although that would not
-% be wise) into the current file.
-% We need to snatch the word immediately following the
-% command. We do this by diverting the flow of the
-% date parsing routines, as documented in the Dates
-% package.
-%
-% \begin{macrocode}
-\def\ranmac{%
- \global\let\dates@@@read\cal@@@read@ranmac}%
-% \end{macrocode}
-%
-% The following will grab the very next word after
-% "range", and input that file immediately, so that
-% the currently-running dates parser can pass over
-% it. We look forward for a brace; if we
-% find one, it means that the user put a braced
-% argument after the range as a comment.
-%
-% \begin{macrocode}
-\def\cal@@@read@ranmac{%
- \global\let\dates@@@read\dates@@@read@default%
- \@ifoverword\dates@serious@brace%
- {\expandafter\cal@get@range\@gobble}%
- {\cal@get@range}%
- {\message{This can't happen.}}}
-% \end{macrocode}
-%
-% The following two macros grab the range into the
-% current parsing process. The name of the file
-% is expanded first, then the "\@@input" is expanded,
-% then the parser proceeds without knowing that
-% the text it sees came from elsewhere.
-%
-% \begin{macrocode}
-\def\cal@get@range{%
- \cal@noexporttrue%
- \expandafter\ifx%
- \csname\@overword @range@loaded\endcsname%
- \relax%
- \expandafter\def%
- \csname\@overword @range@loaded\endcsname{%
- 1}%
- \else%
- \cal@noloadtrue%
- \fi%
- \IfFileExists{\@overword.cld}%
- {\expandafter\cal@get@@range\@overword.cld rAN }%
- {\@missingfileerror{\@overword}{cld}}}
-% \end{macrocode}
-%
-% We need a single macro that grabs stuff.
-%
-% \begin{macrocode}
-\def\cal@get@@range{%
- \expandafter\dates@read\@@input}
-% \end{macrocode}
-%
-% We need to prevent the range data from being
-% loaded into memory multiple times. We also
-% never want to export this data to a freeze
-% file; there would be no tidy means of determining
-% which range data had been loaded and which
-% not.
-%
-% We accomplish these effects
-% by checking whether this range has been
-% loaded previously, and toggling
-% "\ifcal@noload" to true in the above
-% macro if it has. We also toggle "\ifcal@noexport"
-% to true. We then plant
-% a macro after the imported text that will
-% restore this functionality in "\cal@append".
-% An all-caps word
-% in the user text will be lower-cased, so this
-% will not cause confusion.
-%
-% In a future release, the entry of ranges directly
-% into a list file should probably be prevented;
-% freezing several lists containing a literal range
-% would introduce precisely the problem referred to
-% in the first paragraph of this comment.
-%
-% The reset for "\cal@holidays" supports the modified
-% behaviour required by the holiday option immediately
-% below.
-%
-% \begin{macrocode}
-\def\rANmac{%
- \cal@holidaysfalse%
- \cal@noloadfalse\cal@noexportfalse}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\holmac}
-% \begin{macro}{\cal@except}
-% \begin{macro}{\cal@checkexception}
-% \begin{macro}{\cal@@checkexception}
-%
-% Some lists should ignore entries that fall on a holiday.
-% This is a property of the list, and so is governed by
-% a list of holidays called at the top of the list itself;
-% the user writing a calendar document does not need or
-% want control over holidays.
-%
-% We accomplish this by importing a holidays list into the
-% document, using the routines above. However, we
-% modify the action for the parser so that it builds an
-% exceptions list. This action is built into the
-% "\cal@append" macro.
-%
-% \begin{macrocode}
-\def\holmac{%
- \cal@holidaystrue%
- \global\let\dates@@@read\cal@@@read@ranmac}%
-% \end{macrocode}
-%
-% The "\cal@append" macro will call the following macro
-% to build an exceptions list.
-%
-% \begin{macrocode}
-\def\cal@except{%
- \cal@reg@a\expandafter{\cal@exceptionlist}%
- \xdef\cal@exceptionlist{%
- \noexpand\cal@delim{\the\dates@date}\the\cal@reg@a}}
-% \end{macrocode}
-%
-% This sets to false if an entry exists on the exception list,
-% otherwise true.
-%
-% \begin{macrocode}
-\def\cal@checkexception{%
- \cal@useentrytrue%
- \global\let\cal@delim\cal@@checkexception%
- \cal@exceptionlist}
-% \end{macrocode}
-%
-% This sets the condition, via the above macro, by checking each
-% item in the list.
-%
-% \begin{macrocode}
-\def\cal@@checkexception#1{\relax%
- \ifnum\dates@date=#1\relax\cal@useentryfalse\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\lismac}
-%
-% We allow nested lists. We avoid nested input by placing the
-% name of the file onto the input list, so that the input
-% routine will pick it up during tail recursion. Nonetheless
-% we want the colors of susidiary lists to be governed by
-% the color at the top level, so we put the last-defined color onto the
-% list as well.
-%
-% \begin{macrocode}
-\def\lismac{%
- \global\let\dates@@@read\cal@pass@list}
-% \end{macrocode}
-%
-% We need a little gadget to safely extract the contents of the
-% file list.
-%
-% \begin{macrocode}
-\def\cal@grablist#1\end{%
- \def\cal@grabbedlist{#1}}
-% \end{macrocode}
-%
-% This just does the passing and returns control to "\dates@@@read".
-%
-% \begin{macrocode}
-\def\cal@pass@list{%
- \expandafter\cal@grablist\cal@files%
- \global\let\dates@@@read\dates@@@read@default%
- \@ifoverword\dates@serious@brace%
- {\xdef\cal@files{%
- \@overword\cal@color,\cal@grabbedlist\noexpand\end}%
- \expandafter\dates@read\@gobble}%
- {\message{I don't think I'm supposed to do this}%
- \xdef\cal@files{%
- \@overword\cal@color,\cal@grabbedlist\noexpand\end}}%
- {\message{This can't happen}}}
-% \end{macrocode}
-%\end{macro}
-%
-% \subsection{Initializations}
-%
-% Before any of this runs, we need the following registers,
-% macros and conditionals.
-%
-% \begin{macrocode}
-\newcount\cal@first@weekd
-\newcount\cal@range@start
-\newcount\cal@range@end
-\newcount\cal@temp@count
-\newcount\cal@last@weekd
-\newcount\cal@subgroup@len
-\newcount\cal@offset
-\newcount\cal@subgroup@count
-\newcount\cal@group@count
-\newcount\cal@group@len
-\newcount\cal@engine
-\newcount\cal@engine@limit
-\newcount\cal@select@start
-\newcount\cal@select@end
-\newcount\cal@hours@start
-\newcount\cal@minutes@start
-\newcount\cal@hours@end
-\newcount\cal@minutes@end
-\newcount\tracingdates
-\tracingdates=1
-\def\cal@sort@new{}
-\newtoks\cal@reg@a
-\newtoks\cal@reg@b
-\newtoks\cal@reg@c
-\newcount\cal@sort@A
-\newcount\cal@sort@B
-\newcount\cal@sort@C
-\newtoks\cal@sort@D
-\newtoks\cal@sort@E
-\newcount\cal@sort@a
-\newcount\cal@sort@b
-\newcount\cal@sort@c
-\newtoks\cal@sort@d
-\newtoks\cal@sort@e
-\newcount\cal@count@a
-\newwrite\cal@freeze@file
-\newif\ifcal@sort@passone
-\newif\ifcal@nosortchange
-\newif\ifcal@dofreeze
-\newif\ifcal@noload
-\newif\ifcal@noexport
-\newif\ifcal@holidays
-\newif\ifcal@useentry
-\newif\ifcal@doevent
-\newif\ifcal@doappt
-\def\cal@insert#1{#1}
-\expandafter\edef\csname cal@0@color\endcsname{black}
-\def\theappointments{}
-\def\theevents{}
-\def\cal@exceptionlist{}
-\newcount\cal@date@base
-%</style>
-% \end{macrocode}
-%
-%\iffalse
-% \section{The Installation File}
-% \begin{macrocode}
-%<*installer>
-\def\batchfile{calendar.ins}
-\input docstrip.tex
-
-\keepsilent
-
-\preamble
-
-This file is part of the Calendar package.
-Copyright (C) 1996 Frank Bennett, Jr.
-All rights reserved.
-------------------------------------------
-This is a generated file.
-
-IMPORTANT NOTICE:
-
-You are not allowed to change this file. You may however copy
-this file to a file with a different name and then change the
-copy if (a) you do not charge for the modified code, (b) you
-acknowledge the author(s) in the new file, if it
-is distributed to others, and (c) you attach these same
-conditions to the new file.
-
-You are not allowed to distribute this file alone. You are not
-allowed to take money for the distribution or use of this file
-(or a changed version) except for a nominal charge for copying
-etc.
-
-You are allowed to distribute this file under the condition that
-it is distributed with all of its contents, intact.
-
-For error reports, or offers to help make Calendar a more powerful,
-friendlier, and better package, please contact me on
-`fb' at soas.ac.uk
-
-\endpreamble
-
-\postamble
-\endpostamble
-
-\generate{\file{calendar.sty} {\from{calendar.dtx}{style}}
-}
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation, you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space calendar.sty}
-\Msg{*}
-\Msg{* You will also need to have the following packages}
-\Msg{* installed on your system before using this package}
-\Msg{* or printing its documentation:}
-\Msg{*}
-\Msg{* \space\space overword.dtx}
-\Msg{* \space\space dates.dtx}
-\Msg{*}
-\Msg{***********************************************************}
-
-%</installer>
-% \end{macrocode}
-%\fi
-% \Finale \PrintChanges
diff --git a/Master/texmf-dist/source/latex/calendar/dates.dtx b/Master/texmf-dist/source/latex/calendar/dates.dtx
deleted file mode 100644
index 5cc1205b089..00000000000
--- a/Master/texmf-dist/source/latex/calendar/dates.dtx
+++ /dev/null
@@ -1,2630 +0,0 @@
-%\iffalse
-%
-% File dates.dtx
-% Copyright (C) 1996, 1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author(s) in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk
-%
-%<style>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-%<style>\ProvidesPackage{dates}
-%<style> [1998/01/17 17:12:39 3.1 Dates parsing support (Frank Bennett)]
-%\fi
-%
-% \def\fileversion{3.1}
-% \def\filedate{1998/01/17 17:12:39}
-%
-%\iffalse
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\RecordChanges
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{dates.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-% \changes{v1.0}{1996/12/10}{Initial version separated from calendar.dtx}
-% \changes{v1.0}{1996/12/12}{Overhauled to provide error handling and
-% various other features}
-% \changes{v1.0}{1996/12/14}{Adapted the plain \TeX{} code for the phases
-% of the moon and used it to set it up a function item in a list. It works!}
-% \changes{v1.0}{1996/12/14}{Tidied up some sloppiness in the handling of groups.
-% No active characters now appear in braced text, and functions no longer
-% require square braces. Documentation updated to this effect.}
-% \changes{v1.0}{1996/12/15}{Modified toXmac to allow no-frills ranges.}
-% \changes{v1.1}{1996/12/21}{Added handler for multiple enditall's.}
-% \changes{v1.1}{1996/12/27}{Minor bug fixes for final release with the
-% Calendar package.}
-% \changes{v1.2}{1997/01/18}{Changed gdef of characters in capsdown to
-% plain def, so that diacritics and maths will not be screwed up
-% by calendar. Capsdown state is fixed by xdef immediately
-% before group enclosing the capsdown; definition is in force
-% only just before and just after the high-speed read of the
-% argument.}
-% \changes{v1.2}{1997/01/18}{Fixed a bug that the above fix produced
-% in the handling of function definitions.}
-% \changes{v1.3}{1997/02/17}{Added code to support recursive dates
-% falling on exactly the same day of the month in every month.
-% Perhaps such dates should be permitted to conditionally shift to a nearby
-% day in the event of a holiday. Perhaps not.}
-% \changes{v1.4}{1997/03/01}{Large number of variable made
-% global, to prevent consumption of \TeX{} save space during
-% large runs. Task not yet complete, but hardiness much
-% improved.}
-% \changes{v1.4}{1997/03/01}{Cleanup of documentation; cut out
-% all user-level instructions in favour of a cross-reference
-% to user-level packages.}
-% \changes{v1.4}{1997/03/02}{Inserted fix for broken \texttt{othmac} support.}
-% \changes{v1.5}{1997/03/06}{Added initialization \texttt{let} to
-% definition of \texttt{daymac} to fix a bug reported by Miroslav
-% Novak.}
-% \changes{v1.5}{1997/03/06}{Fixed algorithm for ending subranges
-% in recursive entries --- was ending one day too soon always.}
-% \changes{v1.6}{1997/05/19}{Added language option. Initial language
-% support covers English and Japanese.}
-% \changes{v1.6}{1997/05/20}{German support added. Thanks due to
-% Christian Horn.}
-% \changes {v1.7}{1997/06/10}{Removed Japanese option --- far too
-% cumbersome to maintain.}
-% \changes{v1.8}{1997/10/18}{New public release of all styles
-% and modules incorporating global bug-fixes.}
-% \changes{v1.9}{1997/10/24}{Eliminated the final (touch wood!)
-% cross-nested variable bug. Should run find on small \TeX's now.}
-% \changes{v1.10}{1997/10/25}{Eliminated need for bogus entries
-% to protect against reads past end of file. }
-% \changes{v1.11}{1997/10/26}{Added support for anniversaries.}
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% dates.dtx,v
-% Revision 3.1 1998/01/17 17:12:39 root
-% Release code
-%
-% Revision 2.15 1998/01/17 06:10:58 root
-% *** empty log message ***
-%
-% Revision 2.14 1998/01/17 04:54:44 root
-% *** empty log message ***
-%
-% Revision 2.13 1998/01/16 11:41:21 root
-% *** empty log message ***
-%
-% Revision 2.12 1998/01/16 11:39:57 root
-% *** empty log message ***
-%
-% Revision 2.11 1998/01/16 11:18:23 root
-% *** empty log message ***
-%
-% Revision 2.10 1998/01/16 11:00:58 root
-% *** empty log message ***
-%
-% Revision 2.9 1998/01/16 09:26:26 root
-% *** empty log message ***
-%
-% Revision 2.8 1998/01/16 09:03:04 root
-% *** empty log message ***
-%
-% Revision 2.7 1998/01/15 23:34:12 root
-% *** empty log message ***
-%
-% Revision 2.6 1998/01/15 23:30:14 root
-% *** empty log message ***
-%
-% Revision 2.5 1998/01/15 21:42:28 root
-% *** empty log message ***
-%
-% Revision 2.4 1998/01/15 21:38:26 root
-% Trivial change.
-%
-% Revision 2.3 1998/01/15 21:35:30 root
-% First shot at proper language support.
-%
-% Revision 2.2.1.1 1997/11/07 11:16:06 root
-% Eliminated \@gobble from \dates@@@read@@function.
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.22 1997/11/05 07:40:27 root
-% Confirming a string of changes implementing multi-argument
-% (aka multi-lingual) support.
-%
-% Revision 2.1.1.21 1997/11/05 07:37:09 root
-% *** empty log message ***
-%
-% Revision 2.1.1.20 1997/11/05 07:35:42 root
-% *** empty log message ***
-%
-% Revision 2.1.1.19 1997/11/05 07:19:49 root
-% *** empty log message ***
-%
-% Revision 2.1.1.18 1997/11/05 07:14:39 root
-% *** empty log message ***
-%
-% Revision 2.1.1.17 1997/11/05 07:06:09 root
-% *** empty log message ***
-%
-% Revision 2.1.1.16 1997/11/05 06:55:18 root
-% *** empty log message ***
-%
-% Revision 2.1.1.15 1997/11/05 06:46:48 root
-% *** empty log message ***
-%
-% Revision 2.1.1.14 1997/11/05 06:44:42 root
-% *** empty log message ***
-%
-% Revision 2.1.1.13 1997/11/05 06:43:27 root
-% *** empty log message ***
-%
-% Revision 2.1.1.12 1997/11/05 06:41:21 root
-% *** empty log message ***
-%
-% Revision 2.1.1.11 1997/11/05 06:37:42 root
-% Backed off from adding new macro. Trying nesting of
-% \@ifnextnparchar.
-%
-% Revision 2.1.1.10 1997/11/05 06:29:43 root
-% Added calls to new macro \@ififnextnparchar, to cope
-% with possibility of bent brace without following square
-% brace.
-%
-% Revision 2.1.1.9 1997/11/04 21:29:48 root
-% Added prototype code for picking up extra entries
-%
-% Revision 2.1.1.8 1997/11/04 19:52:15 root
-% Moved the assignment to \dates@date to the top of
-% \dates@init@weekly. Careless error.
-%
-% Revision 2.1.1.7 1997/11/04 14:57:40 root
-% Fixed local assignments of \dates@date and \dates@catch
-% accidentally included in patch code.
-%
-% Revision 2.1.1.6 1997/11/04 14:45:10 root
-% Re-applied patches to cope with the common recursive entries,
-% now that the code for "every other" has made it necessary to
-% move the assignment to \dates@date out of the common code
-% for recursive entries.
-%
-% Revision 2.1.1.5 1997/11/04 08:25:42 root
-% Fixed silly typing error in fix just applied.
-%
-% Revision 2.1.1.4 1997/11/04 08:23:08 root
-% Moved downcasing code directly into \dates@execute
-%
-% Revision 2.1.1.3 1997/11/04 07:39:27 root
-% Added missing ` to \dates@downcase
-%
-% Revision 2.1.1.2 1997/11/04 07:33:08 root
-% Eliminated \capsdown from the code, installed new routine
-% based on character constants and \cs{ifcase}.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 15:08:09 bennett
-% Release code.
-%
-% Revision 1.17.0.8 1997/11/01 14:29:11 root
-% *** empty log message ***
-%
-% Revision 1.17.0.7 1997/11/01 13:28:54 root
-% Range limit trap suspended for the present; this needs careful
-% consideration, so that the "freeze" declaration is not rendered
-% useless or unpredictable.
-%
-% Revision 1.17.0.6 1997/11/01 12:50:18 root
-% Alterations to recursion routines broke anniversaries. Rewritten.
-% Also added optional counter \dates@range@limit, which cuts off
-% recursive entries to save processing time.
-%
-% Revision 1.17.0.5 1997/11/01 11:38:52 root
-% Fixed obvious error in initialization routine before testing;
-% if the pinpoint date is greater than the beginning of the
-% subrange, we just use that as the starting point.
-%
-% Revision 1.17.0.4 1997/11/01 11:34:41 root
-% First draft of new "every other week" function. "Other"
-% invokes a terminating macro that expects a pinpoint date.
-% This is then used as the base for every-other-week jumps.
-%
-% Revision 1.17.0.3 1997/11/01 11:13:35 root
-% Moved setting of \dates@date in recursive entries from the
-% generic opener \dates@read@exit@recurse into each of the
-% alternative recursive definitions. This gives us better
-% control; it allows us to use a pinpoint date as a starting date
-% for recursive processing.
-%
-% Revision 1.17.0.2 1997/11/01 10:52:56 root
-% Incorporated fix for encounters with \end; we no longer
-% need to gobble anything after the parsed text.
-%
-% Revision 1.17.0.1 1997/11/01 06:39:29 root
-% Cut enditalls.
-%
-% Revision 1.17 1997/11/01 06:29:27 root
-% New revision branch established to play with the elimination
-% of \enditall's from the code.
-%
-% Revision 1.16 1997/10/31 21:28:07 root
-% *** empty log message ***
-%
-% Revision 1.15 1997/10/31 21:13:53 root
-% *** empty log message ***
-%
-% Revision 1.14 1997/10/31 20:47:16 root
-% Moved date-validation code from \dates@fix to
-% \dates@read@exit@default where it belongs.
-%
-% Revision 1.13 1997/10/31 19:35:20 root
-% Eliminated \message's used to trace the problem with the
-% streamlined date conversion code just introduced.
-%
-% Revision 1.12 1997/10/31 19:32:42 root
-% Fixed egregious bug involving the use of \dates@day for two
-% completely unrelated purposes. With this fix, the more
-% streamlined use of but one invocation of either \caldate or
-% \dates@fix works.
-%
-% Revision 1.11 1997/10/31 18:51:19 root
-% *** empty log message ***
-%
-% Revision 1.10 1997/10/31 18:29:43 root
-% Eliminated what appeared to be unnecessary use of
-% \dates@monthnameget from previous revision. Caused an error,
-% but this may not have been the source of that error.
-%
-% Revision 1.9 1997/10/31 18:23:06 root
-% Added \dates@getmonthname and \dates@getdayname to the definition
-% of \dates@fix. This eliminates the need for running \caldate
-% after \dates@fix, and will further reduce the processing burden.
-%
-% Revision 1.8 1997/10/31 18:01:23 root
-% Finalized changes eliminating one use of \dates@capsdown.
-% Also made further changes to documentation, and added
-% (or rather changed) the name of \dates@@@@read@function
-% and the following macro to \dates@@@read... to help make
-% things a little easier to follow.
-%
-% Revision 1.7 1997/10/31 17:39:05 root
-% Restored use of @default prefix for \dates@read. Also
-% trying the elimination of one instance of \dates@capsdown.
-% If this works, it will eliminate a great deal of clutter
-% in save space.
-%
-% Revision 1.6 1997/10/31 11:18:55 root
-% Further documentation updates and what I thought were trivial
-% changes to the code. The trivial changes seem, however, to
-% have broken the "list" declaration.
-%
-% Revision 1.5 1997/10/31 09:00:27 root
-% First phase of combing through documentation.
-%
-% Revision 1.4 1997/10/29 20:08:04 bennett
-% *** empty log message ***
-%
-% Revision 1.3 1997/10/29 13:50:13 root
-% Restored use of date checking, after discovering that it
-% works correctly if files are extracted using the -kv
-% option.
-%
-% Revision 1.2 1997/10/29 11:47:37 root
-% Eliminated optional date specification from RequirePackage{overword}
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-% \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty}
-% \DoNotIndex{\@flushglue,\@gobble,\@input}
-% \DoNotIndex{\@makefnmark,\@makeother,\@maketitle}
-% \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa}
-% \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue}
-% \DoNotIndex{\@thanks,\@thefnmark,\@topnum}
-% \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin}
-% \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces}
-% \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup}
-% \DoNotIndex{\cal,\csname,\def,\documentstyle,\dospecials,\edef}
-% \DoNotIndex{\egroup}
-% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist}
-% \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global}
-% \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn}
-% \DoNotIndex{\ifcase}
-% \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item}
-% \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower}
-% \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing}
-% \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc}
-% \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut}
-% \DoNotIndex{\strutbox}
-% \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt}
-% \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@}
-% \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim}
-% \DoNotIndex{\catcode,\end,\escapechar,\frenchspacing,\glossary}
-% \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle}
-% \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode}
-% \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip}
-% \DoNotIndex{\nopagebreak}
-% \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle}
-% \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb}
-% \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar}
-% \DoNotIndex{\[,\{,\},\]}
-% \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode}
-% \DoNotIndex{\baselineskip,\begin,\tw@}
-% \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q}
-% \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H}
-% \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z}
-% \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0}
-% \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_}
-% \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother}
-% \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment}
-% \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined}
-% \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc}
-% \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar}
-% \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode}
-% \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting}
-% \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf}
-% \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse}
-% \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault}
-% \DoNotIndex{\bfdefault}
-%
-% \title{User's Guide to the Dates package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate.}}
-%
-% \author{Frank G. Bennett, Jr.\thanks{The code contained in this file just
-% provides a smart \LaTeXe front end to
-% the \texttt{calendar} macros for \TeX{} that I
-% found on CTAN. The \TeX{} macros work quite
-% well, but lack any documentation. Their provenance is also a
-% mystery. If anyone can tell me who wrote them, I will gladly
-% include an acknowledgement in this documentation.}}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \begin{abstract}
-% \noindent This package provides macros for the parsing of dates
-% using \LaTeXe{}.
-% \end{abstract}
-%
-% \CheckSum{1916}
-%
-% \section{Introduction}
-%
-% This package provides a macro, "\dateread", that can
-% be used to parse date strings, either individually
-% or recursively. The macro expects a human-readable
-% syntax, which it converts into an integer (a ``long
-% date'') that can
-% be more easily used for some types of computation.
-% A set of companion macros and token registers
-% is also provided for
-% converting long dates into human-readable form.
-%
-% Dates may be specified either individually,
-% or as recursive dates within a range.
-% The human-readable syntax for two
-% types of recursive date are built
-% into the package, but an interface for writing
-% specialized extensions in native \LaTeX{} is also provided.
-% The handling of parsed dates is also within
-% user control; it is defined in a
-% single argument fed to "\dateread" when it is invoked
-% in front of a list of dates.
-%
-% This package was
-% developed as one of the building blocks of
-% the "calendar" package, but is released as a separate
-% chunk of code because the date parsing task is a function
-% discrete from the work of building a calendar from
-% constituent blocks of information (which is the
-% main task of the Calendar package proper).
-%
-% For a description of the syntax understood by
-% the parser, and examples of how it can be
-% extended, please see the Calendar package and
-% the documentation for its associated style
-% files. The documentation here is not intended
-% for end users; it is provided for reference by
-% style designers who might wish to use
-% the parser in their own packages.
-%
-% \section{Calling the Parser}
-%
-% Printing of
-% variable text (such as the text of the date) is
-% done by passing that information through to the argument
-% to the "\dateread" macro.
-% This argument is an action that will be performed
-% once after each date in the list is read. The
-% date and the description text may be included by
-% using the appropriate commands. These are:
-%
-% \begin{tabular}{ll}
-% "\theyear" & The year (four digits).\\
-% "\themonth" & The full name of the month.\\
-% "\theshortmonth" & The name of the month (3 characters).\\
-% "\themonthnumber" & The number of the month.\\
-% "\theday" & The day of the month.\\
-% "\thetimestart" & Starting time for an item.\\
-% "\thetimeend" & Ending time for an item.\\
-% "\theweekday" & The name of the day of the week.\\
-% "\theshortweekday" & Abbreviated day of the week (3 characters).\\
-% "\theshorttext" & The text describing the date.\\
-% "\thelongtext" & A longer description of the date.\\
-% "\thelongdate" & The long date (an integer).\\
-% "\thedays" & The maximum number of days this month.\\
-% \end{tabular}
-%
-% You can also call up information using lower-level
-% registers and macros that contain date-related
-% information. If you need to do this, you're
-% on your own; please have a look at the code.
-%
-% The demonstration file included in this package
-% lists dates on the terminal using the "\message"
-% command. In a more serious application, text can
-% be printed, stored to registers or boxes, or
-% sent in pre-processed form to an external file.
-%
-% The following is a valid invocation of the
-% macro:
-%
-% \begin{quote}
-% \begin{verbatim}
-% \dateread{%
-% \message{%
-% \theweekday, %
-% \theday\space%
-% \themonthname\space%
-% \theyear}}
-% %
-% % The list of dates to be parsed
-% %
-% June 15 1997 {Summer Holiday Begins}
-% September 25 1997 {Summer Holiday Ends}
-% January 1 1997 {First day of January}
-% February 18 1997 {Frank's Birthday}
-% Every Monday at 2:00 {Go to the Beach}
-% Every 20 {20th day of the month}
-% %
-% % The end of the list.
-% %
-% \relax{}
-% \end{verbatim}
-% \end{quote}
-%
-% A style package that uses the date parser
-% should of course conceal stretches of code
-% like that above from the end user. If lists
-% of dates are maintained in separate files, you
-% can do something like the following,
-%
-% \begin{quote}
-% \begin{verbatim}
-% \def\readinput{%
-% \dateread{\message{\theweekday^^J}}}
-%
-% \def\inputandread{%
-% \expandafter\readinput%
-% \@@input \filename\relax{}
-% }
-% \end{verbatim}
-% \end{quote}
-%
-% \noindent where "\filename" contains the name of a file
-% to be read. One would confirm the existence
-% of the file, then run "\inputandread".
-%
-% \section{Extending the Parser}
-%
-% \label{analyze}
-% When the parser is used in a package, it may be
-% necessary to modify its behaviour to perform
-% special actions in the course of processing.
-% For example, you may want to provide a facility
-% for setting the range in files containing
-% recursive dates from a single file so that,
-% say, an academic schedule can be moved forward
-% to the next year without a lot of typing.
-% This kind of effect can be achieved by defining a
-% word which diverts processing to a macro that
-% performs the desired action before continuing
-% to digest the list of dates.
-%
-% The flow of processing can be diverted at two
-% points:
-%
-% \begin{enumerate}
-% \item Immediately after a word is read;
-% or
-% \item Immediately after a date and its
-% text have been digested.
-% \end{enumerate}
-%
-% The parser can be
-% re-entered in any of three states:
-%
-% \begin{enumerate}
-% \item One that
-% looks for the next word in a date string;
-% \item One that digests the description text; or
-% \item One
-% that completes the processing of a date
-% entry and its text.
-% \end{enumerate}
-%
-% Each of the exit points and reentry states is
-% associated with a macro name. Diversion is
-% accomplished by defining a word that "\let"s the
-% exit macro name be the user's own macro. Reentry
-% is accomplished in the user's macro by ending
-% with the appropriate macro name. The names
-% the macros to use as exit points are,
-% in the order of the first list above:
-%
-% \begin{enumerate}
-% \item "\dates@@@read"
-% \item "\dates@read@exit"
-% \end{enumerate}
-%
-% The names of macros to use for reentry
-% states are:
-%
-% \begin{enumerate}
-% \item "\dates@@@read@default"
-% \item "\dates@@@@read@default"
-% \item "\dates@read@exit@default"
-% \end{enumerate}
-%
-% An extension therefore consists of a user-defined
-% macro, and a user-defined word that invokes
-% "\let" as appropriate. Words should be padded
-% to exactly three characters using "X", and should
-% be appended with the suffix "mac". The following
-% defines a word, "if", which sets a toggle and
-% continues parsing a date:
-%
-% \begin{quote}
-% \begin{verbatim}
-% \newif\ifusedif
-%
-% \def\myownmacro{%
-% \usediftrue%
-% \dates@@@read@default}
-%
-% \def\ifXmac{%
-% \let\dates@@@read=\myownmacro}
-% \end{verbatim}
-% \end{quote}
-%
-% This is the same method used in the package
-% itself to provide recursive dates and the
-% function entry type; see the code commentary section
-% for less trivial examples.
-%
-% \subsection{Using the Argument Text}
-%
-% When dates are read they are unsorted, so text should not
-% be exported directly by \cs{dates@action} (let alone
-% dropped on DVI)
-% unless you have a filter for sorting
-% the text after \TeX{} exits. In normal use,
-% events should be sorted and selected
-% in memory after they are read, by other code in the
-% package calling "dates.sty". The Calendar package
-% is an example of how this can be done.
-%
-%\StopEventually{\PrintIndex}
-%
-% \section{The Macros}
-%
-% \begin{macrocode}
-%<*style>
-\newcount\dates@one
-\newcount\dates@two
-\newcount\dates@langnum
-\newtoks\dates@reg@a
-\newtoks\dates@reg@b
-\newtoks\dates@reg@c
-\def\DeclareCalendarLanguage#1#2#3#4#5{
- \advance\dates@two by1\relax%
- \expandafter\edef\csname dates@#1@langnum\endcsname{\the\dates@two}%
- \ifnum\dates@two=1\relax\def\dates@default@language{#1}\fi%
- \DeclareOption{#1}{%
- \expandafter\expandafter\expandafter%
- \dates@langnum\csname dates@#1@langnum\endcsname\relax%
- \dates@buildcase{1}{\theweekday}{\dates@weekd}#2{}%
- \dates@buildcase{1}{\theshortweekday}{\dates@weekd}#3{}%
- \dates@buildcase{0}{\themonth}{\dates@month}#4{}%
- \dates@buildcase{0}{\theshortmonth}{\dates@month}#5{}}}
-\def\dates@buildcase#1#2#3{%
- \dates@one=#1\relax%
- \dates@reg@c={#3}%
- \gdef\dates@temp@a{#2}%
- \dates@reg@a={}%
- \dates@reg@b={}%
- \def\dates@temp@c{}%
- \dates@@buildcase}
-\def\dates@@buildcase#1{%
- \ifcat$#1$%
- \let\next\dates@@@buildcase%
- \else%
- \let\next\dates@@buildcase%
- \dates@reg@a={\or#1}%
- \dates@reg@b=\expandafter{\dates@temp@c}%
- \edef\dates@temp@c{\the\dates@reg@b\the\dates@reg@a}
- \fi%
- \next}
-\def\dates@@@buildcase{%
- \ifnum\dates@one=0\relax%
- \dates@reg@a=\expandafter{\dates@temp@c}%
- \else%
- \dates@reg@a=\expandafter\expandafter\expandafter%
- {\expandafter\@gobble\dates@temp@c}%
- \fi%
- \expandafter\edef\dates@temp@a{%
- \noexpand\ifcase\the\dates@reg@c%
- \the\dates@reg@a%
- \noexpand\fi}}
-% \end{macrocode}
-% Load some useful code.
-% \begin{macrocode}
-\RequirePackage{overword}[1997/10/29]
-\InputIfFileExists{dates.cfg}{}{}
-\@ifundefined{theweekday}{%
- \DeclareCalendarLanguage{english}
- {{Sun}{Mon}{Tue}{Wed}{Thu}{Fri}{Sat}}
- {{Sunday}{Monday}{Tuesday}{Wednesday}{Thursday}{Friday}{Saturday}}
- {{Jan}{Feb}{Mar}{Apr}{May}{Jun}{Jul}{Aug}{Sep}{Oct}{Nov}{Dec}}
- {{January}{February}{March}{April}{May}{June}{July}{August}{September}
- {October}{November}{December}}}
- {}
-\ExecuteOptions{\dates@default@language}
-\ProcessOptions
-% \end{macrocode}
-%
-% \subsection{The Engine Core}
-%
-% \begin{macro}{\dateread}
-% The top-level interface macro \cs{dateread} starts by setting "\dates@action"
-% to be its first argument. It then initializes
-% variables that are zeroed only at the start of a run
-% of dates, and passes control to the next macro in the chain,
-% \cs{dates@read}.
-% \begin{macrocode}
-\long\gdef\dateread#1{%
- \gdef\dates@action{#1}%
- \gdef\dates@subranges{}%
- \dates@subrange@start=0%
- \dates@subrange@end=0%
- \dates@read@default}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\date@read}
-% The next macro continues with initialization,
-% zeroing and blanking variables that need to
-% be reset each time a new date is read. The reason
-% for the \texttt{@default} extension is explained below.
-% \begin{macrocode}
-\long\gdef\dates@read@default{%
- \global\dates@time@start=0%
- \global\dates@time@end=0%
- \setyear{1900}%
- \global\dates@month=0%
- \global\dates@day=0%
- \global\dates@weekd@target=7%
- \gdef\theshorttext{}%
- \gdef\thelongtext{}%
-% \end{macrocode}
-% \textit{The action, whatever the user has chosen it to be,
-% can be suppressed by toggling the following condition,
-% but the default here (as in life) is to do things.}
-% \begin{macrocode}
- \global\dates@suppressfalse%
-% \end{macrocode}
-% \textit{Recursive entries will define the following two macros,
-% but initially we want them to be firmly turned off.}
-% \begin{macrocode}
- \global\let\dates@init\relax%
- \global\let\dates@increment\relax%
-% \end{macrocode}
-% \textit{The following assignments put the parsing machinery
-% into its default state. The first and the third macros below
-% have \texttt{@default} values not to allow modification of
-% parsing behaviour at these points, but because these two
-% macros are \cs{relax}ed to bring parsing to a halt when
-% desired.}
-% \begin{macrocode}
- \global\let\dates@read=\dates@read@default%
- \global\let\dates@@@read=\dates@@@read@default%
- \global\let\dates@@@@read=\dates@@@@read@default%
- \global\let\dates@read@exit=\dates@read@exit@default%
-% \end{macrocode}
-% \textit{We open a group, and make uppercase characters active
-% locally inside it. We use an invocation of \cs{@ifnextnparchar}
-% to look for the next character. If that is \cs{end},
-% then we close the group we've just opened, and that's
-% that. This sudden-death condition will seldom be satisfied
-% (you would need an \cs{end} immediately after \cs{dateread}
-% with no intervening date, or a date complete with braced
-% argument(s) followed immediately by \cs{end}), but the condition will
-% be trapped and handled if it does occur.}
-%
-% \textit{Apart from this, we look for a match to \cs{dates@serious@brace}.
-% It will be spotted in most cases
-% by the last invocation of \cs{@ifoverword} in parsing the
-% date (re which see below). The only case in which it will
-% need to be caught here is where there is no date at all,
-% but an immediate curly brace.}
-%
-% \textit{Thus, we will almost always be proceeding
-% on the middle, ``fail'' condition to the next macro in
-% the parsing chain, \cs{dates@@read}.}
-%
-% \textit{Apart from
-% handling possible if slightly weird error conditions, this
-% look forward will close a file, if one has been opened
-% to provide the list read by \cs{dateread} (see \texttt{calendar.dtx},
-% again, for a real-world example) and its text content has
-% been exhausted.}
-% \begin{macrocode}
- \bgroup%
- \@ifnextnparchar\dates@serious@brace%
- {\message{This should never happen}}%
- {\dates@@read}%
- {\egroup}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\date@@read}
-% We grab everything up to the next brace. This
-% will ordinarily be a single date, but it could be a
-% range as well. The text for parsing is \cs{xdef}ed,
-% after first \cs{let}ting \cs{end} \cs{relax}.
-% The \cs{relax}ed \cs{end} will expand to itself
-% (I think they call this a ``quark''?) when \cs{xdef}ed.
-% Then we end the current group, which
-% will restore the definition
-% of \cs{end}, whatever it may happen to be.
-%
-% We then place a space after the argument text to be
-% sure we have one there, and
-% run the next macro, \cs{dates@@@read}, in front of
-% it.
-% \begin{macrocode}
-\long\def\dates@@read#1#{%
- \let\end\relax%
- \xdef\cal@temp{#1 }%
- \egroup%
- \expandafter\dates@@@read\cal@temp}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\date@@@read}
-% The \cs{dates@@@read@default} macro recursively
-% picks through the argument text word by word
-% using the \cs{@ifoverword} macro provided by the
-% \texttt{overword} package. Through the subsequent macro
-% "\dates@analyze", the definitions of
-% "\dates@@@read" and of "\dates@read@exit"
-% may be altered to achieve special effects. Any hooks that
-% redefine these functions should chain to
-% their default definitions.
-%
-% The \cs{@ifoverword} macro looks for \cs{dates@serious@brace}
-% that we just placed after the scanned date string
-% between us and the curly brace.
-%
-% This is one
-% of several macros in the parsing chain that can
-% be replaced with an alternative definition to
-% accomplish special effects.
-% In this code, the default
-% definitions of such macros bear the root name with
-% suffix "@default". Special definitions bear the root name
-% with a descriptive suffix.
-% \begin{macrocode}
-\def\dates@@@read@default{%
-% \end{macrocode}
-% \textit{If this macro has been called, we carefully be
-% sure it's set as the default under the root name too.}
-% \begin{macrocode}
- \global\let\dates@@@read\dates@@@read@default%
- \@ifoverword\dates@serious@brace%
-% \end{macrocode}
-% \textit{If there is a match, we're at the end of the
-% string. We send the word we've collected to \cs{dates@analyze},
-% and chain to the next
-% processing macro, \cs{dates@@@@read}, when it exits.}
-% \begin{macrocode}
- {\expandafter\dates@analyze\@overword{}%
- \dates@@@@read}%
-% \end{macrocode}
-% \textit{If the next token after the word we have just absorbed
-% is not a brace (and not \cs{end}), then we send the
-% absorbed word to \cs{dates@analyze} and reinvoke the
-% current macro.}
-% \begin{macrocode}
- {\expandafter\dates@analyze\@overword{}%
- \dates@@@read}%
-% \end{macrocode}
-% \textit{If we have hit \cs{end}, we want to recover gracefully,
-% completing our work before expiring so that the \cs{end}
-% can take effect.}
-%
-% \textit{The first thing we do is send the absorbed word to
-% \cs{dates@analyze}. Then we invoke \cs{dates@read@exit} to
-% process the date (calculating the long date, and performing
-% the action specified in the argument to \cs{dateread}) ---
-% after first relaxing \cs{dates@read}, so that the
-% \cs{dates@read@exit} macro will occur only once.}
-% \begin{macrocode}
- {\expandafter\dates@analyze\@overword{}%
- \ifnum\dates@year>0\relax%
- \let\dates@read\relax%
- \dates@read@exit%
- \fi}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\dates@@@@read}
-% The following will read arguments (one mandatory
-% argument in curly braces, one optional one in square
-% braces) and save them for
-% use as text descriptions applying to the date.
-% After the arguments are stored, we
-% chain to the exit routine that will perform the action
-% that the user gave to "\dateread".
-%
-% The macro is defined with a \texttt{@default} suffix,
-% not because alternative processing is to be spliced in here,
-% but because one method of ending recursive parsing
-% is to \cs{let} this macro \cs{relax}.
-%
-% The effect we want to accomplish is to allow
-% users to put any legal text, including square
-% braces, inside \textrm{either} the curly braces marking
-% the mandatory argument, \textrm{or} the square braces
-% marking the optional argument. The usual \LaTeX{} method
-% of doing this, looking for a common or garden square brace
-% with \cs{@ifnextchar} and then chaining to a
-% macro that uses square braces as delimiters,
-% will not accomplish this purpose; with that approach,
-% \textrm{any} square brace, regardless of nesting level,
-% will end the argument.
-%
-% We need instead to see square braces as grouping characters.
-% This will make them disappear when the text is expanded, but
-% at least things won't blow up.
-%
-% To get ready for the optional argument (which comes \textrm{after}
-% this macro), we set the open square brace to be a grouping
-% character like "{". We can't use this directly as an argument
-% (because \TeX{} will try to keep reading
-% text until it finds the matching brace), so we \cs{let}
-% a macro have this token's value. The \cs{let} is
-% global because the value of "{" is global.
-% Then we use the funny brace macro inside the
-% definition as a match text for a square brace. This
-% works because the \cs{@ifnextnparchar} macro also works
-% with \cs{let} (well, \cs{futurelet}, which amounts to the
-% same thing in this context), resulting in an internal
-% ``funny brace'' macro used for the comparison.
-% All of this jiggery-pokery is necessary because
-% the "\futurelet" command (used by "\@ifnextnparchar") will stamp
-% a category code on the brace when it sees it, even though
-% \TeX{} won't yet read the character itself in for processing.
-% \begin{macrocode}
-\bgroup
- \catcode`\[=1
- \global\let\dates@funny@brace=[
- \catcode`\<=1
- \global\let\dates@bent@brace=<
-\egroup
-\gdef\dates@@@@read@default#1{%
-% \end{macrocode}
-% We reset any alternative definitions that are accidentally
-% in force, and save the text of the mandatory argument
-% to its macro for future reference.
-% \begin{macrocode}
- \global\let\dates@@@@read\dates@@@@read@default%
- \global\let\dates@@@read\dates@@@read@default%
- \dates@textcount1%
- \def\theshorttext{#1}%
- \ifnum\dates@textcount=\dates@langnum\relax%
- \gdef\thelongtext{}%
- \fi%
-% \end{macrocode}
-% Here is where the funny brace macro referred to above
-% comes into play. We change the catcodes so that
-% square-brace-enclosed text will be interpreted as
-% a single argument. Then we look for a brace. If
-% a brace is found, we invoke \cs{dates@@@@@read}
-% to read and store the text. If not, we cut off the
-% special category code for square braces and
-% call the macro that interprets dates (since we already
-% know that we've finished with a date, and have grabbed
-% the mandatory text. Likewise, if we see an \cs{end}
-% out there (i.e. there was a curly-brace-enclosed
-% mandatory argument right after the date, but it's
-% followed immediately by \cs{end}), we also process
-% the digested date before proceeding. Note that the
-% \cs{end} in this event will be caught by the lookahead
-% machinery at the top of the parsing chain the next time
-% around, causing macro recursion to terminate.
-% \begin{macrocode}
- \bgroup%
- \catcode`\[=1\catcode`\]=2\relax%
- \catcode`\<=1\catcode`\>=2\relax%
- \@ifnextnparchar\dates@funny@brace%
- {\dates@@@@@read}%
- {\global\let\thelongtext\theshorttext%
- \@ifnextnparchar\dates@bent@brace%
- {\dates@@@@read@bent}%
- {\egroup%
- \dates@read@exit}%
- {\message{This can't happen}}}%
- {\egroup%
- \dates@read@exit}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\dates@@@@@read}
-% The optional argument uses bog-standard \LaTeX{}
-% option syntax. The only wrinkle is in the
-% catcode changes invoked within a group in the
-% macro above. These are cut off by an \cs{egroup} here.
-% Apart from that, we just grab the text to a macro,
-% and call the macro that does the final processing
-% of the date and text information.
-% \begin{macrocode}
-\def\dates@@@@@read#1{%
- \egroup%
- \ifnum\dates@textcount=1\relax
- \gdef\thelongtext{#1}%
- \else%
- \ifnum\dates@textcount=\dates@langnum\relax%
- \gdef\thelongtext{#1}%
- \fi%
- \fi%
- \bgroup%
- \catcode`\<=1\catcode`\>=2\relax%
- \@ifnextnparchar\dates@bent@brace%
- {\dates@@@@read@bent}%
- {\egroup%
- \dates@read@exit}%
- {\egroup%
- \dates@read@exit}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\def\dates@@@@read@bent#1{%
- \egroup%
- \advance\dates@textcount by1\relax%
- \ifnum\dates@textcount=\dates@langnum\relax
- \def\theshorttext{#1}%
- \fi%
- \bgroup%
- \catcode`\[=1\catcode`\]=2\relax%
- \catcode`\<=1\catcode`\>=2\relax%
- \@ifnextnparchar\dates@funny@brace%
- {\dates@@@@@read}%
- {\ifnum\dates@textcount=\dates@langnum\relax%
- \gdef\thelongtext{}%
- \fi%
- \@ifnextnparchar\dates@bent@brace%
- {\dates@@@@read@bent}%
- {\egroup%
- \dates@read@exit}%
- {\message{This can't happen}}}%
- {\egroup%
- \dates@read@exit}}
-% \end{macrocode}
-% \begin{macro}{\dates@read@exit}
-%
-% \begin{macrocode}
-\def\dates@read@exit@default{%
- \dates@verify%
- \dates@fix%
- \dates@lastdate\dates@date%
- \ifdates@suppress@global%
- \else%
- \ifdates@suppress%
- \else%
- \dates@action%
- \fi%
- \fi%
- \dates@read}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\dates@verify}
-% This macro is used in a few places to verify whether
-% all of the necessary date information is present.
-% It uses a couple of toggles to allow different bits
-% of the address to be confirmed.
-% \begin{macrocode}
-\def\dates@verify{%
- \ifnum\dates@month=0%
- \ifdates@requiremonth%
- \PackageError{dates}{Missing month.}{}%
- \else%
- \global\dates@month=1%
- \fi%
- \fi%
- \ifnum\dates@day=0%
- \ifdates@requireday%
- \PackageError{dates}{Missing day of the month.}{}%
- \else%
- \global\dates@day=1%
- \fi%
- \fi%
- \ifnum\dates@year=0\relax%
- \PackageError{dates}{Missing year in ordinary date.}{}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Selective Handling}
-%
-% There are three points at which special handling can
-% be spliced into the parsing routine. The defaults of
-% these macros have all been presented above. Below,
-% alternative versions internal to the \texttt{dates}
-% package itself are set forth.
-%
-% The following is the default value of "\dates@read@exit".
-% It fixes the date, rationalizes the registers
-% containing human-readable date information, and
-% saves the date for future reference (i.e.~in case
-% we need it as the beginning of a range).
-% It then performs the action given by the user in the
-% argument to "\dateread", and attempts to chain back to continue
-% parsing within the presented list of dates.
-%
-% \subsubsection{Recursive Handling}
-%
-% \begin{macro}{\dates@read@exit@range}
-%
-% This is meant to be spliced into the parser immediately
-% before the macro:
-%
-% \begin{quote}
-% "\dates@read@exit@default"
-% \end{quote}
-%
-% It is invoked
-% by the word "to" in the current date entry. Invoked
-% after the text argument describing the current date
-% has been grabbed, it begins by rationalizing the machine
-% and human readable dates. It then expands the registers
-% containing the starting and ending long dates describing
-% a range into a list macro. The dates are stepped down one
-% and up one day respectively, so that a simple ">" or "<"
-% will tell us whether a given date is within a subrange.
-% The list macro will later
-% be used as a series of bounds
-% in the generation of recursive dates and dates
-% defined by a function.
-%
-% \begin{macrocode}
-\def\dates@read@exit@range{%
- \dates@fix%
- \dates@subrange@end\dates@date%
- \dates@reg@a=\expandafter{\dates@subranges}%
- \xdef\dates@subranges{%
- \the\dates@reg@a%
- \noexpand\delim{\the\dates@subrange@start}%
- {\the\dates@date}}%
- \global\let\dates@read@exit\dates@read@exit@default%
- \dates@read@exit}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dates@read@exit@recurse}
-% \begin{macro}{\dates@read@exit@@recurse}
-% \begin{macro}{\dates@read@exit@@@recurse}
-%
-% This is the generic routine for generating dates according
-% to a recursively invoked formula. It is also intended
-% for splicing in in front of the macro:
-%
-% \begin{quote}
-% "\dates@read@exit@default"
-% \end{quote}
-%
-% The first macro in this chain checks
-% to be sure that a list of ranges exists.
-% It then defines the macro used to delimit the list
-% to something that will recurse within a subrange.
-% The list macro is then dumped into the document
-% for complete expansion. When it finishes,
-% control is passed back to the top, so that
-% reading can continue through the list of dates.
-%
-% \begin{macrocode}
-\def\dates@read@exit@recurse{%
- \expandafter\ifcat\expandafter$\dates@subranges$%
- \PackageError{dates}{No range given}%
- {You need to specify a range before %
- recursive entries and formulae}%
- \fi\relax%
- \ifx\dates@init\relax%
- \ifnum\dates@day>0\relax%
- \dates@everymonth@day\dates@day%
- \ifnum\dates@month>0\relax%
- \dates@everyyear@month\dates@month%
- \global\let\dates@init\dates@init@yearly@doy%
- \global\let\dates@increment\dates@increment@yearly@doy%
- \else%
- \global\let\dates@init\dates@init@monthly@dom%
- \global\let\dates@increment\dates@increment@monthly@dom%
- \fi%
- \else%
- \PackageError{dates}{Incomplete recursive entry}%
- {You need to specify a day of the week or a day of %
- the month or something for entries beginning with %
- the word Every.}
- \fi%
- \fi%
- \global\let\delim\dates@read@exit@@recurse%
- \dates@subranges%
- \dates@read}
-% \end{macrocode}
-%
-% This is the macro to which "\delim" is set above.
-% It sets up registers with the top and bottom boundaries
-% of the range, as given in the list, then sets the
-% current date to be the bottom of the range.
-% It then executes an (arbitrary) function to find
-% the first calculated date above the bottom of the range,
-% rationalizes the human-readable date registers, and
-% performs the user's requested action. It then chains to
-% the macro that will loop until the range is exceeded.
-%
-% \begin{macrocode}
-\def\dates@read@exit@@recurse#1#2{%
- \dates@subrange@start#1\relax%
- \dates@subrange@end#2\relax%
-% \ifnum\dates@subrange@end>\dates@range@limit%
-% \dates@subrange@end\dates@range@limit%
-% \fi%
- \dates@init%
- \caldate%
- \ifdates@suppress@global%
- \else%
- \ifdates@suppress%
- \else%
- \dates@action%
- \fi%
- \fi%
- \let\next\dates@read@exit@@@recurse%
- \dates@read@exit@@@recurse}
-% \end{macrocode}
-%
-% This is the macro that does the actual recursion for recursive entries.
-% It increments, checks the date, performs the action if appropriate,
-% otherwise breaks the loop so that control can pass back to
-% "\dates@read@exit@recurse".
-%
-% \begin{macrocode}
-\def\dates@read@exit@@@recurse{%
- \dates@increment\relax%
- \ifnum\dates@date>\dates@subrange@end\relax%
- \let\next\relax%
- \else%
- \caldate%
- \ifdates@suppress@global%
- \else%
- \ifdates@suppress%
- \else%
- \dates@action%
- \fi%
- \fi%
- \fi%
- \next}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\dates@increment@daily}
-% \begin{macrocode}
-\def\dates@increment@daily{%
- \global\advance\dates@date by 1\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dates@init@weekly}
-% \begin{macro}{\dates@increment@weekly}
-%
-% The following is the initialization macro for weekly recursion.
-% It moves to the first instance of the targetted
-% day of the week above the bottom of the subrange.
-%
-% \begin{macrocode}
-\def\dates@init@weekly{%
- \global\dates@date\dates@subrange@start%
- \mod7\dates@date\dates@weekd%
- \dates@three=\dates@weekd@target\relax%
- \advance\dates@three by -\dates@weekd\relax%
- \ifnum\dates@three<0\relax%
- \advance\dates@three by7%
- \fi%
- \global\advance\dates@date by\dates@three\relax}
-\def\dates@init@semiweekly{%
- \dates@verify%
- \dates@fix%
- \ifnum\dates@subrange@start>\dates@date%
- \dates@ct@z\dates@subrange@start%
- \advance\dates@ct@z by-\dates@date%
- \mod{14}\dates@ct@z\dates@catch%
- \global\dates@date\dates@subrange@start%
- \global\advance\dates@date by\dates@catch%
- \fi}
-% \end{macrocode}
-%
-% This is the increment macro used for weekly recursion.
-% It just bumps up the date seven days each time it is invoked.
-%
-% \begin{macrocode}
-\def\dates@increment@weekly{%
- \global\advance\dates@date by7\relax}
-\def\dates@increment@semiweekly{%
- \global\advance\dates@date by14\relax}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\dates@init@monthly@dow}
-% \begin{macro}{\dates@increment@monthly@dow}
-%
-% The following is the general initialization macro for finding
-% an instance of a day of the week within a month. It begins
-% by setting the value of a macro with which it terminates
-% to be "\relax", in the hope that a match will be found
-% the first time it is invoked. We then move the date
-% forward, if necessary, to find the targetted day of the week.
-% When this is found, we set the human-readable register
-% information according to that long date (including the
-% day of the month). Dividing and multiplying by "7" yields
-% the largest multiple of "7" that is equal to or less than the
-% day of the month. If this is "0", we're in the first week,
-% if "7" we're in the second, and so forth. If the value
-% of the current day is too low, we move up the date.
-% If it is too high, we move to the first day
-% of the next month, and request a loop back through
-% the same routines.
-%
-% \begin{macrocode}
-\def\dates@init@monthly@dow{%
- \global\dates@date\dates@subrange@start%
- \dates@init@monthly@@dow}
-\def\dates@init@monthly@@dow{%
- \let\dates@init@monthly@dow@recurse\relax%
- \caldate%
- \nextday\dates@weekd@target%
- \caldate%
- \dates@one\dates@day%
- \divide\dates@one by 7\relax%
- \multiply\dates@one by 7\relax%
- \ifnum\dates@modulo>\dates@one\relax%
- \dates@two\dates@modulo%
- \advance\dates@two by -\dates@one%
- \global\advance\dates@date by \dates@two%
- \else%
- \ifnum\dates@modulo<\dates@one\relax%
- \dates@next@month%
- \let\dates@init@monthly@dow@recurse\dates@init@monthly@@dow%
- \fi%
- \fi%
-\dates@init@monthly@dow@recurse}
-\def\dates@init@monthly@dom{%
- \global\dates@date\dates@subrange@start%
- \dates@init@monthly@@dom}
-\def\dates@init@monthly@@dom{%
- \let\dates@init@monthly@dom@recurse\relax%
- \caldate%
- \ifnum\dates@day>\dates@everymonth@day%
- \dates@next@month%
- \let\dates@init@monthly@dom@recurse\dates\init@monthly@@dom%
- \else%
- \global\dates@day\dates@everymonth@day%
- \dates@fix%
- \fi%
- \dates@init@monthly@dom@recurse}
-\def\dates@init@yearly@doy{%
- \global\dates@date\dates@subrange@start%
- \dates@init@yearly@@doy}
-\def\dates@init@yearly@@doy{%
- \let\dates@init@yearly@doy@recurse\relax%
- \caldate%
- \dates@ct@z\dates@day@offset%
- \global\dates@day\dates@everymonth@day%
- \global\dates@month\dates@everyyear@month%
- \dates@fix%
- \ifnum\dates@ct@z>\dates@day@offset%
- \nextyear%
- \dates@fix%
- \let\dates@init@yearly@doy@recurse\dates@init@yearly@@doy%
- \fi%
- \dates@init@yearly@doy@recurse}
-% \end{macrocode}
-%
-% This is the general incrementing macro for monthly entries.
-% It's pretty simple; we just move to the first day of the
-% next month, then run the initialization macro again to
-% find the appropriate date within the month.
-%
-% \begin{macrocode}
-\def\dates@increment@monthly@dow{%
- \dates@next@month%
- \dates@init@monthly@@dow}
-\def\dates@increment@monthly@dom{%
- \dates@next@month%
- \dates@init@monthly@@dom}
-\def\dates@increment@yearly@doy{%
- \nextyear%
- \global\dates@month=\dates@everyyear@month\relax%
- \global\dates@day=\dates@everymonth@day\relax%
- \dates@fix%
- \dates@init@yearly@@doy}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\dates@@@read@function}
-% \begin{macro}{\dates@@@read@@function}
-%
-% This is designed to be spliced into the parser
-% immediately before the macro:
-%
-% \begin{quote}
-% "\dates@@@read@default".
-% \end{quote}
-%
-% It is invoked, like the other special handling routines,
-% via the "\dates@execute" hook in the text analyzer
-% (see \ref{analyze} for details). It reads two
-% arguments immediately following the word that
-% triggers it. It stores these for reference.
-% The third argument is read after checking to be
-% sure that we have reached the end of the parsing
-% string, and are looking at the delimiter that
-% ends it. Then this is gobbled, and dumped into the
-% document so that the definitions it contains will
-% take effect. The jiggery-pokery with grouping
-% limits the effect of "\makeatletter" to the
-% scope of the braces delimiting the user's
-% function definition, while the macros he defines
-% there can be defined locally.
-%
-% This third argument should not produce any printed output, and should define,
-% at minimum, two macros, the names of which are given as
-% the first and second arguments following the invoking
-% word in the parsed text. The first of these will
-% initialize to the first date conforming to the formula,
-% counting from the bottom of a range of dates, and should
-% return a long date in "\dates@date". The second should
-% increment upward one date from a given date, also returning
-% the result in "\dates@date". The demonstration file
-% contains a sample of code which calculates the phases of
-% the moon.
-%
-% \begin{macrocode}
-\long\def\dates@@@read@function #1 #2 {%
- \xdef\dates@init{\csname#1\endcsname}%
- \xdef\dates@increment{\csname#2\endcsname}%
- \@ifnextnparchar\dates@serious@brace%
- {\bgroup%
- \makeatletter%
- \expandafter\dates@@@read@@function}%
- {\PackageError%
- {dates}%
- {Extra text after function names}%
- {The third argument must be in curly braces.}}%
- {\relax}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\long\def\dates@@@read@@function#1{%
- \long\gdef\dates@temp{#1}%
- \egroup%
- \dates@temp%
- \let\dates@temp\relax%
- \dates@@@@read@default}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{The Analyzer}
-%
-% Human-readable dates are fetched word by word by
-% the above routines. The "\dates@@@read@default"
-% macro feeds individual words to the analyzer
-% described here.
-%
-% \begin{macro}{dates@analyze}
-%
-% This
-% is a pretty straightforward set of nested
-% conditions that will uniquely identify an item
-% as a month, a year, a day or a time, and respond
-% accordingly. The macro is somewhat long, so
-% comments are provided to indicate nesting
-% levels and their functions.
-%
-% \begin{macrocode}
-\long\def\dates@analyze#1#2#{%
-% \end{macrocode}
-%
-% \begin{description}
-% \item[Level One] Check to see if we're dealing with a number.
-% If so, define a macro containing only zero to use in a series of
-% parsing checks.
-% \end{description}
-%
-% \begin{macrocode}
- \ifcat\noexpand#11%
- \def\dates@zero{0}%
-% \end{macrocode}
-%
-% \begin{description}
-% \item[Level Two] Check to see if this is not a range of times.
-% \end{description}
-%
-% \begin{macrocode}
- \expandafter\dates@check@hyphen\@overword-{}%
- \ifx\dates@arg@b\dates@zero%
-% \end{macrocode}
-%
-% \begin{description}
-% \item[Level Three] It now looks like this either a lone time or
-% an integer. Check to see if it's not a time. (We use "\@overword",
-% but it will have the same content as "\dates@arg@a").
-% \end{description}
-%
-% \begin{macrocode}
- \expandafter\dates@check@colon\@overword:{}%
- \ifx\dates@arg@b\dates@zero%
-% \end{macrocode}
-%
-% \begin{description}
-% \item[Level Four] Alright, so it's an integer. That means it's either a year
-% or a day of the month. The instructions require a 4-digit
-% year, which is always larger than a day of the month.
-% \end{description}
-%
-% \begin{macrocode}
- \expandafter\ifnum\@overword>31%
- \setyear{\dates@arg@a}%
- \else%
- \ifnum\dates@day>0%
- \dates@dayerror%
- \else%
- \global\dates@day=\dates@arg@a%
- \fi%
- \fi%
-% \end{macrocode}
-%
-% \begin{description}
-% \item[Level Three (again)] If the item was a lone time, we set variables
-% accordingly.
-% \end{description}
-%
-% \begin{macrocode}
- \else%
- \expandafter\dates@strip@colon\dates@arg@b%
- \global\dates@time@start=\dates@arg@a%
- \global\multiply\dates@time@start by 60%
- \global\advance\dates@time@start by \dates@arg@b%
- \global\dates@time@end=\dates@time@start%
- \fi%
-% \end{macrocode}
-%
-% \begin{description}
-% \item[Level Two (again)] If it was a range of times, we have the
-% extremes of the range in "\dates@arg@a" and "\dates@arg@b".
-% We process each so that a colon delimiter is not required,
-% but will be recognized if given. Note the "0" in the definition
-% of "\dates@check@colon" et al., above; this produces a default of zero
-% if this is a bare number with no colon delimiter.
-%
-% We proceed by first setting aside the contents of "\dates\arg@b"
-% so that they will not be overwritten. We then check for the
-% existence of a colon and, if one is found, the trailing
-% colon left by the test macro is stripped off. We then
-% set the time.
-% \end{description}
-%
-% \begin{macrocode}
- \else%
- \expandafter\dates@strip@hyphen\dates@arg@b%
- \let\dates@temp\dates@arg@b%
- \expandafter\dates@check@colon\dates@arg@a:{}%
- \ifx\dates@arg@b\dates@zero%
- \else%
- \expandafter\dates@strip@colon\dates@arg@b%
- \fi%
- \global\dates@time@start=\dates@arg@a\relax%
- \global\multiply\dates@time@start by 60\relax%
- \global\advance\dates@time@start by \dates@arg@b\relax%
-% \end{macrocode}
-%
-% \begin{description}
-% \item[Level Two (continued)] We then do exactly the same thing for the second time
-% given.
-% \end{description}
-%
-% \begin{macrocode}
- \expandafter\dates@check@colon\dates@temp:{}%
- \ifx\dates@arg@b\dates@zero%
- \else%
- \expandafter\dates@strip@colon\dates@arg@b%
- \fi%
- \global\dates@time@end=\dates@arg@a\relax%
- \global\multiply\dates@time@end by 60\relax%
- \global\advance\dates@time@end by \dates@arg@b%
- \fi%
-% \end{macrocode}
-%
-% \begin{description}
-% \item[Level one (again)] If "\dates@word" does not look like a
-% number, then it is handled as text.
-% We pass control to a macro that will
-% simply execute a macro name derived from the first three
-% characters of the word. If it's unknown chaff, it will therefore
-% effectively be ignored. This can be used as a hook
-% for defining options not included in the "dates" package
-% proper. The description of the hooks used by the
-% vanilla version of "dates" is given below.
-% \end{description}
-%
-% \begin{macrocode}
- \else%
- \dates@execute#1#2XXX{}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dates@execute}
-%
-% Used as the default action in the analyzer, this just blindly
-% executes a macro that may match a day, month or option
-% name. If the date string is limited by "\relax{}",
-% the macro name "\relax" will be read in as a token
-% for interpretation. To prevent unexpected results,
-% we therefore convert a leading control sequence to a string
-% within "\csname" "\endcsname". We must not give
-% the same treatment to non-control-sequence items,
-% however, because this would prevent the expansion of
-% uppercase characters, which have been read in as active
-% characters, to their lowercase counterparts. An "\ifcat"
-% is used to choose which action is appropriate. The
-% macros invoked by "\dates@execute" never take arguments,
-% so they can be expanded within the scope of "\ifcat".
-%
-% \begin{macrocode}
-\def\dates@execute#1#2#3#4#{%
- \ifcat#1\relax%
- \expandafter\csname%
- \string#1#2#3mac\endcsname%
- \else%
- \global\dates@catch=`#1\relax
- \global\advance\dates@catch by-65
- \dates@reg@a=\expandafter{\ifcase\dates@catch
- a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or
- m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
- y\or z\else #1\fi}
- \csname\the\dates@reg@a#2#3mac\endcsname%
- \fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Fodder for the Analyzer}
-%
-% As can be gleaned from an examination of "\dates@execute",
-% a word is read by executing a macro named using
-% its first three letters. We provide definitions
-% for a number of such macros here.
-%
-% \begin{macro}{\evemac}
-%
-% "Every" sets up for recursion, and for a default of
-% incrementing over days of the week.
-%
-% \begin{macrocode}
-\def\evemac{%
- \global\let\dates@read@exit=\dates@read@exit@recurse}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\daymac}
-%
-% The following was suggested by Miroslav Novak, hacked
-% together by Frank Bennett in January 1997, but awaited
-% final testing while the Timetable package stabilized.
-% It was reported to fail by Miroslav on 5 March 1997,
-% and a fix was put in place and released by Frank on 6 March.
-%
-% \begin{macrocode}
-\def\daymac{%
- \global\let\dates@init=\dates@init@daily%
- \global\let\dates@increment=\dates@increment@daily}
-\def\dates@init@daily{%
- \global\dates@date=\dates@subrange@start}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\othmac}
-%
-% "Other" will modify the effect of "every" to
-% choose every other date within the range, beginning
-% with the specified date. The specified date need not
-% be within the range.
-% \begin{macrocode}
-\def\othmac{%
- \global\let\dates@init=\dates@init@semiweekly%
- \global\let\dates@increment=\dates@increment@semiweekly}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\firmac}
-% \begin{macro}{\secmac}
-% \begin{macro}{\thimac}
-%
-% "First", "second" and "third" will set a counter than controls which
-% instance of a day of the week within a month should be chosen,
-% and modifies the effect of "every" to recurse on that
-% instance within every month, within the subrange.
-% \begin{macrocode}
-\def\firmac{%
- \dates@modulo=0%
- \global\let\dates@init=\dates@init@monthly@dow%
- \global\let\dates@increment=\dates@increment@monthly@dow}%
-%
-\def\secmac{%
- \dates@modulo=7%
- \global\let\dates@init=\dates@init@monthly@dow%
- \global\let\dates@increment=\dates@increment@monthly@dow}%
-%
-\def\thimac{%
- \dates@modulo=14%
- \global\let\dates@init=\dates@init@monthly@dow%
- \global\let\dates@increment=\dates@increment@monthly@dow}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\toXmac}
-%
-% The following responds to "to" in the parsed text. If
-% the year is zero, it sets
-% the bottom of a range to the last date encountered, and
-% lets the exit macro for processing a finished date be
-% one which will set the top of the range before performing
-% the action specified by the user.
-% If the year is greater than zero, we grab the \textit{current}
-% date, reset everything to zero, and continue parsing.
-% This permits ``no frills'' range designations, as
-% in the "calendar" package.
-%
-% The "X" is appended to
-% fill out to three characters. For reasons that I do not
-% fully understand, this was necessary to prevent the
-% package from exiting within the scope of a group.
-%
-% \begin{macrocode}
-\def\toXmac{\relax%
- \ifnum\dates@year=0%
- \dates@subrange@start\dates@lastdate%
- \else%
- \dates@fix%
- \dates@subrange@start\dates@date%
- \global\dates@month=0%
- \global\dates@day=0%
- \setyear{1900}%
- \fi%
- \global\let\dates@read@exit\dates@read@exit@range}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\funmac}
-%
-% The following causes a function definition to be read
-% immediately after the word "function" in the date text.
-%
-% \begin{macrocode}
-\def\funmac{%
- \global\let\dates@read@exit=\dates@read@exit@recurse%
- \global\let\dates@@@read=\dates@@@read@function}
-% \end{macrocode}
-% \end{macro}
-%
-% The following causes the suppression of any action
-% in respect of the entry in which it is found.
-%
-% \begin{macrocode}
-\def\remmac{%
- \global\dates@suppresstrue}
-% \end{macrocode}
-%
-% \begin{macro}{\janmac}
-% \begin{macro}{\jancheckmac}
-%
-% The months are defined globally using a recursive engine
-% that is discarded when the macros have been defined.
-% Each month macro first sets a counter to the number of
-% days in the month, so that a range check can be performed
-% when the date is interpreted. It then checks to
-% see if a month has already been selected, and if so
-% it forces a fatal error; otherwise, the month counter
-% is set to the appropriate value.
-%
-% \begin{macrocode}
-\bgroup
- \def\monthdata#1#2#3#4#5\end{%
- \expandafter\gdef\csname#2#3#4mac\endcsname{%
- \ifnum\dates@month>0%
- \dates@montherror%
- \else%
- \global\dates@month=#1%
- \fi}%
- \ifcat$#5$\let\next\@gobble\else\let\next\monthdata\fi%
- \next#5\end}%
-% \end{macrocode}
-%
-%
-% The following does the action generation of month macros.
-% \begin{macrocode}
- \monthdata1jan2feb3mar4apr5may6jun%
- 7jul8aug9sep{10}oct{11}nov{12}dec\end
-\egroup
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\monmac}
-%
-% Days of the week are specified in a similar fashion.
-%
-% \begin{macrocode}
-\bgroup
- \def\weekdata#1#2#3#4#5\end{%
- \expandafter\gdef\csname #2#3#4mac\endcsname{%
- \ifnum\dates@weekd@target<7\relax%
- \dates@weekerror%
- \else%
- \global\dates@weekd@target=#1\relax%
- \ifx\dates@init\relax%
- \global\let\dates@init\dates@init@weekly%
- \fi%
- \ifx\dates@increment\relax%
- \global\let\dates@increment\dates@increment@weekly%
- \fi%
- \fi}%
- \ifcat$#5$\let\next\@gobble\else\let\next\weekdata\fi%
- \next#5\end}
- \weekdata0sun1mon2tue3wed4thu5fri6sat\end
-\egroup
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dates@montherror}
-% \begin{macro}{\dates@weekerror}
-% \begin{macro}{\dates@dayerror}
-%
-% These three macros are used in the above definitions
-% to produce error messages if something is wrong
-% with a date.
-%
-% \begin{macrocode}
-\def\dates@montherror{%
- \PackageError{dates}{Month multiply defined}{%
- You have set the month more than once here.}}
-\def\dates@dayerror{%
- \PackageError{dates}{Day multiply defined}{%
- You have set the day more than once here.}}
-\def\dates@weekerror{%
- \PackageError{dates}{Week multiply defined}{%
- You have set the day of the week more than once here.}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Low-level Bits and Pieces}
-%
-% \begin{macro}{\dates@capsdown}
-%
-% The "\lowercase" function provided in \TeX{} does not
-% operate in \TeX{}'s mouth, and so cannot be used to
-% create lowercase strings for export to a non-DVI
-% file or for display on the terminal.
-% We can get around this problem by
-% making all upper-case characters
-% active, and defining them to lowercase themselves. The
-% operative definition is "\dates@capsdown".
-% The
-% grouping culls the bootstrapping definitions used to
-% create these macros from memory. A detailed explanation
-% these macros is not given here, but they do work.
-% Essentially, they function by looping over sets of three
-% characters, two uppercase and one lowercase, building a
-% macro ("\dates@capsdown") that will make the uppercase
-% characters in the list locally active, with the appropriate
-% definition. Two uppercase characters are required in the
-% list because on is read to identify the character so
-% that it can be made active in order, on the second read,
-% to take its active form and define it.
-%
-% \begin{macrocode}
-%<*cull>
-\bgroup
-\dates@reg@a={}
-\gdef\dates@capsdown{}
-\def\dates@capsactive#1{%
- \ifx#1\end%
- \let\next\relax%
- \else%
- \catcode`#1=13%
- \let\next\dates@@capsactive%
- \fi%
- \next}
-\def\dates@@capsactive#1#2{%
- \dates@reg=\expandafter{%
- \dates@capsdown\catcode`#1=13\def#1{#2}}%
- \xdef\dates@capsdown{\the\dates@reg}%
- \let\next\dates@capsactive%
- \next}
-\dates@capsactive%
- AAaBBbCCcDDdEEeFFfGGgHHhIIiJJjKKk%
- LLlMMmNNnOOoPPpQQqRRrSSsTTtUUuVVv%
- WWwXXxYYyZZz\end
-\egroup
-%</cull>
-% \end{macrocode}
-% \end{macro}
-%
-% For parsing strings, we use some little
-% macros to identify strings that have a colon in
-% them (which will be assumed to be a time)
-% or a hyphen (assumed to be a range of times),
-% and to strip those off where necessary.
-%
-% \begin{macrocode}
-\def\dates@check@colon#1:#2#{%
- \def\dates@arg@a{#1}%
- \def\dates@arg@b{0#2}}
-\def\dates@strip@colon#1:{%
- \def\dates@arg@b{#1}}
-\def\dates@check@hyphen#1-#2#{%
- \def\dates@arg@a{#1}%
- \def\dates@arg@b{0#2}}
-\def\dates@strip@hyphen#1-{%
- \def\dates@arg@b{#1}}
-% \end{macrocode}
-%
-% The following macro is used to terminate
-% processing.
-%
-% \begin{macrocode}
-\expandafter\expandafter\expandafter\def%
- \expandafter\csname%
- \string\relaxXXmac\endcsname{%
- \global\let\dates@@@@read\relax}
-% \end{macrocode}
-%
-%
-%
-% \subsection{Interface Macros for Date Info}
-%
-% \begin{macro}{\theyear}
-% \begin{macro}{\themonth}
-% \begin{macro}{\theshortmonth}
-% \begin{macro}{\themonthnumber}
-% \begin{macro}{\theday}
-% \begin{macro}{\theweekday}
-% \begin{macro}{\theshortweekday}
-% \begin{macro}{\thelongdate}
-% \begin{macro}{\themonthdays}
-% \begin{macro}{\theshorttext}
-% \begin{macro}{\thelongtext}
-%
-% \label{interface} These macros can be used to include date information
-% in the text fed to "\dateread". They do not contain
-% unprintable operations, and so can be used to display
-% text on the terminal as well as in a document. All
-% are updated from the long date by the "\caldate" command.
-% The macros "\theshorttext" and "\thelongtext" are
-% defined elsewhere on the fly; token registers cannot
-% be used for these because they must be allowed to
-% expand fully on the terminal.
-%
-% \begin{macrocode}
-\def\theyear{\the\dates@year@full}
-% \def\themonth{\the\dates@monthname}
-% \def\theshortmonth{\the\dates@monthname}
-\def\themonthnumber{\the\dates@month}
-\def\theday{\the\dates@day}
-% \def\theweekday{\the\dates@dayname}
-% \def\theshortweekday{\the\dates@shortweekday}
-\def\thelongdate{\the\dates@date}
-\def\themonthdays{\the\dates@days}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Maths Functions for Dates}
-%
-% The following code is an almost direct rip-off of the
-% "calendar" macros for plain \TeX{} that are stored on
-% CTAN. If anyone knows who the author is, I will be happy
-% to include a credit here. I have made scant effort
-% to document the code, but it works well.
-%
-% \begin{macro}{\setyear}
-%
-% Set the current year.
-%
-% \begin{macrocode}
-\def\setyear#1{\dates@year=#1%
- \advance\dates@year by -1900\calculateyearbase}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\nextyear}
-%
-% Advance by one year
-%
-% \begin{macrocode}
-\def\nextyear{\advance\dates@year by1%
- \calculateyearbase}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dates@next@month}
-% Advance by one month.
-%
-% \begin{macrocode}
-\def\dates@next@month{%
- \ifnum\dates@month=12%
- \advance\dates@year by 1\calculateyearbase%
- \global\dates@month=1%
- \global\dates@day=1%
- \else%
- \global\advance\dates@month by 1%
- \global\dates@day=1%
- \fi%
- \dates@fix}
-% \end{macrocode}
-% \end{macro}
-%
-% Set the current time zone.
-%
-% \begin{macro}{\settimezone}
-% \begin{macrocode}
-\def\settimezone#1{\dates@timezone=#1%
- \multiply\dates@timezone by 1000%
- \divide\dates@timezone by24}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\calculateyearbase}
-%
-% Set the "\ifleapyear" toggle. Set "\dates@yearbase" to the number of
-% days passed from 1900, Jan 0 to New year's date in the target year.
-%
-% \begin{macrocode}
-\def\calculateyearbase{%
- \global\dates@yearbase=-1%
- {\dates@ct@z=\dates@year\divide\dates@ct@z by4%
- \multiply\dates@ct@z by4\relax%
- \ifnum\dates@year=\dates@ct@z%
- \global\dates@catch=0%
- \else%
- \global\dates@catch=1%
- \fi}%
- \ifcase\dates@catch \leapyeartrue\or%
- \leapyearfalse\fi%
- {\dates@ct@z=\dates@year\multiply\dates@ct@z%
- by1461\advance\dates@ct@z by3%
- \divide\dates@ct@z by4%
- \global\dates@catch=\dates@ct@z}%
- \global\advance\dates@yearbase by\dates@catch\relax%
- \ifnum\dates@year=0\global\dates@yearbase=0\leapyearfalse\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\monthdays}
-%
-% Set the number of days passed at the end of each month in "\dates@day".
-%
-% \begin{macrocode}
-\def\monthdays{%
-\global\dates@catch\ifcase\dates@month%
- 0\or31\or%
- 59\or90\or120\or151\or181\or212\or%
- 243\or273\or304\or334\or365\fi%
- {\ifleapyear\ifnum\dates@month>1%
- \global\advance\dates@catch by1\fi\fi}%
-% ??????????? ************ global okay here?
- \global\dates@day@offset=\dates@catch}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dates@fix}
-%
-% Return the long date of "\dates@month", "\dates@day" in the year "\dates@year"
-% in "\dates@date" after checking to be sure that the month and the day
-% have been set, if confirmation has been toggled on, and that
-% the number of days
-% in the month conforms to the constraints of reality.
-%
-% This can now be invoked by itself; there is no need to follow
-% it with \cs{caldate}.
-% \begin{macrocode}
-\def\dates@fix{%
- \dates@year@get%
- \dates@monthname@get%
- \ifnum\dates@days<\dates@day%
- \PackageError{dates}{Day of month out of range}{%
- There are only \the\dates@days\space days in %
- \themonth, but you have tried^^J%
- to specify \the\dates@day.}%
- \else%
- \global\dates@date=\dates@day{\advance\dates@month by-1%
- \monthdays%
- \global\advance\dates@date by\dates@day@offset%
- \global\advance\dates@date by\dates@yearbase}%
- \fi%
- \dates@dayname@get}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mod}
-%
-% Long date "MOD 7" will give the week day.
-% Sunday is "0" and Saturday is "6". The base
-% number is returned in "\dates@three",
-% the mod in "#3".
-%
-% \begin{macrocode}
-\def\mod#1#2#3{\dates@three=#2\relax%
- \dates@four=\dates@three%
- \divide\dates@three by#1%
- \multiply\dates@three by#1%
-\advance\dates@four by-\dates@three%
- #3=\dates@four}
-
-\def\dates@year@get{%
- \global\dates@year@full\dates@year%
- \global\advance\dates@year@full by 1900\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\theweekday}
-%
-% Set the names of week day (Local).
-%
-% \begin{macrocode}
-\def\dates@dayname@get{\mod7\dates@date\dates@weekd}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\caldate}
-%
-% Gives the usual calendar date for
-% a long date in counter "\dates@date".
-% Returned in "\dates@day", "\dates@month" and "\dates@year"
-% and other registers. See the interface macros above
-% under \ref{interface}.
-%
-% \begin{macrocode}
-\def\caldate{\dates@year=\dates@date%
- \multiply\dates@year by4\divide\dates@year by1461%
- \calculateyearbase%
- {\advance\dates@date by-\dates@yearbase\global\dates@month=0%
- \loop\monthdays\ifnum\dates@day@offset<\dates@date%
- \global\advance\dates@month by1\repeat%
- {\advance\dates@month by-1\monthdays%
- \advance\dates@date by-\dates@day@offset%
- \global\dates@day=\dates@date}}%
- \dates@year@get%
- \dates@monthname@get%
- \dates@dayname@get}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dates@monthname@get}
-%
-% This stores the names of the months to registers.
-% It is run by "\caldate". The definition here
-% is performed in the alternative, depending upon
-% the value of the "\dates@language" counter. This
-% counter is set in the options section. Packages
-% which draw on the Dates package (such as Calendar,
-% and the various Calendar style packages) can pass
-% the language options down to the Dates package through
-% the standard \LaTeXe{} package interface. Because Japanese
-% high-bit code may case a non-Japanese version of
-% \LaTeXe to fail, we allow for its exclusion here.
-% The odd structure of this is necessary to cope with the
-% fact that the "\ifcase" function is blind to the nesting
-% of case conditions.
-% \begin{macrocode}
-% Japanese removed.
-\def\dates@monthname@get{%
- \ifcase\dates@month%
- \or%
- \global\dates@days=31\relax%
- \or%
- \ifleapyear%
- \global\dates@days=29\relax%
- \else%
- \global\dates@days=28\relax%
- \fi%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=30\relax%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=30\relax%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=30\relax%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=30\relax%
- \or%
- \global\dates@days=31\relax%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\nextday}
-%
-% Find the next (previous) day after
-% (before) "\dates@date" with "\mod7=#1".
-%
-% \begin{macrocode}
-\def\nextday#1{{\dates@ct@z=#1\mod7\dates@date\dates@weekd%
- \advance\dates@ct@z by-\dates@weekd\relax%
- \ifnum\dates@ct@z<0\advance\dates@ct@z by7\fi%
- \global\advance\dates@date by\dates@ct@z}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\prevday}
-%
-% \begin{macrocode}
-\def\prevday#1{\snextday#1%
- \global\advance\dates@date by-7}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\snextday}
-%
-% \begin{macrocode}
-\def\snextday#1{\global\advance\dates@date by1%
- \nextday#1}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sprevday}
-%
-% \begin{macrocode}
-\def\sprevday#1{\global\advance\dates@date by-1%
- \prevday#1}
-% \end{macrocode}
-% \end{macro}
-%
-% Convert from Julian date and time in
-% \date to long date (in local time)
-%
-% \begin{macrocode}
-\def\jdttol{\advance\dates@date by500%
-%\message{Ran jdttol^^J}%
- \advance\dates@date by\dates@timezone%
- \global\divide\dates@date by1000}
-% \end{macrocode}
-%
-% \subsection{Trigonometric Functions}
-%
-% \begin{macrocode}
-\def\sintable#1{\ifcase #1 0\or100\or199%
- \or296\or389\or479\or565\or644\or717%
- \or783\or841\or891\or932\or964\or985%
- \or997\or1000\or992\or974\or946\or909%
- \or863\or808\or746\or675\or598\or516%
- \or427\or335\or239\or141\or42\or-58%
- \or-158\fi}
-% \end{macrocode}
-%
-% Reduces modulo "2\pi" (requires positive
-% argument theta):
-% "theta := theta" "MOD 2\pi", where
-% "theta = count1*10^(-3)"
-%
-% \begin{macrocode}
-\def\twopimod{\count2 =\count1%
- \divide\count2 by6284 \count3 =1853%
- \count4 =6283\multiply\count3 by\count2%
- \multiply\count4 by\count2%
- \divide\count3 by10000%
- \advance\count3 by\count4%
- \advance\count1 by-\count3}%
-% \end{macrocode}
-%
-% "v := sin(theta)", where
-% "v = count4*10^(-3)";
-% "theta = count1*10^(-3)"
-% theta is reduced "MOD 2\pi" to be
-% "0<=theta<2\pi" by "\TWOPIMOD",
-% then linear interpolation is performed
-% using "\SINTABLE".
-%
-% \begin{macrocode}
-\def\sin{\relax%
- \ifnum\count1<0 \signtrue%
- \count1=-\count1\else \signfalse\fi%
- \loop\ifnum\count1>6284\twopimod\repeat\relax%
- \ifnum\count1>3142%
- \advance\count1 by-3142%
- \ifsign\signfalse\else\signtrue\fi\fi%
- \multiply\count1 by10\count3=\count1%
- \divide\count3 by1000\count2=\count3%
- \multiply\count3 by1000%
- \advance\count3 by-\count1 %
- \count5 =\sintable{\count2 }%
- \count4 =\count5\advance\count2 by1%
- \advance\count4 by -\sintable{\count2}%
- \multiply\count4 by\count3%
- \divide\count4 by1000%
- \advance\count4 by\count5%
- \ifsign\count4 =-\count4\fi}%
-% \end{macrocode}
-%
-% "v := cos(theta)", where
-% "v = count4*10^(-3)";
-% "theta = count1*10^(-3)".
-% "\SIN" is evaluated on "pi/2-theta".
-% \begin{macrocode}
-\def\cos{\advance\count1 by-1571%
- \multiply\count1 by-1\sin}%
-% \end{macrocode}
-% Linear transformation of T giving
-% "theta := a*T+b", where
-% "T = dates@ct@z*10^(-6)";
-% "theta = count1*10^(-3)";
-% "a = #1*10^3+#2+#3*10^(-3)";
-% "b = #4*10^(-3)"
-%
-% \begin{macrocode}
-\def\lin#1.#2.#3+#4.{\count1=#3%
- \count2=#2\count3=#1%
- \multiply\count1 by\dates@ct@z%
- \multiply\count2 by\dates@ct@z\relax%
- \multiply\count3 by\dates@ct@z%
- \divide\count1 by1000%
- \advance\count1 by\count2%
- \divide\count1 by1000%
- \advance\count1 by\count3%
- \advance\count1 by #4\relax}
-% \end{macrocode}
-%
-% Accumulate value returned by a
-% trigonometric function, scaled by
-% factor f, into count6:
-% "ac := ac+f*v", where
-% "ac = count6*10^(-7)"
-% "v = value" of "SIN" or "COS =count4*10^(-3)"
-% "f = #1*10^(-4)"
-%
-% \begin{macrocode}
-\def\fac#1{\multiply\count4 by #1%
- \advance\count6 by\count4}
-\def\id{\count4=\count1} % Identity
-% \end{macrocode}
-%
-% \subsection{Initialization}
-%
-% Before anything further is executed, the following registers
-% and macros need to be in place.
-%
-% \begin{macrocode}
-\newcount\dates@textcount
-\newcount\dates@ct@z
-\newcount\dates@range@limit
-\newcount\dates@year
-\newcount\dates@timezone
-\dates@timezone=0
-\newcount\dates@catch
-\newcount\dates@day
-\newcount\dates@day@offset
-\newcount\dates@everymonth@day
-\newcount\dates@everyyear@month
-\newcount\dates@month
-\newcount\dates@date
-\newcount\dates@date@current
-\newcount\dates@three
-\newcount\dates@four
-\newcount\dates@weekd
-\newcount\dates@time@start
-\newcount\dates@time@end
-\newcount\dates@subrange@start
-\newcount\dates@subrange@end
-\newcount\dates@days
-\newcount\dates@lastdate
-\newcount\dates@yearbase
-\newcount\dates@weekd@target
-\newcount\dates@modulo
-\newcount\dates@year@full
-\newcount\dates@extra@day
-\newtoks\dates@reg
-\newtoks\dates@dayname
-\newtoks\dates@shortweekday
-\newtoks\dates@monthname
-\newtoks\dates@shortmonthname
-\newif\ifdates@requiremonth
-\newif\ifdates@requireday
-\newif\ifdates@suppress
-\newif\ifdates@suppress@global
-\newif\ifleapyear
-\let\delim\relax
-\let\dates@serious@brace={
-\def\dates@empty{}
-%</style>
-% \end{macrocode}
-%
-%\iffalse
-%
-% \section{Demonstration File}
-%
-% \begin{macrocode}
-%<*demo>
-\documentclass{minimal}
-\usepackage{dates}
-\begin{document}
-
-\makeatletter
-%
-% We say HI to the user
-\message{^^J---------------------------------------------------------}
-\message{This is a demonstration file for the LaTeX dates package.}
-\message{It will print a number of dates to the terminal.^^J}
-\message{The code demonstrated by this package is not intended}
-\message{for direct use by humans, so I have not worked very hard}
-\message{to make its output look pretty, and it won't actually}
-\message{print anything. But if you get a cluttered list of dates}
-\message{and no error messages, the package is working for you.}
-\message{---------------------------------------------------------}
-%
-% We invoke the \dateread command.
-%
-\dateread
-%
-% We tell it to report a few details to the terminal.
-%
-{\message{\theshorttext}%
- \message{\theday/\the\dates@month/\the\dates@year}%
- \ifx\thelongtext\dates@empty%
- \else%
- \message{\thelongtext}%
- \fi}
-%
-% The following are ranges.
-%
- december 10 1995 {Start of First Period of Time}
-to jan 10 1996 {End of First Period of Time}
- december 10 1996 {Start of Second Period of Time}
-to jan 10 1997 {End of Second Period of Time}
-%
-% The following are specific dates (obviously)
-%
-February 18 1997 {Frank's Next Birthday}
- [The best presents come in small packages.^^JIt
- would be a terrific present for someone to make
- this one smaller.]
-February 18 1998 {Frank's Next Birthday But One}
-%
-% These are a couple of recursive dates.
-%
-Every Monday {(Monday Coffee)}
-Every Third Tuesday {(Third Tuesday Meeting)}
-Function moonsinit moonsincrement {%
- \global\dates@date=\dates@subrange@start%
- \caldate%
- \newcount\moonno%
- \newif\ifsign%
- \def\firstmoon{\moonno=\dates@year
- \multiply\moonno by123685
- \divide\moonno by10000
- \multiply\moonno by4\advance\moonno by-1
- \loop\moondate\relax
- \ifnum\dates@date<\dates@subrange@start
- \advance\moonno by1\repeat}
-% Compute date for cycle quarter MOONNO
- \def\moondate{{\dates@ct@z=\moonno
- \lin 202.126.369+0.\dates@ct@z=\count1
- \count6=0
- \lin 0.2.319+2907.\sin\fac{3}
- \divide\count6 by1000
- \lin 365.249.86+7593.\id\fac{1}
- \divide\count6 by10\count7 =\count6
- \ifodd\moonno\quarters
- \else\fullornew\fi\global\dates@date=\count7}
- \jdttol}
-% Correction for full and new moon
- \def\fullornew{\count6=0
- \lin -393.0.0+0.
- \divide\count1 by100000000
- \advance\count6 by\count1
- \lin 0.628.300+6269.\sin
- \multiply\count6 by\count4
- \lin -7.-700.-369+ 928.\sin\fac{ -74}
- \lin 0. 628. 300+ 6269.\sin\fac{ 1734}
- \lin 1. 256. 600+12539.\sin\fac{ 21}
- \lin 8. 328. 670+ 5341.\sin\fac{-4068}
- \lin 8. 538. 220+-4597.\sin\fac{ 10}
- \lin 8. 956. 970+11610.\sin\fac{ -51}
- \lin 16. 238. 589+-5526.\sin\fac{ -4}
- \lin 16. 657. 340+10682.\sin\fac{ 161}
- \lin 16. 866. 890+ 743.\sin\fac{ 104}
- \lin 17. 285. 640+16951.\sin\fac{ 50}
- \lin 17. 495. 190+ 7013.\sin\fac{ 4}
- \lin 24. 986. 10+16023.\sin\fac{ -4}
- \lin 25. 195. 560+ 6084.\sin\fac{ -6}
- \divide\count6 by10000
- \advance\count7 by\count6 }
-% Correction for quarters
- \def\quarters{\lin -393.0.0+0.
- \divide\count1 by100000000
- \count6 =\count1 \lin 0.628.300+6269.
- \sin\multiply\count6 by\count4
- \lin -16. -29. -40+-4413.\sin\fac{ 40}
- \lin -7.-700.-369+ 928.\sin\fac{ -47}
- \lin -7. -72. -69+ 7198.\sin\fac{ -30}
- \lin 0. 628. 300+ 6270.\sin\fac{ 1721}
- \lin 1. 256. 600+12539.\sin\fac{ 21}
- \lin 8. 328. 670+ 5341.\sin\fac{-6280}
- \lin 8. 538. 220+-4598.\sin\fac{ 21}
- \lin 8. 956. 970+11611.\sin\fac{ -119}
- \lin 16. 238. 589+-5526.\sin\fac{ -4}
- \lin 16. 657. 340+10682.\sin\fac{ 89}
- \lin 16. 866. 890+ 743.\sin\fac{ 79}
- \lin 17. 285. 640+16952.\sin\fac{ 3}
- \lin 17. 495. 190+ 7013.\sin\fac{ 3}
- \lin 24. 986. 10+16023.\sin\fac{ -4}
- \lin 25. 195. 560+ 6085.\sin\fac{ -6}
- \count8=\count6\count6=28000
- \lin 628. 300. 373+ 6270.\cos\fac{ -4}
- \lin 8. 328. 670+ 5341.\cos\fac{ 3}
- \count2=\moonno
- \advance\count2 by-1\divide\count2 by2
- \ifodd\count2\multiply\count6 by-1 \fi
- \advance\count6 by\count8
- \divide\count6 by10000
- \advance\count7 by\count6 }
-% Events for phases.
-% Uses PHASE (local).
- \def\phase{{\dates@ct@z=\moonno
- \count1=\moonno
- \divide\dates@ct@z by4\multiply\dates@ct@z by4
- \advance\count1 by-\dates@ct@z\relax
- \xdef\themoon{\ifcase\count1
- New Moon\or First Quarter\or
- Full Moon\or Last Quarter\fi}}}
- \gdef\moonsinit{%
- \firstmoon
- \global\dates@month=12\global\dates@day=31\dates@fix\global\advance\dates@date by1
- \count1=\dates@date
- \moondate
- \phase
- \caldate}
- \gdef\moonsincrement{%
- \advance\moonno by 1
- \moondate\phase
- \caldate}
- }
- {\themoon}
-\end{document}
-%</demo>
-% \end{macrocode}
-% \section{The Installation File}
-% \begin{macrocode}
-%<*installer>
-\def\batchfile{dates.ins}
-\input docstrip.tex
-
-\keepsilent
-
-\preamble
-
-This file is part of the Dates package.
-Copyright (C) 1996, 1997 Frank Bennett, Jr.
-All rights reserved.
-------------------------------------------
-This is a generated file.
-
-IMPORTANT NOTICE:
-
-You are not allowed to change this file. You may however copy
-this file to a file with a different name and then change the
-copy if (a) you do not charge for the modified code, (b) you
-acknowledge the author(s) in the new file, if it
-is distributed to others, and (c) you attach these same
-conditions to the new file.
-
-You are not allowed to distribute this file alone. You are not
-allowed to take money for the distribution or use of this file
-(or a changed version) except for a nominal charge for copying
-etc.
-
-You are allowed to distribute this file under the condition that
-it is distributed with all of its contents, intact.
-
-For error reports, or offers to help make this a more powerful,
-friendlier, and better package, please contact me on
-`fb' at soas.ac.uk
-
-\endpreamble
-
-\generate{\file{dates.sty} {\from{dates.dtx}{style}}
- }
-
-\generate{\file{demodate.tex} {\from{dates.dtx}{demo}}
- }
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation, you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space dates.sty}
-\Msg{*}
-\Msg{***********************************************************}
-
-%</installer>
-% \end{macrocode}
-%\fi
-% \Finale \PrintChanges
-
diff --git a/Master/texmf-dist/source/latex/calendar/demo1997.cld b/Master/texmf-dist/source/latex/calendar/demo1997.cld
deleted file mode 100644
index 86b7befb545..00000000000
--- a/Master/texmf-dist/source/latex/calendar/demo1997.cld
+++ /dev/null
@@ -1,13 +0,0 @@
-%%
-%% This is file `demo1997.cld',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `1997')
-%%
-January 1 1997 to December 31 1997 {The year 1997}
-
-%%
-%%
-%% End of file `demo1997.cld'.
diff --git a/Master/texmf-dist/source/latex/calendar/demoapt.cld b/Master/texmf-dist/source/latex/calendar/demoapt.cld
deleted file mode 100644
index dfff29c677a..00000000000
--- a/Master/texmf-dist/source/latex/calendar/demoapt.cld
+++ /dev/null
@@ -1,14 +0,0 @@
-%%
-%% This is file `demoapt.cld',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `appts')
-%%
-jan 1 1997 16:00 {Nancy} [Call Nancy to confirm]
-jan 1 1997 18:00-20:00 {Dinner} [New Year Dinner]
-
-%%
-%%
-%% End of file `demoapt.cld'.
diff --git a/Master/texmf-dist/source/latex/calendar/demoaptr.cld b/Master/texmf-dist/source/latex/calendar/demoaptr.cld
deleted file mode 100644
index 622a4f97b6e..00000000000
--- a/Master/texmf-dist/source/latex/calendar/demoaptr.cld
+++ /dev/null
@@ -1,17 +0,0 @@
-%%
-%% This is file `demoaptr.cld',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `apptsr')
-%%
-range demo1997 {Current year}
-every Monday 14:00-16:00 {Monday meeting}
-every other Wednesday from 1 January 1997 10:00 {Wednesday call}
-every 3 10:00-13:00 {Koffee klatch}
-every first Tuesday 13:00-15:00 {Study group}
-
-%%
-%%
-%% End of file `demoaptr.cld'.
diff --git a/Master/texmf-dist/source/latex/calendar/demoevt.cld b/Master/texmf-dist/source/latex/calendar/demoevt.cld
deleted file mode 100644
index 5c72a4382f8..00000000000
--- a/Master/texmf-dist/source/latex/calendar/demoevt.cld
+++ /dev/null
@@ -1,13 +0,0 @@
-%%
-%% This is file `demoevt.cld',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `events')
-%%
-jan 1 1997 {New Year} [New Year's Day]
-
-%%
-%%
-%% End of file `demoevt.cld'.
diff --git a/Master/texmf-dist/source/latex/calendar/demoevtr.cld b/Master/texmf-dist/source/latex/calendar/demoevtr.cld
deleted file mode 100644
index 091c37ec529..00000000000
--- a/Master/texmf-dist/source/latex/calendar/demoevtr.cld
+++ /dev/null
@@ -1,17 +0,0 @@
-%%
-%% This is file `demoevtr.cld',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `eventsr')
-%%
-range demo1997
-every Monday {Monday event}
-every other friday from 10 january 1997 {Alternate Monday}
-every 3 {Third of month}
-every first Tuesday {First Tuesday}
-
-%%
-%%
-%% End of file `demoevtr.cld'.
diff --git a/Master/texmf-dist/source/latex/calendar/demohlst.htm b/Master/texmf-dist/source/latex/calendar/demohlst.htm
deleted file mode 100644
index 77e668e0fc4..00000000000
--- a/Master/texmf-dist/source/latex/calendar/demohlst.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<UL>
-<LI><A NAME="35430">1 January 1997</A>
-<BR>New Year's Day
- <UL>
- <LI>10:00 Wednesday call
- <LI>16:00 Call Nancy to confirm
- <LI>18:00--20:00 New Year Dinner
- </UL>
-<LI><A NAME="35432">3 January 1997</A>
-<BR>Third of month
- <UL>
- <LI>10:00--13:00 Koffee klatch
- </UL>
-</UL>
diff --git a/Master/texmf-dist/source/latex/calendar/demohml.htm b/Master/texmf-dist/source/latex/calendar/demohml.htm
deleted file mode 100644
index b86fd29f95b..00000000000
--- a/Master/texmf-dist/source/latex/calendar/demohml.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<pre><B>January</B>
- Wed Thu Fri Sat Sun Mon Tue
- <A HREF="#35430">1</A> 2 <A HREF="#35432">3</A> 4 5 <A HREF="#35435">6</A> 7
-
- 8 9 <A HREF="#35439">10</A> 11 12 <A HREF="#35442">13</A> 14
-
- <A HREF="#35444">15</A> 16 17 18 19 <A HREF="#35449">20</A> 21
-
- 22 23 <A HREF="#35453">24</A> 25 26 <A HREF="#35456">27</A> 28
-
- <A HREF="#35458">29</A> 30 31
-
-</pre>
-<UL>
-<LI><A NAME="35430">1 January 1997</A>
-<BR>New Year's Day
- <UL>
- <LI>10:00 Wednesday call
- <LI>16:00 Call Nancy to confirm
- <LI>18:00--20:00 New Year Dinner
- </UL>
-<LI><A NAME="35432">3 January 1997</A>
-<BR>Third of month
- <UL>
- <LI>10:00--13:00 Koffee klatch
- </UL>
-<LI><A NAME="35435">6 January 1997</A>
-<BR>Monday event
- <UL>
- <LI>14:00--16:00 Monday meeting
- </UL>
-<LI><A NAME="35439">10 January 1997</A>
-<BR>Alternate Monday
-<LI><A NAME="35442">13 January 1997</A>
-<BR>Monday event
- <UL>
- <LI>14:00--16:00 Monday meeting
- </UL>
-<LI><A NAME="35444">15 January 1997</A>
- <UL>
- <LI>10:00 Wednesday call
- </UL>
-<LI><A NAME="35449">20 January 1997</A>
-<BR>Monday event
- <UL>
- <LI>14:00--16:00 Monday meeting
- </UL>
-<LI><A NAME="35453">24 January 1997</A>
-<BR>Alternate Monday
-<LI><A NAME="35456">27 January 1997</A>
-<BR>Monday event
- <UL>
- <LI>14:00--16:00 Monday meeting
- </UL>
-<LI><A NAME="35458">29 January 1997</A>
- <UL>
- <LI>10:00 Wednesday call
- </UL>
-</UL>
diff --git a/Master/texmf-dist/source/latex/calendar/demohmth.htm b/Master/texmf-dist/source/latex/calendar/demohmth.htm
deleted file mode 100644
index 6913b9c17b8..00000000000
--- a/Master/texmf-dist/source/latex/calendar/demohmth.htm
+++ /dev/null
@@ -1,13 +0,0 @@
-<pre><B>January</B>
- Wed Thu Fri Sat Sun Mon Tue
- <A HREF="#35430">1</A> 2 <A HREF="#35432">3</A> 4 5 <A HREF="#35435">6</A> 7
-
- 8 9 <A HREF="#35439">10</A> 11 12 <A HREF="#35442">13</A> 14
-
- <A HREF="#35444">15</A> 16 17 18 19 <A HREF="#35449">20</A> 21
-
- 22 23 <A HREF="#35453">24</A> 25 26 <A HREF="#35456">27</A> 28
-
- <A HREF="#35458">29</A> 30 31
-
-</pre>
diff --git a/Master/texmf-dist/source/latex/calendar/demolist.cld b/Master/texmf-dist/source/latex/calendar/demolist.cld
deleted file mode 100644
index 6ebbb65c05e..00000000000
--- a/Master/texmf-dist/source/latex/calendar/demolist.cld
+++ /dev/null
@@ -1,14 +0,0 @@
-%%
-%% This is file `demolist.cld',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% caldemos.dtx (with options: `demolist')
-%%
-list demoevt {A separate list of events}
-list demoapt {A separate list of appointments}
-
-%%
-%%
-%% End of file `demolist.cld'.
diff --git a/Master/texmf-dist/source/latex/calendar/evntlist.dtx b/Master/texmf-dist/source/latex/calendar/evntlist.dtx
deleted file mode 100644
index f2412966ce0..00000000000
--- a/Master/texmf-dist/source/latex/calendar/evntlist.dtx
+++ /dev/null
@@ -1,284 +0,0 @@
-%\iffalse
-%
-% file: evntlist.dtx
-% Copyright (C) 1996-1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author of this file in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk. Better yet, make a contribution to
-% my pension. Account details available on request.
-%
-%\fi
-%
-% \def\fileversion{2.2}
-% \def\filedate{1997/11/07 10:44:05}
-%
-% \iffalse
-%
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{evntlist.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-%\iffalse
-% evntlist.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:14:57 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 17:12:58 root
-% Release code
-%
-% Revision 1.3 1998/01/16 17:46:34 root
-% *** empty log message ***
-%
-% Revision 1.2 1998/01/15 23:39:20 root
-% *** empty log message ***
-%
-% Revision 1.1 1997/11/26 07:20:12 bennett
-% Initial revision
-%
-%\fi
-%
-% \title{User's Guide to the Event List
-% package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate{}.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \begin{abstract}
-% \noindent This package makes a cronological list
-% of events.
-% \end{abstract}
-%
-% \CheckSum{133}
-%
-% Please see the file \texttt{calguide.tex} for details on the
-% use of this package.
-%
-% \StopEventually{\PrintIndex}
-%
-% \section{The Class File}
-%
-% \subsection{Preliminaries}
-% Use \LaTeXe, and tell the user who we are.
-% \begin{macrocode}
-%<*style>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{evntlist}
- [1997/11/07 10:44:05 2.2 Event List (Frank Bennett)]
-% \end{macrocode}
-% Define some more variables and switches for use in the body
-% of the style.
-%
-% \subsection{Options}
-%
-% In common with all other packages in the Calendar
-% bundle, we
-% include some code for declaring languages.
-%
-% \begin{macrocode}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-% \end{macrocode}
-%
-% \subsection{Option Postprocessing}
-%
-% Now that the options lists are available to us,
-% we can start loading packages. The following packages
-% are always loaded.
-% \begin{macrocode}
-\RequirePackage{calendar}
-% \end{macrocode}
-% The "color" package is only loaded if the user asked
-% for it as an option to \sc{documentclass}, or in the
-% "weekly.cfg" file.
-% \begin{macrocode}
- \newif\if@el@noheadyet
- \@el@noheadyettrue
- \def\el@output#1{\protected@write\@el@outputfile{}{#1}}
- \def\el@maybeheader{\if@el@noheadyet%
- \begin{itemize}\item\theday\space\themonth\space\theyear\@el@noheadyetfalse\fi}
- \def\el@maybeitem{\if@el@noheadyet\else\item\theday\space\themonth\space\theyear%
- \fi}
-% \end{macrocode}
-%
-% \subsection{Calendar Setup}
-%
-% \subsection{Calendar Definition}
-%
-% The calendar definition itself consists of a single command
-% and its associated arguments.
-% \begin{macrocode}
-\newcalendar%
-% \end{macrocode}
-% We give the environment a name.
-% \begin{macrocode}
-{eventlist}
-% \end{macrocode}
-% We're producing DVI, so we use the standard
-% macro for dropping text into the hopper.
-% \begin{macrocode}
-{\cal@insert}
-% \end{macrocode}
-% Starting day for the calendar is not fixed here,
-% because we don't pad with blank entries. Season to taste.
-% Use integers "0" through "6". A value over 7 means no padding.
-% \begin{macrocode}
-{8}
-% \end{macrocode}
-% The length of a group is one day.
-% \begin{macrocode}
-{1}
-% \end{macrocode}
-% The length of a subgroup is one day.
-% \begin{macrocode}
-{1}
-% \end{macrocode}
-% Our delimiter is an \cs{item}.
-% \begin{macrocode}
-{\relax}
-% \end{macrocode}
-% Increment the date counter with every item.
-% \begin{macrocode}
-{I}
-% \end{macrocode}
-% Define the header.
-% \begin{macrocode}
-{\relax}
-% \end{macrocode}
-% We define the end of the calendar. This spits out
-% all of the boxes one last time, and closes the page
-% formatting environment.
-% \begin{macrocode}
-{\end{itemize}}
-% \end{macrocode}
-% We define a way to open a new group. In this case,
-% we just relax.
-% \begin{macrocode}
-{\relax}
-% \end{macrocode}
-% We define the way to end a subgroup. This spits out
-% all of the boxes built for a page of text.
-% \begin{macrocode}
-{\relax}
-% \end{macrocode}
-% We set up to require a month and day in the environment typed
-% into the user's document.
-% \begin{macrocode}
-{\dates@requiremonthtrue\dates@requiredaytrue}
-% \end{macrocode}
-% The next section runs after the calendar dates have been
-% scanned from the environment, but before the table is
-% opened.
-% \textit{Start date.}
-% \begin{macrocode}
-{\global\dates@date\cal@range@start%
- \caldate%
-% \end{macrocode}
-% \textit{We tell the user where we're starting.}
-% \begin{macrocode}
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
-% \end{macrocode}
-% \textit{End date.}
-% \begin{macrocode}
- \global\dates@date\cal@range@end%
- \caldate%
-% \end{macrocode}
-% \textit{We let the user know where we plan to stop.}
-% \begin{macrocode}
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
-% \end{macrocode}
-% \textit{We jump back to the starting date and reset the
-% human-side values.}
-% \begin{macrocode}
- \global\dates@date\cal@range@start%
- \caldate}%
-% \end{macrocode}
-% Events are delimited by \cs{item}.
-% \begin{macrocode}
-{\item}%
-% \end{macrocode}
-% The next argument is dropped on DVI for each item.
-% We use it here to fetch the text of appointments and
-% events to the standard list macros, using the
-% standard text-fetching commands. Each generates a
-% stack delimited by the phrase that was set above.
-% \begin{macrocode}
-{\cal@get@appointments\cal@get@events}%
-% \end{macrocode}
-% This sets \cs{cal@entry@text}. It is executed for every
-% event or appointment in the database that applies
-% to a given item. We differentiate between whole-day events,
-% pinpointed events and ranged events.
-% \begin{macrocode}
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start=\dates@time@end%
- \protected@edef\cal@entry@text{%
- \thetimestart\space%
- \cal@textcolor{\calcolor}{\thelongtext}}%
- \else%
- \protected@edef\cal@entry@text{%
- \thetimestart--\thetimeend\space%
- \cal@textcolor{\calcolor}{\thelongtext}}%
- \fi%
- \else%
- \protected@edef\cal@entry@text{%
- \cal@textcolor{\calcolor}{\thelongtext}}%
- \fi}%
-% \end{macrocode}
-% Finally ...
-% \begin{macrocode}
-{\ifcat$\theevents\theappointments$\else%
-\el@maybeitem%
-\el@maybeheader%
-\fi%
-\bgroup%
-\let\item\par%
-\ifcat$\theevents$\else%
- \par%
- \theevents%
-\fi%
-\egroup%
-\ifcat$\theappointments$\else%
-\begin{itemize}%
-\item%
-\theappointments%
-\end{itemize}%
-\fi}
-%</style>
-% \end{macrocode}
-% \Finale \PrintChanges
diff --git a/Master/texmf-dist/source/latex/calendar/htmlstuf.dtx b/Master/texmf-dist/source/latex/calendar/htmlstuf.dtx
deleted file mode 100644
index 0fe88334dbb..00000000000
--- a/Master/texmf-dist/source/latex/calendar/htmlstuf.dtx
+++ /dev/null
@@ -1,385 +0,0 @@
-%\iffalse
-%
-% file: htmlstuf.dtx
-% Copyright (C) 1996-1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author of this file in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk. Better yet, make a contribution to
-% my pension. Account details available on request.
-%
-%\fi
-%
-% \def\fileversion{3.1.1.1}
-% \def\filedate{1998/01/17 18:15:02}
-%
-% \iffalse
-%
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{htmlstuf.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-%\iffalse
-% htmlstuf.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:15:02 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 17:13:14 root
-% Release code
-%
-% Revision 1.11 1998/01/17 16:48:35 root
-% *** empty log message ***
-%
-% Revision 1.10 1998/01/17 11:07:21 root
-% *** empty log message ***
-%
-% Revision 1.9 1998/01/17 11:05:29 root
-% *** empty log message ***
-%
-% Revision 1.8 1998/01/17 10:48:00 root
-% *** empty log message ***
-%
-% Revision 1.7 1998/01/17 06:14:32 root
-% *** empty log message ***
-%
-% Revision 1.6 1998/01/16 21:33:57 root
-% *** empty log message ***
-%
-% Revision 1.5 1998/01/16 21:16:47 root
-% *** empty log message ***
-%
-% Revision 1.4 1998/01/16 21:09:07 root
-% *** empty log message ***
-%
-% Revision 1.3 1998/01/16 19:16:11 root
-% *** empty log message ***
-%
-% Revision 1.2 1998/01/16 18:40:07 root
-% *** empty log message ***
-%
-%\fi
-%
-% \title{User's Guide to the HTML Calendar
-% package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate{}.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \begin{abstract}
-% \noindent This package makes a cronological list
-% of events.
-% \end{abstract}
-%
-% \CheckSum{524}
-%
-% Please see the file \texttt{calguide.tex} for details on the
-% use of this package.
-%
-% \StopEventually{\PrintIndex}
-%
-% \section{The Class Files}
-%
-% \subsection{HTML Month}
-% \begin{macrocode}
-%<*htmlmonth>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{hmonth}
- [1998/01/17 18:15:02 3.1.1.1 HTML calendar (Frank Bennett)]
-\RequirePackage{calendar}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\define@key{opt}{title}{%
- \def\yrly@title{#1}}
-\define@key{opt}{labels}{%
- \@storelabels#1,,{}}
-\define@key{opt}{firstday}{%
- \yrly@firstday=#1}
-\define@key{opt}{outputfile}{%
- \@ifundefined{html@outputfile}
- {\newwrite\html@output
- \gdef\html@outputfile{#1}%
- \immediate\openout\html@output=\html@outputfile}
- {\gdef\hm@temp{#1}%
- \ifx\html@outputfile\hm@temp%
- \relax%
- \else%
- \immediate\closeout\html@output%
- \gdef\html@outputfile{#1}%
- \immediate\openout\html@output=\html@outputfile\relax
- \fi}}
-\def\yrly@title{\themonth}
-\newcount\yrly@firstday
-\yrly@firstday=3\relax
-\newtoks\yrly@tempreg@a
-\newcount\yrly@tempcount
-\def\@storelabels{%
- \def\yrly@labeltext{}%
- \@@storelabels}
-\def\@@storelabels#1,#2#{%
- \ifcat$#1$%
- \yrly@tempreg@a=\expandafter{\yrly@labeltext}%
- \edef\yrly@labeltext{\the\yrly@tempreg@a}%
- \let\next\@gobble%
- \else%
- \let\next\@@storelabels%
- \yrly@tempreg@a=\expandafter{\yrly@labeltext}%
- \protected@edef\yrly@labeltext{\the\yrly@tempreg@a\space#1}%
- \fi%
- \next#2{}}
-\newcount\thumbnails%
-\newtoks\hm@line@a%
-\def\hm@line{}
-\def\hm@writeout#1{%
- \edef\hm@temp{#1}%
- \immediate\write\html@output{\hm@line\hm@temp}%
- \def\hm@line{}}
-\def\hm@spaces{\ifcase\hm@spacenum\or\space\or\space\space\or\space\space\space%
- \or\space\space\space\space\fi}
-\newcount\hm@spacenum
-\newcalendar%
- {htmlmonth}
- {\el@output}
- {\yrly@firstday}
- {\dates@days}
- {7}
- {\hm@spaces}
- {I}
- {<pre><B>\themonth</B>^^J\yrly@labeltext^^J}%
- {^^J^^J</pre>}
- {\cal@footer%
- \cal@header}
- {^^J}
- {}
- {\global\dates@day=1%
- \dates@fix%
- \cal@range@start\dates@date%
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date\cal@range@end%
- \caldate%
- \global\dates@day\dates@days%
- \dates@fix%
- \cal@range@end\dates@date%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date=\cal@range@start%
- \caldate%
- \@ifundefined{yrly@labeltext}{%
- \def\yrly@defaultlabels{}%
- \yrly@tempcount=1%
- \global\advance\dates@date by-\dates@weekd%
- \global\advance\dates@date by\yrly@firstday%
- \caldate%
- \loop%
- \yrly@tempreg@a=\expandafter{\yrly@defaultlabels}%
- \edef\yrly@defaultlabels{\the\yrly@tempreg@a\theshortweekday,}%
- \ifnum\yrly@tempcount<7%
- \global\advance\dates@date by1%
- \caldate%
- \advance\yrly@tempcount by 1\relax%
- \repeat%
- \expandafter\@storelabels\yrly@defaultlabels,,{}%
- \dates@date\cal@range@start%
- \caldate}%
- {}%
- \def\el@output##1{%
- \def\hm@temp{##1}%
- \def\hm@temptwo{\cal@groupbreak}%
- \ifx\hm@temp\hm@temptwo%
- \hm@spacenum=4\relax%
- \fi%
- \ifnum\cal@subgroup@count>6\relax%
- \hm@writeout{##1}%
- \else%
- \def\hm@temptwo{\cal@footer}%
- \ifx\hm@temp\hm@temptwo%
- \hm@writeout{##1}%
- \else%
- \hm@line@a=\expandafter{\hm@line}%
- \edef\hm@line{\the\hm@line@a\hm@temp}%
- \fi%
- \fi}%
- \hm@spacenum=4\relax}%
- {}%
- {\ifnum\dates@day<9\hm@spacenum=3\else\hm@spacenum=2\fi%
- \cal@get@appointments\cal@get@events}%
- {\protected@edef\cal@entry@text{X}}%
- {\ifnum\dates@weekd=\yrly@firstday%
- \hm@spaces%
- \ifnum\theday=9%
- \space\space%
- \fi%
- \else%
- \ifnum\dates@day=1%
- \space\hm@spaces%
- \fi%
- \fi%
- \ifcat$\theappointments\theevents$%
- \else%
- <A HREF="\expandafter\@gobble\string\#\the\dates@date">%
- \fi%
- \theday%
- \ifcat$\theappointments\theevents$%
- \else%
- </A>%
- \fi}
-%</htmlmonth>
-% \end{macrocode}
-%
-% \subsection{HTML Event List}
-%
-% \begin{macrocode}
-%<*htmlevent>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{hlist}
- [1997/11/07 10:44:05 2.2 HTML Event List (Frank Bennett)]
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\ProcessOptions
-\RequirePackage{calendar}
-\define@key{opt}{textnum}{%
- \dates@textnum=#1\relax}
-\define@key{opt}{outputfile}{%
- \@ifundefined{html@outputfile}
- {\newwrite\html@output%
- \gdef\html@outputfile{#1}%
- \immediate\openout\html@output=\html@outputfile}
- {\gdef\el@temp{#1}%
- \ifx\html@outputfile\el@temp%
- \relax%
- \else%
- \immediate\closeout\html@output%
- \gdef\html@outputfile{#1}%
- \immediate\openout\html@output=\html@outputfile\relax%
- \fi}}
-\def\el@item{<LI><A NAME="\the\dates@date">\theday\space\themonth\space\theyear</A>}
-\newcalendar%
-{htmllist}
-{\el@output}
-{8}
-{1}
-{1}
-{}
-{I}
-{<UL>}
-{</UL>}
-{}
-{}
-{\dates@requiremonthtrue\dates@requiredaytrue}
-{\global\dates@date\cal@range@start%
- \caldate%
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date\cal@range@end%
- \caldate%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date\cal@range@start%
- \caldate%
- \def\el@output##1{\ifcat$##1$\else\immediate\write\html@output{##1}\fi}}%
-{}%
-{\cal@get@appointments\cal@get@events}%
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start=\dates@time@end%
- \protected@edef\cal@entry@text{%
- ^^J\space\space\space\space<LI>\thetimestart\space%
- \thelongtext}%
- \else%
- \protected@edef\cal@entry@text{%
- ^^J\space\space\space\space<LI>\thetimestart--\thetimeend\space%
- \thelongtext}%
- \fi%
- \else%
- \protected@edef\cal@entry@text{%
- ^^J<BR>\thelongtext}%
- \fi}%
-{\ifcat$\theevents\theappointments$\else%
-\el@item%
-\fi%
-\ifcat$\theevents$\else%
- \theevents%
-\fi%
-\ifcat$\theappointments$\else%
- ^^J\space\space\space\space<UL>%
- \theappointments%
- ^^J\space\space\space\space</UL>%
-\fi}
-%</htmlevent>
-% \end{macrocode}
-% \subsection{HTML Month and Event List}
-% \begin{macrocode}
-%<*htmlmonthevent>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{hml}
- [1997/11/06 07:33:21 2.1.1.6 HTML calendar (Frank Bennett)]
-\RequirePackage{hmonth}
-\RequirePackage{hlist}
-\newtoks\hml@one
-\newtoks\hml@two
-\def\htmlmonthlist#1#2{%
- \hml@one={#1}
- \hml@two={#2}
- \dateread{}}
-\def\endhtmlmonthlist{%
- \ifnum\dates@subrange@start=0%
- \dates@subrange@start\dates@date%
- \dates@subrange@end\dates@date%
- \fi%
- \global\dates@date\dates@subrange@start%
- \global\dates@day=1\relax%
- \dates@fix%
- \cal@range@start\dates@date%
- \global\dates@date\dates@subrange@end%
- \caldate%
- \global\dates@day\dates@days%
- \dates@fix%
- \cal@range@end\dates@date%
- \global\dates@date=\cal@range@start
- \caldate
- \edef\hml@start{\theday\space\themonth\space\theyear\space}
- \global\dates@date=\cal@range@end
- \caldate
- \edef\hml@end{\theday\space\themonth\space\theyear}
- \edef\hml@range{\hml@start to \hml@end\space}
- \edef\hml@htmlmonth{\noexpand\begin{htmlmonth}{\the\hml@one}{\the\hml@two}}
- \edef\hml@htmllist{\noexpand\begin{htmllist}{\the\hml@one}{\the\hml@two}}
- \expandafter\hml@htmlmonth\hml@range\end{htmlmonth}
- \expandafter\hml@htmllist\hml@range\end{htmllist}x}
-%<*htmlmonthevent>
-% \end{macrocode}
-% \Finale \PrintChanges
-
diff --git a/Master/texmf-dist/source/latex/calendar/mkaddr.Frank b/Master/texmf-dist/source/latex/calendar/mkaddr.Frank
deleted file mode 100644
index 4ffee077445..00000000000
--- a/Master/texmf-dist/source/latex/calendar/mkaddr.Frank
+++ /dev/null
@@ -1,20 +0,0 @@
-\documentclass{filoaddr}
-\begin{document}
-\begin{addresses}{%
- topmargin=2cm,
- rightmargin=3cm,
- pageheight=172mm,
- pagewidth=95mm,
- columnsep=14pt,
- punchcluster=3,
- punchgroups=2,
- interspace=51.25mm,
- intraspace=19.25mm,
- grip=5mm,
- punchmargin=2mm,
- punchpoints=15,
- topspace=2pt,
- bottomspace=1.5cm}
-%%BODY%%
-\end{addresses}
-\end{document}
diff --git a/Master/texmf-dist/source/latex/calendar/mkaddr.dtx b/Master/texmf-dist/source/latex/calendar/mkaddr.dtx
deleted file mode 100644
index b88c19364be..00000000000
--- a/Master/texmf-dist/source/latex/calendar/mkaddr.dtx
+++ /dev/null
@@ -1,579 +0,0 @@
-%\iffalse
-%
-% file: mkaddr.dtx
-%
-% This file is distributed as-is, with no warranty whatsoever.
-% Out of courtesy to others, please do not distribute the
-% files contained in this file separately, but always
-% together with this file and the documentation it contains.
-%
-%\fi
-%
-% \def\fileversion{3.1.1.1}
-% \def\filedate{1998/01/17 18:15:06}
-%
-% \iffalse
-%
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{mkaddr.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% mkaddr.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:15:06 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 17:13:48 root
-% Release code
-%
-% Revision 2.3 1997/12/06 21:15:31 root
-% *** empty log message ***
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 14:58:44 bennett
-% Release code.
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-%
-% \title{The \texttt{mkaddr} Tcl script\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate{}.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \begin{abstract}
-% \noindent The utilities in this bundle
-% can be used together to generate address lists from
-% a database in the format used by the marvellous BBDB database
-% for Emacs.
-% \end{abstract}
-%
-% \CheckSum{392}
-%
-% \section{Installation and Use}
-%
-% The script is designed for use on a Unix system (if
-% you haven't already moved to Linux, you might consider
-% joining the gathering). You will need to have Emacs installed
-% on your system. You will also need the BBDB extensions,
-% which produce and maintain a database file, ".bbdb",
-% in your home directory. You should also have the
-% AUC\TeX{} extensions to Emacs installed, for editing, compiling,
-% previewing and printing \LaTeX{} documents. You will
-% also need "dvips" and, if (like me) you don't have
-% access to a PostScript printer, "ghostscript" --- or
-% some other combination of printing gear for which
-% page rotation is supported in the "graphics" bundle. Your
-% \TeX{} system will need the files in the "graphics"
-% bundle, and the "autofilo" package from the "calendar"
-% bundle for making filofax page frames.
-%
-% In your \texttt{/etc} directory,
-% you will need a format file or files. Each should
-% have the name "addresses", followed by an extension.
-% The extension(s) will be used by the first mandatory
-% option to the script. On my system, I have two
-% format files, "mkaddr.Frank" and "mkaddr.Mieko",
-% which produce pages suitable for my own and my wife's
-% diary, respectively. Each file is simply a \LaTeX{}
-% document, with "%%BODY%%" where the list of addresses
-% should be inserted. An example is given below. Note
-% that you will need to edit the script to reflect the
-% names of your format files.
-%
-% The ".bbdb" database is designed for use with email
-% systems, adding entries for your correspondents on
-% the fly as mail is received. To make it easier to add entries for
-% people with whom you have not corresponded by email, you
-% may want to add a suitable chunk of elisp to your
-% ".emacs" file. A chunk of such code is given below.
-% It sets your "f12" key to add a new entry, prompting
-% for details. Edit to taste (especially note the
-% "[M]" and "[F]"; you will want to change these.
-%
-% Flags for extracting data from the list should be
-% put into the "Notes:" field, in square braces.
-%
-% Extract everything, edit and install the script,
-% install the style,
-% and install one or more format files.
-% Run the script and read the instructions. On my system,
-% the command "mkaddr Frank [AaBb] [F]" will make a
-% file "mkaddr.tex" in the current directory, formatted
-% as specified in the format file "\etc\mkaddr.Frank",
-% containing all entries beginning with "A" or "a",
-% or "B" or "b", and flagged with "[F]". Run the
-% file through \LaTeX{} and "dvips", and you have an address list.
-%
-%
-% \StopEventually{\PrintIndex}
-%
-% \section{Sample Format File}
-% \begin{macrocode}
-%<*format>
-\documentclass{filoaddr}
-\begin{document}
-\begin{addresses}{%
- topmargin=2cm,
- rightmargin=3cm,
- pageheight=172mm,
- pagewidth=95mm,
- columnsep=14pt,
- punchcluster=3,
- punchgroups=2,
- interspace=51.25mm,
- intraspace=19.25mm,
- grip=5mm,
- punchmargin=2mm,
- punchpoints=15,
- topspace=2pt,
- bottomspace=1.5cm}
-%%BODY%%
-\end{addresses}
-\end{document}
-%</format>
-% \end{macrocode}
-%
-% \section{Elisp for \texttt{.emacs}}
-%
-% \begin{macrocode}
-%<*elisp>
-;; Essential add-on for BBDB
-(defun bbdb-create-external ()
- "Prompt for and create a record. Hacked from bbdb-read-new-record."
- (interactive)
- (let ((name (bbdb-read-string "Name: "))
- (company (bbdb-read-string "Company: "))
- (net (bbdb-split (bbdb-read-string "Network Address: ") ","))
- (addrs
- (let (L L-tail str addr)
- (while
- (not
- (string=
- ""
- (setq str
- (bbdb-read-string
- "Address Description [RET when no more addrs]: "))))
- (setq addr (make-vector bbdb-address-length nil))
- (bbdb-record-edit-address addr str)
- (if L
- (progn (setcdr L-tail (cons addr nil))
- (setq L-tail (cdr L-tail)))
- (setq L (cons addr nil)
- L-tail L)))
- L))
- (phones
- (let (L L-tail str)
- (while
- (not
- (string=
- ""
- (setq str
- (bbdb-read-string
- "Phone Location [RET when no more phones]: "))))
- (let* ((phonelist
- (bbdb-error-retry
- (bbdb-parse-phone-number
- (read-string
- "Phone: "
- (and
- bbdb-default-area-code
- (format "(%03d) " bbdb-default-area-code))))))
- (phone (apply 'vector str
- (if (= 3 (length phonelist))
- (nconc phonelist '(0))
- phonelist))))
- (if L
- (progn (setcdr L-tail (cons phone nil))
- (setq L-tail (cdr L-tail)))
- (setq L (cons phone nil)
- L-tail L))))
- L))
- (notes (bbdb-read-string "Additional Comments: " "[M][F]")))
- (if (string= company "") (setq company nil))
- (if (string= name "") (setq name nil))
- (if (string= notes "") (setq notes nil))
- (bbdb-display-records
- (list
- (bbdb-create-internal name company net addrs phones notes)))))
-
-(global-set-key [f12] 'bbdb-create-external)
-%</elisp>
-% \end{macrocode}
-%
-% \section{The Script}
-%
-% You must edit this file for your system. Search
-% especially for instances of "Frank" and "Mieko".
-%
-% \begin{macrocode}
-%<*script>
-#!/usr/local/bin/tclsh
-if {[catch "kanji defaultInputCode EUC" errormsg]}\
- {puts "Running $argv0 without Japanese support."
- puts "For Japanese support, you need to use a Japanized"
- puts "Tcl interpreter.\n"}\
- {}
-# This script parses a database in the format used by
-# the Insidious Big Brother Database for Emacs. It can
-# be adapted to output LaTeX lists of contents and so forth.
-set format [lindex $argv 0]
-set range [lindex $argv 1]
-set condition [lindex $argv 2]
-set usage "Usage is: $argv0 \<SIZE\> \[<RANGE>\] \[<CONDITION>\]\
-\n(Square braces are literal)\
-\n(\<SIZE\> is one of \"Mieko\" or \"Frank\")"
-if {[string match $format "Mieko"]+\
- [string match $format "Frank"]==0}\
- {puts "$usage"; exit}\
- {}
-if {[regexp {\[.*\]} $condition ignore]==0}\
- {puts "$usage"; exit}\
- {}
-if {[regexp {\[.*\]} $range ignore]==0}\
- {puts "$usage"; exit}\
- {}
-puts "Creating LaTeX2e file mkaddr.tex ..."
-regexp {\[(.*)\]} $condition ignore condition
-set condition "\\\[$condition\\\]"
-set ifh [open "/home/bennett/.bbdb"]
-set ofh [open "./mkaddr.tex" w+]
-set counter 0
-set temp ""
-# Let's grab the content of a header file
-set header [open "/etc/mkaddr.$format" r]
-while 1 {
- if {[gets $header line] == -1} break
- if {[string match $line "%%BODY%%"]} break
- puts $ofh $line
-}
-while 1 {
- if {[gets $ifh line] == -1} break
- regsub -all {([ "])\\"} $line {\1``} line
- regsub -all {\\"([^A-Za-z])} $line {''\1} line
- regsub -all {\\n} $line { } line
- regsub -all {([^\])%} $line {\1\\%} line
- regsub -all {([^\])&} $line {\1\\\&} line
-set fn nil
-set ln nil
-set aka nil
-set co nil
-set ph nil
-set ad nil
-set net nil
-set op nil
- regexp {
-*(nil|\"[^"]*\")\
-+(nil|\"[^"]*\")\
-+(nil|\(\".*\"\))\
-+(nil|\"[^"]*\")\
-+(nil|\(\[.*\]\))\
-+(nil|\(\[.*\]\))\
-+(nil|\(\".*\"\))\
-+(nil|\(\(.*\)\)|\"[^"]*\")\
-+nil} $line ignore fn ln aka co ph ad net op
-#
-# Make lone first names into lone last names
-if {[string match $ln "nil"]}\
- {set ln $fn
- set fn nil}\
- {}
-# Check that we're in the range specified
-if {[regexp "\"$range" $ln ignore]}\
- {}\
- {if {[string match $ln nil]}\
- {if {[regexp "\"$range" $co ignore]}\
- {}\
- {continue}}\
- {continue}}
-#
-# Fish out the notes field so we can check whether this
-# record matches the specified conditions
-set tempone ""
-set temptwo ""
-regexp {\(notes \. \"([^"]*)\"|\"([^"]*)\"$} $op \
- ignore tempone temptwo
-if {[string match $temptwo ""]} \
- {set notes $tempone} \
- {set notes $temptwo}
-if {[string match "*$condition*" $notes]} {} {continue}
-#
-# Are all three names missing? If so, skip it.
- if { [expr 3 == \
- [string match $fn "nil"]+\
- [string match $ln "nil"]+\
- [string match $co "nil"]] }\
- {}\
- {
-# Each entry is put in a parbox to keep it on one page.
-# The parbox opens with a vskip to make a little room
-# at the top of the page and between entries.
-puts $ofh "\\entry\{%"
-# Are both the first and last name missing? If so,
-# we skip that line.
- set counter [expr $counter + 1]
- if { [expr 2 == \
- [string match $fn "nil"]+\
- [string match $ln "nil"]] }\
- {}\
- {regexp {\"(.*)\"} $fn ignore fn
- regexp {\"(.*)\"} $ln ignore ln
-puts -nonewline "$fn $ln"
- set ln " \\textbf\{$ln\}"
- puts $ofh "$fn$ln\\\\"}
-# Is the company name missing? If so, we'll
-# skip that line.
- if { [string match $co "nil"] }\
- {}\
- {regexp {\"(.*)\"} $co ignore co
- puts $ofh "\\textbf\{$co\}\\\\"
- puts -nonewline $co}
-puts ""
-# Spit out any telephone numbers for this entry.
-if {[string match $ph nil]} {set ph ""} {}
-regexp {\((\[.*\])\)} $ph ignore ph
-while {[string match $ph ""] == 0} {
- set temp ""
- regexp {\[([^]]*)\](.*)} $ph ignore temp ph
- regexp {\"([^"]*)\" *\"([^"]*)\"} $temp ignore temp number
- puts -nonewline $ofh " \{\\small $number ($temp)\}"
- if {[string match $ph ""] == 0}\
- {puts $ofh "\\\\"}\
- {if {[string match $ad nil]+[string match $net nil]==2}\
- {puts $ofh ""}\
- {puts $ofh "\\\\"}}
- }
-# Spit out any addresses for this entry.
-if {[string match $ad nil]} {set ad ""} {}
-while {[string match $ad ""] == 0} {
- set temp ""
- set lineone ""
- set linetwo ""
- set linethree ""
- set city ""
- set state ""
- set zip ""
- set bridge ""
- regexp {\(\[([^]]*)\](.*)\)} $ad ignore ad temp
- regexp {\"([^"]*)\"\
-+\"([^"]*)\"\
-+\"([^"]*)\"\
-+\"([^"]*)\"\
-+\"([^"]*)\"\
-+\"([^"]*)\"\
-+([0-9]*)} $ad ignore ad lineone linetwo linethree city state zip
-if {$zip == 0} {set zip ""} {}
-set comp [expr [string match $city ""]+[string match $state ""]]
-if {$comp==2}\
- {}\
- {if {$comp==1}\
- {set bridge " "
- set zip " $zip"}\
- {if {$comp==0}\
- {set bridge ", "
- set zip " $zip"}\
- {}}}
- puts $ofh " \\address\{$ad\}\{\%"
- if {[string match $lineone ""]}\
- {puts $ofh "\\mygobble"}\
- {puts $ofh " $lineone"}
- if {[string match $linetwo ""]}\
- {}\
- {puts $ofh " \\\\$linetwo"}
- if {[string match $linethree ""]}\
- {}\
- {puts $ofh " \\\\$linethree"}
- if {[string match "$city$state$zip" ""]}\
- {}\
- {puts $ofh " \\\\$city$bridge$state$zip"}
- puts $ofh " \}"
- set ad $temp
- }
-# Spit out any email addresses associated with this person
-if {[string match $net nil]} {set net ""} {}
-regexp {\((\".*\")\)} $net ignore net
-while {[string match $net ""] == 0} {
- set temp ""
- regexp {\"([^"]*)\"(.*)} $net ignore net temp
- puts -nonewline $ofh "\\url\{$net\}"
- set net $temp
- if {[string match $net ""] == 0} {puts $ofh "\\\\"} {puts $ofh ""}
- }
-puts $ofh "\}\n"
-}
-}
-# Once everything's finished, we send along the footer
-while 1 {
- if {[gets $header line] == -1} break
- puts $ofh $line
-}
-puts "Done."
-exit
-%</script>
-% \end{macrocode}
-%
-% \section{\LaTeX{} Style}
-% We use this to simplify the format file.
-% \begin{macrocode}
-%<*style>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesClass{filoaddr}
- [1998/01/17 18:15:06 3.1.1.1 Filofax address pages (Frank Bennett)]
-\DeclareOption{fourcolumn}%
- {\PassOptionsToPackage{\CurrentOption}{autofilo}}
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
-\ProcessOptions
-\LoadClass{article}
-\RequirePackage{rotating}
-\RequirePackage{url}
-% \end{macrocode}
-% Some variables.
-% \begin{macrocode}
-\def\mygobble#1{}
-\newlength\templen
-\newlength\mytemplength
-\newlength\descheight
-\newlength\myparwidth
-\newlength\descwidth
-\newlength\biggerwidth
-\newlength\myentryheight
-\newlength\myparheight
-\newlength\mylinewidth
-% \end{macrocode}
-% Define a macro to format each entry.
-% \begin{macrocode}
-\def\entry#1{%
-\vbox{%
-\vskip2pt
-\topline
-\vskip 2pt
-\parbox{\linewidth}{%
-\raggedright%
-\small#1}
-\vskip 1pt
-\bottomline}}
-% \end{macrocode}
-% The above macro requires a couple of line-building
-% macros.
-% \begin{macrocode}
-\def\topline{%
- \vbox to0pt{%
- \hbox to\linewidth{%
- \hskip-2.4pt%
- \vrule width0.4pt height0pt depth7pt%
- \vrule width\mylinewidth depth0.4pt height0pt%
- \vrule width0.4pt height0pt depth7pt\hskip-2.4pt}%
- \vskip-7pt}}
-\def\bottomline{%
- \vbox to0pt{%
- \vskip-7pt
- \hbox to\linewidth{%
- \hskip-2.4pt%
- \vrule width0.4pt height7pt depth0pt%
- \vrule width\mylinewidth depth0.4pt height0pt%
- \vrule width0.4pt height7pt depth0pt%
- \hskip-2.4pt}}}
-% \end{macrocode}
-% Define a macro to format addresses.
-% \begin{macrocode}
-\def\address#1#2{%
- \settoheight\myparheight{\vbox{%
- \boxmaxdepth0pt%
- \parbox{\myparwidth}{\raggedright #2}}}%
- \settowidth\descwidth{\small\textbf{#1}}%
- \ifnum\descwidth>\myparheight\biggerwidth\descwidth\else%
- \biggerwidth\myparheight\fi%
- \vbox{\vskip3pt%
- \hbox to\linewidth{%
- \hskip3pt%
- \vbox to\biggerwidth{%
- \vfil%
- \hbox to\descheight{%
- \begin{sideways}{\small\textbf{#1}}\end{sideways}%
- \hfil}%
- \vfil}%
- \hskip2pt%
- \vbox to\biggerwidth{%
- \vfil%
- \hbox to\myparwidth{%
- \parbox{\myparwidth}{\raggedright #2}}%
- \vfil}}}}
-% \end{macrocode}
-% Define an environment that creates frames and sets up
-% variables for use in the macros we have just defined.
-% \begin{macrocode}
-\def\addresses#1{%
- \autofilo{#1}
- \settoheight\descheight{\vbox{\boxmaxdepth0pt{\small\textbf{Yy}}}}
- \myparwidth\linewidth%
- \advance\myparwidth by-\descheight\relax%
- \advance\myparwidth by-5pt\relax%
- \mylinewidth\linewidth
- \advance\mylinewidth by4pt\relax}
-\def\endaddresses{\endautofilo}
-%</style>
-% \end{macrocode}
-%\iffalse
-% \begin{macrocode}
-%<*installer>
-\def\batchfile{mkaddr.ins}
-\input docstrip.tex
-
-\keepsilent
-
-\preamble
-\endpreamble
-
-\postamble
-\endpostamble
-
-\def\WritePreamble#1{}
-\def\WritePostamble#1{}
-
-\generate{\file{mkaddr.Frank}{\from{mkaddr.dtx}{format}}
- \file{mkaddr.tcl}{\from{mkaddr.dtx}{script}}
- \file{.emacs.for.bbdb}{\from{mkaddr.dtx}{elisp}}
- \file{filoaddr.sty}{\from{mkaddr.dtx}{style}}
- }
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation, you have to move the following}
-\Msg{* file into you executable search path:}
-\Msg{*}
-\Msg{* \space\space mkaddr}
-\Msg{*}
-\Msg{* And you have to move the following file into the search}
-\Msg{* used by TeX:}
-\Msg{*}
-\Msg{* \space\space filoaddr.sty}
-\Msg{*}
-\Msg{***********************************************************}
-%</installer>
-% \end{macrocode}
-%\fi
-% \Finale \PrintChanges
diff --git a/Master/texmf-dist/source/latex/calendar/mkaddr.tcl b/Master/texmf-dist/source/latex/calendar/mkaddr.tcl
deleted file mode 100644
index 05bd464c816..00000000000
--- a/Master/texmf-dist/source/latex/calendar/mkaddr.tcl
+++ /dev/null
@@ -1,201 +0,0 @@
-#!/usr/local/bin/tclsh
-if {[catch "kanji defaultInputCode EUC" errormsg]}\
- {puts "Running $argv0 without Japanese support."
- puts "For Japanese support, you need to use a Japanized"
- puts "Tcl interpreter.\n"}\
- {}
-# This script parses a database in the format used by
-# the Insidious Big Brother Database for Emacs. It can
-# be adapted to output LaTeX lists of contents and so forth.
-set format [lindex $argv 0]
-set range [lindex $argv 1]
-set condition [lindex $argv 2]
-set usage "Usage is: $argv0 \<SIZE\> \[<RANGE>\] \[<CONDITION>\]\
-\n(Square braces are literal)\
-\n(\<SIZE\> is one of \"Mieko\" or \"Frank\")"
-if {[string match $format "Mieko"]+\
- [string match $format "Frank"]==0}\
- {puts "$usage"; exit}\
- {}
-if {[regexp {\[.*\]} $condition ignore]==0}\
- {puts "$usage"; exit}\
- {}
-if {[regexp {\[.*\]} $range ignore]==0}\
- {puts "$usage"; exit}\
- {}
-puts "Creating LaTeX2e file mkaddr.tex ..."
-regexp {\[(.*)\]} $condition ignore condition
-set condition "\\\[$condition\\\]"
-set ifh [open "/home/bennett/.bbdb"]
-set ofh [open "./mkaddr.tex" w+]
-set counter 0
-set temp ""
-# Let's grab the content of a header file
-set header [open "/etc/mkaddr.$format" r]
-while 1 {
- if {[gets $header line] == -1} break
- if {[string match $line "%%BODY%%"]} break
- puts $ofh $line
-}
-while 1 {
- if {[gets $ifh line] == -1} break
- regsub -all {([ "])\\"} $line {\1``} line
- regsub -all {\\"([^A-Za-z])} $line {''\1} line
- regsub -all {\\n} $line { } line
- regsub -all {([^\])%} $line {\1\\%} line
- regsub -all {([^\])&} $line {\1\\\&} line
-set fn nil
-set ln nil
-set aka nil
-set co nil
-set ph nil
-set ad nil
-set net nil
-set op nil
- regexp {
-*(nil|\"[^"]*\")\
-+(nil|\"[^"]*\")\
-+(nil|\(\".*\"\))\
-+(nil|\"[^"]*\")\
-+(nil|\(\[.*\]\))\
-+(nil|\(\[.*\]\))\
-+(nil|\(\".*\"\))\
-+(nil|\(\(.*\)\)|\"[^"]*\")\
-+nil} $line ignore fn ln aka co ph ad net op
-#
-# Make lone first names into lone last names
-if {[string match $ln "nil"]}\
- {set ln $fn
- set fn nil}\
- {}
-# Check that we're in the range specified
-if {[regexp "\"$range" $ln ignore]}\
- {}\
- {if {[string match $ln nil]}\
- {if {[regexp "\"$range" $co ignore]}\
- {}\
- {continue}}\
- {continue}}
-#
-# Fish out the notes field so we can check whether this
-# record matches the specified conditions
-set tempone ""
-set temptwo ""
-regexp {\(notes \. \"([^"]*)\"|\"([^"]*)\"$} $op \
- ignore tempone temptwo
-if {[string match $temptwo ""]} \
- {set notes $tempone} \
- {set notes $temptwo}
-if {[string match "*$condition*" $notes]} {} {continue}
-#
-# Are all three names missing? If so, skip it.
- if { [expr 3 == \
- [string match $fn "nil"]+\
- [string match $ln "nil"]+\
- [string match $co "nil"]] }\
- {}\
- {
-# Each entry is put in a parbox to keep it on one page.
-# The parbox opens with a vskip to make a little room
-# at the top of the page and between entries.
-puts $ofh "\\entry\{%"
-# Are both the first and last name missing? If so,
-# we skip that line.
- set counter [expr $counter + 1]
- if { [expr 2 == \
- [string match $fn "nil"]+\
- [string match $ln "nil"]] }\
- {}\
- {regexp {\"(.*)\"} $fn ignore fn
- regexp {\"(.*)\"} $ln ignore ln
-puts -nonewline "$fn $ln"
- set ln " \\textbf\{$ln\}"
- puts $ofh "$fn$ln\\\\"}
-# Is the company name missing? If so, we'll
-# skip that line.
- if { [string match $co "nil"] }\
- {}\
- {regexp {\"(.*)\"} $co ignore co
- puts $ofh "\\textbf\{$co\}\\\\"
- puts -nonewline $co}
-puts ""
-# Spit out any telephone numbers for this entry.
-if {[string match $ph nil]} {set ph ""} {}
-regexp {\((\[.*\])\)} $ph ignore ph
-while {[string match $ph ""] == 0} {
- set temp ""
- regexp {\[([^]]*)\](.*)} $ph ignore temp ph
- regexp {\"([^"]*)\" *\"([^"]*)\"} $temp ignore temp number
- puts -nonewline $ofh " \{\\small $number ($temp)\}"
- if {[string match $ph ""] == 0}\
- {puts $ofh "\\\\"}\
- {if {[string match $ad nil]+[string match $net nil]==2}\
- {puts $ofh ""}\
- {puts $ofh "\\\\"}}
- }
-# Spit out any addresses for this entry.
-if {[string match $ad nil]} {set ad ""} {}
-while {[string match $ad ""] == 0} {
- set temp ""
- set lineone ""
- set linetwo ""
- set linethree ""
- set city ""
- set state ""
- set zip ""
- set bridge ""
- regexp {\(\[([^]]*)\](.*)\)} $ad ignore ad temp
- regexp {\"([^"]*)\"\
-+\"([^"]*)\"\
-+\"([^"]*)\"\
-+\"([^"]*)\"\
-+\"([^"]*)\"\
-+\"([^"]*)\"\
-+([0-9]*)} $ad ignore ad lineone linetwo linethree city state zip
-if {$zip == 0} {set zip ""} {}
-set comp [expr [string match $city ""]+[string match $state ""]]
-if {$comp==2}\
- {}\
- {if {$comp==1}\
- {set bridge " "
- set zip " $zip"}\
- {if {$comp==0}\
- {set bridge ", "
- set zip " $zip"}\
- {}}}
- puts $ofh " \\address\{$ad\}\{\%"
- if {[string match $lineone ""]}\
- {puts $ofh "\\mygobble"}\
- {puts $ofh " $lineone"}
- if {[string match $linetwo ""]}\
- {}\
- {puts $ofh " \\\\$linetwo"}
- if {[string match $linethree ""]}\
- {}\
- {puts $ofh " \\\\$linethree"}
- if {[string match "$city$state$zip" ""]}\
- {}\
- {puts $ofh " \\\\$city$bridge$state$zip"}
- puts $ofh " \}"
- set ad $temp
- }
-# Spit out any email addresses associated with this person
-if {[string match $net nil]} {set net ""} {}
-regexp {\((\".*\")\)} $net ignore net
-while {[string match $net ""] == 0} {
- set temp ""
- regexp {\"([^"]*)\"(.*)} $net ignore net temp
- puts -nonewline $ofh "\\url\{$net\}"
- set net $temp
- if {[string match $net ""] == 0} {puts $ofh "\\\\"} {puts $ofh ""}
- }
-puts $ofh "\}\n"
-}
-}
-# Once everything's finished, we send along the footer
-while 1 {
- if {[gets $header line] == -1} break
- puts $ofh $line
-}
-puts "Done."
-exit
diff --git a/Master/texmf-dist/source/latex/calendar/monthly.dtx b/Master/texmf-dist/source/latex/calendar/monthly.dtx
deleted file mode 100644
index 22dbb1ec360..00000000000
--- a/Master/texmf-dist/source/latex/calendar/monthly.dtx
+++ /dev/null
@@ -1,565 +0,0 @@
-%\iffalse
-%
-% file: monthly.dtx
-% Copyright (C) 1996-1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author of this file in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk. Better yet, make a contribution to
-% my pension. Account details available on request.
-%
-%\fi
-%
-% \def\fileversion{3.1.1.1}
-% \def\filedate{1998/01/17 18:15:10}
-%
-% \iffalse
-%
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{monthly.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-% \changes{v1.0}{1996/02/15}{Initial Version}
-% \changes{v1.0}{1997/02/17}{Style now stable enough to
-% justify recording changes. Added protection for definition
-% of cal@entry@text. It is now possible to put a pound
-% sign in front of entries. A change to the
-% dates module allows entries on the same day each
-% month. So we can now record standing charges against
-% bank accounts. Oh joy.}
-% \changes{v1.0}{1997/02/20}{First release version.
-% Merged all code into the class file.
-% Thanks to Robin Fairbairns for
-% his help on the vertical sizing of
-% tables, and to David Carlisle for pointing out
-% the \texttt{protected@edef} command.}
-% \changes{v1.1}{1997/03/01}{Modified stacking method
-% for items to permit line wrapping. Code could be more
-% concise and clear, but it runs well enough.}
-% \changes{v1.1}{1997/03/01}{Adapted documentation from
-% the Timetable package.}
-% \changes{v1.2}{1997/05/12}{Page formatting is now handled
-% through the \texttt{geometry} package. Landscaping can
-% also handled through \texttt{geometry}, as suggested by
-% Christian Horn. Faulty linespacing has now been fixed.
-% Documentation has also been improved.}
-% \changes{v1.3}{1997/05/19}{Support is now provided for Japanese
-% as well as English calendars. There is no support for Imperial
-% dates; users have to put these in by hand using the \texttt{title}
-% option, if Imperial dates are required. The changes principally
-% affected the Dates package.}
-% \changes{v1.3}{1997/05/20}{Fixed bug in \texttt{firstday} option.
-% Labels were not shifting with the calendar start day.
-% Thanks due to Miroslav Novak for reporting this bug.}
-% \changes{v1.3}{1997/05/20}{Added German support. Thanks due to
-% Christian Horn.}
-% \changes{v1.4}{1997/05/29}{Amended documentation, including
-% a description of a proper set of options for handling page
-% orientation and layout. Still need to do the coding, though.}
-% \changes{v1.4}{1997/05/29}{Completed coding of orientation
-% and layout options. Pretty simple, once the strategy was
-% clear.}
-% \changes{v1.4}{1997/05/30}{Added linklandscape option and
-% added documentation on the new method of handling format
-% and orientation.}
-% \changes{v1.4}{1997/06/02}{Tidied up the way rotation and
-% page layout options are reconciled.}
-% \changes{v1.4}{1997/06/02}{Added \cs{noindent} to suppress
-% indentation internally.}
-% \changes{v1.4}{1997/06/03}{Generalized code for setting page
-% sizes and adjusting typefaces. Also added automatic selection
-% of abbreviated day names for narrow calendars. Ready for
-% final release.}
-% \changes{v1.4}{1997/06/06}{Major rearrangements were needed to
-% fix problems with page formatting and rotation, reported by
-% Christian Horn.}
-% \changes{v1.5}{1997/06/09}{Further improvements to calendar
-% sizing. An over-wide margin with B4 paper continues to cause
-% problems. Could Japanese B4 paper be a different size?}
-% \changes{v1.6}{1997/10/18}{New public release of all styles
-% and modules incorporating global bug-fixes.}
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% monthly.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:15:10 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 17:14:10 root
-% Release code
-%
-% Revision 2.8 1998/01/17 15:36:01 root
-% *** empty log message ***
-%
-% Revision 2.7 1998/01/17 15:34:30 root
-% *** empty log message ***
-%
-% Revision 2.6 1998/01/17 11:31:00 root
-% *** empty log message ***
-%
-% Revision 2.5 1998/01/16 17:05:53 root
-% *** empty log message ***
-%
-% Revision 2.4 1998/01/16 09:14:25 root
-% *** empty log message ***
-%
-% Revision 2.3 1998/01/16 08:04:38 root
-% *** empty log message ***
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 14:56:45 bennett
-% Release code.
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-% \title{User's Guide to the Monthly Calendar
-% package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate{}.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \CheckSum{381}
-%
-% Please see the file \texttt{calguide.tex} for documentation
-% on this calendar style.
-%
-% \StopEventually{\PrintIndex}
-%
-% \section{The Class File}
-%
-% \subsection{Preliminaries}
-%
-% Use \LaTeXe, and tell the user who we are.
-%
-% \begin{macrocode}
-%<*class>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{monthly}
- [1998/01/17 18:15:10 3.1.1.1 Monthly Calendar (Frank Bennett)]
-% \end{macrocode}
-% Define some more variables and switches for use in the body
-% of the style.
-% \begin{macrocode}
-\newcount\mon@tempcount
-\newcount\mon@firstday
-\newtoks\mon@tempreg@b
-\newlength\mon@tablewidth
-\newtoks\mon@tempreg@a
-\newlength{\mon@vh}
-\newlength{\mon@hw}
-\newlength{\mon@templen}
-\newlength{\mon@heightlessboxes}
-\newlength{\mon@widthlessboxes}
-\newif\ifmon@explicittitle
-\newif\ifmon@shortdays
-\newlength{\mon@oddsidemargin}
-\newlength{\mon@evensidemargin}
-\newlength{\mon@topmargin}
-\newif\ifmon@usedgeometry
-\newlength{\mon@adjustment}
-\newlength{\mon@textwidth}
-\newlength{\mon@textheight}
-% \end{macrocode}
-%
-% \subsection{Options}
-%
-% In common with all other packages in the Calendar
-% bundle, we include options for all of the drivers supported
-% by the color package and the graphics package, and
-% include some code for declaring languages.
-%
-% \begin{macrocode}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-% \end{macrocode}
-%
-% \subsection{Option Postprocessing}
-%
-% Now that the options lists are available to us,
-% we can start loading packages. The following packages
-% are always loaded, and always with the same options.
-% \begin{macrocode}
-\RequirePackage{array}[1996/06/14]
-\RequirePackage{calendar}
-% \end{macrocode}
-% Next, we set the dimensions
-% of the table that will contain the calendar.
-% \begin{macrocode}
- \def\mon@settableheight{%
- \setlength{\mon@vh}{\vsize}%
- \addtolength{\mon@vh}{-0.001pt}}%
- \def\mon@settablewidth{%
- \setlength{\mon@tablewidth}{\hsize}}%
-% \end{macrocode}
-% Typefaces, and abbreviated day names versus full day names
-% are selected by options.
-% \begin{macrocode}
-
-% \end{macrocode}
-%
-% \subsection{Calendar Setup}
-%
-% Define some key values for use by the calendar environment.
-% \begin{macrocode}
-\define@key{opt}{title}{%
- \def\mon@title{#1}\mon@explicittitletrue}
-\define@key{opt}{labels}{%
- \@storelabels#1,,{}}
-\define@key{opt}{shortdays}{%
- \mon@shortdaystrue}
-\define@key{opt}{firstday}{%
- \mon@firstday=#1}
-\define@key{opt}{titletype}{\def\mon@titletype{#1}}
-\define@key{opt}{daynametype}{\def\mon@nametype{#1}}
-\define@key{opt}{datetype}{\def\mon@datetype{#1}}
-\define@key{opt}{texttype}{\def\mon@texttype{#1}}
-\mon@firstday=0%
-% \end{macrocode}
-% Define a utility macro for use by the \texttt{labels} key.
-% This stores a comma-delimited list of labels to a single
-% macro, which can then be used as a line in the table
-% environment that makes up the calendar.
-% \begin{macrocode}
-\def\@storelabels{%
- \def\mon@labeltext{}%
- \@@storelabels}
-\def\@@storelabels#1,#2#{%
- \ifcat$#1$%
- \mon@tempreg@a=\expandafter\expandafter\expandafter{%
- \expandafter\@gobble\mon@labeltext}%
- \protected@edef\mon@labeltext{\the\mon@tempreg@a}%
- \let\next\@gobble%
- \else%
- \let\next\@@storelabels%
- \mon@tempreg@a=\expandafter{\mon@labeltext}%
- \protected@edef\mon@labeltext{\the\mon@tempreg@a&#1}%
- \fi%
- \next#2{}}
-% \end{macrocode}
-% Define default values for the environment keys. The title is set
-% inside the scope of \cs{newcalendar}
-% \begin{macrocode}
-\def\mon@theweekday{\ifmon@shortdays\theshortweekday\else%
- \theweekday\fi}%
-\def\mon@titletype{\large\bfseries}%
-\def\mon@daynametype{\bfseries}%
-\def\mon@datetype{\bfseries}%
-\def\mon@texttype{\tiny}%
-\mon@firstday=0%
-% \end{macrocode}
-%
-% \subsection{Calendar Definition}
-%
-% The calendar definition itself consists of a single command
-% and its associated arguments.
-% \begin{macrocode}
-\newcalendar%
-% \end{macrocode}
-% We give the environment a name.
-% \begin{macrocode}
-{monthly}
-% \end{macrocode}
-% We're producing DVI, so we use the standard
-% macro for dropping text into the hopper.
-% \begin{macrocode}
-{\cal@insert}
-% \end{macrocode}
-% We start the calendar on Sunday. Season to taste.
-% Use integers "0" through "6".
-% \begin{macrocode}
-{\mon@firstday}
-% \end{macrocode}
-% The length of a group is the length of the month.
-% \begin{macrocode}
-{\dates@days}
-% \end{macrocode}
-% The length of a subgroup is one week.
-% \begin{macrocode}
-{7}
-% \end{macrocode}
-% The delimiter to go before every item but the first
-% is a table separator.
-% \begin{macrocode}
-{&}
-% \end{macrocode}
-% Increment the date counter with every item.
-% \begin{macrocode}
-{I}
-% \end{macrocode}
-% Define the header. The macro inserted here is defined
-% below, in the block of code run after the date is read,
-% and before the table is opened.
-% \begin{macrocode}
-{\mon@header}
-% \end{macrocode}
-% We define the end of the calendar.
-% \begin{macrocode}
-{\\\hline\end{tabular}}
-% \end{macrocode}
-% We define a way to open a new group.
-% \begin{macrocode}
-{\cal@footer\newpage\cal@header}
-% \end{macrocode}
-% We define the way to end a subgroup. In this case,
-% we want to start a new line and lay down a rule.
-% \begin{macrocode}
-{\\\hline}
-% \end{macrocode}
-% We set up to require a month in the environment typed
-% into the user's document.
-% \begin{macrocode}
-{\dates@requiremonthtrue}
-% \end{macrocode}
-% The next section runs after the calendar dates have been
-% scanned from the environment, but before the table is
-% opened.
-% \textit{Whatever month was (last) indicated in the environment
-% section of the calendar, we want to start on the first
-% day, and make a calendar for one month only. We accomplish
-% this by adjusting the human-side date, and pushing the
-% result through to the long date with \texttt{dates@fix}.
-% We then readjust the human side data with \texttt{caldate}.
-% This puts us on the first day of the month, and we
-% set the counter \texttt{cal@range@start} to this long date.}
-%
-% \begin{macrocode}
-{\dates@day=1%
- \dates@fix%
- \caldate%
- \cal@range@start\dates@date%
-% \end{macrocode}
-% \textit{We tell the user where we're starting.}
-% \begin{macrocode}
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
-% \end{macrocode}
-% \textit{Then we jump to the last day of the last
-% month in the range given by the user, and
-% do the same readjustment with \texttt{dates@fix} and
-% \texttt{caldate}. We set the end of the range to this
-% value.}
-% \begin{macrocode}
- \dates@date\cal@range@end%
- \caldate%
- \dates@day\dates@days%
- \dates@fix%
- \caldate%
- \cal@range@end\dates@date%
-% \end{macrocode}
-% \textit{We let the user know where we plan to stop.}
-% \begin{macrocode}
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
-% \end{macrocode}
-% \textit{We jump back to the starting date and reset the
-% human-side values.}
-% \begin{macrocode}
- \dates@date=\cal@range@start%
- \caldate%
-% \end{macrocode}
-% \textit{Now that the date adjustments have been taken care of,
-% it's time to figure out the size of the calendar. We start by
-% getting some initial sizes from the height and width of the
-% text area of the current page.}
-% \begin{macrocode}
- \mon@settablewidth%
- \mon@settableheight%
-% \end{macrocode}
-% \textit{We add \cs{extrarowheight} to prim up the headings a little.
-% We will still get text touching lines with \cs{Huge} typefaces,
-% but this is better than nothing.}
-% \begin{macrocode}
-% \setlength{\extrarowheight}{3pt}%
-% \end{macrocode}
-% \textit{Fetch the full height of the title to heightlessboxes.}
-% \begin{macrocode}
- \settoheight{\mon@templen}{\vbox{\boxmaxdepth=0pt%
- \begin{tabular}{c}%
- \mon@titletype%
- \the\dates@monthname%
- \end{tabular}}}%
- \setlength{\mon@heightlessboxes}{\mon@templen}%
-% \end{macrocode}
-% \textit{Fetch the full height of the day labels to heightlessboxes.}
-% \begin{macrocode}
- \settoheight{\mon@templen}{\vbox{\boxmaxdepth=0pt%
- \begin{tabular}{c}%
- \mon@daynametype%
- Monday%
- \end{tabular}}}%
- \addtolength{\mon@heightlessboxes}{\mon@templen}%
-% \end{macrocode}
-% \textit{Add 10 $\times$ the rule width and the space between double-rules
-% to heightlessboxes.}
-% \begin{macrocode}
- \addtolength{\mon@heightlessboxes}{10\arrayrulewidth}%
- \addtolength{\mon@heightlessboxes}{\doublerulesep}%
-% \end{macrocode}
-% \textit{Finally, we make some adjustments that I arrived
-% at by trial and error; I have no idea why these particular
-% measurements work. If anyone wants to improve this, be my
-% guest. I have run out of patience on this one.}
-% \begin{macrocode}
- \addtolength{\mon@heightlessboxes}{\mon@adjustment}%
- \addtolength{\mon@heightlessboxes}{2pt}%
-% \end{macrocode}
-% \textit{The height of the boxes is the full width of
-% the text minus heightlessboxes. Divide
-% by 6 for the height of an individual box.}
-% \begin{macrocode}
- \addtolength{\mon@vh}{-\mon@heightlessboxes}%
- \divide\mon@vh by6%
-% \end{macrocode}
-% \textit{The width is simpler. We have 8 rules, and
-% a total of 14 gaps between text and rules.
-% Add it all up, subtract the total from textheight,
-% divide by 7 and Thunderbirds are Go.}
-% \begin{macrocode}
- \setlength{\mon@hw}{\mon@tablewidth}%
- \setlength{\mon@widthlessboxes}{8\arrayrulewidth}%
- \addtolength{\mon@hw}{-\mon@widthlessboxes}%
- \addtolength{\mon@hw}{-14\tabcolsep}%
- \divide\mon@hw by7\relax%
-% \end{macrocode}
-% \textit{Well, almost go. We need to build the header macro.
-% Our first step is to create the default labels,
-% if the user has not specified any.}
-% \begin{macrocode}
- \@ifundefined{mon@labeltext}{%
- \def\mon@defaultlabels{}%
- \mon@tempcount=1%
- \advance\dates@date by-\dates@weekd%
- \advance\dates@date by\mon@firstday%
- \caldate%
- \loop%
- \mon@tempreg@a=\expandafter{\mon@defaultlabels}%
- \edef\mon@defaultlabels{\the\mon@tempreg@a\mon@theweekday,}%
- \ifnum\mon@tempcount<7%
- \advance\dates@date by1%
- \caldate%
- \advance\mon@tempcount by 1\relax%
- \repeat%
- \expandafter\@storelabels\mon@defaultlabels,,{}%
- \dates@date\cal@range@start%
- \caldate}%
- {}%
-% \end{macrocode}
-% \textit{Then we define the header itself.}
-% \begin{macrocode}
- \def\mon@settitle{\ifmon@explicittitle\else%
- \def\mon@title{\themonth\space\theyear}\fi}%
- \protected@edef\mon@header{%
- \noexpand\mon@settitle%
- \noexpand\begin{tabular}{|c|c|c|c|c|c|c|}%
- \noexpand\hline%
- \noexpand\multicolumn{7}{|c|}{\mon@titletype%
- \noexpand\mon@title}\noexpand\\%
- \noexpand\hline\noexpand\hline%
- \mon@labeltext\noexpand\\%
- \noexpand\hline}}%
-% \end{macrocode}
-% Events are delimited by \cs{newline}.
-% \begin{macrocode}
-{\par}%
-% \end{macrocode}
-% The next argument is dropped on DVI for each item.
-% We use it here to fetch the text of appointments and
-% events to the standard list macros, using the
-% standard text-fetching commands. Each generates a
-% stack delimited by the phrase that was set above.
-% \begin{macrocode}
-{\cal@get@appointments\cal@get@events}%
-% \end{macrocode}
-% This sets \cs{cal@entry@text}. It is executed for every
-% event or appointment in the database that applies
-% to a given item. We differentiate between whole-day events,
-% pinpointed events and ranged events.
-% \begin{macrocode}
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start=\dates@time@end%
- \protected@edef\cal@entry@text{%
- \thetimestart\space%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \else%
- \protected@edef\cal@entry@text{%
- \thetimestart--\thetimeend\space%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \fi%
- \else%
- \protected@edef\cal@entry@text{%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \fi}%
-% \end{macrocode}
-% Finally we tell the style how to create the
-% text for each item (which is an individual date
-% box in this case). We use \texttt{vbox} to make
-% the height static.
-% Thanks are due to Christian Horn for forwarding a
-% handwritten sample of a tabular environment, demonstrating
-% that an error in the linespacing was \textit{not} produced
-% by \LaTeXe's internals. In the end, the problem turned out
-% to be due to grouping; \LaTeX{}, I now remember, sets
-% linespacing according to the typeface in force at the end
-% of a paragraph or parbox.
-% \begin{macrocode}
-{\vbox to\mon@vh{%
- \vskip\medskipamount%
- \hbox{\parbox{\mon@hw}{\mon@datetype\theday}}%
- \ifcat$\theevents$%
- \else%
- \vskip\smallskipamount%
- \hbox{\parbox{\mon@hw}{\raggedright%
- \mon@texttype\theevents}}%
- \fi%
- \ifcat$\theappointments$%
- \else%
- \vskip\smallskipamount%
- \hbox{\parbox{\mon@hw}{\raggedright%
- \mon@texttype\theappointments}}%
- \fi%
- \vfil}}%
-%</class>
-% \end{macrocode}
-% \Finale \PrintChanges
diff --git a/Master/texmf-dist/source/latex/calendar/overword.dtx b/Master/texmf-dist/source/latex/calendar/overword.dtx
deleted file mode 100644
index b92b610a2f8..00000000000
--- a/Master/texmf-dist/source/latex/calendar/overword.dtx
+++ /dev/null
@@ -1,344 +0,0 @@
-%\iffalse
-%
-% File overword.dtx
-% Copyright (C) 1996, 1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author(s) in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk
-%
-%<style>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-%<style>\ProvidesPackage{overword}
-%<style> [1998/01/17 18:15:15 3.1.1.1 Overword parsing support (Frank Bennett)]
-% \fi
-%
-% \def\fileversion{3.1.1.1}
-% \def\filedate{1998/01/17 18:15:15}
-%
-% \iffalse
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{overword.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \changes{v1.0}{1996/11/10}{Initial version separated from calendar.dtx}
-% \changes{v1.1}{1996/11/10}{Fixed error in the installation file.}
-% \changes{v1.2}{1997/01/09}{Added @preoverwordspace, for use with Camel 1.0s.}
-% \changes{v1.3}{1997/03/01}{Trivial change to documentation.}
-% \changes{v1.4}{1997/03/04}{Put \texttt{iffalse} around installation
-% file section of \texttt{dtx} file.}
-% \changes{v1.5}{1997/10/05}{Changed local use of \cs{let} re \cs{@overword}
-% tp global, to avoid cross-nested local and global assignments.}
-% \changes{v1.6}{1997/10/18}{New public release of all styles
-% and modules incorporating global bug-fixes.}
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% overword.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:15:15 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 17:14:24 root
-% Release code
-%
-% Revision 2.3 1998/01/16 11:59:18 root
-% *** empty log message ***
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 14:55:51 bennett
-% Release code.
-%
-% Revision 1.5 1997/10/30 20:27:21 root
-% Trivial changes to the demo file.
-%
-% Revision 1.4 1997/10/30 08:15:14 root
-% Added a note in the documentation describing the \@ifnextnparchar
-% macro.
-%
-% Revision 1.3 1997/10/29 21:20:29 root
-% Eliminated what looked like a needless gdef of preoverwordspace
-% in @ifoverword.
-%
-% Revision 1.2 1997/10/29 20:10:35 bennett
-% *** empty log message ***
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-% \title{User's Guide to the Overword package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty}
-% \DoNotIndex{\@flushglue,\@gobble,\@input}
-% \DoNotIndex{\@makefnmark,\@makeother,\@maketitle}
-% \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa}
-% \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue}
-% \DoNotIndex{\@thanks,\@thefnmark,\@topnum}
-% \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin}
-% \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces}
-% \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup}
-% \DoNotIndex{\cal,\csname,\def,\documentstyle,\dospecials,\edef}
-% \DoNotIndex{\egroup}
-% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist}
-% \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global}
-% \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn}
-% \DoNotIndex{\ifcase}
-% \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item}
-% \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower}
-% \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing}
-% \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc}
-% \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut}
-% \DoNotIndex{\strutbox}
-% \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt}
-% \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@}
-% \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim}
-% \DoNotIndex{\catcode,\end,\escapechar,\frenchspacing,\glossary}
-% \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle}
-% \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode}
-% \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip}
-% \DoNotIndex{\nopagebreak}
-% \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle}
-% \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb}
-% \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar}
-% \DoNotIndex{\[,\{,\},\]}
-% \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode}
-% \DoNotIndex{\baselineskip,\begin,\tw@}
-% \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q}
-% \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H}
-% \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z}
-% \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0}
-% \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_}
-% \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother}
-% \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment}
-% \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined}
-% \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc}
-% \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar}
-% \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode}
-% \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting}
-% \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf}
-% \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse}
-% \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault}
-% \DoNotIndex{\bfdefault}
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \begin{abstract}
-% \noindent This package provides two low-level macros for the parsing of text
-% using \LaTeXe{}.
-% \end{abstract}
-%
-%
-% \CheckSum{143}
-%
-% \section{Using the macros}
-%
-% This package provides two macros which can be used as
-% building blocks for the parsing of text. It forms
-% part of the Calendar package, but is written as
-% a discrete module that may be used in other packages
-% as well.
-%
-% The "\@ifoverword" macro takes four arguments. These
-% are, in order: a token to match; a text to expand when
-% a match is found; a text to expand if the match is
-% not found; and a text to expand if the macro encounters
-% "\end". This last is required to allow macros to be
-% built which will react gracefully when the end of an
-% environment or a document is encountered.
-%
-% This macro hops over word units (delimited by a space or spaces,
-% any number of return characters being treated as a space),
-% and expands text according to what it finds on the other side.
-% Within the text arguments, "\@overword" can be used to
-% insert the word that has been gobbled. The expanded
-% text can contain the name of the macro that invokes
-% "\@ifoverword".
-% Note that "\@overword" is relaxed at each invocation of
-% the macro. This can be used to detect whether the macro
-% has encountered an "\end" immediately after itself or
-% beyond a word, and thereby exit cleanly in either case.
-%
-% The file "demo.tex" contains a sample of the use of this macro.
-% This can be used as a model for building text-parsing loops.
-%
-% The \cs{@ifnextnparchar} macro serves the same purpose as
-% \cs{@ifnextchar} except that, like \cs{@ifoverword}, it is
-% indifferent to \cs{par} (if it encounters one, it will
-% gobble it and look at the next token following it).
-% And like \cs{@ifoverword}, it
-% takes a text to expand when the next token is \cs{end}
-% as its fourth argument, to help
-% protect against accidental attempts to read past the end
-% of the file.
-%
-%\StopEventually{\PrintIndex}
-%
-% \begin{macro}{\@ifoverword}
-% \begin{macrocode}
-%<*style>
-\long\def\@ifoverword#1#2#3#4{%
- \let\reserved@a=#1%
- \def\reserved@d{#4}\def\reserved@b{#2}\def\reserved@c{#3}%
- \global\let\@overword\relax%
- \futurelet\@let@token\@ifowd}
-\long\def\@ifowd{%
- \ifx\@let@token\@sptoken%
- \gdef\@preoverwordspace{ }%
- \let\reserved@e\@xifowd%
- \else%
- \ifx\@let@token\end%
- \let\reserved@e\reserved@d%
- \else%
- \ifx\@let@token\par%
- \let\reserved@e\@xifpargobble%
- \else%
- \long\def\reserved@e##1 {\long\gdef\@overword{##1}\@@ifowd}%
- \fi%
- \fi%
- \fi%
- \reserved@e}
-\long\def\@xifpargobble#1{\futurelet\@let@token\@ifowd}
-\def\:{\@xifowd} \expandafter\def\: {\futurelet\@let@token\@ifowd}
-\def\@@ifowd{\futurelet\@let@token\@ifnparnch}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@ifnextnparchar}
-% \begin{macrocode}
-\long\def\@ifnextnparchar#1#2#3#4{%
- \let\reserved@a=#1%
- \def\reserved@b{#2}\def\reserved@c{#3}\def\reserved@d{#4}%
- \futurelet\@let@token\@ifnparnch}
-\long\def\@ifnparnch{%
- \ifx\@let@token\@sptoken%
- \let\reserved@e\@xifnparnch%
- \else%
- \ifx\@let@token\end%
- \let\reserved@e\reserved@d%
- \else%
- \ifx\@let@token\par%
- \let\reserved@e\@xifpargobblench%
- \else%
- \ifx\@let@token\reserved@a%
- \let\reserved@e\reserved@b%
- \else%
- \let\reserved@e\reserved@c%
- \fi%
- \fi%
- \fi%
- \fi%
- \reserved@e}
-\long\def\@xifpargobblench#1{\futurelet\@let@token\@ifnparnch}
-\def\:{\@xifnparnch}
-\expandafter\def\: {\futurelet\@let@token\@ifnparnch}
-%</style>
-% \end{macrocode}
-% \end{macro}
-%\iffalse
-% \section{Demo file}
-%
-% \begin{macrocode}
-%<*demo>
-\documentclass{minimal}
-\usepackage{overword}
-
-\begin{document}
-
-\makeatletter
-
-\newtoks\registerone
-\newtoks\registertwo
-\def\list{}
-
-\def\stashonright{%
- \registerone=\expandafter{\@overword}
- \registertwo=\expandafter{\list}
- \edef\list{%
- \noexpand\\{\the\registerone}\the\registertwo}}
-
-\def\showlist{%
- \def\\##1{\message{##1}}
- \message{\space\space -> }
- \list
- \message{^^J}}
-
-\def\readlistagain{%
- \def\\##1{ ##1 }
- \edef\listtext{\list}
-\message{\listtext}
- \expandafter\store\listtext\enditall}
-
-\def\storeandshow{%
- \@ifoverword\enditall
- {\message{Ran into \string\enditall!^^J}
- \stashonright
- \expandafter\showlist\@gobble}
- {\stashonright
- \storeandshow}
- {\message{Ran into \string\end!^^J}
- \stashonright
- \showlist}}
-
-\message{^^J----------------------------------------------------------------------}
-\message{This file demonstrates the operation of the Overword package for LaTeX}
-\message{Ordinarily, TeX reads and inteprets printable characters one by one.}
-\message{With this package, it is possible to read input word by word. This}
-\message{capability makes it possible to design user interfaces which are more}
-\message{intuitive to users. The Calendar bundle is one example of such an}
-\message{interface. Below, a phrase is printed to the terminal twice, once in}
-\message{reverse word order, and once in re-reversed (normal) word order. Each}
-\message{message is triggered by a control sequence found just beyond the last}
-\message{word read --- \string\enditall in the first instance, \string\end\space in the second.}
-\message{This file produces no printed output.}
-\message{^^J----------------------------------------------------------------------}
-
-\storeandshow This is a demonstration of the overword package \enditall
-
-\let\listclone\list
-\def\list{}
-\def\\#1{ #1 }
-\edef\listtext{\listclone}
-\expandafter\storeandshow\listtext
-
-\end{document}
-%</demo>
-% \end{macrocode}
-%\fi
-% \Finale \PrintChanges
diff --git a/Master/texmf-dist/source/latex/calendar/plotutil.dtx b/Master/texmf-dist/source/latex/calendar/plotutil.dtx
deleted file mode 100644
index 11fa3fef28b..00000000000
--- a/Master/texmf-dist/source/latex/calendar/plotutil.dtx
+++ /dev/null
@@ -1,78 +0,0 @@
-%\iffalse
-%
-% This is a set of utilities that I have used in London
-% to print large files to an HP 6xx series plotter.
-% At least the way I use it, this plotter handles the top
-% margin in a bizzare way that requires some preprocessing
-% to get things into a predictable location on the physical
-% page. I don't provide any documentation here, because the
-% chances are good that my problems were one-off problems.
-% But it you, too, have trouble with HP 6xx series plotters
-% and dvips, I will be happy to explain how this stuff works
-% together (if I can remember).
-%
-%\fi
-%
-% \iffalse
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{plotutil.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{77}
-%
-%\StopEventually{\PrintIndex}
-%
-% \begin{macrocode}
-%<*script>
-#!/bin/bash
-JOBNAME=`basename ${*##* } .dvi`
-if [ $# -gt 1 ] ; then
- OPTIONS=${*% *}
-else
- OPTIONS=""
-fi
-echo -------------------------------------------------------------------
-echo : Calculating offset value
-HEIGHT=`cat ./$JOBNAME.hps | sed -e s/.*PageSize\ \\\[[0-9]*\ \\\\\([0-9]*\\\\\)\\\].*/\\\1/`
-OFFSET=795
-echo : Offset base figure is ${OFFSET}pt
-PT_OFFSET=`echo $OFFSET $HEIGHT-p|dc|sed s/-/_/`
-echo : Required offset in points is ${PT_OFFSET}pt
-CM_OFFSET=`echo 2k$PT_OFFSET 72.27/2.54*p|dc`
-echo : Setting offset to ${CM_OFFSET}cm
-echo : ...
-echo : God only knows why this process is necessary.
-echo : \$\#\&\^\"\=\$\%\@
-echo -------------------------------------------------------------------
-echo dvips $OPTIONS -P372hpplotq -O 2.1cm,${CM_OFFSET}cm -h ./$JOBNAME.hps -o $JOBNAME.ps $JOBNAME.dvi
-dvips $OPTIONS -P372hpplotq -O 2.1cm,${CM_OFFSET}cm -h ./$JOBNAME.hps -o $JOBNAME.ps $JOBNAME.dvi
-echo Wrote PostScript\(TM\) output to $JOBNAME.ps \(I think\).
-%</script>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*style>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{hpplotsz}
- [1997/11/07 Custom page sizes with HP 6xx series plotters (Frank Bennett)]
-\newlength\hps@templen
-\newwrite\hps@pagesizeheader
-\newcount\hps@orientation
-\def\hps@@strip#1.#2\end{#1}
-\def\hps@strip#1{\expandafter\hps@@strip\the#1\end}
-\def\sethpplotsize{%
- \ifnum\hsize>\vsize\hps@orientation=3\else\hps@orientation=0\fi
- \immediate\openout\hps@pagesizeheader=./\jobname.hps
- \immediate\write\hps@pagesizeheader{%
- <</PageSize [\hps@strip\paperwidth\space\hps@strip\paperheight] /Orientation \the\hps@orientation>>setpagedevice}
- \immediate\closeout\hps@pagesizeheader}
-%</style>
-% \end{macrocode}
-% \Finale \PrintChanges
diff --git a/Master/texmf-dist/source/latex/calendar/timesht.dtx b/Master/texmf-dist/source/latex/calendar/timesht.dtx
deleted file mode 100644
index 407b20ab454..00000000000
--- a/Master/texmf-dist/source/latex/calendar/timesht.dtx
+++ /dev/null
@@ -1,688 +0,0 @@
-%\iffalse
-%
-% file: timesht.dtx
-% Copyright (C) 1996-1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author of this file in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk. Better yet, make a contribution to
-% my pension. Account details available on request.
-%
-%\fi
-%
-% \def\fileversion{3.1.1.1}
-% \def\filedate{1998/01/17 18:15:23}
-%
-% \iffalse
-%
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{timesht.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-% \changes{v1.1}{1997/02/26}{Redraft of original Timesheets
-% package, using Timetable package as a model.}
-% \changes{v1.2}{1997/10/18}{New public release of all styles
-% and modules incorporating global bug-fixes.}
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% timesht.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:15:23 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 17:15:05 root
-% Release code
-%
-% Revision 2.15 1998/01/17 11:54:43 root
-% *** empty log message ***
-%
-% Revision 2.14 1998/01/17 11:48:41 root
-% *** empty log message ***
-%
-% Revision 2.13 1998/01/17 10:27:17 root
-% *** empty log message ***
-%
-% Revision 2.12 1998/01/17 10:25:29 root
-% *** empty log message ***
-%
-% Revision 2.11 1998/01/17 04:42:57 root
-% *** empty log message ***
-%
-% Revision 2.10 1998/01/16 20:42:51 root
-% *** empty log message ***
-%
-% Revision 2.9 1998/01/16 17:10:16 root
-% *** empty log message ***
-%
-% Revision 2.8 1997/12/06 09:04:25 root
-% Finished elimination of landscape code, eliminated superfluous brace.
-%
-% Revision 2.7 1997/12/06 09:01:41 root
-% Initialized tms@blocklist to empty macro.
-%
-% Revision 2.6 1997/12/06 08:54:55 root
-% Changed docstrip label from class to package.
-%
-% Revision 2.5 1997/12/06 08:32:41 root
-% Disable paragraph indenting inside calendar environment.
-%
-% Revision 2.4 1997/12/06 08:27:43 root
-% Converted to style from class.
-%
-% Revision 2.3 1997/12/04 19:32:22 bennett
-% Added typeface variables for appointments having only a
-% single time.
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.3 1997/11/05 06:21:56 root
-% Superfluous brace in new definition.
-%
-% Revision 2.1.1.2 1997/11/05 06:17:14 root
-% Hooked up title parameter following report fro,
-%
-% from Edward Czilli.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 14:47:16 bennett
-% Release code.
-%
-% Revision 1.7 1997/10/30 20:25:58 root
-% Moved \extrarowheight so that it is only invoked once, when
-% the table is first opened.
-%
-% Revision 1.6 1997/10/30 13:46:59 root
-% Moved reset of counter, in the code for the group-closing
-% footer, above the closing \\\hline to avoid leftovers on
-% the following line.
-%
-% Revision 1.5 1997/10/30 12:38:13 root
-% Changed use of \@newline to \par, to avoid weird errors arising
-% from LaTeX for reasons I do not fully understand.
-%
-% Revision 1.4 1997/10/30 12:31:50 root
-% Put \relax after the option text setting blockminutes.
-%
-% Revision 1.3 1997/10/29 20:13:36 bennett
-% *** empty log message ***
-%
-% Revision 1.2 1997/10/29 17:18:39 root
-% Added reset of block counter on end of subgroup, to make
-% underlining between blocks position correctly on second
-% and subsequent pages.
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-% \title{User's Guide to the Timesheet
-% package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate{}.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \CheckSum{598}
-%
-% \section{Note}
-%
-% Documentation for this package is contained in the file
-% \texttt{calguide.tex}.
-%
-%\StopEventually{\PrintIndex}
-%
-% \section{The Class File}
-%
-% Preliminaries.
-%
-% \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{timesht}
- [1998/01/17 18:15:23 3.1.1.1 Timesheet (Frank Bennett)]
-% \end{macrocode}
-%
-% Initialize all registers and if statements to be
-% used by this class.
-%
-% \begin{macrocode}
-\newif\iftms@usetimes
-\tms@usetimestrue
-\newlength\tms@tablewidth
-\newlength{\tms@hw}
-\newlength{\tms@templen}
-\newlength{\tms@widthlessboxes}
-\newlength{\tms@timetextlen}
-\newtoks\tms@tempreg@a
-\newtoks\tms@tempreg@b
-\newcount\tms@tempcount
-\newcount\tms@start
-\newcount\tms@end
-\newcount\tms@minuteblocks
-\newcount\tms@boxes
-\newcount\tms@days
-\newcount\tms@blocks
-\newcount\tms@time@start
-\newcount\tms@time@end
-\newcount\tms@hours@start
-\newcount\tms@minutes@start
-\newcount\tms@hours@end
-\newcount\tms@minutes@end
-\newcount\tms@minute@base
-\newlength{\tms@numlen}
-\newcount\tms@rightprop
-\newcount\tms@leftprop
-\newcount\tms@groupblocks
-\newcount\tms@groupblockcount
-\tms@groupblockcount=1%
-\newlength{\tms@colonlen}
-\newlength{\tms@dashlen}
-\newlength{\tms@leftlen}
-\newlength{\tms@rightlen}
-\tms@leftprop=1%
-\tms@rightprop=1%
-% \end{macrocode}
-% Language setup.
-% \begin{macrocode}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-% \end{macrocode}
-%
-% Load a bunch of useful packages.
-%
-% \begin{macrocode}
-\RequirePackage{longtable}
-\RequirePackage{array}[1996/06/14]
-\RequirePackage{calendar}
-\RequirePackage{keyval}
-% \end{macrocode}
-%
-% Turn off the listing of days in the Calendar style.
-% It only works well for monthly calendars.
-%
-% \begin{macrocode}
-\tracingdates=0%
-% \end{macrocode}
-%
-% Set up a list of options for the Calendar style engine
-% to use with the "keyval" parser.
-%
-% \begin{macrocode}
-\define@key{opt}{leftspace}{\setlength{\LTleft}{#1}}
-\define@key{opt}{rightspace}{\setlength{\LTright}{#1}}
-\define@key{opt}{width}{\setlength{\tms@tablewidth}{#1}}
-\define@key{opt}{title}{\def\tms@title{#1}}
-\define@key{opt}{start}{\@settime\tms@start#1{}}
-\define@key{opt}{end}{\@settime\tms@end#1{}}
-\define@key{opt}{blockminutes}{\tms@minuteblocks=#1\relax}
-\define@key{opt}{blockgroup}{\tms@groupblocks=#1\relax}
-\define@key{opt}{leftright}{\tms@extractprops#1{}}
-\define@key{opt}{titletype}{\def\tms@titletype##1{{#1{##1}}}}
-\define@key{opt}{labeltype}{\def\tms@labeltype##1{{#1{##1}}}}
-\define@key{opt}{timelabeltype}{\def\tms@timelabeltype##1{{#1{##1}}}}
-\define@key{opt}{timeitemtype}{\def\tms@timeitemtype##1{{#1{##1}}}}
-\define@key{opt}{itemtype}{\def\tms@itemtype##1{{#1{##1}}}}
-\define@key{opt}{notimes}[f]{\tms@usetimesfalse}
-% \end{macrocode}
-%
-% Before setting default values,
-% provide a set of parsing macros for use in scanning
-% some of the options fed to the "keyval" parser.
-% Doing this here allows us to specify the defaults in a
-% human readable syntax.
-%
-% \begin{macrocode}
-\def\tms@extractprops#1/#2#{%
- \tms@leftprop=#1\tms@rightprop=#2}
-\def\@settime#1#2:#3#{%
- \tms@tempcount=#2%
- \multiply\tms@tempcount by60%
- \advance\tms@tempcount by#3%
- \global#1\tms@tempcount}
-\def\@splitblocks#1-#2#{%
- \def\@blockstarttext{#1}%
- \def\@blockendtext{#2}}
-\def\@setblocks#1,#2#{%
- \ifcat$#1$%
- \let\next\@gobble%
- \else%
- \let\next\@setblocks%
- \global\advance\tms@blocks by 1%
- \@splitblocks#1{}%
- \expandafter\@settime%
- \expandafter\tms@time@start\@blockstarttext{}%
- \expandafter\@settime%
- \expandafter\tms@time@end\@blockendtext{}%
- \let\tms@tempmac\tms@blocklist%
- \edef\tms@blocklist{%
- \tms@tempmac\the\tms@time@start-\the\tms@time@end,}%
- \fi%
- \next#2{}}
-\def\tms@chopblock#1-#2,#3#{%
- \global\tms@time@start=#1%
- \global\tms@time@end=#2%
- \gdef\tms@blocklist{#3}}%
-\def\tms@labellist{}%
-\def\@extractlabels#1,#2#{%
- \ifcat$#1$%
- \tms@tempreg@a=\expandafter{\tms@labellist}%
- \edef\tms@label##1{%
- \noexpand\ifcase##1\the\tms@tempreg@a\noexpand\fi}%
- \let\next\@gobble%
- \else%
- \let\next\@extractlabels%
- \let\tms@tempmac\tms@labellist%
- \expandafter\def%
- \expandafter\tms@labellist%
- \expandafter{%
- \tms@tempmac\or #1}%
- \fi%
- \next#2{}}
-% \end{macrocode}
-%
-% Set up default values for the "keyval" options.
-%
-% \begin{macrocode}
-\def\tms@titletype#1{{\Large\bfseries#1}}%
-\def\tms@labeltype#1{{\large\bfseries#1}}%
-\def\tms@timelabeltype#1{{\bfseries#1}}
-\def\tms@timeitemtype#1{{\large#1}}
-\def\tms@itemtype#1{{\small#1}}
-\def\tms@title{\themonth\space\theday,\space\theyear}
-\@settime\tms@start8:00{}
-\@settime\tms@end17:00{}
-\tms@minuteblocks=15\relax%
-\def\tms@blocklist{}%
-\def\tms@label#1{\themonth\space\theday}%
-\tms@groupblocks=4\relax%
-\tms@extractprops4/5{}
-% \end{macrocode}
-%
-%
-% Define the calendar. As for all Calendar styles,
-% this is done using "\newcalendar" with 17 arguments.
-%
-% \begin{macrocode}
-\newcalendar%
-% \end{macrocode}
-%
-% Name the new calendar environment.
-%
-% \begin{macrocode}
-{timesheet}
-% \end{macrocode}
-%
-% Select an off-the-shelf macro for printing
-% that will dump printable
-% items on DVI.
-%
-% \begin{macrocode}
-{\cal@insert}
-% \end{macrocode}
-%
-% Be indifferent to the starting day of the week.
-% ("0" through "6" specify Sunday through Saturday).
-%
-% \begin{macrocode}
-{7}
-% \end{macrocode}
-%
-% Set the number of items in a group (time blocks)
-%
-% \begin{macrocode}
-{\tms@blocks}
-% \end{macrocode}
-%
-% Set the number of items in a subgroup (one block).
-%
-% \begin{macrocode}
-{1}
-% \end{macrocode}
-%
-% Use ampersand table separator before all items
-% but the first in a subgroup (never used, b/c only one item).
-%
-% \begin{macrocode}
-{&}
-% \end{macrocode}
-%
-% Increment the date at the end of every group, and sneak
-% in a post-increment recalculation for the time labels.
-%
-% \begin{macrocode}
-{G\tms@gettimes}
-% \end{macrocode}
-%
-% Specify the header. This has to be built on the fly
-% in the Timesheet style, to give control over width
-% to the user. So just give the
-% name of the macro here.
-% \begin{macrocode}
-{\tms@header}
-% \end{macrocode}
-%
-% Specify the tail of the table.
-%
-% \begin{macrocode}
-{&%
- \global\tms@groupblockcount=1\relax%
- \\\hline%
- \end{longtable}}%
-% \end{macrocode}
-%
-% How to end a group.
-%
-% \begin{macrocode}
-{\cal@footer\newpage\cal@header}
-% \end{macrocode}
-%
-% Specify how to break the end of a subgroup.
-% In this case, we end the table line and add
-% a time block that must be generated on the fly.
-%
-% The new "\\*" form in "longtable" seems to have no
-% impact here. Rats.
-%
-% \begin{macrocode}
-{&%
- \ifnum\tms@groupblockcount<\tms@groupblocks%
- \\*\cline{1-4}%
- \global\advance\tms@groupblockcount by1\relax%
- \else%
- \\\hline%
- \global\tms@groupblockcount=1\relax%
- \fi%
- \tms@timecoltext}
-% \end{macrocode}
-% Next is code to be run before the calendar options
-% are digested and the controlling date is read.
-%
-% \textit{Set a couple of Calendar toggles before
-% scanning the date contained in the "timesheet"
-% environment.}
-% \begin{macrocode}
-{\dates@requiremonthtrue\dates@requiredaytrue
-% \end{macrocode}
-% \textit{Set default width of table.}
-% \begin{macrocode}
- \setlength{\tms@tablewidth}{\textwidth}
-% \end{macrocode}
-% \textit{Initialize \cs{tms@blocklist} to \texttt{nil}.}
-% \begin{macrocode}
- \def\tms@blocklist{}}
-% \end{macrocode}
-%
-% "\cal@range@start", "\cal@range@end" and "\dates@date"
-% are all set internally, so we just provide information
-% here. Remember to adjust human-readable dates with
-% "\caldate" when changing "\dates@date", and
-% long dates with "\dates@fix" when adjusting
-% the human readable stuff.
-%
-% \begin{macrocode}
-{\message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date\cal@range@end%
- \caldate%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date\cal@range@start%
- \caldate%
-% \end{macrocode}
-%
-% \textit{Set the number of blocks and the number of blocks in a group.}
-%
-% \begin{macrocode}
-\relax%
-\tms@blocks\tms@end%
-\advance\tms@blocks by-\tms@start%
-\divide\tms@blocks by\tms@minuteblocks%
-% \end{macrocode}
-%
-% \textit{Prepare an algorithm to derive the start and
-% end time of a block from the value of the
-% counter \texttt{cal@group@count} and set values in
-% \texttt{tms@time@start}, \texttt{tms@time@end}
-% and \texttt{tms@timecoltext}.}
-%
-% \begin{macrocode}
- \def\tms@gettimes{%
- \ifcat$\tms@blocklist$%
- \tms@time@start\cal@group@count%
- \multiply\tms@time@start by\tms@minuteblocks%
- \global\advance\tms@time@start by\tms@start%
- \tms@time@end\tms@time@start%
- \global\advance\tms@time@end by\tms@minuteblocks%
- \else%
- \expandafter\tms@chopblock\tms@blocklist-,{}%
- \fi%
- \mod{60}\tms@time@start\tms@minutes@start%
- \tms@hours@start\dates@three%
- \divide\tms@hours@start by60%
- \mod{60}\tms@time@end\tms@minutes@end%
- \tms@hours@end\dates@three%
- \divide\tms@hours@end by60%
- \ifnum\tms@minutes@start<10%
- \edef\tms@minutes@start@mac{0\the\tms@minutes@start}%
- \else%
- \edef\tms@minutes@start@mac{\the\tms@minutes@start}%
- \fi%
- \ifnum\tms@minutes@end<10%
- \edef\tms@minutes@end@mac{0\the\tms@minutes@end}%
- \else%
- \edef\tms@minutes@end@mac{\the\tms@minutes@end}%
- \fi%
- \xdef\tms@timecoltext{%
- \noexpand\tms@timelabeltype{\the\tms@hours@start}&%
- \noexpand\tms@timelabeltype{\tms@minutes@start@mac}&%
- \noexpand\tms@timelabeltype{\the\tms@hours@end}&%
- \noexpand\tms@timelabeltype{\tms@minutes@end@mac}&}}%
-% \end{macrocode}
-%
-% \textit{Set the dimensions of the table. We don't have
-% to worry about the vertical dimensions; we leave that
-% to longtable.}
-%
-% \textit{First let the user know what we're planning to do.}
-%
-% \begin{macrocode}
-\message{Package Timesheet: %
- setting table \the\tms@tablewidth\space in width.^^J}%
-% \end{macrocode}
-%
-% \textit{The rules surrounding the first (time) column.}
-%
-% \begin{macrocode}
- \setlength{\tms@widthlessboxes}{2\arrayrulewidth}%
-% \end{macrocode}
-%
-% \textit{The rules at the end of the text columns.}
-%
-% \begin{macrocode}
- \addtolength{\tms@widthlessboxes}{3\arrayrulewidth}%
- \addtolength{\tms@widthlessboxes}{\doublerulesep}%
-% \end{macrocode}
-%
-% \textit{The space between the rules and the neighbouring text.}
-%
-% \begin{macrocode}
- \addtolength{\tms@widthlessboxes}{6\tabcolsep}%
-% \end{macrocode}
-%
-% \textit{The width of the time text.}
-%
-% \begin{macrocode}
- \settowidth{\tms@numlen}{\tms@timelabeltype{99}}%
- \settowidth{\tms@colonlen}{\tms@timelabeltype{:}}%
- \settowidth{\tms@dashlen}{\tms@timelabeltype{\ --\ }}%
- \addtolength{\tms@widthlessboxes}{4\tms@numlen}%
- \addtolength{\tms@widthlessboxes}{2\tms@colonlen}%
- \addtolength{\tms@widthlessboxes}{\tms@dashlen}%
-% \end{macrocode}
-%
-% \textit{Everything else is for the text columns.}
-%
-% \begin{macrocode}
- \tms@tempcount\tms@leftprop%
- \advance\tms@tempcount by\tms@rightprop%
-%
- \setlength{\tms@templen}{\tms@tablewidth}%
- \addtolength{\tms@templen}{-\tms@widthlessboxes}%
-%
- \tms@leftlen\tms@templen%
- \divide\tms@leftlen by\tms@tempcount%
- \global\multiply\tms@leftlen by\tms@leftprop%
-%
- \tms@rightlen\tms@templen%
- \divide\tms@rightlen by\tms@tempcount%
- \global\multiply\tms@rightlen by\tms@rightprop%
-% \end{macrocode}
-%
-% \textit{Prepare the macro that will generate a table
-% header with an appropriate number of columns
-% in appropriate sizes.}
-%
-% \begin{macrocode}
- \tms@tempcount\tms@days%
- \advance\tms@tempcount by1%
- \protected@edef\tms@header{%
- \noexpand\begin{longtable}{%
- |>{\hfill}%
- m{\the\tms@numlen}%
- @{\tms@timelabeltype{:}}%
- m{\the\tms@numlen}%
- @{\tms@timelabeltype{\ --\ }}%
- >{\hfill}%
- m{\the\tms@numlen}%
- @{\tms@timelabeltype{:}}%
- m{\the\tms@numlen}%
- |%
- m{\the\tms@leftlen}||%
- m{\the\tms@rightlen}|}%
- \noexpand\multicolumn{6}{c}%
- {\tms@titletype{\noexpand\tms@title}}%
- \\%
- \noexpand\multicolumn{4}{l}{}%
- &%
- \noexpand\multicolumn{1}{c}{\textbf{Plan}}&%
- \noexpand\multicolumn{1}{c}{\textbf{Action}}%
- \noexpand\\\noexpand\hline%
- \noexpand\endhead%
- \noexpand\tms@timecoltext}%
- \extrarowheight=3pt}
-% \end{macrocode}
-%
-% Specify the divider to be placed between entries
-% within a timesheet box.
-%
-% \begin{macrocode}
-{\par\smallskip}%
-% \end{macrocode}
-%
-% Use the standard Calendar item-fetching macros to
-% grab classes of items. We only need appointments
-% (things with a time associated with them) in this case,
-% and we specify the range of the current box to
-% limit the entries that are grabbed for current use.
-%
-% \begin{macrocode}
-{\cal@get@appointments[\tms@time@start/\tms@time@end]}%
-% \end{macrocode}
-%
-% Prepare macro text that will set the text to
-% "\longtext" on the first entry, and "\shorttext"
-% with braces thereafter.
-%
-% \begin{macrocode}
-{\relax%
- \ifnum\dates@time@start>0\relax%
-% \end{macrocode}
-%
-% \textit{We print a short entry for anything that starts
-% outside the slot we are dealing with.}
-%
-% \begin{macrocode}
- \ifnum\dates@time@start<\tms@time@start%
- \protected@edef\cal@entry@text{%
- \noexpand\parbox{\the\tms@leftlen}{\noexpand\raggedright%
- \noexpand\tms@itemtype{%
- \noexpand$\noexpand<\noexpand$%
- \theshorttext, to \cal@appt@end@text%
- \noexpand$\noexpand>\noexpand$}}}%
-% \end{macrocode}
-%
-% \textit{All other conforming entries get the long text.}
-%
-% \begin{macrocode}
- \else%
- \ifnum\dates@time@start<\dates@time@end%
- \protected@edef\cal@entry@text{%
- \noexpand\parbox{\the\tms@leftlen}{\noexpand\raggedright%
- \iftms@usetimes%
- \noexpand\tms@timeitemtype{%
- \cal@appt@start@text%
- --%
- \cal@appt@end@text}%
- \space%
- \fi%
- \noexpand\tms@itemtype{%
- \thelongtext}}}%
- \else%
- \protected@edef\cal@entry@text{%
- \noexpand\parbox{\the\tms@leftlen}{\noexpand\raggedright%
- \iftms@usetimes%
- \noexpand\tms@timeitemtype{%
- \cal@appt@start@text}%
- \space%
- \fi%
- \tms@itemtype{\thelongtext}}}%
- \fi%
- \fi%
- \fi}%
-% \end{macrocode}
-%
-% Chuck the assembled stack of appointments into
-% the box.
-%
-% \begin{macrocode}
-{\theappointments}
-\message{Done loading style}
-% \end{macrocode}
-%</package>
-% \Finale \PrintChanges
diff --git a/Master/texmf-dist/source/latex/calendar/timetabl.dtx b/Master/texmf-dist/source/latex/calendar/timetabl.dtx
deleted file mode 100644
index 3d20d67f876..00000000000
--- a/Master/texmf-dist/source/latex/calendar/timetabl.dtx
+++ /dev/null
@@ -1,772 +0,0 @@
-%\iffalse
-%
-% file: timetabl.dtx
-% Copyright (C) 1996-1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author of this file in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk. Better yet, make a contribution to
-% my pension. Account details available on request.
-%
-%\fi
-%
-% \def\fileversion{3.1.1.1}
-% \def\filedate{1998/01/17 18:15:28}
-%
-% \iffalse
-%
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{timetabl.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-% \changes{v1.0}{1997/02/26}{First release version, implementing
-% a suggestion from Miroslav Novak.}
-% \changes{v1.1}{1997/03/08}{Added \cs{protected@edef} to labels
-% definition, so my wife's birthday can be indicated in color
-% in our travel itinerary\ldots but it didn't work. Colors
-% in labels come up with an empty color. Problem occurs only if the
-% \cs{textcolor} command is at the start of the label, so
-% this is probably do to an unnecessary \cs{expandafter}.}
-% \changes{v1.1}{1997/03/08}{Added time type declaration to
-% pinpoint times for consistency.}
-% \changes{v1.2}{1997/05/15}{Merged improved preliminary matter from
-% the revised monthly.dtx package.}
-% \changes{v1.3}{1997/09/24}{Oops. Seem to have released without
-% completing the changes. File now works again. Converted to
-% package (from class) in the process.}
-% \changes{v1.4}{1997/10/18}{New public release of all styles
-% and modules incorporating global bug-fixes.}
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% timetabl.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:15:28 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 17:15:17 root
-% Release code
-%
-% Revision 2.5 1998/01/16 17:41:30 root
-% *** empty log message ***
-%
-% Revision 2.4 1998/01/15 10:20:31 root
-% Two typos: vline changed to vrule, and labelstrutbuf now
-% set using W, not the actual text.
-%
-% Revision 2.3 1997/11/26 07:49:48 bennett
-% Fixed typeface options, added footer, provided new option
-% to stretch label height, added color support.
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.4 1997/11/07 08:45:09 root
-% Added documentation for the new "notimes" option. Wrote
-% documentation notes for existing options that were unexplained.
-%
-% Revision 2.1.1.3 1997/11/07 08:11:13 root
-% Further changes to implement selective inclusion of times.
-% Fixed error in option definitions controlling typeface
-% selection.
-%
-% Revision 2.1.1.2 1997/11/07 03:23:22 root
-% Added code to suppress times in entries if desired.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 14:51:25 bennett
-% Release code.
-%
-% Revision 1.2 1997/10/29 19:54:57 bennett
-% Fixed error in RCS variable 1998/01/17 18:15:28 in the ProvidesPackage
-% declaration.
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-% \title{User's Guide to the Timetable
-% package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate{}.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \CheckSum{641}
-%
-% Please see the file \texttt{calguide.tex} for details on
-% the use of this package.
-%
-%\StopEventually{\PrintIndex}
-%
-% \subsection{The Package File}
-%
-% Load a bunch of useful code.
-%
-% \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{timetabl}
- [1998/01/17 18:15:28 3.1.1.1 Timetable (Frank Bennett)]
-% \end{macrocode}
-% Define a few boolean switches, which are needed to process
-% the style options.
-% \begin{macrocode}
-\newif\ifttbl@usecolor
-\newif\ifttbl@verbose
-% \end{macrocode}
-% Define some more variables and switches for use in the body
-% of the style.
-% \begin{macrocode}
-\newlength\ttbl@tablewidth
-\newlength{\ttbl@hw}
-\newlength{\ttbl@templen}
-\newlength{\ttbl@widthlessboxes}
-\newlength{\ttbl@timetextlen}
-\newtoks\ttbl@tempreg@a
-\newtoks\ttbl@tempreg@b
-\newcount\ttbl@tempcount
-\newcount\ttbl@start
-\newcount\ttbl@end
-\newcount\ttbl@minuteblocks
-\newcount\ttbl@boxes
-\newcount\ttbl@days
-\newcount\ttbl@blocks
-\newcount\ttbl@time@start
-\newcount\ttbl@time@end
-\newcount\ttbl@hours@start
-\newcount\ttbl@minutes@start
-\newcount\ttbl@hours@end
-\newcount\ttbl@minutes@end
-\newcount\ttbl@minute@base
-% \end{macrocode}
-%
-% \subsection{Options}
-%
-% We include the language support offered to all styles in the bundle.
-% \begin{macrocode}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-% \end{macrocode}
-%
-% \subsection{Option Postprocessing}
-%
-% Now that the options lists are available to us,
-% we can start loading packages. The following packages
-% are always loaded, and always with the same options.
-% \begin{macrocode}
-\RequirePackage{array}[1996/06/14]
-\RequirePackage{calendar}
-\RequirePackage{longtable}
-\RequirePackage{rotating}
-% \end{macrocode}
-% We get ready to set the dimensions
-% of the table that will contain the calendar??
-% \begin{macrocode}
- \def\ttbl@settablewidth{%
- \setlength{\ttbl@tablewidth}{\hsize}}%
-% \end{macrocode}
-% Turn off the listing of days in the Calendar style.
-% It only works well for monthly calendars.
-% \begin{macrocode}
-\tracingdates=0%
-% \end{macrocode}
-% Set up a list of options for the Calendar style engine
-% to use with the "keyval" parser.
-% \begin{macrocode}
-\define@key{opt}{leftspace}{\setlength{\LTleft}{#1}}
-\define@key{opt}{rightspace}{\setlength{\LTright}{#1}}
-\define@key{opt}{width}{\setlength{\ttbl@tablewidth}{#1}}
-\define@key{opt}{title}{\def\ttbl@title{#1}}
-\define@key{opt}{start}{\@settime\ttbl@start#1{}}
-\define@key{opt}{end}{\@settime\ttbl@end#1{}}
-\define@key{opt}{blockminutes}{\ttbl@minuteblocks=#1}
-\define@key{opt}{blocks}{\@setblocks#1,,{}}
-\define@key{opt}{labels}{\@extractlabels#1,,{}}
-\define@key{opt}{timeitemface}{\def\ttbl@timeitemface##1{{#1{##1}}}}
-\define@key{opt}{timelabelface}{\def\ttbl@timelabelface##1{{#1{##1}}}}
-\define@key{opt}{itemface}{\def\ttbl@itemface##1{{#1{##1}}}}
-\define@key{opt}{titleface}{\def\ttbl@titleface##1{{#1{##1}}}}
-\define@key{opt}{labelface}{\def\ttbl@labelface##1{{#1{##1}}}}
-\define@key{opt}{notimes}[f]{\@ttbl@usetimesfalse}
-\define@key{opt}{footer}{\def\ttbl@foot{#1}}
-\define@key{opt}{extralabelheight}{\ttbl@extralabelheight=#1}
-\newlength\ttbl@extralabelheight
-\newlength\ttbl@labelstrut%
-\newlength\ttbl@labelstrutbuf%
-% \end{macrocode}
-%
-% Before setting default values,
-% provide a set of parsing macros for use in scanning
-% some of the options fed to the "keyval" parser.
-% Doing this here allows us to specify the defaults in a
-% human readable syntax.
-%
-% \begin{macrocode}
-\def\@settime#1#2:#3#{%
- \ttbl@tempcount=#2%
- \multiply\ttbl@tempcount by60%
- \advance\ttbl@tempcount by#3%
- \global#1\ttbl@tempcount}
-\def\@splitblocks#1-#2#{%
- \def\@blockstarttext{#1}%
- \def\@blockendtext{#2}}
-\def\@setblocks#1,#2#{%
- \ifcat$#1$%
- \let\next\@gobble%
- \else%
- \let\next\@setblocks%
- \global\advance\ttbl@blocks by 1%
- \@splitblocks#1{}%
- \expandafter\@settime%
- \expandafter\ttbl@time@start\@blockstarttext{}%
- \expandafter\@settime%
- \expandafter\ttbl@time@end\@blockendtext{}%
- \let\ttbl@tempmac\ttbl@blocklist%
- \edef\ttbl@blocklist{%
- \ttbl@tempmac\the\ttbl@time@start-\the\ttbl@time@end,}%
- \fi%
- \next#2{}}
-\def\ttbl@chopblock#1-#2,#3#{%
- \global\ttbl@time@start=#1%
- \global\ttbl@time@end=#2%
- \gdef\ttbl@blocklist{#3}}%
-\def\ttbl@labellist{}%
-\def\@extractlabels#1,#2#{%
- \ifcat$#1$%
- \ttbl@tempreg@a=\expandafter{\ttbl@labellist}%
- \edef\ttbl@label##1{%
- \noexpand\ifcase##1\the\ttbl@tempreg@a\noexpand\fi}%
- \let\next\@gobble%
- \else%
- \let\next\@extractlabels%
- \let\ttbl@tempmac\ttbl@labellist%
- \expandafter\def%
- \expandafter\ttbl@labellist%
- \expandafter{%
- \ttbl@tempmac\or #1}%
- \fi%
- \next#2{}}
-% \end{macrocode}
-%
-% Set up default values for the "keyval" options.
-%
-% \begin{macrocode}
-\def\ttbl@title{Conference Schedule}
-\@settime\ttbl@start8:00{}
-\@settime\ttbl@end17:00{}
-\ttbl@minuteblocks=60%
-\def\ttbl@blocklist{}%
-\def\ttbl@label#1{\themonth\space\theday}%
-\def\ttbl@timeitemface#1{{\small{#1}}}%
-\def\ttbl@timelabelface#1{{\small\textbf{#1}}}%
-\def\ttbl@itemface#1{{\small\textit{#1}}}%
-\def\ttbl@titleface#1{{\large\textbf{#1}}}%
-\def\ttbl@labelface#1{{\textbf{#1}}}%
-\newif\if@ttbl@usetimes%
-\@ttbl@usetimestrue%
-\def\ttbl@foot{}%
-% \end{macrocode}
-%
-%
-% Define the calendar. As for all Calendar styles,
-% this is done using "\newcalendar" with 17 arguments.
-%
-% \begin{macrocode}
-\newcalendar%
-% \end{macrocode}
-%
-% Name the new calendar environment.
-%
-% \begin{macrocode}
-{timetable}
-% \end{macrocode}
-%
-% Select an off-the-shelf macro for printing
-% that will dump printable
-% items on DVI.
-%
-% \begin{macrocode}
-{\cal@insert}
-% \end{macrocode}
-%
-% Be indifferent to the starting day of the week.
-% ("0" through "6" specify Sunday through Saturday).
-%
-% \begin{macrocode}
-{7}
-% \end{macrocode}
-%
-% Set the number of items in a group (the whole timetable, in this case).
-%
-% \begin{macrocode}
-{\ttbl@boxes}
-% \end{macrocode}
-%
-% Set the number of items in a subgroup (a line, in this case).
-%
-% \begin{macrocode}
-{\ttbl@days}
-% \end{macrocode}
-%
-% Use the ampersand table separator before all items
-% but the first in a subgroup.
-%
-% \begin{macrocode}
-{&}
-% \end{macrocode}
-%
-% Select a zigzig algorithm that increments the
-% day at each item, and jumps back to the start
-% day at the end of each subgroup. The use of
-% "\ttbl@gettimes" here is unsightly, but for the time
-% being this gives us a way to sneak in a non-printing
-% calculation in advance of the first item in a new
-% subgroup.
-%
-% \begin{macrocode}
-{z\ttbl@gettimes}
-% \end{macrocode}
-%
-% Specify the header. This has to be built on the fly
-% in the Timetable style, since all of the sizes
-% are determined from user options. So just give the
-% name of the macro here.
-% \begin{macrocode}
-{\extrarowheight=3pt\ttbl@header}
-% \end{macrocode}
-%
-% Specify the tail of the table. Remember to terminate
-% landscape if it was requested.
-%
-% \begin{macrocode}
-{\\\hline\end{longtable}}%
-% \end{macrocode}
-%
-% This will never be used in this style, because our
-% text consists of a single group.
-%
-% \begin{macrocode}
-{\cal@footer\newpage\cal@header}
-% \end{macrocode}
-%
-% Specify how to break the end of a subgroup.
-% In this case, we end the table line and add
-% a time block that must be generated on the fly.
-%
-% \begin{macrocode}
-{\\\hline\ttbl@timecoltext}
-% \end{macrocode}
-%
-% Set a couple of Calendar toggles before
-% scanning the date contained in the "timetable"
-% environment.
-%
-% \begin{macrocode}
-{\dates@requiremonthtrue\dates@requiredaytrue}
-% \end{macrocode}
-%
-% "\cal@range@start", "\cal@range@end" and "\dates@date"
-% are all set internally, so we just provide information
-% here. Remember to adjust human-readable dates with
-% "\caldate" when changing "\dates@date", and
-% long dates with "\dates@fix" when adjusting
-% the human readable stuff.
-%
-% \begin{macrocode}
-{\message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date\cal@range@end%
- \caldate%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date\cal@range@start%
- \caldate%
-% \end{macrocode}
-%
-% \textit{Set the length of the conference in \texttt{ttbl@days}.}
-%
-% \begin{macrocode}
- \ttbl@days\cal@range@end%
- \advance\ttbl@days by-\cal@range@start%
- \advance\ttbl@days by1%
-% \end{macrocode}
-%
-% \textit{Set the number of boxes in a group. The number of
-% vertical blocks will already have been set if
-% the \texttt{blocks} option was used, so bypass that if
-% appropriate.}
-%
-% \begin{macrocode}
-\ifcat$\ttbl@blocklist$%
- \ttbl@blocks\ttbl@end%
- \advance\ttbl@blocks by-\ttbl@start%
- \divide\ttbl@blocks by\ttbl@minuteblocks%
-\fi%
-\ttbl@boxes\ttbl@blocks%
-\multiply\ttbl@boxes by\ttbl@days%
-% \end{macrocode}
-%
-% \textit{Prepare an algorithm to derive the start and
-% end time of a block from the value of the
-% counter \texttt{cal@group@count} and set values in
-% \texttt{ttbl@time@start}, \texttt{ttbl@time@end}
-% and \texttt{ttbl@timecoltext}.}
-%
-% \begin{macrocode}
- \def\ttbl@gettimes{%
- \ifcat$\ttbl@blocklist$%
- \ttbl@time@start\cal@group@count%
- \divide\ttbl@time@start by\ttbl@days%
- \multiply\ttbl@time@start by\ttbl@minuteblocks%
- \global\advance\ttbl@time@start by\ttbl@start%
- \ttbl@time@end\ttbl@time@start%
- \global\advance\ttbl@time@end by\ttbl@minuteblocks%
- \else%
- \expandafter\ttbl@chopblock\ttbl@blocklist-,{}%
- \fi%
- \mod{60}\ttbl@time@start\ttbl@minutes@start%
- \ttbl@hours@start\dates@three%
- \divide\ttbl@hours@start by60%
- \mod{60}\ttbl@time@end\ttbl@minutes@end%
- \ttbl@hours@end\dates@three%
- \divide\ttbl@hours@end by60%
- \ifnum\ttbl@minutes@start<10%
- \edef\ttbl@minutes@start@mac{0\the\ttbl@minutes@start}%
- \else%
- \edef\ttbl@minutes@start@mac{\the\ttbl@minutes@start}%
- \fi%
- \ifnum\ttbl@minutes@end<10%
- \edef\ttbl@minutes@end@mac{0\the\ttbl@minutes@end}%
- \else%
- \edef\ttbl@minutes@end@mac{\the\ttbl@minutes@end}%
- \fi%
- \xdef\ttbl@timecoltext{%
- \noexpand\vbox{\vfil\vskip4pt%
- \noexpand\begin{sideways}%
- \noexpand\ttbl@timelabelface{%
- \the\ttbl@hours@end:\ttbl@minutes@end@mac%
- $\noexpand\leftarrow$%
- \the\ttbl@hours@start:\ttbl@minutes@start@mac}%
- \noexpand\end{sideways}%
- \vfil}
- &}}%
-% \end{macrocode}
-%
-% \textit{Set the dimensions of the table. We don't have
-% to worry about the vertical dimensions; we leave that
-% to longtable.}
-%
-% \textit{First let the user know what we're planning to do.}
-%
-% \begin{macrocode}
-\ttbl@tablewidth\textwidth%
-\message{Package Timetable: %
- setting table \the\ttbl@tablewidth\space in width.^^J}%
-% \end{macrocode}
-%
-% \textit{The rules surrounding the first (time) column.}
-%
-% \begin{macrocode}
- \setlength{\ttbl@widthlessboxes}{2\arrayrulewidth}%
-% \end{macrocode}
-%
-% \textit{The rules at the end of the text columns.}
-%
-% \begin{macrocode}
- \addtolength{\ttbl@widthlessboxes}{\ttbl@days\arrayrulewidth}%
-% \end{macrocode}
-%
-% \textit{The space between the rules and the neighbouring text.}
-%
-% \begin{macrocode}
- \addtolength{\ttbl@widthlessboxes}{2\tabcolsep}%
- \setlength{\ttbl@templen}{2\tabcolsep}%
- \addtolength{\ttbl@widthlessboxes}{\ttbl@days\ttbl@templen}%
-% \end{macrocode}
-%
-% \textit{The width of the time text.}
-%
-% \begin{macrocode}
- \settoheight{\ttbl@timetextlen}{\ttbl@timelabelface{99:99--99:99}}%
- \settodepth{\ttbl@templen}{\ttbl@timelabelface{99:99--99:99}}%
- \addtolength{\ttbl@timetextlen}{\ttbl@templen}%
- \addtolength{\ttbl@widthlessboxes}{\ttbl@timetextlen}%
-% \end{macrocode}
-%
-% \textit{Everything else is for the text columns.}
-%
-% \begin{macrocode}
- \setlength{\ttbl@hw}{\ttbl@tablewidth}%
- \addtolength{\ttbl@hw}{-\ttbl@widthlessboxes}%
- \divide\ttbl@hw by\ttbl@days%
-% \end{macrocode}
-%
-% \textit{Prepare the macro that will generate a table
-% header with an appropriate number of columns
-% in appropriate sizes.}
-%
-% \textit{First we make up a unit in the width of the
-% time text, as determined above. We make that
-% the first chunk of the format.}
-%
-% \begin{macrocode}
-\edef\ttbl@firstunit{%
- m{\the\ttbl@timetextlen}%
- \noexpand|}%
-\ttbl@tempreg@a=\expandafter{\expandafter|\ttbl@firstunit}%
-% \end{macrocode}
-%
-% \textit{Then we make up a similar chunk, but with the
-% length of the day columns, and store it in a register.}
-%
-% \begin{macrocode}
-\edef\ttbl@dayunit{%
- m{\the\ttbl@hw}%
- \noexpand|}%
-\ttbl@tempreg@b=\expandafter{\ttbl@dayunit}%
-% \end{macrocode}
-%
-% \textit{Within a loop, we add the day unit format chunk
-% to the format string until we have a chunk for
-% each day in the conference.}
-%
-% \begin{macrocode}
-\ttbl@tempcount=1%
-\loop%
- \edef\ttbl@tempmac{\the\ttbl@tempreg@a\the\ttbl@tempreg@b}%
- \ttbl@tempreg@a=\expandafter{\ttbl@tempmac}%
-\ifnum\ttbl@tempcount<\ttbl@days%
- \advance\ttbl@tempcount by1%
-\repeat%
-% \end{macrocode}
-%
-% \textit{Within another loop, we build the labels.
-% This is inelegant, but it works. We maintain
-% two counters in the loop, since the macro "ttbl@label"
-% might be looking for a date or the column number.}
-% \begin{macrocode}
- \global\settoheight\ttbl@labelstrutbuf{\ttbl@labelface{W}}%
- \global\advance\ttbl@labelstrutbuf by\ttbl@extralabelheight\relax%
- \ifnum\ttbl@labelstrutbuf>\ttbl@labelstrut%
- \global\ttbl@labelstrut\ttbl@labelstrutbuf%
- \fi%
- \def\ttbl@labeltext{}%
- \dates@date=\cal@range@start%
- \caldate%
- \ttbl@tempcount=1%
- \ttbl@tempreg@b={}%
- \loop%
- \protected@edef\ttbl@labeltext{\the\ttbl@tempreg@b&%
- \noexpand\multicolumn{1}{c|}{%
- \noexpand\ttbl@labelface{%
- \ttbl@label{\ttbl@tempcount}}}}%
- \ttbl@tempreg@b=\expandafter{\ttbl@labeltext}%
- \ifnum\dates@date<\cal@range@end%
- \advance\dates@date by1%
- \caldate%
- \advance\ttbl@tempcount by1%
- \repeat%
-% \end{macrocode}
-%
-% \textit{Reset the starting date.}
-%
-% \begin{macrocode}
- \dates@date\cal@range@start%
- \caldate%
-% \end{macrocode}
-%
-% \textit{Then we put the rest of the basic header
-% stuff around the string. We use \texttt{protected@edef}
-% so that robust commands can be used in the title and
-% the labels. Note the conditional use of "landscape".}
-%
-% \begin{macrocode}
- \ttbl@tempcount\ttbl@days%
- \advance\ttbl@tempcount by1%
- \protected@edef\ttbl@header{%
- \noexpand\begin{longtable}{\the\ttbl@tempreg@a}%
- \noexpand\multicolumn{\ttbl@tempcount}{c}%
- {\noexpand\ttbl@titleface{\ttbl@title}}%
- \noexpand\\\noexpand\hline%
- \noexpand\vrule width0pt depth 0pt height\ttbl@labelstrut\relax%
- \the\ttbl@tempreg@b\noexpand\\%
- \noexpand\hline\noexpand\hline\noexpand\endhead%
- \ifcat$\ttbl@foot$\else%
- \noexpand\multicolumn{\ttbl@tempcount}{l}%
- {\noexpand\ttbl@foot}\noexpand\\%
- \noexpand\endfoot%
- \fi%
- \noexpand\ttbl@timecoltext}}%
-% \end{macrocode}
-%
-% Specify the divider to be placed between entries
-% within a time\-table box.
-%
-% \begin{macrocode}
-{\par\medskip}%
-% \end{macrocode}
-%
-% Use the standard Calendar item-fetching macros to
-% grab classes of items. We only need appointments
-% (things with a time associated with them) in this case,
-% and we specify the range of the current box to
-% limit the entries that are grabbed for current use.
-%
-% \begin{macrocode}
-{\cal@get@appointments[\ttbl@time@start/\ttbl@time@end]}%
-% \end{macrocode}
-%
-% Prepare macro text that will set the text to
-% "\longtext" on the first entry, and "\shorttext"
-% with braces thereafter. If no "\longtext"
-% exists, use the "\shorttext" for everything.
-%
-% \begin{macrocode}
-{\relax%
- \ifnum\dates@time@start>0\relax%
-% \end{macrocode}
-%
-% \textit{We print a short entry for anything that starts
-% outside the slot we are dealing with.}
-%
-% \begin{macrocode}
- \ifnum\dates@time@start<\ttbl@time@start%
- \protected@edef\cal@entry@text{%
- \noexpand\cal@textcolor{\calcolor}{%
- \noexpand\ttbl@itemface{%
- \noexpand$\noexpand<\noexpand$%
- \theshorttext\if@ttbl@usetimes, to \cal@appt@end@text\fi%
- \noexpand$\noexpand>\noexpand$}}}%
-% \end{macrocode}
-%
-% \textit{All other conforming entries get the long text.}
-%
-% \begin{macrocode}
- \else%
- \ifnum\dates@time@start<\dates@time@end%
- \protected@edef\cal@entry@text{%
- \if@ttbl@usetimes%
- \noexpand\ttbl@timeitemface{%
- \cal@appt@start@text%
- --%
- \cal@appt@end@text}%
- \space%
- \fi%
- \noexpand\cal@textcolor{\calcolor}{%
- \noexpand\ttbl@itemface{%
- \thelongtext}}}%
- \else%
- \protected@edef\cal@entry@text{%
- \if@ttbl@usetimes%
- \noexpand\ttbl@timeitemface{%
- \cal@appt@start@text}%
- \space%
- \fi%
- \noexpand\cal@textcolor{\calcolor}{%
- \noexpand\ttbl@itemface{%
- \thelongtext}}}%
- \fi%
- \fi%
- \fi}%
-% \end{macrocode}
-%
-% Chuck the assembled stack of appointments into
-% the box.
-%
-% \begin{macrocode}
-{\theappointments}
-% \end{macrocode}
-%</package>
-%
-%\iffalse
-%
-% \section{The Installation File}
-%
-% \begin{macrocode}
-%<*installer>
-\def\batchfile{timetabl.ins}
-\input docstrip.tex
-\keepsilent
-\preamble
-This file is part of the Calendar package,
-Copyright (C) 1996-1997 by Frank Bennett, Jr.
-All rights reserved.
-------------------------------------------
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author of this file in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk. Better yet, make a contribution to
-% my pension. Account details available on request.
-%
-\endpreamble
-
-\generate{\file{timetabl.sty}{\from{timetabl.dtx}{package}}
- }
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation, you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space timetabl.sty}
-\Msg{*}
-\Msg{***********************************************************}
-
-%</installer>
-% \end{macrocode}
-%\fi
-% \Finale \PrintChanges
-
-
-
diff --git a/Master/texmf-dist/source/latex/calendar/weekly.dtx b/Master/texmf-dist/source/latex/calendar/weekly.dtx
deleted file mode 100644
index 26b190ce037..00000000000
--- a/Master/texmf-dist/source/latex/calendar/weekly.dtx
+++ /dev/null
@@ -1,491 +0,0 @@
-%\iffalse
-%
-% file: weekly.dtx
-% Copyright (C) 1996-1997 by Frank Bennett. All rights reserved.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. You may however copy
-% this file to a file with a different name and then change the
-% copy if (a) you do not charge for the modified code, (b) you
-% acknowledge the author of this file in the new file, if it
-% is distributed to others, and (c) you attach these same
-% conditions to the new file.
-%
-% You are not allowed to distribute this file alone. You are not
-% allowed to take money for the distribution or use of this file
-% (or a changed version) except for a nominal charge for copying
-% etc.
-%
-% You are allowed to distribute this file under the condition that
-% it is distributed with all of its contents, intact.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk. Better yet, make a contribution to
-% my pension. Account details available on request.
-%
-%\fi
-%
-% \def\fileversion{3.1.1.1}
-% \def\filedate{1998/01/17 18:15:32}
-%
-% \iffalse
-%
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{weekly.dtx}
-\end{document}
-%</driver>
-%\fi
-%
-% \changes{v1.0}{1997/10/18}{New public release of all styles
-% and modules incorporating global bug-fixes.}
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% weekly.dtx,v
-% Revision 3.1.1.1 1998/01/17 18:15:32 root
-% Release code, checksum verified
-%
-% Revision 3.1 1998/01/17 17:15:28 root
-% Release code
-%
-% Revision 2.4 1998/01/16 17:07:54 root
-% *** empty log message ***
-%
-% Revision 2.3 1997/12/06 09:52:13 root
-% Moved documentation to calguide.tex.
-%
-% Revision 2.2 1997/11/07 10:44:05 root
-% Release code.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 14:50:12 bennett
-% Release code.
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-% \title{User's Guide to the Weekly Calendar
-% package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate{}.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \CheckSum{343}
-%
-% \section{Brief Introduction}
-%
-% Please see the file \texttt{calguide.tex} for documentation
-% on this calendar style.
-%
-% \StopEventually{\PrintIndex}
-%
-% \section{The Class File}
-%
-% \subsection{Preliminaries}
-%
-% Use \LaTeXe, and tell the user who we are.
-%
-% \begin{macrocode}
-%<*class>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesClass{weekly}
- [1998/01/17 18:15:32 3.1.1.1 Weekly Calendar (Frank Bennett)]
-% \end{macrocode}
-% Define a boolean switch needed to process
-% the style options.
-% \begin{macrocode}
-\newif\ifwk@usecolor
-% \end{macrocode}
-% Define some more variables and switches for use in the body
-% of the style.
-% \begin{macrocode}
-\newif\ifwk@overthetop
-\newcount\wk@firstday
-\newcount\wk@tempcount
-\newlength\wk@itemheight
-\parindent=0pt
-% \end{macrocode}
-%
-% \subsection{Options}
-%
-% Things like page and type size go to the article class.
-% \begin{macrocode}
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
-% \end{macrocode}
-% We use the generic language options, the same as other parts
-% of the system.
-% \begin{macrocode}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-% \end{macrocode}
-%
-% \subsection{Option Postprocessing}
-%
-% Now that the options lists are available to us,
-% we can start loading packages. The following packages
-% are always loaded.
-% \begin{macrocode}
-\LoadClass{article}
-\RequirePackage{calendar}
-\RequirePackage{lscape}
-\RequirePackage{multicol}
-\RequirePackage{autofilo}
-\multicolsep=0pt\relax
-% \end{macrocode}
-% It is now time to do the final page formatting.
-% \begin{macrocode}
-\AtBeginDocument{%
-% \end{macrocode}
-% Eliminate page numbers and indenting.
-% \begin{macrocode}
- \pagestyle{empty}
- \parindent=0pt}
-% \end{macrocode}
-%
-% \subsection{Calendar Setup}
-%
-% Define some key values for use by the calendar environment.
-% \begin{macrocode}
-\define@key{opt}{firstday}{%
- \wk@firstday=#1}
-% \end{macrocode}
-% Define default values for the environment keys.
-% \begin{macrocode}
-\wk@firstday=5%
-% \end{macrocode}
-% We declare eight boxes, one for each day of the
-% week plus an extra.
-% \begin{macrocode}
-\wk@tempcount=0
-\expandafter\newsavebox\csname wk@box\the\wk@tempcount\endcsname
-\loop\advance\wk@tempcount by1\relax
-\ifnum\wk@tempcount<8
- \expandafter\newsavebox\csname wk@box\the\wk@tempcount\endcsname
-\repeat
-% \end{macrocode}
-% We need a macro to lay the boxes out on a page. We define
-% this now, with parameterized measurements that will be
-% determined by the settings given to the environment within
-% which this expands.
-% \begin{macrocode}
-\def\wk@spitoutboxes{%
- \wk@tempcount=-1\relax%
- \loop\advance\wk@tempcount by1\relax%
- \ifnum\wk@tempcount<3\relax%
- \hbox to\linewidth{%
- \expandafter\usebox\csname wk@box\the\wk@tempcount\endcsname}%
- \repeat%
- \hbox to\linewidth{\vbox to\wk@itemheight{%
- \hrule width\linewidth height0.4pt depth0pt%
- \hbox to\linewidth{\hfil}\vfill}}%
- \wk@tempcount=2\relax%
- \loop\advance\wk@tempcount by1\relax%
- \ifnum\wk@tempcount<7\relax%
- \hbox to\linewidth{%
- \expandafter\usebox\csname wk@box\the\wk@tempcount\endcsname}%
- \repeat}%
-% \end{macrocode}
-% \textit{We define a macro that calculates the height of the date boxes.
-% The value of \cs{normallineskip} sneaks in between
-% stacked \cs{hbox}es, so we need to account for that.}
-% \begin{macrocode}
-\def\wk@getitemheight{%
- \setlength\wk@itemheight\textheight\relax%
- \addtolength\wk@itemheight{-4pt}%
- \addtolength\wk@itemheight{-5\normallineskip}%
- \divide\wk@itemheight by4\relax}%
-% \end{macrocode}
-%
-% \subsection{Calendar Definition}
-%
-% The calendar definition itself consists of a single command
-% and its associated arguments.
-% \begin{macrocode}
-\newcalendar%
-% \end{macrocode}
-% We give the environment a name.
-% \begin{macrocode}
-{weekly}
-% \end{macrocode}
-% We're producing DVI, so we use the standard
-% macro for dropping text into the hopper.
-% \begin{macrocode}
-{\cal@insert}
-% \end{macrocode}
-% Starting day for the calendar is not fixed here,
-% because we don't pad with blank entries. Season to taste.
-% Use integers "0" through "6". A value over 7 means no padding.
-% \begin{macrocode}
-{8}
-% \end{macrocode}
-% The length of a group is one day.
-% \begin{macrocode}
-{7}
-% \end{macrocode}
-% The length of a subgroup is seven days.
-% \begin{macrocode}
-{7}
-% \end{macrocode}
-% We don't need delimiters between output items, since
-% we're just building boxes.
-% \begin{macrocode}
-{\relax}
-% \end{macrocode}
-% Increment the date counter with every item.
-% \begin{macrocode}
-{I}
-% \end{macrocode}
-% Define the header.
-% \begin{macrocode}
-{\expandafter\autofilo\expandafter{\cal@optionslist}\wk@getitemheight}
-% \end{macrocode}
-% We define the end of the calendar. This spits out
-% all of the boxes one last time, and closes the page
-% formatting environment.
-% \begin{macrocode}
-{\wk@spitoutboxes\endautofilo}
-% \end{macrocode}
-% We define a way to open a new group. In this case,
-% we just relax.
-% \begin{macrocode}
-{\wk@spitoutboxes}
-% \end{macrocode}
-% We define the way to end a subgroup. This spits out
-% all of the boxes built for a page of text.
-% \begin{macrocode}
-{\relax}
-% \end{macrocode}
-% We set up to require a month and day in the environment typed
-% into the user's document.
-% \begin{macrocode}
-{\dates@requiremonthtrue\dates@requiredaytrue}
-% \end{macrocode}
-% The next section runs after the calendar dates have been
-% scanned from the environment, but before the table is
-% opened.
-% \textit{We step back, if necessary, from the designated
-% first date to reach the starting day for pages. (Default
-% is Friday.)}
-%
-% \begin{macrocode}
-{\global\dates@date\cal@range@start%
- \prevday\wk@firstday%
- \cal@range@start\dates@date%
- \caldate%
-% \end{macrocode}
-% \textit{We tell the user where we're starting.}
-% \begin{macrocode}
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
-% \end{macrocode}
-% \textit{Then we jump forward, again if necessary,
-% to the next day just before the starting day of
-% the week.}
-% \begin{macrocode}
- \global\dates@date\cal@range@end%
- \caldate%
- \advance\wk@firstday by-1%
- \ifnum\wk@firstday=7\wk@firstday=0\fi%
- \nextday\wk@firstday%
- \caldate%
- \cal@range@end\dates@date%
-% \end{macrocode}
-% \textit{We let the user know where we plan to stop.}
-% \begin{macrocode}
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
-% \end{macrocode}
-% \textit{We jump back to the starting date and reset the
-% human-side values.}
-% \begin{macrocode}
- \global\dates@date=\cal@range@start%
- \caldate}%
-% \end{macrocode}
-% Events are delimited by \cs{par}.
-% \begin{macrocode}
-{\par}%
-% \end{macrocode}
-% The next argument is dropped on DVI for each item.
-% We use it here to fetch the text of appointments and
-% events to the standard list macros, using the
-% standard text-fetching commands. Each generates a
-% stack delimited by the phrase that was set above.
-% \begin{macrocode}
-{\cal@get@appointments\cal@get@events}%
-% \end{macrocode}
-% This sets \cs{cal@entry@text}. It is executed for every
-% event or appointment in the database that applies
-% to a given item. We differentiate between whole-day events,
-% pinpointed events and ranged events.
-% \begin{macrocode}
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start=\dates@time@end%
- \protected@edef\cal@entry@text{%
- \thetimestart\space%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \else%
- \protected@edef\cal@entry@text{%
- \thetimestart--\thetimeend\space%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \fi%
- \else%
- \protected@edef\cal@entry@text{%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \fi}%
-% \end{macrocode}
-% Finally we tell the style how to create the
-% text for each item.
-% We stash the text in each of the numbered boxes,
-% for extraction at the end of each group and at the
-% end of the run. In the event of an overfull \cs{vbox}, we
-% retry with two columns of text in a last-ditch attempt
-% to squeze everything in.
-% \begin{macrocode}
-{\global\wk@overthetopfalse%
- \expandafter\sbox\csname wk@box\the\cal@subgroup@count\endcsname{%
- \vbox to\wk@itemheight{\hbox{\parbox{\linewidth}{%
-\hrule width\linewidth%
-\vskip1pt\relax%
-\ifnum\cal@subgroup@count<3\relax%
- \textbf{\theweekday\hfill%
- \theday\space\themonth\space\theyear}\par%
-\else%
- \textbf{\theday\space\themonth\space\theyear\hfill%
- \theweekday}\par%
-\fi%
-\vskip0.5pt\relax%
-\hrule width\linewidth%
-\vskip1pt\relax%
- \raggedright\small%
- \ifcat$\theevents$%
- \else%
- \theevents\par%
- \fi%
- \ifcat$\theappointments$%
- \else%
- \theappointments%
- \fi}% parbox
-}% hbox
-\vfill}% vbox
-\ifnum\badness=1000000\relax\global\wk@overthetoptrue\fi%
-}% sbox
-\ifwk@overthetop%
- \message{Resetting this date in two-columns.}%
-\expandafter\sbox\csname wk@box\the\cal@subgroup@count\endcsname{%
- \vbox to\wk@itemheight{\hbox{\parbox{\linewidth}{%
-\hrule width\linewidth%
-\vskip1pt\relax%
-\ifnum\cal@subgroup@count<3\relax%
- \textbf{\theweekday\hfill%
- \theday\space\themonth\space\theyear}\par%
-\else%
- \textbf{\theday\space\themonth\space\theyear\hfill%
- \theweekday}\par%
-\fi%
-\vskip0.5pt\relax%
-\hrule width\linewidth%
-\vskip1pt\relax%
- \raggedright\small%
- \begin{multicols}{2}%
- \ifcat$\theevents$%
- \else%
- \theevents\par%
- \fi%
- \ifcat$\theappointments$%
- \else%
- \theappointments%
- \fi%
- \end{multicols}%
-}% parbox
-}% hbox
-\vfill}% vbox
-}% sbox
-\fi%
- \advance\wk@tempcount by1\relax%
- \ifnum\wk@tempcount>6\relax%
- \wk@tempcount=0\relax%
- \fi}
-%</class>
-% \end{macrocode}
-%
-%\iffalse
-% \begin{macrocode}
-%<*installer>
-\def\batchfile{weekly.ins}
-\input docstrip.tex
-
-\keepsilent
-
-\preamble
-This file is part of the Calendar package,
-Copyright (C) 1996, 1997 Frank Bennett, Jr.
-All rights reserved.
-------------------------------------------
-
-IMPORTANT NOTICE:
-
-You are not allowed to change this file. You may however copy
-this file to a file with a different name and then change the
-copy if (a) you do not charge for the modified code, (b) you
-acknowledge the author of this file in the new file, if it
-is distributed to others, and (c) you attach these same
-conditions to the new file.
-
-You are not allowed to distribute this file alone. You are not
-allowed to take money for the distribution or use of this file
-(or a changed version) except for a nominal charge for copying
-etc.
-
-You are allowed to distribute this file under the condition that
-it is distributed with all of its contents, intact.
-
-For error reports, or offers to help make this a more powerful,
-friendlier, and altogether more thrilling package, please contact me on
-fb@soas.ac.uk. Better yet, make a contribution to
-my pension. Account details available on request.
-------------------------------------------
-
-\endpreamble
-
-\generate{\file{weekly.cls}{\from{weekly.dtx}{class}}
- }
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation, you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space weekly.sty}
-\Msg{*}
-\Msg{***********************************************************}
-
-%</installer>
-% \end{macrocode}
-%\fi
-% \Finale \PrintChanges
-
-
-
-
-
diff --git a/Master/texmf-dist/source/latex/calendar/yearly.dtx b/Master/texmf-dist/source/latex/calendar/yearly.dtx
deleted file mode 100644
index ea01432c9df..00000000000
--- a/Master/texmf-dist/source/latex/calendar/yearly.dtx
+++ /dev/null
@@ -1,340 +0,0 @@
-%\iffalse
-%
-% File yearly.dtx
-% Copyright (C) 1996 by Frank Bennett. All rights reserved.
-%
-% This sub-package is provided for demonstration
-% purposes. Please feel free to edit it in any way whatsoever,
-% but do not distribute it in an altered condition to others
-% without permission.
-%
-% For error reports, or offers to help make this a more powerful,
-% friendlier, and altogether more thrilling package, please contact me on
-% fb@soas.ac.uk
-%
-%<*dtx>
- \ProvidesFile{yearly.dtx}
-%</dtx>
-%<style,class>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-%<style>\ProvidesPackage{yearly}
-%<style> [1997/11/06 07:33:21 2.1.1.6 Trivial yearly calendar (Frank Bennett)]
-% \fi
-%
-% \def\fileversion{2.1.1.6}
-% \def\filedate{1997/11/06 07:33:21}
-%
-%
-% \iffalse
-%<*driver>
-\documentclass{ltxdoc}
-%\CodelineIndex
-%\EnableCrossrefs
-\begin{document}
-\OnlyDescription % Comment out for implementation details
-\DocInput{yearly.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \changes{v1.0}{1996/12/26}{Initial Version}
-% \changes{v1.1}{1997/10/18}{New public release of all styles
-% and modules incorporating global bug-fixes.}
-%
-%\iffalse
-% Source tree moved under RCS
-% ---------------------------
-% yearly.dtx,v
-% Revision 2.1.1.6 1997/11/06 07:33:21 root
-% Changed \yrly@theweekday to \theweekday.
-%
-% Revision 2.1.1.5 1997/11/06 07:31:25 root
-% Changed erroneous reference to \mon@firstday to
-% \yrly@firstday
-%
-% Revision 2.1.1.4 1997/11/06 07:30:04 root
-% Added declaration of \yrly@firstday
-%
-% Revision 2.1.1.3 1997/11/06 07:27:56 root
-% Second round of changes necessary to hook up the three new
-% options.
-%
-% Revision 2.1.1.2 1997/11/06 07:19:47 root
-% First draft of changes to introduce firstday, labels and
-% title options.
-%
-% Revision 2.1.1.1 1997/11/04 05:06:07 root
-% Development branch
-%
-% Revision 2.1 1997/11/01 14:43:45 bennett
-% Release code.
-%
-% Revision 1.3 1997/10/29 20:15:54 bennett
-% *** empty log message ***
-%
-% Revision 1.2 1997/10/29 15:41:56 root
-% Globalized assignments to dates@date, dates@day and dates@month.
-% Apparently save size overflow problems persist with the demo
-% of this style on small systems. Drat.
-%
-% Revision 1.1 1997/10/29 08:17:52 root
-% Initial revision
-%
-%\fi
-%
-% \title{User's Guide to the Yearly Calendar package\thanks{This file is version number
-% \fileversion{}. It was last revised on
-% \filedate{}.}}
-%
-% \author{Frank G. Bennett, Jr.}
-%
-% \maketitle
-%
-% \setcounter{StandardModuleDepth}{1}
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\"}
-%
-% \begin{abstract}
-% \noindent This package makes a yearly calendar
-% on one side of A4.
-% \end{abstract}
-%
-%
-% \CheckSum{171}
-%
-% Please see the file \texttt{calguide.tex} for documentation
-% on this calendar style.
-%
-%\StopEventually{\PrintIndex}
-%
-% \section{The Macros}
-% We use the usual language options.
-% \begin{macrocode}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-% \end{macrocode}
-% Load some useful code.
-% \begin{macrocode}
-%<*style>
-\RequirePackage{calendar}
-% \end{macrocode}
-% Define some key values for use by the calendar environment.
-% \begin{macrocode}
-\define@key{opt}{title}{%
- \def\yrly@title{#1}}
-\define@key{opt}{labels}{%
- \@storelabels#1,,{}}
-\define@key{opt}{firstday}{%
- \yrly@firstday=#1}
-\def\yrly@title{\theyear}
-\newcount\yrly@firstday
-\yrly@firstday=0\relax
-% \end{macrocode}
-% Define a utility macro for use by the \texttt{labels} key.
-% This stores a comma-delimited list of labels to a single
-% macro, which can then be used as a line in the table
-% environment that makes up the calendar.
-% \begin{macrocode}
-\newtoks\yrly@tempreg@a
-\newcount\yrly@tempcount
-\def\@storelabels{%
- \def\yrly@labeltext{}%
- \@@storelabels}
-\def\@@storelabels#1,#2#{%
- \ifcat$#1$%
- \yrly@tempreg@a=\expandafter\expandafter\expandafter{%
- \expandafter\@gobble\yrly@labeltext}%
- \edef\yrly@labeltext{\the\yrly@tempreg@a}%
- \let\next\@gobble%
- \else%
- \let\next\@@storelabels%
- \yrly@tempreg@a=\expandafter{\yrly@labeltext}%
- \protected@edef\yrly@labeltext{\the\yrly@tempreg@a&#1}%
- \fi%
- \next#2{}}
-% \end{macrocode}
-% The environment is defined using "\newcalendar" and 17 arguments.
-% \begin{macrocode}
-\newcalendar%
-% \end{macrocode}
-% The name to be used in calling the calendar style.
-% \begin{macrocode}
- {yearly}
-% \end{macrocode}
-% A command or group of commands used to print. This should end in a command
-% that takes one argument.
-% If we're making DVI,
-% we need to use the command "\cal@insert" to strip away the braces that surround this
-% in the Calendar style internals.
-% \begin{macrocode}
- {\cal@insert}
-% \end{macrocode}
-% First day.
-% This is expressed as an integer.
-% Sunday is "0", Saturday is "6". Set this to "7" or more to
-% start the calendar and each line without any padding to
-% line up the day of the week.
-% \begin{macrocode}
- {\yrly@firstday}
-% \end{macrocode}
-% Group Length.
-% This is an integer, or a macro that expands to an integer.
-% The table generator will increment a group counter by 1
-% each time a new ``item'' is output. It is set to 0 every
-% time a new group is started.
-%
-% \begin{macrocode}
- {\dates@days}
-% \end{macrocode}
-% Subgroup length.
-% This may be an integer or a macro that expands to an integer.
-% The table generator will increment a subgroup counter by 1
-% each time a new ``item'' is output. It is set to 0 every
-% time a new subgroup is started.
-% \begin{macrocode}
- {7}
-% \end{macrocode}
-% Item separator.
-% The item separator is placed before every item in the table
-% but the first in a subgroup.
-% \begin{macrocode}
- {&}
-% \end{macrocode}
-% Increment event.
-% The date can be incremented after every item, every subgroup
-% or every group. The letters I, S and G carry these meanings,
-% respective.
-% \begin{macrocode}
- {I}
-% \end{macrocode}
-% Calendar header.
-% Text to issue at the start of a calendar.
-% You can call on this elsewhere under the nickname
-% "\cal@header"
-% \begin{macrocode}
- {\begin{tabular}[t]{ccccccc}%
- \multicolumn{7}{c}{\textbf{\themonth}}\\\hline%
- \yrly@labeltext\\\hline}%
-% \end{macrocode}
-%
-% \subsubsection{Calendar Footer}
-% Commands and text for the end of the calendar. You
-% can call on this in other macros as "\cal@footer".
-%
-% \begin{macrocode}
- {\end{tabular}}
-% \end{macrocode}
-%
-% \subsubsection{Group Break}
-% This is issued at the end of every group but the last.
-%
-% \begin{macrocode}
- {\cal@footer%
- \ifodd\thumbnails%
- \\%
- \else%
- \rule{0.25in}{0pt}%
- \fi%
- \advance\thumbnails by 1%
- \cal@header}
-% \end{macrocode}
-%
-% \subsubsection{Sub-group Break}
-% This is issed at the end of every subgroup but the last
-% one in a calendar or a group.
-%
-% \begin{macrocode}
- {\\}
-% \end{macrocode}
-%
-% \subsubsection{Range Initialization}
-% Preliminary macros to run before scanning the
-% overall range go here.
-%
-% \begin{macrocode}
- {}
-% \end{macrocode}
-%
-% \subsubsection{Range Postprocessing}
-% These commands massage the date scanned for use in the
-% current calendar.
-%
-% \begin{macrocode}
- {\global\dates@month=1%
- \global\dates@day=1%
- \dates@fix%
- \cal@range@start\dates@date%
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@month=12%
- \global\dates@day=31%
- \dates@fix%
- \caldate%
- \cal@range@end\dates@date%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date=\cal@range@start%
- \caldate%
- \addtolength{\tabcolsep}{-0.5\tabcolsep}%
- \newcount\thumbnails%
- \@ifundefined{yrly@labeltext}{%
- \def\yrly@defaultlabels{}%
- \yrly@tempcount=1%
- \global\advance\dates@date by-\dates@weekd%
- \global\advance\dates@date by\yrly@firstday%
- \caldate%
- \loop%
- \yrly@tempreg@a=\expandafter{\yrly@defaultlabels}%
- \edef\yrly@defaultlabels{\the\yrly@tempreg@a\theshortweekday,}%
- \ifnum\yrly@tempcount<7%
- \global\advance\dates@date by1%
- \caldate%
- \advance\yrly@tempcount by 1\relax%
- \repeat%
- \expandafter\@storelabels\yrly@defaultlabels,,{}%
- \dates@date\cal@range@start%
- \caldate}%
- {}%
- \yrly@title\par\bigskip}%
-% \end{macrocode}
-%
-% \subsubsection{Entry Separator}
-% This is placed before every entry but the first in a list.
-%
-% \begin{macrocode}
- {}%
-% \end{macrocode}
-%
-% \subsubsection{Item Initialization}
-% Commands that set registers and perform other non-printable
-% operations on a date by date basis should go here. This can be used to prepare
-% chunks of extractable text to place in a calendar that
-% is not being sent to DVI output.
-%
-% \begin{macrocode}
- {\getanycolor}%
-% \end{macrocode}
-%
-% \subsubsection{Entry Initialization}
-% Commands that are dumped on DVI to define the
-% macro "\cal@entry@text" for every event entry
-% that matches the conditions, if any, given to
-% "\cal@get@appointments" or "\cal@get@events".
-% The content of this macro is then assembled with
-% other matching items in "\theappointments"
-% and "\theevents", so that it can be dropped
-% into the Item Text field as literal text. And
-% voil\`a, we can write HTML in \LaTeX.
-%
-% \begin{macrocode}
- {}%
-% \end{macrocode}
-%
-% \subsubsection{Item Text}
-% And at last, that note we've been looking for!
-%
-% \begin{macrocode}
- {\cal@textcolor{\calcolor}{\theday}}
-%</style>
-% \end{macrocode}
-% \Finale \PrintChanges
diff --git a/Master/texmf-dist/tex/latex/calendar/autofilo.sty b/Master/texmf-dist/tex/latex/calendar/autofilo.sty
deleted file mode 100644
index 49f52863ee6..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/autofilo.sty
+++ /dev/null
@@ -1,395 +0,0 @@
-%%
-%% This is file `autofilo.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% autofilo.dtx (with options: `style')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{autofilo}
- [1997/12/05 12:14:08 2.4 Filofax page outlines (Frank Bennett)]
-\newif\if@usequadruplecolumn
-\DeclareOption{fourcolumn}{\@usequadruplecolumntrue}
-\ProcessOptions
-\RequirePackage{lscape}
-\RequirePackage{keyval}
-\newif\if@quadruplecolumn
-\newbox\@leftleftcolumn
-\newbox\@leftrightcolumn
-\newbox\@rightleftcolumn
-\newbox\@rightrightcolumn
-\newcount\af@punchcluster
-\newcount\af@punchgroups
-\newlength\af@interspace
-\newlength\af@intraspace
-\newlength\af@grip
-\newlength\af@punchmargin
-\newcount\af@punchsize
-\newlength\af@punchwidth
-\newlength\af@halfpunchwidth
-\newcount\af@subtempcount
-\newcount\af@tempcount
-\newlength\af@textwidth
-\newlength\af@marginrel
-\newlength\af@halftextwidth
-\newlength\af@textheight
-\newlength\af@topmargin
-\newlength\af@bottommargin
-\newcount\col@no
-\newlength\af@jawspread
-\newlength\af@halfjawspread
-\newlength\af@jawline
-\def\quadruplecolumn{%
- \clearpage
- \global\columnwidth\textwidth
- \global\advance\columnwidth-3\columnsep
- \global\divide\columnwidth by4\relax
- \global\hsize\columnwidth
- \global\linewidth\columnwidth
- \global\@twocolumntrue
- \global\@quadruplecolumntrue
- \global\@firstcolumntrue
- \col@number=4\relax}
-\def \@opcol {%
- \if@twocolumn
- \if@quadruplecolumn
- \@outputqdrplcol
- \else
- \@outputdblcol
- \fi
- \else
- \@outputpage
- \fi
- \global \@mparbottom \z@ \global \@textfloatsheight \z@
- \@floatplacement}
-\def\@outputqdrplcol{%
- \ifcase\col@no
- \global\@firstcolumnfalse
- \global \setbox\@leftleftcolumn \box\@outputbox
- \or
- \global \setbox\@leftrightcolumn \box\@outputbox
- \or
- \global \setbox\@rightleftcolumn \box\@outputbox
- \or
- \global \@firstcolumntrue
- \global\setbox\@rightrightcolumn\box\@outputbox
- \setbox\@outputbox \vbox to\textwidth{%
- \hb@xt@\textheight {%
- \vrule height\columnwidth depth0pt width0pt
- \box\@rightrightcolumn \hss}%
- \vfill
- \hrule \@width\columnseprule
- \vfill
- \hb@xt@\textheight {%
- \vrule height\columnwidth depth0pt width0pt
- \box\@rightleftcolumn \hss}%
- \vfill
- \hrule \@width\columnseprule
- \vfill
- \hb@xt@\textheight {%
- \vrule height\columnwidth depth0pt width0pt
- \box\@leftrightcolumn \hss}%
- \vfill
- \hrule \@width\columnseprule
- \vfill
- \hb@xt@\textheight {%
- \box\@leftleftcolumn \hss}%
- }%
- \@combinedblfloats
- \@outputpage
- \begingroup
- \@dblfloatplacement
- \@startdblcolumn
- \@whilesw\if@fcolmade \fi
- {\@outputpage
- \@startdblcolumn}%
- \endgroup
- \fi
- \global\advance\col@no by1\relax
- \ifnum\col@no=4\relax\global\col@no=0\fi}
-\def\@outputdblcol{%
- \if@firstcolumn
- \global \@firstcolumnfalse
- \global \setbox\@leftcolumn \box\@outputbox
- \else
- \global \@firstcolumntrue
- \setbox\@outputbox \vbox to\textwidth{%
- \hbox to\textheight{%
- \box\@outputbox}%
- \vfil
- \hrule \@width\columnseprule
- \vfil
- \hbox to\textheight{%
- \box\@leftcolumn}}%
- \@combinedblfloats
- \@outputpage
- \begingroup
- \@dblfloatplacement
- \@startdblcolumn
- \@whilesw\if@fcolmade \fi
- {\@outputpage
- \@startdblcolumn}%
- \endgroup
- \fi
-}
-\def\af@circle{\hbox{\hskip\af@halfpunchwidth%
- \ifnum\af@jawspread>0\relax%
- \hskip-\af@halfjawspread%
- \hskip-\af@jawline%
- \vrule depth\af@halfpunchwidth%
- height\af@halfpunchwidth%
- width\af@jawline%
- \hskip\af@halfjawspread%
- \else%
- \vrule depth\af@halfpunchwidth%
- height\af@halfpunchwidth%
- width0pt%
- \fi%
- \circle{\af@punchsize}%
- \hskip-\af@punchwidth%
- \ifnum\af@jawspread>0\relax%
- \hskip\af@halfjawspread%
- \vrule depth\af@halfpunchwidth%
- height\af@halfpunchwidth
- width\af@jawline%
- \hskip-\af@halfjawspread%
- \hskip-\af@jawline%
- \fi%
- \hskip-\af@halfpunchwidth}}
-\def\af@group{%
- \bgroup%
- \af@tempcount=0%
- \af@circle%
- \loop\advance\af@tempcount by1\relax%
- \ifnum\af@tempcount<\af@punchcluster%
- \hskip\af@intraspace\relax\af@circle%
- \repeat%
- \egroup}
-\def\af@circles{%
- \af@tempcount=0\relax%
- \af@group%
- \loop\advance\af@tempcount by1\relax%
- \ifnum\af@tempcount<\af@punchgroups%
- \hskip\af@interspace\relax\af@group%
- \repeat%
- \af@tempcount=0}
-\def\af@punches{%
- \hbox to\af@textheight{\hfil\af@circles\hskip\af@halfpunchwidth\relax\hfil}}
-\def\@@@innerframe{%
- \moveright-\af@topmargin%
- \vbox to 0pt{%
- \vskip\topmargin%
- \vbox to0pt{\hrule width\af@textheight\vss}%
- \hbox to\af@textheight{\llap{\vrule height\af@textwidth}%
- \hfil\vrule height\af@textwidth}%
- \vskip-\af@halftextwidth%
- \vbox to0pt{\hrule width\af@textheight\vss}%
- \vskip-\af@halftextwidth%
- \vskip\af@grip%
- \nointerlineskip\af@punches\nointerlineskip%
- \vskip-\af@punchwidth%
- \vskip-\af@grip%
- \vskip\af@textwidth%
- \vskip-\af@punchwidth%
- \vskip-\af@grip%
- \nointerlineskip\af@punches\nointerlineskip%
- \vskip\af@grip%
- \vbox to0pt{\hrule width\af@textheight\vss}%
- \vss}}%
-\newif\if@latextwoe
-\@ifundefined{if@compatibility}{\@latextwoefalse}{\@latextwoetrue}
-\if@latextwoe
-\def\@outputpage{%
-\begingroup % the \endgroup is put in by \aftergroup
- \let \protect \noexpand
- \@resetactivechars
- \let\-\@dischyph
- \let\'\@acci\let\`\@accii\let\=\@acciii
- \let\\\@normalcr
- \let\par\@@par %% 15 Sep 87
- \shipout \vbox{%
- \set@typeset@protect
- \aftergroup \endgroup
- \aftergroup \set@typeset@protect
- \if@specialpage
- \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
- \fi
- \if@twoside
- \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
- \let\@themargin\oddsidemargin
- \else \let\@thehead\@evenhead
- \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
- \fi
- \fi
- \reset@font
- \normalsize
- \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
- \@begindvi
- \moveright\@themargin %<<<<<<<<<<<<<<<<<<<<< added
- \vtop{\@@@innerframe %<<<<<<<<<<<<<<<<<<<<< added
- \vskip \topmargin
- \vskip \af@marginrel
- \moveright\af@topmargin% <<<<<<<<<<<< Bennett
- \vbox{% %<<<<<<<<<<<<<<<<<<<<< modified
- \setbox\@tempboxa \vbox to\headheight{%
- \vfil
- \color@hbox
- \normalcolor
- \hb@xt@\textwidth {%
- \let \label \@gobble
- \let \index \@gobble
- \let \glossary \@gobble %% 21 Jun 91
- \@thehead
- }%
- \color@endbox
- }% %% 22 Feb 87
- \dp\@tempboxa \z@
- \box\@tempboxa
- \vskip \headsep
- \box\@outputbox
- \baselineskip \footskip
- \color@hbox
- \normalcolor
- \hb@xt@\textwidth{%
- \let \label \@gobble
- \let \index \@gobble %% 22 Feb 87
- \let \glossary \@gobble %% 21 Jun 91
- \@thefoot
- }%
- \color@endbox
- }}%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< One more close bracket added
- }%
-\global \@colht \textheight
-\stepcounter{page}%
-\let\firstmark\botmark
-}
-\else
-\message{Sorry, autofilo.sty works only with LaTeX2e}
-\fi
-\headheight=0pt
-\headsep=0pt
-\footskip=0pt
-\marginparwidth=0pt
-\marginparsep=0pt
-\pagestyle{empty}
-\parindent=0pt
-\raggedbottom
-\columnseprule=0.0pt%
-\raggedright
-\define@key{opt}{pageheight}{%
- \af@textheight=#1\relax}
-\define@key{opt}{pagewidth}{%
- \af@halftextwidth=#1\relax}
-\define@key{opt}{columnsep}{%
- \columnsep=#1\relax}
-\define@key{opt}{punchcluster}{%
- \af@punchcluster=#1}
-\define@key{opt}{punchgroups}{%
- \af@punchgroups=#1}
-\define@key{opt}{interspace}{%
- \af@interspace=#1}
-\define@key{opt}{intraspace}{%
- \af@intraspace=#1}
-\define@key{opt}{grip}{%
- \af@grip=#1}
-\define@key{opt}{punchmargin}{%
- \af@punchmargin=#1}
-\define@key{opt}{punchpoints}{%
- \af@punchsize=#1}
-\define@key{opt}{topspace}{%
- \af@topmargin=#1}
-\define@key{opt}{bottomspace}{%
- \af@bottommargin=#1}
-\define@key{opt}{jawspread}{%
- \af@jawspread=#1}
-\define@key{opt}{jawline}{%
- \af@jawline=#1}
-\af@textheight=172mm
-\af@halftextwidth=95mm
-\columnsep=14pt
-\af@punchcluster=3
-\af@punchgroups=2
-\af@interspace=51.25mm
-\af@intraspace=19.25mm
-\af@grip=5mm
-\af@punchmargin=2mm
-\af@punchsize=15
-\af@topmargin=2pt
-\af@bottommargin=0pt\relax
-\af@jawline=0.4pt%
-\def\autofilo#1{%
- \setkeys{opt}{#1}%
- \oddsidemargin=-1in\relax%
- \af@textwidth\paperwidth%
- \advance\af@textwidth by-\af@textheight%
- \divide\af@textwidth by2\relax%
- \advance\oddsidemargin by\af@textwidth%
- \evensidemargin=-1in\relax%
- \advance\evensidemargin by\af@textwidth%
- \topmargin=-1in\relax%
- \af@textwidth\paperheight%
- \advance\af@textwidth by-\af@halftextwidth%
- \advance\af@textwidth by-\af@halftextwidth%
- \divide\af@textwidth by2\relax%
- \advance\topmargin by\af@textwidth\relax%
- \landscape%
- \af@halfjawspread\af@jawspread%
- \divide\af@halfjawspread by2\relax%
- \af@punchwidth=\af@punchsize pt%
- \af@halfpunchwidth\af@punchwidth%
- \divide\af@halfpunchwidth by2%
- \textheight\af@textheight%
- \advance\textheight by-\af@topmargin%
- \advance\textheight by-\af@bottommargin%
- \af@textwidth\af@halftextwidth%
- \multiply\af@textwidth by2\relax%
- \textwidth=\af@textwidth%
- \advance\textwidth by-2\af@punchwidth%
- \advance\textwidth by-2\af@grip%
- \advance\textwidth by-2\af@punchmargin%
- \af@marginrel\af@grip%
- \advance\af@marginrel by\af@punchmargin%
- \advance\af@marginrel by\af@punchwidth%
- \vsize\textheight%
- \hsize\textwidth%
- \@colroom\vsize%
- \@colht\vsize%
- \if@usequadruplecolumn%
- \quadruplecolumn%
- \else%
- \twocolumn%
- \fi}
-\def\endautofilo{%
- \endlandscape}
-
-\endinput
-%%
-%% End of file `autofilo.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/calendar.sty b/Master/texmf-dist/tex/latex/calendar/calendar.sty
deleted file mode 100644
index 23274369693..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/calendar.sty
+++ /dev/null
@@ -1,741 +0,0 @@
-%%
-%% This is file `calendar.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% calendar.dtx (with options: `style')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{calendar}
- [1998/01/17 18:14:52 3.1.1.1 Calendar engine (Frank Bennett)]
-\DeclareOption{english}{\PassOptionsToPackage{\CurrentOption}{dates}}
-\DeclareOption{german}{\PassOptionsToPackage{\CurrentOption}{dates}}
-\ProcessOptions
-\RequirePackage{dates}[1997/10/29]
-\RequirePackage{keyval}
-\def\cal@parseincrement#1#2#{%
- \def\cal@incr{#1}%
- \def\cal@subgroup@setup{#2}}%
-\long\def\newcalendar#1#2#3#4#5#6#7#8#9{%
- \expandafter\def\csname cal@#1@bridge\endcsname{%
- \def\cal@output{#2}%
- \def\cal@first@weekday{#3}%
- \def\cal@group@length{#4}%
- \def\cal@subgroup@length{#5}%
- \def\cal@item@sep@real{#6}%
- \cal@parseincrement#7{}%
- \def\cal@header{#8}%
- \def\cal@footer{#9}}%
- \@newcalendar{#1}}
-\long\def\@newcalendar#1#2#3#4#5#6#7#8#9{%
- \expandafter\def\csname#1\endcsname##1##2{%
- #4%
- \gdef\cal@optionslist{##1}%
- \setkeys{opt}{##1}%
- \gdef\cal@files{##2}%
- \dateread{}}%
- \expandafter\def\csname end#1\endcsname{\relax%
- \ifnum\dates@subrange@start=0%
- \dates@subrange@start\dates@date%
- \dates@subrange@end\dates@date%
- \fi%
- \global\dates@date\dates@subrange@start%
- \caldate%
- \cal@date@base\dates@date%
- \cal@range@start\dates@subrange@start%
- \cal@range@end\dates@subrange@end%
- #5%
- \dates@range@limit\cal@range@end%
- \csname cal@#1@bridge\endcsname%
- \def\cal@groupbreak{#2}%
- \def\cal@subgroupbreak{#3}%
- \long\def\cal@entry@sep{#6}%
- \def\cal@item@init{#7}%
- \def\cal@entry@init{#8}%
- \long\def\cal@item@text{#9}%
- \@ifundefined{color}%
- {\let\textcolor\@gobble%
- \let\colorbox\@gobble}%
- {}%
- \ifcat$\cal@files$%
- \else%
- \dates@requiremonthtrue%
- \dates@requiredaytrue%
- \expandafter\cal@input\cal@files,,\end%
- \fi%
- \cal@sorts%
- \global\dates@date\cal@range@start%
- \caldate%
- \cal@top}}%
-\def\cal@check@colon#1:#2#{%
- \def\dates@arg@a{#1}%
- \def\dates@arg@b{#2}}
-\def\cal@input#1,#2,\end{%
- \ifcat$#1$%
- \let\cal@input@next\relax%
- \global\let\cal@files\relax%
- \else%
- \advance\cal@engine by 1%
- \cal@check@colon#1:{}%
- \ifcat$\dates@arg@b$%
- \expandafter\edef\csname cal@\the\cal@engine @color\endcsname{}%
- \xdef\cal@color{}%
- \else%
- \expandafter\dates@strip@colon\dates@arg@b%
- \expandafter\edef%
- \csname cal@\the\cal@engine @color\endcsname{\dates@arg@b}%
- \gdef\cal@color{:\dates@arg@b}%
- \fi%
- \xdef\cal@input@file{\dates@arg@a}%
- \let\cal@input@next\cal@input%
- \xdef\cal@files{#2,,\noexpand\end}%
- \IfFileExists{\cal@input@file.eve}%
- {\PackageWarning{Calendar}%
- {Using freeze file \cal@input@file.eve}%
- \expandafter\ifx\csname\cal@input@file @cal@engine\endcsname%
- \relax%
- \@@input\cal@input@file.eve\relax%
- \fi}%
- {\IfFileExists{\cal@input@file.cld}%
- {\expandafter\ifx%
- \csname\cal@input@file @cal@engine\endcsname%
- \relax%
- \cal@dofreezefalse%
- \gdef\cal@exceptionlist{}%
- \expandafter\cal@read%
- \@@input\cal@input@file.cld\relax{}%
- \ifcal@dofreeze%
- \immediate\closeout\cal@freeze@file%
- \fi%
- \fi}%
- {\@missingfileerror{\cal@input@file}{cld}}}%
- \fi%
- \expandafter\edef%
- \csname\cal@input@file @cal@engine\endcsname{\the\cal@engine}%
- \expandafter\cal@input@next\cal@files}
-\def\cal@input@next@default{\expandafter\cal@input@clone\cal@files}
-\def\cal@append{%
- \ifcal@holidays%
- \cal@except%
- \else%
- \cal@checkexception%
- \ifcal@useentry%
- \ifcal@noexport%
- \else%
- \ifcal@dofreeze%
- \cal@freeze%
- \fi%
- \fi%
- \ifcal@noload%
- \else%
- \ifnum\dates@date<\cal@range@start%
- \else%
- \ifnum\dates@date>\cal@range@end%
- \else%
- \cal@list@init{events}%
- \cal@list@init{appointments}\relax%
- \ifnum\dates@time@start=0%
- \cal@list@append{events}%
- \else%
- \cal@list@append{appointments}%
- \fi%
- \fi%
- \fi%
- \fi%
- \fi%
- \fi}
-\def\cal@list@append#1{%
- \cal@reg@a=%
- \expandafter\expandafter\expandafter{%
- \csname\the\dates@date @#1\endcsname}%
- \cal@reg@b\expandafter{\theshorttext}%
- \cal@reg@c\expandafter{\thelongtext}%
- \expandafter\edef%
- \csname\the\dates@date @#1\endcsname{%
- \the\cal@reg@a%
- \noexpand\cal@delim%
- {\the\dates@time@start}%
- {\the\dates@time@end}%
- {\ifcal@noexport%
- 0%
- \else%
- \the\cal@engine%
- \fi}%
- {\the\cal@reg@b}%
- {\the\cal@reg@c}}}%
-\def\cal@list@init#1{%
- \expandafter\ifx%
- \csname\the\dates@date @#1\endcsname%
- \relax%
- \expandafter\def%
- \csname\the\dates@date @#1\endcsname%
- {}%
- \fi}
-\def\cal@read{%
- \dateread{\cal@append}}
-\def\cal@sorts{%
- \global\dates@date\cal@range@start%
- \let\cal@@sorts@next\cal@@sorts%
- \cal@@sorts}
-\def\cal@@sorts{\relax%
- \ifnum\dates@date>\cal@range@end%
- \let\cal@@sorts@next\cal@@sorts@exit%
- \else%
- \expandafter\ifx%
- \csname\the\dates@date @events\endcsname\relax%
- \else%
- \cal@sort{\the\dates@date @events}%
- \fi%
- \expandafter\ifx%
- \csname\the\dates@date @appointments\endcsname\relax%
- \else%
- \cal@sort{\the\dates@date @appointments}%
- \fi%
- \global\advance\dates@date by 1%
- \fi%
- \cal@@sorts@next}
-\def\cal@@sorts@exit{%
- \global\dates@date\cal@range@start%
- \caldate}
-\def\cal@sort@init{%
- \cal@sort@A=-1%
- \cal@sort@B=0%
- \cal@sort@C=0%
- \cal@sort@D{}%
- \cal@sort@E{}%
- \global\let\cal@sort@new\cal@sort@list%
- \cal@appendright%
- \let\cal@sort@list\cal@sort@new%
- \gdef\cal@sort@new{}%
- \cal@sort@passonetrue}
-\def\cal@sort#1{%
- \expandafter\let\expandafter\cal@sort@list\csname#1\endcsname%
- \cal@sort@init%
- \global\let\cal@delim\cal@@sort%
- \cal@sort@list%
- \expandafter\let\csname#1\endcsname\cal@sort@new}
-\def\cal@@sort#1#2#3#4#5{%
- \cal@sort@a=#1%
- \cal@sort@b=#2%
- \cal@sort@c=#3%
- \cal@sort@d{#4}%
- \cal@sort@e{#5}%
- \let\cal@@sort@next\relax%
- \ifnum\cal@sort@a=-1\relax%
- \message{.}%
- \cal@appendright%
- \ifcal@nosortchange%
- \else%
- \cal@nosortchangetrue%
- \cal@sort@passonetrue%
- \cal@sort@swap%
- \cal@appendright%
- \let\cal@@sort@next\cal@sort@new%
- \gdef\cal@sort@new{}%
- \fi%
- \else%
- \ifcal@sort@passone%
- \else%
- \ifnum\cal@sort@A>\cal@sort@a\relax%
- \cal@nosortchangefalse%
- \cal@sort@swap%
- \cal@appendright%
- \else%
- \cal@appendright%
- \fi%
- \fi%
- \cal@sort@swap%
- \cal@sort@passonefalse%
- \fi%
- \cal@@sort@next}
-\def\cal@appendright{%
- \cal@reg@a\expandafter{\cal@sort@new}%
- \xdef\cal@sort@new{%
- \the\cal@reg@a%
- \noexpand\cal@delim%
- {\the\cal@sort@A}%
- {\the\cal@sort@B}%
- {\the\cal@sort@C}%
- {\the\cal@sort@D}%
- {\the\cal@sort@E}}}
-\def\cal@sort@swap{%
- \cal@count@a\cal@sort@a%
- \cal@sort@a\cal@sort@A%
- \cal@sort@A\cal@count@a%
- \cal@count@a\cal@sort@b%
- \cal@sort@b\cal@sort@B%
- \cal@sort@B\cal@count@a%
- \cal@count@a\cal@sort@c%
- \cal@sort@c\cal@sort@C%
- \cal@sort@C\cal@count@a%
- \cal@reg@a\expandafter{\the\cal@sort@d}%
- \cal@sort@d\expandafter{\the\cal@sort@D}%
- \cal@sort@D\expandafter{\the\cal@reg@a}%
- \cal@reg@a\expandafter{\the\cal@sort@e}%
- \cal@sort@e\expandafter{\the\cal@sort@E}%
- \cal@sort@E\expandafter{\the\cal@reg@a}}
-\def\cal@top{\relax%
- \ifnum\tracingdates>0%
- \message{^^J\themonth}%
- \fi%
- \let\cal@add@date@item\cal@add@date@item@default%
- \advance\cal@range@end by 1%
- \global\cal@subgroup@count0%
- \global\cal@group@count0%
- \cal@subgroup@len\cal@subgroup@length%
- \advance\cal@subgroup@len by -1\relax%
- \global\cal@group@len\cal@group@length%
- \cal@first@weekd\cal@first@weekday\relax%
- \ifnum\cal@first@weekd=0%
- \cal@last@weekd=6%
- \else%
- \cal@last@weekd\cal@first@weekd%
- \advance\cal@last@weekd by -1%
- \fi%
- \cal@subgroup@setup%
- \cal@output{\cal@header}\cal@begin@subgroup}
-\def\cal@begin@subgroup{%
- \global\cal@subgroup@count=0%
- \global\def\cal@item@sep{}%
- \ifnum\dates@date<\cal@range@end\relax%
- \ifnum\cal@group@count=\cal@group@len\relax%
- \ifnum\tracingdates>0%
- \message{^^J\themonth}%
- \fi%
- \global\cal@group@count=0%
- \global\cal@group@len\cal@group@length%
- \cal@subgroup@setup%
- \cal@output{\cal@groupbreak}\relax%
- \ifnum\cal@first@weekd<7%
- \let\next\cal@pad@start%
- \else%
- \let\next\cal@add@date@item%
- \fi%
- \else%
- \ifnum\cal@first@weekd<7\relax%
- \let\next\cal@pad@start%
- \else%
- \let\next\cal@add@date@item%
- \fi%
- \fi%
- \else%
- \cal@output{\cal@footer}%
- \let\next\relax%
- \fi%
- \next}
-\def\cal@add@date@item@default{\relax%
- \ifnum\cal@group@count=\cal@group@len\relax%
- \ifnum\cal@first@weekd<7%
- \let\next\cal@pad@end%
- \else%
- \let\next\cal@begin@subgroup%
- \fi%
- \if\cal@incr G%
- \global\advance\dates@date by 1%
- \caldate%
- \fi%
- \if\cal@incr z%
- \global\advance\dates@date by1%
- \fi%
- \else\relax%
- \ifnum\cal@subgroup@count>\cal@subgroup@len\relax%
- \if\cal@incr z%
- \global\dates@date\cal@date@base%
- \fi%
- \ifnum\dates@date<\cal@range@end%
- \if\cal@incr S%
- \global\advance\dates@date by1%
- \caldate%
- \fi%
- \cal@subgroup@setup%
- \cal@output{\cal@subgroupbreak}%
- \fi%
- \let\next\cal@begin@subgroup%
- \else%
- \cal@output{\cal@item@sep}%
- \global\def\cal@item@sep{\cal@item@sep@real}\relax%
- \ifnum\tracingdates>0%
- \message{\theday}%
- \fi%
- \cal@item@init%
- \cal@output{\cal@item@text}%
- \if\cal@incr I%
- \global\advance\dates@date by 1%
- \caldate%
- \fi%
- \if\cal@incr z%
- \global\advance\dates@date by 1%
- \caldate%
- \fi%
- \global\advance\cal@subgroup@count by 1\relax%
- \global\advance\cal@group@count by 1\relax%
- \let\next\cal@add@date@item%
- \fi%
- \fi%
- \next}
-\def\cal@pad@start{%
- \cal@temp@count\dates@date%
- \bgroup%
- \global\cal@offset=\dates@date%
- \prevday\cal@first@weekd%
- \global\advance\cal@offset by -\dates@date%
- \egroup%
- \global\dates@date\cal@temp@count%
- \cal@pad@@start}
-\def\cal@pad@@start{\relax%
- \ifnum\cal@offset=0\relax%
- \global\def\cal@item@sep{}%
- \let\next\cal@add@date@item%
- \else%
- \global\def\cal@item@sep{\cal@item@sep@real}%
- \cal@output{\cal@item@sep}%
- \global\advance\cal@offset by -1\relax%
- \global\advance\cal@subgroup@count by 1\relax%
- \let\next\cal@pad@@start%
- \fi%
- \next}
-\def\cal@pad@end{%
- \cal@temp@count\dates@date%
- \bgroup%
- \global\cal@offset=\dates@date\relax%
- \nextday\cal@last@weekd%
- \advance\dates@date by -\cal@offset%
- \global\cal@offset\dates@date\relax%
- \ifnum\cal@offset=6%
- \global\cal@offset=0%
- \else%
- \global\advance\cal@offset by 1%
- \fi%
- \egroup%
- \global\dates@date\cal@temp@count%
- \cal@pad@@end}
-\def\cal@pad@@end{\relax%
- \ifnum\cal@offset=0\relax%
- \let\next\cal@begin@subgroup%
- \else%
- \cal@output{\cal@item@sep}%
- \global\advance\cal@offset by -1%
- \global\advance\cal@subgroup@count by 1\relax%
- \let\next\cal@pad@@end%
- \fi%
- \next}
-\def\ifanyitem#1#2{%
- \gdef\cal@temp{#1}%
- \expandafter\ifx%
- \csname\the\dates@date @events\endcsname%
- \relax%
- \expandafter\ifx%
- \csname\the\dates@date @appointments\endcsname%
- \relax%
- \gdef\cal@temp{#2}%
- \fi%
- \fi%
- \let\next\cal@temp%
- \next}
-\def\getanycolor{%
- \gdef\calcolor{}%
- \global\let\cal@delim\get@anycolor%
- \csname\the\dates@date @events\endcsname%
- \csname\the\dates@date @appointments\endcsname}
-\def\get@anycolor#1#2#3#4#5{%
- \ifcat$\calcolor$%
- \expandafter\ifx%
- \csname cal@#3@color\endcsname%
- \relax%
- \else%
- \xdef\calcolor{\csname cal@#3@color\endcsname}%
- \fi%
- \fi}
-\def\cal@get@events{%
- \def\theevents{}%
- \gdef\cal@entry@macro{\theevents}%
- \expandafter\let%
- \expandafter\cal@dumplist\csname\the\dates@date @events\endcsname%
- \cal@print@items}
-\def\cal@get@appointments{%
- \gdef\theappointments{}%
- \gdef\cal@entry@macro{\theappointments}%
- \expandafter\let%
- \expandafter\cal@dumplist%
- \csname\the\dates@date @appointments\endcsname%
- \cal@print@items}
-\def\cal@print@items{%
- \cal@sort@passonetrue%
- \@ifnextchar[%
- {\cal@@print@items}%
- {\cal@@print@items[-1/-1]}}
-\def\cal@@print@items#1[#2/#3]{%
- \cal@select@start=#2%
- \cal@select@end=#3%
- \@ifnextchar[%
- {\cal@@@print@items}%
- {\cal@@@print@items[-1]}}
-\def\cal@@@print@items#1[#2]{%
- \cal@engine@limit=#2%
- \global\let\cal@delim\cal@print@format%
- \cal@dumplist}
-\def\cal@print@format#1#2#3#4#5{\relax%
- \ifcat$#4$%
- \else%
- \def\theshorttext{#4}%
- \ifcat$#5$%
- \let\thelongtext\theshorttext%
- \else%
- \def\thelongtext{#5}%
- \fi%
- \global\dates@time@start#1\relax%
- \global\dates@time@end#2\relax%
- \mod{60}\dates@time@start\cal@minutes@start%
- \cal@hours@start\dates@three%
- \divide\cal@hours@start by60%
- \mod{60}\dates@time@end\cal@minutes@end%
- \cal@hours@end\dates@three%
- \divide\cal@hours@end by60%
- \ifnum\cal@minutes@start<10%
- \xdef\cal@minutes@start@mac{%
- 0\the\cal@minutes@start}%
- \else%
- \xdef\cal@minutes@start@mac{%
- \the\cal@minutes@start}%
- \fi%
- \ifnum\cal@minutes@end<10%
- \xdef\cal@minutes@end@mac{%
- 0\the\cal@minutes@end}%
- \else%
- \xdef\cal@minutes@end@mac{%
- \the\cal@minutes@end}%
- \fi%
- \xdef\cal@appt@start@text{%
- \the\cal@hours@start:\cal@minutes@start@mac}%
- \xdef\cal@appt@end@text{%
- \the\cal@hours@end:\cal@minutes@end@mac}%
- \cal@doeventfalse%
- \cal@doapptfalse\relax%
- \ifnum\cal@engine@limit>-1\relax%
- \ifnum#3=\cal@engine@limit%
- \cal@doeventtrue%
- \fi%
- \else%
- \cal@doeventtrue%
- \fi\relax%
- \ifnum\cal@select@start>-1\relax%
- \ifnum\dates@time@start<\cal@select@end%
- \ifnum\dates@time@end>\cal@select@start%
- \cal@doappttrue%
- \else
- \ifnum\dates@time@end=\cal@select@start%
- \ifnum\dates@time@start=\dates@time@end%
- \cal@doappttrue%
- \fi%
- \fi%
- \fi%
- \fi%
- \else%
- \cal@doappttrue%
- \fi%
- \ifcal@doappt%
- \ifcal@doevent%
- \xdef\calcolor{\csname cal@#3@color\endcsname}%
- \ifcal@sort@passone%
- \cal@reg@a{}%
- \else%
- \cal@reg@a\expandafter{\cal@entry@sep}%
- \fi%
- \cal@times@init%
- \global\let\cal@textcolor\relax%
- \cal@entry@init%
- \global%
- \global\let\cal@textcolor\cal@textcolor@default%
- \cal@reg@b\expandafter{\cal@entry@text}%
- \cal@reg@c%
- \expandafter\expandafter%
- \expandafter{\cal@entry@macro}%
- \expandafter\xdef\cal@entry@macro{%
- \the\cal@reg@c%
- \the\cal@reg@a%
- \the\cal@reg@b}%
- \cal@sort@passonefalse%
- \fi%
- \fi%
- \fi}
-\def\cal@times@init{%
- \mod{60}\dates@time@start\dates@one%
- \dates@three\dates@time@start%
- \divide\dates@three by 60%
- \ifnum\dates@one<10\relax%
- \xdef\cal@temp{0\the\dates@one}%
- \else%
- \xdef\cal@temp{\the\dates@one}%
- \fi%
- \xdef\thetimestart{\the\dates@three:\cal@temp}%
- \mod{60}\dates@time@end\dates@one%
- \dates@three\dates@time@end%
- \divide\dates@three by 60%
- \ifnum\dates@one<10\relax%
- \xdef\cal@temp{0\the\dates@one}%
- \else%
- \xdef\cal@temp{\the\dates@one}%
- \fi%
- \xdef\thetimeend{\the\dates@three:\cal@temp}}
-\def\cal@textcolor@default#1#2{%
- \@ifundefined{color}
- {\ifcat$#1$#2\else\textbf{#2}\fi}
- {\ifcat$#1$#2\else\textcolor{#1}{#2}\fi}}
-\global\let\cal@textcolor\cal@textcolor@default
-\def\fremac{%
- \immediate\openout\cal@freeze@file=\cal@input@file.eve\relax
- \cal@dofreezetrue%
-}
-{\catcode`\%=12\xdef\cal@percent{%}}
-\def\cal@freeze{%
- \immediate\write\cal@freeze@file\relax%
- {\string\event%
- {\the\dates@date}%
- {\the\dates@time@start}%
- {\the\dates@time@end}%
- {\theshorttext}%
- {\thelongtext}\cal@percent}}
-\def\event#1#2#3#4#5{%
- \global\dates@date=#1\relax%
- \global\dates@time@start=#2\relax%
- \global\dates@time@end=#3\relax%
- \def\theshorttext{#4}%
- \def\thelongtext{#5}%
- \cal@append}
-\def\ranmac{%
- \global\let\dates@@@read\cal@@@read@ranmac}%
-\def\cal@@@read@ranmac{%
- \global\let\dates@@@read\dates@@@read@default%
- \@ifoverword\dates@serious@brace%
- {\expandafter\cal@get@range\@gobble}%
- {\cal@get@range}%
- {\message{This can't happen.}}}
-\def\cal@get@range{%
- \cal@noexporttrue%
- \expandafter\ifx%
- \csname\@overword @range@loaded\endcsname%
- \relax%
- \expandafter\def%
- \csname\@overword @range@loaded\endcsname{%
- 1}%
- \else%
- \cal@noloadtrue%
- \fi%
- \IfFileExists{\@overword.cld}%
- {\expandafter\cal@get@@range\@overword.cld rAN }%
- {\@missingfileerror{\@overword}{cld}}}
-\def\cal@get@@range{%
- \expandafter\dates@read\@@input}
-\def\rANmac{%
- \cal@holidaysfalse%
- \cal@noloadfalse\cal@noexportfalse}
-\def\holmac{%
- \cal@holidaystrue%
- \global\let\dates@@@read\cal@@@read@ranmac}%
-\def\cal@except{%
- \cal@reg@a\expandafter{\cal@exceptionlist}%
- \xdef\cal@exceptionlist{%
- \noexpand\cal@delim{\the\dates@date}\the\cal@reg@a}}
-\def\cal@checkexception{%
- \cal@useentrytrue%
- \global\let\cal@delim\cal@@checkexception%
- \cal@exceptionlist}
-\def\cal@@checkexception#1{\relax%
- \ifnum\dates@date=#1\relax\cal@useentryfalse\fi}
-\def\lismac{%
- \global\let\dates@@@read\cal@pass@list}
-\def\cal@grablist#1\end{%
- \def\cal@grabbedlist{#1}}
-\def\cal@pass@list{%
- \expandafter\cal@grablist\cal@files%
- \global\let\dates@@@read\dates@@@read@default%
- \@ifoverword\dates@serious@brace%
- {\xdef\cal@files{%
- \@overword\cal@color,\cal@grabbedlist\noexpand\end}%
- \expandafter\dates@read\@gobble}%
- {\message{I don't think I'm supposed to do this}%
- \xdef\cal@files{%
- \@overword\cal@color,\cal@grabbedlist\noexpand\end}}%
- {\message{This can't happen}}}
-\newcount\cal@first@weekd
-\newcount\cal@range@start
-\newcount\cal@range@end
-\newcount\cal@temp@count
-\newcount\cal@last@weekd
-\newcount\cal@subgroup@len
-\newcount\cal@offset
-\newcount\cal@subgroup@count
-\newcount\cal@group@count
-\newcount\cal@group@len
-\newcount\cal@engine
-\newcount\cal@engine@limit
-\newcount\cal@select@start
-\newcount\cal@select@end
-\newcount\cal@hours@start
-\newcount\cal@minutes@start
-\newcount\cal@hours@end
-\newcount\cal@minutes@end
-\newcount\tracingdates
-\tracingdates=1
-\def\cal@sort@new{}
-\newtoks\cal@reg@a
-\newtoks\cal@reg@b
-\newtoks\cal@reg@c
-\newcount\cal@sort@A
-\newcount\cal@sort@B
-\newcount\cal@sort@C
-\newtoks\cal@sort@D
-\newtoks\cal@sort@E
-\newcount\cal@sort@a
-\newcount\cal@sort@b
-\newcount\cal@sort@c
-\newtoks\cal@sort@d
-\newtoks\cal@sort@e
-\newcount\cal@count@a
-\newwrite\cal@freeze@file
-\newif\ifcal@sort@passone
-\newif\ifcal@nosortchange
-\newif\ifcal@dofreeze
-\newif\ifcal@noload
-\newif\ifcal@noexport
-\newif\ifcal@holidays
-\newif\ifcal@useentry
-\newif\ifcal@doevent
-\newif\ifcal@doappt
-\def\cal@insert#1{#1}
-\expandafter\edef\csname cal@0@color\endcsname{black}
-\def\theappointments{}
-\def\theevents{}
-\def\cal@exceptionlist{}
-\newcount\cal@date@base
-\endinput
-%%
-%% End of file `calendar.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/calopts.cfg b/Master/texmf-dist/tex/latex/calendar/calopts.cfg
deleted file mode 100644
index 20da8219d57..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/calopts.cfg
+++ /dev/null
@@ -1,67 +0,0 @@
-\def\DeclareCalendarLanguage#1#2#3#4#5{%
- \DeclareOption{#1}{\PassOptionsToPackage{\CurrentOption}{dates}}}
-
-\DeclareOption{draft}{\OptionNotUsed}
-\DeclareOption{final}{\OptionNotUsed}
-\DeclareOption{hiderotate}{\OptionNotUsed}
-\DeclareOption{hidescale}{\OptionNotUsed}
-
-\DeclareOption{hiresbb}{\PassOptionsToPackage{\CurrentOption}{graphics}}
-
-\DeclareOption{monochrome}{%
- \PassOptionsToPackage{\CurrentOption}{color}}%
-\DeclareOption{dvipsnames}{%
- \PassOptionsToPackage{\CurrentOption}{color}}%
-\DeclareOption{nodvipsnames}{%
- \PassOptionsToPackage{\CurrentOption}{color}}%
-\DeclareOption{usenames}{%
- \PassOptionsToPackage{\CurrentOption}{color}}%
-
-\DeclareOption{debugshow}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{xdvi}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{dvipdf}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{dvipsone}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{dviwindo}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{emtex}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{dviwin}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption{graphics}}}%
-\DeclareOption{oztex}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{textures}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{pctexps}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{pctexwin}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{pctexhp}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{pctex32}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{truetex}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{tcidvi}{%
- \PassOptionsToPackage{\CurrentOption}{color}
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
-\DeclareOption{dvips}{%
- \PassOptionsToPackage{\CurrentOption}{color}%
- \PassOptionsToPackage{\CurrentOption}{graphics}}%
diff --git a/Master/texmf-dist/tex/latex/calendar/dates.cfg b/Master/texmf-dist/tex/latex/calendar/dates.cfg
deleted file mode 100644
index a1009adb149..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/dates.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-\DeclareCalendarLanguage{English}
- {{Sunday}{Monday}{Tuesday}{Wednesday}{Thursday}{Friday}{Saturday}}
- {{Sun}{Mon}{Tue}{Wed}{Thu}{Fri}{Sat}}
- {{January}{February}{March}{April}{May}{June}{July}{August}{September}
- {October}{November}{December}}
- {{Jan}{Feb}{Mar}{Apr}{May}{Jun}{Jul}{Aug}{Sep}{Oct}{Nov}{Dec}}
-
-\DeclareCalendarLanguage{German}
- {{Sonntag}{Montag}{Dienstag}{Mittwoch}{Donnerstag}{Freitag}{Samstag}}
- {{So}{Mo}{Di}{Mi}{Do}{Fr}{Sa}}
- {{Januar}{Februar}{M\"arz}{April}{Mai}{Juni}{Juli}{August}{September}%
- {Oktober}{November}{Dezember}}
- {{Jan}{Feb}{M\"arz}{Apr}{Mai}{Juni}{Juli}{Aug}{Sep}{Okt}{Nov}{Dez}}
diff --git a/Master/texmf-dist/tex/latex/calendar/dates.sty b/Master/texmf-dist/tex/latex/calendar/dates.sty
deleted file mode 100644
index 01b80472098..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/dates.sty
+++ /dev/null
@@ -1,780 +0,0 @@
-%%
-%% This is file `dates.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% dates.dtx (with options: `style')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{dates}
- [1998/01/17 17:12:39 3.1 Dates parsing support (Frank Bennett)]
-\newcount\dates@one
-\newcount\dates@two
-\newcount\dates@langnum
-\newtoks\dates@reg@a
-\newtoks\dates@reg@b
-\newtoks\dates@reg@c
-\def\DeclareCalendarLanguage#1#2#3#4#5{
- \advance\dates@two by1\relax%
- \expandafter\edef\csname dates@#1@langnum\endcsname{\the\dates@two}%
- \ifnum\dates@two=1\relax\def\dates@default@language{#1}\fi%
- \DeclareOption{#1}{%
- \expandafter\expandafter\expandafter%
- \dates@langnum\csname dates@#1@langnum\endcsname\relax%
- \dates@buildcase{1}{\theweekday}{\dates@weekd}#2{}%
- \dates@buildcase{1}{\theshortweekday}{\dates@weekd}#3{}%
- \dates@buildcase{0}{\themonth}{\dates@month}#4{}%
- \dates@buildcase{0}{\theshortmonth}{\dates@month}#5{}}}
-\def\dates@buildcase#1#2#3{%
- \dates@one=#1\relax%
- \dates@reg@c={#3}%
- \gdef\dates@temp@a{#2}%
- \dates@reg@a={}%
- \dates@reg@b={}%
- \def\dates@temp@c{}%
- \dates@@buildcase}
-\def\dates@@buildcase#1{%
- \ifcat$#1$%
- \let\next\dates@@@buildcase%
- \else%
- \let\next\dates@@buildcase%
- \dates@reg@a={\or#1}%
- \dates@reg@b=\expandafter{\dates@temp@c}%
- \edef\dates@temp@c{\the\dates@reg@b\the\dates@reg@a}
- \fi%
- \next}
-\def\dates@@@buildcase{%
- \ifnum\dates@one=0\relax%
- \dates@reg@a=\expandafter{\dates@temp@c}%
- \else%
- \dates@reg@a=\expandafter\expandafter\expandafter%
- {\expandafter\@gobble\dates@temp@c}%
- \fi%
- \expandafter\edef\dates@temp@a{%
- \noexpand\ifcase\the\dates@reg@c%
- \the\dates@reg@a%
- \noexpand\fi}}
-\RequirePackage{overword}[1997/10/29]
-\InputIfFileExists{dates.cfg}{}{}
-\@ifundefined{theweekday}{%
- \DeclareCalendarLanguage{english}
- {{Sun}{Mon}{Tue}{Wed}{Thu}{Fri}{Sat}}
- {{Sunday}{Monday}{Tuesday}{Wednesday}{Thursday}{Friday}{Saturday}}
- {{Jan}{Feb}{Mar}{Apr}{May}{Jun}{Jul}{Aug}{Sep}{Oct}{Nov}{Dec}}
- {{January}{February}{March}{April}{May}{June}{July}{August}{September}
- {October}{November}{December}}}
- {}
-\ExecuteOptions{\dates@default@language}
-\ProcessOptions
-\long\gdef\dateread#1{%
- \gdef\dates@action{#1}%
- \gdef\dates@subranges{}%
- \dates@subrange@start=0%
- \dates@subrange@end=0%
- \dates@read@default}
-\long\gdef\dates@read@default{%
- \global\dates@time@start=0%
- \global\dates@time@end=0%
- \setyear{1900}%
- \global\dates@month=0%
- \global\dates@day=0%
- \global\dates@weekd@target=7%
- \gdef\theshorttext{}%
- \gdef\thelongtext{}%
- \global\dates@suppressfalse%
- \global\let\dates@init\relax%
- \global\let\dates@increment\relax%
- \global\let\dates@read=\dates@read@default%
- \global\let\dates@@@read=\dates@@@read@default%
- \global\let\dates@@@@read=\dates@@@@read@default%
- \global\let\dates@read@exit=\dates@read@exit@default%
- \bgroup%
- \@ifnextnparchar\dates@serious@brace%
- {\message{This should never happen}}%
- {\dates@@read}%
- {\egroup}}
-\long\def\dates@@read#1#{%
- \let\end\relax%
- \xdef\cal@temp{#1 }%
- \egroup%
- \expandafter\dates@@@read\cal@temp}
-\def\dates@@@read@default{%
- \global\let\dates@@@read\dates@@@read@default%
- \@ifoverword\dates@serious@brace%
- {\expandafter\dates@analyze\@overword{}%
- \dates@@@@read}%
- {\expandafter\dates@analyze\@overword{}%
- \dates@@@read}%
- {\expandafter\dates@analyze\@overword{}%
- \ifnum\dates@year>0\relax%
- \let\dates@read\relax%
- \dates@read@exit%
- \fi}}
-\bgroup
- \catcode`\[=1
- \global\let\dates@funny@brace=[
- \catcode`\<=1
- \global\let\dates@bent@brace=<
-\egroup
-\gdef\dates@@@@read@default#1{%
- \global\let\dates@@@@read\dates@@@@read@default%
- \global\let\dates@@@read\dates@@@read@default%
- \dates@textcount1%
- \def\theshorttext{#1}%
- \ifnum\dates@textcount=\dates@langnum\relax%
- \gdef\thelongtext{}%
- \fi%
- \bgroup%
- \catcode`\[=1\catcode`\]=2\relax%
- \catcode`\<=1\catcode`\>=2\relax%
- \@ifnextnparchar\dates@funny@brace%
- {\dates@@@@@read}%
- {\global\let\thelongtext\theshorttext%
- \@ifnextnparchar\dates@bent@brace%
- {\dates@@@@read@bent}%
- {\egroup%
- \dates@read@exit}%
- {\message{This can't happen}}}%
- {\egroup%
- \dates@read@exit}}
-\def\dates@@@@@read#1{%
- \egroup%
- \ifnum\dates@textcount=1\relax
- \gdef\thelongtext{#1}%
- \else%
- \ifnum\dates@textcount=\dates@langnum\relax%
- \gdef\thelongtext{#1}%
- \fi%
- \fi%
- \bgroup%
- \catcode`\<=1\catcode`\>=2\relax%
- \@ifnextnparchar\dates@bent@brace%
- {\dates@@@@read@bent}%
- {\egroup%
- \dates@read@exit}%
- {\egroup%
- \dates@read@exit}}
-\def\dates@@@@read@bent#1{%
- \egroup%
- \advance\dates@textcount by1\relax%
- \ifnum\dates@textcount=\dates@langnum\relax
- \def\theshorttext{#1}%
- \fi%
- \bgroup%
- \catcode`\[=1\catcode`\]=2\relax%
- \catcode`\<=1\catcode`\>=2\relax%
- \@ifnextnparchar\dates@funny@brace%
- {\dates@@@@@read}%
- {\ifnum\dates@textcount=\dates@langnum\relax%
- \gdef\thelongtext{}%
- \fi%
- \@ifnextnparchar\dates@bent@brace%
- {\dates@@@@read@bent}%
- {\egroup%
- \dates@read@exit}%
- {\message{This can't happen}}}%
- {\egroup%
- \dates@read@exit}}
-\def\dates@read@exit@default{%
- \dates@verify%
- \dates@fix%
- \dates@lastdate\dates@date%
- \ifdates@suppress@global%
- \else%
- \ifdates@suppress%
- \else%
- \dates@action%
- \fi%
- \fi%
- \dates@read}
-\def\dates@verify{%
- \ifnum\dates@month=0%
- \ifdates@requiremonth%
- \PackageError{dates}{Missing month.}{}%
- \else%
- \global\dates@month=1%
- \fi%
- \fi%
- \ifnum\dates@day=0%
- \ifdates@requireday%
- \PackageError{dates}{Missing day of the month.}{}%
- \else%
- \global\dates@day=1%
- \fi%
- \fi%
- \ifnum\dates@year=0\relax%
- \PackageError{dates}{Missing year in ordinary date.}{}%
- \fi}
-\def\dates@read@exit@range{%
- \dates@fix%
- \dates@subrange@end\dates@date%
- \dates@reg@a=\expandafter{\dates@subranges}%
- \xdef\dates@subranges{%
- \the\dates@reg@a%
- \noexpand\delim{\the\dates@subrange@start}%
- {\the\dates@date}}%
- \global\let\dates@read@exit\dates@read@exit@default%
- \dates@read@exit}
-\def\dates@read@exit@recurse{%
- \expandafter\ifcat\expandafter$\dates@subranges$%
- \PackageError{dates}{No range given}%
- {You need to specify a range before %
- recursive entries and formulae}%
- \fi\relax%
- \ifx\dates@init\relax%
- \ifnum\dates@day>0\relax%
- \dates@everymonth@day\dates@day%
- \ifnum\dates@month>0\relax%
- \dates@everyyear@month\dates@month%
- \global\let\dates@init\dates@init@yearly@doy%
- \global\let\dates@increment\dates@increment@yearly@doy%
- \else%
- \global\let\dates@init\dates@init@monthly@dom%
- \global\let\dates@increment\dates@increment@monthly@dom%
- \fi%
- \else%
- \PackageError{dates}{Incomplete recursive entry}%
- {You need to specify a day of the week or a day of %
- the month or something for entries beginning with %
- the word Every.}
- \fi%
- \fi%
- \global\let\delim\dates@read@exit@@recurse%
- \dates@subranges%
- \dates@read}
-\def\dates@read@exit@@recurse#1#2{%
- \dates@subrange@start#1\relax%
- \dates@subrange@end#2\relax%
- \dates@init%
- \caldate%
- \ifdates@suppress@global%
- \else%
- \ifdates@suppress%
- \else%
- \dates@action%
- \fi%
- \fi%
- \let\next\dates@read@exit@@@recurse%
- \dates@read@exit@@@recurse}
-\def\dates@read@exit@@@recurse{%
- \dates@increment\relax%
- \ifnum\dates@date>\dates@subrange@end\relax%
- \let\next\relax%
- \else%
- \caldate%
- \ifdates@suppress@global%
- \else%
- \ifdates@suppress%
- \else%
- \dates@action%
- \fi%
- \fi%
- \fi%
- \next}
-\def\dates@increment@daily{%
- \global\advance\dates@date by 1\relax}
-\def\dates@init@weekly{%
- \global\dates@date\dates@subrange@start%
- \mod7\dates@date\dates@weekd%
- \dates@three=\dates@weekd@target\relax%
- \advance\dates@three by -\dates@weekd\relax%
- \ifnum\dates@three<0\relax%
- \advance\dates@three by7%
- \fi%
- \global\advance\dates@date by\dates@three\relax}
-\def\dates@init@semiweekly{%
- \dates@verify%
- \dates@fix%
- \ifnum\dates@subrange@start>\dates@date%
- \dates@ct@z\dates@subrange@start%
- \advance\dates@ct@z by-\dates@date%
- \mod{14}\dates@ct@z\dates@catch%
- \global\dates@date\dates@subrange@start%
- \global\advance\dates@date by\dates@catch%
- \fi}
-\def\dates@increment@weekly{%
- \global\advance\dates@date by7\relax}
-\def\dates@increment@semiweekly{%
- \global\advance\dates@date by14\relax}
-\def\dates@init@monthly@dow{%
- \global\dates@date\dates@subrange@start%
- \dates@init@monthly@@dow}
-\def\dates@init@monthly@@dow{%
- \let\dates@init@monthly@dow@recurse\relax%
- \caldate%
- \nextday\dates@weekd@target%
- \caldate%
- \dates@one\dates@day%
- \divide\dates@one by 7\relax%
- \multiply\dates@one by 7\relax%
- \ifnum\dates@modulo>\dates@one\relax%
- \dates@two\dates@modulo%
- \advance\dates@two by -\dates@one%
- \global\advance\dates@date by \dates@two%
- \else%
- \ifnum\dates@modulo<\dates@one\relax%
- \dates@next@month%
- \let\dates@init@monthly@dow@recurse\dates@init@monthly@@dow%
- \fi%
- \fi%
-\dates@init@monthly@dow@recurse}
-\def\dates@init@monthly@dom{%
- \global\dates@date\dates@subrange@start%
- \dates@init@monthly@@dom}
-\def\dates@init@monthly@@dom{%
- \let\dates@init@monthly@dom@recurse\relax%
- \caldate%
- \ifnum\dates@day>\dates@everymonth@day%
- \dates@next@month%
- \let\dates@init@monthly@dom@recurse\dates\init@monthly@@dom%
- \else%
- \global\dates@day\dates@everymonth@day%
- \dates@fix%
- \fi%
- \dates@init@monthly@dom@recurse}
-\def\dates@init@yearly@doy{%
- \global\dates@date\dates@subrange@start%
- \dates@init@yearly@@doy}
-\def\dates@init@yearly@@doy{%
- \let\dates@init@yearly@doy@recurse\relax%
- \caldate%
- \dates@ct@z\dates@day@offset%
- \global\dates@day\dates@everymonth@day%
- \global\dates@month\dates@everyyear@month%
- \dates@fix%
- \ifnum\dates@ct@z>\dates@day@offset%
- \nextyear%
- \dates@fix%
- \let\dates@init@yearly@doy@recurse\dates@init@yearly@@doy%
- \fi%
- \dates@init@yearly@doy@recurse}
-\def\dates@increment@monthly@dow{%
- \dates@next@month%
- \dates@init@monthly@@dow}
-\def\dates@increment@monthly@dom{%
- \dates@next@month%
- \dates@init@monthly@@dom}
-\def\dates@increment@yearly@doy{%
- \nextyear%
- \global\dates@month=\dates@everyyear@month\relax%
- \global\dates@day=\dates@everymonth@day\relax%
- \dates@fix%
- \dates@init@yearly@@doy}
-\long\def\dates@@@read@function #1 #2 {%
- \xdef\dates@init{\csname#1\endcsname}%
- \xdef\dates@increment{\csname#2\endcsname}%
- \@ifnextnparchar\dates@serious@brace%
- {\bgroup%
- \makeatletter%
- \expandafter\dates@@@read@@function}%
- {\PackageError%
- {dates}%
- {Extra text after function names}%
- {The third argument must be in curly braces.}}%
- {\relax}}
-\long\def\dates@@@read@@function#1{%
- \long\gdef\dates@temp{#1}%
- \egroup%
- \dates@temp%
- \let\dates@temp\relax%
- \dates@@@@read@default}
-\long\def\dates@analyze#1#2#{%
- \ifcat\noexpand#11%
- \def\dates@zero{0}%
- \expandafter\dates@check@hyphen\@overword-{}%
- \ifx\dates@arg@b\dates@zero%
- \expandafter\dates@check@colon\@overword:{}%
- \ifx\dates@arg@b\dates@zero%
- \expandafter\ifnum\@overword>31%
- \setyear{\dates@arg@a}%
- \else%
- \ifnum\dates@day>0%
- \dates@dayerror%
- \else%
- \global\dates@day=\dates@arg@a%
- \fi%
- \fi%
- \else%
- \expandafter\dates@strip@colon\dates@arg@b%
- \global\dates@time@start=\dates@arg@a%
- \global\multiply\dates@time@start by 60%
- \global\advance\dates@time@start by \dates@arg@b%
- \global\dates@time@end=\dates@time@start%
- \fi%
- \else%
- \expandafter\dates@strip@hyphen\dates@arg@b%
- \let\dates@temp\dates@arg@b%
- \expandafter\dates@check@colon\dates@arg@a:{}%
- \ifx\dates@arg@b\dates@zero%
- \else%
- \expandafter\dates@strip@colon\dates@arg@b%
- \fi%
- \global\dates@time@start=\dates@arg@a\relax%
- \global\multiply\dates@time@start by 60\relax%
- \global\advance\dates@time@start by \dates@arg@b\relax%
- \expandafter\dates@check@colon\dates@temp:{}%
- \ifx\dates@arg@b\dates@zero%
- \else%
- \expandafter\dates@strip@colon\dates@arg@b%
- \fi%
- \global\dates@time@end=\dates@arg@a\relax%
- \global\multiply\dates@time@end by 60\relax%
- \global\advance\dates@time@end by \dates@arg@b%
- \fi%
- \else%
- \dates@execute#1#2XXX{}%
- \fi}
-\def\dates@execute#1#2#3#4#{%
- \ifcat#1\relax%
- \expandafter\csname%
- \string#1#2#3mac\endcsname%
- \else%
- \global\dates@catch=`#1\relax
- \global\advance\dates@catch by-65
- \dates@reg@a=\expandafter{\ifcase\dates@catch
- a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or
- m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
- y\or z\else #1\fi}
- \csname\the\dates@reg@a#2#3mac\endcsname%
- \fi}%
-\def\evemac{%
- \global\let\dates@read@exit=\dates@read@exit@recurse}
-\def\daymac{%
- \global\let\dates@init=\dates@init@daily%
- \global\let\dates@increment=\dates@increment@daily}
-\def\dates@init@daily{%
- \global\dates@date=\dates@subrange@start}
-\def\othmac{%
- \global\let\dates@init=\dates@init@semiweekly%
- \global\let\dates@increment=\dates@increment@semiweekly}
-\def\firmac{%
- \dates@modulo=0%
- \global\let\dates@init=\dates@init@monthly@dow%
- \global\let\dates@increment=\dates@increment@monthly@dow}%
-\def\secmac{%
- \dates@modulo=7%
- \global\let\dates@init=\dates@init@monthly@dow%
- \global\let\dates@increment=\dates@increment@monthly@dow}%
-\def\thimac{%
- \dates@modulo=14%
- \global\let\dates@init=\dates@init@monthly@dow%
- \global\let\dates@increment=\dates@increment@monthly@dow}%
-\def\toXmac{\relax%
- \ifnum\dates@year=0%
- \dates@subrange@start\dates@lastdate%
- \else%
- \dates@fix%
- \dates@subrange@start\dates@date%
- \global\dates@month=0%
- \global\dates@day=0%
- \setyear{1900}%
- \fi%
- \global\let\dates@read@exit\dates@read@exit@range}%
-\def\funmac{%
- \global\let\dates@read@exit=\dates@read@exit@recurse%
- \global\let\dates@@@read=\dates@@@read@function}
-\def\remmac{%
- \global\dates@suppresstrue}
-\bgroup
- \def\monthdata#1#2#3#4#5\end{%
- \expandafter\gdef\csname#2#3#4mac\endcsname{%
- \ifnum\dates@month>0%
- \dates@montherror%
- \else%
- \global\dates@month=#1%
- \fi}%
- \ifcat$#5$\let\next\@gobble\else\let\next\monthdata\fi%
- \next#5\end}%
- \monthdata1jan2feb3mar4apr5may6jun%
- 7jul8aug9sep{10}oct{11}nov{12}dec\end
-\egroup
-\bgroup
- \def\weekdata#1#2#3#4#5\end{%
- \expandafter\gdef\csname #2#3#4mac\endcsname{%
- \ifnum\dates@weekd@target<7\relax%
- \dates@weekerror%
- \else%
- \global\dates@weekd@target=#1\relax%
- \ifx\dates@init\relax%
- \global\let\dates@init\dates@init@weekly%
- \fi%
- \ifx\dates@increment\relax%
- \global\let\dates@increment\dates@increment@weekly%
- \fi%
- \fi}%
- \ifcat$#5$\let\next\@gobble\else\let\next\weekdata\fi%
- \next#5\end}
- \weekdata0sun1mon2tue3wed4thu5fri6sat\end
-\egroup
-\def\dates@montherror{%
- \PackageError{dates}{Month multiply defined}{%
- You have set the month more than once here.}}
-\def\dates@dayerror{%
- \PackageError{dates}{Day multiply defined}{%
- You have set the day more than once here.}}
-\def\dates@weekerror{%
- \PackageError{dates}{Week multiply defined}{%
- You have set the day of the week more than once here.}}
-\def\dates@check@colon#1:#2#{%
- \def\dates@arg@a{#1}%
- \def\dates@arg@b{0#2}}
-\def\dates@strip@colon#1:{%
- \def\dates@arg@b{#1}}
-\def\dates@check@hyphen#1-#2#{%
- \def\dates@arg@a{#1}%
- \def\dates@arg@b{0#2}}
-\def\dates@strip@hyphen#1-{%
- \def\dates@arg@b{#1}}
-\expandafter\expandafter\expandafter\def%
- \expandafter\csname%
- \string\relaxXXmac\endcsname{%
- \global\let\dates@@@@read\relax}
-\def\theyear{\the\dates@year@full}
-\def\themonthnumber{\the\dates@month}
-\def\theday{\the\dates@day}
-\def\thelongdate{\the\dates@date}
-\def\themonthdays{\the\dates@days}
-\def\setyear#1{\dates@year=#1%
- \advance\dates@year by -1900\calculateyearbase}
-\def\nextyear{\advance\dates@year by1%
- \calculateyearbase}
-\def\dates@next@month{%
- \ifnum\dates@month=12%
- \advance\dates@year by 1\calculateyearbase%
- \global\dates@month=1%
- \global\dates@day=1%
- \else%
- \global\advance\dates@month by 1%
- \global\dates@day=1%
- \fi%
- \dates@fix}
-\def\settimezone#1{\dates@timezone=#1%
- \multiply\dates@timezone by 1000%
- \divide\dates@timezone by24}
-\def\calculateyearbase{%
- \global\dates@yearbase=-1%
- {\dates@ct@z=\dates@year\divide\dates@ct@z by4%
- \multiply\dates@ct@z by4\relax%
- \ifnum\dates@year=\dates@ct@z%
- \global\dates@catch=0%
- \else%
- \global\dates@catch=1%
- \fi}%
- \ifcase\dates@catch \leapyeartrue\or%
- \leapyearfalse\fi%
- {\dates@ct@z=\dates@year\multiply\dates@ct@z%
- by1461\advance\dates@ct@z by3%
- \divide\dates@ct@z by4%
- \global\dates@catch=\dates@ct@z}%
- \global\advance\dates@yearbase by\dates@catch\relax%
- \ifnum\dates@year=0\global\dates@yearbase=0\leapyearfalse\fi}
-\def\monthdays{%
-\global\dates@catch\ifcase\dates@month%
- 0\or31\or%
- 59\or90\or120\or151\or181\or212\or%
- 243\or273\or304\or334\or365\fi%
- {\ifleapyear\ifnum\dates@month>1%
- \global\advance\dates@catch by1\fi\fi}%
- \global\dates@day@offset=\dates@catch}
-\def\dates@fix{%
- \dates@year@get%
- \dates@monthname@get%
- \ifnum\dates@days<\dates@day%
- \PackageError{dates}{Day of month out of range}{%
- There are only \the\dates@days\space days in %
- \themonth, but you have tried^^J%
- to specify \the\dates@day.}%
- \else%
- \global\dates@date=\dates@day{\advance\dates@month by-1%
- \monthdays%
- \global\advance\dates@date by\dates@day@offset%
- \global\advance\dates@date by\dates@yearbase}%
- \fi%
- \dates@dayname@get}
-\def\mod#1#2#3{\dates@three=#2\relax%
- \dates@four=\dates@three%
- \divide\dates@three by#1%
- \multiply\dates@three by#1%
-\advance\dates@four by-\dates@three%
- #3=\dates@four}
-
-\def\dates@year@get{%
- \global\dates@year@full\dates@year%
- \global\advance\dates@year@full by 1900\relax}
-\def\dates@dayname@get{\mod7\dates@date\dates@weekd}
-\def\caldate{\dates@year=\dates@date%
- \multiply\dates@year by4\divide\dates@year by1461%
- \calculateyearbase%
- {\advance\dates@date by-\dates@yearbase\global\dates@month=0%
- \loop\monthdays\ifnum\dates@day@offset<\dates@date%
- \global\advance\dates@month by1\repeat%
- {\advance\dates@month by-1\monthdays%
- \advance\dates@date by-\dates@day@offset%
- \global\dates@day=\dates@date}}%
- \dates@year@get%
- \dates@monthname@get%
- \dates@dayname@get}
-\def\dates@monthname@get{%
- \ifcase\dates@month%
- \or%
- \global\dates@days=31\relax%
- \or%
- \ifleapyear%
- \global\dates@days=29\relax%
- \else%
- \global\dates@days=28\relax%
- \fi%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=30\relax%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=30\relax%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=30\relax%
- \or%
- \global\dates@days=31\relax%
- \or%
- \global\dates@days=30\relax%
- \or%
- \global\dates@days=31\relax%
- \fi}
-\def\nextday#1{{\dates@ct@z=#1\mod7\dates@date\dates@weekd%
- \advance\dates@ct@z by-\dates@weekd\relax%
- \ifnum\dates@ct@z<0\advance\dates@ct@z by7\fi%
- \global\advance\dates@date by\dates@ct@z}}
-\def\prevday#1{\snextday#1%
- \global\advance\dates@date by-7}
-\def\snextday#1{\global\advance\dates@date by1%
- \nextday#1}
-\def\sprevday#1{\global\advance\dates@date by-1%
- \prevday#1}
-\def\jdttol{\advance\dates@date by500%
- \advance\dates@date by\dates@timezone%
- \global\divide\dates@date by1000}
-\def\sintable#1{\ifcase #1 0\or100\or199%
- \or296\or389\or479\or565\or644\or717%
- \or783\or841\or891\or932\or964\or985%
- \or997\or1000\or992\or974\or946\or909%
- \or863\or808\or746\or675\or598\or516%
- \or427\or335\or239\or141\or42\or-58%
- \or-158\fi}
-\def\twopimod{\count2 =\count1%
- \divide\count2 by6284 \count3 =1853%
- \count4 =6283\multiply\count3 by\count2%
- \multiply\count4 by\count2%
- \divide\count3 by10000%
- \advance\count3 by\count4%
- \advance\count1 by-\count3}%
-\def\sin{\relax%
- \ifnum\count1<0 \signtrue%
- \count1=-\count1\else \signfalse\fi%
- \loop\ifnum\count1>6284\twopimod\repeat\relax%
- \ifnum\count1>3142%
- \advance\count1 by-3142%
- \ifsign\signfalse\else\signtrue\fi\fi%
- \multiply\count1 by10\count3=\count1%
- \divide\count3 by1000\count2=\count3%
- \multiply\count3 by1000%
- \advance\count3 by-\count1 %
- \count5 =\sintable{\count2 }%
- \count4 =\count5\advance\count2 by1%
- \advance\count4 by -\sintable{\count2}%
- \multiply\count4 by\count3%
- \divide\count4 by1000%
- \advance\count4 by\count5%
- \ifsign\count4 =-\count4\fi}%
-\def\cos{\advance\count1 by-1571%
- \multiply\count1 by-1\sin}%
-\def\lin#1.#2.#3+#4.{\count1=#3%
- \count2=#2\count3=#1%
- \multiply\count1 by\dates@ct@z%
- \multiply\count2 by\dates@ct@z\relax%
- \multiply\count3 by\dates@ct@z%
- \divide\count1 by1000%
- \advance\count1 by\count2%
- \divide\count1 by1000%
- \advance\count1 by\count3%
- \advance\count1 by #4\relax}
-\def\fac#1{\multiply\count4 by #1%
- \advance\count6 by\count4}
-\def\id{\count4=\count1} % Identity
-\newcount\dates@textcount
-\newcount\dates@ct@z
-\newcount\dates@range@limit
-\newcount\dates@year
-\newcount\dates@timezone
-\dates@timezone=0
-\newcount\dates@catch
-\newcount\dates@day
-\newcount\dates@day@offset
-\newcount\dates@everymonth@day
-\newcount\dates@everyyear@month
-\newcount\dates@month
-\newcount\dates@date
-\newcount\dates@date@current
-\newcount\dates@three
-\newcount\dates@four
-\newcount\dates@weekd
-\newcount\dates@time@start
-\newcount\dates@time@end
-\newcount\dates@subrange@start
-\newcount\dates@subrange@end
-\newcount\dates@days
-\newcount\dates@lastdate
-\newcount\dates@yearbase
-\newcount\dates@weekd@target
-\newcount\dates@modulo
-\newcount\dates@year@full
-\newcount\dates@extra@day
-\newtoks\dates@reg
-\newtoks\dates@dayname
-\newtoks\dates@shortweekday
-\newtoks\dates@monthname
-\newtoks\dates@shortmonthname
-\newif\ifdates@requiremonth
-\newif\ifdates@requireday
-\newif\ifdates@suppress
-\newif\ifdates@suppress@global
-\newif\ifleapyear
-\let\delim\relax
-\let\dates@serious@brace={
-\def\dates@empty{}
-
-\endinput
-%%
-%% End of file `dates.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/evntlist.sty b/Master/texmf-dist/tex/latex/calendar/evntlist.sty
deleted file mode 100644
index 7182667647b..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/evntlist.sty
+++ /dev/null
@@ -1,109 +0,0 @@
-%%
-%% This is file `evntlist.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% evntlist.dtx (with options: `style')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{evntlist}
- [1997/11/07 10:44:05 2.2 Event List (Frank Bennett)]
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\RequirePackage{calendar}
- \newif\if@el@noheadyet
- \@el@noheadyettrue
- \def\el@output#1{\protected@write\@el@outputfile{}{#1}}
- \def\el@maybeheader{\if@el@noheadyet%
- \begin{itemize}\item\theday\space\themonth\space\theyear\@el@noheadyetfalse\fi}
- \def\el@maybeitem{\if@el@noheadyet\else\item\theday\space\themonth\space\theyear%
- \fi}
-\newcalendar%
-{eventlist}
-{\cal@insert}
-{8}
-{1}
-{1}
-{\relax}
-{I}
-{\relax}
-{\end{itemize}}
-{\relax}
-{\relax}
-{\dates@requiremonthtrue\dates@requiredaytrue}
-{\global\dates@date\cal@range@start%
- \caldate%
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date\cal@range@end%
- \caldate%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date\cal@range@start%
- \caldate}%
-{\item}%
-{\cal@get@appointments\cal@get@events}%
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start=\dates@time@end%
- \protected@edef\cal@entry@text{%
- \thetimestart\space%
- \cal@textcolor{\calcolor}{\thelongtext}}%
- \else%
- \protected@edef\cal@entry@text{%
- \thetimestart--\thetimeend\space%
- \cal@textcolor{\calcolor}{\thelongtext}}%
- \fi%
- \else%
- \protected@edef\cal@entry@text{%
- \cal@textcolor{\calcolor}{\thelongtext}}%
- \fi}%
-{\ifcat$\theevents\theappointments$\else%
-\el@maybeitem%
-\el@maybeheader%
-\fi%
-\bgroup%
-\let\item\par%
-\ifcat$\theevents$\else%
- \par%
- \theevents%
-\fi%
-\egroup%
-\ifcat$\theappointments$\else%
-\begin{itemize}%
-\item%
-\theappointments%
-\end{itemize}%
-\fi}
-\endinput
-%%
-%% End of file `evntlist.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/filoaddr.cls b/Master/texmf-dist/tex/latex/calendar/filoaddr.cls
deleted file mode 100644
index 398c87292b5..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/filoaddr.cls
+++ /dev/null
@@ -1,78 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesClass{filoaddr}
- [1998/01/17 18:15:06 3.1.1.1 Filofax address pages (Frank Bennett)]
-\DeclareOption{fourcolumn}%
- {\PassOptionsToPackage{\CurrentOption}{autofilo}}
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
-\ProcessOptions
-\LoadClass{article}
-\RequirePackage{rotating}
-\RequirePackage{url}
-\def\mygobble#1{}
-\newlength\templen
-\newlength\mytemplength
-\newlength\descheight
-\newlength\myparwidth
-\newlength\descwidth
-\newlength\biggerwidth
-\newlength\myentryheight
-\newlength\myparheight
-\newlength\mylinewidth
-\def\entry#1{%
-\vbox{%
-\vskip2pt
-\topline
-\vskip 2pt
-\parbox{\linewidth}{%
-\raggedright%
-\small#1}
-\vskip 1pt
-\bottomline}}
-\def\topline{%
- \vbox to0pt{%
- \hbox to\linewidth{%
- \hskip-2.4pt%
- \vrule width0.4pt height0pt depth7pt%
- \vrule width\mylinewidth depth0.4pt height0pt%
- \vrule width0.4pt height0pt depth7pt\hskip-2.4pt}%
- \vskip-7pt}}
-\def\bottomline{%
- \vbox to0pt{%
- \vskip-7pt
- \hbox to\linewidth{%
- \hskip-2.4pt%
- \vrule width0.4pt height7pt depth0pt%
- \vrule width\mylinewidth depth0.4pt height0pt%
- \vrule width0.4pt height7pt depth0pt%
- \hskip-2.4pt}}}
-\def\address#1#2{%
- \settoheight\myparheight{\vbox{%
- \boxmaxdepth0pt%
- \parbox{\myparwidth}{\raggedright #2}}}%
- \settowidth\descwidth{\small\textbf{#1}}%
- \ifnum\descwidth>\myparheight\biggerwidth\descwidth\else%
- \biggerwidth\myparheight\fi%
- \vbox{\vskip3pt%
- \hbox to\linewidth{%
- \hskip3pt%
- \vbox to\biggerwidth{%
- \vfil%
- \hbox to\descheight{%
- \begin{sideways}{\small\textbf{#1}}\end{sideways}%
- \hfil}%
- \vfil}%
- \hskip2pt%
- \vbox to\biggerwidth{%
- \vfil%
- \hbox to\myparwidth{%
- \parbox{\myparwidth}{\raggedright #2}}%
- \vfil}}}}
-\def\addresses#1{%
- \autofilo{#1}
- \settoheight\descheight{\vbox{\boxmaxdepth0pt{\small\textbf{Yy}}}}
- \myparwidth\linewidth%
- \advance\myparwidth by-\descheight\relax%
- \advance\myparwidth by-5pt\relax%
- \mylinewidth\linewidth
- \advance\mylinewidth by4pt\relax}
-\def\endaddresses{\endautofilo}
diff --git a/Master/texmf-dist/tex/latex/calendar/hlist.sty b/Master/texmf-dist/tex/latex/calendar/hlist.sty
deleted file mode 100644
index 33082c66c18..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/hlist.sty
+++ /dev/null
@@ -1,114 +0,0 @@
-%%
-%% This is file `hlist.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% htmlstuf.dtx (with options: `htmlevent')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{hlist}
- [1997/11/07 10:44:05 2.2 HTML Event List (Frank Bennett)]
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\ProcessOptions
-\RequirePackage{calendar}
-\define@key{opt}{textnum}{%
- \dates@textnum=#1\relax}
-\define@key{opt}{outputfile}{%
- \@ifundefined{html@outputfile}
- {\newwrite\html@output%
- \gdef\html@outputfile{#1}%
- \immediate\openout\html@output=\html@outputfile}
- {\gdef\el@temp{#1}%
- \ifx\html@outputfile\el@temp%
- \relax%
- \else%
- \immediate\closeout\html@output%
- \gdef\html@outputfile{#1}%
- \immediate\openout\html@output=\html@outputfile\relax%
- \fi}}
-\def\el@item{<LI><A NAME="\the\dates@date">\theday\space\themonth\space\theyear</A>}
-\newcalendar%
-{htmllist}
-{\el@output}
-{8}
-{1}
-{1}
-{}
-{I}
-{<UL>}
-{</UL>}
-{}
-{}
-{\dates@requiremonthtrue\dates@requiredaytrue}
-{\global\dates@date\cal@range@start%
- \caldate%
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date\cal@range@end%
- \caldate%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date\cal@range@start%
- \caldate%
- \def\el@output##1{\ifcat$##1$\else\immediate\write\html@output{##1}\fi}}%
-{}%
-{\cal@get@appointments\cal@get@events}%
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start=\dates@time@end%
- \protected@edef\cal@entry@text{%
- ^^J\space\space\space\space<LI>\thetimestart\space%
- \thelongtext}%
- \else%
- \protected@edef\cal@entry@text{%
- ^^J\space\space\space\space<LI>\thetimestart--\thetimeend\space%
- \thelongtext}%
- \fi%
- \else%
- \protected@edef\cal@entry@text{%
- ^^J<BR>\thelongtext}%
- \fi}%
-{\ifcat$\theevents\theappointments$\else%
-\el@item%
-\fi%
-\ifcat$\theevents$\else%
- \theevents%
-\fi%
-\ifcat$\theappointments$\else%
- ^^J\space\space\space\space<UL>%
- \theappointments%
- ^^J\space\space\space\space</UL>%
-\fi}
-\endinput
-%%
-%% End of file `hlist.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/hml.sty b/Master/texmf-dist/tex/latex/calendar/hml.sty
deleted file mode 100644
index 35c5506d203..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/hml.sty
+++ /dev/null
@@ -1,75 +0,0 @@
-%%
-%% This is file `hml.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% htmlstuf.dtx (with options: `htmlmonthevent')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{hml}
- [1997/11/06 07:33:21 2.1.1.6 HTML calendar (Frank Bennett)]
-\RequirePackage{hmonth}
-\RequirePackage{hlist}
-\newtoks\hml@one
-\newtoks\hml@two
-\def\htmlmonthlist#1#2{%
- \hml@one={#1}
- \hml@two={#2}
- \dateread{}}
-\def\endhtmlmonthlist{%
- \ifnum\dates@subrange@start=0%
- \dates@subrange@start\dates@date%
- \dates@subrange@end\dates@date%
- \fi%
- \global\dates@date\dates@subrange@start%
- \global\dates@day=1\relax%
- \dates@fix%
- \cal@range@start\dates@date%
- \global\dates@date\dates@subrange@end%
- \caldate%
- \global\dates@day\dates@days%
- \dates@fix%
- \cal@range@end\dates@date%
- \global\dates@date=\cal@range@start
- \caldate
- \edef\hml@start{\theday\space\themonth\space\theyear\space}
- \global\dates@date=\cal@range@end
- \caldate
- \edef\hml@end{\theday\space\themonth\space\theyear}
- \edef\hml@range{\hml@start to \hml@end\space}
- \edef\hml@htmlmonth{\noexpand\begin{htmlmonth}{\the\hml@one}{\the\hml@two}}
- \edef\hml@htmllist{\noexpand\begin{htmllist}{\the\hml@one}{\the\hml@two}}
- \expandafter\hml@htmlmonth\hml@range\end{htmlmonth}
- \expandafter\hml@htmllist\hml@range\end{htmllist}x}
-
-\endinput
-%%
-%% End of file `hml.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/hmonth.sty b/Master/texmf-dist/tex/latex/calendar/hmonth.sty
deleted file mode 100644
index 5578ee44939..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/hmonth.sty
+++ /dev/null
@@ -1,180 +0,0 @@
-%%
-%% This is file `hmonth.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% htmlstuf.dtx (with options: `htmlmonth')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{hmonth}
- [1998/01/17 18:15:02 3.1.1.1 HTML calendar (Frank Bennett)]
-\RequirePackage{calendar}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\define@key{opt}{title}{%
- \def\yrly@title{#1}}
-\define@key{opt}{labels}{%
- \@storelabels#1,,{}}
-\define@key{opt}{firstday}{%
- \yrly@firstday=#1}
-\define@key{opt}{outputfile}{%
- \@ifundefined{html@outputfile}
- {\newwrite\html@output
- \gdef\html@outputfile{#1}%
- \immediate\openout\html@output=\html@outputfile}
- {\gdef\hm@temp{#1}%
- \ifx\html@outputfile\hm@temp%
- \relax%
- \else%
- \immediate\closeout\html@output%
- \gdef\html@outputfile{#1}%
- \immediate\openout\html@output=\html@outputfile\relax
- \fi}}
-\def\yrly@title{\themonth}
-\newcount\yrly@firstday
-\yrly@firstday=3\relax
-\newtoks\yrly@tempreg@a
-\newcount\yrly@tempcount
-\def\@storelabels{%
- \def\yrly@labeltext{}%
- \@@storelabels}
-\def\@@storelabels#1,#2#{%
- \ifcat$#1$%
- \yrly@tempreg@a=\expandafter{\yrly@labeltext}%
- \edef\yrly@labeltext{\the\yrly@tempreg@a}%
- \let\next\@gobble%
- \else%
- \let\next\@@storelabels%
- \yrly@tempreg@a=\expandafter{\yrly@labeltext}%
- \protected@edef\yrly@labeltext{\the\yrly@tempreg@a\space#1}%
- \fi%
- \next#2{}}
-\newcount\thumbnails%
-\newtoks\hm@line@a%
-\def\hm@line{}
-\def\hm@writeout#1{%
- \edef\hm@temp{#1}%
- \immediate\write\html@output{\hm@line\hm@temp}%
- \def\hm@line{}}
-\def\hm@spaces{\ifcase\hm@spacenum\or\space\or\space\space\or\space\space\space%
- \or\space\space\space\space\fi}
-\newcount\hm@spacenum
-\newcalendar%
- {htmlmonth}
- {\el@output}
- {\yrly@firstday}
- {\dates@days}
- {7}
- {\hm@spaces}
- {I}
- {<pre><B>\themonth</B>^^J\yrly@labeltext^^J}%
- {^^J^^J</pre>}
- {\cal@footer%
- \cal@header}
- {^^J}
- {}
- {\global\dates@day=1%
- \dates@fix%
- \cal@range@start\dates@date%
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date\cal@range@end%
- \caldate%
- \global\dates@day\dates@days%
- \dates@fix%
- \cal@range@end\dates@date%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date=\cal@range@start%
- \caldate%
- \@ifundefined{yrly@labeltext}{%
- \def\yrly@defaultlabels{}%
- \yrly@tempcount=1%
- \global\advance\dates@date by-\dates@weekd%
- \global\advance\dates@date by\yrly@firstday%
- \caldate%
- \loop%
- \yrly@tempreg@a=\expandafter{\yrly@defaultlabels}%
- \edef\yrly@defaultlabels{\the\yrly@tempreg@a\theshortweekday,}%
- \ifnum\yrly@tempcount<7%
- \global\advance\dates@date by1%
- \caldate%
- \advance\yrly@tempcount by 1\relax%
- \repeat%
- \expandafter\@storelabels\yrly@defaultlabels,,{}%
- \dates@date\cal@range@start%
- \caldate}%
- {}%
- \def\el@output##1{%
- \def\hm@temp{##1}%
- \def\hm@temptwo{\cal@groupbreak}%
- \ifx\hm@temp\hm@temptwo%
- \hm@spacenum=4\relax%
- \fi%
- \ifnum\cal@subgroup@count>6\relax%
- \hm@writeout{##1}%
- \else%
- \def\hm@temptwo{\cal@footer}%
- \ifx\hm@temp\hm@temptwo%
- \hm@writeout{##1}%
- \else%
- \hm@line@a=\expandafter{\hm@line}%
- \edef\hm@line{\the\hm@line@a\hm@temp}%
- \fi%
- \fi}%
- \hm@spacenum=4\relax}%
- {}%
- {\ifnum\dates@day<9\hm@spacenum=3\else\hm@spacenum=2\fi%
- \cal@get@appointments\cal@get@events}%
- {\protected@edef\cal@entry@text{X}}%
- {\ifnum\dates@weekd=\yrly@firstday%
- \hm@spaces%
- \ifnum\theday=9%
- \space\space%
- \fi%
- \else%
- \ifnum\dates@day=1%
- \space\hm@spaces%
- \fi%
- \fi%
- \ifcat$\theappointments\theevents$%
- \else%
- <A HREF="\expandafter\@gobble\string\#\the\dates@date">%
- \fi%
- \theday%
- \ifcat$\theappointments\theevents$%
- \else%
- </A>%
- \fi}
-\endinput
-%%
-%% End of file `hmonth.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/hpplotsz.sty b/Master/texmf-dist/tex/latex/calendar/hpplotsz.sty
deleted file mode 100644
index cb8e17f5a4a..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/hpplotsz.sty
+++ /dev/null
@@ -1,14 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{hpplotsz}
- [1997/11/07 Custom page sizes with HP 6xx series plotters (Frank Bennett)]
-\newlength\hps@templen
-\newwrite\hps@pagesizeheader
-\newcount\hps@orientation
-\def\hps@@strip#1.#2\end{#1}
-\def\hps@strip#1{\expandafter\hps@@strip\the#1\end}
-\def\sethpplotsize{%
- \ifnum\hsize>\vsize\hps@orientation=3\else\hps@orientation=0\fi
- \immediate\openout\hps@pagesizeheader=./\jobname.hps
- \immediate\write\hps@pagesizeheader{%
- <</PageSize [\hps@strip\paperwidth\space\hps@strip\paperheight] /Orientation \the\hps@orientation>>setpagedevice}
- \immediate\closeout\hps@pagesizeheader}
diff --git a/Master/texmf-dist/tex/latex/calendar/margins.sty b/Master/texmf-dist/tex/latex/calendar/margins.sty
deleted file mode 100644
index 26888f3cd6e..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/margins.sty
+++ /dev/null
@@ -1,25 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{margins}
- [1997/11/07 Simple margin control (Frank Bennett)]
-\def\margins#1{%
- \headheight=0pt
- \headsep=0pt
- \topmargin=-1in
- \oddsidemargin=-1in
- \evensidemargin=-1in
- \advance\topmargin by#1
- \advance\oddsidemargin by#1
- \advance\evensidemargin by#1
- \textwidth=\paperwidth
- \advance\textwidth by-#1
- \advance\textwidth by-#1
- \hsize=\textwidth
- \textheight=\paperheight
- \advance\textheight by-#1
- \advance\textheight by-#1
- \vsize=\textheight
- \@colroom=\vsize
- \@colht=\vsize}
-\endinput
-
-
diff --git a/Master/texmf-dist/tex/latex/calendar/monthly.sty b/Master/texmf-dist/tex/latex/calendar/monthly.sty
deleted file mode 100644
index 5dfe8d0846b..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/monthly.sty
+++ /dev/null
@@ -1,222 +0,0 @@
-%%
-%% This is file `monthly.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% monthly.dtx (with options: `class')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{monthly}
- [1998/01/17 18:15:10 3.1.1.1 Monthly Calendar (Frank Bennett)]
-\newcount\mon@tempcount
-\newcount\mon@firstday
-\newtoks\mon@tempreg@b
-\newlength\mon@tablewidth
-\newtoks\mon@tempreg@a
-\newlength{\mon@vh}
-\newlength{\mon@hw}
-\newlength{\mon@templen}
-\newlength{\mon@heightlessboxes}
-\newlength{\mon@widthlessboxes}
-\newif\ifmon@explicittitle
-\newif\ifmon@shortdays
-\newlength{\mon@oddsidemargin}
-\newlength{\mon@evensidemargin}
-\newlength{\mon@topmargin}
-\newif\ifmon@usedgeometry
-\newlength{\mon@adjustment}
-\newlength{\mon@textwidth}
-\newlength{\mon@textheight}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\RequirePackage{array}[1996/06/14]
-\RequirePackage{calendar}
- \def\mon@settableheight{%
- \setlength{\mon@vh}{\vsize}%
- \addtolength{\mon@vh}{-0.001pt}}%
- \def\mon@settablewidth{%
- \setlength{\mon@tablewidth}{\hsize}}%
-
-\define@key{opt}{title}{%
- \def\mon@title{#1}\mon@explicittitletrue}
-\define@key{opt}{labels}{%
- \@storelabels#1,,{}}
-\define@key{opt}{shortdays}{%
- \mon@shortdaystrue}
-\define@key{opt}{firstday}{%
- \mon@firstday=#1}
-\define@key{opt}{titletype}{\def\mon@titletype{#1}}
-\define@key{opt}{daynametype}{\def\mon@nametype{#1}}
-\define@key{opt}{datetype}{\def\mon@datetype{#1}}
-\define@key{opt}{texttype}{\def\mon@texttype{#1}}
-\mon@firstday=0%
-\def\@storelabels{%
- \def\mon@labeltext{}%
- \@@storelabels}
-\def\@@storelabels#1,#2#{%
- \ifcat$#1$%
- \mon@tempreg@a=\expandafter\expandafter\expandafter{%
- \expandafter\@gobble\mon@labeltext}%
- \protected@edef\mon@labeltext{\the\mon@tempreg@a}%
- \let\next\@gobble%
- \else%
- \let\next\@@storelabels%
- \mon@tempreg@a=\expandafter{\mon@labeltext}%
- \protected@edef\mon@labeltext{\the\mon@tempreg@a&#1}%
- \fi%
- \next#2{}}
-\def\mon@theweekday{\ifmon@shortdays\theshortweekday\else%
- \theweekday\fi}%
-\def\mon@titletype{\large\bfseries}%
-\def\mon@daynametype{\bfseries}%
-\def\mon@datetype{\bfseries}%
-\def\mon@texttype{\tiny}%
-\mon@firstday=0%
-\newcalendar%
-{monthly}
-{\cal@insert}
-{\mon@firstday}
-{\dates@days}
-{7}
-{&}
-{I}
-{\mon@header}
-{\\\hline\end{tabular}}
-{\cal@footer\newpage\cal@header}
-{\\\hline}
-{\dates@requiremonthtrue}
-{\dates@day=1%
- \dates@fix%
- \caldate%
- \cal@range@start\dates@date%
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date\cal@range@end%
- \caldate%
- \dates@day\dates@days%
- \dates@fix%
- \caldate%
- \cal@range@end\dates@date%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date=\cal@range@start%
- \caldate%
- \mon@settablewidth%
- \mon@settableheight%
- \settoheight{\mon@templen}{\vbox{\boxmaxdepth=0pt%
- \begin{tabular}{c}%
- \mon@titletype%
- \the\dates@monthname%
- \end{tabular}}}%
- \setlength{\mon@heightlessboxes}{\mon@templen}%
- \settoheight{\mon@templen}{\vbox{\boxmaxdepth=0pt%
- \begin{tabular}{c}%
- \mon@daynametype%
- Monday%
- \end{tabular}}}%
- \addtolength{\mon@heightlessboxes}{\mon@templen}%
- \addtolength{\mon@heightlessboxes}{10\arrayrulewidth}%
- \addtolength{\mon@heightlessboxes}{\doublerulesep}%
- \addtolength{\mon@heightlessboxes}{\mon@adjustment}%
- \addtolength{\mon@heightlessboxes}{2pt}%
- \addtolength{\mon@vh}{-\mon@heightlessboxes}%
- \divide\mon@vh by6%
- \setlength{\mon@hw}{\mon@tablewidth}%
- \setlength{\mon@widthlessboxes}{8\arrayrulewidth}%
- \addtolength{\mon@hw}{-\mon@widthlessboxes}%
- \addtolength{\mon@hw}{-14\tabcolsep}%
- \divide\mon@hw by7\relax%
- \@ifundefined{mon@labeltext}{%
- \def\mon@defaultlabels{}%
- \mon@tempcount=1%
- \advance\dates@date by-\dates@weekd%
- \advance\dates@date by\mon@firstday%
- \caldate%
- \loop%
- \mon@tempreg@a=\expandafter{\mon@defaultlabels}%
- \edef\mon@defaultlabels{\the\mon@tempreg@a\mon@theweekday,}%
- \ifnum\mon@tempcount<7%
- \advance\dates@date by1%
- \caldate%
- \advance\mon@tempcount by 1\relax%
- \repeat%
- \expandafter\@storelabels\mon@defaultlabels,,{}%
- \dates@date\cal@range@start%
- \caldate}%
- {}%
- \def\mon@settitle{\ifmon@explicittitle\else%
- \def\mon@title{\themonth\space\theyear}\fi}%
- \protected@edef\mon@header{%
- \noexpand\mon@settitle%
- \noexpand\begin{tabular}{|c|c|c|c|c|c|c|}%
- \noexpand\hline%
- \noexpand\multicolumn{7}{|c|}{\mon@titletype%
- \noexpand\mon@title}\noexpand\\%
- \noexpand\hline\noexpand\hline%
- \mon@labeltext\noexpand\\%
- \noexpand\hline}}%
-{\par}%
-{\cal@get@appointments\cal@get@events}%
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start=\dates@time@end%
- \protected@edef\cal@entry@text{%
- \thetimestart\space%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \else%
- \protected@edef\cal@entry@text{%
- \thetimestart--\thetimeend\space%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \fi%
- \else%
- \protected@edef\cal@entry@text{%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \fi}%
-{\vbox to\mon@vh{%
- \vskip\medskipamount%
- \hbox{\parbox{\mon@hw}{\mon@datetype\theday}}%
- \ifcat$\theevents$%
- \else%
- \vskip\smallskipamount%
- \hbox{\parbox{\mon@hw}{\raggedright%
- \mon@texttype\theevents}}%
- \fi%
- \ifcat$\theappointments$%
- \else%
- \vskip\smallskipamount%
- \hbox{\parbox{\mon@hw}{\raggedright%
- \mon@texttype\theappointments}}%
- \fi%
- \vfil}}%
-\endinput
-%%
-%% End of file `monthly.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/overword.sty b/Master/texmf-dist/tex/latex/calendar/overword.sty
deleted file mode 100644
index 045ed97378b..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/overword.sty
+++ /dev/null
@@ -1,91 +0,0 @@
-%%
-%% This is file `overword.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% overword.dtx (with options: `style')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{overword}
- [1998/01/17 18:15:15 3.1.1.1 Overword parsing support (Frank Bennett)]
-\long\def\@ifoverword#1#2#3#4{%
- \let\reserved@a=#1%
- \def\reserved@d{#4}\def\reserved@b{#2}\def\reserved@c{#3}%
- \global\let\@overword\relax%
- \futurelet\@let@token\@ifowd}
-\long\def\@ifowd{%
- \ifx\@let@token\@sptoken%
- \gdef\@preoverwordspace{ }%
- \let\reserved@e\@xifowd%
- \else%
- \ifx\@let@token\end%
- \let\reserved@e\reserved@d%
- \else%
- \ifx\@let@token\par%
- \let\reserved@e\@xifpargobble%
- \else%
- \long\def\reserved@e##1 {\long\gdef\@overword{##1}\@@ifowd}%
- \fi%
- \fi%
- \fi%
- \reserved@e}
-\long\def\@xifpargobble#1{\futurelet\@let@token\@ifowd}
-\def\:{\@xifowd} \expandafter\def\: {\futurelet\@let@token\@ifowd}
-\def\@@ifowd{\futurelet\@let@token\@ifnparnch}
-\long\def\@ifnextnparchar#1#2#3#4{%
- \let\reserved@a=#1%
- \def\reserved@b{#2}\def\reserved@c{#3}\def\reserved@d{#4}%
- \futurelet\@let@token\@ifnparnch}
-\long\def\@ifnparnch{%
- \ifx\@let@token\@sptoken%
- \let\reserved@e\@xifnparnch%
- \else%
- \ifx\@let@token\end%
- \let\reserved@e\reserved@d%
- \else%
- \ifx\@let@token\par%
- \let\reserved@e\@xifpargobblench%
- \else%
- \ifx\@let@token\reserved@a%
- \let\reserved@e\reserved@b%
- \else%
- \let\reserved@e\reserved@c%
- \fi%
- \fi%
- \fi%
- \fi%
- \reserved@e}
-\long\def\@xifpargobblench#1{\futurelet\@let@token\@ifnparnch}
-\def\:{\@xifnparnch}
-\expandafter\def\: {\futurelet\@let@token\@ifnparnch}
-\endinput
-%%
-%% End of file `overword.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/timesht.sty b/Master/texmf-dist/tex/latex/calendar/timesht.sty
deleted file mode 100644
index 88728115d54..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/timesht.sty
+++ /dev/null
@@ -1,314 +0,0 @@
-%%
-%% This is file `timesht.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% timesht.dtx (with options: `package')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{timesht}
- [1998/01/17 18:15:23 3.1.1.1 Timesheet (Frank Bennett)]
-\newif\iftms@usetimes
-\tms@usetimestrue
-\newlength\tms@tablewidth
-\newlength{\tms@hw}
-\newlength{\tms@templen}
-\newlength{\tms@widthlessboxes}
-\newlength{\tms@timetextlen}
-\newtoks\tms@tempreg@a
-\newtoks\tms@tempreg@b
-\newcount\tms@tempcount
-\newcount\tms@start
-\newcount\tms@end
-\newcount\tms@minuteblocks
-\newcount\tms@boxes
-\newcount\tms@days
-\newcount\tms@blocks
-\newcount\tms@time@start
-\newcount\tms@time@end
-\newcount\tms@hours@start
-\newcount\tms@minutes@start
-\newcount\tms@hours@end
-\newcount\tms@minutes@end
-\newcount\tms@minute@base
-\newlength{\tms@numlen}
-\newcount\tms@rightprop
-\newcount\tms@leftprop
-\newcount\tms@groupblocks
-\newcount\tms@groupblockcount
-\tms@groupblockcount=1%
-\newlength{\tms@colonlen}
-\newlength{\tms@dashlen}
-\newlength{\tms@leftlen}
-\newlength{\tms@rightlen}
-\tms@leftprop=1%
-\tms@rightprop=1%
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\RequirePackage{longtable}
-\RequirePackage{array}[1996/06/14]
-\RequirePackage{calendar}
-\RequirePackage{keyval}
-\tracingdates=0%
-\define@key{opt}{leftspace}{\setlength{\LTleft}{#1}}
-\define@key{opt}{rightspace}{\setlength{\LTright}{#1}}
-\define@key{opt}{width}{\setlength{\tms@tablewidth}{#1}}
-\define@key{opt}{title}{\def\tms@title{#1}}
-\define@key{opt}{start}{\@settime\tms@start#1{}}
-\define@key{opt}{end}{\@settime\tms@end#1{}}
-\define@key{opt}{blockminutes}{\tms@minuteblocks=#1\relax}
-\define@key{opt}{blockgroup}{\tms@groupblocks=#1\relax}
-\define@key{opt}{leftright}{\tms@extractprops#1{}}
-\define@key{opt}{titletype}{\def\tms@titletype##1{{#1{##1}}}}
-\define@key{opt}{labeltype}{\def\tms@labeltype##1{{#1{##1}}}}
-\define@key{opt}{timelabeltype}{\def\tms@timelabeltype##1{{#1{##1}}}}
-\define@key{opt}{timeitemtype}{\def\tms@timeitemtype##1{{#1{##1}}}}
-\define@key{opt}{itemtype}{\def\tms@itemtype##1{{#1{##1}}}}
-\define@key{opt}{notimes}[f]{\tms@usetimesfalse}
-\def\tms@extractprops#1/#2#{%
- \tms@leftprop=#1\tms@rightprop=#2}
-\def\@settime#1#2:#3#{%
- \tms@tempcount=#2%
- \multiply\tms@tempcount by60%
- \advance\tms@tempcount by#3%
- \global#1\tms@tempcount}
-\def\@splitblocks#1-#2#{%
- \def\@blockstarttext{#1}%
- \def\@blockendtext{#2}}
-\def\@setblocks#1,#2#{%
- \ifcat$#1$%
- \let\next\@gobble%
- \else%
- \let\next\@setblocks%
- \global\advance\tms@blocks by 1%
- \@splitblocks#1{}%
- \expandafter\@settime%
- \expandafter\tms@time@start\@blockstarttext{}%
- \expandafter\@settime%
- \expandafter\tms@time@end\@blockendtext{}%
- \let\tms@tempmac\tms@blocklist%
- \edef\tms@blocklist{%
- \tms@tempmac\the\tms@time@start-\the\tms@time@end,}%
- \fi%
- \next#2{}}
-\def\tms@chopblock#1-#2,#3#{%
- \global\tms@time@start=#1%
- \global\tms@time@end=#2%
- \gdef\tms@blocklist{#3}}%
-\def\tms@labellist{}%
-\def\@extractlabels#1,#2#{%
- \ifcat$#1$%
- \tms@tempreg@a=\expandafter{\tms@labellist}%
- \edef\tms@label##1{%
- \noexpand\ifcase##1\the\tms@tempreg@a\noexpand\fi}%
- \let\next\@gobble%
- \else%
- \let\next\@extractlabels%
- \let\tms@tempmac\tms@labellist%
- \expandafter\def%
- \expandafter\tms@labellist%
- \expandafter{%
- \tms@tempmac\or #1}%
- \fi%
- \next#2{}}
-\def\tms@titletype#1{{\Large\bfseries#1}}%
-\def\tms@labeltype#1{{\large\bfseries#1}}%
-\def\tms@timelabeltype#1{{\bfseries#1}}
-\def\tms@timeitemtype#1{{\large#1}}
-\def\tms@itemtype#1{{\small#1}}
-\def\tms@title{\themonth\space\theday,\space\theyear}
-\@settime\tms@start8:00{}
-\@settime\tms@end17:00{}
-\tms@minuteblocks=15\relax%
-\def\tms@blocklist{}%
-\def\tms@label#1{\themonth\space\theday}%
-\tms@groupblocks=4\relax%
-\tms@extractprops4/5{}
-\newcalendar%
-{timesheet}
-{\cal@insert}
-{7}
-{\tms@blocks}
-{1}
-{&}
-{G\tms@gettimes}
-{\tms@header}
-{&%
- \global\tms@groupblockcount=1\relax%
- \\\hline%
- \end{longtable}}%
-{\cal@footer\newpage\cal@header}
-{&%
- \ifnum\tms@groupblockcount<\tms@groupblocks%
- \\*\cline{1-4}%
- \global\advance\tms@groupblockcount by1\relax%
- \else%
- \\\hline%
- \global\tms@groupblockcount=1\relax%
- \fi%
- \tms@timecoltext}
-{\dates@requiremonthtrue\dates@requiredaytrue
- \setlength{\tms@tablewidth}{\textwidth}
- \def\tms@blocklist{}}
-{\message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date\cal@range@end%
- \caldate%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date\cal@range@start%
- \caldate%
-\relax%
-\tms@blocks\tms@end%
-\advance\tms@blocks by-\tms@start%
-\divide\tms@blocks by\tms@minuteblocks%
- \def\tms@gettimes{%
- \ifcat$\tms@blocklist$%
- \tms@time@start\cal@group@count%
- \multiply\tms@time@start by\tms@minuteblocks%
- \global\advance\tms@time@start by\tms@start%
- \tms@time@end\tms@time@start%
- \global\advance\tms@time@end by\tms@minuteblocks%
- \else%
- \expandafter\tms@chopblock\tms@blocklist-,{}%
- \fi%
- \mod{60}\tms@time@start\tms@minutes@start%
- \tms@hours@start\dates@three%
- \divide\tms@hours@start by60%
- \mod{60}\tms@time@end\tms@minutes@end%
- \tms@hours@end\dates@three%
- \divide\tms@hours@end by60%
- \ifnum\tms@minutes@start<10%
- \edef\tms@minutes@start@mac{0\the\tms@minutes@start}%
- \else%
- \edef\tms@minutes@start@mac{\the\tms@minutes@start}%
- \fi%
- \ifnum\tms@minutes@end<10%
- \edef\tms@minutes@end@mac{0\the\tms@minutes@end}%
- \else%
- \edef\tms@minutes@end@mac{\the\tms@minutes@end}%
- \fi%
- \xdef\tms@timecoltext{%
- \noexpand\tms@timelabeltype{\the\tms@hours@start}&%
- \noexpand\tms@timelabeltype{\tms@minutes@start@mac}&%
- \noexpand\tms@timelabeltype{\the\tms@hours@end}&%
- \noexpand\tms@timelabeltype{\tms@minutes@end@mac}&}}%
-\message{Package Timesheet: %
- setting table \the\tms@tablewidth\space in width.^^J}%
- \setlength{\tms@widthlessboxes}{2\arrayrulewidth}%
- \addtolength{\tms@widthlessboxes}{3\arrayrulewidth}%
- \addtolength{\tms@widthlessboxes}{\doublerulesep}%
- \addtolength{\tms@widthlessboxes}{6\tabcolsep}%
- \settowidth{\tms@numlen}{\tms@timelabeltype{99}}%
- \settowidth{\tms@colonlen}{\tms@timelabeltype{:}}%
- \settowidth{\tms@dashlen}{\tms@timelabeltype{\ --\ }}%
- \addtolength{\tms@widthlessboxes}{4\tms@numlen}%
- \addtolength{\tms@widthlessboxes}{2\tms@colonlen}%
- \addtolength{\tms@widthlessboxes}{\tms@dashlen}%
- \tms@tempcount\tms@leftprop%
- \advance\tms@tempcount by\tms@rightprop%
- \setlength{\tms@templen}{\tms@tablewidth}%
- \addtolength{\tms@templen}{-\tms@widthlessboxes}%
- \tms@leftlen\tms@templen%
- \divide\tms@leftlen by\tms@tempcount%
- \global\multiply\tms@leftlen by\tms@leftprop%
- \tms@rightlen\tms@templen%
- \divide\tms@rightlen by\tms@tempcount%
- \global\multiply\tms@rightlen by\tms@rightprop%
- \tms@tempcount\tms@days%
- \advance\tms@tempcount by1%
- \protected@edef\tms@header{%
- \noexpand\begin{longtable}{%
- |>{\hfill}%
- m{\the\tms@numlen}%
- @{\tms@timelabeltype{:}}%
- m{\the\tms@numlen}%
- @{\tms@timelabeltype{\ --\ }}%
- >{\hfill}%
- m{\the\tms@numlen}%
- @{\tms@timelabeltype{:}}%
- m{\the\tms@numlen}%
- |%
- m{\the\tms@leftlen}||%
- m{\the\tms@rightlen}|}%
- \noexpand\multicolumn{6}{c}%
- {\tms@titletype{\noexpand\tms@title}}%
- \\%
- \noexpand\multicolumn{4}{l}{}%
- &%
- \noexpand\multicolumn{1}{c}{\textbf{Plan}}&%
- \noexpand\multicolumn{1}{c}{\textbf{Action}}%
- \noexpand\\\noexpand\hline%
- \noexpand\endhead%
- \noexpand\tms@timecoltext}%
- \extrarowheight=3pt}
-{\par\smallskip}%
-{\cal@get@appointments[\tms@time@start/\tms@time@end]}%
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start<\tms@time@start%
- \protected@edef\cal@entry@text{%
- \noexpand\parbox{\the\tms@leftlen}{\noexpand\raggedright%
- \noexpand\tms@itemtype{%
- \noexpand$\noexpand<\noexpand$%
- \theshorttext, to \cal@appt@end@text%
- \noexpand$\noexpand>\noexpand$}}}%
- \else%
- \ifnum\dates@time@start<\dates@time@end%
- \protected@edef\cal@entry@text{%
- \noexpand\parbox{\the\tms@leftlen}{\noexpand\raggedright%
- \iftms@usetimes%
- \noexpand\tms@timeitemtype{%
- \cal@appt@start@text%
- --%
- \cal@appt@end@text}%
- \space%
- \fi%
- \noexpand\tms@itemtype{%
- \thelongtext}}}%
- \else%
- \protected@edef\cal@entry@text{%
- \noexpand\parbox{\the\tms@leftlen}{\noexpand\raggedright%
- \iftms@usetimes%
- \noexpand\tms@timeitemtype{%
- \cal@appt@start@text}%
- \space%
- \fi%
- \tms@itemtype{\thelongtext}}}%
- \fi%
- \fi%
- \fi}%
-{\theappointments}
-\message{Done loading style}
-\endinput
-%%
-%% End of file `timesht.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/timetabl.sty b/Master/texmf-dist/tex/latex/calendar/timetabl.sty
deleted file mode 100644
index eb0de52405a..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/timetabl.sty
+++ /dev/null
@@ -1,328 +0,0 @@
-%%
-%% This is file `timetabl.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% timetabl.dtx (with options: `package')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{timetabl}
- [1998/01/17 18:15:28 3.1.1.1 Timetable (Frank Bennett)]
-\newif\ifttbl@usecolor
-\newif\ifttbl@verbose
-\newlength\ttbl@tablewidth
-\newlength{\ttbl@hw}
-\newlength{\ttbl@templen}
-\newlength{\ttbl@widthlessboxes}
-\newlength{\ttbl@timetextlen}
-\newtoks\ttbl@tempreg@a
-\newtoks\ttbl@tempreg@b
-\newcount\ttbl@tempcount
-\newcount\ttbl@start
-\newcount\ttbl@end
-\newcount\ttbl@minuteblocks
-\newcount\ttbl@boxes
-\newcount\ttbl@days
-\newcount\ttbl@blocks
-\newcount\ttbl@time@start
-\newcount\ttbl@time@end
-\newcount\ttbl@hours@start
-\newcount\ttbl@minutes@start
-\newcount\ttbl@hours@end
-\newcount\ttbl@minutes@end
-\newcount\ttbl@minute@base
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\RequirePackage{array}[1996/06/14]
-\RequirePackage{calendar}
-\RequirePackage{longtable}
-\RequirePackage{rotating}
- \def\ttbl@settablewidth{%
- \setlength{\ttbl@tablewidth}{\hsize}}%
-\tracingdates=0%
-\define@key{opt}{leftspace}{\setlength{\LTleft}{#1}}
-\define@key{opt}{rightspace}{\setlength{\LTright}{#1}}
-\define@key{opt}{width}{\setlength{\ttbl@tablewidth}{#1}}
-\define@key{opt}{title}{\def\ttbl@title{#1}}
-\define@key{opt}{start}{\@settime\ttbl@start#1{}}
-\define@key{opt}{end}{\@settime\ttbl@end#1{}}
-\define@key{opt}{blockminutes}{\ttbl@minuteblocks=#1}
-\define@key{opt}{blocks}{\@setblocks#1,,{}}
-\define@key{opt}{labels}{\@extractlabels#1,,{}}
-\define@key{opt}{timeitemface}{\def\ttbl@timeitemface##1{{#1{##1}}}}
-\define@key{opt}{timelabelface}{\def\ttbl@timelabelface##1{{#1{##1}}}}
-\define@key{opt}{itemface}{\def\ttbl@itemface##1{{#1{##1}}}}
-\define@key{opt}{titleface}{\def\ttbl@titleface##1{{#1{##1}}}}
-\define@key{opt}{labelface}{\def\ttbl@labelface##1{{#1{##1}}}}
-\define@key{opt}{notimes}[f]{\@ttbl@usetimesfalse}
-\define@key{opt}{footer}{\def\ttbl@foot{#1}}
-\define@key{opt}{extralabelheight}{\ttbl@extralabelheight=#1}
-\newlength\ttbl@extralabelheight
-\newlength\ttbl@labelstrut%
-\newlength\ttbl@labelstrutbuf%
-\def\@settime#1#2:#3#{%
- \ttbl@tempcount=#2%
- \multiply\ttbl@tempcount by60%
- \advance\ttbl@tempcount by#3%
- \global#1\ttbl@tempcount}
-\def\@splitblocks#1-#2#{%
- \def\@blockstarttext{#1}%
- \def\@blockendtext{#2}}
-\def\@setblocks#1,#2#{%
- \ifcat$#1$%
- \let\next\@gobble%
- \else%
- \let\next\@setblocks%
- \global\advance\ttbl@blocks by 1%
- \@splitblocks#1{}%
- \expandafter\@settime%
- \expandafter\ttbl@time@start\@blockstarttext{}%
- \expandafter\@settime%
- \expandafter\ttbl@time@end\@blockendtext{}%
- \let\ttbl@tempmac\ttbl@blocklist%
- \edef\ttbl@blocklist{%
- \ttbl@tempmac\the\ttbl@time@start-\the\ttbl@time@end,}%
- \fi%
- \next#2{}}
-\def\ttbl@chopblock#1-#2,#3#{%
- \global\ttbl@time@start=#1%
- \global\ttbl@time@end=#2%
- \gdef\ttbl@blocklist{#3}}%
-\def\ttbl@labellist{}%
-\def\@extractlabels#1,#2#{%
- \ifcat$#1$%
- \ttbl@tempreg@a=\expandafter{\ttbl@labellist}%
- \edef\ttbl@label##1{%
- \noexpand\ifcase##1\the\ttbl@tempreg@a\noexpand\fi}%
- \let\next\@gobble%
- \else%
- \let\next\@extractlabels%
- \let\ttbl@tempmac\ttbl@labellist%
- \expandafter\def%
- \expandafter\ttbl@labellist%
- \expandafter{%
- \ttbl@tempmac\or #1}%
- \fi%
- \next#2{}}
-\def\ttbl@title{Conference Schedule}
-\@settime\ttbl@start8:00{}
-\@settime\ttbl@end17:00{}
-\ttbl@minuteblocks=60%
-\def\ttbl@blocklist{}%
-\def\ttbl@label#1{\themonth\space\theday}%
-\def\ttbl@timeitemface#1{{\small{#1}}}%
-\def\ttbl@timelabelface#1{{\small\textbf{#1}}}%
-\def\ttbl@itemface#1{{\small\textit{#1}}}%
-\def\ttbl@titleface#1{{\large\textbf{#1}}}%
-\def\ttbl@labelface#1{{\textbf{#1}}}%
-\newif\if@ttbl@usetimes%
-\@ttbl@usetimestrue%
-\def\ttbl@foot{}%
-\newcalendar%
-{timetable}
-{\cal@insert}
-{7}
-{\ttbl@boxes}
-{\ttbl@days}
-{&}
-{z\ttbl@gettimes}
-{\extrarowheight=3pt\ttbl@header}
-{\\\hline\end{longtable}}%
-{\cal@footer\newpage\cal@header}
-{\\\hline\ttbl@timecoltext}
-{\dates@requiremonthtrue\dates@requiredaytrue}
-{\message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date\cal@range@end%
- \caldate%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \dates@date\cal@range@start%
- \caldate%
- \ttbl@days\cal@range@end%
- \advance\ttbl@days by-\cal@range@start%
- \advance\ttbl@days by1%
-\ifcat$\ttbl@blocklist$%
- \ttbl@blocks\ttbl@end%
- \advance\ttbl@blocks by-\ttbl@start%
- \divide\ttbl@blocks by\ttbl@minuteblocks%
-\fi%
-\ttbl@boxes\ttbl@blocks%
-\multiply\ttbl@boxes by\ttbl@days%
- \def\ttbl@gettimes{%
- \ifcat$\ttbl@blocklist$%
- \ttbl@time@start\cal@group@count%
- \divide\ttbl@time@start by\ttbl@days%
- \multiply\ttbl@time@start by\ttbl@minuteblocks%
- \global\advance\ttbl@time@start by\ttbl@start%
- \ttbl@time@end\ttbl@time@start%
- \global\advance\ttbl@time@end by\ttbl@minuteblocks%
- \else%
- \expandafter\ttbl@chopblock\ttbl@blocklist-,{}%
- \fi%
- \mod{60}\ttbl@time@start\ttbl@minutes@start%
- \ttbl@hours@start\dates@three%
- \divide\ttbl@hours@start by60%
- \mod{60}\ttbl@time@end\ttbl@minutes@end%
- \ttbl@hours@end\dates@three%
- \divide\ttbl@hours@end by60%
- \ifnum\ttbl@minutes@start<10%
- \edef\ttbl@minutes@start@mac{0\the\ttbl@minutes@start}%
- \else%
- \edef\ttbl@minutes@start@mac{\the\ttbl@minutes@start}%
- \fi%
- \ifnum\ttbl@minutes@end<10%
- \edef\ttbl@minutes@end@mac{0\the\ttbl@minutes@end}%
- \else%
- \edef\ttbl@minutes@end@mac{\the\ttbl@minutes@end}%
- \fi%
- \xdef\ttbl@timecoltext{%
- \noexpand\vbox{\vfil\vskip4pt%
- \noexpand\begin{sideways}%
- \noexpand\ttbl@timelabelface{%
- \the\ttbl@hours@end:\ttbl@minutes@end@mac%
- $\noexpand\leftarrow$%
- \the\ttbl@hours@start:\ttbl@minutes@start@mac}%
- \noexpand\end{sideways}%
- \vfil}
- &}}%
-\ttbl@tablewidth\textwidth%
-\message{Package Timetable: %
- setting table \the\ttbl@tablewidth\space in width.^^J}%
- \setlength{\ttbl@widthlessboxes}{2\arrayrulewidth}%
- \addtolength{\ttbl@widthlessboxes}{\ttbl@days\arrayrulewidth}%
- \addtolength{\ttbl@widthlessboxes}{2\tabcolsep}%
- \setlength{\ttbl@templen}{2\tabcolsep}%
- \addtolength{\ttbl@widthlessboxes}{\ttbl@days\ttbl@templen}%
- \settoheight{\ttbl@timetextlen}{\ttbl@timelabelface{99:99--99:99}}%
- \settodepth{\ttbl@templen}{\ttbl@timelabelface{99:99--99:99}}%
- \addtolength{\ttbl@timetextlen}{\ttbl@templen}%
- \addtolength{\ttbl@widthlessboxes}{\ttbl@timetextlen}%
- \setlength{\ttbl@hw}{\ttbl@tablewidth}%
- \addtolength{\ttbl@hw}{-\ttbl@widthlessboxes}%
- \divide\ttbl@hw by\ttbl@days%
-\edef\ttbl@firstunit{%
- m{\the\ttbl@timetextlen}%
- \noexpand|}%
-\ttbl@tempreg@a=\expandafter{\expandafter|\ttbl@firstunit}%
-\edef\ttbl@dayunit{%
- m{\the\ttbl@hw}%
- \noexpand|}%
-\ttbl@tempreg@b=\expandafter{\ttbl@dayunit}%
-\ttbl@tempcount=1%
-\loop%
- \edef\ttbl@tempmac{\the\ttbl@tempreg@a\the\ttbl@tempreg@b}%
- \ttbl@tempreg@a=\expandafter{\ttbl@tempmac}%
-\ifnum\ttbl@tempcount<\ttbl@days%
- \advance\ttbl@tempcount by1%
-\repeat%
- \global\settoheight\ttbl@labelstrutbuf{\ttbl@labelface{W}}%
- \global\advance\ttbl@labelstrutbuf by\ttbl@extralabelheight\relax%
- \ifnum\ttbl@labelstrutbuf>\ttbl@labelstrut%
- \global\ttbl@labelstrut\ttbl@labelstrutbuf%
- \fi%
- \def\ttbl@labeltext{}%
- \dates@date=\cal@range@start%
- \caldate%
- \ttbl@tempcount=1%
- \ttbl@tempreg@b={}%
- \loop%
- \protected@edef\ttbl@labeltext{\the\ttbl@tempreg@b&%
- \noexpand\multicolumn{1}{c|}{%
- \noexpand\ttbl@labelface{%
- \ttbl@label{\ttbl@tempcount}}}}%
- \ttbl@tempreg@b=\expandafter{\ttbl@labeltext}%
- \ifnum\dates@date<\cal@range@end%
- \advance\dates@date by1%
- \caldate%
- \advance\ttbl@tempcount by1%
- \repeat%
- \dates@date\cal@range@start%
- \caldate%
- \ttbl@tempcount\ttbl@days%
- \advance\ttbl@tempcount by1%
- \protected@edef\ttbl@header{%
- \noexpand\begin{longtable}{\the\ttbl@tempreg@a}%
- \noexpand\multicolumn{\ttbl@tempcount}{c}%
- {\noexpand\ttbl@titleface{\ttbl@title}}%
- \noexpand\\\noexpand\hline%
- \noexpand\vrule width0pt depth 0pt height\ttbl@labelstrut\relax%
- \the\ttbl@tempreg@b\noexpand\\%
- \noexpand\hline\noexpand\hline\noexpand\endhead%
- \ifcat$\ttbl@foot$\else%
- \noexpand\multicolumn{\ttbl@tempcount}{l}%
- {\noexpand\ttbl@foot}\noexpand\\%
- \noexpand\endfoot%
- \fi%
- \noexpand\ttbl@timecoltext}}%
-{\par\medskip}%
-{\cal@get@appointments[\ttbl@time@start/\ttbl@time@end]}%
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start<\ttbl@time@start%
- \protected@edef\cal@entry@text{%
- \noexpand\cal@textcolor{\calcolor}{%
- \noexpand\ttbl@itemface{%
- \noexpand$\noexpand<\noexpand$%
- \theshorttext\if@ttbl@usetimes, to \cal@appt@end@text\fi%
- \noexpand$\noexpand>\noexpand$}}}%
- \else%
- \ifnum\dates@time@start<\dates@time@end%
- \protected@edef\cal@entry@text{%
- \if@ttbl@usetimes%
- \noexpand\ttbl@timeitemface{%
- \cal@appt@start@text%
- --%
- \cal@appt@end@text}%
- \space%
- \fi%
- \noexpand\cal@textcolor{\calcolor}{%
- \noexpand\ttbl@itemface{%
- \thelongtext}}}%
- \else%
- \protected@edef\cal@entry@text{%
- \if@ttbl@usetimes%
- \noexpand\ttbl@timeitemface{%
- \cal@appt@start@text}%
- \space%
- \fi%
- \noexpand\cal@textcolor{\calcolor}{%
- \noexpand\ttbl@itemface{%
- \thelongtext}}}%
- \fi%
- \fi%
- \fi}%
-{\theappointments}
-
-\endinput
-%%
-%% End of file `timetabl.sty'.
diff --git a/Master/texmf-dist/tex/latex/calendar/weekly.cls b/Master/texmf-dist/tex/latex/calendar/weekly.cls
deleted file mode 100644
index 1ef3f8da57e..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/weekly.cls
+++ /dev/null
@@ -1,202 +0,0 @@
-%%
-%% This is file `weekly.cls',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% weekly.dtx (with options: `class')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesClass{weekly}
- [1998/01/17 18:15:32 3.1.1.1 Weekly Calendar (Frank Bennett)]
-\newif\ifwk@usecolor
-\newif\ifwk@overthetop
-\newcount\wk@firstday
-\newcount\wk@tempcount
-\newlength\wk@itemheight
-\parindent=0pt
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\LoadClass{article}
-\RequirePackage{calendar}
-\RequirePackage{lscape}
-\RequirePackage{multicol}
-\RequirePackage{autofilo}
-\multicolsep=0pt\relax
-\AtBeginDocument{%
- \pagestyle{empty}
- \parindent=0pt}
-\define@key{opt}{firstday}{%
- \wk@firstday=#1}
-\wk@firstday=5%
-\wk@tempcount=0
-\expandafter\newsavebox\csname wk@box\the\wk@tempcount\endcsname
-\loop\advance\wk@tempcount by1\relax
-\ifnum\wk@tempcount<8
- \expandafter\newsavebox\csname wk@box\the\wk@tempcount\endcsname
-\repeat
-\def\wk@spitoutboxes{%
- \wk@tempcount=-1\relax%
- \loop\advance\wk@tempcount by1\relax%
- \ifnum\wk@tempcount<3\relax%
- \hbox to\linewidth{%
- \expandafter\usebox\csname wk@box\the\wk@tempcount\endcsname}%
- \repeat%
- \hbox to\linewidth{\vbox to\wk@itemheight{%
- \hrule width\linewidth height0.4pt depth0pt%
- \hbox to\linewidth{\hfil}\vfill}}%
- \wk@tempcount=2\relax%
- \loop\advance\wk@tempcount by1\relax%
- \ifnum\wk@tempcount<7\relax%
- \hbox to\linewidth{%
- \expandafter\usebox\csname wk@box\the\wk@tempcount\endcsname}%
- \repeat}%
-\def\wk@getitemheight{%
- \setlength\wk@itemheight\textheight\relax%
- \addtolength\wk@itemheight{-4pt}%
- \addtolength\wk@itemheight{-5\normallineskip}%
- \divide\wk@itemheight by4\relax}%
-\newcalendar%
-{weekly}
-{\cal@insert}
-{8}
-{7}
-{7}
-{\relax}
-{I}
-{\expandafter\autofilo\expandafter{\cal@optionslist}\wk@getitemheight}
-{\wk@spitoutboxes\endautofilo}
-{\wk@spitoutboxes}
-{\relax}
-{\dates@requiremonthtrue\dates@requiredaytrue}
-{\global\dates@date\cal@range@start%
- \prevday\wk@firstday%
- \cal@range@start\dates@date%
- \caldate%
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date\cal@range@end%
- \caldate%
- \advance\wk@firstday by-1%
- \ifnum\wk@firstday=7\wk@firstday=0\fi%
- \nextday\wk@firstday%
- \caldate%
- \cal@range@end\dates@date%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date=\cal@range@start%
- \caldate}%
-{\par}%
-{\cal@get@appointments\cal@get@events}%
-{\relax%
- \ifnum\dates@time@start>0\relax%
- \ifnum\dates@time@start=\dates@time@end%
- \protected@edef\cal@entry@text{%
- \thetimestart\space%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \else%
- \protected@edef\cal@entry@text{%
- \thetimestart--\thetimeend\space%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \fi%
- \else%
- \protected@edef\cal@entry@text{%
- \cal@textcolor{\calcolor}{\theshorttext}}%
- \fi}%
-{\global\wk@overthetopfalse%
- \expandafter\sbox\csname wk@box\the\cal@subgroup@count\endcsname{%
- \vbox to\wk@itemheight{\hbox{\parbox{\linewidth}{%
-\hrule width\linewidth%
-\vskip1pt\relax%
-\ifnum\cal@subgroup@count<3\relax%
- \textbf{\theweekday\hfill%
- \theday\space\themonth\space\theyear}\par%
-\else%
- \textbf{\theday\space\themonth\space\theyear\hfill%
- \theweekday}\par%
-\fi%
-\vskip0.5pt\relax%
-\hrule width\linewidth%
-\vskip1pt\relax%
- \raggedright\small%
- \ifcat$\theevents$%
- \else%
- \theevents\par%
- \fi%
- \ifcat$\theappointments$%
- \else%
- \theappointments%
- \fi}% parbox
-}% hbox
-\vfill}% vbox
-\ifnum\badness=1000000\relax\global\wk@overthetoptrue\fi%
-}% sbox
-\ifwk@overthetop%
- \message{Resetting this date in two-columns.}%
-\expandafter\sbox\csname wk@box\the\cal@subgroup@count\endcsname{%
- \vbox to\wk@itemheight{\hbox{\parbox{\linewidth}{%
-\hrule width\linewidth%
-\vskip1pt\relax%
-\ifnum\cal@subgroup@count<3\relax%
- \textbf{\theweekday\hfill%
- \theday\space\themonth\space\theyear}\par%
-\else%
- \textbf{\theday\space\themonth\space\theyear\hfill%
- \theweekday}\par%
-\fi%
-\vskip0.5pt\relax%
-\hrule width\linewidth%
-\vskip1pt\relax%
- \raggedright\small%
- \begin{multicols}{2}%
- \ifcat$\theevents$%
- \else%
- \theevents\par%
- \fi%
- \ifcat$\theappointments$%
- \else%
- \theappointments%
- \fi%
- \end{multicols}%
-}% parbox
-}% hbox
-\vfill}% vbox
-}% sbox
-\fi%
- \advance\wk@tempcount by1\relax%
- \ifnum\wk@tempcount>6\relax%
- \wk@tempcount=0\relax%
- \fi}
-
-\endinput
-%%
-%% End of file `weekly.cls'.
diff --git a/Master/texmf-dist/tex/latex/calendar/yearly.sty b/Master/texmf-dist/tex/latex/calendar/yearly.sty
deleted file mode 100644
index f224e80c0de..00000000000
--- a/Master/texmf-dist/tex/latex/calendar/yearly.sty
+++ /dev/null
@@ -1,133 +0,0 @@
-%%
-%% This is file `yearly.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% yearly.dtx (with options: `style')
-%% This file is part of the Calendar package,
-%% Copyright (C) 1996, 1997 Frank Bennett, Jr.
-%% All rights reserved.
-%% ------------------------------------------
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file. You may however copy
-%% this file to a file with a different name and then change the
-%% copy if (a) you do not charge for the modified code, (b) you
-%% acknowledge the author of this file in the new file, if it
-%% is distributed to others, and (c) you attach these same
-%% conditions to the new file.
-%%
-%% You are not allowed to distribute this file alone. You are not
-%% allowed to take money for the distribution or use of this file
-%% (or a changed version) except for a nominal charge for copying
-%% etc.
-%%
-%% You are allowed to distribute this file under the condition that
-%% it is distributed with all of its contents, intact.
-%%
-%% For error reports, or offers to help make this a more powerful,
-%% friendlier, and altogether more thrilling package, please contact me on
-%% fb@soas.ac.uk. Better yet, make a contribution to
-%% my pension. Account details available on request.
-%% ------------------------------------------
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{yearly}
- [1997/11/06 07:33:21 2.1.1.6 Trivial yearly calendar (Frank Bennett)]
-\input calopts.cfg
-\InputIfFileExists{dates.cfg}{}{}
-\ProcessOptions
-\RequirePackage{calendar}
-\define@key{opt}{title}{%
- \def\yrly@title{#1}}
-\define@key{opt}{labels}{%
- \@storelabels#1,,{}}
-\define@key{opt}{firstday}{%
- \yrly@firstday=#1}
-\def\yrly@title{\theyear}
-\newcount\yrly@firstday
-\yrly@firstday=0\relax
-\newtoks\yrly@tempreg@a
-\newcount\yrly@tempcount
-\def\@storelabels{%
- \def\yrly@labeltext{}%
- \@@storelabels}
-\def\@@storelabels#1,#2#{%
- \ifcat$#1$%
- \yrly@tempreg@a=\expandafter\expandafter\expandafter{%
- \expandafter\@gobble\yrly@labeltext}%
- \edef\yrly@labeltext{\the\yrly@tempreg@a}%
- \let\next\@gobble%
- \else%
- \let\next\@@storelabels%
- \yrly@tempreg@a=\expandafter{\yrly@labeltext}%
- \protected@edef\yrly@labeltext{\the\yrly@tempreg@a&#1}%
- \fi%
- \next#2{}}
-\newcalendar%
- {yearly}
- {\cal@insert}
- {\yrly@firstday}
- {\dates@days}
- {7}
- {&}
- {I}
- {\begin{tabular}[t]{ccccccc}%
- \multicolumn{7}{c}{\textbf{\themonth}}\\\hline%
- \yrly@labeltext\\\hline}%
- {\end{tabular}}
- {\cal@footer%
- \ifodd\thumbnails%
- \\%
- \else%
- \rule{0.25in}{0pt}%
- \fi%
- \advance\thumbnails by 1%
- \cal@header}
- {\\}
- {}
- {\global\dates@month=1%
- \global\dates@day=1%
- \dates@fix%
- \cal@range@start\dates@date%
- \message{^^JStart: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@month=12%
- \global\dates@day=31%
- \dates@fix%
- \caldate%
- \cal@range@end\dates@date%
- \message{^^JEnd: \theshortweekday\space%
- \theday\space\theshortmonth\space\theyear}%
- \global\dates@date=\cal@range@start%
- \caldate%
- \addtolength{\tabcolsep}{-0.5\tabcolsep}%
- \newcount\thumbnails%
- \@ifundefined{yrly@labeltext}{%
- \def\yrly@defaultlabels{}%
- \yrly@tempcount=1%
- \global\advance\dates@date by-\dates@weekd%
- \global\advance\dates@date by\yrly@firstday%
- \caldate%
- \loop%
- \yrly@tempreg@a=\expandafter{\yrly@defaultlabels}%
- \edef\yrly@defaultlabels{\the\yrly@tempreg@a\theshortweekday,}%
- \ifnum\yrly@tempcount<7%
- \global\advance\dates@date by1%
- \caldate%
- \advance\yrly@tempcount by 1\relax%
- \repeat%
- \expandafter\@storelabels\yrly@defaultlabels,,{}%
- \dates@date\cal@range@start%
- \caldate}%
- {}%
- \yrly@title\par\bigskip}%
- {}%
- {\getanycolor}%
- {}%
- {\cal@textcolor{\calcolor}{\theday}}
-\endinput
-%%
-%% End of file `yearly.sty'.
diff --git a/Master/texmf-dist/tex/plain/calendar/a5.sty b/Master/texmf-dist/tex/plain/calendar/a5.sty
deleted file mode 100644
index 6c09b53428d..00000000000
--- a/Master/texmf-dist/tex/plain/calendar/a5.sty
+++ /dev/null
@@ -1,45 +0,0 @@
-%%
-%% FILE a5.sty
-%%
-\newcount\daysinpage
-\newdimen\cellheight
-\vsize=17.5cm\voffset=-0.5in
-\hsize=11cm\hoffset=-0.6in
-\cellheight=\vsize
-\divide\cellheight by7
-\advance\cellheight by-0.4pt
-\parindent=0pt
-\font\Rm=cmr10 at 14pt
-\font\Bf=cmbx10 at 14pt
-\font\rm=cmr10
-\footline={\Bf\ifodd\pageno\hfill\botmark
- \else\botmark\hfill\fi}
-\def\newpage{\vfill\penalty-10000}
-\def\beginday{\ifnum\daysinpage>0\hrule\fi
- \mark{\themonth} % Outside any box
- \setbox2=\vbox\bgroup
- \ifodd\pageno
- \rightskip=3cm plus 1fill
- \else
- \leftskip=3cm plus 1fill\fi\rm}
-\def\endday{\egroup
- \vbox to\cellheight{\vglue2pt
- \setbox0=\hbox to\hsize{%
- \ifodd\pageno
- \hfill{\Rm\theweekday\ \ifholy\Bf\fi\the\Day}
- \else
- {\Rm{\ifholy\Bf\fi\the\Day}\ \theweekday}%
- \hfill\fi}
- \copy0\kern-\ht0\box2\vfill}
- \advance\daysinpage by1
- \ifnum\daysinpage=7 \daysinpage=0
- \newpage\fi}
-%
-% Local: from monday ...
-\Day=1 \Month=9\dayno\nextday1\currentdate=\date
-% Local: ... to sunday.
-{\nextyear\Day=31 \Month=5\dayno\nextday0
- \global\lastdate=\date}
-\leftskip=0pt\rightskip=0pt
-\daysinpage=0
-\def\epilog{}
diff --git a/Master/texmf-dist/tex/plain/calendar/a6.sty b/Master/texmf-dist/tex/plain/calendar/a6.sty
deleted file mode 100644
index d6fa4e274b0..00000000000
--- a/Master/texmf-dist/tex/plain/calendar/a6.sty
+++ /dev/null
@@ -1,66 +0,0 @@
-%%
-%% FILE a6.sty
-%%
-\baselineskip=10pt
-\newcount\daysinpage
-\newdimen\cellwidth
-\newdimen\cellheight
-\vsize=5in\voffset=-0.2in
-\hsize=3.5in\hoffset=-0.25in
-\newdimen\sphsize
-\sphsize=\hsize
-\divide\sphsize by2\advance\sphsize by-0.4pt
-\cellheight=\vsize
-\divide\cellheight by3
-\advance\cellheight by-0.4pt\parindent=0pt
-\font\bf=cmbx12
-\font\rm=cmr12
-\font\small=cmr9
-\headline={\hfill
- \ifodd\pageno
- \rm\xdef\ftmk{\firstmark}%
- \divide\pageno by2\advance\pageno by1
- Week \#\the\pageno
- \else
- \bf\edef\btmk{\botmark}%
- \ifx\ftmk\btmk\else\ftmk/\fi\btmk
- \fi\hfill}
-\footline={}
-\def\newpage{\vfill\penalty-10000}
-\def\beginday{
- \ifcase\daysinpage\or\hrule\or\hrule\or\or
- \hrule\or\hrule\fi
- \mark{\themonth} % Outside any box
- \setbox1=\vbox to\cellheight\bgroup\vglue4pt
- \ifnum\daysinpage>4\hsize=\sphsize\fi
- \setbox3=\vbox\bgroup
- \ifnum\daysinpage>2
- \rightskip=1.45cm plus 1fill
- \else
- \leftskip=1.45cm plus 1fill\fi
- \noindent\small}
-\def\endday{\egroup
- \setbox0=\hbox to\hsize{\rm\ifholy\bf\fi
- \ifnum\daysinpage=6\bf\fi
- \ifnum\daysinpage>2
- \hfill{{\rm\theshortweekday}
- \ \the\Day\hskip0.5em}
- \else
- {\hskip0.5em\the\Day
- \ {\rm\theshortweekday}}\hfill\fi}
- \copy0\kern-\ht0\vskip0pt\box3
- \vfill\egroup
- \advance\daysinpage by1
- \ifcase\daysinpage\or\box1\or\box1\or
- \box1\newpage\or\box1\or\box1\or
- \setbox2=\box1\or
- \hbox{\box2\vrule\box1}\newpage
- \daysinpage=0\fi}
-%
-% Local: from monday ...
-\Day=1\Month=1\dayno\prevday1\currentdate=\date
-% Local: ... to sunday.
-\Day=31\Month=12\dayno\nextday0\lastdate=\date
-\leftskip=3pt\rightskip=3pt
-\daysinpage=0
-\def\epilog{}
diff --git a/Master/texmf-dist/tex/plain/calendar/block.sty b/Master/texmf-dist/tex/plain/calendar/block.sty
deleted file mode 100644
index 72433136f1b..00000000000
--- a/Master/texmf-dist/tex/plain/calendar/block.sty
+++ /dev/null
@@ -1,59 +0,0 @@
-%%
-%% FILE block.sty
-%%
-\newcount\daysinrow
-\newcount\saveMonth
-\font\bf=cmbx12 at 16pt
-\font\Rm=cmr12 at 48pt
-\font\Bf=cmbx12 at 48pt
-\font\rm=cmr12
-\font\small=cmr10
-\footline={}
-\def\card{{\mute
- \saveMonth=\Month
- \def\beginday{
- \ifnum\daysinrow=0\setbox1=\hbox{}\fi
- \setbox0=\hbox to1.3em{\hss
- \ifnum\Month=\saveMonth\the\Day\fi}}
- \def\endday{\setbox1=\hbox{\unhbox1\box0}
- \advance\daysinrow by1
- \ifnum\daysinrow=7\box1\daysinrow=0\fi}
-% Local: from sunday ...
- \Day=1\dayno
- \prevday0\currentdate=\date
- \Day=1\advancemonth \dayno
-% Local: ... to saturday.
- \advance\date by-1 \nextday6 \lastdate=\date
- \daysinrow=0
- \baselineskip=9pt\small
- \global\setbox3=\vbox to0.55in{\makeempty\vss}}}
-%
-\def\cstrut{\vrule width0pt depth0.3in}
-\baselineskip=14pt
-\parindent=0pt
-\vsize=5in \voffset=-0.2in
-\hsize=4in \hoffset=-0.25in
-\def\advancemonth{\ifnum\Month=12
- \nextyear\Month=1\else
- \advance\Month by1\fi}
-\def\beginday{\ifnum\Day=1
- \setbox2=\box3{\advancemonth\card}\fi
- \date=\currentdate\caldate
- \centerline{\bf\uppercase
- \expandafter{\themonth}}
- \setbox0=\vbox\bgroup\noindent\rm}
-\def\endday{\egroup\vskip10pt
- \centerline{\cstrut\copy2\quad
- \hbox to1in{\Rm\weekday
-% Local: sundays in bf.
- \ifnum\weekd=0\Bf\fi\ifholy\Bf\fi
- \hss\the\Day\hss}\quad\copy3}
- \centerline{\rm\theweekday}
- \vskip20pt\box0\newpage}
-\def\newpage{\vfill\penalty-10000}
-%
-\Day=31\Month=12\dayno\lastdate=\date
-\Day=1\Month=1\dayno\currentdate=\date
-\card
-\leftskip=1em plus1fill\rightskip=1em plus1fill
-\def\epilog{}
diff --git a/Master/texmf-dist/tex/plain/calendar/calend0.tex b/Master/texmf-dist/tex/plain/calendar/calend0.tex
deleted file mode 100644
index 854adc3cab6..00000000000
--- a/Master/texmf-dist/tex/plain/calendar/calend0.tex
+++ /dev/null
@@ -1,156 +0,0 @@
-%%
-%% FILE calend0.tex
-%% Modificat 9/12/92
-\catcode`\@=11
-\newif\ifleapyear
-\def\loadadvanced{%
- \input calend1.tex\relax}
-\newcount\date
-\newcount\weekd
-\newcount\Year
-\newcount\yearbase
-\newcount\Month
-\newcount\Day
-\newcount\@catch
-\newcount\timezone\timezone=0
-\def\setyear#1{\Year=#1
- \advance\Year by-1900\calculateyearbase}
-\def\nextyear{\advance\Year by1
- \calculateyearbase}
-\def\settimezone#1{\timezone=#1
- \multiply\timezone by 1000
- \divide\timezone by24}
-% \ifleapyear is set;
-% \yearbase is the number of
-% days passed from 1900, Jan 0
-% to New year's date;
-\def\calculateyearbase{%
- \yearbase=-1
- {\count0=\Year\divide\count0 by4
- \multiply\count0 by4
- \ifnum\Year=\count0
- \global\@catch=0\else\global\@catch=1\fi}%
- \ifcase\@catch \leapyeartrue\or
- \leapyearfalse\fi
- {\count0=\Year\multiply\count0
- by1461\advance\count0 by3
- \divide\count0 by4
- \global\@catch=\count0}%
- \advance\yearbase by\@catch
- \ifnum\Year=0\yearbase=0\leapyearfalse\fi}
-% Gives the number of days passed
-% at the end of each month.
-% Value returned in \Day
-\def\monthdays{\global
- \@catch=\ifcase\Month 0\or31\or
- 59\or90\or120\or151\or181\or212\or
- 243\or273\or304\or334\or365\fi
- {\ifleapyear\ifnum\Month>1
- \global\advance\@catch by1\fi\fi}%
- \Day=\@catch}
-% Long date of \Month, \Day
-% in the year \Year.
-% Value returned in \date
-\def\dayno{\date=\Day{\advance
- \Month by-1\monthdays
- \advance\date by\Day
- \global\advance\date by\yearbase}}
-% Long date MOD 7 gives the week day.
-% Sunday is 0 and Saturday is 6.
-\def\weekday{{\count0=\date\relax
- \count1=\count0\divide\count0 by 7
- \multiply\count0 by 7
-\advance\count1 by -\count0
- \global\weekd=\count1}}
-% Name of week day (Local).
-\def\theweekday{\weekday
- \ifcase\weekd
- Sunday\or Monday\or Tuesday\or
- Wednesday\or Thursday\or Friday\or
- Saturday\fi}
-% (Local)
-\def\theshortweekday{\weekday
- \ifcase\weekd Sun\or Mon\or Tue\or
- Wed\or Thu\or Fri\or Sat\fi}
-% Gives the usual calendar date for
-% a long date in counter \date.
-% Returned in \Day, \Month and \Year
-\def\caldate{\Year=\date
- \multiply\Year by4\divide\Year by1461
- \calculateyearbase
- {\advance\date by-\yearbase\Month=0
- \loop\monthdays\ifnum\Day<\date
- \global\advance\Month by1\repeat
- {\advance\Month by-1\monthdays
- \advance\date by-\Day
- \global\Day=\date}}}
-% Name of month \Month. (Local)
-\def\themonth{\ifcase\Month
- \or January\or February\or March\or
- April\or May\or June\or July\or
- August\or September\or October\or
- November\or December\fi}
-% Find the next (previous) day after
-% (before) \date with \weekday=#1.
-\def\nextday#1{{\count0=#1\weekday
- \advance\count0 by-\weekd
- \ifnum\count0<0\advance\count0 by7\fi
- \global\advance\date by\count0}}
-\def\prevday#1{\snextday#1
- \advance\date by-7}
-\def\snextday#1{\advance\date by1
- \nextday#1}
-\def\sprevday#1{\advance\date by-1
- \prevday#1}
-% \beginevents...\endevents
-% contains control sequences like
-% \event or \evday or sequences
-% generating these commands.
-\newwrite\evefile
-\def\beginevents{%
- \immediate\openout
- \evefile=\jobname.eve\relax}
-\def\endevents{\immediate\closeout
- \evefile\end}
-\newtoks\evetext
-\def\event#1/#2[#3]{\evetext={#3}%
- \Day=#1\Month=#2\dayno
- \evday[\the\evetext]}
-\def\evday[#1]{\immediate\write\evefile{%
- \string\evententry{\the\date}{#1}}}
-\def\thecaldate{\the\Day/\the\Month}
-\def\mute{\def\thecaldate{}}
-%
-% 2nd run commands
-%
-\newcount\currentdate
-\newcount\lastdate
-\newcount\nextdate
-\newif\ifdoing@day
-\newif\ifholy
-\def\holy{\global\holytrue}
-\def\upto#1{\nextdate=#1
- \loop\advance\currentdate by1\relax
- \ifnum\currentdate<\nextdate
- \begin@day\end@day\repeat}
-\def\evententry#1#2{\unskip
- \ifnum#1>\lastdate\else
- \ifnum\currentdate<#1
- \ifdoing@day\end@day\fi
- \upto{#1}\fi
- \ifnum\currentdate=#1
- \ifdoing@day\else\begin@day\fi
- #2\par\fi\fi}
-\def\begin@day{\doing@daytrue
- \date=\currentdate\caldate
- \message{<\thecaldate}\beginday}
-\def\end@day{\endday\doing@dayfalse
- \global\holyfalse\message{>}}
-\def\makeagenda#1{\input #1.sty\relax
- \begin@day\input\jobname.eve\relax
- \evententry{\the\lastdate}{}\end@day
- \epilog\end}
-% Do not read events
-\def\makeempty{\begin@day
- \evententry{\the\lastdate}{}\end@day}
-\catcode`\@=12
diff --git a/Master/texmf-dist/tex/plain/calendar/calend1.tex b/Master/texmf-dist/tex/plain/calendar/calend1.tex
deleted file mode 100644
index 7ce74606469..00000000000
--- a/Master/texmf-dist/tex/plain/calendar/calend1.tex
+++ /dev/null
@@ -1,85 +0,0 @@
-%%
-%% FILE calend1.tex
-%%
-\def\loadadvanced{\relax}
-% Convert from Julian date and time in
-% \date to long date (in local time)
-\def\JDTtoL{\advance\date by500
- \advance\date by\timezone\divide\date by1000}
-%% Trigonometric functions
-\def\sintable#1{\ifcase #1 0\or100\or199
- \or296\or389\or479\or565\or644\or717
- \or783\or841\or891\or932\or964\or985
- \or997\or1000\or992\or974\or946\or909
- \or863\or808\or746\or675\or598\or516
- \or427\or335\or239\or141\or42\or-58
- \or-158\fi}
-% Reduces modulo 2\pi (requires positive
-% argument theta):
-% theta := theta MOD 2\pi, where
-% theta = count1*10^(-3)
-\def\twopimod{\count2 =\count1
- \divide\count2 by6284 \count3 =1853
- \count4 =6283\multiply\count3 by\count2
- \multiply\count4 by\count2
- \divide\count3 by10000
- \advance\count3 by\count4
- \advance\count1 by-\count3}
-\newif\ifsign
-% v := sin(theta), where
-% v = count4*10^(-3);
-% theta = count1*10^(-3)
-% theta is reduced MOD 2\pi to be
-% 0<=theta<2\pi by \TWOPIMOD,
-% then linear interpolation is performed
-% using \SINTABLE.
-\def\Sin{
- \ifnum\count1<0 \signtrue
- \count1=-\count1\else \signfalse\fi
- \loop\ifnum\count1>6284\twopimod\repeat
- \ifnum\count1>3142
- \advance\count1 by-3142
- \ifsign\signfalse\else\signtrue\fi\fi
- \multiply\count1 by10 \count3 =\count1
- \divide\count3 by1000 \count2 =\count3
- \multiply\count3 by1000
- \advance\count3 by-\count1
- \count5 =\sintable{\count2 }
- \count4 =\count5\advance\count2 by1
- \advance\count4 by -\sintable{\count2 }
- \multiply\count4 by\count3
- \divide\count4 by1000
- \advance\count4 by\count5
- \ifsign\count4 =-\count4 \fi}
-% v := cos(theta), where
-% v = count4*10^(-3);
-% theta = count1*10^(-3).
-% \SIN is evaluated on pi/2-theta.
-\def\Cos{\advance\count1 by-1571
- \multiply\count1 by-1\Sin}
-% Linear transformation of T giving
-% theta := a*T+b, where
-% T = count0*10^(-6);
-% theta = count1*10^(-3);
-% a = #1*10^3+#2+#3*10^(-3);
-% b = #4*10^(-3)
-\def\lin#1.#2.#3+#4.{\count1 =#3
- \count2 =#2 \count3 =#1
- \multiply\count1 by\count0
- \multiply\count2 by\count0
- \multiply\count3 by\count0
- \divide\count1 by1000
- \advance\count1 by\count2
- \divide\count1 by1000
- \advance\count1 by\count3
- \advance\count1 by #4}
-% Accumulate value returned by a
-% trigonometric function, scaled by
-% factor f, into count6:
-% ac := ac+f*v, where
-% ac = count6*10^(-7)
-% v = value of SIN or COS =count4*10^(-3)
-% f = #1*10^(-4)
-\def\fac#1{\multiply\count4 by #1
- \advance\count6 by\count4}
-\def\id{\count4=\count1} % Identity
diff --git a/Master/texmf-dist/tex/plain/calendar/feasts.tex b/Master/texmf-dist/tex/plain/calendar/feasts.tex
deleted file mode 100644
index ab5d48976b3..00000000000
--- a/Master/texmf-dist/tex/plain/calendar/feasts.tex
+++ /dev/null
@@ -1,32 +0,0 @@
-%%
-%% FILE feasts.tex
-%%
-% Date of Easter for year \Year.
-% Value returned in \date
-\def\easter{{\count0=\Year\count1=\count0
- \divide\count0 by19\multiply\count0 by19
- \advance\count1 by-\count0
- \advance\count1 by 1 % Golden number
- \count2=\count1\multiply\count2 by11
- \advance\count2 by18\count0=\count2
- \divide\count0 by30\multiply\count0 by30
- \advance\count2 by-\count0 % Epact
- \ifnum\count2=25\ifnum\count1>11
- \count2=26 \fi\fi
- \ifnum\count2=24 \count2=25\fi
- \advance\count2 by-44
- \multiply\count2 by-1
- \ifnum\count2<21 \advance\count2 by30\fi
- \Month=3\Day=0\dayno\global\advance\date
- by\count2}\snextday0}
-% (local)
-\def\includefeasts{%
- \message{Including feasts}
- \easter\evday[Easter Sunday]
- {\advance\date by49\evday[Whitsun]}
- {\advance\date by-7\evday[Palm Sunday]}
- {\advance\date by-46\evday[Ash Wendsday]
- \advance\date by-3\evday[Carnival]}
- \Month=1\Day=1\dayno\snextday0
- \evday[Epiphany]
- \event 25/12[\holy Christmas]}
diff --git a/Master/texmf-dist/tex/plain/calendar/moon.tex b/Master/texmf-dist/tex/plain/calendar/moon.tex
deleted file mode 100644
index f64c1f10b73..00000000000
--- a/Master/texmf-dist/tex/plain/calendar/moon.tex
+++ /dev/null
@@ -1,89 +0,0 @@
-%%
-%% FILE moon.tex
-%%
-\loadadvanced
-\newcount\moonno
-\def\firstmoon{\moonno=\Year
- \multiply\moonno by123685
- \divide\moonno by10000
- \multiply\moonno by4\advance\moonno by-1
- \loop\moondate\ifnum\date<\yearbase
- \advance\moonno by1\repeat}
-% Compute date for cycle quarter MOONNO
-\def\moondate{{\count0=\moonno
- \lin 202.126.369+0.\count0=\count1
- \count6=0
- \lin 0.2.319+2907.\Sin\fac{3}
- \divide\count6 by1000
- \lin 365.249.86+7593.\id\fac{1}
- \divide\count6 by10\count7 =\count6
- \ifodd\moonno\quarters
- \else\fullornew\fi\global\date=\count7}
- \JDTtoL\message{\the\date}}
-% Correction for full and new moon
-\def\fullornew{\count6=0
- \lin -393.0.0+0.
- \divide\count1 by100000000
- \advance\count6 by\count1
- \lin 0.628.300+6269.\Sin
- \multiply\count6 by\count4
- \lin -7.-700.-369+ 928.\Sin\fac{ -74}
- \lin 0. 628. 300+ 6269.\Sin\fac{ 1734}
- \lin 1. 256. 600+12539.\Sin\fac{ 21}
- \lin 8. 328. 670+ 5341.\Sin\fac{-4068}
- \lin 8. 538. 220+-4597.\Sin\fac{ 10}
- \lin 8. 956. 970+11610.\Sin\fac{ -51}
- \lin 16. 238. 589+-5526.\Sin\fac{ -4}
- \lin 16. 657. 340+10682.\Sin\fac{ 161}
- \lin 16. 866. 890+ 743.\Sin\fac{ 104}
- \lin 17. 285. 640+16951.\Sin\fac{ 50}
- \lin 17. 495. 190+ 7013.\Sin\fac{ 4}
- \lin 24. 986. 10+16023.\Sin\fac{ -4}
- \lin 25. 195. 560+ 6084.\Sin\fac{ -6}
- \divide\count6 by10000
- \advance\count7 by\count6 }
-% Correction for quarters
-\def\quarters{\lin -393.0.0+0.
- \divide\count1 by100000000
- \count6 =\count1 \lin 0.628.300+6269.
- \Sin\multiply\count6 by\count4
- \lin -16. -29. -40+-4413.\Sin\fac{ 40}
- \lin -7.-700.-369+ 928.\Sin\fac{ -47}
- \lin -7. -72. -69+ 7198.\Sin\fac{ -30}
- \lin 0. 628. 300+ 6270.\Sin\fac{ 1721}
- \lin 1. 256. 600+12539.\Sin\fac{ 21}
- \lin 8. 328. 670+ 5341.\Sin\fac{-6280}
- \lin 8. 538. 220+-4598.\Sin\fac{ 21}
- \lin 8. 956. 970+11611.\Sin\fac{ -119}
- \lin 16. 238. 589+-5526.\Sin\fac{ -4}
- \lin 16. 657. 340+10682.\Sin\fac{ 89}
- \lin 16. 866. 890+ 743.\Sin\fac{ 79}
- \lin 17. 285. 640+16952.\Sin\fac{ 3}
- \lin 17. 495. 190+ 7013.\Sin\fac{ 3}
- \lin 24. 986. 10+16023.\Sin\fac{ -4}
- \lin 25. 195. 560+ 6085.\Sin\fac{ -6}
- \count8=\count6\count6=28000
- \lin 628. 300. 373+ 6270.\Cos\fac{ -4}
- \lin 8. 328. 670+ 5341.\Cos\fac{ 3}
- \count2=\moonno
- \advance\count2 by-1\divide\count2 by2
- \ifodd\count2\multiply\count6 by-1 \fi
- \advance\count6 by\count8
- \divide\count6 by10000
- \advance\count7 by\count6 }
-% Events for phases.
-% Uses PHASE (local).
-\def\includemoons{\message{Including moons}
- {\firstmoon
-\Month=12\Day=31\dayno\advance\date by1
- \count1=\date
- \loop\moondate\phase\ifnum\date<\count1
- \evday[\themoon]\advance\moonno by1
- \repeat}}
-\def\phase{{\count0=\moonno
- \count1=\moonno
- \divide\count0 by4\multiply\count0 by4
- \advance\count1 by-\count0\relax
- \global\edef\themoon{\ifcase\count1
- New moon\or First quarter\or
- Full Moon\or Last quarter\fi}}}
diff --git a/Master/texmf-dist/tex/plain/calendar/sun.tex b/Master/texmf-dist/tex/plain/calendar/sun.tex
deleted file mode 100644
index 9ec246b1f9a..00000000000
--- a/Master/texmf-dist/tex/plain/calendar/sun.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-%%
-%% FILE sun.tex
-%%
-\loadadvanced
-\def\linY#1.#2.#3+#4.{{\count0=\Year
- \multiply\count0 by1000\count1=0
- \lin #1.#2.#3+#4.
- \global\date=\count1}\JDTtoL}
-% (local)
-\def\includeseasons{%
- \message{Including seasons}
- \linY 365.242.365+ 79573.\evday[Spring]
- \linY 365.241.628+172405.\evday[Summer]
- \linY 365.242.045+266014.\evday[Fall]
- \linY 365.242.756+355784.\evday[Winter]}
diff --git a/Master/texmf-dist/tex/plain/calendar/wall.sty b/Master/texmf-dist/tex/plain/calendar/wall.sty
deleted file mode 100644
index 076eb579ba1..00000000000
--- a/Master/texmf-dist/tex/plain/calendar/wall.sty
+++ /dev/null
@@ -1,60 +0,0 @@
-%%
-%% FILE wall.sty
-%%
-\hsize=9.5in
-\vsize=7.5in\voffset=-0.65in
-\baselineskip=12pt
-\newcount\daysinrow
-\newdimen\cellwidth
-\newdimen\cellheight
-\cellheight=1.13in
-\parindent=0pt
-\cellwidth=\hsize
-\divide\cellwidth by7
-\advance\cellwidth by-0.4pt
-\font\BBf=cmbx12 at 24pt
-\font\Bf=cmbx10 at 20pt
-\font\Rm=cmr10 at 20pt
-\font\rm=cmr12 at 14pt
-\font\small=cmr9
-\footline={}
-\def\hstrut{\hrule height0pt depth0pt
- width\cellwidth}
-\def\beginday{
- \ifnum\daysinrow=0\setbox1=\hbox{\vrule}\fi
- \setbox0=\vbox to\cellheight\bgroup
- \hstrut\hsize=\cellwidth\vskip5pt
- \setbox2=\vbox\bgroup\small}
-\def\endday{\egroup
- \hbox{\hskip0.5em\Rm\ifholy\Bf\fi\the\Day}
- \vskip2pt\box2\vfill\egroup
- \setbox1=\hbox{\unhbox1\box0\vrule}
- \advance\daysinrow by1
- \ifnum\daysinrow=7\box1\hrule\daysinrow=0\fi}
-%
-\def\advancemonth{\ifnum\Month=12
- \nextyear\Month=1\else\advance\Month by1\fi}
-% If no Month is given, take today's date.
-\ifnum\Month=0 \Month=\month
- \ifnum\day>15 \advancemonth\fi\fi
-\Day=1\dayno
-\topskip=0pt\hbox{}
-\vfill
-\centerline{\BBf\themonth}
-\penalty10000
-\vskip40pt minus32pt
-% Local: from sunday ...
-\prevday0\currentdate=\date
-\hbox{\rm\loop
- \hbox to\cellwidth{\hss\theweekday\hss}
- \unskip\ifnum\weekd<6\advance\date by1\repeat}
-\penalty10000
-\vskip3pt
-% Local: ... to saturday.
-\Day=1 \advance\Month by1\dayno
-\advance\date by-1\nextday6\lastdate=\date
-\leftskip=3pt
-\raggedright
-\daysinrow=0
-\vbox\bgroup\hrule
-\def\epilog{\vfill\egroup\supereject}