diff options
author | Karl Berry <karl@freefriends.org> | 2013-05-06 22:21:59 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-05-06 22:21:59 +0000 |
commit | 5c7f546d69c50b2ca16a6504083277ba6fb4919e (patch) | |
tree | cbebbbf184a79b2cb702e761208a2996274baa58 /Master/texmf-dist/source/generic/babel-greek | |
parent | cec0438fe825b94bef4e7ed49a5ac635cd0dba8a (diff) |
babel-$ll (for 3.9a)
git-svn-id: svn://tug.org/texlive/trunk@30272 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/generic/babel-greek')
-rw-r--r-- | Master/texmf-dist/source/generic/babel-greek/athnum.dtx | 277 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/babel-greek/greek.dtx | 864 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/babel-greek/greek.fdd | 651 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/babel-greek/greek.ins | 163 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/babel-greek/grmath.dtx | 168 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/babel-greek/grsymb.dtx | 131 |
6 files changed, 2254 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/babel-greek/athnum.dtx b/Master/texmf-dist/source/generic/babel-greek/athnum.dtx new file mode 100644 index 00000000000..3ea1f5325aa --- /dev/null +++ b/Master/texmf-dist/source/generic/babel-greek/athnum.dtx @@ -0,0 +1,277 @@ +% \iffalse meta-comment +% +% Copyright 1989-2008 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +%% \CheckSum{125} +%\iffalse +% +%% This is file `athnum.dtx' +%% (c) 1997-2007 Apostolos Syropoulos. +%% All rights reserved. +% +% Please report errors or suggestions for improvement to +% +% Apostolos Syropoulos +% 366, 28th October Str. +% GR-671 00 Xanthi, GREECE +% apostolo at platon.ee.duth.gr or apostolo at obelix.ee.duth.gr +% +%\fi +% +% \iffalse +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\def\PiIt#1{{% + \newdimen\boxW \newdimen\boxH + \settowidth{\boxW}{#1}% + \settoheight{\boxH}{#1}% + \addtolength{\boxW}{0.8pt} + \vbox{% + \hrule width\boxW\hbox{% + \vrule height\boxH\mbox{#1}% + \vrule height\boxH}}\kern.5pt}} +\GetFileInfo{athnum.drv} +\begin{document} + \DocInput{athnum.dtx} +\end{document} +%</driver> +% \end{macrocode} +% \fi +% +%\title{Athenian Numerals II\footnote{The documentation of this +% package is essentially the same as that of the package `grnumalt'. +% The `II' serves as a means to distinguish the two documents.}} +% \author{Apostolos Syropoulos\\366, 28th October Str.\\ +% GR-671 00 Xanthi, HELLAS\\ Email:\texttt{apostolo@platon.ee.duth.gr}} +% \date{2003/08/24} +%\maketitle +% +%\MakeShortVerb{\|} +% +%\section{Introduction} +% +% This \LaTeX\ package implements the macro +% \DescribeMacro{\athnum} +% |\athnum|. The macro transforms an Arabic numeral, i.e., the kind +% of numerals we all use (e.g., 1, 5, 789 etc), to the corresponding +% {\itshape Athenian} numeral. Athenian numerals were in use only in +% ancient Athens. The package can be used only in conjunction with the +% |greek| option of the |babel| package. +% +%\section{The Numbering System} +% +% The athenian numbering system, like the roman one, employs +% letters to denote important numbers. Multiple occurrence of a letter denote +% a multiple of the ``important'' number, e.g., the letter I denotes 1, so +% III denotes 3. Here are the basic digits used in the Athenian numbering +% system: +% \begin{itemize} +% \item I denotes the number one (1) +% \item $\Pi$ denotes the number five (5) +% \item $\Delta$ denotes the number ten (10) +% \item H denotes the number one hundred (100) +% \item X denotes the number one thousand (1000) +% \item M denotes the number ten thousands (10000) +%\end{itemize} +% Moreover, the letters $\Delta$, H, X, and M under the letter $\Pi$, +% denote five times their original value, e.g., the symbol +% \PiIt{X}, denotes the number 5000, and the symbol +% \PiIt{$\Delta$}, denotes the number 50. It must be noted that +% the numbering system does not provide negative numerals or a symbol for +% zero. +% +% The Athenian numbering system is described, among others, in an article in +% Encyclopedia $\Delta o\mu\acute{\eta}$, Vol. 2, page 280, 7th edition, +% Athens, October 2, 1975. +% +% \section{The Code} +% Before we do anything further, we have to identify the package. +% \StopEventually +% +% \begin{macrocode} +%<*package> +\NeedsTeXFormat{LaTeX2e}[1996/01/01] +\ProvidesPackage{athnum}[2003/08/24\space v1.1] +\typeout{Package: `athnum' v1.1\space <2003/08/24> (A. Syropoulos)} +% \end{macrocode} +% Next we check to see if the |babel| package is loaded with at least +% the |greek| option. In case it isn't, we opt to produce an error message. +% \begin{macrocode} +\@ifpackagewith{babel}{greek}{}{% + \@ifpackagewith{babel}{polutonikogreek}{}{% + \PackageError{athnum}{% + `greek' option of the `babel'\MessageBreak + package hasn't been loaded}{% + The commands provided by this package\MessageBreak + are specially designed for greek language\MessageBreak + typesetting with the `babel' package. Load\MessageBreak + it with at least the `greek' option.}\relax + }} +% \end{macrocode} +% +% As it is mentioned in the introduction, the Athenian numerals employ +% some special digits. These digits are included in the |cb| fonts of +% Claudio Beccari, and so we must provide access commands. +% \begin{macrocode} +\DeclareTextCommand{\PiDelta}{LGR}{\char"02\relax} +\DeclareTextCommand{\PiEta}{LGR}{\char"03\relax} +\DeclareTextCommand{\PiChi}{LGR}{\char"04\relax} +\DeclareTextCommand{\PiMu}{LGR}{\char"05\relax} +% \end{macrocode} +%\begin{macro}{\@@athnum} +% Now, we turn our attention to the definition of the macro +% |\@@athnum|. This macro uses one integer variable (or counter in +% \TeX's jargon.) +% \begin{macrocode} +\newcount\@ath@num +% \end{macrocode} +% The macro |\@@athnum| is also defined as a robust command. +% \begin{macrocode} +\DeclareRobustCommand*{\@@athnum}[1]{% +% \end{macrocode} +% After assigning to variable |\@ath@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 +% |\athnum| 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: +% \begin{quote} +% According to psychological perception studies (that ancient Athenians +% and Romans perfectly knew without needing to study Freud and Jung) +% living beings (which includes at least all vertebrates, not only +% humans) can perceive up to four randomly set objects of the same kind +% without the need of counting, the latter activity being a specific +% acquired ability of human kind; the biquinary numbering notation +% used by the Athenians and the Romans exploits this natural +% characteristic of human beings. +% \end{quote} +% \begin{macrocode} + \@ath@num#1\relax + \ifnum\@ath@num<\@ne% + \space% + \PackageWarning{athnum}{% + Illegal value (\the\@ath@num) for athenian numeral}% + \else\ifnum\@ath@num>249999% + \space% + \PackageWarning{athnum}{% + Illegal value (\the\@ath@num) for athenian numeral}% + \else +% \end{macrocode} +% Having done all the necessary checks, we are now ready to do the actual +% computation. If the number is greater than $49999$, then it certainly +% has at least one \PiIt{M} ``digit''. We find all such digits by continuously +% subtracting $50000$ from |\@ath@num|, until |\@ath@num| becomes less than +% $50000$. +% \begin{macrocode} + \@whilenum\@ath@num>49999\do{% + \PiMu\advance\@ath@num-50000}% +% \end{macrocode} +% We now check for tens of thousands. +% \begin{macrocode} + \@whilenum\@ath@num>9999\do{% + M\advance\@ath@num-\@M}% +% \end{macrocode} +% Since a number can have only one \PiIt{X} ``digit'' (equivalent to 5000), it +% is easy to check it out and produce the corresponding numeral in case it does +% have one. +% \begin{macrocode} + \ifnum\@ath@num>4999% + \PiChi\advance\@ath@num-5000% + \fi\relax +% \end{macrocode} +% Next, we check for thousands, the same way we checked for tens of thousands. +% \begin{macrocode} + \@whilenum\@ath@num>999\do{% + Q\advance\@ath@num-\@m}% +% \end{macrocode} +% Like the five thousands, a numeral can have at most one \PiIt{H} ``digit'' +% (equivalent to 500). +% \begin{macrocode} + \ifnum\@ath@num>499% + \PiEta\advance\@ath@num-500% + \fi\relax +% \end{macrocode} +% It is time to check hundreds, which follow the same pattern as thousands +% \begin{macrocode} + \@whilenum\@ath@num>99\do{% + H\advance\@ath@num-100}% +% \end{macrocode} +% A numeral can have only one \PiIt{$\Delta$} ``digit'' (equivalent to 50). +% \begin{macrocode} + \ifnum\@ath@num>49% + \PiDelta\advance\@ath@num-50% + \fi\relax +% \end{macrocode} +% Let's check now decades. +% \begin{macrocode} + \@whilenum\@ath@num>9\do{% + D\advance\@ath@num by-10}% +% \end{macrocode} +% We check for five and, finally, for the digits 1, 2, 3, and 4. +% \begin{macrocode} + \@whilenum\@ath@num>4\do{% + P\advance\@ath@num-5}% + \ifcase\@ath@num\or I\or II\or III\or IIII\fi% + \fi\fi} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@athnum} +% The command |\@athnum| has one argument, which +% is a counter. It calls the command |\@@athnum| to process the value of +% the counter. +% \begin{macrocode} +\def\@athnum#1{% + \expandafter\@@athnum\expandafter{\the#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\athnum} +% The command |\athnum| is a wrapper that declares +% a new counter in a local scope, assigns to it the argument of the command +% and calls the macro |\@athnum|. This way the command can process correctly +% either a number or a counter. +% \begin{macrocode} +\def\athnum#1{% + \@ath@num#1\relax + \@athnum{\@ath@num}} +%</package> +% \end{macrocode} +%\end{macro} +% +% \section*{Acknowledgment} +% I would like to thank Claudio Beccari for reading the documentation +% and for his very helpful suggestions. In addition, Antonis Tsolomitis +% spotted a bug in the first version, which is corrected in the present +% version. +% \section*{Dedication} +% I would like to dedicate this piece of work to my son +% \begin{center}Demetrios-Georgios.\end{center} +% \Finale +% +\endinput diff --git a/Master/texmf-dist/source/generic/babel-greek/greek.dtx b/Master/texmf-dist/source/generic/babel-greek/greek.dtx new file mode 100644 index 00000000000..0e878bf22d4 --- /dev/null +++ b/Master/texmf-dist/source/generic/babel-greek/greek.dtx @@ -0,0 +1,864 @@ +% \iffalse meta-comment +% +% Copyright 1989-2008 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +% \CheckSum{636} +% +% \iffalse +% Tell the \LaTeX\ system who we are and write an entry on the +% transcript. +%<*dtx> +\ProvidesFile{greek.dtx} +%</dtx> +%<code>\ProvidesLanguage{greek} +%\fi +%\ProvidesFile{greek.dtx} + [2005/03/30 v1.3l Greek support from the babel system] +%\iffalse +%% File `greek.dtx' +%% Babel package for LaTeX version 2e +%% Copyright (C) 1989 -- 2005 +%% by Johannes Braams, TeXniek +% +%% Greek language Definition File +%% Copyright (C) 1997, 2005 +%% by Apostolos Syropoulos +%% Johannes Braams, TeXniek +% +%% Please report errors to: Apostolos Syropoulos +%% apostolo at platon.ee.duth.gr or +%% apostolo at obelix.ee.duth.gr +%% (or J.L. Braams <babel at braams.cistron.nl) +% +% This file is part of the babel system, it provides the source +% code for the greek language definition file. The original +% version of this file was written by Apostolos Syropoulos. +% It was then enhanced by adding code from kdgreek.sty from David +% Kastrup <dak@neuroinformatik.ruhr-uni-bochum.de> with his +% consent. +%<*filedriver> +\documentclass{ltxdoc} +\newcommand*{\TeXhax}{\TeX hax} +\newcommand*{\babel}{\textsf{babel}} +\newcommand*{\langvar}{$\langle \mathit lang \rangle$} +\newcommand*{\note}[1]{} +\newcommand*{\Lopt}[1]{\textsf{#1}} +\newcommand*{\file}[1]{\texttt{#1}} +\newcommand*{\pkg}[1]{\texttt{#1}} +\begin{document} + \DocInput{greek.dtx} +\end{document} +%</filedriver> +%\fi +% \GetFileInfo{greek.dtx} +% +% \changes{greek-1.0b}{1996/07/10}{Replaced \cs{undefined} with +% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency +% with \LaTeX} +% \changes{greek-1.0b}{1996/10/10}{Moved the definition of +% \cs{atcatcode} right to the beginning} +% \changes{greek-1.2}{1997/10/28}{Classical Greek is now a dialect} +% \changes{greek-1.2b}{1997/11/01}{Classical Greek is now called +% ``Polutoniko'' Greek. The previous name was at least misleading} +% \changes{greek-1.2c}{1998/06/26}{This version conforms to version +% 2.0 of the CB fonts and consequently we added a few new +% symbol-producing commands} +% \changes{greek-1.3a}{1998/07/04}{polutoniko is now an attribute to +% Greek, no longer a `dialect'} +% +% \section{The Greek language} +% +% The file \file{\filename}\footnote{The file described in this +% section has version number \fileversion\ and was last revised on +% \filedate. The original author is Apostolos Syropoulos +% (\texttt{apostolo@platon.ee.duth.gr}), code from +% \file{kdgreek.sty} by David Kastrup +% \texttt{dak@neuroinformatik.ruhr-uni-bochum.de} was used to +% enhance the support for typesetting greek texts.} defines all the +% language definition macros for the Greek language, i.e., +% as it used today with only one accent, and the attribute +% $\pi o\lambda\upsilon\tau o\nu\kappa\acute{o}$ (``Polutoniko'') +% for typesetting greek text with all accents. This separation +% arose out of the need to simplify things, for only very few +% people will be really interested to typeset polytonic Greek +% text. +% +% \DescribeMacro\greektext +% \DescribeMacro\latintext +% The commands |\greektext| and |\latintext| can be used to switch +% to greek or latin fonts. These are declarations. +% +% \DescribeMacro\textgreek +% \DescribeMacro\textlatin +% The commands |\textgreek| and |\textlatin| both take one argument +% which is then typeset using the requested font encoding. +% \DescribeMacro\textol +% The command |\greekol| switches to the greek outline font family, +% while the command |\textol| typests a short text in outline font. +% A number of extra greek characters are made available through the +% added text commands |\stigma|, |\qoppa|, |\sampi|, |\ddigamma|, +% |\Digamma|, |\euro|, |\permill|, and |\vardigamma|. +% +% \subsection{Typing conventions} +% +% Entering greek text can be quite difficult because of the many +% diacritical signs that need to be added for various purposes. +% The fonts that are used to typeset Greek make this a lot +% easier by offering a lot of ligatures. But in order for this to +% work, some characters need to be considered as letters. These +% characters are |<|, |>|, |~|, |`|, |'|, |"| and +% \verb=|=. Therefore their |\lccode| is changed when Greek is in +% effect. In order to let |\uppercase| give correct results, the +% |\uccode| of these characters is set to a non-existing character +% to make them disappear. Of course not all characters are needed +% when typesetting ``modern'' $\mu o\nu o\tau o\nu +% \iota\kappa\acute{o}$. In that case we only need the |'| and |"| +% symbols which are treated in the proper way. +% +% \subsection{Greek numbering} +% +% The Greek alphabetical numbering system, like the Roman one, is +% still used in everyday life for short enumerations. Unfortunately +% most Greeks don't know how to write Greek numbers bigger than 20 or +% 30. Nevertheless, in official editions of the last century and +% beginning of this century this numbering system was also used for +% dates and numbers in the range of several thousands. Nowadays +% this numbering system is primary used by the Eastern Orthodox +% Church and by certain scholars. It is hence necessary to be able +% to typeset any Greek numeral up to \hbox{999\,999}. Here are the +% conventions: +% \begin{itemize} +% \item There is no Greek numeral for any number less than or equal +% to $0$. +% \item Numbers from $1$ to $9$ are denoted by letters alpha, beta, +% gamma, delta, epsilon, stigma, zeta, eta, theta, followed by a +% mark similar to the mathematical symbol ``prime''. (Nowadays +% instead of letter stigma the digraph sigma tau is used for number +% $6$. Mainly because the letter stigma is not always available, so +% people opt to write down the first two letters of its name as an +% alternative. In our implementation we produce the letter stigma, +% not the digraph sigma tau.) +% \item Decades from $10$ to $90$ are denoted by letters iota, +% kappa, lambda, mu, nu, xi, omikron, pi, qoppa, again followed by +% the numeric mark. The qoppa used for this purpose has a special +% zig-zag form, which doesn't resemble at all the original +% `q'-like qoppa. +% \item Hundreds from $100$ to $900$ are denoted by letters rho, +% sigma, tau, upsilon, phi, chi, psi, omega, sampi, followed by the +% numeric mark. +% \item Any number between $1$ and $999$ is obtained by a group of +% letters denoting the hundreds decades and units, followed by a +% numeric mark. +% \item To denote thousands one uses the same method, but this time +% the mark is placed in front of the letter, and under the baseline +% (it is inverted by 180 degrees). When a group of letters denoting +% thousands is followed by a group of letters denoting a number +% under $1000$, then both marks are used. +% \end{itemize} +% +% Using these conventions one obtains numbers up to \hbox{999\,999}. +% \DescribeMacro{\greeknumeral} +% The command |\greeknumeral| makes it possible to typeset Greek +% numerals. There is also an +% \DescribeMacro{\Greeknumeral} +% ``uppercase'' version of this macro: |\Greeknumeral|. +% +% Another system which was in wide use only in Athens, could +% express any positive number. This system is implemented in +% package |athnum|. +% +% \StopEventually{} +% +% The macro |\LdfInit| takes care of preventing that this file is +% loaded more than once, checking the category code of the +% \texttt{@} sign, etc. +% \changes{greek-1.0b}{1996/11/02}{Now use \cs{LdfInit} to perform +% initial checks} +% \begin{macrocode} +%<*code> +\LdfInit\CurrentOption{captions\CurrentOption} +% \end{macrocode} +% When the option \Lopt{polutonikogreek} was used, redefine +% |\CurrentOption| to prevent problems later on. +% \begin{macrocode} +\gdef\CurrentOption{greek}% +% \end{macrocode} +% +% When this file is read as an option, i.e. by the |\usepackage| +% command, \texttt{greek} could be an `unknown' language in +% which case we have to make it known. So we check for the +% existence of |\l@greek| to see whether we have to do +% something here. +% +% \begin{macrocode} +\ifx\l@greek\@undefined + \@nopatterns{greek} + \adddialect\l@greek0\fi +% \end{macrocode} +% +% Now we declare the |polutoniko| language attribute. +% \begin{macrocode} +\bbl@declare@ttribute{greek}{polutoniko}{% +% \end{macrocode} +% This code adds the expansion of |\extraspolutonikogreek| to +% |\extrasgreek| and changes the definition of |\today| for Greek +% to produce polytonic month names. +% \begin{macrocode} + \expandafter\addto\expandafter\extrasgreek + \expandafter{\extraspolutonikogreek}% + \let\captionsgreek\captionspolutonikogreek + \let\gr@month\gr@c@month +% \end{macrocode} +% We need to take some extra precautions in order not to break +% older documents which still use the old \Lopt{polutonikogreek} +% option. +% \changes{greek-1.3f}{1999/09/29}{Added some code to make older +% documents work} +% \changes{greek-1.3g}{2000/02/04}{\cs{noextraspolutonikogreek} was +% missing} +% \begin{macrocode} + \let\l@polutonikogreek\l@greek + \let\datepolutonikogreek\dategreek + \let\extraspolutonikogreek\extrasgreek + \let\noextraspolutonikogreek\noextrasgreek + } +% \end{macrocode} +% +% Typesetting Greek texts implies that a special set of fonts needs +% to be used. The current support for greek uses the |cb| fonts +% created by Claudio Beccari\footnote{Apostolos Syropoulos wishes +% to thank him for his patience, collaboration, cooments and +% suggestions.}. The |cb| fonts provide all sorts of \textit{font +% combinations}. In order to use these fonts we define the Local +% GReek encoding (LGR, see the file \file{greek.fdd}). We make sure +% that this encoding is known to \LaTeX, and if it isn't we abort. +% \changes{greek-1.2a}{1997/10/31}{filename \file{lgrenc.def} now +% lowercase} +% \begin{macrocode} +\InputIfFileExists{lgrenc.def}{% + \message{Loading the definitions for the Greek font encoding}}{% + \errhelp{I can't find the lgrenc.def file for the Greek fonts}% + \errmessage{Since I do not know what the LGR encoding means^^J + I can't typeset Greek.^^J + I stop here, while you get a suitable lgrenc.def file}\@@end + } +% \end{macrocode} +% +% Now we define two commands that offer the possibility to switch +% between Greek and Roman encodings. +% +% \begin{macro}{\greektext} +% The command |\greektext| will switch from Latin font encoding to +% the Greek font encoding. This assumes that the `normal' font +% encoding is a Latin one. This command is a \emph{declaration}, +% for shorter pieces of text the command |\textgreek| should be +% used. +% \begin{macrocode} +\DeclareRobustCommand{\greektext}{% + \fontencoding{LGR}\selectfont + \def\encodingdefault{LGR}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textgreek} +% This command takes an argument which is then typeset using the +% requested font encoding. In order to avoid many encoding switches +% it operates in a local scope. +% \changes{greek-1.0b}{1996/09/23}{Added a level of braces to keep +% encoding change local} +% \changes{greek-1.3k}{2003/03/19}{Added \cs{leavevmode} as was done +% with \cs{latintext}} +% \begin{macrocode} +\DeclareRobustCommand{\textgreek}[1]{\leavevmode{\greektext #1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textol} +% A last aspect of the set of fonts provided with this version of +% support for typesetting Greek texts is that it contains an +% outline family. In order to make it available we define the command +% |\textol|. +% \begin{macrocode} +\def\outlfamily{\usefont{LGR}{cmro}{m}{n}} +\DeclareTextFontCommand{\textol}{\outlfamily} +% \end{macrocode} +% \end{macro} +% +% The next step consists in defining commands to switch to (and +% from) the Greek language. +% +% \begin{macro}{\greekhyphenmins} +% This macro is used to store the correct values of the hyphenation +% parameters |\lefthyphenmin| and |\righthyphenmin|. +% \changes{greek-1.3h}{2000/09/22}{Now use \cs{providehyphenmins} to +% provide a default value} +% \begin{macrocode} +% Yannis Haralambous has suggested this value +\providehyphenmins{\CurrentOption}{\@ne\@ne} +% \end{macrocode} +% \end{macro} +% +% \changes{greek-1.1e}{1997/10/12}{Added caption name for proof} +% \changes{greek-1.3d}{1999/08/28}{Fixed typo, \texttt{bl'epe ep'ishc} +% instead of \texttt{bl'pe ep'ishc}} +% +% \begin{macro}{\captionsgreek} +% The macro |\captionsgreek| defines all strings used in the +% four standard document classes provided with \LaTeX. +% \changes{greek-1.3h}{2000/09/20}{Added \cs{glossaryname}} +% \changes{greek-1.3i}{2000/10/02}{The final sigma in all names appears +% as `s' instead of `c'.} +% \begin{macrocode} +\addto\captionsgreek{% + \def\prefacename{Pr'ologos}% + \def\refname{Anafor'es}% + \def\abstractname{Per'ilhyh}% + \def\bibname{Bibliograf'ia}% + \def\chaptername{Kef'alaio}% + \def\appendixname{Par'arthma}% + \def\contentsname{Perieq'omena}% + \def\listfigurename{Kat'alogos Sqhm'atwn}% + \def\listtablename{Kat'alogos Pin'akwn}% + \def\indexname{Euret'hrio}% + \def\figurename{Sq'hma}% + \def\tablename{P'inakas}% + \def\partname{M'eros}% + \def\enclname{Sunhmm'ena}% + \def\ccname{Koinopo'ihsh}% + \def\headtoname{Pros}% + \def\pagename{Sel'ida}% + \def\seename{bl'epe}% + \def\alsoname{bl'epe ep'ishs}% + \def\proofname{Ap'odeixh}% + \def\glossaryname{Glwss'ari}% + } +% \end{macrocode} +% \end{macro} +% \changes{greek-1.2}{1997/10/28}{Added caption names for +% \cs{polutonikogreek}} +% \changes{greek-1.3d}{1999/08/28}{Fixed typo, \texttt{bl'epe >ep'ishc} +% instead of \texttt{bl'pe >ep'ishc}} +% +% \begin{macro}{\captionspolutonikogreek} +% For texts written in the $\pi o\lambda\upsilon\tau +% o\nu\kappa\acute{o}$ (polytonic greek) the translations are +% the same as above, but some words are spelled differently. For +% now we just add extra definitions to |\captionsgreek| in order to +% override the earlier definitions. +% \begin{macrocode} +\let\captionspolutonikogreek\captionsgreek +\addto\captionspolutonikogreek{% + \def\refname{>Anafor`es}% + \def\indexname{E<uret'hrio}% + \def\figurename{Sq~hma}% + \def\headtoname{Pr`os}% + \def\alsoname{bl'epe >ep'ishs}% + \def\proofname{>Ap'odeixh}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\gr@month} +% \changes{greek-1.1e}{1997/10/12}{Macro added} +% \begin{macro}{\dategreek} +% The macro |\dategreek| redefines the command |\today| to +% produce greek dates. The name of the month is now produced +% by the macro |\gr@month| since it is needed in the definition +% of the macro |\Grtoday|. +% \changes{greek-1.1a}{1997/03/03}{Fixed typo, \texttt{Oktwbr'iou} +% instead of \texttt{Oktobr'iou}} +% \changes{greek-1.1d}{1997/10/12}{Macro \cs{gr@month} now produces +% the name of the month} +% \changes{greek-1.2a}{1997/10/31}{Use \cs{edef} to define \cs{today}} +% \changes{greek-1.2b}{1998/03/28}{use \cs{def} instead of \cs{edef}} +% \begin{macrocode} +\def\gr@month{% + \ifcase\month\or + Ianouar'iou\or Febrouar'iou\or Mart'iou\or April'iou\or + Ma'"iou\or Ioun'iou\or Ioul'iou\or Augo'ustou\or + Septembr'iou\or Oktwbr'iou\or Noembr'iou\or Dekembr'iou\fi} +\def\dategreek{% + \def\today{\number\day \space \gr@month\space \number\year}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\gr@c@greek} +% \changes{greek-1.2}{1997/10/28}{Added macro \cs{gr@cl@month}} +% \changes{greek-1.2}{1997/10/28}{Added macro +% \cs{datepolutonikogreek}} +% \changes{greek-1.3a}{1997/10/28}{removed macro +% \cs{datepolutonikogreek}} +% \begin{macrocode} +\def\gr@c@month{% + \ifcase\month\or >Ianouar'iou\or + Febrouar'iou\or Mart'iou\or >April'iou\or Ma"'iou\or + >Ioun'iou\or >Ioul'iou\or A>ugo'ustou\or Septembr'iou\or + >Oktwbr'iou\or Noembr'iou\or Dekembr'iou\fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Grtoday} +% \changes{greek-1.1}{1996/10/28}{Added macro \cs{Grtoday}} +% The macro |\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. +% \begin{macrocode} +\def\Grtoday{% + \expandafter\Greeknumeral\expandafter{\the\day}\space + \gr@c@month \space + \expandafter\Greeknumeral\expandafter{\the\year}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\extrasgreek} +% \begin{macro}{\noextrasgreek} +% The macro |\extrasgreek| will perform all the extra definitions +% needed for the Greek language. The macro |\noextrasgreek| is used +% to cancel the actions of |\extrasgreek|. For the moment these +% macros switch the fontencoding used and the definition of the +% internal macros |\@alph| and |\@Alph| because in Greek we do use +% the Greek numerals. +% +% \begin{macrocode} +\addto\extrasgreek{\greektext} +\addto\noextrasgreek{\latintext} +% \end{macrocode} +% +% \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{babel}{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. +% \changes{greek-1.3b}{1999/04/03}{Added \cs{expandafter} and +% \cs{number} (PR3000) in order to make a counter an acceptable +% argument} +% \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} +% In the previous release of this language definition the +% commands |\greek@aplh| and |\greek@Alph| were kept just for +% reasons of compatibility. Here again they become meaningful macros. +% They are definited in a way that even page numbering with greek +% numerals is possible. Since the macros |\@alph| and |\@Alph| will +% lose their original meaning while the Greek option is active, we +% must save their original value. +% macros |\@alph| +% \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} +% +% Now we can set up the switching. +% \changes{greek-1.1a}{1997/03/03}{removed two superfluous @'s which +% made \cs{@alph} undefined} +% \begin{macrocode} +\addto\extrasgreek{% + \let\@alph\greek@alph + \let\@Alph\greek@Alph} +\addto\noextrasgreek{% + \let\@alph\latin@alph + \let\@Alph\latin@Alph} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\greek@roman} +% \begin{macro}{\greek@Roman} +% \changes{greek-1.2e}{1999/04/16}{Moved redefinition of \cs{@roman} +% back to the language specific file} +% \changes{greek-1.3d}{1999/08/27}{\cs{@roman} and \cs{@Roman} need to +% be added to \cs{extraspolutonikogreek}} +% \changes{greek-1.3e}{1999/09/24}{\cs{@roman} and \cs{@Roman} need +% \emph{not} be in \cs{extraspolutonikogreek} when they are already +% in \cs{extrasgreek}} +% +% To prevent roman numerals being typeset in greek letters we need +% to adopt the internal \LaTeX\ commands |\@roman| and +% |\@Roman|. \textbf{Note that this may cause errors where +% |\@roman| ends up in a situation where it needs to be expanded; +% problems are known to exist with the AMS document classes.} +% \begin{macrocode} +\let\latin@roman\@roman +\let\latin@Roman\@Roman +\def\greek@roman#1{\textlatin{\latin@roman{#1}}} +\def\greek@Roman#1{\textlatin{\latin@Roman{#1}}} +\addto\extrasgreek{% + \let\@roman\greek@roman + \let\@Roman\greek@Roman} +\addto\noextrasgreek{% + \let\@roman\latin@roman + \let\@Roman\latin@Roman} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\greek@amp} +% \begin{macro}{\ltx@amp} +% The greek fonts do not contain an ampersand, so the \LaTeX\ +% command |\&| dosn't give the expected result if we do not do +% something about it. +% \changes{greek-1.2f}{1999/04/25}{Now switch the definition of +% \cs{\&} from \cs{extrasgreek}} +% \changes{greek-1.3c}{1999/05/17}{Added a missing opening brace} +% \begin{macrocode} +\let\ltx@amp\& +\def\greek@amp{\textlatin{\ltx@amp}} +\addto\extrasgreek{\let\&\greek@amp} +\addto\noextrasgreek{\let\&\ltx@amp} +% \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} +% \changes{greek-1.2b}{1997/11/13}{No longer use \cs{\let} in the +% expansion of the \cs{gr@num@x} macros as they ned to be +% expandable} +% 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 a\or b\or g\or d\or e\or \stigma\or z\or h\or j\fi + \ifnum#1=\z@\else\anw@true\fi\anw@print} +\def\gr@num@ii#1{% + \ifcase#1\or i\or k\or l\or m\or n\or x\or o\or p\or \qoppa\fi + \ifnum#1=\z@\else\anw@true\fi\gr@num@i} +\def\gr@num@iii#1{% + \ifcase#1\or r\or sv\or t\or u\or f\or q\or y\or w\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 a\or b\or g\or d\or e\or \stigma\or z\or h\or j\fi + \gr@num@iii} +\def\gr@num@v#1{% + \ifnum#1=\z@\else\katwtonos\fi + \ifcase#1\or i\or k\or l\or m\or n\or x\or o\or p\or \qoppa\fi + \gr@num@iv} +\def\gr@num@vi#1{% + \katwtonos + \ifcase#1\or r\or sv\or t\or u\or f\or q\or y\or w\or \sampi\fi + \gr@num@v} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\greek@tilde} +% \changes{greek-1.0c}{1997/02/19}{Added command} +% In greek typesetting we need a number of characters with more +% than one accent. In the underlying family of fonts (the +% |cb| fonts) this is solved using Knuth's ligature +% mechanism. +% Characters we need to have ligatures with are the tilde, the +% acute and grave accent characters, the rough and smooth breathings, +% the subscript, and the double quote character. +% In text input the |~| is normaly used to produce an +% unbreakable space. The command |\~| normally produces a tilde +% accent. For polytonic Greek we change the definition of |\~| +% to produce the tilde character itself, making sure it has category +% code 12. +% \changes{greek-1.3k}{2003/04/10}{Make sure the character `!' is not +% active during the definition of \cs{greek@tilde}} +% \begin{macrocode} +\begingroup + \@ifundefined{active@char\string!}{}{\catcode`!=12\relax} + \catcode`\~=12 + \lccode`\!=`\~ + \lowercase{\def\x{\endgroup + \def\greek@tilde{!}}\x} +\addto\extraspolutonikogreek{% + \babel@save\~\let\~\greek@tilde} +% \end{macrocode} +% \end{macro} +% In order to get correct hyphenation we need to set the lower case +% code of a number of characters. The `v' character has a special +% usage for the |cb| fonts: in fact this ligature mechanism detects +% the end of a word and assures that a final sigma is typeset with +% the proper sign wich is different from that of an initial or +% medial sigma; the `v 'after an \textit{isolated} sigma fools +% the ligature mechanism in order to typeset $\sigma$ in place of +% $\varsigma$. Because of this we make sure its lowercase code is +% not changed. For ``modern'' greek we have to deal only with |'| +% and |"| and so things are easy. +% \changes{greek-1.1c}{1997/04/30}{fixed two typos} +% \changes{greek-1.1e}{1997/10/12}{Added lowercase code for v} +% \changes{greek-1.2}{1997/10/28}{Definitions for ``modern'' Greek are +% now the definitions of ``Polutoniko'' Greek} +% \changes{greek-1.2}{1997/10/28}{Added lowercase codes for ``modern'' +% greek} +% \changes{greek-1.3e}{1999/09/24}{\cs{extrasgreek} and +% \cs{extraspolutonikogreek} should be complementary} +% \begin{macrocode} +\addto\extrasgreek{% + \babel@savevariable{\lccode`v}\lccode`v=`v% + \babel@savevariable{\lccode`\'}\lccode`\'=`\'% + \babel@savevariable{\lccode`\"}\lccode`\"=`\"} +\addto\extraspolutonikogreek{% + \babel@savevariable{\lccode`\<}\lccode`\<=`\<% + \babel@savevariable{\lccode`\>}\lccode`\>=`\>% + \babel@savevariable{\lccode`\~}\lccode`\~=`\~% + \babel@savevariable{\lccode`\|}\lccode`\|=`\|% + \babel@savevariable{\lccode`\`}\lccode`\`=`\`} +% \end{macrocode} +% And in order to get rid of all accents and breathings when a +% string is |\uppercase|d we also change a number of uppercase +% codes. +% \changes{greek-1.1b}{1997/03/06}{Added setting of \cs{uccode}s +% (after \file{kdgreek.sty})} +% \changes{greek-1.1e}{1997/10/12}{Added uppercase code for special +% letter ``v''. Uppercase code for accents is now \texttt{9f}, +% instead of \texttt{ff}} +% \changes{greek-1.2}{1997/10/28}{Added uppercase codes for ``modern'' +% Greek. The old codes are now for ``Polutoniko'' Greek} +% \changes{greek-1.3e}{1999/09/24}{\cs{extrasgreek} and +% \cs{extraspolutonikogreek} should be complementary} +% {\catcode`|=12\relax\gdef\indexbar{\cs{|}}} +% \changes{greek-1.3g}{1999/11/17}{uc code of \indexbar{} is now just +% \indexbar{} to reflect recent changes in the cb fonts} +% \changes{greek-1.3i}{2000/10/02}{uc code of `v' is switched to V +% so that mixed text appears correctly in headers.} +% \changes{greek-1.3j}{2001/02/03}{Because other languages might +% make the caret active, we can't use the double caret notation +% here} +% \begin{macrocode} +\addto\extrasgreek{% + \babel@savevariable{\uccode`\"}\uccode`\"=`\"% + \babel@savevariable{\uccode`\'}\uccode`\'=159} %% 159 == ^^9f +\addto\extraspolutonikogreek{% + \babel@savevariable{\uccode`\~}\uccode`\~=159% + \babel@savevariable{\uccode`\>}\uccode`\>=159% + \babel@savevariable{\uccode`\<}\uccode`\<=159% + \babel@savevariable{\uccode`\|}\uccode`\|=`\|% + \babel@savevariable{\uccode`\`}\uccode`\`=159} +% \end{macrocode} +% For this to work we make the character |^^9f| a shorthand that +% expands to nothing. In order for this to work we need to make a +% character look like |^^9f| in \TeX's eyes. The trick is to have +% another character and assign it a different lowercase code. The +% execute the macros needed in a |\lowercase| environment. Usually +% the tile |~| character is used for such purposes. Before we do +% this we save it's original lowercase code to restore it once +% we're done. +% \changes{greek-1.1b}{1997/03/06}{Added shorthand for \cs{char255}} +% \changes{greek-1.1e}{1997/10/12}{Shorthand is changed. Active +% character is now \cs{char159}} +% \changes{greek-1.2a}{1997/10/31}{Need shorthand to exist for +% ``monotoniko'' Greek, not ``polutoniko'' Greek} +% \changes{greek-1.3j}{2001/02/03}{Ues the tilde as an alias for +% character 159} +% \begin{macrocode} +\@tempcnta=\lccode`\~ +\lccode`\~=159 +\lowercase{% + \initiate@active@char{~}% + \declare@shorthand{greek}{~}{}} +\lccode`\~=\@tempcnta +% \end{macrocode} +% We can also make the tilde character itself expand to a tilde with +% category code 12 to make the typing of texts easier. +% \changes{greek-1.1b}{1997/03/06}{Made tilde expand to a tilde with +% \cs{catcode 12}} +% \begin{macrocode} +\addto\extraspolutonikogreek{\languageshorthands{greek}}% +\declare@shorthand{greek}{~}{\greek@tilde} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% +% \changes{greek-1.1c}{1997/03/10}{Added a couple of symbols, needed +% for \cs{greeknumeral}} +% \changes{greek-1.1e}{1997/10/12}{Most symbols are removed and are +% now defined in package grsymb} +% \changes{greek-1.2c}{1998/06/26}{Package grsymb has been eliminated +% because the CB fonts v2.0 do not inlcude certain symbols and so +% the remaining symbol definitions have been moved here} +% We now define a few symbols which are used in the typesetting of +% greek numerals, as well as some other symbols which are usefull, +% such as the $\epsilon\upsilon\rho\omega$ symbol, etc. +% \begin{macrocode} +\DeclareTextCommand{\anwtonos}{LGR}{\char"FE\relax} +\DeclareTextCommand{\katwtonos}{LGR}{\char"FF\relax} +\DeclareTextCommand{\qoppa}{LGR}{\char"12\relax} +\DeclareTextCommand{\stigma}{LGR}{\char"06\relax} +\DeclareTextCommand{\sampi}{LGR}{\char"1B\relax} +\DeclareTextCommand{\Digamma}{LGR}{\char"C3\relax} +\DeclareTextCommand{\ddigamma}{LGR}{\char"93\relax} +\DeclareTextCommand{\vardigamma}{LGR}{\char"07\relax} +\DeclareTextCommand{\euro}{LGR}{\char"18\relax} +\DeclareTextCommand{\permill}{LGR}{\char"19\relax} +% \end{macrocode} +% +% Since the |~| cannot be used to produce an unbreakable white +% space we must redefine at least the commands |\fnum@figure| and +% |\fnum@table| so they do not produce a |~| instead of white +% space. +% \changes{greek-1.3l}{2004/02/19}{Commented these lines out as this +% change has made it into \LaTeX{} itself.} +% \begin{macrocode} +%\def\fnum@figure{\figurename\nobreakspace\thefigure} +%\def\fnum@table{\tablename\nobreakspace\thetable} +% \end{macrocode} +% +% The macro |\ldf@finish| takes care of looking for a +% configuration file, setting the main language to be switched on +% at |\begin{document}| and resetting the category code of +% \texttt{@} to its original value. +% \changes{greek-1.0b}{1996/11/02}{Now use \cs{ldf@finish} to wrap up} +% \begin{macrocode} +\ldf@finish{\CurrentOption} +%</code> +% \end{macrocode} +% +% \Finale +%\endinput +%% \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 \~} +%% diff --git a/Master/texmf-dist/source/generic/babel-greek/greek.fdd b/Master/texmf-dist/source/generic/babel-greek/greek.fdd new file mode 100644 index 00000000000..ab884f0b51a --- /dev/null +++ b/Master/texmf-dist/source/generic/babel-greek/greek.fdd @@ -0,0 +1,651 @@ +% \iffalse meta-comment +% +% Copyright 1989-2008 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +% \CheckSum{183} +% +% \iffalse This is a META comment +% +%<*fdd> +\ProvidesFile{greek.fdd} +%</fdd> +% +%<LGRenc, >\ProvidesFile{lgrenc.def} +%<LGRcmr, >\ProvidesFile{lgrcmr.fd} +%<LGRcmro, >\ProvidesFile{lgrcmro.fd} +%<LGRcmtt, >\ProvidesFile{lgrcmtt.fd} +%<LGRcmss, >\ProvidesFile{lgrcmss.fd} +%<LGRlcmss, >\ProvidesFile{lgrlcmss.fd} +%<LGRlcmtt, >\ProvidesFile{lgrlcmtt.fd} +%<LGRlmr, >\ProvidesFile{lgrlmr.fd} +%<LGRlmro, >\ProvidesFile{lgrlmro.fd} +%<LGRlmss, >\ProvidesFile{lgrlmss.fd} +%<LGRlmtt, >\ProvidesFile{lgrlmtt.fd} + [2008/06/17 v2.3 % +%<LGRenc, > Greek Encoding] +%<LGRcmr, > Greek Computer Modern] +%<LGRcmro, > Greek Computer Modern Outline] +%<LGRcmtt, > Greek Computer Modern Typewriter] +%<LGRcmss, > Greek Computer Modern Sans Serif] +%<LGRlcmss, > Greek Computer Modern Sans Serif slide sizes] +%<LGRlcmtt, > Greek Computer Modern Typewriter slide sizes] +%<LGRlmr, > Greek Latin Modern] +%<LGRlmro, > Greek Latin Modern Outline] +%<LGRlmtt, > Greek Latin Modern Typewriter] +%<LGRlmss, > Greek Latin Modern Sans Serif] +%<*fdd> +] +%</fdd> +% +%<*driver> +\documentclass{ltxdoc} +\GetFileInfo{greek.fdd} +\providecommand\dsc{\expandafter{\normalfont\scshape docstrip}} +\title{The file \texttt{greek.fdd} for use with + \LaTeXe.\thanks{This file has version + number \fileversion, dated \filedate.}} +\date{\filedate} +\author{Claudio Beccari, Apostolos Syropoulos and Johannes Braams} +\newcommand*\Lopt[1]{\textsf{#1}} +\begin{document} +\maketitle +\DocInput{greek.fdd} +\end{document} +%</driver> +% +%\fi +% +% \changes{greekfdd-2.0}{1997/10/12}{Changed to use Claudio Beccari's +% fonts} +% \changes{greekfdd-2.1}{1997/10/31}{Produce files with lowercase +% names} +% \changes{greekfdd-2.2}{1998/05/16}{Added support for CB fonts v2.xx} +% \changes{greekfdd-2.3}{2008/06/17}{Added support for CB fonts v2.xx +% with extra families and Latin Modern compatibility} +% +% \section{Introduction} +% +% The file `greek.fdd' provides font definitions for typesetting +% greek texts. This version of the file has been updated, since +% now the official fonts for the \Lopt{greek} option of the +% \textsf{babel} package are the |cb| fonts. +% +% The font definition files prduced from this documented source +% make the |cb| fonts compatible with both the Computer Modern +% collection (both CM and EC) and the Latin Modern one. +% +% \StopEventually{} +% +% \section{The \texttt{docstrip} modules} +% The following modules are used to direct \texttt{docstrip} in +% generating external files: +% \begin{center} +% \begin{tabular}{ll} +% driver & produce a documentation driver file \\ +% LGRenc & The encoding definition file\\ +% LGRcmr & The Roman font shapes\\ +% LGRcmro & The Outline Roman font shapes\\ +% LGRcmss & The Sans Serif font shapes\\ +% LGRcmtt & The typewriter font shapes\\ +% LGRlcmss & The slide size Sans Serif font shapes\\ +% LGRlcmtt & The slide size typewriter fonts\\ +% LGRlmr & The Roman font shapes\\ +% LGRlmro & The Outline Roman font shapes\\ +% LGRlmss & The Sans Serif font shapes\\ +% LGRlmtt & The typewriter font shapes\\ +% \end{tabular} +% \end{center} +% A typical \dsc\ command file would then have entries like: +%\begin{verbatim} +%\generateFile{lgrcmr.fd}{t}{\from{greek.fdd}{fd,LGRcmr}} +%\end{verbatim} +% +% \section{The encoding definition file} +% +% This file defines the fontencoding \texttt{LGR} for greek +% text. Moreover, it provides the |\EC@family| macro, since the +% Greek fonts have the same naming conventions as the Latin +% ones produced by J\"{o}rg Knappen that are now the official +% fonts of \LaTeXe. It also makes some definitions to ensure +% that commands such as |\TeX|, |\copyright| give ``expected +% results'' (\TeX, \copyright). +% +% \changes{greekfdd-2.1}{1997/10/31}{Removed some unwanted spaces} +% \changes{greekfdd-2.2e}{2000/10/26}{Added more font sizes to make +% the CB fonts compatible with the EC fonts} +% \begin{macrocode} +%<*LGRenc> +\DeclareFontEncoding{LGR}{}{} +\DeclareFontSubstitution{LGR}{cmr}{m}{n} +\DeclareErrorFont{LGR}{cmr}{m}{n}{10} +% \end{macrocode} +% First we define a few commands in the \texttt{LGR} encoding. +% \changes{greekfdd-2.2c}{1999/04/05}{Fixed typos, \cs{textrademark} +% misses a `t', \cs{copyright} should be \cs{textcopyright}} +% \changes{greekfdd-2.2d}{1999/04/25}{removed redefinition of \cs{\&}} +% \begin{macrocode} +\ProvideTextCommand{\textcopyright}{LGR}{% + \textcircled{\textlatin{c}}} +\ProvideTextCommand{\textregistered}{LGR}{% + \textcircled{\textlatin{\textsc r}}} +\ProvideTextCommand{\texttrademark}{LGR}{% + \textsuperscript{\textlatin{TM}}} +\ProvideTextCommand{\SS}{LGR}{% + \textlatin{SS}} +%</LGRenc> +% \end{macrocode} +% +% \section{The font definition files} +% +% In the previous release of the greek option we used +% the \texttt{kd} family of fonts, which were made by +% K.J.~Dryllerakis. Now, we have switched to the |cb| fonts by +% Claudio Beccari, mainly because these fonts are complete, in any +% sense of the word, and moreover fit nicely with the Computer +% Modern font family. +% +% We begin with the definitions for the Greek Computer Modern fonts. +% +% \begin{macrocode} +%<*LGRcmr> +\providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4} + {<5><6><7><8><9><10><10.95><12><14.4>% + <17.28><20.74><24.88><29.86><35.83>genb*#5}{}} +\DeclareFontFamily{LGR}{cmr}{} +\EC@family{LGR}{cmr}{m}{n} {grmn} +\EC@family{LGR}{cmr}{m}{sl} {grmo} +\EC@family{LGR}{cmr}{m}{it} {grmi} +\EC@family{LGR}{cmr}{m}{sc} {grmc} +\EC@family{LGR}{cmr}{m}{ui} {grmu} +\EC@family{LGR}{cmr}{m}{li} {grml} +\EC@family{LGR}{cmr}{m}{rs} {gmmn} +\EC@family{LGR}{cmr}{m}{ro} {gmmo} +% +\EC@family{LGR}{cmr}{bx}{sc} {grxc} +\EC@family{LGR}{cmr}{bx}{n} {grxn} +\EC@family{LGR}{cmr}{bx}{sl} {grxo} +\EC@family{LGR}{cmr}{bx}{it} {grxi} +\EC@family{LGR}{cmr}{bx}{ui} {grxu} +\EC@family{LGR}{cmr}{bx}{li} {grxl} +\EC@family{LGR}{cmr}{bx}{rs} {gmxn} +\EC@family{LGR}{cmr}{bx}{ro} {gmxo} +\EC@family{LGR}{cmr}{b}{li} {grbl} +\DeclareFontShape{LGR}{cmr}{b}{n} + {<->ssub*cmr/bx/n}{} +\DeclareFontShape{LGR}{cmr}{b}{sc} + {<->ssub*cmr/bx/sc}{} +%</LGRcmr> +% \end{macrocode} +% +% The greek outline family is now complete with the same five +% shapes and the two series as the roman family. +% \changes{greekfdd-2.2b}{1999/04/03}{grmu should be gomu here...} +% \begin{macrocode} +%<*LGRcmro> +\providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4} + {<5><6><7><8><9><10><10.95><12><14.4>% + <17.28><20.74><24.88><29.86><35.83>genb*#5}{}} +\DeclareFontFamily{LGR}{cmro}{} +\EC@family{LGR}{cmro}{m}{n} {gomn} +\EC@family{LGR}{cmro}{m}{sl} {gomo} +\EC@family{LGR}{cmro}{m}{it} {gomi} +\EC@family{LGR}{cmro}{m}{sc} {gomc} +\EC@family{LGR}{cmro}{m}{ui} {gomu} +\EC@family{LGR}{cmro}{bx}{sc} {goxc} +\EC@family{LGR}{cmro}{bx}{n} {goxn} +\EC@family{LGR}{cmro}{bx}{sl} {goxo} +\EC@family{LGR}{cmro}{bx}{it} {goxi} +\EC@family{LGR}{cmro}{bx}{ui} {goxu} +\DeclareFontShape{LGR}{cmro}{b}{n} + {<->ssub*cmro/bx/n}{} +\DeclareFontShape{LGR}{cmro}{b}{sc} + {<->ssub*cmro/bx/sc}{} +%</LGRcmro> +% \end{macrocode} +% +% Then we have the \texttt{typewriter} fonts... +% +% \changes{greekfdd-2.1}{1997/10/31}{Set the \cs{hyphenchar} of the tt +% font to $-1$} +% \begin{macrocode} +%<*LGRcmtt> +\providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4} + {<5><6><7><8><9><10><10.95><12><14.4>% + <17.28><20.74><24.88><29.86><35.83>genb*#5}{}} +\DeclareFontFamily{LGR}{cmtt}{\hyphenchar\font\m@ne}% \hyphenchar = -1 +\EC@family{LGR}{cmtt}{m}{n} {gttn} +\EC@family{LGR}{cmtt}{m}{sl} {gtto} +\EC@family{LGR}{cmtt}{m}{sc} {gttc} +\EC@family{LGR}{cmtt}{m}{it} {gtti} +\EC@family{LGR}{cmtt}{m}{ui} {gttu} +\DeclareFontShape{LGR}{cmtt}{bx}{n} + {<->ssub*cmtt/m/n}{} +\DeclareFontShape{LGR}{cmtt}{bx}{sl} + {<->ssub*cmtt/m/sl}{} +\DeclareFontShape{LGR}{cmtt}{bx}{it} + {<->ssub*cmtt/m/it}{} +\DeclareFontShape{LGR}{cmtt}{bx}{sc} + {<->ssub*cmtt/m/sc}{} +\DeclareFontShape{LGR}{cmtt}{bx}{ui} + {<->ssub*cmtt/m/ui}{} +%</LGRcmtt> +% \end{macrocode} +% +% Now we come to the Sans Serif font to be used in greek +% texts. +% \changes{greekfdd-2.2b}{1999/04/03}{the last two lines had m instead +% of x in the fontname} +% \begin{macrocode} +%<*LGRcmss> +\providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4} + {<5><6><7><8><9><10><10.95><12><14.4>% + <17.28><20.74><24.88><29.86><35.83>genb*#5}{}} +\DeclareFontFamily{LGR}{cmss}{} +\EC@family{LGR}{cmss}{m}{n} {gsmn} +\EC@family{LGR}{cmss}{m}{sl} {gsmo} +\EC@family{LGR}{cmss}{m}{sc} {gsmc} +\EC@family{LGR}{cmss}{m}{it} {gsmi} +\EC@family{LGR}{cmss}{m}{ui} {gsmu} +\EC@family{LGR}{cmss}{m}{iv} {gsme} +\EC@family{LGR}{cmss}{m}{uv} {gsma} +% +\EC@family{LGR}{cmss}{bx}{n} {gsxn} +\EC@family{LGR}{cmss}{bx}{sl} {gsxo} +\EC@family{LGR}{cmss}{bx}{sc} {gsxc} +\EC@family{LGR}{cmss}{bx}{it} {gsxi} +\EC@family{LGR}{cmss}{bx}{ui} {gsxu} +\EC@family{LGR}{cmss}{bx}{iv} {gsxe} +\EC@family{LGR}{cmss}{bx}{uv} {gsxa} +%</LGRcmss> +% \end{macrocode} +% +% We have finished with the ``regular'' fonts. We now provide the fonts +% definition files for the fonts used only in slides. First comes the +% typewriter font. +% \begin{macrocode} +%<*LGRlcmtt> +\DeclareFontFamily{LGR}{lcmtt}{\hyphenchar\font\m@ne} +\DeclareFontShape{LGR}{lcmtt}{m}{n}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * gltn}{} +\DeclareFontShape{LGR}{lcmtt}{m}{In}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * gljn}{} +\DeclareFontShape{LGR}{lcmtt}{m}{it}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glto}{} +\DeclareFontShape{LGR}{lcmtt}{m}{Iit}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * gljo}{} +\DeclareFontShape{LGR}{lcmtt}{m}{sl}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + ssub * lcmtt/m/it}{} +\DeclareFontShape{LGR}{lcmtt}{m}{Isl}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + ssub * lcmtt/m/Iit}{} +\DeclareFontShape{LGR}{lcmtt}{m}{sc}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * gltc}{} +\DeclareFontShape{LGR}{lcmtt}{m}{Isc}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * gljc}{} +%</LGRlcmtt> +% \end{macrocode} +% +% And then the Sans Serif font. +% \begin{macrocode} +%<*LGRlcmss> +\DeclareFontFamily{LGR}{lcmss}{} +\DeclareFontShape{LGR}{lcmss}{m}{n}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glmn}{} +\DeclareFontShape{LGR}{lcmss}{m}{In}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glin}{} +\DeclareFontShape{LGR}{lcmss}{m}{sl}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glmo}{} +\DeclareFontShape{LGR}{lcmss}{m}{Isl}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glio}{} +\DeclareFontShape{LGR}{lcmss}{m}{it}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glmi}{} +\DeclareFontShape{LGR}{lcmss}{m}{Iit}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glii}{} +\DeclareFontShape{LGR}{lcmss}{m}{ui}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glmu}{} +\DeclareFontShape{LGR}{lcmss}{bx}{n}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glxn}{} +\DeclareFontShape{LGR}{lcmss}{bx}{In}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glwn}{} +\DeclareFontShape{LGR}{lcmss}{bx}{sl}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glxo}{} +\DeclareFontShape{LGR}{lcmss}{bx}{Isl}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glwo}{} +\DeclareFontShape{LGR}{lcmss}{bx}{it}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glxi}{} +\DeclareFontShape{LGR}{lcmss}{bx}{Iit}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glwi}{} +\DeclareFontShape{LGR}{lcmss}{m}{sc}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glmc}{} +\DeclareFontShape{LGR}{lcmss}{m}{Isc}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glic}{} +\DeclareFontShape{LGR}{lcmss}{bx}{sc}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glxc}{} +\DeclareFontShape{LGR}{lcmss}{bx}{Isc}{% + <7><8><10><12><13.82><16.59><19.91><23.89><28.66><34.4><41.28> + genb * glwc}{} +%</LGRlcmss> +% \end{macrocode} +% +% And now come the font definition files compatible with the Latin +% Modern family names and sizes; notice that the Latin Modern fonts +% are available only as scalable PostScript fonts, therefore they +% cope with continuous scaling; also the |cb| fonts are distributed +% as scalable PostScript fonts, so it makes sense to use the same +% size and family specifications as the LM fonts. +% +% We start with the Latin Modern Regular. +% \begin{macrocode} +%<*LGRlmr> +\DeclareFontFamily{LGR}{lmr}{} +\DeclareFontShape{LGR}{lmr}{m}{n}% + {<-5.5> grmn0500 <5.5-6.5> grmn0600 + <6.5-7.5> grmn0700 <7.5-8.5> grmn0800 + <8.5-9.5> grmn0900 <9.5-11> grmn1000 + <11-15> grmn1200 <15-> grmn1728}{} +\DeclareFontShape{LGR}{lmr}{m}{rs}% + {<-5.5> gmmn0500 <5.5-6.5> gmmn0600 + <6.5-7.5> gmmn0700 <7.5-8.5> gmmn0800 + <8.5-9.5> gmmn0900 <9.5-11> gmmn1000 + <11-15> gmmn1200 <15-> gmmn1728}{} +\DeclareFontShape{LGR}{lmr}{m}{sl}% + {<-8.5> grmo0800 <8.5-9.5> grmo0900 + <9.5-11> grmo1000 <11-15> grmo1200 + <15-> grmo1728}{} +\DeclareFontShape{LGR}{lmr}{m}{ro}% + {<-8.5> gmmo0800 <8.5-9.5> gmmo0900 + <9.5-11> gmmo1000 <11-15> gmmo1200 + <15-> gmmo1728}{} +\DeclareFontShape{LGR}{lmr}{m}{it}% + {<-7.5> grmi0700 + <7.5-8.5> grmi0800 <8.5-9.5> grmi0900 + <9.5-11> grmi1000 <11-15> grmi1200 + <15-> grmi1728}{} +\DeclareFontShape{LGR}{lmr}{m}{li}% + {<-7.5> grml0700 + <7.5-8.5> grml0800 <8.5-9.5> grml0900 + <9.5-11> grml1000 <11-15> grml1200 + <15-> grml1728}{} +\DeclareFontShape{LGR}{lmr}{m}{ui}% + {<-7.5> grmu0700 + <7.5-8.5> grmu0800 <8.5-9.5> grmu0900 + <9.5-11> grmu1000 <11-15> grmu1200 + <15-> grmu1728}{} +\DeclareFontShape{LGR}{lmr}{m}{sc}% + {<-7.5> grmc0700 + <7.5-8.5> grmc0800 <8.5-9.5> grmc0900 + <9.5-11> grmc1000 <11-15> grmc1200 + <15-> grmc1728}{} +% slanted CSC is changed to unslanted CSC +\DeclareFontShape{LGR}{lmr}{m}{scsl}% + {<-> ssub*lmr/m/sc}{} +%%%%%%%% bold and bold extended series +\DeclareFontShape{LGR}{lmr}{bx}{n} + {<-5.5> grxn0500 <5.5-6.5> grx0600 + <6.5-7.5> grxn0700 <7.5-8.5> grxn0800 + <8.5-9.5> grxn0900 <9.5-11> grxn1000 + <11-15> grxn1200 <15-> grxn1728}{} +\DeclareFontShape{LGR}{lmr}{bx}{rs} + {<-5.5> gmxn0500 <5.5-6.5> gmx0600 + <6.5-7.5> gmxn0700 <7.5-8.5> gmxn0800 + <8.5-9.5> gmxn0900 <9.5-11> gmxn1000 + <11-15> gmxn1200 <15-> gmxn1728}{} +\DeclareFontShape{LGR}{lmr}{bx}{it} + {<-7.5> grxi0700 + <7.5-8.5> grxi0800 <8.5-9.5> grxi0900 + <9.5-11> grxi1000 <11-15> grxi1200 + <15-> grxi1728}{} +\DeclareFontShape{LGR}{lmr}{b}{li} + {<-7.5> grbl0700 + <7.5-8.5> grbl0800 <8.5-9.5> grbl0900 + <9.5-11> grbl1000 <11-15> grbl1200 + <15-> grbl1728}{} +\DeclareFontShape{LGR}{lmr}{bx}{li} + {<-7.5> grxl0700 + <7.5-8.5> grxl0800 <8.5-9.5> grxl0900 + <9.5-11> grxl1000 <11-15> grxl1200 + <15-> grxl1728 + }{} +\DeclareFontShape{LGR}{lmr}{bx}{ui} + {<-7.5> grxu0700 + <7.5-8.5> grxu0800 <8.5-9.5> grxu0900 + <9.5-11> grxu1000 <11-15> grxu1200 + <15-> grxu1728}{} +\DeclareFontShape{LGR}{lmr}{bx}{sl} + {<-8.5> grxo0800 <8.5-9.5> grxo0900 + <9.5-11> grxo1000 <11-15> grxo1200 + <15-> grxo1728}{} +\DeclareFontShape{LGR}{lmr}{bx}{ro} + {<-8.5> gmxo0800 <8.5-9.5> gmxo0900 + <9.5-11> gmxo1000 <11-15> gmxo1200 + <15-> gmxo1728}{} +\DeclareFontShape{LGR}{lmr}{bx}{sc}% + {<-7.5> grxc0700 + <7.5-8.5> grxc0800 <8.5-9.5> grxc0900 + <9.5-11> grxc1000 <11-15> grxc1200 + <15-> grxc1728}{} +%</LGRlmr> +% \end{macrocode} +% +% Then the Latin Modern Regular Outline +% \begin{macrocode} +%<*LGRlmro> +\DeclareFontFamily{LGR}{lmro}{} +\DeclareFontShape{LGR}{lmro}{m}{n}% + {<-5.5> gomn0500 <5.5-6.5> gomn0600 + <6.5-7.5> gomn0700 <7.5-8.5> gomn0800 + <8.5-9.5> gomn0900 <9.5-11> gomn1000 + <11-15> gomn1200 <15-> gmr1728}{} +\DeclareFontShape{LGR}{lmro}{m}{sl}% + {<-8.5> gomo0800 <8.5-9.5> gomo0900 + <9.5-11> gomo1000 <11-15> gomo1200 + <15-> gomo1728}{} +\DeclareFontShape{LGR}{lmro}{m}{it}% + {<-7.5> gomi0700 + <7.5-8.5> gomi0800 <8.5-9.5> gomi0900 + <9.5-11> gomi1000 <11-15> gomi1200 + <15-> gomi1728}{} +\DeclareFontShape{LGR}{lmro}{m}{ui}% + {<-7.5> gomu0700 + <7.5-8.5> gomu0800 <8.5-9.5> gomu0900 + <9.5-11> gomu1000 <11-15> gomu1200 + <15-> gomu1728}{} +\DeclareFontShape{LGR}{lmro}{m}{sc}% + {<-7.5> gomc0700 + <7.5-8.5> gomc0800 <8.5-9.5> gomc0900 + <9.5-11> gomc1000 <11-15> gomc1200 + <15-> gomc1728}{} +% slanted CSC is changed to unslanted CSC +\DeclareFontShape{LGR}{lmro}{m}{scsl}% + {<-> ssub*lmr/m/sc}{} +%%%%%%%% bold extended series +\DeclareFontShape{LGR}{lmro}{bx}{n} + {<-5.5> goxn0500 <5.5-6.5> gox0600 + <6.5-7.5> goxn0700 <7.5-8.5> goxn0800 + <8.5-9.5> goxn0900 <9.5-11> goxn1000 + <11-15> goxn1200 <15-> goxn1728}{} +\DeclareFontShape{LGR}{lmro}{bx}{it} + {<-7.5> goxi0700 + <7.5-8.5> goxi0800 <8.5-9.5> goxi0900 + <9.5-11> goxi1000 <11-> goxi1200 + <15-> goxi1728}{} +\DeclareFontShape{LGR}{lmro}{bx}{ui} + {<-7.5> goxu0700 + <7.5-8.5> goxu0800 <8.5-9.5> goxu0900 + <9.5-11> goxu1000 <11-> goxu1200 + <15-> goxu1728}{} +\DeclareFontShape{LGR}{lmro}{bx}{sl} + {<-8.5> goxo0800 <8.5-9.5> goxo0900 + <9.5-11> goxo1000 <11-15> goxo1200 + <15-> goxo1728}{} +\DeclareFontShape{LGR}{lmro}{bx}{sc}% + {<-7.5> goxc0700 + <7.5-8.5> goxc0800 <8.5-9.5> goxc0900 + <9.5-11> goxc1000 <11-15> goxc1200 + <15-> goxc1728}{} +%</LGRlmro> +% \end{macrocode} +% +% Now the Latin Modern Sans Serif +% +% \begin{macrocode} +%<*LGRlmss> +\DeclareFontFamily{LGR}{lmss}{} +\DeclareFontShape{LGR}{lmss}{m}{n} + {<-8.5> gsmn0800 + <8.5-9.5> gsmn0900 <9.5-11> gsmn1000 + <11-15.5> gsmn1200 <15.5-> gsmn1728}{} +\DeclareFontShape{LGR}{lmss}{m}{it} + {<-8.5> gsmi0800 + <8.5-9.5> gsmi0900 <9.5-11> gsmi1000 + <11-15.5> gsmi1200 <15.5-> gsmi1728}{} +\DeclareFontShape{LGR}{lmss}{m}{iv} + {<-8.5> gsme0800 + <8.5-9.5> gsme0900 <9.5-11> gsme1000 + <11-15.5> gsme1200 <15.5-> gsme1728}{} +\DeclareFontShape{LGR}{lmss}{m}{ui} + {<-8.5> gsmu0800 + <8.5-9.5> gsmu0900 <9.5-11> gsmu1000 + <11-15.5> gsmu1200 <15.5-> gsmu1728}{} +\DeclareFontShape{LGR}{lmss}{m}{uv} + {<-8.5> gsma0800 + <8.5-9.5> gsma0900 <9.5-11> gsma1000 + <11-15.5> gsma1200 <15.5-> gsma1728}{} +\DeclareFontShape{LGR}{lmss}{m}{sl} + {<-8.5> gsmo0800 + <8.5-9.5> gsmo0900 <9.5-11> gsmo1000 + <11-15.5> gsmo1200 <15.5-> gsmo1728}{} +\DeclareFontShape{LGR}{lmss}{m}{sc} + {<-8.5> gsmc0800 + <8.5-9.5> gsmc0900 <9.5-11> gsmc1000 + <11-15.5> gsmc1200 <15.5-> gsmc1728}{} +%%%%%%%% semibold condensed series substituted with medium series +\DeclareFontShape{LGR}{lmss}{sbc}{n} +{<-> ssub*lmss/m/n}{} +\DeclareFontShape{LGR}{lmss}{sbc}{sl} +{<-> ssub*/lmss/m/sl}{} +\DeclareFontShape{LGR}{lmss}{sbc}{it} +{<->ssub*lmss/m/sl}{} +%%%%%%%%% bold extended series +\DeclareFontShape{LGR}{lmss}{bx}{n} + {<-8.5> gsxn0800 + <8.5-9.5> gsxn0900 <9.5-11> gsxn1000 + <11-15.5> gsxn1200 <15.5-> gsxn1728}{} +\DeclareFontShape{LGR}{lmss}{bx}{sl} + {<-8.5> gsxo0800 + <8.5-9.5> gsxo0900 <9.5-11> gsxo1000 + <11-15.5> gsxo1200 <15.5-> gsxo1728}{} +\DeclareFontShape{LGR}{lmss}{bx}{it} + {<-8.5> gsxi0800 + <8.5-9.5> gsxi0900 <9.5-11> gsxi1000 + <11-15.5> gsxi1200 <15.5-> gsxi1728}{} +\DeclareFontShape{LGR}{lmss}{bx}{iv} + {<-8.5> gsxe0800 + <8.5-9.5> gsxe0900 <9.5-11> gsxe1000 + <11-15.5> gsxe1200 <15.5-> gsxe1728}{} +\DeclareFontShape{LGR}{lmss}{bx}{ui} + {<-8.5> gsxu0800 + <8.5-9.5> gsxu0900 <9.5-11> gsxu1000 + <11-15.5> gsxu1200 <15.5-> gsxu1728}{} +\DeclareFontShape{LGR}{lmss}{bx}{uv} + {<-8.5> gsxa0800 + <8.5-9.5> gsxa0900 <9.5-11> gsxa1000 + <11-15.5> gsxa1200 <15.5-> gsxa1728}{} +\DeclareFontShape{LGR}{lmss}{bx}{sc} + {<-8.5> gsxc0800 + <8.5-9.5> gsxc0900 <9.5-11> gsxc1000 + <11-15.5> gsxc1200 <15.5-> gsxc1728}{} +%</LGRlmss> +% \end{macrocode} +% +% And finally the Latin Modern typewriter font. +% +% \begin{macrocode} +%<*LGRlmtt> +\DeclareFontFamily{LGR}{lmtt}{\hyphenchar\font\m@ne} +\DeclareFontShape{LGR}{lmtt}{m}{n} + {<-8.5> gttn0800 <8.5-9.5> gttn0900 + <9.5-11> gttn1000 <11-15> gttn1200 + <15-> gttn1728}{} +\DeclareFontShape{LGR}{lmtt}{m}{it} + {<-> ssub*lgr/lmtt/m/sl}{} +\DeclareFontShape{LGR}{lmtt}{m}{sl} + {<-8.5> gtto0800 <8.5-9.5> gtto0900 + <9.5-11> gtto1000 <11-15> gtto1200 + <15-> gtto1728}{} +\DeclareFontShape{LGR}{lmtt}{m}{sc} + {<-8.5> gttc0800 <8.5-9.5> gttc0900 + <9.5-11> gttc1000 <11-15> gttc1200 + <15-> gttc1728}{} +% shape undefined, substituted with unslanted +\DeclareFontShape{LGR}{lmtt}{m}{scsl}{<-> ssub*lmtt/m/sc}{} +%</LGRlmtt> +% \end{macrocode} +% +% The slide fonts have not been mapped to the Latin Modern +% families and sizes, because there are no slide fonts in the LM +% collection. Moreover nowadays the traditional slide fonts are +% very seldom used, since slides are produced with other classes +% different from the class |slides|, and they use different fonts. +% +% The next line goes into all files and in addition prevents \dsc{} +% from adding any further code from the main source file (such as a +% character table. +% \begin{macrocode} +\endinput +% \end{macrocode} +% +% \Finale + + diff --git a/Master/texmf-dist/source/generic/babel-greek/greek.ins b/Master/texmf-dist/source/generic/babel-greek/greek.ins new file mode 100644 index 00000000000..69e4a247c2c --- /dev/null +++ b/Master/texmf-dist/source/generic/babel-greek/greek.ins @@ -0,0 +1,163 @@ +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this package when run through +%% LaTeX or TeX. +%% +%% Copyright 1989-2008 Johannes L. Braams and any individual authors +%% listed elsewhere in this file. All rights reserved. +%% +%% This file is part of the Babel system. +%% -------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is Johannes Braams. +%% +%% The list of all files belonging to the LaTeX base distribution is +%% given in the file `manifest.bbl. See also `legal.bbl' for additional +%% information. +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. +%% +%% --------------- start of docstrip commands ------------------ +%% +\def\filedate{2008/07/06} +\def\batchfile{greek.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} + +\declarepreamble\mainpreamble +This is a generated file. + +Copyright 1989-2008 Johannes L. Braams and any individual authors +listed elsewhere in this file. All rights reserved. + +This file was generated from file(s) of the Babel system. +--------------------------------------------------------- + +It may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2003/12/01 or later. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainer of this work is Johannes Braams. + +This file may only be distributed together with a copy of the Babel +system. You may however distribute the Babel system without +such generated files. + +The list of all files belonging to the Babel distribution is +given in the file `manifest.bbl'. See also `legal.bbl for additional +information. + +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with +extension .ins) which are part of the distribution. +\endpreamble + +\declarepreamble\fdpreamble +This is a generated file. + +Copyright 1989-2008 Johannes L. Braams and any individual authors +listed elsewhere in this file. All rights reserved. + +This file was generated from file(s) of the Babel system. +--------------------------------------------------------- + +It may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2003/12/01 or later. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainer of this work is Johannes Braams. + +This file may only be distributed together with a copy of the Babel +system. You may however distribute the Babel system without +such generated files. + +The list of all files belonging to the Babel distribution is +given in the file `manifest.bbl'. See also `legal.bbl for additional +information. + +In particular, permission is granted to customize the declarations in +this file to serve the needs of your installation. + +However, NO PERMISSION is granted to distribute a modified version +of this file under its original name. + +\endpreamble + +\keepsilent + +\usedir{tex/generic/babel} + +\usepreamble\mainpreamble +\generate{\file{greek.ldf}{\from{greek.dtx}{code}} + \file{athnum.sty}{\from{athnum.dtx}{package}} + \file{grmath.sty}{\from{grmath.dtx}{package}} + \file{grsymb.sty}{\from{grsymb.dtx}{package}} + } +\usepreamble\fdpreamble +\generate{\file{lgrenc.def}{\from{greek.fdd}{LGRenc}} + \file{lgrcmr.fd}{\from{greek.fdd}{fd,LGRcmr}} + \file{lgrcmro.fd}{\from{greek.fdd}{fd,LGRcmro}} + \file{lgrcmtt.fd}{\from{greek.fdd}{fd,LGRcmtt}} + \file{lgrcmss.fd}{\from{greek.fdd}{fd,LGRcmss}} + \file{lgrlcmtt.fd}{\from{greek.fdd}{fd,LGRlcmtt}} + \file{lgrlcmss.fd}{\from{greek.fdd}{fd,LGRlcmss}} + \file{lgrlmr.fd}{\from{greek.fdd}{fd,LGRlmr}} + \file{lgrlmro.fd}{\from{greek.fdd}{fd,LGRlmro}} + \file{lgrlmtt.fd}{\from{greek.fdd}{fd,LGRlmtt}} + \file{lgrlmss.fd}{\from{greek.fdd}{fd,LGRlmss}} + } + +\ifToplevel{ +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty} +\Msg{*} +\Msg{* To produce the documentation run the files ending with} +\Msg{* '.dtx' and `.fdd' through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} +} + +\endinput diff --git a/Master/texmf-dist/source/generic/babel-greek/grmath.dtx b/Master/texmf-dist/source/generic/babel-greek/grmath.dtx new file mode 100644 index 00000000000..000daadcd86 --- /dev/null +++ b/Master/texmf-dist/source/generic/babel-greek/grmath.dtx @@ -0,0 +1,168 @@ +% \iffalse meta-comment +% +% Copyright 1989-2008 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +%% \CheckSum{126} +% +%\iffalse +% +%% This is file `grmath.sty' +%% (c) 1997-2005 Apostolos Syropoulos. +%% All rights reserved. +% You are allowed to modify this file as long the initial copyright notice +% appears in the modified file. +% +% Please report errors or suggestions for improvement to +% +% Apostolos Syropoulos +% 366, 28th October Str. +% GR-671 00 Xanthi, GREECE +% +% apostolo at platon.ee.duth.gr or apostolo at obelix.ee.duth.gr +% +%\fi +%\iffalse +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\GetFileInfo{grmath.drv} +\begin{document} + \DocInput{grmath.dtx} +\end{document} +%</driver> +% \end{macrocode} +%\fi +% +% \changes{grmath-1.2}{2001/02/12}{Package provides options ``grlog'' +% (default) and ``enlog'' that create Greek and Latin names +% log functions} +% +% \title{Greek log-like Operators} +% \author{Apostolos Syropoulos\\ +% 366, 28th October Str.\\ +% GR-671 00 Xanthi, HELLAS\\ +% E-mail: \texttt{apostolo@platon.ee.duth.gr}} +% \date{2001/02/12} +% \maketitle +% +% \MakeShortVerb{|} +% \section{What is this all about?} +% +% In Greece, until recently, it was common practice to write down most +% log-like functions as abbreviations of their Greek names. Consequently, +% high school students and even university freshmen were not familiar with +% the Latin names employed in international literature. However, this practice +% is fading away in universities but it is still in wide use in books for +% high schools, mainly because the Latin names would produce nothing but +% confusion. The package |grmath| redefines most log-like definitions +% so that they produce the Greek name, instead of the Latin one. The package +% can be used only in conjunction with the |greek| option of the |babel| +% package. The new option |enlog| allows one to keep the Latin names for +% the log functions. +% \StopEventually +% +% \section{The Implementation} +% +% As usual we must first identify ourselves. +% +% \begin{macrocode} +%<*package> +\ProvidesPackage{grmath}[2001/02/12\space v1.2] +\typeout{Package: `grmath' v1.2\space <2001/02/12> (A. Syropoulos)} +% \end{macrocode} +% +% The next thing we do is to process the options. The default option +% ``grlog'' generates Greek names for log functions and the ``enlog'' +% option generates Latin names for log functions. +% \begin{macrocode} +\DeclareOption{grlog}{% + \def\log{\mathop{\mathgroup\symgroperators log_{10}}\nolimits} + \def\ln{\mathop{\mathgroup\symgroperators log_% + {\mathgroup\symoperators e}}\nolimits} +} +\DeclareOption{enlog}{% + \def\log{\mathop{\operator@font log}\nolimits} + \def\ln{\mathop{\operator@font ln}\nolimits} +} +\ExecuteOptions{grlog} +\ProcessOptions +% \end{macrocode} +% +% Now we check to see if the |babel| package is loaded with at least +% the |greek| option. In case it isn't, we opt to produce an error message. +% \begin{macrocode} +\@ifpackagewith{babel}{greek}{}{% + \@ifpackagewith{babel}{polutonikogreek}{}{% + \PackageError{grmath}{% + `greek' option of the `babel'\MessageBreak + package hasn't been loaded}{% + The commands provided by this package\MessageBreak + are specially designed for greek language\MessageBreak + typesetting with the `babel' package. Load\MessageBreak + it with at least the `greek' option.}\relax + }} +% \end{macrocode} +% +% We define the mathematical font which will be used to typeset +% the log-like functions. +% \begin{macrocode} +\DeclareSymbolFont{groperators}{LGR}{cmr}{m}{n} +\SetSymbolFont{groperators}{bold}{LGR}{cmr}{bx}{n} +% \end{macrocode} +% +% We are now ready to proceed with the redefinitions of the log-like +% operator names. +% \begin{macrocode} +\def\sin{\mathop{\mathgroup\symgroperators hm}\nolimits} +\def\cos{\mathop{\mathgroup\symgroperators sun}\nolimits} +\def\tan{\mathop{\mathgroup\symgroperators ef}\nolimits} +\def\arcsin{\mathop{\mathgroup\symgroperators toxhm}\nolimits} +\def\arccos{\mathop{\mathgroup\symgroperators toxsun}\nolimits} +\def\arctan{\mathop{\mathgroup\symgroperators toxef}\nolimits} +\def\cot{\mathop{\mathgroup\symgroperators sf}\nolimits} +\def\sec{\mathop{\mathgroup\symgroperators tem}\nolimits} +\def\csc{\mathop{\mathgroup\symgroperators stem}\nolimits} +\def\gcd{\mathop{\mathgroup\symgroperators MKD}\nolimits} +% \end{macrocode} +% In the standard \LaTeX\ distribution there is no provision for a +% Least Common Multiple (lcm) log-like operator. Since, this operator +% appears quite often in greek literature we opt to include it. Moreover, +% we include three more log-like functions: |\arccot|, |\arcsec| and +% |\arccsc|. +% \begin{macrocode} +\def\lcm{\mathop{\mathgroup\symgroperators EKP}\nolimits} +\def\arccot{\mathop{\mathgroup\symgroperators toxsf}\nolimits} +\def\arcsec{\mathop{\mathgroup\symgroperators toxtem}\nolimits} +\def\arccsc{\mathop{\mathgroup\symgroperators toxstem}\nolimits} +%</package> +% \end{macrocode} +% +% \section*{Dedication} +% I would like to dedicate this piece of work to my son +% \begin{center}Demetrios-Georgios.\end{center} +% \Finale +\endinput diff --git a/Master/texmf-dist/source/generic/babel-greek/grsymb.dtx b/Master/texmf-dist/source/generic/babel-greek/grsymb.dtx new file mode 100644 index 00000000000..189ca4afe5c --- /dev/null +++ b/Master/texmf-dist/source/generic/babel-greek/grsymb.dtx @@ -0,0 +1,131 @@ +% \iffalse meta-comment +% +% Copyright 1989-2008 Johannes L. Braams and any individual authors +% listed elsewhere in this file. All rights reserved. +% +% This file is part of the Babel system. +% -------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Johannes Braams. +% +% The list of all files belonging to the Babel system is +% given in the file `manifest.bbl. See also `legal.bbl' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +%% \CheckSum{55} +% +%\iffalse +% +%% This is file `grsymb.sty' +%% (c) 1997-2005 Apostolos Syropoulos. +%% All rights reserved. +% You are allowed to modify this file as long the initial copyright notice +% appears in the modified file. +% +% Please report errors or suggestions for improvement to +% +% Apostolos Syropoulos +% 366, 28th October Str. +% GR-671 00 Xanthi, GREECE +% +% apostolo at platon.ee.duth.gr or apostolo at obelix.ee.duth.gr +% +%\fi +%\iffalse +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\GetFileInfo{grsymb.drv} +\begin{document} + \DocInput{grsymb.dtx} +\end{document} +%</driver> +% \end{macrocode} +%\fi +% +% \title{Greek Symbols} +% \author{Apostolos Syropoulos\\ +% 366, 28th October Str.\\ +% GR-671 00 Xanthi, HELLAS\\ +% E-mail: \texttt{apostolo@platon.ee.duth.gr}} +% \date{1997/09/21} +% \maketitle +% +% \MakeShortVerb{|} +% \section{Introduction} +% +% There are certain symbols which were in use in ancient Greece and which +% are of use to scholars even today. These symbols are various forms of +% qoppa and stigma, and the letter digamma. These special symbols are +% provided by the \texttt{cb} fonts which are now the official fonts for +% the \texttt{greek} option of the \texttt{babel} package. Moreover, these +% fonts provide a few more symbols such as a symbol for Euro, etc. The `tao' +% symbol although is not a greek symbol, survives mainly for reasons of +% compatibility. This little package provides access commands for these +% symbols. The package can be used only in conjunction with the |greek| +% option of the |babel| package. +% +% \StopEventually +% +% \section{The Implementation} +% +% First comes the identification part. +% +% \begin{macrocode} +%<*package> +\ProvidesPackage{grsymb}[1997/09/21\space v1.0] +\typeout{Package: `grsymb' v1.0\space <1997/09/21> (A. Syropoulos)} +% \end{macrocode} +% +% Next we check to see if the |babel| package is loaded with at least +% the |greek| option. In case it isn't, we opt to produce an error message. +% \begin{macrocode} +\@ifpackagewith{babel}{greek}{}{% + \PackageError{grsymb}{% + `greek' option of the `babel'\MessageBreak + package hasn't been loaded}{% + The commands provided by this package\MessageBreak + are specially designed for greek language\MessageBreak + typesetting with the `babel' package. Load\MessageBreak + it with at least the `greek' option.}\relax + } +% \end{macrocode} +% Now, we proceed with the definitions of the various symbols. Please note +% that |\ddigamma| is intensionally spelled erroneously, in order to avoid +% conflicts with the command |\digamma| that is defined by the package +% |amssymb|. Although the tao symbol is not a greek symbol, it is included +% mainly for reasons of compatibility. +% \begin{macrocode} +\DeclareTextCommand{\Digamma}{LGR}{\char"C3\relax} +\DeclareTextCommand{\ddigamma}{LGR}{\char"93\relax} +\DeclareTextCommand{\tao}{LGR}{\char"01\relax} +\DeclareTextCommand{\Qoppa}{LGR}{\char"14\relax} +\DeclareTextCommand{\varqoppa}{LGR}{\char"13\relax} +\DeclareTextCommand{\Sampi}{LGR}{\char"1A\relax} +\DeclareTextCommand{\vardigamma}{LGR}{\char"07\relax} +\DeclareTextCommand{\Stigma}{LGR}{\char"08\relax} +\DeclareTextCommand{\VarQoppa}{LGR}{\char"15\relax} +\DeclareTextCommand{\euro}{LGR}{\char"18\relax} +\DeclareTextCommand{\permill}{LGR}{\char"19\relax} +%</package> +% \end{macrocode} +% +% \section*{Dedication} +% I would like to dedicate this piece of work to my son +% \begin{center}Demetrios-Georgios.\end{center} +% \Finale +\endinput
\ No newline at end of file |