%% \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         \~}
%\iffalse
%
% (c) copyright 2001 by Antonis Tsolomitis
% This program can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
%
% For any problems or remarks/feedback concerning this package,
% please contact Dr. A. Tsolomitis at atsol@aegean.gr
%
%\fi
%\CheckSum{1451}
%\iffalse This is a Metacomment
%
%<greekdates, >\ProvidesFile{greekdates.sty}
%
%<greekdates, >[2001/05/15 v1.0 Package `greekdates.sty']
%
%    \begin{macrocode}
%<*driver>
\documentclass{ltxdoc}
\GetFileInfo{greekdates.drv}
\begin{document}
   \DocInput{greekdates.dtx}
\end{document}
%</driver>
%    \end{macrocode}
% \fi
%
%\title{The `greekdates' package}
%\author{Antonis Tsolomitis\\Department of Mathematics\\
%University of the \AE gean\\
%GR-$832\;00$  Karlovassi\\
%Samos, HELLAS\\ 
%E-mail:\ \texttt{atsol@aegean.gr}}
% \date{2001/05/15}
%\maketitle
% 
%\MakeShortVerb{\|}
%\StopEventually{}
%
%\section{Introduction}
%The package provides an easy interface to access the original Greek names of months,
%days and dates relating to several Greek cities for which this information is available.
%The package should be useful mainly to Greek Gentiles, to the historians and
%anyone curious to see how the original Greek dates look like.
%
%\section{Month names\label{monthsnames}}
%The month names where not the same throughout Greece. However we do not know the names for
%all regions of Greece or for some regions we know the names of some of the months.
%These regions are not covered by this package as our main target group are the Greek Gentiles
%who would like to really use these names in their documents instead of the names enforced
%by law during the Byzantine Era. The month names are accessed by commands of the form
%\verb|\Regionmonth{|\textit{number}\verb|}| where \textit{number} is any integer
%between one and twelve (historians may object to this choice as there was a thirteenth
%month every four years, but as said before we want this package to be useful for everyday work
%(e.g.\ for creating Calendars)
%rather than strictly a study object).
%
%The \texttt{Region} is one of the following:
%\begin{center}
%\begin{tabular}{lll}
%Athens & Delphi & Dilos\\
%Epidavros & Rhodes & Macedonia\\
%Aitolia & Biotia & Samos\\
%Militos & Tinos & Lamia
%\end{tabular}
%\end{center}
%Both polytonic (multi-accented) and monotonic (single-accented) are supported
%and this is determined by whether we use the \texttt{polutonikogreek} or
%the \texttt{greek} option of the \textsf{babel} package.
%
%Thus \verb|\Samosmonth{4}| will produce the Samian name of April.
%
%\section{Day Names}
%
%For day names we have three commands. These are \verb|\fullgreekday{|\textit{number}\verb|}|,
%\verb|\shortgreekday{|\textit{number}\verb|}| and
%\verb|\sshotrgreekday{|\textit{number}\verb|}|.
%We designed these commands having in mind that they may be useful for the creation of calendars.
%Thus the first command will create phrases like ``The Day of Zeus'' in Greek (Thursday). The later
%is \verb|\fullgreekday{5}|. You just have to remember that Sunday is number 1 and also 
%``The day of the Sun''. The other two commands produce abbrevations.
%\verb|\shortgreekday{1}| will produce ``Sun's'' (in greek) and an even shorter form is
%produced by \verb|\sshortgreekday{1}|.
%
%\section{Converting the standard name months}
%
%The package provides the options \verb|Regionmonths| where \verb|Region| is
%one of the above names (in the section \ref{monthsnames}). If the package is loaded
%say with the \texttt{Athensmonths} (\verb|\usepackage[Athensmonths]{greekdates}|)
%the names for the months will be converted to the names used in Athens. This will
%affect for example commands like \verb|\today|.
%
%\subsection{Full date conversion}
%
%If one wants to completely switch to the Greek way of counting dates then the 
%option \texttt{fullconversion} should be used. This, together with the
%selection of one of the region months options will not only change the months' names
%but also adjust the way we count years. Thus \verb|\today| will now compute
%the current Olympiad and the year within the current Olympiad  and will print something like
%``5 monthname 2 year 694 Olympiad'', of course, in Greek. Similarly to the definition
%of the \verb|\Grtoday| command of the greek option of the Babel package, this command
%will now behave as \verb|\today| but the numbers will be written in Greek and not with
%their Arabic forms (see the documentation of the greek option of the Babel package).
%
%We also define the commands \verb|\shortdategreek| and \verb|\Grshortdategreek|
%which produce the date in short form. For example today is 8 May 2001 and if
%I would use \verb|\shortdategreek| I would get 8/5/2/694, that is, the 8th day 
%of the 5th month of the 2nd year of the 694 Olympiad.
%If I would use \verb|\Grshortdategreek| I would get the same but with Greek numerals.
%
%\section{The code}
%
%    \begin{macrocode}
%<*greekdates>
\NeedsTeXFormat{LaTeX2e}[1996/01/01]
\ProvidesPackage{greekdates}[2001/05/15\space v1.0]
\typeout{Package: `greekdates' v1.0\space <2001/05/15> (A. Tsolomitis)}
\ProvidesPackage{greekdates}
\RequirePackage{calc}
%    \end{macrocode}
%
% We begin by defining the days in full, 
% short and sshort form as described above.
%
%\begin{macro}{\fullgreekday}
% The command |\fullgreekday| is used to produce the name of the week's day
% using a phrase like ``the day of the Sun'' in Greek (this is |\fullgreekday{1}|).
% The argument is an integer from 1 to 7. Shorter forms follow.
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\fgrkday#1{
  \ifcase#1 \or % 
  >Hm'era to~u >'Hliou\or >Hm'era t~hs Sel'hnhs\or >Hm'era to~u 
  >'Arh\or >Hm'era to~u >Erm~h\or >Hm'era to~u Di`os\or 
  >Hm'era t~hs >Afrod'iths\or >Hm'era to~u Kr'onou\fi} 
}{
\def\fgrkday#1{
  \ifcase#1 \or % 
  Hm'era tou 'Hliou\or Hm'era ths Sel'hnhs\or Hm'era tou 'Arh\or 
  Hm'era tou Erm'h\or Hm'era tou Di'os\or Hm'era ths Afrod'iths\or 
  Hm'era tou Kr'onou\fi} 
}
\newcommand{\fullgreekday}[1]{\fgrkday #1}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\shortgreekday}
% The |\shortgreekday| macro gives a shorter form for the name of the day.
% For example |\shortgreekday{1}| will give ``Sun's'' in Greek (instead of ``the day of 
% the Sun'').
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\sgrkday#1{
  \ifcase#1 \or % 
  >'Hliou\or Sel'hnhs\or >'Arh\or >Erm~h\or
  Di`os\or >Afrod'iths\or Kr'onou\fi} 
}{
\def\sgrkday#1{
  \ifcase#1 \or % 
  'Hliou\or Sel'hnhs\or 'Arh\or Erm'h\or
  Di'os\or Afrod'iths\or Kr'onou\fi}
}
\newcommand{\shortgreekday}[1]{\sgrkday #1}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\sshortgreekday}
% An even shorter form is produced by the |\sshortgreekday| macro.
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\ssgrkday#1{
  \ifcase#1 \or % 
  >'Hl.\or Sel.\or >'Ar.\or >Er.\or
  Di`os\or >Afr.\or Kr.\fi} 
}{
\def\ssgrkday#1{
  \ifcase#1 \or % 
  'Hl.\or Sel.\or 'Ar.\or Er.\or
  Di'os\or Afr.\or Kr.\fi} 
}
\newcommand{\sshortgreekday}[1]{\ssgrkday #1}
%    \end{macrocode}
%\end{macro}
% We define the names of the months of several Greek 
% regions plus the commands for accessing them 
% as described above.
%\begin{macro}{\Athensmonth}\label{Athensmonth}
% We now define the names of the months for  the Athens region. the macro |\Athensmonth|
% admits a compulsary argument (an integer from 1 to 12) and gives the name of the
% corresponding month in the Athenian Calendar. Thus |\Athensmonth{2}| will produce the
% name of the February in that calendar.
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Athmonth#1{
  \ifcase#1 \or % 
  Gamhli'wn\or >Anjesthri'wn\or >Elafhboli'wn\or Mounuqi'wn \or 
  Jarghli'wn\or Skirofori'wn\or <Ekatombai'wn\or Metageitni'wn\or 
  Bohdromi'wn\or Puaneyi'wn\or Maimakthri'wn\or Poseide'wn\fi}
}{\def\Athmonth#1{
  \ifcase#1 \or % 
  Gamhli'wn\or Anjesthri'wn\or Elafhboli'wn\or Mounuqi'wn \or 
  Jarghli'wn\or Skirofori'wn\or Ekatombai'wn\or Metageitni'wn\or 
  Bohdromi'wn\or Puaneyi'wn\or Maimakthri'wn\or Poseide'wn\fi}
}
\newcommand{\Athensmonth}[1]{\Athmonth #1}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Delphimonth}
% We continue as with the Athenean names (see previous paragraph) 
% with the names of the Delphi region
% and with the  macro |\Delphimonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Delmonth#1{
  \ifcase#1 \or 
  >Am'alios\or B'usios\or Jeox'enios\or >Enduspoitr'opios\or      
  <Hr'akleios\or >Ila~ios\or >Apella~ios\or Bouk'atios\or 
  Boaj'oos\or <Hra~ios\or Dadaf'orios\or Poitr'opios\fi}
}{\def\Delmonth#1{
  \ifcase#1 \or 
  Am'alios\or B'usios\or Jeox'enios\or Enduspoitr'opios\or      
  Hr'akleios\or Ila'ios\or Apella'ios\or Bouk'atios\or 
  Boaj'oos\or Hra'ios\or Dadaf'orios\or Poitr'opios\fi}
}
\newcommand{\Delphimonth}[1]{\Delmonth #1}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Dilosmonth}
% We continue as with the Athenean names (see page \pageref{Athensmonth}) 
% with the names of the Island of Dilos region
% and with the  macro |\Dilosmonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Dilmonth#1{
  \ifcase#1 \or 
  Lhni'wn\or <Ier'os\or Galaxi'wn\or >Artemisi'wn\or                
  Jarghli'wn\or P'anhmos\or <Ekatombai'wn\or Metageitni'wn\or 
  Boufwni'wn\or >Apatouri'wn\or >Arhsi'wn\or Poseide'wn\fi}
}{\def\Dilmonth#1{
  \ifcase#1 \or 
  Lhni'wn\or Ier'os\or Galaxi'wn\or Artemisi'wn\or                
  Jarghli'wn\or P'anhmos\or Ekatombai'wn\or Metageitni'wn\or 
  Boufwni'wn\or Apatouri'wn\or Arhsi'wn\or Poseide'wn\fi}
}
\newcommand{\Dilosmonth}[1]{\Dilmonth #1}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Epidavrosmonth}
% We continue as with the Athenean names  (see page \pageref{Athensmonth})
% with the names of the Epidavros region 
% and with the  macro |\Epidavrosmonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Epimonth#1{
  \ifcase#1 \or
  Pos'idaios\or >Artam'itios\or >Ari'anios\or P'anamos\or       
  K'uklios\or >Apella~ios\or  >Az'osios\or Karne~ios\or 
  Pror'atios\or <Erma~ios\or G'amios\or T'eleos\fi}
}{\def\Epimonth#1{
  \ifcase#1 \or
  Pos'idaios\or Artam'itios\or Ari'anios\or P'anamos\or       
  K'uklios\or Apella'ios\or  Az'osios\or Karne'ios\or 
  Pror'atios\or Erma'ios\or G'amios\or T'eleos\fi}
}
\newcommand{\Epidavrosmonth}[1]{\Epimonth #1}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Rhodesmonth}
% We continue as with the Athenean names (see page \pageref{Athensmonth})
% with the names of the island of Rhodes region
% and with the  macro |\Rhodesmonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Rhomonth#1{
  \ifcase#1 \or
  Jeuda'isios\or Pedage'itnios\or Badr'omios\or >Artam'itios\or    
  >Agri'anios\or <Uak'injios\or P'anamos\or K'arneios\or 
  D'alios\or Jesmof'orios\or Sm'injios\or Di'osjuos\fi}
}{\def\Rhomonth#1{
  \ifcase#1 \or
  Jeuda'isios\or Pedage'itnios\or Badr'omios\or Artam'itios\or    
  Agri'anios\or Uak'injios\or P'anamos\or K'arneios\or 
  D'alios\or Jesmof'orios\or Sm'injios\or Di'osjuos\fi}
}
\newcommand{\Rhodesmonth}[1]{\Rhomonth #1}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Macedoniamonth}
% We continue as with the Athenean names (see page \pageref{Athensmonth})
% with the names of the Macedonia region
% and with the  macro |\Macedoniamonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Macmonth#1{
  \ifcase#1 \or
  D'ustros\or Xanjik'os\or >Artem'isios\or Da'isios\or          
  P'anhmos\or L~wos\or Gorpia~ios\or <Uperbereta~ios\or 
  D~ios\or >Apella~ios\or A>uduna~ios\or Per'itios\fi}
}{\def\Macmonth#1{
  \ifcase#1 \or
  D'ustros\or Xanjik'os\or Artem'isios\or Da'isios\or          
  P'anhmos\or L'wos\or Gorpia'ios\or Uperbereta'ios\or 
  D'ios\or Apella'ios\or Auduna'ios\or Per'itios\fi}
}
\newcommand{\Macedoniamonth}[1]{\Macmonth #1}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Aitoliamonth}
% We continue as with the Athenean names (see page \pageref{Athensmonth})
% with the names of the Aitolia region
% and with the  macro |\Aitoliamonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Aitmonth#1{
  \ifcase#1 \or
  E>ujua~ios\or <Omol'wios\or <Erma~ios\or Dion'usios\or          
  >Ag'ueios\or <Ippodr'omios\or Ju'ios\or P'anamos\or 
  Prok'uklios\or >Ajana~ios\or Bouk'atios\or Lafria~ios\fi}
}{\def\Aitmonth#1{
  \ifcase#1 \or
  Eujua'ios\or Omol'wios\or Erma'ios\or Dion'usios\or          
  Ag'ueios\or Ippodr'omios\or Ju'ios\or P'anamos\or 
  Prok'uklios\or Ajana'ios\or Bouk'atios\or Lafria'ios\fi}
}
\newcommand{\Aitoliamonth}[1]{\Aitmonth #1}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Biotiamonth}
% We continue as with the Athenean names (see page \pageref{Athensmonth})
% with the names of the Biotia region
% and with the  macro |\Biotiamonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Biomonth#1{
  \ifcase#1 \or
  <Erma~ios\or Prostat'hrios\or >Agri'wnios\or Jio'uios\or 
  <Omol'wios\or Jeilo'ujios\or <Ippodr'omios\or P'anamos\or
  Pamboi'wtios\or Dam'atrios\or >Alalkom'enios\or Bouk'atios\fi}
}{\def\Biomonth#1{
  \ifcase#1 \or
  Erma'ios\or Prostat'hrios\or Agri'wnios\or Jio'uios\or 
  Omol'wios\or Jeilo'ujios\or Ippodr'omios\or P'anamos\or
  Pamboi'wtios\or Dam'atrios\or Alalkom'enios\or Bouk'atios\fi}
}
\newcommand{\Biotiamonth}[1]{\Biomonth #1}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Samosmonth}
% We continue as with the Athenean names (see page \pageref{Athensmonth})
% with the names of the islan of Samos region
% and with the  macro |\Samosmonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Sammonth#1{
  \ifcase#1 \or
  Lhnai'wn\or >Anjesthri'wn\or >Artemisi'wn\or Taure'wn\or           
  P'anhmos\or Kroni'wn\or Pelusi'wn\or Metageitni'wn\or 
  Bohdromi'wn\or Kuanoyi'wn\or >Apatouri'wn\or Poseide'wn\fi}
}{\def\Sammonth#1{
  \ifcase#1 \or
  Lhnai'wn\or Anjesthri'wn\or Artemisi'wn\or Taure'wn\or           
  P'anhmos\or Kroni'wn\or Pelusi'wn\or Metageitni'wn\or 
  Bohdromi'wn\or Kuanoyi'wn\or Apatouri'wn\or Poseide'wn\fi}
}
\newcommand{\Samosmonth}[1]{\Sammonth #1}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Militosmonth}
% We continue as with the Athenean names (see page \pageref{Athensmonth})
% with the names of the Militos region
% and with the  macro |\Militosmonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Milmonth#1{
  \ifcase#1 \or
  Lhnai'wn\or >Anjesthri'wn\or >Artemisi'wn\or Taure'wn\or         
  Jarghli'wn\or Kalamai'wn\or P'anhmos\or Metageitni'wn \or
  >It'wnios\or Puanoyi'wn\or >Apatouri'wn\or Poseide'wn\fi}
}{\def\Milmonth#1{
  \ifcase#1 \or
  Lhnai'wn\or Anjesthri'wn\or Artemisi'wn\or Taure'wn\or         
  Jarghli'wn\or Kalamai'wn\or P'anhmos\or Metageitni'wn \or
  It'wnios\or Puanoyi'wn\or Apatouri'wn\or Poseide'wn\fi}
}
\newcommand{\Militosmonth}[1]{\Milmonth {#1}}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Tinosmonth}
% We continue as with the Athenean names (see page \pageref{Athensmonth})
% with the names of the island of Tinos region
% and with the  macro |\Tinosmonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Tinmonth#1{
  \ifcase#1 \or
  Lhnai'wn\or >Anjesthri'wn\or >Artemisi'wn\or Taure'wn\or           
  Targhli'wn\or >Eleujuai'wn\or >Apellai'wn\or <Hrai'wn\or
  Boufwni'wn\or Kuanoyi'wn\or >Apatouri'wn\or Poseide'wn\fi}
}{\def\Tinmonth#1{
  \ifcase#1 \or
  Lhnai'wn\or Anjesthri'wn\or Artemisi'wn\or Taure'wn\or           
  Targhli'wn\or Eleujuai'wn\or Apellai'wn\or Hrai'wn\or
  Boufwni'wn\or Kuanoyi'wn\or Apatouri'wn\or Poseide'wn\fi}
}
\newcommand{\Tinosmonth}[1]{\Tinmonth {#1}}
%    \end{macrocode}
%\end{macro}

%\begin{macro}{\Lamiamonth}
% We continue as with the Athenean names (see page \pageref{Athensmonth})
% with the names of the Lamia region
% and with the  macro |\Lamiamonth|
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\Lammonth#1{
  \ifcase#1 \or
  Jrix'allios\or Ge~ustos\or L'ukeos\or J'uos\or                    
  >'Areos\or Qrutta~ios\or <Ippodr'omios\or P'anamos\or 
  >It'wnios\or >Apella~ios\or Jem'istios\or B'wmios\fi}
}{\def\Lammonth#1{
  \ifcase#1 \or
  Jrix'allios\or Ge~ustos\or L'ukeos\or J'uos\or                    
  'Areos\or Qrutta'ios\or Ippodr'omios\or P'anamos\or 
  It'wnios\or Apella'ios\or Jem'istios\or B'wmios\fi}
}
\newcommand{\Lamiamonth}[1]{\Lammonth {#1}}
%    \end{macrocode}
%\end{macro}
% We now define the options of the package relating 
% to Greek regions giving the names of the months in 
% the genitive form so that we can form Greek dates.
%
%    \begin{macrocode}
\DeclareOption{Athensmonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  Gamhli~wnos\or >Anjesthri~wnos\or >Elafhboli~wnos\or Mounuqi~wnos \or 
  Jarghli~wnos\or Skirofori~wnos\or <Ekatombai~wnos\or Metageitni~wnos\or 
  Bohdromi~wnos\or Puaneyi~wnos\or Maimakthri~wnos\or Poseide~wnos\fi}   
\def\gr@c@month{%
  \ifcase\month\or
  Gamhli~wnos\or >Anjesthri~wnos\or >Elafhboli~wnos\or Mounuqi~wnos \or 
  Jarghli~wnos\or Skirofori~wnos\or <Ekatombai~wnos\or Metageitni~wnos\or 
  Bohdromi~wnos\or Puaneyi~wnos\or Maimakthri~wnos\or Poseide~wnos\fi}   
}{
\def\gr@month{%
  \ifcase\month\or
  Gamhli'wnos\or Anjesthri'wnos\or Elafhboli'wnos\or Mounuqi'wnos \or 
  Jarghli'wnos\or Skirofori'wnos\or Ekatombai'wnos\or Metageitni'wnos\or 
  Bohdromi'wnos\or Puaneyi'wnos\or Maimakthri'wnos\or Poseide'wnos\fi}   
\def\gr@c@month{%
  \ifcase\month\or
  Gamhli'wnos\or Anjesthri'wnos\or Elafhboli'wnos\or Mounuqi'wnos \or 
  Jarghli'wnos\or Skirofori'wnos\or Ekatombai'wnos\or Metageitni'wnos\or 
  Bohdromi'wnos\or Puaneyi'wnos\or Maimakthri'wnos\or Poseide'wnos\fi}   
}}

