Das Levy-Package^{∗}

Andreas Dafferner

email: andreas.dafferner@urz.uni-heidelberg.de

6. März 1996

Zusammenfassung

Silvio Levy’s griechische Zeichensätze lassen sich mit der von ihm mitgelieferten Datei greekmac.tex nur für TEX benutzen. Das vorliegende package ermöglicht die Verwendung mit L^{A}TEX 2ε.

1 Die Steuerdatei . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Benutzung in L^{A}TEX 2ε . . . . . . . . . . . . . . . . . . . . . 2 3 Griechischer Zeichensatz . . . . . . . . . . . . . . . . . . . . 2 4 Tastaturbelegung . . . . . . . . . . . . . . . . . . . . . . . . 2 5 Diakritische Zeichen . . . . . . . . . . . . . . . . . . . . . . 3 6 levy.sty für L^{A}TEX 2ε . . . . . . . . . . . . . . . . . . . . . . 3 7 ulevy.fd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 9 Musai Mo˜ usai . . . . . . . . . . . . . . . . . . . . . . . . . 8

∗Dies ist die Version: 1995/04/20 v1.0a. Thanks to Knut Bühler and Rainer Schöpf.

Note: This package is released under terms which affect its use in commercial applications.

Please see the details at the head of the source file.

1 Die Steuerdatei

Die folgende Steuerdatei levy.drv erzeugt die vollständige Dokumentation:

1 ⟨∗driver⟩

 2 \NeedsTeXFormat{LaTeX2e}
 3 \documentclass[11pt]{ltxdoc}
 4 \usepackage{german,levy}
 5 \renewcommand{\thesubsection}{\arabic{subsection}}
 6 \renewcommand{\contentsname}{}
 7 \setcounter{tocdepth}{2}
 8 \begin{document}
 9 \DocInput{levy.dtx}
10 \input{ody}
11 \end{document}

12 ⟨/driver⟩

2 Benutzung in L^{A}TEX 2ε

Um die griechischen Zeichensätze benutzen zu können, steht für L^{A}TEX 2ε die Datei levy.sty zur Verfügung, die wie folgt eingeladen wird:

                  \documentclass ...
                  \usepackage{...,levy,...}

3 Griechischer Zeichensatz

Die folgende Tafel zeigt, welche Zeichen in welcher Größe zur Verfügung stehen:

Fontname Schriftart  vorhandene Schriftgrößen
8pt 9pt 10pt 11pt 12pt 14pt 17pt 20pt 25pt
grreg  gerade  ∗  ∗  ∗  ∗  ∗  ∗  ∗  ∗  ∗
grbld  fett  ∗  ∗  ∗  ∗  ∗  ∗  ∗  ∗  ∗
grtt  typewriter  ∗  ∗  ∗  ∗  ∗  ∗  ∗

4 Tastaturbelegung

Um folgende griechische Buchstaben zu erhalten, müssen die darunterstehenden lateinischen eingegeben werden:

a b g d e z h j i k l m n x o p  r

  a  b  g  d  e  z  h  j  i  k  l  m  n   x   o   p    r

c t u f q y w . ; , ? : ! ” (( )) F

  s  t  u  f  q  y  w  .  ;  ,  ?  :  !  ''  ((  ))  \dig

”c“ wird vor Leer- und Satzzeichen automatisch in ”s“ umgewandelt. Soll vor diesen Zeichen dennoch ein Binnensigma stehen, muß ”c“ eingegeben werden.

5 Diakritische Zeichen

Spiritus und Akzent werden vor den Buchstaben geschrieben, auf dem sie stehen sollen (Ausnahme ist das Iota subscriptum, das an den Buchstaben angehängt wird). In Kombination wird der Spiritus vor den Akzent geschrieben.

Akzent  Beispiel  Eingabe
Zirkumflex  m˜ hnis  m~hnis
Akut  teiqomaq’ia  teiqomaq'ia
Gravis  Di‘os ¿ap’ath  Di`os
Spiritus asper  ¡oplopoi’ia  <oplopoi'ia
Spiritus lenis  m’hnidos ¿ap’orrhsis  >ap'orrhsis
Diaeresis  ¿Atre”’idhs  >Atre"'idhs
Iota subscriptum ¿˜ ajla ¿ep‘i Patr’oklw— >~ajla Patr'oklw|

6 levy.sty für L^{A}TEX 2ε

Die Datei levy.sty besteht aus zwei Teilen: Der erste Teil enthält eine modifizierte Version von Levy’s greekmac.tex. Alle Änderungen gegenüber der Originaldatei sind mit ”!!!“ gekennzeichnet.

Der zweite Teil enthält die Anpassungen und Erweiterungen, die für L^{A}TEX 2ε benötigt werden.

13 ⟨∗package⟩

14 \NeedsTeXFormat{LaTeX2e}
15 \message{Package `levy', 1995/04/20 v1.0a}
16 \ProvidesPackage{levy}[1995/04/20 v1.0a %
17  Package for writing greek texts (AdaF)]

