Griechischen Text in ein handelsübliches LaTeX-Dokument einzubinden, war schon seit langem ein PITA. Man konnte sich mit dem ucs-Paket behelfen, sodaß folgendes Minimalbeispiel eine einigermaßen brauchbare Einbettung von griechischem in deutschen Text ergab:
\documentclass{scrartcl}
\usepackage[LGR,T1]{fontenc}
\usepackage[polutonikogreek,german]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage{autofe}
\begin{document}
Deutscher Text
\begin{greektext}
Μῆνιν ἄειδε, θεά, Πηληιάδεω Ἀχιλῆος
\end{greektext}
Deutscher Text
\end{document}
~
Damit ließ sich auskommen, auch wenn nativer Unicode-Support für LaTeX ein Desiderat blieb.
Doch ucs.sty wird nicht mehr gepflegt, sodaß es mittlerweile mit anderen Paketen konfligiert. Bindet man beispielsweise das Paket Hyperref in dieselbe Quelle ein:
\documentclass{scrartcl}
\usepackage[LGR,T1]{fontenc}
\usepackage[polutonikogreek,german]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage{autofe}
\usepackage{hyperref}
\begin{document}
Deutscher Text
\begin{greektext}
Μῆνιν ἄειδε, θεά, Πηληιάδεω Ἀχιλῆος
\end{greektext}
Deutscher Text
\begin{itemize}
\item Ich bin ein Item.
\end{itemize}
\end{document}
~
wird unversehens die Erstellung von Listen mit itemize unmöglich.
! Undefined control sequence.
\T1\textbullet ...fontencoding {PD1}\selectfont \2
00}
l.16 \item I
ch bin ein Item.
?
Anscheinend vermasselt es das für die Wahl des aktuellen Encodings zuständige Paket autofe.sty, ein für die Aufzählungszeichen brauchbares auszuwählen, wenn erforderlich.
Aktiviert man nun den inzwischen vorhandenen UTF-8-Support von LaTex, funktionieren zwar die Listen wieder, aber unseren Homer will LaTeX partout nicht darstellen.
\documentclass{scrartcl}
\usepackage[LGR,T1]{fontenc}
\usepackage[polutonikogreek,german]{babel}
\usepackage[utf8]{inputenc}
%\usepackage{ucs}
%\usepackage{autofe}
\usepackage{hyperref}
\begin{document}
Deutscher Text
\begin{greektext}
Μῆνιν ἄειδε, θεά, Πηληιάδεω Ἀχιλῆος
\end{greektext}
Deutscher Text
\begin{itemize}
\item Ich bin ein Item.
\end{itemize}
\end{document}
~
Führt zu folgendem Fehler:
! Package inputenc Error: Unicode char \u8:Μ not set up for use with LaTeX.
See the inputenc package documentation for explanation.
Type H for immediate help.
...
l.12 Μ
ῆνιν ἄειδε, θεά, Πηληιάδεω Ἀχιλῆος
?
Womöglich muß eine andere Schriftart her, die „set up“ für LaTeX ist. Welche dazu geeignet sein soll, erschließt sich mir bislang nicht. Ohne reibungslosen Unicode-Support fühlt man sich wie durch einem kräftigen Fußtritt unter die Gürtellinie ins Mittelalter geschleudert.
Update: Workaround
Um beide Varianten, wenn schon nicht zu instantiieren, so doch zumindest aktuell halten zu können, lassen sich an den entsprechenden Stellen kondizionale Statements einbauen, die jeweils eine Textgestalt pro Unicode-Version liefern.
\usepackage{ifthen}
\newboolean{uninew}
\setboolean{uninew}{false}
\ifthenelse{\boolean{uninew}}
{\usepackage[utf8]{inputenc}}
{\usepackage[utf8x]{inputenc}\usepackage{ucs}\usepackage{autofe}}
…
\ifthenelse{\boolean{uninew}}
{\subsubsection{Parataxis}}
{\begin{greektext}\subsubsection{παράταξις}\end{greektext}}
\paragraph{Sententia copulativa}
\ifthenelse{\boolean{uninew}}
{\begin{itemize}}
{\begin{enumerate}}
\item Ich bin ein Item.
\ifthenelse{\boolean{uninew}}
{\end{itemize}}
{\end{enumerate}}
Damit bekommt man zwar nicht sowohl griechischen Text als auch die Liste, aber dafür wird der Code aufwärtskompatibel. Je nachdem, ob das unvollständige Unicode aus dem Kernel oder das umfassende, aber inkompatible utf8x gewählt wird, hat man entweder Griechisch (mit Aufzählung) oder die Liste (ohne Griechisch) im Text. Mehr scheint für den Anfang nicht drin zu sein.
Filed under: TeX, lingua, res cottidianae | Leave a Comment
Tags: LaTeX, hyperref, utf8, utf8x, autofe, ucs.sty, unicode, griechisch, regression, ifthenelse, ifthen
No Responses Yet to “Neue Probleme mit griechischem Text in LaTeX”