summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/calendar/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/calendar/contrib
Initial commit
Diffstat (limited to 'macros/latex/contrib/calendar/contrib')
-rw-r--r--macros/latex/contrib/calendar/contrib/evautofl/README57
-rw-r--r--macros/latex/contrib/calendar/contrib/evautofl/evautofl.dtx803
-rw-r--r--macros/latex/contrib/calendar/contrib/evautofl/evautofl.ins77
-rw-r--r--macros/latex/contrib/calendar/contrib/evautofl/evautofl.pdfbin0 -> 181028 bytes
-rw-r--r--macros/latex/contrib/calendar/contrib/evautofl/evautoflexample.pdfbin0 -> 18923 bytes
-rw-r--r--macros/latex/contrib/calendar/contrib/evweek/README62
-rw-r--r--macros/latex/contrib/calendar/contrib/evweek/evweek.dtx796
-rw-r--r--macros/latex/contrib/calendar/contrib/evweek/evweek.ins77
-rw-r--r--macros/latex/contrib/calendar/contrib/evweek/evweek.pdfbin0 -> 178070 bytes
-rw-r--r--macros/latex/contrib/calendar/contrib/evweek/evweekexample.pdfbin0 -> 20625 bytes
10 files changed, 1872 insertions, 0 deletions
diff --git a/macros/latex/contrib/calendar/contrib/evautofl/README b/macros/latex/contrib/calendar/contrib/evautofl/README
new file mode 100644
index 0000000000..aab935202f
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evautofl/README
@@ -0,0 +1,57 @@
+evautofl.sty
+============
+
+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.
+
+
+Changes in v0.3 (2005/01/20)
+o Corrected (really!) the unequal spacing of punchgroups.
+o Corrected the odd framed pages' outer margin.
+
+Changes in v0.2 (2005/01/14)
+o Added a little stupid example of use.
+o Corrected the effects of punchmargin on odd pages.
+o Corrected the unequal spacing of punchgroups.
+
+Changes in v0.1 (2003/03/21)
+o First public release; there are certainly some bugs.
+
+-------------------------------------------------------------------
+ Author: Emanuele Vicentini
+ (emanuelevicentini at yahoo dot it)
+
+ Copyright 2003, 2005 Emanuele Vicentini
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3a of this license or (at your option) any
+ later version.
+ The latest version of the license is in
+ http://www.latex-project.org/lppl.txt
+
+ This work has the LPPL maintenance status "author-maintained".
+
+ This work consists of the files: README, evautofl.dtx, evautofl.ins
+ and the derived files evautofl.sty and evautoflexample.tex
+-------------------------------------------------------------------
+
+
+ The distribution consists of the following files:
+README (this file)
+evautofl.{dtx,ins} Package source and installation files
+evautofl.pdf Documentation in PDF
+evautoflexample.pdf Example of this package output in PDF
+
+
+ To install the package:
+o run: latex evautofl.ins (which will generate evautofl.sty and
+ evautoflexample.tex)
+o move evautofl.sty where LaTeX will find it (in a local texmf tree could
+ be tex/latex/calendar/contrib/) and refresh the file database.
+
+
+2005/01/20
+Emanuele Vicentini
+(emanuelevicentini at yahoo dot it)
diff --git a/macros/latex/contrib/calendar/contrib/evautofl/evautofl.dtx b/macros/latex/contrib/calendar/contrib/evautofl/evautofl.dtx
new file mode 100644
index 0000000000..92fc79f314
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evautofl/evautofl.dtx
@@ -0,0 +1,803 @@
+% \iffalse
+%
+% evautofl.dtx
+% Copyright 2003, 2005 Emanuele Vicentini
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3a of this license or (at your option) any
+% later version.
+% The latest version of the license is in
+% http://www.latex-project.org/lppl.txt
+%
+% Author: Emanuele Vicentini
+% (emanuelevicentini at yahoo dot it)
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% This work consists of the files: README, evautofl.dtx, evautofl.ins and
+% the derived files evautofl.sty and evautoflexample.tex
+%
+% This product is based off autofilo.dtx distributed in the LaTeX Calendar
+% Bundle, v. 3.1, copyright (C) 1996-1997 by Frank Bennet
+%
+%<*driver>
+\documentclass[10pt]{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{evautofl.dtx}
+\end{document}
+%</driver>
+%
+%<*example>
+\documentclass[12pt, a4paper]{article}
+\usepackage{evautofl}
+%% Not strictly necessary, but useful :-)
+\usepackage{marvosym}
+\newcommand*{\newentry}[1]{\hbox to 0.4\textwidth{#1~\dotfill\par}}
+
+
+
+\begin{document}
+
+\begin{autofilo}{}
+As you can see, you can put almost anything here, also \MartinVogel~himself
+{\Large\Smiley}.
+
+\bigskip\bigskip
+
+With a bit of care you could write custom refill pages for your filofax:
+
+\medskip
+
+\newentry{\Telefon}\newentry{\Mobilefone}\newentry{\Email}
+
+\bigskip\bigskip
+
+Happy \TeX ing!
+\end{autofilo}
+
+\end{document}
+%</example>
+% \fi
+%
+%
+%
+% \CheckSum{695}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+%
+% \changes{v0.1}{2003/03/21}{First public release; there are certainly some
+% bugs}
+% \changes{v0.2}{2005/01/14}{Added a little, stupid example of use}
+%
+%
+%
+% \def\fileversion{0.3}
+% \def\filedate{2005/01/20}
+%
+%
+%
+% \newcommand*{\nomefile}[1]{\texttt{#1}}
+% \newcommand*{\opzione}[1]{\texttt{#1}}
+% \newcommand*{\pacchetto}[1]{\textsf{#1}}
+%
+%
+%
+% \title{User's Guide to the \pacchetto{evautofl} package\thanks{This file
+% is version number \fileversion; it was last revised on \filedate. Many
+% thanks to Geert Kloosterman for the priceless bug reports.}}
+% \author{Emanuele Vicentini\\(\texttt{emanuelevicentini at yahoo dot it})}
+% \date{\filedate}
+%
+%
+%
+% \maketitle
+% \begin{abstract}
+% 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}
+% \tableofcontents
+%
+%
+%
+% \section{Brief Introduction}
+% For the original documentation see the files \nomefile{calguide.tex} and
+% \nomefile{autofilo.dtx} distributed in the \LaTeX\ Calendar Bundle.
+%
+% The original code has been brutally hacked to ``cut'' the coupled pages so
+% now it is possible to mangle the output with \nomefile{pstops} or
+% \nomefile{psnup} to have, say, two or more pages on a single sheet and with
+% a duplex printer (or a simplex one and a lot of patience) save a lot of
+% paper. For a brief introduction to \nomefile{pstops} see \S\ref{sec:pstops}.
+%
+% This manual is typeset according to the conventions of the
+% \LaTeX~\textsc{docstrip} utility which enables the automatic extraction of
+% the \LaTeX~macro source files~\cite{GOOSSENS94}.
+%
+%
+%
+% \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
+% \pacchetto{lscape} package from the \pacchetto{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, \opzione{twocolumn} (the default) and \opzione{fourcolumn}.
+%
+% The style provides an environment called \texttt{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
+% \texttt{autofilo} accepts several \pacchetto{keyval}-style parameters,
+% style authors may have a use for documentation for those optional
+% parameters. So here is some sample documentation:
+%
+% \begin{description}
+% \item[\opzione{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[\opzione{intraspace}] This governs the space between punchouts within
+% a group. The default is 19.25mm.
+% \item[\opzione{punchgroups}] This option sets the number of groups of
+% punches. The default is two groups.
+% \item[\opzione{interspace}] This option sets the distance between the
+% groups of punches. The default is 51.25mm.
+% \item[\opzione{pageheight}] This fixes the height of a filofax page (not
+% the physical paper on which it is printed). The default is 172mm.
+% \item[\opzione{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[\opzione{grip}] This adjusts the distance from the edge of the page
+% to the outer edge of the punchouts. Defaults to 5mm.
+% \item[\opzione{punchmargin}] This adjusts the distance from the edge of the
+% text to the inner edge of the punchouts. Defaults to 2mm.
+% \item[\opzione{punchpoints}] Size, in points, of punchouts\footnote{Please,
+% note that the original documentation reads \opzione{punchsize} but
+% the option name is really \opzione{punchpoints}. Also, take care to
+% write no dimension specification after the number.}. Defaults to 15.
+% \item[\opzione{topspace}] Gap between top of filofax page and top of text
+% page.
+% \item[\opzione{bottomspace}] Gap between bottom of filofax page and bottom
+% of text page.
+% \item[\opzione{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[\opzione{jawline}] Sets the width of the lines used to make jawmarks.
+% The default value is \texttt{0.4pt}.
+% \end{description}
+%
+%
+%
+% \section{Wrapping \nomefile{pstops} for an easy use}\label{sec:pstops}
+% Courtesy of Geert Kloosterman, here follows a script that wrap
+% \nomefile{pstops} and some of its many options in an easier command line
+% program: all you need is the \emph{psutils} bundle and a sh-compatible
+% shell (ash, bash, ksh, etc.). Please, note that this script is suitable
+% only for A4 paper size, but can be easily customized.
+%
+% \begin{verbatim}
+%#!/bin/sh
+%
+%# duplex-calendar -- print the evautlfl output 3 sheets per side (A4)
+%# Geert Kloosterman 2005-01-11
+%
+%if [ -z "$1" ]; then
+% echo "Usage: $(basename "$0") <calendar-file.ps>" 1>&2
+% echo 1>&2
+% echo "Redirect the output to a file or your printer." 1>&2
+% echo "Make sure your printer is in tumble mode when printing." 1>&2
+% exit 1
+%fi
+%
+%shift=9.6cm
+%pstops -pa4 \
+% "6:0(0,$shift)+2(0,0cm)+4(0,-$shift),1(0,-$shift)+3(0,0cm)+5(0,$shift)" \
+% "$1"
+% \end{verbatim}
+%
+%
+%
+% \StopEventually{%
+% \bibliographystyle{alpha}
+% \begin{thebibliography}{GMS94}
+% \addcontentsline{toc}{section}{\refname}
+% \bibitem[GMS94]{GOOSSENS94} Michel Goossens, Frank Mittelbach and
+% Alexander Samarin. \emph{The \LaTeX\ Companion}. Addison-Wesley
+% Company, 1994.
+% \end{thebibliography}}
+%
+%
+%
+% \section{The Style File}
+%
+%
+%
+% \subsection{Preliminaries}
+% Use \LaTeXe, and tell the user who we are.
+% \begin{macrocode}
+%<*style>
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{evautofl}[2005/01/20 v0.3 Filofax page outlines]
+% \end{macrocode}
+%
+%
+%
+% \subsection{Options and required packages}
+% 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 supporting packages.
+% \begin{macrocode}
+\ProcessOptions
+\RequirePackage{lscape}
+\RequirePackage{keyval}
+% \end{macrocode}
+%
+%
+%
+% \subsection{Calendar Setup}
+% 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}
+%
+% \begin{macro}{\quadruplecolumn}
+% 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}
+% \end{macro}
+%
+%
+%
+% \subsection{Output routines}
+% \begin{macro}{\@opcol}
+% 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}
+% \end{macro}
+%
+% \begin{macro}{\@outputqdrplcol}
+% \changes{v0.2}{2005/01/14}{Corrected the ``horizontal'' shift of odd pages}
+% \changes{v0.3}{2005/01/20}{Corrected (really!) the ``horizontal'' shift of
+% odd pages}
+% \begin{macro}{\@outputdblcol}
+% \changes{v0.2}{2005/01/14}{Corrected the ``horizontal'' shift of odd pages}
+% \changes{v0.3}{2005/01/20}{Corrected (really!) the ``horizontal'' shift of
+% odd pages}
+% Add a new output routine for the new mode, and a modified version of the
+% two-column output routine. Note that these work \emph{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
+ \setbox\@outputbox \vbox to \textwidth{%
+ \vss
+ \hb@xt@ \textheight{%
+ \vrule height \columnwidth
+ depth 0pt
+ width 0pt
+ \box\@leftrightcolumn
+ \hss}%
+ \vskip\columnsep
+ \hb@xt@ \textheight{%
+ \vrule height \columnwidth
+ depth 0pt
+ width 0pt
+ \box\@leftleftcolumn
+ \hss}%
+ \vskip\af@halftextwidth}%
+ \@combinedblfloats
+ \@outputpage
+ \begingroup
+ \@dblfloatplacement
+ \@startdblcolumn
+ \@whilesw\if@fcolmade \fi
+ {\@outputpage\@startdblcolumn}%
+ \endgroup
+ \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
+ depth 0pt
+ width 0pt
+ \box\@rightrightcolumn
+ \hss}%
+ \vskip\columnsep
+ \hb@xt@ \textheight{%
+ \vrule height \columnwidth
+ depth 0pt
+ width 0pt
+ \box\@rightleftcolumn
+ \hss}%
+ \vfil}%
+ \@combinedblfloats
+ \@outputpage
+ \begingroup
+ \@dblfloatplacement
+ \@startdblcolumn
+ \@whilesw\if@fcolmade \fi
+ {\@outputpage\@startdblcolumn}%
+ \endgroup
+ \fi
+ \global\advance\col@no by 1
+ \ifnum\col@no=4
+ \global\col@no=0
+ \fi}
+\def\@outputdblcol{%
+ \if@firstcolumn
+ \global\@firstcolumnfalse
+ \setbox\@outputbox \vbox to \textwidth{%
+ \vss
+ \hbox to \textheight{%
+ \box\@outputbox}%
+ \vskip\af@halftextwidth}%
+ \else
+ \global\@firstcolumntrue
+ \setbox\@outputbox \vbox to \textwidth{%
+ \hbox to \textheight{%
+ \box\@outputbox}%
+ \vfil}%
+ \fi
+ \@combinedblfloats
+ \@outputpage
+ \begingroup
+ \@dblfloatplacement
+ \@startdblcolumn
+ \@whilesw\if@fcolmade \fi
+ {\@outputpage\@startdblcolumn}%
+ \endgroup}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+%
+% \subsection{Punchmarks}
+% \begin{macro}{\af@circle}
+% \changes{v0.2}{2005/01/14}{Wrapped \cs{circle} into a 0pt box to avoid
+% weird spacing effects}
+% \changes{v0.3}{2005/01/20}{Added a missing \cs{hidewidth} before
+% \cs{circle}}
+% 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
+ \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
+ width 0pt
+ \fi
+ \hbox to 0pt{\hidewidth\circle{\af@punchsize}\hidewidth}%
+ \ifnum\af@jawspread>0
+ \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}
+% \end{macro}
+%
+% \begin{macro}{\af@group}
+% \changes{v0.2}{2005/01/14}{Added a final skip to reflect changes in
+% \cs{af@circle}}
+% \changes{v0.3}{2005/01/20}{Removed the final skip (to reflect changes in
+% \cs{af@circle}) which interfered with punchgroups interspace}
+% 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{%
+ \begingroup
+ \af@tempcount=0
+ \af@circle
+ \loop
+ \advance\af@tempcount by 1
+ \ifnum\af@tempcount<\af@punchcluster
+ \hskip\af@intraspace
+ \af@circle
+ \repeat
+ \endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\af@circles}
+% We define a command that lays down a set of clusters (groups).
+% \begin{macrocode}
+\def\af@circles{%
+ \af@tempcount=0
+ \af@group
+ \loop
+ \advance\af@tempcount by 1
+ \ifnum\af@tempcount<\af@punchgroups
+ \hskip\af@interspace
+ \af@group
+ \repeat
+ \af@tempcount=0}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\af@punches}
+% \changes{v0.2}{2005/01/14}{Added a control to skip everything if
+% \opzione{punchgroups} is 0; removed a skip to reflect changes in
+% \cs{af@circle} and \cs{af@circles}}
+% The following command creates a set of punchmarks.
+% \begin{macrocode}
+\def\af@punches{%
+ \ifnum\af@punchgroups>0
+ \hbox to \af@textheight{%
+ \hfil\af@circles
+ \relax\hfil}%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsection{The frame}
+% The following creates a frame. The model was lifted from the
+% \pacchetto{geometry} package. The \cs{@@@innerframe} macro of the original
+% \pacchetto{autofilo} package has been splited into two new macros which
+% draw different frames on the left and right pages of the filofax.
+%
+% \begin{macro}{\@@@innerframeleft}
+% The following macro is used to draw the frame on the left pages, so the
+% punchmarks are on the right side.
+% \begin{macrocode}
+\def\@@@innerframeleft{%
+ \moveright-\af@topmargin%
+ \vbox to 0pt{%
+ \vskip\topmargin%
+ \vbox to 0pt{\hrule width\af@textheight\vss}%
+ \hbox to \af@textheight{\llap{\vrule height0.5\af@textwidth}%
+ \hfil\vrule height0.5\af@textwidth}%
+ \vbox to 0pt{\hrule width\af@textheight\vss}%
+ \vskip-\af@halftextwidth%
+ \vskip\af@grip%
+ \nointerlineskip\af@punches\nointerlineskip%
+ \vss}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@@innerframeright}
+% The following macro is used to draw the frame on the right pages, so the
+% punchmarks are on the left side.
+% \begin{macrocode}
+\def\@@@innerframeright{%
+ \moveright-\af@topmargin%
+ \vbox to 0pt{%
+ \vskip\topmargin%
+ \vbox to 0pt{\hrule width\af@textheight\vss}%
+ \hbox to \af@textheight{\llap{\vrule height0.5\af@textwidth}%
+ \hfil\vrule height0.5\af@textwidth}%
+ \vbox to 0pt{\hrule width\af@textheight\vss}%
+ \vskip-\af@punchwidth%
+ \vskip-\af@grip%
+ \nointerlineskip\af@punches\nointerlineskip%
+ \vss}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@outputpage}
+% A further modification of the output routine, this time to put the frame
+% in place. This, too, is lifted from \pacchetto{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
+ \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
+ \vtop{%
+ \ifodd\count\z@
+ \@@@innerframeright
+ \else
+ \@@@innerframeleft
+ \fi
+ \vskip\topmargin
+ \vskip\af@marginrel
+ \moveright\af@topmargin
+ \vbox{%
+ \setbox\@tempboxa \vbox to \headheight{%
+ \vfil
+ \color@hbox
+ \normalcolor
+ \hb@xt@\textwidth{%
+ \let\label\@gobble
+ \let\index\@gobble
+ \let\glossary\@gobble
+ \@thehead}%
+ \color@endbox}%
+ \dp\@tempboxa\z@
+ \box\@tempboxa
+ \vskip\headsep
+ \box\@outputbox
+ \baselineskip \footskip
+ \color@hbox
+ \normalcolor
+ \hb@xt@\textwidth{%
+ \let\label\@gobble
+ \let\index\@gobble
+ \let\glossary\@gobble
+ \@thefoot}%
+ \color@endbox}}}%
+ \global\@colht\textheight
+ \stepcounter{page}%
+ \let\firstmark\botmark
+ }%
+\else
+ \message{Sorry, evautofl.sty works only with LaTeX2e}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsection{\texttt{Autofilo}'s options}
+% Set some global parameters.
+% \begin{macrocode}
+\headheight=0pt
+\headsep=0pt
+\footskip=0pt
+\marginparwidth=0pt
+\marginparsep=0pt
+\pagestyle{empty}
+\parindent=0pt
+\raggedbottom
+\columnseprule=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
+\af@jawline=0.4pt
+% \end{macrocode}
+%
+%
+%
+% \subsection{\texttt{Autofilo} environment}
+% \begin{macro}{\autofilo}
+% The remaining dimensions must be calculated inside the landscape
+% environment. We define that now.
+% \begin{macrocode}
+\def\autofilo#1{%
+ \setkeys{opt}{#1}%
+ \af@textwidth=\paperwidth
+ \advance\af@textwidth by -\af@textheight
+ \divide\af@textwidth by 2
+ \oddsidemargin=-1in
+ \advance\oddsidemargin by \af@textwidth
+ \evensidemargin=-1in
+ \advance\evensidemargin by \af@textwidth
+ \af@textwidth=\paperheight
+ \advance\af@textwidth by -\af@halftextwidth
+ \divide\af@textwidth by 2
+ \topmargin=-1in
+ \advance\topmargin by \af@textwidth
+ \relax
+ \landscape
+ \af@halfjawspread=\af@jawspread
+ \divide\af@halfjawspread by 2
+ \af@punchwidth=\af@punchsize pt
+ \af@halfpunchwidth=\af@punchwidth
+ \divide\af@halfpunchwidth by 2
+ \textheight=\af@textheight
+ \advance\textheight by -\af@topmargin
+ \advance\textheight by -\af@bottommargin
+ \af@textwidth=\af@halftextwidth
+ \multiply\af@textwidth by 2
+ \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}
+% \end{macro}
+%
+% \begin{macro}{\af@punches}
+% The end of the environment is a simple thing.
+% \begin{macrocode}
+\def\endautofilo{%
+ \endlandscape}
+%</style>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \makeatletter
+% \c@IndexColumns=2
+% \c@GlossaryColumns=2
+% \makeatother
+% \Finale
+% \clearpage
+% \PrintIndex
+% \clearpage
+% \PrintChanges
+%
+%
+%
+\endinput
diff --git a/macros/latex/contrib/calendar/contrib/evautofl/evautofl.ins b/macros/latex/contrib/calendar/contrib/evautofl/evautofl.ins
new file mode 100644
index 0000000000..de87dce8fb
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evautofl/evautofl.ins
@@ -0,0 +1,77 @@
+%%
+%% evautofl.ins
+%% Copyright 2003, 2005 Emanuele Vicentini
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3a of this license or (at your option) any
+%% later version.
+%% The latest version of the license is in
+%% http://www.latex-project.org/lppl.txt
+%%
+%% Author: Emanuele Vicentini
+%% (emanuelevicentini at yahoo dot it)
+%%
+%% This work has the LPPL maintenance status "author-maintained".
+%%
+%% This work consists of the files: README, evautofl.dtx, evautofl.ins and
+%% the derived files evautofl.sty and evautoflexample.tex
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\input docstrip
+\preamble
+
+ Copyright 2003, 2005 Emanuele Vicentini
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3a of this license or (at your option) any
+ later version.
+ The latest version of the license is in
+ http://www.latex-project.org/lppl.txt
+
+ Author: Emanuele Vicentini
+ (emanuelevicentini at yahoo dot it)
+
+ This work has the LPPL maintenance status "author-maintained".
+
+ This work consists of the files: README, evautofl.dtx, evautofl.ins
+ and the derived files evautofl.sty and evautoflexample.tex
+
+ Original author: Frank Bennett
+ at fb@soas.ac.uk
+
+\endpreamble
+
+\keepsilent
+\askforoverwritefalse
+
+\Msg{*** Generating the package files ***}
+\generate{\file{evautofl.sty}{\from{evautofl.dtx}{style}}%
+ \nopostamble
+ \file{evautoflexample.tex}{\from{evautofl.dtx}{example}}}
+
+\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 evautofl.sty}
+\Msg{*}
+\Msg{*}
+\Msg{* To produce the documentation on evautofl's code run the}
+\Msg{* file ending with `.dtx' through LaTeX.}
+\Msg{* Process the file evautofl.idx by:}
+\Msg{* \space\space\space\space makeindex -s gind.ist evautofl}
+\Msg{* Process the file evautofl.glo by:}
+\Msg{* \space\space\space\space makeindex -s gglo.ist -o evautofl.gls evautofl.glo}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/calendar/contrib/evautofl/evautofl.pdf b/macros/latex/contrib/calendar/contrib/evautofl/evautofl.pdf
new file mode 100644
index 0000000000..434a5221c7
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evautofl/evautofl.pdf
Binary files differ
diff --git a/macros/latex/contrib/calendar/contrib/evautofl/evautoflexample.pdf b/macros/latex/contrib/calendar/contrib/evautofl/evautoflexample.pdf
new file mode 100644
index 0000000000..e74c7e3c14
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evautofl/evautoflexample.pdf
Binary files differ
diff --git a/macros/latex/contrib/calendar/contrib/evweek/README b/macros/latex/contrib/calendar/contrib/evweek/README
new file mode 100644
index 0000000000..9ba574751f
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evweek/README
@@ -0,0 +1,62 @@
+evweek.cls
+==========
+
+This class, a simple spinn-off of the official weekly, incorporates small
+bug-fixes and some extensions. To use it you have to install the LaTeX
+Calendar Bundle and, optionally, the evautofl package.
+
+
+Changes in v0.4 (2005/01/23)
+o Added a little, stupid example of use.
+o Added a control on evautofl availability.
+o Added the compact option.
+o Added the ferial option.
+
+Changes in v0.3 (2003/11/28)
+o Added three new calendar options to enable printing of lines in every
+ day's box.
+
+Changes in v0.2 (2003/03/21)
+o Switched to evautofl package by default; provided an option to keep using
+ autofilo.
+
+Changes in v0.1 (2003/02/09)
+o First public release incorporating small bug-fixes and extensions.
+
+-------------------------------------------------------------------
+ Author: Emanuele Vicentini
+ (emanuelevicentini at yahoo dot it)
+
+ Copyright 2003, 2005 Emanuele Vicentini
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3a of this license or (at your option) any
+ later version.
+ The latest version of the license is in
+ http://www.latex-project.org/lppl.txt
+
+ This work has the LPPL maintenance status "author-maintained".
+
+ This work consists of the files: README, evweek.dtx, evweek.ins
+ and the derived files evweek.cls and evweekexample.tex
+-------------------------------------------------------------------
+
+
+ The distribution consists of the following files:
+README (this file)
+evweek.{dtx,ins} Class source and installation files
+evweek.pdf Documentation in PDF
+evweekexample.pdf Example of this class output in PDF
+
+
+ To install the class:
+o run: latex evweek.ins (which will generate evweek.cls and
+ evweekexample.tex)
+o move evweek.cls where LaTeX will find it (in a local texmf tree could
+ be tex/latex/calendar/contrib/) and refresh the file database.
+
+
+2005/01/23
+Emanuele Vicentini
+(emanuelevicentini at yahoo dot it)
diff --git a/macros/latex/contrib/calendar/contrib/evweek/evweek.dtx b/macros/latex/contrib/calendar/contrib/evweek/evweek.dtx
new file mode 100644
index 0000000000..00f6a92269
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evweek/evweek.dtx
@@ -0,0 +1,796 @@
+% \iffalse
+%
+% evweek.dtx
+% Copyright 2003, 2005 Emanuele Vicentini
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3a of this license or (at your option) any
+% later version.
+% The latest version of the license is in
+% http://www.latex-project.org/lppl.txt
+%
+% Author: Emanuele Vicentini
+% (emanuelevicentini at yahoo dot it)
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% This work consists of the files: README, evweek.dtx, evweek.ins and
+% the derived files evweek.cls and evweekexample.tex
+%
+% This product is based off weekly.dtx distributed in the LaTeX Calendar
+% Bundle, v. 3.1, copyright (C) 1996-1997 by Frank Bennet
+%
+%<*driver>
+\documentclass[10pt, draft]{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{evweek.dtx}
+\end{document}
+%</driver>
+%
+%<*example>
+\documentclass{evweek}
+\begin{document}
+\begin{weekly}
+ {titletype=\mdseries, daynametype=\itshape, monthtype=\scshape}
+ {}
+ 23 jan 2005
+\end{weekly}
+\end{document}
+%</example>
+% \fi
+%
+%
+%
+% \CheckSum{594}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \DoNotIndex{\addtolength, \advance, \AtBeginDocument}
+% \DoNotIndex{\badness, \baselineskip, \begin, \bfseries}
+% \DoNotIndex{\csname, \CurrentOption}
+% \DoNotIndex{\DeclareOption, \def, \define@key, \divide}
+% \DoNotIndex{\else, \end, \endcsname, \expandafter}
+% \DoNotIndex{\fi}
+% \DoNotIndex{\global}
+% \DoNotIndex{\hbox, \hfil, \hfill, \hrule}
+% \DoNotIndex{\ifcat, \IfFileExists, \ifnum, \input, \InputIfFileExists}
+% \DoNotIndex{\kern}
+% \DoNotIndex{\leaders, \leavevmode, \linewidth, \LoadClass, \loop}
+% \DoNotIndex{\message, \multicolsep}
+% \DoNotIndex{\NeedsTeXFormat, \newcount, \newif, \newlength, \newsavebox,
+% \newskip, \normallineskip}
+% \DoNotIndex{\p@, \pagestyle, \par, \parbox, \parindent,
+% \PassOptionsToClass, \ProcessOptions, \protected@edef, \ProvidesClass}
+% \DoNotIndex{\raggedright, \relax, \repeat, \RequirePackage}
+% \DoNotIndex{\sbox, \setlength, \small, \space}
+% \DoNotIndex{\textheight, \the}
+% \DoNotIndex{\usebox}
+% \DoNotIndex{\vbox, \vfill, \vskip}
+% \DoNotIndex{\z@}
+%
+% \changes{v0.1}{2003/02/09}{First public release incorporating small
+% bug-fixes and extensions}
+% \changes{v0.4}{2005/01/15}{Added a little, stupid example of use}
+%
+%
+%
+% \def\fileversion{0.4}
+% \def\filedate{2005/01/23}
+%
+%
+%
+% \newcommand*{\classe}[1]{\textsf{#1}}
+% \newcommand*{\nomefile}[1]{\texttt{#1}}
+% \newcommand*{\opzione}[1]{\texttt{#1}}
+% \newcommand*{\pacchetto}[1]{\textsf{#1}}
+%
+%
+%
+% \title{User's Guide to the \classe{evweek} class\thanks{This file is
+% version number \fileversion; it was last revised on \filedate.}}
+% \author{Emanuele Vicentini\\(\texttt{emanuelevicentini at yahoo dot it})}
+% \date{\filedate}
+%
+%
+%
+% \maketitle
+% \begin{abstract}
+% This class, a simple spinn-off of the official \classe{weekly},
+% incorporates small bug-fixes and some extensions. To use it you have
+% to install the \LaTeX\ Calendar Bundle and, optionally, the
+% \pacchetto{evautofl} package.
+% \end{abstract}
+% \tableofcontents
+%
+%
+%
+% \section{Brief Introduction}
+% For the original documentation see the files \nomefile{calguide.tex} and
+% \nomefile{weekly.dtx} distributed in the \LaTeX\ Calendar Bundle.
+%
+% This manual is typeset according to the conventions of the
+% \LaTeX~\textsc{docstrip} utility which enables the automatic extraction of
+% the \LaTeX~macro source files~\cite{GOOSSENS94}.
+%
+%
+%
+% \section{The weekly calendar}
+% The \classe{evweek} class prints weekly calendars for use with a
+% Filofax\texttrademark\ 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.
+%
+% It has the following special features and limitations:
+%
+% \begin{itemize}
+% \item The text of the calendar is always rotated, using the
+% \pacchetto{lscape} package from the \pacchetto{graphics} bundle. As
+% a result, calendars generated using this package can only be printed
+% using \texttt{pdflatex}, \texttt{dvips} or other
+% PostScript\texttrademark\ print drivers supported by the
+% \pacchetto{graphics} bundle.
+% \item If the \pacchetto{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 on the calendar size: it
+% is governed by calendar options only.
+% \item Documents created with this style should contain nothing other than
+% a calendar environment.
+% \end{itemize}
+%
+%
+%
+% \subsection{Original Calendar Options}
+% The following formatting options are supported by the \texttt{weekly}
+% environment\footnote{All but the first one are provided by the
+% \pacchetto{autofilo} package (see the \LaTeX~Calendar Bundle) or the
+% \pacchetto{evautofl} package.}:
+%
+% \begin{description}
+% \item[\opzione{firstday}] This is the starting day of the calendar,
+% expressed as an integer. Friday (the default) is 5.
+% \item[\opzione{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[\opzione{intraspace}] This governs the space between punchouts within
+% a group. The default is 19.25mm.
+% \item[\opzione{punchgroups}] This option sets the number of groups of
+% punches. The default is two groups.
+% \item[\opzione{interspace}] This option sets the distance between the
+% groups of punches. The default is 51.25mm.
+% \item[\opzione{pageheight}] This fixes the height of a filofax page (not
+% the physical paper on which it is printed). The default is 172mm.
+% \item[\opzione{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[\opzione{grip}] This adjusts the distance from the edge of the page
+% to the outer edge of the punchouts. Default is 5mm.
+% \item[\opzione{punchmargin}] This adjusts the distance from the edge of the
+% text to the inner edge of the punchouts. Default is 2mm.
+% \item[\opzione{punchpoints}] Size, in points, of punchouts\footnote{Please,
+% note that the original documentation reads \opzione{punchsize} but
+% the option name is really \opzione{punchpoints}. Also, take care to
+% write no dimension specification after the number.}. Defaults to 15.
+% \item[\opzione{topspace}] Gap between top of filofax page and top of text
+% page.
+% \item[\opzione{bottomspace}] Gap between bottom of filofax page and bottom
+% of text page.
+% \item[\opzione{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[\opzione{jawline}] Sets the width of the lines used to make jawmarks.
+% Default value is \texttt{0.4~pt}.
+% \end{description}
+%
+%
+%
+% \changes{v0.3}{2003/11/28}{Added three new calendar options to enable
+% printing of lines in every day's box}
+% \subsection{New Calendar Options}
+% The following new formatting options are supported by the \classe{weekly}
+% environment as provided by this class only:
+%
+% \begin{description}
+% \item[\opzione{titletype}] This set the default typeface for the titlebox
+% of each entry; default is \cs{bfseries}.
+% \item[\opzione{daynumbertype}] This set the typeface for the day number,
+% allowing a finer control over the typesetting of each box; default
+% is empty.
+% \item[\opzione{daynametype}] This set the typeface for the day name,
+% allowing a finer control over the typesetting of each box; default
+% is empty.
+% \item[\opzione{monthtype}] This set the typeface for month name, allowing
+% a finer control over the typesetting of each box; default is empty.
+% \item[\opzione{yeartype}] This set the typeface for year number, allowing
+% a finer control over the typesetting of each box; default is empty.
+% \item[\opzione{intralineskip}] This set the distance between lines that
+% appears in every day's box; set it to negative values to disable
+% line printing; default is \texttt{-1~pt}.
+% \item[\opzione{bottomlineskip}] This set a small gap between the last line
+% that will eventually appear in every day's box and the bottom of
+% that same box; default is \texttt{0~pt}.
+% \item[\opzione{ruleheight}] This set the lines' height; default is
+% \texttt{0.1~pt}.
+% \end{description}
+%
+% Each of these parameters can be set indipendently, but the
+% \opzione{titletype} option has an overall effect. For example:
+% \begin{center}\ttfamily titletype=\cs{itshape},
+% monthtype=\cs{bfseries}\end{center} will typeset the whole titlebox with
+% an italic shape font and \emph{only} the month name using a bold expanded,
+% italic font (if available).
+%
+%
+%
+% \subsection{Fixes}
+% I should not call them \emph{real} bug-fixes, but I have changed some bits
+% of code that handle the layout of the titlebox of each day.
+%
+% The original implementation just put the titlebox's elements in a \TeX~box
+% and then built a little sandwich with two \cs{hrule}; this has the
+% unpleaseant effect that the titleboxes can be of different height, so I've
+% put the titleboxes in a \cs{vbox} of \cs{baselineskip} height.
+%
+%
+%
+% \changes{v0.2}{2003/03/21}{Switched to \pacchetto{evautofl} package by
+% default; provided an option to keep using \pacchetto{autofilo}}
+% \changes{v0.4}{2005/01/15}{Added a control on \pacchetto{evautofl}
+% availability}
+% \changes{v0.4}{2005/01/15}{Added the \opzione{compact} option}
+% \changes{v0.4}{2005/01/23}{Added the \opzione{ferial} option}
+% \subsection{New Class Options}
+% \begin{description}
+% \item[\opzione{traditional}] The \classe{evweek} class needs
+% \pacchetto{autofilo} or \pacchetto{evautofl} package to draw the
+% page frame; the default behaviour is to use \pacchetto{evautofl} but
+% if the \texttt{traditional} option is passed to \classe{evweek} or
+% \pacchetto{evautofl} is not available, then it will revert to use
+% the old \pacchetto{autofilo} package.
+% \item[\opzione{compact}] With this option, \classe{evweek} puts a whole
+% week on a single framed page, without any empty scratching box,
+% starting from Monday (starting day can be customized using
+% \opzione{firstday}); the original input for this option came from
+% Luis Rivera.
+% \item[\opzione{ferial}] With this option, \classe{evweek} puts Monday to
+% Wednesday on the left hand pages and Thurday to Sunday on the right
+% hand ones, with Saturday and Sunday taking half the space of the
+% other days and no empty scratching box\footnote{Customization of
+% starting day via \opzione{firstday} is not taken into account.}; the
+% original request for this option came from Geert Kloosterman.
+% \end{description}
+%
+%
+%
+% \StopEventually{%
+% \bibliographystyle{alpha}
+% \begin{thebibliography}{GMS94}
+% \addcontentsline{toc}{section}{\refname}
+% \bibitem[GMS94]{GOOSSENS94} Michel Goossens, Frank Mittelbach and
+% Alexander Samarin. \emph{The \LaTeX\ Companion}. Addison-Wesley
+% Company, 1994.
+% \end{thebibliography}}
+%
+%
+%
+% \section{The Class File}
+%
+%
+%
+% \subsection{Preliminaries}
+% Use \LaTeXe, and tell the user who we are.
+% \begin{macrocode}
+%<*class>
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesClass{evweek}[2005/01/23 v0.4 evWeekly Calendar]
+% \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
+\newif\ifwk@traditional
+\newif\ifwk@compact
+\newif\ifwk@ferial
+\newskip\wk@intralineskip
+\newskip\wk@bottomlineskip
+\newlength\wk@ruleheight
+% \end{macrocode}
+%
+%
+%
+% \subsection{Options}
+% Things like page and type size go to the article class.
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\DeclareOption{traditional}{\wk@traditionaltrue}
+\DeclareOption{compact}{\wk@compacttrue\wk@ferialfalse}
+\DeclareOption{ferial}{\wk@ferialtrue\wk@compactfalse}
+% \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}
+% \end{macrocode}
+% If \pacchetto{evautofl} is not available, we simulate the effect of
+% \opzione{traditional} to keep going.
+% \begin{macrocode}
+\IfFileExists{evautofl.sty}{\relax}{\wk@traditionaltrue}
+\ifwk@traditional
+ \RequirePackage{autofilo}
+\else
+ \RequirePackage{evautofl}
+\fi
+% \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
+ \multicolsep=0pt}
+% \end{macrocode}
+%
+%
+%
+% \subsection{Calendar Setup}
+% Define some key and their default values for use by the calendar
+% environment.
+% \begin{macrocode}
+\define@key{opt}{firstday}{%
+ \wk@firstday=#1}
+\ifwk@compact
+ \wk@firstday=1
+\else\ifwk@ferial
+ \wk@firstday=4
+\else
+ \wk@firstday=5
+\fi\fi
+\define@key{opt}{titletype}{%
+ \def\wk@titletype{#1}}
+\def\wk@titletype{\bfseries}
+\define@key{opt}{daynumbertype}{%
+ \def\wk@daynumbertype{#1}}
+\def\wk@daynumbertype{}
+\define@key{opt}{daynametype}{%
+ \def\wk@daynametype{#1}}
+\def\wk@daynametype{}
+\define@key{opt}{monthtype}{%
+ \def\wk@monthtype{#1}}
+\def\wk@monthtype{}
+\define@key{opt}{yeartype}{%
+ \def\wk@yeartype{#1}}
+\def\wk@yeartype{}
+\define@key{opt}{intralineskip}{%
+ \wk@intralineskip=#1}
+\wk@intralineskip=-\p@
+\define@key{opt}{bottomlineskip}{%
+ \wk@bottomlineskip=#1}
+\wk@bottomlineskip=\z@
+\define@key{opt}{ruleheight}{%
+ \wk@ruleheight=#1}
+\wk@ruleheight=0.1pt
+% \end{macrocode}
+% Internal re-definition of \cs{hrulefill} with variable height.
+% \begin{macrocode}
+\def\wk@hrulefill{\leavevmode\leaders\hrule height\wk@ruleheight
+ \hfill\kern\z@}
+% \end{macrocode}
+% We declare eight boxes (or just seven if \opzione{compact} or
+% \opzione{ferial} options are in place), one for each day of the week plus
+% an extra.
+% \begin{macrocode}
+\wk@tempcount=0
+\expandafter\newsavebox\csname wk@box\the\wk@tempcount\endcsname
+\ifwk@compact
+ \loop
+ \advance\wk@tempcount by 1
+ \ifnum\wk@tempcount<7
+ \expandafter\newsavebox\csname wk@box\the\wk@tempcount\endcsname
+ \repeat
+\else\ifwk@ferial
+ \loop
+ \advance\wk@tempcount by 1
+ \ifnum\wk@tempcount<7
+ \expandafter\newsavebox\csname wk@box\the\wk@tempcount\endcsname
+ \repeat
+\else
+ \loop
+ \advance\wk@tempcount by 1
+ \ifnum\wk@tempcount<8
+ \expandafter\newsavebox\csname wk@box\the\wk@tempcount\endcsname
+ \repeat
+\fi\fi
+% \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
+ \ifwk@compact
+ \loop
+ \advance\wk@tempcount by 1
+ \ifnum\wk@tempcount<7
+ \hbox to\linewidth{%
+ \expandafter\usebox\csname wk@box\the\wk@tempcount\endcsname}%
+ \repeat
+ \else\ifwk@ferial
+ \loop
+ \advance\wk@tempcount by 1
+ \ifnum\wk@tempcount<7
+ \hbox to\linewidth{%
+ \expandafter\usebox\csname wk@box\the\wk@tempcount\endcsname}%
+ \repeat
+ \else
+ \loop
+ \advance\wk@tempcount by 1
+ \ifnum\wk@tempcount<3
+ \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
+ \loop
+ \advance\wk@tempcount by 1
+ \ifnum\wk@tempcount<7
+ \hbox to\linewidth{%
+ \expandafter\usebox\csname wk@box\the\wk@tempcount\endcsname}%
+ \repeat
+ \fi\fi}
+% \end{macrocode}
+% 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}
+ \addtolength{\wk@itemheight}{-4pt}
+ \addtolength{\wk@itemheight}{-5\normallineskip}
+ \ifwk@compact
+ \divide\wk@itemheight by 7
+ \else\ifwk@ferial
+ \divide\wk@itemheight by 3
+ \else
+ \divide\wk@itemheight by 4
+ \fi\fi}%
+% \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 are 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 do not 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 week.
+% \begin{macrocode}
+ {7}
+% \end{macrocode}
+% The length of a subgroup is one week.
+% \begin{macrocode}
+ {7}
+% \end{macrocode}
+% We do not 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 the way to open a new group. This spits out all of the boxes
+% built for a page of text.
+% \begin{macrocode}
+ {\wk@spitoutboxes}
+% \end{macrocode}
+% We define a way to end a subgroup. In this case, we just relax.
+% \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.
+%
+% 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}
+% We tell the user where we are starting.
+% \begin{macrocode}
+ \message{^^JStart: \theshortweekday\space
+ \theday\space\theshortmonth\space\theyear}%
+% \end{macrocode}
+% 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}
+% We let the user know where we plan to stop.
+% \begin{macrocode}
+ \message{^^JEnd: \theshortweekday\space
+ \theday\space\theshortmonth\space\theyear^^J}%
+% \end{macrocode}
+% 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}
+ {\ifnum\dates@time@start>0
+ \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
+ \ifwk@ferial
+ \ifcase\cal@subgroup@count
+ \def\wk@itemheight@scalefactor{1}%
+ \or
+ \def\wk@itemheight@scalefactor{1}%
+ \or
+ \def\wk@itemheight@scalefactor{0.5}%
+ \or
+ \def\wk@itemheight@scalefactor{0.5}%
+ \else
+ \def\wk@itemheight@scalefactor{1}%
+ \fi
+ \else
+ \def\wk@itemheight@scalefactor{1}%
+ \fi
+ \expandafter\sbox\csname wk@box\the\cal@subgroup@count\endcsname{%
+ \vbox to\wk@itemheight@scalefactor\wk@itemheight{%
+ \hbox{%
+ \parbox{\linewidth}{%
+ \vbox to\baselineskip{%
+ \hrule width\linewidth
+ \vskip 1pt
+ \ifwk@compact
+ {\wk@titletype{\wk@daynametype\theweekday}\hfill
+ {\wk@daynumbertype\theday}\space
+ {\wk@monthtype\themonth}\space
+ {\wk@yeartype\theyear}%
+ }\par
+ \else\ifwk@ferial
+ \ifnum\cal@subgroup@count<4
+ {\wk@titletype{\wk@daynametype\theweekday}\hfill
+ {\wk@daynumbertype\theday}\space
+ {\wk@monthtype\themonth}\space
+ {\wk@yeartype\theyear}%
+ }\par
+ \else
+ {\wk@titletype{\wk@daynumbertype\theday}\space
+ {\wk@monthtype\themonth}\space
+ {\wk@yeartype\theyear}\hfill
+ {\wk@daynametype\theweekday}%
+ }\par
+ \fi
+ \else
+ \ifnum\cal@subgroup@count<3
+ {\wk@titletype{\wk@daynametype\theweekday}\hfill
+ {\wk@daynumbertype\theday}\space
+ {\wk@monthtype\themonth}\space
+ {\wk@yeartype\theyear}%
+ }\par
+ \else
+ {\wk@titletype{\wk@daynumbertype\theday}\space
+ {\wk@monthtype\themonth}\space
+ {\wk@yeartype\theyear}\hfill
+ {\wk@daynametype\theweekday}%
+ }\par
+ \fi
+ \fi\fi
+ \vfill
+ }% vbox
+ \hrule width\linewidth
+ \vskip 1pt
+ \raggedright
+ \small
+ \ifcat$\theevents$%
+ \else
+ \theevents\par
+ \fi
+ \ifcat$\theappointments$%
+ \else
+ \theappointments
+ \fi
+ }% parbox
+ }% hbox
+ \leaders\vbox{\vskip\wk@intralineskip\wk@hrulefill}\vfill
+ \vskip\wk@bottomlineskip
+ }% vbox
+ \ifnum\badness=1000000
+ \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@scalefactor\wk@itemheight{%
+ \hbox{%
+ \parbox{\linewidth}{%
+ \vbox to\baselineskip{%
+ \hrule width\linewidth
+ \vskip 1pt
+ \ifwk@compact
+ {\wk@titletype{\wk@daynametype\theweekday}\hfill
+ {\wk@daynumbertype\theday}\space
+ {\wk@monthtype\themonth}\space
+ {\wk@yeartype\theyear}%
+ }\par
+ \else
+ \ifnum\cal@subgroup@count<3
+ {\wk@titletype{\wk@daynametype\theweekday}\hfill
+ {\wk@daynumbertype\theday}\space
+ {\wk@monthtype\themonth}\space
+ {\wk@yeartype\theyear}%
+ }\par
+ \else
+ {\wk@titletype{\wk@daynumbertype\theday}\space
+ {\wk@monthtype\themonth}\space
+ {\wk@yeartype\theyear}\hfill
+ {\wk@daynametype\theweekday}%
+ }\par
+ \fi
+ \fi
+ \vfill
+ }% vbox
+ \hrule width\linewidth
+ \vskip 1pt
+ \raggedright
+ \small
+ \begin{multicols}{2}
+ \ifcat$\theevents$%
+ \else%
+ \theevents\par
+ \fi
+ \ifcat$\theappointments$%
+ \else
+ \theappointments
+ \fi
+ \end{multicols}
+ }% parbox
+ }% hbox
+ \leaders\vbox{\vskip\wk@intralineskip\wk@hrulefill}\vfill
+ \vskip\wk@bottomlineskip
+ }% vbox
+ }% sbox
+ \fi
+ \advance\wk@tempcount by 1
+ \ifnum\wk@tempcount>6
+ \wk@tempcount=0
+ \fi}
+%</class>
+% \end{macrocode}
+%
+%
+%
+% \makeatletter
+% \c@IndexColumns=2
+% \c@GlossaryColumns=2
+% \makeatother
+% \Finale
+% \clearpage
+% \PrintIndex
+% \clearpage
+% \PrintChanges
+%
+%
+%
+\endinput
diff --git a/macros/latex/contrib/calendar/contrib/evweek/evweek.ins b/macros/latex/contrib/calendar/contrib/evweek/evweek.ins
new file mode 100644
index 0000000000..709f0a4864
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evweek/evweek.ins
@@ -0,0 +1,77 @@
+%%
+%% evweek.ins
+%% Copyright 2003, 2005 Emanuele Vicentini
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3a of this license or (at your option) any
+%% later version.
+%% The latest version of the license is in
+%% http://www.latex-project.org/lppl.txt
+%%
+%% Author: Emanuele Vicentini
+%% (emanuelevicentini at yahoo dot it)
+%%
+%% This work has the LPPL maintenance status "author-maintained".
+%%
+%% This work consists of the files: README, evweek.dtx, evweek.ins and
+%% the derived files evweek.cls and evweekexample.tex
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\input docstrip
+\preamble
+
+ Copyright 2003, 2005 Emanuele Vicentini
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3a of this license or (at your option) any
+ later version.
+ The latest version of the license is in
+ http://www.latex-project.org/lppl.txt
+
+ Author: Emanuele Vicentini
+ (emanuelevicentini at yahoo dot it)
+
+ This work has the LPPL maintenance status "author-maintained".
+
+ This work consists of the files: README, evweek.dtx, evweek.ins
+ and the derived files evweek.cls and evweekexample.tex
+
+ Original author: Frank Bennett
+ at fb@soas.ac.uk
+
+\endpreamble
+
+\keepsilent
+\askforoverwritefalse
+
+\Msg{*** Generating the package files ***}
+\generate{\file{evweek.cls}{\from{evweek.dtx}{class}}%
+ \nopostamble
+ \file{evweekexample.tex}{\from{evweek.dtx}{example}}}
+
+\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 evweek.cls}
+\Msg{*}
+\Msg{*}
+\Msg{* To produce the documentation on evweek's code run the}
+\Msg{* file ending with `.dtx' through LaTeX.}
+\Msg{* Process the file evweek.idx by:}
+\Msg{* \space\space\space\space makeindex -s gind.ist evweek}
+\Msg{* Process the file certatex.glo by:}
+\Msg{* \space\space\space\space makeindex -s gglo.ist -o evweek.gls evweek.glo}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/calendar/contrib/evweek/evweek.pdf b/macros/latex/contrib/calendar/contrib/evweek/evweek.pdf
new file mode 100644
index 0000000000..69a1562be3
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evweek/evweek.pdf
Binary files differ
diff --git a/macros/latex/contrib/calendar/contrib/evweek/evweekexample.pdf b/macros/latex/contrib/calendar/contrib/evweek/evweekexample.pdf
new file mode 100644
index 0000000000..9729a17959
--- /dev/null
+++ b/macros/latex/contrib/calendar/contrib/evweek/evweekexample.pdf
Binary files differ