diff options
Diffstat (limited to 'Master/texmf-dist/tex/plain/kdgreek/greektex.tex')
-rw-r--r-- | Master/texmf-dist/tex/plain/kdgreek/greektex.tex | 329 |
1 files changed, 329 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/plain/kdgreek/greektex.tex b/Master/texmf-dist/tex/plain/kdgreek/greektex.tex new file mode 100644 index 00000000000..1a801c26926 --- /dev/null +++ b/Master/texmf-dist/tex/plain/kdgreek/greektex.tex @@ -0,0 +1,329 @@ +% +% GREEKTEX.TEX +% --------- +% +% K J Dryllerakis +% +% Dec 7, 1992 +% +% VERSION: 3.1 +% +% This is the macro file for GreekTeX. If this file is used +% and not the greek.tex (FMT) no hyphenation patterns for greek +% are loaded. IT can be used for short greek text inside english text. +% Note that PLAIN must be preloaded and bare a fmtversion 3.0 or +% higher (to ensure existence of language definitions). +% 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 +% +\catcode`\@=11 % We will access TeX private macros +\newwrite\@screen % Define a screen ouput +\def\showstring#1{\immediate\write\@screen{#1}} +\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.1}% +\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-1992} +\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{\tengr} % 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 +% +% 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=kdbf9 % 9 Point Boldface Greek +\font\eightgrbf=kdbf8 % 8 Point 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% +} +% +% 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} +% +\def\endgreek{\xdef\t@f@nt{\the\font}\xdef\t@f@m{\noexpand\fam\the\fam}\egroup} +% +\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. +% +\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\endgreek\else\begingreek\fi}} +} +% +% Dollar as delimiter +% +\let\m@thm@de=$ +{\catcode`\$=13% +\gdef\gr@@kdelimsdol{\catcode`\$=13% +\def${\ifnum\language=\greek\endgreek\else\begingreek\fi}% +\global\let\math=\m@thm@de% +\gdef\display{\math\math}\gdef\enddisplay{\math\math}}% +} +% +\catcode`\@=12 % at signs are no longer letters +% +\def\fmtname{greek}\def\fmtversion{3.1} % identifies the current format + +\endinput + + |