diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:47:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:47:01 +0000 |
commit | 950209b26f70aa87ed07c54f82a95b6f03b7c3a0 (patch) | |
tree | 32b2d4ab4e36aee3a9aaf41877a5c0c581de9b77 /Master/texmf-dist/doc/fonts/levy/greekuse.tex | |
parent | 71c5ce4be7e36bdc6bdda98641bc9368e28223ad (diff) |
doc/fonts
git-svn-id: svn://tug.org/texlive/trunk@83 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/fonts/levy/greekuse.tex')
-rw-r--r-- | Master/texmf-dist/doc/fonts/levy/greekuse.tex | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/levy/greekuse.tex b/Master/texmf-dist/doc/fonts/levy/greekuse.tex new file mode 100644 index 00000000000..39c6504c13f --- /dev/null +++ b/Master/texmf-dist/doc/fonts/levy/greekuse.tex @@ -0,0 +1,248 @@ +\input amstex +\documentstyle{amsppt} +\nologo +\hsize=6.5in +\vsize=9in +\widowpenalty=10000 +\clubpenalty=10000 + +\input greekmacros +\greekdelims + +\font\sc=cmcsc10 +\def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} +\def\plus{\math{}+{}\math} +\def\.#1{{\tt #1}} +\def\disp#1{\line{\tt #1\hfil}} +\def\angles#1{{$\langle$\rm #1$\rangle$}} +\chardef\!`\\ +\chardef\~`\~ +\chardef\{`\{ +\chardef\}`\} +\chardef\#`\# +\def\begineight{\smallskip\bgroup\eightpoint} +\def\endeight{\par\egroup\smallskip} + +\def\verbatim{\begingroup + \def\do##1{\catcode`##1=12 } \dospecials + \parskip 0pt \parindent 0pt + \catcode`\ =13 \catcode`\^^M=13 + \tt \catcode`\?=0 \verbatimdefs \verbatimgobble} +{\catcode`\^^M=13{\catcode`\ =13\gdef\verbatimdefs{\def^^M{\ \par}\let =\ }} % + \gdef\verbatimgobble#1^^M{}} +\def\beginverbatim{\smallskip\begingroup\verbatim} +\def\endverbatim{\endgroup\endgroup\smallskip} + +\topmatter +\title Using Greek Fonts with \TeX\endtitle +\author Silvio Levy \endauthor +\affil + Princeton University \\ + Fine Hall, Washington Road\\ + Princeton, NJ, 08544\\ + (\.{levy\@princeton.edu}) +\endaffil +\endtopmatter +\document + +\abovedisplayskip6pt plus3pt minus3pt +\belowdisplayskip6pt plus3pt minus3pt +\abovedisplayshortskip0pt plus3pt +\belowdisplayshortskip4pt plus3pt minus4pt + +In this document I hope to show that typesetting Greek in \TeX\ +using the \.{gr} family of fonts can be as easy as typesetting +English text, and leads to equally good results. +This is meant to be a tutorial, not an exhaustive discussion; +some \TeX nical remarks that should be useful after the reader +has acquired some familiarity with the fonts are printed in fine +print. + +\heading +The Alphabet +\endheading + +In order to typeset Greek text, you need to go into ``Greek mode.'' +This is achieved by typing \.{\!begingreek} anywhere in your document; +Greek mode will remain in effect until you type a matching \.{\!endgreek}. +While in Greek mode, the letters `a' to `z' and `A' to `Z' come out +as Greek letters, according to the following code: +\display +\hbox{\valign + {\hbox to 10pt{\hfil\strut$#$\hfil}&\hbox to 10pt{\hfil\strut\tt#\hfil}\cr + a&a\cr b&b\cr g&g\cr d&d\cr e&e\cr z&z\cr h&h\cr j&j\cr + i&i\cr k&k\cr l&l\cr m&m\cr n&n\cr x&x\cr o&o\cr p&p\cr + r&r\cr c&s\cr t&t\cr u&u\cr f&f\cr q&q\cr y&y\cr w&w\cr}} +\enddisplay + +There is no digamma yet. The same character `s' will print as +`$c$' or `$s$', depending on its position in a word. + +\begineight +The system does this by accessing a ligature of `s' with any other +letter that follows it. If, for some reason, you want to print +an initial/medial sigma by itself (as in the table above), or +at the end of a word, you should type `c'. +\endeight + +Try to typeset some simple text now. Create a file +containing the following lines: + +\beginverbatim +\input greekmacros % where \begingreek and other commands are defined +This is English text. +\begingreek +This is Greek text. +\endgreek +?endverbatim + +When you \TeX\ this file, you get the following gibberish: +\display +\hbox{ +This is English text. +\begingreek +This is Greek text. +\endgreek +} +\enddisplay + +If you say \.{\!greekdelims} near the top of your file, +the character \.{\$} can be used +in place of both \.{\!begingreek} and \.{\!endgreek}. The control +sequence \.{\!math} takes on the former meaning of \.{\$}. + +\heading +Accents and Breathings +\endheading + +To get an acute, grave or circumflex accent over a vowel, +type \.{'}, \.{`} or \.{\~}, respectively, before the vowel. +To get a rough or smooth breathing, type \.{<} or \.{>} before +the vowel (or rho) and any accent that it may have. To get an iota +subscript, type \.{|} {\it after\/} the vowel. A diaeresis is +represented by \.{"}, and if accompanied by an accent it can come +before or after the accent. + +For example, \hbox{\.{>en >arq\~h| >\~hn <o l'ogos}} +gives \hbox{$>en >arq~h| >~hn <o l'ogos$}. +Neat, ain't it? + +\begineight +Accents and breathings, too, are typeset by means of ligatures: a +vowel with a breathing, an accent and iota subscript, for example, +is realized as a four-character ligature. The only exception is +when a breathing is followed by a grave accent, in which case the +breathing\plus accent combination is typeset as a \TeX\ \.{\!accent} +over the vowel. This means that words containing such combinations +cannot be hyphenated in (standard) \TeX; but this is not a problem +because, with the exception of very rare cases of crasis, all such words +are monosyllables. +\endeight + +\heading +Punctuation +\endheading + +Here's the table of correspondences for punctuation: +\display +\hbox{\valign + {\hbox to 15pt{\hfil\strut$#$\hfil}&\hbox to 15pt{\hfil\strut\tt#\hfil}\cr + .&.\cr ,&,\cr ;&;\cr :&:\cr !&!\cr ?&?\cr ''&''\cr ((&((\cr ))&))\cr}} +\enddisplay +The last three entries represent the apostrophe and quotations marks. +The other available non-letters are the ten digits, parentheses, +brackets, hyphen, em- and en-dashes, slash, percent sign, asterisk, +plus and equal signs. All of these are accessible in the same way as +under plain \TeX. In a future release there will be tick marks for +numbers (\math\hbox{$a$}'=1\math, \math{}_\prime\hbox{$a$}=1000\math). + +\heading +Hyphenation +\endheading + +A hyphenation table for both modern and ancient Greek is currently +being debugged. For now one can use plain \TeX\ with its (English) +hyphenation table, which gives the right results about 90\% of the +time (amazing, isn't it?). Be sure to proofread your text carefully, +unless you've turned hyphenation off. + +\begineight +In standard \TeX, only one hyphenation dictionary can be used in +a job. Thus, even with a Greek hyphenation table, a file that +combines Greek and English text is likely to be incorrectly +hyphenated. Michael Ferguson's extension to \TeX\ handles multiple +hyphenation tables, and hyphenates words containing \.{\!accent}s +(cf.~the previous fine print paragraph). +\endeight + +\heading +Interaction with other macros +\endheading + +While in Greek mode you can do just about everything that you can +outside: go into math mode, create boxes, alignments, and so on. +The file \.{greekmacros.tex} sets things up so that in Greek mode +the control sequences \.{\!tt} and \.{\!bf} switch to a +typewriter and a bold Greek font, respectively: thus +\.{\{\!tt s''>agap\~w\}} gives \hbox{$\tt s''>agap~w$}. (Try it.) +On the other hand, there are no ``italic'' or slanted Greek fonts, +so \.{\!it} and \.{\!sl} will give you the same fonts as outside +Greek mode. The various constructions under +\AmSTeX\ and \LaTeX\ for increasing or decreasing point sizes don't +work yet; they will in a future release. + +The characters that form diacritics (\.{<}, \.{>}, +\.{'}, \.{`}, \.{\~}, \.{"} and \.{|}) are treated differently +depending on whether or not you're in Greek mode. More exactly, +under plain \TeX\ these characters (with the exception of +\.{\~}) have a \.{\!catcode} of 12: they print as themselves, +and they cannot appear in control words. But in Greek mode +\.{'}, \.{`}, \.{\~}, \.{"} and \.{|} are ``letters'', that is, +they have a \.{\!catcode} of 11, while \.{<} and \.{>} are +active, with a \.{\!catcode} of 13. This may be important even +for beginners because it means that \.{'}, for example, can be taken +as part of a control word. Thus the sequence +\beginverbatim +\begingreek +\line{wm'ega\hfil'alfa} +\endgreek +?endverbatim +\noindent +will cause an error message about an +undefined control sequence \.{\!hfil'alfa}, instead of printing +\display +$\line{wm'ega\hfil 'alfa}$ +\enddisplay +as you might expect. (I hope classicists will forgive this use +of the modern Greek one-accent system.) The solution, of course, +is to remember to add a blank after the \.{\!hfil}. + +\begineight +A more subtle problem arises when you use Greek text in macro +arguments, if the arguments are scanned while you're outside Greek +mode. This is because \TeX\ assigns \.{\!catcode}s to tokens +as it first reads them, so when the argument is plugged into +the body of the macro the characters above have the wrong +\.{\!catcode}. If the legendary Jonathan Horatio Quick were +to write +\display +\hbox{\.{% +\!def\!hellenize\#1\{\!begingreek \#1\!endgreek\} +\!hellenize\{d'uo >`h tre\~is,\}}} +\enddisplay +he would be unpleasantly surprised by the following output: +\display +\def\hellenize#1{\begingreek #1\endgreek} +\hbox{\hellenize{d'uo >`h tre~is,}} +\enddisplay +which can be explained as follows: the \.{\~}, which should be +a letter, is seen as an active character, and expands to a blank +as in plain \TeX; while the breathing, which should be active, +is not, and in particular it doesn't do the right thing when +next to the grave accent. Solutions to this problem require a +bit of wizardry, and will not be discussed here; see, for example, +Reinhard Wonneberger's article in the October, 1986 issue of +{\it TUGboat}, especially pages 179--180. +\endeight +\end |