\DeclareOption{Delphimonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  >Am'aliou\or B'usiou\or Jeox'eniou\or >Enduspoitr'opiou\or      
  <Hr'akleiou\or >Ila'iou\or >Apella'iou\or Bouk'atiou\or 
  Boaj'oou\or <Hra'iou\or Dadaf'oriou\or Poitr'opiou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  >Am'aliou\or B'usiou\or Jeox'eniou\or >Enduspoitr'opiou\or      
  <Hr'akleiou\or >Ila'iou\or >Apella'iou\or Bouk'atiou\or 
  Boaj'oou\or <Hra'iou\or Dadaf'oriou\or Poitr'opiou\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Am'aliou\or B'usiou\or Jeox'eniou\or Enduspoitr'opiou\or      
  Hr'akleiou\or Ila'iou\or Apella'iou\or Bouk'atiou\or 
  Boaj'oou\or Hra'iou\or Dadaf'oriou\or Poitr'opiou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Am'aliou\or B'usiou\or Jeox'eniou\or Enduspoitr'opiou\or      
  Hr'akleiou\or Ila'iou\or Apella'iou\or Bouk'atiou\or 
  Boaj'oou\or Hra'iou\or Dadaf'oriou\or Poitr'opiou\fi}
}}

\DeclareOption{Dilosmonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  Lhni~wnos\or <Iero~u\or Galaxi~wnos\or >Artemisi~wnos\or                
  Jarghli~wnos\or P'anhmou\or <Ekatombai~wnos\or Metageitni~wnos\or 
  Boufwni~wnos\or >Apatouri~wnos\or >Arhsi~wnos\or Poseide~wnos\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Lhni~wnos\or <Iero~u\or Galaxi~wnos\or >Artemisi~wnos\or                
  Jarghli~wnos\or P'anhmou\or <Ekatombai~wnos\or Metageitni~wnos\or 
  Boufwni~wnos\or >Apatouri~wnos\or >Arhsi~wnos\or Poseide~wnos\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Lhni'wnos\or <Iero'u\or Galaxi'wnos\or Artemisi'wnos\or                
  Jarghli'wnos\or P'anhmou\or Ekatombai'wnos\or Metageitni'wnos\or 
  Boufwni'wnos\or Apatouri'wnos\or Arhsi'wnos\or Poseide'wnos\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Lhni'wnos\or <Iero'u\or Galaxi'wnos\or Artemisi'wnos\or                
  Jarghli'wnos\or P'anhmou\or Ekatombai'wnos\or Metageitni'wnos\or 
  Boufwni'wnos\or Apatouri'wnos\or Arhsi'wnos\or Poseide'wnos\fi}
}}

