blob: 8e88c6a645bb23b638f44356af587ff51ab8eabd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
\def\ifnextchar#1#2#3{\let\tempe #1\def\tempa{#2}\def\tempb{#3}\futurelet
\tempc\ifnch}
\def\ifnch{\ifx\tempc\tempe\let\tempd\tempa\else\let\tempd\tempb\fi\tempd}
\def\gobble#1{}
\font\tengr=grreg10
\font\tengrbf=grbld10
\font\tengrtt=grtt10
\def\greekmode{%
\catcode`\<=13
\catcode`\>=13
\catcode`\'=11
\catcode`\`=11
\catcode`\~=11
\catcode`\"=11
\catcode`\|=11
\lccode`\<=`\<%
\lccode`\>=`\>%
\lccode`\'=`\'%
\lccode`\`=`\`%
\lccode`\~=`\~%
\lccode`\"=`\"%
\lccode`\|=`\|%
\tengr\def\bf{\tengrbf}\def\tt{\tengrtt}}
\newcount\vwl
\newcount\acct
\def\lt{<}
\def\gt{>}
{
\greekmode
\gdef>{\ifnextchar `{\expandafter\smoothgrave\gobble}{\char\lq\>}}
\gdef<{\ifnextchar `{\expandafter\roughgrave\gobble}{\char\lq\<}}
\gdef\smoothgrave#1{\acct=\rq137 \vwl=\lq#1 \dobreathinggrave}
\gdef\roughgrave#1{\acct=\rq103 \vwl=\lq#1 \dobreathinggrave}
\gdef\dobreathinggrave{\ifnum\vwl\lt\rq140 %if uppercase
\char\the\acct\char\the\vwl\else\expandafter\testiota\fi}
\gdef\testiota{\ifnextchar |{\addiota\doaccent\gobble}{\doaccent}}
\gdef\addiota{\ifnum\vwl=\lq a\vwl=\rq370
\else\ifnum\vwl=\lq h\vwl=\rq371 \else\vwl=\rq372 \fi\fi}
\gdef\doaccent{\accent\the\acct \char\the\vwl\relax}
}
\newif\ifgreek\greekfalse
\def\begingreek{\bgroup\greektrue\greekmode}
\def\endgreek{\egroup}
\let\math=$
{\catcode`\$=13
\gdef\greekdelims{\catcode`\$=13
\def${\ifgreek\endgreek\else\begingreek\fi}
\def\display{\math\math}\def\enddisplay{\math\math}}}
|