6.1 greekmac.tex

18 %-------------------------------------------------
19 % !!! Hier beginnt `greekmac.tex' von Silvio Levy
20 %-------------------------------------------------
21 \def\ifnextchar#1#2#3{\let\tempe #1\def\tempa{#2}\def\tempb{#3}\futurelet
22  \tempc\ifnch}
23 \def\ifnch{\ifx\tempc\tempe\let\tempd\tempa\else\let\tempd\tempb\fi\tempd}
24 \def\gobble#1{}
25 % !!! hier 3 Zeilen gesperrt und ersetzt
26 % \font\tengr=grreg10
27 % \font\tengrbf=grbld10
28 % \font\tengrtt=grtt10

Levy.sty 4

\greek Mit der Anweisung \greek kann zur griechischen Schriftfamilie umgeschaltet werden (wird z.B. für Überschriften gebraucht; siehe Beispiel).

29 \def\d@greek{\fontencoding{U}\fontfamily{levy}\selectfont}
30 \def\greek#1{{\d@greek #1}}
31 \def\greekmode{%
32 \catcode`\<=13
33 \catcode`\>=13
34 \catcode`\'=11
35 \catcode`\`=11
36 \catcode`\~=11
37 \catcode`\"=11
38 \catcode`\|=11
39 \lccode`\<=`\<%
40 \lccode`\>=`\>%
41 \lccode`\'=`\'%
42 \lccode`\`=`\`%
43 \lccode`\~=`\~%
44 \lccode`\"=`\"%
45 \lccode`\|=`\|%
46 % !!! hier 1 Zeile geaendert:
47 % \tengr\def\bf{\tengrbf}\def\tt{\tengrtt}
48 \d@greek

49 }

50 \newcount\vwl
51 \newcount\acct
52 \def\lt{<}
53 \def\gt{>}

54 {

55 \greekmode
56 \gdef>{\ifnextchar `{\expandafter\smoothgrave\gobble}{\char\lq\>}}
57 \gdef<{\ifnextchar `{\expandafter\roughgrave\gobble}{\char\lq\<}}
58 \gdef\smoothgrave#1{\acct=\rq137 \vwl=\lq#1 \dobreathinggrave}
59 \gdef\roughgrave#1{\acct=\rq103 \vwl=\lq#1 \dobreathinggrave}
60 \gdef\dobreathinggrave{\ifnum\vwl\lt\rq140 %if uppercase
61  \char\the\acct\char\the\vwl\else\expandafter\testiota\fi}
62 \gdef\testiota{\ifnextchar |{\addiota\doaccent\gobble}{\doaccent}}
63 \gdef\addiota{\ifnum\vwl=\lq a\vwl=\rq370
64  \else\ifnum\vwl=\lq h\vwl=\rq371 \else\vwl=\rq372 \fi\fi}
65 \gdef\doaccent{\accent\the\acct \char\the\vwl\relax}

66 }

67 \newif\ifgreek\greekfalse
68 \def\begingreek{\bgroup\greektrue\greekmode}
69 \def\endgreek{\egroup}

\greekdelims Statt mit \begingreek und \endgreek kann man auch mit $ arbeiten. Dazu muß mit dem Kommando \greekdelims diese neue Funktion aktiviert werden:

70 \let\math=$