\DeclareOption{Epidavrosmonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  Pos'idaiou\or >Artam'itiou\or >Ari'aniou\or P'anamou\or       
  K'ukliou\or >Apella'iou\or  >Az'osiou\or Karne'iou\or 
  Pror'atiou\or <Erma'iou\or G'amiou\or T'eleou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Pos'idaiou\or >Artam'itiou\or >Ari'aniou\or P'anamou\or       
  K'ukliou\or >Apella'iou\or  >Az'osiou\or Karne'iou\or 
  Pror'atiou\or <Erma'iou\or G'amiou\or T'eleou\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Pos'idaiou\or Artam'itiou\or Ari'aniou\or P'anamou\or       
  K'ukliou\or Apella'iou\or  Az'osiou\or Karne'iou\or 
  Pror'atiou\or Erma'iou\or G'amiou\or T'eleou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Pos'idaiou\or Artam'itiou\or Ari'aniou\or P'anamou\or       
  K'ukliou\or Apella'iou\or  Az'osiou\or Karne'iou\or 
  Pror'atiou\or Erma'iou\or G'amiou\or T'eleou\fi}
}}

\DeclareOption{Rhodesmonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  Jeuda'isiou\or Pedage'itniou\or Badr'omiou\or >Artam'itiou\or    
  >Agri'aniou\or <Uak'injiou\or P'anamou\or K'arneiou\or 
  D'aliou\or Jesmof'oriou\or Sm'injiou\or Di'osjuou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Jeuda'isiou\or Pedage'itniou\or Badr'omiou\or >Artam'itiou\or    
  >Agri'aniou\or <Uak'injiou\or P'anamou\or K'arneiou\or 
  D'aliou\or Jesmof'oriou\or Sm'injiou\or Di'osjuou\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Jeuda'isiou\or Pedage'itniou\or Badr'omiou\or Artam'itiou\or    
  Agri'aniou\or Uak'injiou\or P'anamou\or K'arneiou\or 
  D'aliou\or Jesmof'oriou\or Sm'injiou\or Di'osjuou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Jeuda'isiou\or Pedage'itniou\or Badr'omiou\or Artam'itiou\or    
  Agri'aniou\or Uak'injiou\or P'anamou\or K'arneiou\or 
  D'aliou\or Jesmof'oriou\or Sm'injiou\or Di'osjuou\fi}
}}

