diff options
Diffstat (limited to 'Master/texmf-dist/source/plain/pdcmac/magrmac.dtx')
-rw-r--r-- | Master/texmf-dist/source/plain/pdcmac/magrmac.dtx | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/plain/pdcmac/magrmac.dtx b/Master/texmf-dist/source/plain/pdcmac/magrmac.dtx new file mode 100644 index 00000000000..71f2dd83cfe --- /dev/null +++ b/Master/texmf-dist/source/plain/pdcmac/magrmac.dtx @@ -0,0 +1,231 @@ +% magrmac.dtx -- documentation and source for magrmac.tex -*-tex-*- + +%%%@TeX-document-file { +%%% title = "MAGRMAC.TEX -- Malvern Greek Macros", +%%% filename = "$texmf/doc/plain/pdcmac/magrmac.dtx", +%%% version = "$Revision: 1.3 $", +%%% package = "pdcmac 1.0", +%%% date = "$Date: 1995/03/29 16:32:24 $", +%%% author = "P. Damian Cugley", +%%% email = "damian.cugley@comlab.ox.ac.uk", +%%% address = "Oxford University Computing Laboratory," +%%% Parks Road, Oxford OX1 3QD, UK", +%%% abstract = "This document describes and is the source code for +%%% the TeX definitions file magrmac.tex. +%%% Running plain TeX on this file produces both the +%%% definitions file and the printed documentation.", +%%% copyright = "Copyright (c) 1991-1995 P. Damian Cugley", +%%% copying = "This program is free software; you can redistribute +%%% it and/or modify it under the terms of the GNU +%%% General Public License as published by the Free +%%% Software Foundation; either version 2 of the License, +%%% or (at your option) any later version.", +%%% notice = "This program is distributed in the hope that it will +%%% be useful, but WITHOUT ANY WARRANTY; without even the +%%% implied warranty of MERCHANTABILITY or FITNESS FOR A +%%% PARTICULAR PURPOSE. See the GNU General Public +%%% License for more details.", +%%% notice = "You should have received a copy of the GNU General +%%% Public License along with this program; if not, write +%%% to the Free Software Foundation, Inc., 675 Mass Ave, +%%% Cambridge, MA 02139, USA.", +%%% codetable = "USASCII", +%%% dependencies = "pdccode.tex" +%%%} + +%{{{ magrmac.dtx +%{{{ preamble + +\relax +\input pdccode + +\document +\rcs$Id: magrmac.dtx,v 1.3 1995/03/29 16:32:24 pdc Exp $\endrcs + +\codefile{magrmac.tex} + +%}}} preamble +%{{{ introduction +\author{P. Dmaian Cugley} +\title{MAGRMAC---Malvern Greek Macros} + +\section{Introduction} + + This document describes |magrmac.tex|, a small file of macros + for setting Greek with Malvern~G fonts. `Malvern~G' is the name + of an encoding for typesetting Greek texts. Malvern + release~$1{\cdot}2$ has a collection of fonts ({\tt + ma$XX$g$YY$}) which use this encoding. The Levy and Dryllerakis + fonts should work to an extent. + + The conventions for Malvern Greek text files are intended to be + similar to those for K.~J.\ Dryllerakis's Greek\TeX\ (the + `|kd|-' fonts), and will be most useful on computers where the + operating system uses latin letters (as opposed to those which + can display Greek letters on the screen). + + There is a brief guide for |magrmac.tex| called |magrman.tex|. +\notepar + These macros are not necessarily in final form and are not + intended to be supported. Use them at your own risk. +\endnotepar + + The document you are reading is a plain \TeX\ file called + |magrmac.dtx|. This `documented \TeX\ macros'\footnote*{The + suffix |dtx| is the same as files used to simlar effect in the + \LaTeX~2e distribution.} file produces the file `|magrmac.tex|' + in the current directory, in addition to the usual |dvi| file. + The code lines in the printed documentation are identical to + those in the macros file. + +%}}} introduction +%{{{ file identification +\section{File identification} + + Nowadays, macro files start with some comments identifying the + file, for the benefit of people wondering what the file is for. + +\code + \|\% magrmac.tex \fileversion~\filedate~-- Malvern Greek Macros + |%%%@TeX-definition-file { + |%%% filename = "$texmf/tex/plain/pdcmac/magrmac.tex", + \|\%\%\% version~~~~~~~~= "\fileversion", + \|\%\%\% date~~~~~~~~~~~= "\filedate", + |%%% package = "pdcmac 1.0", + |%%% author = "P. Damian Cugley", + |%%% email = "damian.cugley@comlab.ox.ac.uk", + |%%% address = "Oxford University Computing Laboratory, + |%%% Parks Road, Oxford OX1 3QD, UK", + |%%% codetable = "USASCII", + |%%% keywords = "TeX, plain TeX, Malvern, Greek, macros", + |%%% supported = "Maybe", + |%%% abstract = "Macros for using Malvern Greek fonts. + |%%% This file was generated by running + |%%% plain TeX on magrmac.dtx", + |%%% copyright = "Copyright (c) 1991-1995 P. Damian Cugley", + |%%% copying = "DO NOT DISTRIBUTE THIS FILE. + |%%% Distribute magrmac.dtx only as part of the + |%%% package it came in.", + |%%% dependencies = "", + |%%%} + | + \|\\message\{\fileversion~\filedate\} + | +\endcode +%}}} file identification +%{{{ greek mode +\section{Greek Mode} + + The Greek Mode is started with |\begingreek| for compatibility + with the precedent of Greek\TeX\ and Levy's original Greek + macros.\footnote*{The conventions of PDCFMT2 would suggest + |\greek|\dots|\endgreek| but (besides being incompatible with + existing Greek macros) it is probable that the hyphenation table + code (|\language| code) for Greek would be called |\greek|, + based on the names I~have seen used.} + + The token register |\everygreek| is expanded each time we enter + Greek mode. At a minimum it should contain a command to select + an appropriate Greek font. +\code + |\newtoks\everygreek + |\chardef\other=12 +\smallbreak + |\def\begingreek{% + | \begingroup + | \catcode`\~\other \catcode`\|\other \catcode`\"\other + | \the\everygreek + |} +\smallbreak + |\let\endgreek=\endgroup +\endcode +%}}} greek mode +\section{Customization} +%{{{ lunate sigma, curly phi + +\subsec{Lunate sigma} + + The macro |\grlunatesigma| belongs in |\everygreek|. It makes + |s| an active char expanding to |c|. A certain amount of + jiggery-pokery is required because making |s| active makes it + impossible to use the name |\grlunatesigma|! + +\code + |\toksdef\toksa=0 +\smallbreak + |\begingroup \let\\=\toksa \catcode`\s=13 \catcode`\S=13 \\={\endgroup + | \def\tmp{% + | \catcode`\s\active \chardef s`c + | \catcode`\S\active \chardef S`C + | } + |}\the\\ + |\let\grlunatesigma=\tmp +\endcode + +\subsec{Variant phi} + + In the end I~make the two-stroke phi $\phi$ the default one, + with $\varphi$ as the `variant', for compatibility with plain + \TeX. +\code + |\chardef\ninetytwo=92 +\smallbreak + |\begingroup \uccode`\~=`f \uppercase{\toksa={\endgroup + | \def\grvarphi{% + | \catcode`\f\active \chardef~\ninetytwo + | } + |}} \the\toksa +\endcode +%}}} lunate sigma +%{{{ accent + +\subsec{One-accent Greek} + + The |\monotonik| macro makes all the accent characters generate + the modern symmetrical accent, while the breathings and iota + subscript do nothing. +\code + |\begingroup \catcode`\<=\active \catcode`\>=\active + | \catcode`\'=\active \catcode`\`=\active \toksa={\endgroup + | \def\monotoniko{% + | \catcode\lq\'\active \chardef'3 + | \catcode\lq\`\active \chardef`3 + | \catcode\lq\~\active \chardef~3 + | \catcode\lq\<\active \let<\relax + | \catcode\lq\>\active \let>\relax + | \catcode\lq\|\active \let|\relax + | } + |}\the\toksa +\smallbreak + |\def\plutoniko{% + | \catcode`\'\other \catcode`\`\other \catcode`\~\other + | \catcode`\<\other \catcode`\>\other \catcode`\|\other + |} +\endcode +%}}} accent +%{{{ define delims + +\subsec{Choose shorthand delimiters for Greek Mode} + + Define |#1| to be a `greek shift' in the way |$| is a maths + shift. Like |$|, |#1| will stand for either |\begingreek| or + |\endgreek| as required. |#1| must be a one-character control + sequence (as might be used after |`|). +\code + |\def\grdelimiter#1{ + | \begingroup \uccode`~=`#1 \uppercase{\toksa={\endgroup + | \def~{\begingreek \let~\endgreek} + | }} \the\toksa + |} +\endcode + +%}}} define delims +\endcodefile +\enddocument +\bye +%}}} macros for greek + +% Local variables: +% fold-folded-p: t +% tex-macros-p: t +% End: |