From 1eb8d4fb119786820e35b966a795ad48d3ae7d8f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 15 Feb 2008 00:14:55 +0000 Subject: xgreek with all sources git-svn-id: svn://tug.org/texlive/trunk@6631 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/xgreek/README.1ST | 18 + Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf | Bin 0 -> 56482 bytes Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx | 366 +++++++++++++++++++++ Master/texmf-dist/source/xelatex/xgreek/xgreek.ins | 53 +++ Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty | 184 +++++++++++ 5 files changed, 621 insertions(+) create mode 100644 Master/texmf-dist/doc/xelatex/xgreek/README.1ST create mode 100644 Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf create mode 100644 Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx create mode 100644 Master/texmf-dist/source/xelatex/xgreek/xgreek.ins create mode 100644 Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/xelatex/xgreek/README.1ST b/Master/texmf-dist/doc/xelatex/xgreek/README.1ST new file mode 100644 index 00000000000..9c55ef2a8d8 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xgreek/README.1ST @@ -0,0 +1,18 @@ +Beta release of package xgreek + +Package xgreek has been designed so to allow people to +typeset Greek language documents using XeLaTeX. And it is +released in the hope that people will use it and spot errors, +bugs, features so to improve it. Practically, +it provides all the capabilities of the greek option of +the babel package. The package can be invoced with any of +the following options: monotonic (for typesetting modern monotonic Greek), +polytonic (for typesetting modern polytonic Greek), and ancient (for +typesetting ancient texts). The default option is monotonic. The command +\setlanguage{lang} to activate the hyphenation patterns of the lang. +This, however, can be done only if the format file has not been built +with the babel mechanism. + +Apostolos Syropoulos +Xanthi, Greece +2007/02/15 diff --git a/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf b/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf new file mode 100644 index 00000000000..7e084daa77e Binary files /dev/null and b/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf differ diff --git a/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx b/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx new file mode 100644 index 00000000000..22d071f78cd --- /dev/null +++ b/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx @@ -0,0 +1,366 @@ +%% \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 2007 Apostolos Syropoulos +% This program can be redistributed and/or modified under the +% terms of the LaTeX Project Public License Distributed from +% http://www.latex-project.org/lppl.txt; either +% version 1.3c of the License, or any later version. +% +% This work has the LPPL maintenance status `maintained'. +% +% Please report errors or suggestions for improvement to +% +% Apostolos Syropoulos (asyropoulos@yahoo.com) +% +%\fi +% \CheckSum{424} +% \iffalse This is a Metacomment +% +%\ProvidesFile{xgreek.sty} +% +% [2007/11/18 v1.0c Package `xgreek.sty'] +% +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\GetFileInfo{xgreek.drv} +\usepackage{fontspec} +\language=\american +\begin{document} +\setmainfont{GFS Bodoni} +\setmonofont{UM Typewriter} + \DocInput{xgreek.dtx} +\end{document} +% +% \end{macrocode} +% \fi +%\StopEventually{} +%\title{The \textsf{xgreek} package} +%\author{Apostolos Syropoulos\\ +% Xanthi, Greece\\ +% \texttt{asyropoulos@yahoo.com}} +% \date{2007/01/09} +%\maketitle +% \begin{abstract} +% The \textsf{xgreek} package provides rudimentary support for Greek language +% typesetting with X$\epsilon$\LaTeX. In particular, it provides support for modern Greek (either +% monotonic or polytonic) and ancient Greek. +%\end{abstract} +% +%\section{Introduction} +% +% The \textsf{xgreek} package provides rudimentary support for Greek language +% typesetting with X$\epsilon$\LaTeX. Users will be able to typeset documents in either +% modern Greek (monotonic or polytonic) or ancient Greek by selecting the appropriate +% package option. The default ``language'' is monotonic modern greek. +% +% +% \section{The Source Code} +% We define the various strings that correspond to the standard \LaTeX\ captions. +% Since monotonic Greek is the default option, we define these strings accordingly. +% Options +% \begin{macrocode} +%<*xgreek> +\def\prefacename{Πρόλογος}% +\def\refname{Αναφορές}% +\def\abstractname{Περίληψη}% +\def\bibname{Βιβλιογραφία}% +\def\chaptername{Κεφάλαιο}% +\def\appendixname{Παράρτημα}% +\def\contentsname{Περιεχόμενα}% +\def\listfigurename{Κατάλογος σχημάτων}% +\def\listtablename{Κατάλογος πινάκων}% +\def\indexname{Ευρετήριο}% +\def\figurename{Σχήμα}% +\def\tablename{Πίνακας}% +\def\partname{Μέρος}% +\def\enclname{Συνημμένα}% +\def\ccname{Κοινοποίηση}% +\def\headtoname{Προς}% +\def\pagename{Σελίδα}% +\def\seename{βλέπε}% +\def\alsoname{βλέπε επίσης}% +\def\proofname{Απόδειξη}% +\def\glossaryname{Γλωσσάρι}% +% \end{macrocode} +% The macro |\dategreek| redefines the command |\today| to produce greek dates. The +% names of months are defined by the macro |\gr@month|. +% \begin{macrocode} +\def\gr@month{% + \ifcase\month\or Ιανουαρίου\or Φεβρουαρίου\or Μαρτίου\or Απριλίου\or + Μαΐου\or Ιουνίου\or Ιουλίου\or Αυγούστου\or + Σεπτεμβρίου\or Οκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi} +\def\today{\number\day \space \gr@month\space \number\year} +% \end{macrocode} +% Macro |\polytonicn@mes| is invoked when either polytonic Greek or ancient Greek is +% the main language of the document. +% \begin{macrocode} +\def\polytonicn@mes{% + \def\refname{Ἀναφορὲς}% + \def\indexname{Εὑρετήριο}% + \def\figurename{Σχῆμα}% + \def\headtoname{Πρὸς}% + \def\alsoname{βλέπε ἐπίσης}% + \def\proofname{Ἀπόδειξη}% +} +% \end{macrocode} +% When either polytonic Greek or ancient Greek is the main language of the document, +% then the macro |\gr@c@month| becomes active. +% \begin{macrocode} +\def\gr@c@month{% + \ifcase\month\or Ἰανουαρίου\or Φεβρουαρίου\or Μαρτίου\or Ἀπριλίου\or + Μαΐου\or Ἰουνίου\or Ἰουλίου\or Αὐγούστου\or Σεπτεμβρίου\or + Ὀκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi} +% \end{macrocode} +% Now that we have defined the language dependant macros, we can safely define the various +% supported options. +% \begin{macrocode} +\DeclareOption{monotonic}{% + \language\moderngreek +} +\DeclareOption{polytonic}{% + \language\moderngreek% + \polytonicn@mes% + \let\gr@month\gr@c@month% +} +\DeclareOption{ancient}{% + \language\ancientgreek% + \polytonicn@mes% + \let\gr@month\gr@c@month% +} +\ExecuteOptions{monotonic} +\frenchspacing +\ProcessOptions +% \end{macrocode} +% Before we proceed let us define a few macros, which allow one to access characters +% that are not usually easily accessible such as the sampi or koppa symbols. +% \begin{macrocode} +\def\anwtonos{\char"0374\relax} +\def\katwtonos{\char"0375\relax} +\def\koppa{\char"03DF\relax} +\def\stigma{\char"03DA\relax} +\def\sampi{\char"03E1\relax} +\def\Digamma{\char"03DC\relax} +\def\ddigamma{\char"03DD\relax} +\def\euro{\char"20AC\relax} +\def\permill{\char"2030\relax} +% \end{macrocode} +% Now we are going to define the macros that typeset Greek numerals. The code is +% borrowed from the greek option for the babel package. +% \begin{macro}{\gr@ill@value} +% When the argument of |\greeknumeral| has a value outside of the +% acceptable bounds ($0 < x < 999999$) a warning will be issued +% (and nothing will be printed). +% \begin{macrocode} +\def\gr@ill@value#1{% + \PackageWarning{xgreek}{Illegal value (#1) for greeknumeral}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\anw@true} +% \begin{macro}{\anw@false} +% \begin{macro}{\anw@print} +% When a a large number with three \emph{trailing} zero's is to be +% printed those zeros \emph{and} the numeric mark need to be +% discarded. As each `digit' is processed by a separate macro +% \emph{and} because the processing needs to be expandable we need +% some helper macros that help remember to \emph{not} print the +% numeric mark (|\anwtonos|). +% +% The command |\anw@false| switches the printing of the numeric +% mark off by making |\anw@print| expand to nothing. The command +% |\anw@true| (re)enables the printing of the numeric marc. These +% macro's need to be robust in order to prevent improper expansion +% during writing to files or during |\uppercase|. +% \begin{macrocode} +\DeclareRobustCommand\anw@false{% + \DeclareRobustCommand\anw@print{}} +\DeclareRobustCommand\anw@true{% + \DeclareRobustCommand\anw@print{\anwtonos}} +\anw@true +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\greeknumeral} +% The command |\greeknumeral| needs to be \emph{fully} expandable +% in order to get the right information in auxiliary +% files. Therefore we use a big |\if|-construction to check the +% value of the argument and start the parsing at the right level. +% \begin{macrocode} +\def\greeknumeral#1{% +% \end{macrocode} +% If the value is negative or zero nothing is printed and a warning +% is issued. +% \begin{macrocode} + \ifnum#1<\@ne\space\gr@ill@value{#1}% + \else + \ifnum#1<10\expandafter\gr@num@i\number#1% + \else + \ifnum#1<100\expandafter\gr@num@ii\number#1% + \else +% \end{macrocode} +% We use the available shorthands for 1.000 (|\@m|) and 10.000 +% (|\@M|) to save a few tokens. +% \begin{macrocode} + \ifnum#1<\@m\expandafter\gr@num@iii\number#1% + \else + \ifnum#1<\@M\expandafter\gr@num@iv\number#1% + \else + \ifnum#1<100000\expandafter\gr@num@v\number#1% + \else + \ifnum#1<1000000\expandafter\gr@num@vi\number#1% + \else +% \end{macrocode} +% If the value is too large, nothing is printed and a warning +% is issued. +% \begin{macrocode} + \space\gr@ill@value{#1}% + \fi + \fi + \fi + \fi + \fi + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Greeknumeral} +% The command |\Greeknumeral| prints uppercase greek numerals. +% The parsing is performed by the macro |\greeknumeral|. +% \begin{macrocode} +\def\Greeknumeral#1{% + \expandafter\MakeUppercase\expandafter{\greeknumeral{#1}}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\greek@alph} +% \begin{macro}{\greek@Alph} +% Here we redefine the macros |\@alph| and |\@Alph|. First we define some placeholders +% \begin{macrocode} +\let\latin@alph\@alph +\let\latin@Alph\@Alph +% \end{macrocode} +% Then we define the Greek versions; the additional |\expandafter|s +% are needed in order to make sure the table of contents will be +% correct, e.g., when we have appendixes. +% \begin{macrocode} +\def\greek@alph#1{\expandafter\greeknumeral\expandafter{\the#1}} +\def\greek@Alph#1{\expandafter\Greeknumeral\expandafter{\the#1}} +% \end{macrocode} +% By default use Greek enumerals instaed of Latin numerals to enumerate items in an +% enumeration environment. +% \begin{macrocode} + \let\@alph\greek@alph + \let\@Alph\greek@Alph +% \end{macrocode} +% If for some reason, we need to have the Latin numerals, then we just have to invoke command +% |\nogreekalph|. And if we want to switch back, then we have to use the |\greekalph| +% command: +% \begin{macrocode} +\def\nogreekalph{% + \let\@alph\latin@alph + \let\@Alph\latin@Alph} +\def\greekalph{% + \let\@alph\greek@alph + \let\@Alph\greek@Alph} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% What is left now is the definition of a set of macros to produce +% the various digits. +% \begin{macro}{\gr@num@i} +% \begin{macro}{\gr@num@ii} +% \begin{macro}{\gr@num@iii} +% As there is no representation for $0$ in this system the zeros +% are simply discarded. When we have a large number with three +% \emph{trailing} zero's also the numeric mark is discarded. +% Therefore these macros need to pass the information to each other +% about the (non-)translation of a zero. +% \begin{macrocode} +\def\gr@num@i#1{% + \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi + \ifnum#1=\z@\else\anw@true\fi\anw@print} +\def\gr@num@ii#1{% + \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi + \ifnum#1=\z@\else\anw@true\fi\gr@num@i} +\def\gr@num@iii#1{% + \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi + \ifnum#1=\z@\anw@false\else\anw@true\fi\gr@num@ii} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\gr@num@iv} +% \begin{macro}{\gr@num@v} +% \begin{macro}{\gr@num@vi} +% The first three `digits' always have the numeric mark, except +% when one is discarded because it's value is zero. +% \begin{macrocode} +\def\gr@num@iv#1{% + \ifnum#1=\z@\else\katwtonos\fi + \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi + \gr@num@iii} +\def\gr@num@v#1{% + \ifnum#1=\z@\else\katwtonos\fi + \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi + \gr@num@iv} +\def\gr@num@vi#1{% + \katwtonos + \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi + \gr@num@v} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\setlanguage} +% We provide the |\setlanguage| command which +% activates the hypehnation patterns of some other language. It is similar +% to babel's |\selectlanguage|, but we opted to use a new name to avoid any name conflicts. +% \begin{macrocode} +\def\setlanguage#1{% + \expandafter\ifx\csname #1\endcsname\relax% + \typeout{^^J Error: No hyphenation pattern for language #1 loaded,}% + \typeout{ default hyphenation patterns are used.^^J}% + \language=0% + \else\language=\csname #1\endcsname\fi} +% \end{macrocode} +% \end{macro} +% The macros |\grtoday| and |\Grtoday| produces the current date, only that the +% month and the day are shown as greek numerals instead of arabic +% as it is usually the case. In addition, the two commands differ in that the +% later produces the Greek numerals in uppercase. +% \begin{macrocode} +\def\grtoday{% + \expandafter\greeknumeral\expandafter{\the\day}\space + \gr@c@month \space + \expandafter\greeknumeral\expandafter{\the\year}} +\def\Grtoday{% + \expandafter\Greeknumeral\expandafter{\the\day}\space + \gr@c@month \space + \expandafter\Greeknumeral\expandafter{\the\year}} +% +% \end{macrocode} +% +% \Finale diff --git a/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins b/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins new file mode 100644 index 00000000000..48c0da9885f --- /dev/null +++ b/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins @@ -0,0 +1,53 @@ +%% Copyright 2006 Apostolos Syropoulos +%% +%% This file is part of the `xgreek' package. +%% You are not allowed to modify its contents. +%% +\def\filedate{2006/12/10} +\def\batchfile{xgreek.ins} +\input docstrip.tex + +{\ifx\generate\undefined +\Msg{**********************************************} +\Msg{*} +\Msg{* This installation requires docstrip} +\Msg{* version 2.3c or later.} +\Msg{*} +\Msg{* An older version of docstrip has been input} +\Msg{*} +\Msg{**********************************************} +\errhelp{Move or rename old docstrip.tex.} +\errmessage{Old docstrip in input path} +\batchmode +\csname @@end\endcsname +\fi} + +\preamble + + (c) Copyright 2007 Apostolos Syropoulos + This program can be redistributed and/or modified under the + terms of the LaTeX Project Public License Distributed from + http://www.latex-project.org/lppl.txt; either + version 1.3c of the License, or any later version. + + This work has the LPPL maintenance status `maintained'. + + Please report errors or suggestions for improvement to + + Apostolos Syropoulos (asyropoulos@yahoo.com) + +\endpreamble + + +\keepsilent + +\generate{\generateFile{xgreek.sty}{f}{\from{xgreek.dtx}{xgreek}}} +\postamble +\endpostamble +\Msg{**********************************************************} +\Msg{* To finish installation you have to copy} +\Msg{* the generated .sty file in the appropriate} +\Msg{* directory and then to rehash your TeX system} +\Msg{* Happy Greek XeTeXing!} +\Msg{**********************************************************} +\endinput diff --git a/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty b/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty new file mode 100644 index 00000000000..5ccdbb793f4 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty @@ -0,0 +1,184 @@ +%% +%% This is file `xgreek.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xgreek.dtx (with options: `xgreek') +%% +%% (c) Copyright 2007 Apostolos Syropoulos +%% This program can be redistributed and/or modified under the +%% terms of the LaTeX Project Public License Distributed from +%% http://www.latex-project.org/lppl.txt; either +%% version 1.3c of the License, or any later version. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% Please report errors or suggestions for improvement to +%% +%% Apostolos Syropoulos (asyropoulos@yahoo.com) +%% +%% \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 \~} +%% +\ProvidesFile{xgreek.sty} + [2007/11/18 v1.0c Package `xgreek.sty'] +\def\prefacename{Πρόλογος}% +\def\refname{Αναφορές}% +\def\abstractname{Περίληψη}% +\def\bibname{Βιβλιογραφία}% +\def\chaptername{Κεφάλαιο}% +\def\appendixname{Παράρτημα}% +\def\contentsname{Περιεχόμενα}% +\def\listfigurename{Κατάλογος σχημάτων}% +\def\listtablename{Κατάλογος πινάκων}% +\def\indexname{Ευρετήριο}% +\def\figurename{Σχήμα}% +\def\tablename{Πίνακας}% +\def\partname{Μέρος}% +\def\enclname{Συνημμένα}% +\def\ccname{Κοινοποίηση}% +\def\headtoname{Προς}% +\def\pagename{Σελίδα}% +\def\seename{βλέπε}% +\def\alsoname{βλέπε επίσης}% +\def\proofname{Απόδειξη}% +\def\glossaryname{Γλωσσάρι}% +\def\gr@month{% + \ifcase\month\or Ιανουαρίου\or Φεβρουαρίου\or Μαρτίου\or Απριλίου\or + Μαΐου\or Ιουνίου\or Ιουλίου\or Αυγούστου\or + Σεπτεμβρίου\or Οκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi} +\def\today{\number\day \space \gr@month\space \number\year} +\def\polytonicn@mes{% + \def\refname{Ἀναφορὲς}% + \def\indexname{Εὑρετήριο}% + \def\figurename{Σχῆμα}% + \def\headtoname{Πρὸς}% + \def\alsoname{βλέπε ἐπίσης}% + \def\proofname{Ἀπόδειξη}% +} +\def\gr@c@month{% + \ifcase\month\or Ἰανουαρίου\or Φεβρουαρίου\or Μαρτίου\or Ἀπριλίου\or + Μαΐου\or Ἰουνίου\or Ἰουλίου\or Αὐγούστου\or Σεπτεμβρίου\or + Ὀκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi} +\DeclareOption{monotonic}{% + \language\moderngreek +} +\DeclareOption{polytonic}{% + \language\moderngreek% + \polytonicn@mes% + \let\gr@month\gr@c@month% +} +\DeclareOption{ancient}{% + \language\ancientgreek% + \polytonicn@mes% + \let\gr@month\gr@c@month% +} +\ExecuteOptions{monotonic} +\frenchspacing +\ProcessOptions +\def\anwtonos{\char"0374\relax} +\def\katwtonos{\char"0375\relax} +\def\koppa{\char"03DF\relax} +\def\stigma{\char"03DA\relax} +\def\sampi{\char"03E1\relax} +\def\Digamma{\char"03DC\relax} +\def\ddigamma{\char"03DD\relax} +\def\euro{\char"20AC\relax} +\def\permill{\char"2030\relax} +\def\gr@ill@value#1{% + \PackageWarning{xgreek}{Illegal value (#1) for greeknumeral}} +\DeclareRobustCommand\anw@false{% + \DeclareRobustCommand\anw@print{}} +\DeclareRobustCommand\anw@true{% + \DeclareRobustCommand\anw@print{\anwtonos}} +\anw@true +\def\greeknumeral#1{% + \ifnum#1<\@ne\space\gr@ill@value{#1}% + \else + \ifnum#1<10\expandafter\gr@num@i\number#1% + \else + \ifnum#1<100\expandafter\gr@num@ii\number#1% + \else + \ifnum#1<\@m\expandafter\gr@num@iii\number#1% + \else + \ifnum#1<\@M\expandafter\gr@num@iv\number#1% + \else + \ifnum#1<100000\expandafter\gr@num@v\number#1% + \else + \ifnum#1<1000000\expandafter\gr@num@vi\number#1% + \else + \space\gr@ill@value{#1}% + \fi + \fi + \fi + \fi + \fi + \fi + \fi +} +\def\Greeknumeral#1{% + \expandafter\MakeUppercase\expandafter{\greeknumeral{#1}}} +\let\latin@alph\@alph +\let\latin@Alph\@Alph +\def\greek@alph#1{\expandafter\greeknumeral\expandafter{\the#1}} +\def\greek@Alph#1{\expandafter\Greeknumeral\expandafter{\the#1}} + \let\@alph\greek@alph + \let\@Alph\greek@Alph +\def\nogreekalph{% + \let\@alph\latin@alph + \let\@Alph\latin@Alph} +\def\greekalph{% + \let\@alph\greek@alph + \let\@Alph\greek@Alph} +\def\gr@num@i#1{% + \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi + \ifnum#1=\z@\else\anw@true\fi\anw@print} +\def\gr@num@ii#1{% + \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi + \ifnum#1=\z@\else\anw@true\fi\gr@num@i} +\def\gr@num@iii#1{% + \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi + \ifnum#1=\z@\anw@false\else\anw@true\fi\gr@num@ii} +\def\gr@num@iv#1{% + \ifnum#1=\z@\else\katwtonos\fi + \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi + \gr@num@iii} +\def\gr@num@v#1{% + \ifnum#1=\z@\else\katwtonos\fi + \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi + \gr@num@iv} +\def\gr@num@vi#1{% + \katwtonos + \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi + \gr@num@v} +\def\setlanguage#1{% + \expandafter\ifx\csname #1\endcsname\relax% + \typeout{^^J Error: No hyphenation pattern for language #1 loaded,}% + \typeout{ default hyphenation patterns are used.^^J}% + \language=0% + \else\language=\csname #1\endcsname\fi} +\def\grtoday{% + \expandafter\greeknumeral\expandafter{\the\day}\space + \gr@c@month \space + \expandafter\greeknumeral\expandafter{\the\year}} +\def\Grtoday{% + \expandafter\Greeknumeral\expandafter{\the\day}\space + \gr@c@month \space + \expandafter\Greeknumeral\expandafter{\the\year}} +\endinput +%% +%% End of file `xgreek.sty'. -- cgit v1.2.3