diff options
author | Karl Berry <karl@freefriends.org> | 2013-07-11 23:27:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-07-11 23:27:07 +0000 |
commit | b0c1f2170d2a8b9c940d94e002098245a566b6b0 (patch) | |
tree | 53fa2f7738410cc5ba477815a19107c29e95fcc1 | |
parent | 73f6b8fbb951d9acae74a72fb07cc8e237fe3bc3 (diff) |
xgreek (11jul13)
git-svn-id: svn://tug.org/texlive/trunk@31170 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xgreek/README | 25 | ||||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf | bin | 59930 -> 62754 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx | 273 | ||||
-rw-r--r-- | Master/texmf-dist/source/xelatex/xgreek/xgreek.ins | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty | 87 |
5 files changed, 235 insertions, 154 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xgreek/README b/Master/texmf-dist/doc/xelatex/xgreek/README index a74ae254ab1..a3aa94cf43e 100644 --- a/Master/texmf-dist/doc/xelatex/xgreek/README +++ b/Master/texmf-dist/doc/xelatex/xgreek/README @@ -1,3 +1,14 @@ +Version 2.5 of package xgreek + +By default the package enables the indentation even for first paragraph +after any header. This is the default in Greek typography. However, some +users wanted to be able to disable this "feature". Now, users can +specify the noindentfirst option to achieve this. Also, some users wanted +to be able to have the Greek numerals that appear in enumerations and +chapter headers to get printed without the NUMERAL SIGN. This feature +can be turned on with the new option nonumeralsign. Fianlly, command +\anoteleia can be used to get an ANO TELEIA character. + Version 2.4 of package xgreek Two erroneous entries in \@ncientn@mes have been deleted. @@ -8,21 +19,17 @@ In this version the \stigma command expands to the letters sigma tau. If one wants this command to expand to the stigma symbol, she has to use the stigma package option. -Apostolos Syropoulos -Xanthi, Greece -2011/09/27 Version 2.2 of package xgreek -In version 2.2 it was removed the first entry of \refname in \@ncientn@mes. +Removed the first entry of \refname in \@ncientn@mes. -In version 2.1 I have introduced some new \lccode-\uccode pairs that +Version 2.1 of package xgreek + +I have introduced some new \lccode-\uccode pairs that reflect current changes in Unicode 5.2 while I have corrected the values for an existing pair. -Apostolos Syropoulos -Xanthi, Greece -2009/11/23 Version 2.0 of package xgreek @@ -48,4 +55,4 @@ greek loadhyph-el-polyton.tex Apostolos Syropoulos Xanthi, Greece -2008/06/24 +2013/07/09 diff --git a/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf b/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf Binary files differindex 76c3a22c120..b96d200c663 100644 --- a/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf +++ b/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf diff --git a/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx b/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx index 1031423eaf6..99d91ace2ba 100644 --- a/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx +++ b/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx @@ -16,7 +16,7 @@ %% %\iffalse % -% (c) Copyright 2007-2012 Apostolos Syropoulos +% (c) Copyright 2007-2013 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 @@ -29,13 +29,12 @@ % Apostolos Syropoulos (asyropoulos@yahoo.com) % %\fi -% \CheckSum{1843} -% \changes{xgreek~2.4}{2012/04/08}{Removed first entry of \refname in \@ncientn@mes} +% \CheckSum{1885} % \iffalse This is a Metacomment % %<xgreek, >\ProvidesFile{xgreek.sty} % -%<xgreek, > [2012/04/08 v2.4 Package `xgreek.sty'] +%<xgreek, > [2013/07/05 v2.5 Package `xgreek.sty'] % % \begin{macrocode} %<*driver> @@ -58,7 +57,7 @@ %\author{Apostolos Syropoulos\\ % Xanthi, Greece\\ % \texttt{asyropoulos@yahoo.com}} -% \date{2009/11/23\\ Last Updated 2012/04/08} +% \date{2009/11/23\\ Last Updated 2013/07/05} %\maketitle % \begin{abstract} % The \textsf{xgreek} package provides rudimentary support for Greek language @@ -84,10 +83,10 @@ % is that accents are not part of the letter as for example is the case with % \textsc{latin small letter k with caron}. Since, \XeLaTeX\ blindly follows the Unicode % standard, commands like |\MakeUppercase| produce wrong output. For this reason -% we first need to set up the correct |\uccode|s and |\lccode|s. +% I first need to set up the correct |\uccode|s and |\lccode|s. % \begin{macrocode} %<*xgreek> -\message{Package `xgreek' version 2.4 by Apostolos Syropoulos} +\message{Package `xgreek' version 2.5 by Apostolos Syropoulos} \global\lccode"0370="0371 \global\uccode"0370="0370 \global\lccode"0371="0371 \global\uccode"0371="0370 \global\lccode"0372="0373 \global\uccode"0372="0372 @@ -407,8 +406,8 @@ \global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9 \global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC % \end{macrocode} -% Next we define the various strings that correspond to the standard \LaTeX\ captions. -% We first define the strings for monotonic Greek. +% Next I define the various strings that correspond to the standard \LaTeX\ captions. +% I first define the strings for monotonic Greek. % \begin{macrocode} \def\prefacename{Πρόλογος}% \def\refname{Αναφορές}% @@ -470,7 +469,7 @@ \def\headtoname{Πρὸς}% } % \end{macrocode} -% We redefine |\today| so as to produce dates in Greek. The +% I redefine |\today| so as to produce dates in Greek. The % names of months are defined by the macro |\gr@month|. % \begin{macrocode} \def\gr@month{% @@ -487,26 +486,42 @@ Μαΐου\or Ἰουνίου\or Ἰουλίου\or Αὐγούστου\or Σεπτεμβρίου\or Ὀκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi} % \end{macrocode} -% Next we define a few macros, which allow one to access characters +% Next, I define a few macros that allow one to access characters % that are not usually easily accessible from the keyboard (e.g., the sampi or the -% koppa symbol). +% koppa symbol). The list includes a command for the unicode symbol GREEK ANO TELEIA, +% which, in some systems, is confused with MIDDLE DOT. The use of command |\numer@lsign| +% will be explained later. % \begin{macrocode} \def\anwtonos{\char"0374\relax} +\let\numer@lsign\anwtonos \def\katwtonos{\char"0375\relax} \def\koppa{\char"03DF\relax} \def\sampi{\char"03E1\relax} \def\Digamma{\char"03DC\relax} \def\ddigamma{\char"03DD\relax} +\def\anoteleia{\char"0387\relax} \def\euro{\char"20AC\relax} \def\permill{\char"2030\relax} % \end{macrocode} % Many users prefer the use of the letters sigma and tau instead of the stigma symbol in -% Greek numerals, therefore, by default the |\stigmna| command expands to ``στ''. +% Greek numerals, therefore, by default the |\stigma| command expands to ``στ''. % \begin{macrocode} \def\stigma{στ\relax} % \end{macrocode} -% Now that we have defined the language dependant macros, we can safely define the various -% supported options. Note we follow the standard mechanims to load hyphenation patterns. +% The following commands take care of the basic rules of typography. Note that the first command +% changes the way space is added after punctuation symbols and the last two commands force \LaTeX\ +% to add indentation space to the first paragraph after a header. Since a number of users need, for +% their own reasons, to be able to disable this particular feature I have introduced a new package +% option, namely |noindentfirst|, which restores the default behavior. In order to be able +% to do this I need the original value of the boolean variable |\@afterindentfalse|. +% \begin{macrocode} +\frenchspacing +\let\@saveafterindentfalse\@afterindentfalse +\let\@afterindentfalse\@afterindenttrue +\@afterindenttrue +% \end{macrocode} +% Now that I have defined the language dependant macros, I will define the various +% supported options. Note I follow the standard mechanism to load hyphenation patterns. % \begin{macrocode} \DeclareOption{monogreek}{% \language\l@monogreek% @@ -523,24 +538,34 @@ } % \end{macrocode} % If a user wants to use the stigma symbol in Greek numerals, she should use the -% |stigna| option. +% |stigma| option. % \begin{macrocode} \DeclareOption{stigma}{% \def\stigma{\char"03DA\relax} } % \end{macrocode} +% As noted above, the new option |noindentfirst| restores the default \LaTeX\ behavior of adding no indentation to +% the first paragraph after any header. +% \begin{macrocode} +\DeclareOption{noindentfirst}{% + \let\@afterindentfalse\@saveafterindentfalse +} +% \end{macrocode} +% Nowadays it is customary in Greece to use Greek numerals without the GREEK NUMERAL SIGN at the end +% of numeral. Thus, the |nonumeralsign| option disables the typesetting of the GREEK NUMERAL SIGN +% at the end of Greek numerals. +% \begin{macrocode} +\DeclareOption{nonumeralsign}{% + \let\numer@lsign\relax +} +% \end{macrocode} +% % By default the |monogreek| option is activated. % \begin{macrocode} \ExecuteOptions{monogreek} \ProcessOptions % \end{macrocode} -% The following commands take care of the basic rules of typography. -% \begin{macrocode} -\frenchspacing -\let\@afterindentfalse\@afterindenttrue -\@afterindenttrue -% \end{macrocode} -% Now we are going to define the macros that typeset alphabetic Greek numerals. The code +% Now I am going to define the macros that typeset alphabetic 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 @@ -554,12 +579,12 @@ % \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 +% When 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|). +% numeric mark (|\numer@lsign|). % % The command |\anw@false| switches the printing of the numeric % mark off by making |\anw@print| expand to nothing. The command @@ -570,20 +595,27 @@ \DeclareRobustCommand\anw@false{% \DeclareRobustCommand\anw@print{}} \DeclareRobustCommand\anw@true{% - \DeclareRobustCommand\anw@print{\anwtonos}} + \DeclareRobustCommand\anw@print{\numer@lsign}} \anw@true % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % -% \begin{macro}{\greeknumeral} -% The command |\greeknumeral| needs to be \emph{fully} expandable +% \begin{macro}{\@greeknumeral} +% This command is used to typeset Greek numerals. The command uses +% |\numer@lsign| to typeset the NUMERAL SIGN. Obviously, when the +% user has specified the \texttt{no\-numeral\-sign} option, then numeral +% comes out without the trailing NUMERAL SIGN. However, when a user +% wants to typeset a Greek numeral, the numeral must come out correctly, +% regardless of what appears in headers, etc. And that is exactly the +% reason why this command is inaccessible to users. +% 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{% +\def\@greeknumeral#1{% % \end{macrocode} % If the value is negative or zero nothing is printed and a warning % is issued. @@ -595,8 +627,8 @@ \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. +% The available shorthands for 1.000 (|\@m|) and 10.000 +% (|\@M|) are used to save a few tokens. % \begin{macrocode} \ifnum#1<\@m\expandafter\gr@num@iii\number#1% \else @@ -622,18 +654,88 @@ % \end{macrocode} % \end{macro} % +% What is left to make complete the definition of command |\greeknumeral| is 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 ``digit'' representing $0$ in this system, the zeros +% are simply discarded. When there is a large number with three +% \emph{trailing} zeros 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}{\@Greeknumeral} +% The command |\@Greeknumeral| prints uppercase Greek numerals. +% The parsing is performed by the macro |\@greeknumeral|. The printing +% of the NUMERAL SIGN depends on the value of |\numer@lsign|. +% \begin{macrocode} +\def\@Greeknumeral#1{% + \expandafter\MakeUppercase\expandafter{\@greeknumeral{#1}}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\greeknumeral} +% This command prints lowercase Greek numerals and the NUMERAL SIGN +% is always printed. +% \begin{macrocode} +\def\greeknumeral#1{% + \let\@numer@lsign\numer@lsign% + \let\numer@lsign\anwtonos% + \@greeknumeral{#1} + \let\numer@lsign\@numer@lsign} +% \end{macrocode} +% \end{macro} % \begin{macro}{\Greeknumeral} -% The command |\Greeknumeral| prints uppercase greek numerals. -% The parsing is performed by the macro |\greeknumeral|. +% This command prints uppercase Greek numerals and the NUMERAL SIGN +% is always printed. % \begin{macrocode} \def\Greeknumeral#1{% - \expandafter\MakeUppercase\expandafter{\greeknumeral{#1}}} + \let\@numer@lsign\numer@lsign% + \let\numer@lsign\anwtonos% + \@Greeknumeral{#1} + \let\numer@lsign\@numer@lsign} % \end{macrocode} % \end{macro} % % The alphabetic numbering system is not the only numbering system employed by Greeks. % In fact, Greeks used various systems that are now known as {\em acrophonic} numbering -% systems. Most scholars are familiral with the acrophonic Attic numbering system and the +% systems. Many scholars are familiar with the acrophonic Attic numbering system and the % the command |\atticnum| can be used to generate acrophonic Attic numerals. % The acrophonic Attic numbering system, like the Roman one, employs % letters to denote important numbers. Multiple occurrence of a letter denote @@ -655,7 +757,7 @@ % must be noted that the numbering system does not provide negative numerals or a symbol for % zero. %\begin{macro}{\@@atticnum} -% Now, we turn our attention to the definition of the macro +% Now, let me definite the macro % |\@@atticnum|. This macro uses one integer variable (or counter in % \TeX's jargon.) % \begin{macrocode} @@ -667,11 +769,11 @@ % \end{macrocode} % After assigning to variable |\@attic@num| the value of the macro's argument, % we make sure that the argument is in the expected range, i.e., it is greater -% than zero, and less or equal to $249999$. In case it isn't, we simply -% produce a |\space|, warn the user about it and quit. Although, the +% than zero, and less or equal to $249999$. In case it isn't, it simply +% produces a |\space|, warns the user about it and quits. Although, the % |\atticnum| macro is capable to produce an Athenian numeral for even greater % intergers, the following argument by Claudio Beccari convised me to place -% this above upper limit: +% this upper limit: % \begin{quote} % According to psychological perception studies (that ancient Athenians % and Romans perfectly knew without needing to study Freud and Jung) @@ -694,41 +796,41 @@ Value too large (\the\@attic@num) for acrophonic Attic numeral}% \else % \end{macrocode} -% Having done all the necessary checks, we are now ready to do the actual +% Having done all the necessary checks, it is possible to proceed with the actual % computation. If the number is greater than $49999$, then it certainly -% has at least one ^^^^^10147 ``digit''. We find all such digits by continuously +% has at least one ^^^^^10147 ``digit''. The macro finds all such digits by continuously % subtracting $50000$ from |\@attic@num|, until |\@attic@num| becomes less than % $50000$. % \begin{macrocode} \@whilenum\@attic@num>49999\do{% ^^^^^10147\advance\@attic@num-50000}% % \end{macrocode} -% We now check for tens of thousands. +% Next the macro checks for tens of thousands. % \begin{macrocode} \@whilenum\@attic@num>9999\do{% M\advance\@attic@num-\@M}% % \end{macrocode} % Since a number can have only one ^^^^^10146 ``digit'' (equivalent to 5000), it -% is easy to check it out and produce the corresponding numeral in case it does -% have one. +% is easy to check whether is should have one and produce the corresponding numeral when +% it does have one. % \begin{macrocode} \ifnum\@attic@num>4999% ^^^^^10146\advance\@attic@num-5000% \fi\relax % \end{macrocode} -% Next, we check for thousands, the same way we checked for tens of thousands. +% The macro should also check for thousands, the same way it checked for tens of thousands. % \begin{macrocode} \@whilenum\@attic@num>999\do{% Χ\advance\@attic@num-\@m}% -% \end{macrocode} -% Like the five thousands, a numeral can have at most one ^^^^^10145 ``digit'' -% (equivalent to 500). +% \end{macrocode} +% Since a numeral can have at most one ^^^^^10145 ``digit'' (equivalent to 500), this should be +% handled the way the macro handled the case of the five thousands ``digit''. % \begin{macrocode} \ifnum\@attic@num>499% ^^^^^10145\advance\@attic@num-500% \fi\relax % \end{macrocode} -% It is time to check hundreds, which follow the same pattern as thousands +% It is time to check hundreds, which follow the same pattern as thousands. % \begin{macrocode} \@whilenum\@attic@num>99\do{% Η\advance\@attic@num-100}% @@ -739,12 +841,12 @@ ^^^^^10144\advance\@attic@num-50% \fi\relax % \end{macrocode} -% Let's check now decades. +% The macro now checks now for tens digit. % \begin{macrocode} \@whilenum\@attic@num>9\do{% Δ\advance\@attic@num by-10}% % \end{macrocode} -% We check for five and, finally, for the digits 1, 2, 3, and 4. +% Finally, it has to check for fives and the digits 1, 2, 3, and 4. % \begin{macrocode} \@whilenum\@attic@num>4\do{% Π\advance\@attic@num-5}% @@ -764,7 +866,7 @@ %\end{macro} %\begin{macro}{\atticnum} % The command |\atticnum| is a wrapper that declares -% a new counter in a local scope, assigns to it the argument of the command +% a new counter in a local scope, assigns to it the value of the argument of the command % and calls the macro |\@atticnum|. This way the command can process correctly % either a number or a counter. % \begin{macrocode} @@ -776,26 +878,26 @@ % % \begin{macro}{\greek@alph} % \begin{macro}{\greek@Alph} -% Here we redefine the macros |\@alph| and |\@Alph|. First we define some placeholders +% Here I redefine the macros |\@alph| and |\@Alph|. First, I 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 +% Then I 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. +% correct (e.g., when there are appendices). % \begin{macrocode} -\def\greek@alph#1{\expandafter\greeknumeral\expandafter{\the#1}} -\def\greek@Alph#1{\expandafter\Greeknumeral\expandafter{\the#1}} +\def\greek@alph#1{\expandafter\@greeknumeral\expandafter{\the#1}} +\def\greek@Alph#1{\expandafter\@Greeknumeral\expandafter{\the#1}} % \end{macrocode} -% By default use Greek alphabetic enumerals instaed of Latin numerals to enumerate items in an +% By default Greek alphabetic enumerals instaed of Latin numerals are used 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| +% If for some reason, one needs to have the Latin numerals back, then she has to invoke command +% |\nogreekalph|. And if she wants to switch back, then she has to use the |\greekalph| % command: % \begin{macrocode} \def\nogreekalph{% @@ -808,53 +910,6 @@ % \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 @@ -876,11 +931,11 @@ % \begin{macrocode} \def\grtoday{% \expandafter\greeknumeral\expandafter{\the\day}\space - \gr@c@month \space + \gr@c@month\space \expandafter\greeknumeral\expandafter{\the\year}} \def\Grtoday{% \expandafter\Greeknumeral\expandafter{\the\day}\space - \gr@c@month \space + \gr@c@month\space \expandafter\Greeknumeral\expandafter{\the\year}} %</xgreek> % \end{macrocode} diff --git a/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins b/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins index 3ad9ecf4c63..838963cdb17 100644 --- a/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins +++ b/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins @@ -3,7 +3,7 @@ %% This file is part of the `xgreek' package. %% You are not allowed to modify its contents. %% -\def\filedate{2011/01/05} +\def\filedate{2013/07/02} \def\batchfile{xgreek.ins} \input docstrip.tex @@ -24,7 +24,7 @@ \preamble - (c) Copyright 2007—2011 Apostolos Syropoulos + (c) Copyright 2007—2013 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 diff --git a/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty b/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty index 9cbfc241f1e..c2c0ffa77ff 100644 --- a/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty +++ b/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty @@ -6,7 +6,7 @@ %% %% xgreek.dtx (with options: `xgreek') %% -%% (c) Copyright 2007—2011 Apostolos Syropoulos +%% (c) Copyright 2007—2013 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 @@ -35,8 +35,8 @@ %% Right brace \} Tilde \~} %% \ProvidesFile{xgreek.sty} - [2012/04/08 v2.4 Package `xgreek.sty'] -\message{Package `xgreek' version 2.4 by Apostolos Syropoulos} + [2013/07/05 v2.5 Package `xgreek.sty'] +\message{Package `xgreek' version 2.5 by Apostolos Syropoulos} \global\lccode"0370="0371 \global\uccode"0370="0370 \global\lccode"0371="0371 \global\uccode"0371="0370 \global\lccode"0372="0373 \global\uccode"0372="0372 @@ -418,14 +418,20 @@ Μαΐου\or Ἰουνίου\or Ἰουλίου\or Αὐγούστου\or Σεπτεμβρίου\or Ὀκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi} \def\anwtonos{\char"0374\relax} +\let\numer@lsign\anwtonos \def\katwtonos{\char"0375\relax} \def\koppa{\char"03DF\relax} \def\sampi{\char"03E1\relax} \def\Digamma{\char"03DC\relax} \def\ddigamma{\char"03DD\relax} +\def\anoteleia{\char"0387\relax} \def\euro{\char"20AC\relax} \def\permill{\char"2030\relax} \def\stigma{στ\relax} +\frenchspacing +\let\@saveafterindentfalse\@afterindentfalse +\let\@afterindentfalse\@afterindenttrue +\@afterindenttrue \DeclareOption{monogreek}{% \language\l@monogreek% } @@ -442,19 +448,22 @@ \DeclareOption{stigma}{% \def\stigma{\char"03DA\relax} } +\DeclareOption{noindentfirst}{% + \let\@afterindentfalse\@saveafterindentfalse +} +\DeclareOption{nonumeralsign}{% + \let\numer@lsign\relax +} \ExecuteOptions{monogreek} \ProcessOptions -\frenchspacing -\let\@afterindentfalse\@afterindenttrue -\@afterindenttrue \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}} + \DeclareRobustCommand\anw@print{\numer@lsign}} \anw@true -\def\greeknumeral#1{% +\def\@greeknumeral#1{% \ifnum#1<\@ne\space\gr@ill@value{#1}% \else \ifnum#1<10\expandafter\gr@num@i\number#1% @@ -478,8 +487,39 @@ \fi \fi } +\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\@Greeknumeral#1{% + \expandafter\MakeUppercase\expandafter{\@greeknumeral{#1}}} +\def\greeknumeral#1{% + \let\@numer@lsign\numer@lsign% + \let\numer@lsign\anwtonos% + \@greeknumeral{#1} + \let\numer@lsign\@numer@lsign} \def\Greeknumeral#1{% - \expandafter\MakeUppercase\expandafter{\greeknumeral{#1}}} + \let\@numer@lsign\numer@lsign% + \let\numer@lsign\anwtonos% + \@Greeknumeral{#1} + \let\numer@lsign\@numer@lsign} \newcount\@attic@num \DeclareRobustCommand*{\@@atticnum}[1]{% \@attic@num#1\relax @@ -522,8 +562,8 @@ \@atticnum{\@attic@num}} \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}} +\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{% @@ -532,27 +572,6 @@ \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 l@#1\endcsname\relax% \typeout{^^J Error: No hyphenation pattern for language #1 loaded,}% @@ -561,11 +580,11 @@ \else\language=\csname l@#1\endcsname\fi} \def\grtoday{% \expandafter\greeknumeral\expandafter{\the\day}\space - \gr@c@month \space + \gr@c@month\space \expandafter\greeknumeral\expandafter{\the\year}} \def\Grtoday{% \expandafter\Greeknumeral\expandafter{\the\day}\space - \gr@c@month \space + \gr@c@month\space \expandafter\Greeknumeral\expandafter{\the\year}} \endinput %% |