\DeclareOption{Macedoniamonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  D'ustrou\or Xanjiko~u\or >Artem'isiou\or Da'isiou\or          
  P'anhmou\or L'wou\or Gorpia'iou\or <Uperbereta'iou\or 
  D'iou\or >Apella'iou\or A>uduna'iou\or Per'itiou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  D'ustrou\or Xanjiko~u\or >Artem'isiou\or Da'isiou\or          
  P'anhmou\or L'wou\or Gorpia'iou\or <Uperbereta'iou\or 
  D'iou\or >Apella'iou\or A>uduna'iou\or Per'itiou\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  D'ustrou\or Xanjiko'u\or Artem'isiou\or Da'isiou\or          
  P'anhmou\or L'wou\or Gorpia'iou\or Uperbereta'iou\or 
  D'iou\or Apella'iou\or Auduna'iou\or Per'itiou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  D'ustrou\or Xanjiko'u\or Artem'isiou\or Da'isiou\or          
  P'anhmou\or L'wou\or Gorpia'iou\or Uperbereta'iou\or 
  D'iou\or Apella'iou\or Auduna'iou\or Per'itiou\fi}
}}

\DeclareOption{Aitoliamonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  E>ujua'iou\or <Omol'wiou\or <Erma'iou\or Dion'usiou\or          
  >Ag'ueiou\or <Ippodr'omiou\or Ju'iou\or P'anamou\or 
  Prok'ukliou\or >Ajana'iou\or Bouk'atiou\or Lafria'iou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  E>ujua'iou\or <Omol'wiou\or <Erma'iou\or Dion'usiou\or          
  >Ag'ueiou\or <Ippodr'omiou\or Ju'iou\or P'anamou\or 
  Prok'ukliou\or >Ajana'iou\or Bouk'atiou\or Lafria'iou\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Eujua'iou\or Omol'wiou\or Erma'iou\or Dion'usiou\or          
  Ag'ueiou\or Ippodr'omiou\or Ju'iou\or P'anamou\or 
  Prok'ukliou\or Ajana'iou\or Bouk'atiou\or Lafria'iou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Eujua'iou\or Omol'wiou\or Erma'iou\or Dion'usiou\or          
  Ag'ueiou\or Ippodr'omiou\or Ju'iou\or P'anamou\or 
  Prok'ukliou\or Ajana'iou\or Bouk'atiou\or Lafria'iou\fi}
}}

\DeclareOption{Biotiamonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  <Erma'iou\or Prostat'hriou\or >Agri'wniou\or Jio'uiou\or 
  <Omol'wiou\or Jeilo'ujiou\or <Ippodr'omiou\or P'anamou\or
  Pamboi'wtiou\or Dam'atriou\or >Alalkom'eniou\or Bouk'atiou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  <Erma'iou\or Prostat'hriou\or >Agri'wniou\or Jio'uiou\or 
  <Omol'wiou\or Jeilo'ujiou\or <Ippodr'omiou\or P'anamou\or
  Pamboi'wtiou\or Dam'atriou\or >Alalkom'eniou\or Bouk'atiou\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Erma'iou\or Prostat'hriou\or Agri'wniou\or Jio'uiou\or 
  Omol'wiou\or Jeilo'ujiou\or Ippodr'omiou\or P'anamou\or
  Pamboi'wtiou\or Dam'atriou\or Alalkom'eniou\or Bouk'atiou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Erma'iou\or Prostat'hriou\or Agri'wniou\or Jio'uiou\or 
  Omol'wiou\or Jeilo'ujiou\or Ippodr'omiou\or P'anamou\or
  Pamboi'wtiou\or Dam'atriou\or Alalkom'eniou\or Bouk'atiou\fi}
}}

\DeclareOption{Samosmonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  Lhnai~wnos\or >Anjesthri~wnos\or >Artemisi~wnos\or Taure~wnos\or           
  P'anhmou\or Kroni~wnos\or Pelusi~wnos\or Metageitni~wnos\or 
  Bohdromi~wnos\or Kuanoyi~wnos\or >Apatouri~wnos\or Poseide~wnos\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Lhnai~wnos\or >Anjesthri~wnos\or >Artemisi~wnos\or Taure~wnos\or           
  P'anhmou\or Kroni~wnos\or Pelusi~wnos\or Metageitni~wnos\or 
  Bohdromi~wnos\or Kuanoyi~wnos\or >Apatouri~wnos\or Poseide~wnos\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Lhnai'wnos\or Anjesthri'wnos\or Artemisi'wnos\or Taure'wnos\or           
  P'anhmou\or Kroni'wnos\or Pelusi'wnos\or Metageitni'wnos\or 
  Bohdromi'wnos\or Kuanoyi'wnos\or Apatouri'wnos\or Poseide'wnos\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Lhnai'wnos\or Anjesthri'wnos\or Artemisi'wnos\or Taure'wnos\or           
  P'anhmou\or Kroni'wnos\or Pelusi'wnos\or Metageitni'wnos\or 
  Bohdromi'wnos\or Kuanoyi'wnos\or Apatouri'wnos\or Poseide'wnos\fi}
}}