71 {\catcode`\$=13
72 \gdef\greekdelims{\catcode`\$=13
73 \def${\ifgreek\endgreek\else\begingreek\fi}
74 \def\display{\math\math}\def\enddisplay{\math\math}}}
75 %---------------------------------------------------
76 % !!! Hier endet `greekmac.tex' von Silvio Levy
77 %---------------------------------------------------

6.2 Erweiterungen für L^{A}TEX 2ε

\bgr, \egr Im Text kann mit dem Kommando \bgr (Kurzform von \begingreek) zum griechischen Zeichensatz gewechselt werden, der mit \egr (Kurzform von \endgreek) beendet wird.

78 \def\bgr{\begingreek}
79 \def\egr{\endgreek}

Mit der Anweisung \bgr wird automatisch der zum aktuellen Font entsprechende griechische aufgerufen. Den ’normalen‘ Font erhält man mit \textgr{...}, den fetten mit \textgb{...}, die typewriter-Version mit \textgt{...} (Innerhalb des greekmode funktionieren auch \textbf{...}

und \texttt{...}).
80 \def\d@gr{\usefont{U}{levy}{m}{n}}
81 \def\textgr#1{{\d@gr #1}}
82 \def\d@gb{\usefont{U}{levy}{b}{n}}
83 \def\textgb#1{{\d@gb #1}}
84 \def\d@gt{\usefont{U}{levyt}{m}{n}}
85 \def\textgt#1{{\d@gt #1}}

Das im Zeichensatz von S. Levy fehlende Digamma kann mit dem Kommando \dig erzeugt werden:

86 \def\dig{\textsf{F}}

Fette Schrift ist b statt bx:

87 \renewcommand{\bfdefault}{b}

In S. Levy’s Datei use.dvi ist beschrieben, daß es bei griechischem Text in Boxen zu Problemen kommen kann. Dies betrifft neben den Fußnoten z.B. die Überschriften. Der Grund dafür liegt in der L^{A}TEX-Eigenschaft, innerhalb einer Box keinen \catcode-Wechsel mehr zuzulassen (was für TEX kein Problem darstellt).

\bfn, \efn Eine mögliche Lösung dieses Problems besteht für Fußnoten darin, daß man statt \footnote{Text} jetzt \bfn Text\efn schreibt. Dahinter verbirgt sich folgender Code:

88 \newbox\fnbox
89 \def\bfn{\setbox\fnbox=\hbox\bgroup\footnotesize}
90 \def\efn{\egroup\footnote{\unhbox\fnbox}}

\grsection usw. Bei Überschriften mit griechischem Text gilt es drei Punkte zu beachten: (1) Vor der Überschrift muß mit \bgr in den greekmode geschaltet werden, der nach der Überschrift wieder beendet werden muß. (2) Die Überschrift muß mit \gr...-Vorsatz aufgerufen werden, also z.B. \grsection{...} statt \section{...}. (3) Tritt innerhalb der Überschrift ein Spiritus (> oder <) auf, so muß dieser mit \protect geschützt werden. Das Beispiel

  \bgr
  \grsubsubsection{Text: \greek{\protect<h a\protect>~ix}}
  \egr

ergibt:

6.3 Text: ¡h a¿˜ ix

Entsprechendes gilt für die anderen Überschriften: \grpart, \grchapter,

 \grsection, \grsubsection, \grsubsubsection usw. Der Code dazu

sieht so aus:

 91 \newcommand{\grpart}[1]{\IfFileExists{\jobname.toc}%
 92 {\addtocontents{toc}{\begingroup\protect\greekmode\rmfamily}}{}%
 93 \part{#1}\addtocontents{toc}{\endgroup}}
 94 \newcommand{\grchapter}[1]{\IfFileExists{\jobname.toc}%
 95 {\addtocontents{toc}{\begingroup\protect\greekmode\rmfamily}}{}%
 96 \chapter{#1}\addtocontents{toc}{\endgroup}}
 97 \newcommand{\grsection}[1]{\IfFileExists{\jobname.toc}%
 98 {\addtocontents{toc}{\begingroup\protect\greekmode\rmfamily}}{}%
 99 \section{#1}\addtocontents{toc}{\endgroup}}
100 \newcommand{\grsubsection}[1]{\IfFileExists{\jobname.toc}%
101 {\addtocontents{toc}{\begingroup\protect\greekmode\rmfamily}}{}%
102 \subsection{#1}\addtocontents{toc}{\endgroup}}
103 \newcommand{\grsubsubsection}[1]{\IfFileExists{\jobname.toc}%
104 {\addtocontents{toc}{\begingroup\protect\greekmode\rmfamily}}{}%
105 \subsubsection{#1}\addtocontents{toc}{\endgroup}}
106 \newcommand{\grparagraph}[1]{\IfFileExists{\jobname.toc}%
107 {\addtocontents{toc}{\begingroup\protect\greekmode\rmfamily}}{}%
108 \paragraph{#1}\addtocontents{toc}{\endgroup}}
109 \newcommand{\grsubparagraph}[1]{\IfFileExists{\jobname.toc}%
110 {\addtocontents{toc}{\begingroup\protect\greekmode\rmfamily}}{}%
111 \subparagraph{#1}\addtocontents{toc}{\endgroup}}

112 ⟨/package⟩

7 ulevy.fd

Die Fonts sind in der Datei ulevy.fd definiert:

113 ⟨∗levyfd⟩

114 \ProvidesFile{Ulevy.fd}[1995/04/20 v1.0a Levy's Greek Fonts]
115 \DeclareFontFamily{U}{levy}{}
116 \DeclareFontShape{U}{levy}{m}{n}{%
117 <8> grreg8 <9> grreg9
118 <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> grreg10
119 }{}
120 \DeclareFontShape{U}{levy}{b}{n}{%
121 <8> grbld8 <9> grbld9
122 <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> grbld10
123 }{}
124 \DeclareFontFamily{U}{levyt}{}{}
125 \DeclareFontShape{U}{levyt}{m}{n}{%
126 <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> grtt10
127 }{}

128 ⟨/levyfd⟩

8 Beispiel

Das folgende Beispiel zeigt die Eingabe und das Ergebnis:

129 ⟨∗odyssee⟩

130 \begin{center}
131 \bgr\textbf{ODUSSEIAS\hspace{1em}I}\egr
132 \end{center}

133

134 \begin{verse}
135 \bgr
136 t`on d'' >apameib'omenos pros'efh pol'umhtis >Odusse'us;        \\
137 ((>Alk'inoe kre~ion, p'antwn >aride'ikete la~wn,                \\
138 >~h toi m`en t'ode kal`on >akou'emen >est`in >aoido~u           \\
139 toio~ud'' o<~ios <'od'' >est'i, jeo~is >enal'igkios a>ud'hn.    \\
140 o>u g`ar >eg'w g'e t'i fhmi t'elos qari'esteron e>~inai         \\
141 >'h <'ot'' >`an >e"ufros'unh m`en >'eqh| kat`a d~hmon <'apanta, \\
142 daitum'ones d'' >an`a d'wmat'' >akou'azwntai >aoido~u           \\
143 <'hmenoi <exe'ihs, par`a d`e pl'hjwsi tr'apezai                 \\
144 s'itou ka`i krei~wn, m'eju d'' >ek krht~hros >af'usswn          \\
145 o>inoq'oos for'eh|si ka`i >egqe'ih| dep'aessin;                 \\
146 to~ut'o t'i moi k'alliston >en`i fres`in e>'idetai e>~inai.     \\
147 \dots))                                                         \\
148 \egr
149 \end{verse}

150

151 hier noch ein Beispiel mit "Uberschrift und Fu"snote:

152

153 \bgr
154 \grsubsection{Musai \greek{Mo~usai}}
155 \egr

156

157 \noindent dorisch \bgr   M~wsa\egr, "aolisch   \bgr Mo~isa\egr,
158 $<$ *mont(h)ia    zu    lateinisch    \textsl{mens}, die

159 {\flq}Sinnende{\frq} oder {\flq}Erinnernde{\frq}\bfn Aus:
160 Artikel \bgr\textgb{Mo~usa}\egr, Der kleine Pauly 3, 1975,
161 1475.\efn {\dots} Die Umschaltung funktioniert auch mit \verb+$+,
162 wenn man zuvor \verb+\greekdelims+ aufgerufen hat:\greekdelims
163 Text$Mo~usa$Text.

164 ⟨/odyssee⟩

ODUSSEIAS I

t‘on d” ¿apameib’omenos pros’efh pol’umhtis ¿Odusse’us; ((¿Alk’inoe kre˜ ion, p’antwn ¿aride’ikete la˜ wn, ¿˜ h toi m‘en t’ode kal‘on ¿akou’emen ¿est‘in ¿aoido˜ u toio˜ ud” o¡˜ ios ¡’od” ¿est’i, jeo˜ is ¿enal’igkios a¿ud’hn. o¿u g‘ar ¿eg’w g’e t’i fhmi t’elos qari’esteron e¿˜ inai ¿’h ¡’ot” ȧn ¿e”ufros’unh m‘en ¿’eqh— kat‘a d˜ hmon ¡’apanta, daitum’ones d” ¿an‘a d’wmat” ¿akou’azwntai ¿aoido˜ u ¡’hmenoi ¡exe’ihs, par‘a d‘e pl’hjwsi tr’apezai s’itou ka‘i krei˜ wn, m’eju d” ¿ek krht˜ hros ¿af’usswn o¿inoq’oos for’eh—si ka‘i ¿egqe’ih— dep’aessin; to˜ ut’o t’i moi k’alliston ¿en‘i fres‘in e¿’idetai e¿˜ inai. …))

hier noch ein Beispiel mit Überschrift und Fußnote:

9 Musai Mo˜ usai

dorisch M˜ wsa, äolisch Mo˜ isa, < *mont(h)ia zu lateinisch mens, die ^{<}Sinnende^{>} oder ^{<}Erinnernde^{>}^{1}… Die Umschaltung funktioniert auch mit $, wenn man zuvor \greekdelims aufgerufen hat: TextMo˜ usaText.

1Aus: Artikel Mo˜ usa, Der kleine Pauly 3, 1975, 1475.