diff options
Diffstat (limited to 'fonts/greek/kd/latex/lgreek.3.0c')
-rw-r--r-- | fonts/greek/kd/latex/lgreek.3.0c | 415 |
1 files changed, 415 insertions, 0 deletions
diff --git a/fonts/greek/kd/latex/lgreek.3.0c b/fonts/greek/kd/latex/lgreek.3.0c new file mode 100644 index 0000000000..f5506d2bec --- /dev/null +++ b/fonts/greek/kd/latex/lgreek.3.0c @@ -0,0 +1,415 @@ +% +% LGREEK.TEX +% --------- +% +% K J Dryllerakis +% +% Sep 18, 1991 +% +% VERSION: 3.0c +% +% This is the source file for building the greek format for the +% kd fsmily of fonts. +% This is based on Greek.tex +% +% Greek is defined to be language 1 or actually last_language+1. +% +% Pleaaaaaaaaase don't modify this file +% +% Note: Used in conjunction with KD Fonts +% +% +% \input plain% Load the standard macro package +% For GreekLatex we need to preload the lplain format +\input lplain% +% +% Add some LaTeX Information +% +\everyjob{\typeout{Greek LaTeX Version 2.09-3.0[c] <9 Oct 1991>}} +\immediate\write10{Greek LaTeX Version 2.09-3.0[c] <9 Oct 1991>} +% +\message{Greek Definitions:} +% +\message{general definitions,} +% +\catcode`\@=11 % We will access TeX private macros +%\newwrite\@screen % Define a screen ouput +%\def\showstring#1{\immediate\write\@screen{#1}} +\let\showstring\typeout +\def\sp@{ }\def\sp@s{\sp@\sp@\sp@\sp@\sp@\sp@\sp@\sp@\sp@} +\def\c@p{\showstring{}\showstring{\sp@s\sp@s\sp@s GreekTeX -- Version 3.0[c]}% +\showstring{\sp@s\sp@s\sp@s ---------------------------} +\showstring{\sp@s GreekTeX is a macro package for typesetting greek texts.} +\showstring{\sp@s It is maily compatible with the haralambous package,} +\showstring{\sp@s from which it inherits the top level macros.} +\showstring{\sp@s GreekTeX includes easy access to font families, a choise} +\showstring{\sp@s of delimiters, and makes typesetting scientific papers} +\showstring{\sp@s in greek as easy as in TeX itself.} +\showstring{\sp@s} +\showstring{\sp@s\sp@s\sp@s Copyright K J Dryllerakis 1991} +\showstring{\sp@s\sp@s\sp@s ------------------------------}% +} +\c@p +% +% A List of Reserved Keywords that should not be redefined +% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +% +% a. accesible from the document +% +% \| The character | +% \begingreek Begin a group of greek text +% \endgreek End a group of greek text +% \greek A new language definition +% \gr switch to classical greek font +% \gbf switch to classical boldface font +% \git switch to classical italics font +% \gsl switch to classical slanted font +% \gtt switch to classical typewritter font +% \gt Greater than > symbol +% \lt Less than < symbol +% \math If we are using $ as del. it is equiv to $ +% \setgreek Select greek mode to be the primary mode +% \setlatin Restore standard mode (at any stage) +% \showstring Log a string on the terminal +% +% b. Internal Control Sequences +% +% \gr@@kdelimsbar Use | as begin- and end-greek +% \gr@@kdelimsdol Use $ as begin- and end-greek +% \@ldend A copy of plain TeX's \end +% \@screen Screen Output for messages +% \t@f@nt Remembers greek font used last +% \t@f@m Remembers greek family used last +% \t@size Remembers greek point size used last +% \c@p Product Copyright Notice +% \grfam Greek classic font family register +% \grslfam Greek slanted font family register +% \grttfam Greek typewriter font family register +% \grbffam Greek boldface font family register +% \grifam Greek italics font family register +% \l@tinm@de Definition to restore plain TeX's mode +% +% Start Up Definitions +% -------------------- +% +\ifx\gr@@kformatloaded\relax\catcode`\@=\active% + \endinput\else\let\gr@@kformatloaded\relax\fi +\newif\ifdelimsbar\delimsbarfalse % Check for | as delimiter +\chardef\|=`\| % A way to access | +\gdef\t@f@nt{\gr} % Remember font used last +%\gdef\t@size{\grtenpoint} % Remember size used last +% +\gdef\t@f@m{\fam\grfam} % Remember family used last +% ^ THESE ARE INITIAL VALUES. DO NOT ALTER! +\newlanguage\greek % Define Greek as a new language +\def\lt{<} % Remember Less than +\def\gt{>} % and greater than signs +\language0 % Switch to default language +% +\message{fonts,} +% +\input grfonts.tex +% +% Greek Font Bits +% _______________ +% +% First we load the greek fonts and declare the families +% Then we define point sizes for typesetting greek texts +% +% Classic Greek Family +% ^^^^^^^^^^^^^^^^^^^^ +%\newfam\grfam +%\font\tengr=kdgr10 % 10 point Classic Greek Font +%\font\ninegr=kdgr9 % 9 point Classic Greek Font +%\font\eightgr=kdgr8 % 8 point Classic Greek Font +%\font\sixgr=kdgr8 at 6truept % 6 point simulated Classic Greek (x.75) +%\def\gr{\tengr\fam\grfam} +%% +% Slanted Greek Family +% ^^^^^^^^^^^^^^^^^^^^ +%\newfam\grslfam +%\font\tengrsl=kdsl10 % 10 Point Slanted Greek Font +%\font\ninegrsl=kdsl10 at 9truept% 9 point (sim.) Slanted Greek +%\font\eightgrsl=kdsl10 at 8truept%8 point (sim.) Slanted Greek +%\def\gsl{\tengrsl\fam\grslfam} +%% +% Boldface Greek Family +% ^^^^^^^^^^^^^^^^^^^^^ +%\newfam\grbffam +%\font\tengrbf=kdbf10 % 10 Point Boldface Greek Font +%\font\ninegrbf=kdbf10 at 9truept% 9 Point (sim.) Boldface Greek +%\font\eightgrbf=kdbf10 at 8truept% 8 Point (sim.) Boldface Greek +%\def\gbf{\tengrbf\fam\grbffam} +% +% Italic Greek Family +% ^^^^^^^^^^^^^^^^^^^ +%\newfam\grifam +%\font\tengri=kdti10 % 10 Point Italic Greek Font +%\font\ninegri=kdti10 at 9truept % 9 Point (sim.) Italic Greek +%\font\eightgri=kdti10 at 8truept% 8 Point (sim.) Italic Greek +%\def\git{\tengri\fam\grifam} +% +% Typerwriter Greek Family +% ^^^^^^^^^^^^^^^^^^^^^^^^ +%\newfam\grttfam +%\font\tengrtt=kdtt10 % 10 Point Typewritter Greek Font +%\font\ninegrtt=kdtt10 at 9truept% 9 Point (sim.) Typewritter Greek +%\font\eightgrtt=kdtt10 at 8truept% 8 Point (sim.) Typewritter Greek +%\hyphenchar\eightgrtt=-1 \hyphenchar\tengrtt=-1 +%\hyphenchar\ninegrtt=-1 % Supress Hyphenation +%\def\gtt{\tengrtt\fam\grttfam} +% +% Greek Point Size Conventions +% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +% +%\def\grtenpoint{% GREEK TENPOINT +%\gdef\t@size{\grtenpoint}% Make a note of the font size +%\textfont\grfam=\tengr\scriptfont\grfam=\eightgr\scriptscriptfont\grfam=\sixgr% +%\textfont\grbffam=\tengrbf\scriptfont\grbffam=\ninegrbf% +%\textfont\grifam=\tengri\scriptfont\grbffam=\ninegri% +%\textfont\grttfam=\tengrtt% +%\textfont\grslfam=\tengrsl% +%\def\gr{\fam\grfam\tengr}% Switch for classic greek +%\let\rg\gr% Also rg for compatibility +%\def\it{\fam\grifam\tengri}% Switch for Greek Italics +%\def\sl{\fam\grslfam\tengrsl}% Switch for Greek Slanted +%\def\tt{\fam\grttfam\tengrtt}% Switch for Greek Typerwriter +%\def\bf{\fam\grbffam\tengrbf}% Switch for Greek Boldface +%\let\git\it\let\gsl\sl% +%\let\gbf\bf\let\gtt\tt% Retain LaTeX compatibility +%\def\rm{\fam0\tenrm}% Switch For latin roman +%\def\lit{\fam\itfam\tenit}% Switch for latin italics +%\def\lsl{\fam\slfam\tensl}% Switch for latin slanted +%\def\ltt{\fam\ttfam\tentt}% Switch for latin typewriter +%\def\lbf{\fam\bffam\tenbf}% Switch for latin boldface +%\normalbaselineskip=.6cm% Normal Base Line distance +%\setbox\strutbox=\hbox{\vrule height8.5pt width0pt depth4.5pt}% +%\normalbaselines\gr% +%} +%\def\grninepoint{% GREEK NINEPOINT +%\%gdef\t@size{\grninepoint}% Make a note of the font size +%\textfont\grfam=\ninegr\scriptfont\grfam=\eightgr\scriptscriptfont\grfam=\sixgr% +%\textfont\grbffam=\ninegrbf\scriptfont\grbffam=\eightgrbf% +%\%textfont\grifam=\ninegri\scriptfont\grbffam=\eightgri% +%\textfont\grttfam=\ninegrtt% +%\textfont\grslfam=\ninegrsl% +%\def\gr{\fam\grfam\ninegr}% Switch for classic greek +%\let\rg\gr% Also rg for compatibility +%\def\it{\fam\grifam\ninegri}% Switch for Greek Italics +%\def\sl{\fam\grslfam\ninegrsl}% Switch for Greek Slanted +%\def\tt{\fam\grttfam\ninegrtt}% Switch for Greek Typerwriter +%\def\bf{\fam\grbffam\ninegrbf}% Switch for Greek Boldface +%\let\git\it\let\gsl\sl% +%\let\gbf\bf\let\gtt\tt% Retain LaTeX compatibility +%\def\rm{\fam0\tenrm}% Switch For latin roman +%\def\lit{\fam\itfam\nineit}% Switch for latin italics +%\def\lsl{\fam\slfam\ninesl}% Switch for latin slanted +%\def\ltt{\fam\ttfam\ninett}% Switch for latin typewriter +%\def\lbf{\fam\bffam\ninebf}% Switch for latin boldface +%\normalbaselineskip=.52cm% Normal Base Line distance +%\setbox\strutbox=\hbox{\vrule height8pt width0pt depth3pt}% +%\normalbaselines\gr% +%} +%\def\greightpoint{% GREEK EIGHTPOINT +%\gdef\t@size{\greightpoint}% Make a note of the font size +%\textfont\grfam=\eightgr\scriptfont\grfam=\sixgr\scriptscriptfont\grfam=\sixgr% +%\textfont\grbffam=\eightgrbf\scriptfont\grbffam=\eightgrbf% +%\textfont\grifam=\eightgri\scriptfont\grbffam=\eightgri% +%\textfont\grttfam=\eightgrtt% +%\textfont\grslfam=\eightgrsl% +%\def\gr{\fam\grfam\eightgr}% Switch for classic greek +%\let\rg\gr% Also rg for compatibility +%\def\it{\fam\grifam\eightgri}% Switch for Greek Italics +%\def\sl{\fam\grslfam\eightgrsl}% Switch for Greek Slanted +%\def\tt{\fam\grttfam\eightgrtt}% Switch for Greek Typerwriter +%\def\bf{\fam\grbffam\eightgrbf}% Switch for Greek Boldface +%\let\git\it\let\gsl\sl% +%\let\gbf\bf\let\gtt\tt% Retain LaTeX compatibility +%\def\rm{\fam0\eightrm}% Switch For latin roman +%\def\lit{\fam\itfam\eightit}% Switch for latin italics +%\def\lsl{\fam\slfam\eightsl}% Switch for latin slanted +%\def\ltt{\fam\ttfam\eighttt}% Switch for latin typewriter +%\def\lbf{\fam\bffam\eightbf}% Switch for latin boldface +%\normalbaselineskip=.35cm% Normal Base Line distance +%\setbox\strutbox=\hbox{\vrule height7pt width0pt depth2pt}% +%\normalbaselines\gr% +%} +%% +%% Hyphenation Patterns +%% ^^^^^^^^^^^^^^^^^^^^ +\message{hyphenation,} +% +{\language\greek +\lefthyphenmin=2 \righthyphenmin=2 % disallow x- or -x breaks +\def\lt{<}% +\def\gt{>}% +\catcode`\|=11% +\catcode`\<=11% +\catcode`\>=11% +\catcode`\'=11% +\catcode`\~=11% +\catcode`\"=11% +\lccode`\<=`\<% +\lccode`\>=`\>% +\lccode`\'=`\'% +\lccode`\~=`\~% +\lccode`\"=`\"% +\lccode`\|=`\|% +% +\input grkhyphen% +\catcode`\~=13% +} +% +\def\showgreekhyphens#1{{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen% +\language\greek\tengr\pretolerance\m@ne\hbadness0\showboxdepth0\ #1}}} +% +% +\message{miscellaneous macros} +% +% Macros For entering greek mode, +% and delimiter preferences. +% ------------------------------- +% +% \begingreek : Begin a group of Greek Text. +% ^^^^^^^^^^^^ Everything is enclosed in a group to keep +% changes local. Then we switch to greek hyphenation +% and iniciate the greekmode. This assigns the correct +% \catcode values to punctuation and accentuation marks. +% We then reload the information of the point +% size used last and switch to the family needed. +% The \t@f@nt and \t@f@m macro is used to ensure that +% or fonts and families are remembered. +% +% \endgreek : Ends a group of Greek Text. +% ^^^^^^^^^^ Before ending the group we save information +% about the current font, to be used when we re-enter +% greek mode. +% +% \gr@@km@de : Switches to greek interpretation of ascii characters +% ^^^^^^^^^^^ Normally changes are kept local but can be used +% as a general macro to obtain a global greek mode. +% Note the different use of | if this is chosen +% to be a delimiter. +% +%\def\begingreek{\bgroup\language\greek\gr@@km@de% +%\t@size\t@f@m\t@f@nt\ignorespaces} +% We add the currentsize info +%\def\endgreek{\xdef\t@f@nt{\the\font}\xdef\t@f@m{\noexpand\fam\the\fam}% +%\xdef\t@size{\@currsize}\egroup} +% +% Create a new LaTeX Environment +% +\newenvironment{greektext}{\language\greek\gr@@km@de% +\t@f@m\t@f@nt\ignorespaces}% +{\xdef\t@f@nt{\the\font}\xdef\t@f@m{\noexpand\fam\the\fam}} + +\def\gr@@km@de{% +\ifdelimsbar\else\catcode`\|=11\fi% +\catcode`\<=11% Turn Everything to letters! +\catcode`\>=11% All accents are done through ligatures +\catcode`\'=11% +\catcode`\`=11% +\catcode`\~=11% +\catcode`\"=11% +\lccode`\<=`\<% +\lccode`\>=`\>% +\lccode`\'=`\'% +\lccode`\~=`\~% +\lccode`\"=`\"% +} +% +\def\l@tinm@de{% +\catcode`\|=12% +\catcode`\<=12% Turn Everything to what plain tex has +\catcode`\>=12% +\catcode`\'=12% +\catcode`\`=12% +\catcode`\~=13% +\catcode`\"=12% +\catcode`\$=3% % Restore the math symbol! +} +% +% Switch Permenantly do greek mode +% +\def\setgreek{\delimsbarfalse\gr@@km@de\language\greek} +% +% and to latin as well +% +\def\setlatin{\l@tinm@de\language0} +% +% It is very frequent that the user will ask to \end the document +% before a greek group was closed. In order to prevent this we +% redefine the \end command after saving the old one in \@ldend. +% The new \end checks for un-ended greek groups and if it is found +% a warning message is issued and the group is automatically closed. +% +% LaTeX: This is not needed in Latex since the greek environment is +% defined to be a LaTeX Environment so that Latex takes care of that. +%\let\@ldend=\end +%\gdef\end{\ifnum\language=\greek\endgreek% +%\showstring{GreekTeX Warning: A group of greek text was automatically closed}% +%\fi\@ldend} +% +% Since it is possible that switching from one language to +% the other is very frequent, a special way to avoid \begingreek +% and \endgreek is defined. This is done through the definition of +% delimiters; available delims are | and $. If \greekdelims{bar} +% is chosen then a greek block is marked as | ..greek text.. | +% In order to access |, use \|. +% If $ is used, use \math for math mode and \math\math for +% display mode. +% +\gdef\greekdelims#1{\edef\c@mp@re{#1}\def\t@st@a{bar}\def\t@st@b{dollar}% +\ifx\c@mp@re\t@st@a\gr@@kdelimsbar\else% +\ifx\c@mp@re\t@st@b\gr@@kdelimsdol\fi\fi} +% +% Bar as delimeter +% +{\catcode`\|=13\gdef\gr@@kdelimsbar{\catcode`\|=13\delimsbartrue% +\def|{\ifnum\language=\greek\end{greektext}\else\begin{greektext}\fi}} +} +% +% Dollar as delimiter +% +\let\m@thm@de=$ +{\catcode`\$=13% +\gdef\gr@@kdelimsdol{\catcode`\$=13% +\def${\ifnum\language=\greek\end{greektext}\else\begin{greektext}\fi}% +\global\let\math=\m@thm@de% +\gdef\display{\math\math}\gdef\enddisplay{\math\math}}% +} + +% Here we define some handy LaTeX Use macros +\message{LaTeX greek macros,} +% +% List Enumeration. For more details see the LaTeX explanations +% +\def\alphgr#1{\@alph{\@nameuse{c@#1}}} +\def\Alphgr#1{\@Alph{\@nameuse{c@#1}}} + +\def\@alphgr#1{\ifcase#1\or a\or b\or g\or d\else\@ialphgr{#1}\fi} +\def\@ialphgr#1{\ifcase#1\or \or \or \or \or e\or st\or z\or h\or j\or i\or + k\or l\or m\or n\or x\or o\or p\or r\or s\or t\or u\or f\or q\or y\or + w\else\@ctrerr\fi} +\def\@Alphgr#1{\ifcase#1\or A\or B\or G\or D\else\@Ialphgr{#1}\fi} +\def\@Ialphgr#1{\ifcase#1\or \or \or \or \or E\or ST\or Z\or H\or J\or I\or + K\or L\or M\or N\or X\or O\or P\or R\or S\or T\or U\or F\or Q\or Y\or + W\else\@ctrerr\fi} + + + + + + +\catcode`\@=12 % at signs are no longer letters + +% +\def\fmtname{lgreek}\def\fmtversion{LaTeX 2.09 - Greek 3.0[c]} % identifies the current format + +\message{version \fmtversion .)} + + + + + + |