\DeclareOption{Militosmonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  Lhnai~wnos\or >Anjesthri~wnos\or >Artemisi~wnos\or Taure~wnos\or         
  Jarghli~wnos\or Kalamai~wnos\or P'anhmou\or Metageitni~wnos \or
  >It'wniou\or Puanoyi~wnos\or >Apatouri~wnos\or Poseide~wnos\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Lhnai~wnos\or >Anjesthri~wnos\or >Artemisi~wnos\or Taure~wnos\or         
  Jarghli~wnos\or Kalamai~wnos\or P'anhmou\or Metageitni~wnos \or
  >It'wniou\or Puanoyi~wnos\or >Apatouri~wnos\or Poseide~wnos\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Lhnai'wnos\or Anjesthri'wnos\or Artemisi'wnos\or Taure'wnos\or         
  Jarghli'wnos\or Kalamai'wnos\or P'anhmou\or Metageitni'wnos \or
  It'wniou\or Puanoyi'wnos\or Apatouri'wnos\or Poseide'wnos\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Lhnai'wnos\or Anjesthri'wnos\or Artemisi'wnos\or Taure'wnos\or         
  Jarghli'wnos\or Kalamai'wnos\or P'anhmou\or Metageitni'wnos \or
  It'wniou\or Puanoyi'wnos\or Apatouri'wnos\or Poseide'wnos\fi}
}}

\DeclareOption{Tinosmonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  Lhnai~wnos\or >Anjesthri~wnos\or >Artemisi~wnos\or Taure~wnos\or           
  Targhli~wnos\or >Eleujuai~wnos\or >Apellai~wnos\or <Hrai~wnos\or
  Boufwni~wnos\or Kuanoyi~wnos\or >Apatouri~wnos\or Poseide~wnos\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Lhnai~wnos\or >Anjesthri~wnos\or >Artemisi~wnos\or Taure~wnos\or           
  Targhli~wnos\or >Eleujuai~wnos\or >Apellai~wnos\or <Hrai~wnos\or
  Boufwni~wnos\or Kuanoyi~wnos\or >Apatouri~wnos\or Poseide~wnos\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Lhnai'wnos\or Anjesthri'wnos\or Artemisi'wnos\or Taure'wnos\or           
  Targhli'wnos\or Eleujuai'wnos\or Apellai'wnos\or Hrai'wnos\or
  Boufwni'wnos\or Kuanoyi'wnos\or Apatouri'wnos\or Poseide'wnos\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Lhnai'wnos\or Anjesthri'wnos\or Artemisi'wnos\or Taure'wnos\or           
  Targhli'wnos\or Eleujuai'wnos\or Apellai'wnos\or Hrai'wnos\or
  Boufwni'wnos\or Kuanoyi'wnos\or Apatouri'wnos\or Poseide'wnos\fi}
}}

\DeclareOption{Lamiamonths}{
\@ifpackagewith{babel}{polutonikogreek}{
\def\gr@month{%
  \ifcase\month\or
  Jrix'alliou\or Ge'ustou\or L'ukeou\or J'uou\or                    
  >'Areou\or Qrutta'iou\or <Ippodr'omiou\or P'anamou\or 
  >It'wniou\or >Apella'iou\or Jem'istiou\or B'wmiou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Jrix'alliou\or Ge'ustou\or L'ukeou\or J'uou\or                    
  >'Areou\or Qrutta'iou\or <Ippodr'omiou\or P'anamou\or 
  >It'wniou\or >Apella'iou\or Jem'istiou\or B'wmiou\fi}
}{
\def\gr@month{%
  \ifcase\month\or
  Jrix'alliou\or Ge'ustou\or L'ukeou\or J'uou\or                    
  'Areou\or Qrutta'iou\or Ippodr'omiou\or P'anamou\or 
  It'wniou\or Apella'iou\or Jem'istiou\or B'wmiou\fi}
\def\gr@c@month{%
  \ifcase\month\or
  Jrix'alliou\or Ge'ustou\or L'ukeou\or J'uou\or                    
  'Areou\or Qrutta'iou\or Ippodr'omiou\or P'anamou\or 
  It'wniou\or Apella'iou\or Jem'istiou\or B'wmiou\fi}
}}
%    \end{macrocode}
%
% Now we turn to counting the years. We compute the 
% current Olympiad by adding the number \verb|776| 
% to the current year (\verb|776| before the beggining 
% of the Christian chronology is the year of the first 
% Olympiad) and dividing the result by \verb|4| 
% (integer division). Again from the current year 
% plus \verb|776| we subtract four times the curent 
% Olympiad and we add \verb|1| in order to get the 
% olympic year. Finally we redefine the commands 
% \verb|\today| and \verb|\Grtoday|.
% We start by defining some necessary Greek labels.
%    \begin{macrocode}
\@ifpackagewith{babel}{polutonikogreek}{
\def\gretouc{>'etous}
\def\grolympiad{>Olumpi'adas}
}{
\def\gretouc{'etous}
\def\grolympiad{Olumpi'adas}
}
%    \end{macrocode}
% We now define the package option |fullconversion|. This option redefined the commands
% |\today| and |\Grtoday| to use the calendar names of the specified region option.
% We start by computing the current Olympiad by the formula |(\year + 776)/4|. The value 
% is stored in the |olympiad| counter. 
%\begin{macro}{olympiad counter}
%    \begin{macrocode}
\DeclareOption{fullconversion}{
\newcounter{olympicyearmo}\newcounter{olympicyear}
\newcounter{olympiadd}
\newcounter{olympiad}
\setcounter{olympiadd}{\the\year + 776}
\setcounter{olympiad}{\value{olympiadd} / 4}
%    \end{macrocode}
%\end{macro}
% Now we compute the current year within the current olympiad with the formula
% |((\year + 776) - (\value{olympiad} * 4))+1|
%\begin{macro}{olympicyear counter}
%    \begin{macrocode}
\setcounter{olympicyearmo}{\value{olympiadd} - \value{olympiad} * 4}
\setcounter{olympicyear}{1+\value{olympicyearmo}}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\today}
% We redefine the |\today| macro to produce the date according to the Greek calendar (ie,
% using Olympiads and the month names of the selected region).
%    \begin{macrocode}
\def\dategreek{%
  \def\today{\number\day{}h \space \gr@month\space 
{\theolympicyear}$^{\hbox{\footnotesize ou}}$ \gretouc\space 
{\theolympiad}hs \grolympiad }}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\Grtoday}
% we redefine the |\Grtoday| macro of the Greek option of the Babel package, 
% so  that it produces the date according to the Greek calendar (ie,
% using Olympiads and the month names of the selected region) but with Greek 
% numbers instead of Arabic numbers.
%    \begin{macrocode}
\def\Grtoday{%
  \expandafter\Greeknumeral\expandafter{\the\day}\space
  \gr@c@month \space
  \expandafter\Greeknumeral\expandafter
{\theolympicyear} \gretouc \space
\expandafter\Greeknumeral\expandafter{\theolympiad} \grolympiad }
%    \end{macrocode}
%\end{macro}
% A few fixes: We define short forms of 
% Greek dates (eg 15/5/2/694 is the 15th 
% of May of the second year of the 694th 
% Olympiad) and fix the behavior of 
% \verb|\today| in the \verb|letter| 
% document class.
%\begin{macro}{\shortdategreek} 
% Short form of Greek date (as described above) with Arabic numerals.
%    \begin{macrocode}
\def\shortdategreek{\the\day/\the\month/\theolympicyear/\theolympiad}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\Grshortdategreek} 
% Short form of Greek date (as described above) with Greek numerals.
%    \begin{macrocode}
\def\Grshortdategreek{\expandafter\Greeknumeral\expandafter{\the\day}/%
\expandafter\Greeknumeral\expandafter{\the\month}/%
\expandafter\Greeknumeral\expandafter{\theolympicyear}/%
\expandafter\Greeknumeral\expandafter{\theolympiad}}
%    \end{macrocode}
%\end{macro}
% Finally we provide a quick fix for the |letter| document class. This class uses the 
% |\today| command to print the date on the letter below the sender's address.
% But now this command has been already redefined above, 
% and what it gives is too long for this use in letters. Thus 
% we use the |\shortdategreek| instead of |\today|.
%    \begin{macrocode}
\@ifclassloaded{letter}{\date{\shortdategreek}}{}
}
\ProcessOptions
\endinput
%</greekdates>
%    \end{macrocode} 
%
% \section*{Acknowledgment}
% I thank Apostolos Syropoulos for checking the usability of this package. 
% \section*{Dedication}
% To my newborn daughter Callisto.
% \Finale