At the time of lincap (Vazou, Oct. 2010)

parent d9cf0c8c
%%
%% 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'.
%%
%% 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'.
......@@ -22,8 +22,8 @@
% Package information
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\filename{softlab-thesis}
\def\fileversion{1.2a}
\def\filedate{2008/12/17}
\def\fileversion{1.3a}
\def\filedate{2010/10/26}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{softlab-thesis}[\filedate\space\fileversion\space%
LaTeX document class (nsp).]
......@@ -239,7 +239,7 @@
\setlength\parskip{0.5\baselineskip
\@plus.1\baselineskip \@minus.1\baselineskip}
\setlength\parindent{\z@}
\def\noparskip{\par\vspace{-\parskip}}
\def\noparskip{\par\vspace{-\parskip}}
\else
\setlength\parskip{0\p@ \@plus 1\p@}
\let\noparskip\relax
......@@ -260,15 +260,14 @@
\def\e@skip{\h@font{\phantom{y}}}
% Required packages
% (cannot be very early)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{graphicx}
\RequirePackage{dates}
\RequirePackage[cm-default]{fontspec}
%\RequirePackage{xunicode}
%\RequirePackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\RequirePackage{Styles/xgreek}
%\usepackage{xgreek}
\RequirePackage{xgreek}
% XeLaTeX fonts
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -292,8 +291,6 @@
% typewritter font
\zf@fontspec{Scale=MatchLowercase}{Courier New}
\let\cmtt\ttdefault
\def\cmttfamily{\fontfamily{\cmtt}}
\let\ttdefault\zf@family
\deffontfamily\fontumtt
......@@ -403,9 +400,13 @@
\def\@uppertitleback{} \long\def\uppertitleback#1{\def\@uppertitleback{#1}}
\def\@middletitleback{} \long\def\middletitleback#1{\def\@middletitleback{#1}}
\def\@lowertitleback{} \long\def\lowertitleback#1{\def\@lowertitleback{#1}}
\def\@date@defense{} \def\datedefense#1{\gdef\@date@defense{#1}}
\def\@date@defense{} \def\datedefense#1#2#3{%
\gdef\@date@defense{#1η\ \@date@month@gen[#2]\ #3}%
\gdef\@date{\@date@month@nom[#2]\ #3}%
\gdef\@date@year{#3}%
}
\def\url#1{\gdef\@url{\texttt{#1}}}
\def\TRnumber#1{\gdef\@TRnumber{#1}}
\def\@TRnumber{} \def\TRnumber#1{\gdef\@TRnumber{#1}}
\def\@trurl{} \def\trurl#1{\gdef\@trurl{\texttt{#1}}}
\def\@trftp{} \def\trftp#1{\gdef\@trftp{\texttt{#1}}}
......@@ -416,6 +417,15 @@
\def\@committeemembers@and{\\ &}
\let\and\relax
\newcommand\@date@month@nom[1][\month]{%
\ifcase#1\or Ιανουάριος\or Φεβρουάριος\or Μάρτιος\or Απρίλιος\or
Μάιος\or Ιούνιος\or Ιούλιος\or Αύγουστος\or
Σεπτέμβριος\or Οκτώβριος\or Νοέμβριος\or Δεκέμβριος\fi}
\newcommand\@date@month@gen[1][\month]{%
\ifcase#1\or Ιανουαρίου\or Φεβρουαρίου\or Μαρτίου\or Απριλίου\or
Μαΐου\or Ιουνίου\or Ιουλίου\or Αυγούστου\or
Σεπτεμβρίου\or Οκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi}
\def\maketitle{%
\begingroup
%
......@@ -433,7 +443,7 @@
%
\noindent
\begin{minipage}{4.0cm}
\includegraphics[height=3.5cm]{Styles/pyrforos}%
\includegraphics[height=3.5cm]{pyrforos}%
\end{minipage}
\begin{minipage}{11.0cm}
\raggedright%
......@@ -498,7 +508,7 @@
%
\noindent%
\begin{minipage}{4.0cm}
\includegraphics[height=3.5cm]{Styles/pyrforos}%
\includegraphics[height=3.5cm]{pyrforos}%
\end{minipage}
\begin{minipage}{11.0cm}
\raggedright%
......@@ -600,14 +610,9 @@
%
\def\thefootnote{\arabic{footnote}}
\setcounter{footnote}{0}
\gdef\@thanks{}\gdef\@author{}\gdef\@translator{}\gdef\@institution{}%
\gdef\@date@defense{}\gdef\@school{}\gdef\@department{}%
\gdef\@supervisor{}\gdef\@supervisor@pos{}%
\gdef\@committee@one{}\gdef\@committee@one@pos{}%
\gdef\@committee@two{}\gdef\@committee@two@pos{}%
\gdef\@committee@three{}\gdef\@committee@three@pos{}%
\gdef\@thanks{}%
\gdef\@uppertitleback{}\gdef\@lowertitleback{}\gdef\@dedication{}%
\gdef\@title{}\gdef\@subtitle{}\let\maketitle\relax%
\let\maketitle\relax%
}
\def\abstractgr{%
\chapter*{\abstractnamegr\@mkboth{\abstractnamegr}{\abstractnamegr}}%
......@@ -1319,6 +1324,22 @@
\begingroup%
\let\footnoterule\relax%
}{%
\begin{flushright}
\@author, \\[6pt]
Αθήνα, \@date@defense
\end{flushright}
\footacknowledgement{%
Η εργασία αυτή είναι επίσης διαθέσιμη ως Τεχνική Αναφορά
\@TRnumber, Εθνικό Μετσόβιο Πολυτεχνείο, Σχολή Ηλεκτρολόγων
Μηχανικών και Μηχανικών Υπολογιστών, Τομέας Τεχνολογίας
Πληροφορικής και Υπολογιστών, Εργαστήριο Τεχνολογίας
Λογισμικού, \@date.
\\[6pt]
\begin{tabular}{@{}ll@{}}
URL: & \texttt{http://www.softlab.ntua.gr/techrep/} \\
FTP: & \texttt{ftp://ftp.softlab.ntua.gr/pub/techrep/}
\end{tabular}
}
\newpage%
\endgroup%
}
......@@ -1348,11 +1369,6 @@
\renewcommand\footnoterule{\vfill\kern-3\p@%
\hrule width .4\columnwidth\kern 2.6\p@}
% Macros for dates
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\aux@date@year{\dateread{\theyear}}
\newcommand\date@year[1][\date]{\expandafter\aux@date@year #1 {}\relax{}}
% Macros for signatures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\signature[3][0pt]{\makebox[40mm]{\tiny\dotfill}\\[6pt]#2\\[#1]#3}
......@@ -1386,7 +1402,7 @@
}}
}
\lowertitleback{%
{\large Copyright \copyright\ \ \@author, \date@year.\\
{\large Copyright \copyright\ \ \@author, \@date@year.\\
\if@greek
Με επιφύλαξη παντός δικαιώματος. All rights reserved.\\[12pt]
\else
......
......@@ -15,7 +15,7 @@
Ηλεκτρομαγνητικού Φάσματος}
\author{Γεώργιος Ι. Παπαδόπουλος}
\date{Μάρτιος 1999}
\datedefense{31η Μαρτίου 1999}
\datedefense{31}{3}{1999}
\supervisor{Ιωάννης X. Παπαδάκης}
\supervisorpos{Καθηγητής Ε.Μ.Π.}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment