Archiv verlassen und diese Seite im Standarddesign anzeigen : Griechisch in extra Font setzen
msellhoff
05-02-2011, 16:25
Hallo zusammen,
ich versuche, griechische Textpassagen in einer vom Rest des Textes abweichenden Schrift zu setzen (der GFS Didot). Bisher haben Google & die Suche im Forum nicht geholfen.
Hier ein Minimalbsp., das ich unter Zuhilfenahme dieser großartig klingenden Tips von Ulrike Fischer http://www.ureader.de/msg/136219841.aspx gebastelt habe:
\documentclass[12pt]{book}
\usepackage[utf8x]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[polutonikogreek,ngerman]{babel}
\usepackage{amsmath,amssymb,color}
\usepackage{palatino}
\newcommand{\gk}[1]{\selectlanguage{polutonikogreek}\fontfamily{gsfdi dot}#1\selectlanguage{ngerman}}
\makeatletter
\addto\extraspolutonikogreek{%
\let\my@currentfamily\f@family
\fontfamily{gfsdidot}\selectfont\color{red}}
\addto\noextraspolutonikogreek{\fontfamily{\my@cur rentfamily}\selectfont\color{black}}
\begin{document}
Der Eröffnungssatz seines verschollenen Werks, das den Titel
\gk{$\text{\textgreek{>A}}\lambda \text{\textgreek{}}\vartheta
\varepsilon \iota \alpha $} (Wahrheit) oder \gk{$K\alpha \tau
\alpha \beta \text{\textgreek{}}\lambda \lambda o\nu \tau \varepsilon
\varsigma $} (Niederwerfende [Reden]) getragen haben soll, lautet nach
der Überlieferung: „Aller Dinge (\gk{$\chi \rho \eta \mu
\text{\textgreek{'a}}\tau \omega \nu $}) Maß ist der Mensch, der
seienden, daß (\gk{$\text{\textgreek{<w}}\varsigma $}) sie sind,
der nichtseienden, daß (\gk{$\text{\textgreek{<w}}\varsigma $}) sie
nicht sind.“
\end{document}
Der Text wird "normally" kompiliert, es tauchen jedoch folgende Warnungen auf (Auszug):
LaTeX Font Info: Try loading font information for LGR+gfsdidot on input line
11.
LaTeX Font Info: No file LGRgfsdidot.fd. on input line 11.
LaTeX Font Warning: Font shape `LGR/gfsdidot/m/n' undefined
(Font) using `LGR/cmr/m/n' instead on input line 11.
LaTeX Font Info: Try loading font information for T1+gfsdidot on input line
15.
LaTeX Font Info: No file T1gfsdidot.fd. on input line 15.
LaTeX Font Warning: Font shape `T1/gfsdidot/m/n' undefined
(Font) using `T1/cmr/m/n' instead on input line 15.
[...]
Package utf8x.def Warning: Character(s)159 etc.gotredefinedsomewhere.
(utf8x.def) Restoringtoitsutf8x-meaning on input line 16.
(/usr/local/texlive/2010/texmf-dist/tex/latex/ucs/ucsencs.def
File: ucsencs.def 2003/11/29 Fixes to fontencodings LGR, T3
[...]
LaTeX Font Info: Try loading font information for LGR+ppl on input line 20.
LaTeX Font Info: No file LGRppl.fd. on input line 20.
LaTeX Font Warning: Font shape `LGR/ppl/m/n' undefined
(Font) using `LGR/cmr/m/n' instead on input line 20.
LaTeX Font Info: Try loading font information for U+msa on input line 20.
(/usr/local/texlive/2010/texmf-dist/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2009/06/22 v3.00 AMS symbols A
)
LaTeX Font Info: Try loading font information for U+msb on input line 20.
(/usr/local/texlive/2010/texmf-dist/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2009/06/22 v3.00 AMS symbols B
)
LaTeX Font Info: Try loading font information for LGR+gsfdidot on input line
20.
LaTeX Font Info: No file LGRgsfdidot.fd. on input line 20.
LaTeX Font Warning: Font shape `LGR/gsfdidot/m/n' undefined
(Font) using `LGR/cmr/m/n' instead on input line 20.
LaTeX Font Info: Try loading font information for T1+gsfdidot on input line
20.
LaTeX Font Info: No file T1gsfdidot.fd. on input line 20.
LaTeX Font Warning: Font shape `T1/gsfdidot/m/n' undefined
(Font) using `T1/cmr/m/n' instead on input line 20.
(/usr/local/texlive/2010/texmf-dist/tex/latex/ucs/data/uni-32.def
File: uni-32.def 2004/10/17 UCS: Unicode data U+2000..U+20FF
) [1{/home/michael/.texlive2010/texmf-var/fonts/map/pdftex/updmap/pdftex.map}
Es tut mir ja leid, aber ich verstehe es nicht :-(
Ich habe die Installation der Didot überprüft, ist m.E. ok. Handelt es sich nun um ein Codierungs-Problem, oder was mache ich falsch??
Ich danke im voraus für alle Bemühungen & Hinweise!
Gruß
Michael
u_fischer
05-02-2011, 16:49
LaTeX Font Info: No file LGRgfsdidot.fd. on input line 11.
Ich kann auf CTAN auch keine derartige Datei finden. Es gibt aber lgrudidot.fd. Also versuche \fontfamily{udidot} ....
msellhoff
05-02-2011, 17:12
Vielen Dank, ein Lichtstreif am Horizont!
Es werden, so sieht es zumindest im pdf aus, genau diejenigen Zeichen in der Didot gesetzt, die wegen ihrer Akzente mit \textgreek eingegeben werden, also
"\textgreek{>A}, \textgreek{'a}, \textgreek{<w}"
[irgendwie geht hier bei der Eingabe des "<" und des "w" immer was verloren ...], alle anderen werden weiterhin ersetzt:
LaTeX Font Info: Try loading font information for LGR+ppl on input line 20.
LaTeX Font Info: No file LGRppl.fd. on input line 20.
LaTeX Font Warning: Font shape `LGR/ppl/m/n' undefined
(Font) using `LGR/cmr/m/n' instead on input line 20.
LaTeX Font Info: Try loading font information for LGR+udidot on input line 2
0.
(/usr/local/texlive/2010/texmf/tex/latex/GFS/Didot/lgrudidot.fd)
LaTeX Font Info: Font shape `LGR/udidot/m/n' will be
(Font) scaled to size 12.47992pt on input line 20.
LaTeX Font Info: Try loading font information for U+msa on input line 20.
(/usr/local/texlive/2010/texmf-dist/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2009/06/22 v3.00 AMS symbols A
)
LaTeX Font Info: Try loading font information for U+msb on input line 20.
(/usr/local/texlive/2010/texmf-dist/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2009/06/22 v3.00 AMS symbols B
)
LaTeX Font Info: Font shape `LGR/udidot/m/n' will be
(Font) scaled to size 8.31995pt on input line 20.
LaTeX Font Info: Font shape `LGR/udidot/m/n' will be
(Font) scaled to size 6.23996pt on input line 20.
LaTeX Font Info: Try loading font information for T1+udidot on input line 20
Nur: Warum wird bei der einen "griechischen Eingabe" die udidot angesprochen, bei allen anderen nicht??
Fragt, weiterhin verwirrt & lernbegierig, mit dankbaren Grüßen
Michael
u_fischer
05-02-2011, 17:46
Nur: Warum wird bei der einen "griechischen Eingabe" die udidot angesprochen, bei allen anderen nicht??
Ich weiß nicht so recht, was du meinst. Allerdings fehlt in deinem \gk-Befehl ein \selectfont hinter \fontfamily{udidot}.
msellhoff
05-02-2011, 19:15
Ungefähr so? (Mit dieser Ergänzung hat sich übrigens am Ergebnis nichts geändert.)
\newcommand{\gk}[1]{\selectlanguage{polutonikogreek}\fontfamily{udido t}#1\selectfont
\selectlanguage{ngerman}}
Was ich meine: In dem Wort
\gk{$\text{\textgreek{>A}}\lambda \text{\textgreek{}}\vartheta
\varepsilon \iota \alpha $}
wird (erkennbar andere Type) nur der erste Buchstabe in der Didot gesetzt, die folgenden Zeichen weiterhin ersetzt.
Zufall oder nicht, in jedem der griechischen Worte wird genau dasjenige Zeichen in der Didot dargestellt (und nicht durch cm ersetzt), das durch
\textgreek{...}
eingegeben wird.
Hoffentlich habe ich mich jetzt verständlich ausgedrückt?
Gruß
Michael
u_fischer
05-02-2011, 19:54
\fontfamily{udidot}#1\selectfont
Du musst natürlich \selectfont vor dem Argument #1 ausführen.
msellhoff
05-02-2011, 20:26
Ok, daran erkennt man den rechten LaTeX-Neuling :-)
\newcommand{\gk}[1]{\selectlanguage{polutonikogreek}\fontfamily{udido t}\selectfont #1
\selectlanguage{ngerman}}
Doch das Ergebnis bleibt, schau vielleicht mal auf das anhängende Bild.
msellhoff
05-02-2011, 21:24
OK, folgendes: Mit zusätzlichem
\usepackage{gfsdidot}
\renewcommand{\rmdefault}{mwb}
-- die Palatino ist nur Platzhalter gewesen fürs Minimalbsp., eigentlich soll die Walbaum MT Haupttype sein -- scheine ich das richtige Ergebnis zu bekommen.
Bis auf zwei Aspekte:
Zum einen wird irgendwas noch in cm gesetzt, ich weiß nicht warum:
LaTeX Font Warning: Font shape `LGR/mwb/m/n' undefined
(Font) using `LGR/cmr/m/n' instead on input line 23.
Außerdem wird ellenlang in Fettschrift umgewandelt:
LaTeX Font Info: Overwriting symbol font `operators' in version `bold'
(Font) OT1/cmr/bx/n --> OT1/pxr/m/n on input line 21.
Wie kann ich insbesondere letzteres umgehen? Natürlich möchte ich die griech. Passagen nicht bold.
Gruß
Michael
PS: Ich hatte die Walbaum bisher immer mit \usepackage{Walbaum} als otf-Font aufgerufen. Gibt es eine Variante, das bei meinem obigen Weg auch zu tun? Mit der obigen Weise vermute ich, die hingebastelte Schrifteinbindung aus den pfb-/pfm-Dateien aufzurufen ...
u_fischer
06-02-2011, 11:00
Doch das Ergebnis bleibt, schau vielleicht mal auf das anhängende Bild
Wahrscheinlich schaltet \textgreek wieder auf die normale Schriftfamilie um. Muss ich nachher mal schauen. Schick mal ein vollständiges Minimalbeispiel. Das oben ist verstümmelt. Hänge es ggfs als txt-Datei an.
Warum machst du diese seltsame Schachtelung "\gk{$\text{\textgreek"?
LaTeX Font Warning: Font shape `LGR/mwb/m/n' undefined
(Font) using `LGR/cmr/m/n' instead on input line 23.
Das kannst du ignorieren. Die Schrift wird nicht benutzt.
LaTeX Font Info: Overwriting symbol font `operators' in version `bold'
(Font) OT1/cmr/bx/n --> OT1/pxr/m/n on input line 21.
Wie kann ich insbesondere letzteres umgehen? Natürlich möchte ich die griech. Passagen nicht bold.
Bei der Meldung geht es um Mathematik. gfsdidot.sty lädt pxfonts und verändert daher Matheschriften. Wenn du das nicht willst, darfst du den sty nicht verwenden.
PS: Ich hatte die Walbaum bisher immer mit \usepackage{Walbaum} als otf-Font aufgerufen. Gibt es eine Variante, das bei meinem obigen Weg auch zu tun? Mit der obigen Weise vermute ich, die hingebastelte Schrifteinbindung aus den pfb-/pfm-Dateien aufzurufen ...
Wie bitte hast du eine otf-Schrift benutzen können? Dein obiger Code (besonders die Benutzung von inputenc) deuten nicht darauf hin, dass du xelatex oder lualatex verwendest.
msellhoff
06-02-2011, 20:14
OK, OK. Ich muß wohl etwas weiter ausholen, um den Hintergrund zu erklären, und das Ausmaß meiner Unwissenheit aufzudecken:
Es handelt sich um einen Text, den ich via OpenOffice & writer2latex aus dem doc-Format exportiert habe. Daher wohl die Schachtelung ("\gk{$\text{\textgreek").
Die Walbaum habe ich nach unausgegorenen anderen Versuchen der Schriftart-Einbindung mittels dieser Anleitung
http://www2.fas.sfu.ca/fasnet/doc/software/TeX/TeX_Fonts/
eingebunden (vorher aus den vom Verlag gelieferten pfb/pfm-Dateien mit fontforge otfs erstellt). Deshalb also otf-Einbindung ohne luatex etc. War wohl mißverständlich.
Entschuldige, daß mit der sty, die ich nicht verwenden darf, verstehe ich nicht. Was ist die Alternative? Die Didot hat doch nen kompletten griech. Zeichensatz, warum werden da mathemat. Zeichen verwendet?
Ich habe in der Zwischenzeit weitergebastelt und bin zu folgendem Stand gekommen (hoffe, das taugt auch für Dich als Min.bsp.; die griech. Zeichen habe ich aus Open Office kopiert):
\documentclass[12pt]{book}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polutonikogreek,ngerman]{babel}
\usepackage{amsmath,amssymb,color}
\usepackage{gfsdidot}
\renewcommand{\rmdefault}{mwb}
\newcommand{\gk}[1]{\selectlanguage{polutonikogreek}\fontfamily{udido t}\selectfont #1
\selectlanguage{ngerman}}
\makeatletter
\addto\extraspolutonikogreek{%
\let\my@currentfamily\f@family
\fontfamily{udidot}\selectfont\color{red}}
\addto\noextraspolutonikogreek{\fontfamily{\my@cur rentfamily}\selectfont\color{black}}
\begin{document}
Der Eröffnungssatz seines verschollenen Werks, das den Titel
\gk{Ἀλή$\vartheta$εια} (Wahrheit) oder \gk{Καταβάλλοντες} (Niederwerfende [Reden]) getragen haben soll, lautet nach
der Überlieferung: „Aller Dinge (\gk{χρημάτων}) Maß ist der Mensch, der
seienden, daß (\gk{ὡς}) sie sind,
der nichtseienden, daß (\gk{ὡς}) sie
nicht sind.“
\end{document}
Hier scheint nun (erstmalig für mich) das gesamteGriechisch in der Didot gesetzt. Mit einer Ausnahme: Vartheta gibt einen Fehler, ohne Nachbesserung wird die Unicode-Nummer ein den Text gesetzt. Helfe ich wie oben ersichtlich nach, dann wird für Vartheta nicht die Didot verwendet (erkennbar jedenfalls an der Neigung).
Außerdem bleibt das "bold"-Problem (und: wie bekomme ich am Ende der griechischen Worte die unerwünschten Leerschritte weg?).
Danke für all Dein Engagement!
Michael
PS: Erschwerend hinzu kommt natürlich, daß ich selbst des Gr. gar nicht mächtig bin ...
u_fischer
07-02-2011, 11:54
vorher aus den vom Verlag gelieferten pfb/pfm-Dateien mit fontforge otfs erstellt
Nun, pdflatex benutzt keine otfs. Du hast also wohl aus den pfb otf gemacht, und dann die otf wieder in pfb-umgewandelt. Das hätte man wahrscheinlich einfacher haben können, aber solange es funktioniert ...
Vartheta gibt einen Fehler,
\vartheta is ein Befehl, der ein mathematisches Symbol ausgibt. Für normalen Text eignet der sich nicht, und er wird auch immer die Mathematikschrift benutzen.
Entschuldige, daß mit der sty, die ich nicht verwenden darf, verstehe ich nicht. Was ist die Alternative? Die Didot hat doch nen kompletten griech. Zeichensatz, warum werden da mathemat. Zeichen verwendet?
gfsdidot.sty tut halt mehr als nur eine griechische Schrift zu definieren. Es ändert diverse Befehle und alle Mathematikschriften. Wenn du nur Didot an einigen Stellen benutzen willst, brauchst du gfsdidot.sty nicht. Da sollte \fontfamily{udidot}\selectfont reichen.
Abgesehen davon empfehle ich eine der folgenden Definitionen für dein \gk. Die zweite benutzt griechische Trennregeln:
\DeclareRobustCommand{\gk}[1]{\leavevmode{\fontfamily{udidot}\greektext #1}}
\DeclareRobustCommand{\gk}[1]{\leavevmode{\fontfamily{udidot}\greektext\foreign language{polutonikogreek}{#1}}}
msellhoff
07-02-2011, 12:31
Wenn ich nun aber den Buchstaben Vartheta (wenn man den so richtig bezeichnet) einfach mit einsetze
\gk{Ἀλήϑεια}
bekomme ich immer den Fehler:
"! Package ucs Error: Unknown Unicode character 977 = U+03D1,"
und anstelle des griech. Zeichens wird eben U+03D1 in eckige Klammern in den Text gesetzt.
Deinen zweiten gk-Befehl habe ich gleich ausprobiert, funktioniert prima, auch die unerwünschten Leerzeichen verschwinden. Nur bleibt die Didot fett.
gfsdidot.sty tut halt mehr als nur eine griechische Schrift zu definieren. Es ändert diverse Befehle und alle Mathematikschriften. Wenn du nur Didot an einigen Stellen benutzen willst, brauchst du gfsdidot.sty nicht. Da sollte \fontfamily{udidot}\selectfont reichen.
Wie müßte ich das mit dem \DeclareRobustCommand kombinieren?
Der Buchstabe heißt Theta. Aber wie man ihn korrekt aufruft, da kann ich dir leider auch nicht helfen...
u_fischer
07-02-2011, 14:44
Vartheta ist meines Wissens nicht im LGR-encoding. Allerdings ist es in OML, du kannst daher einen entsprechenden Befehl \textvartheta definieren. Du musst dann nur noch inputenc erklären, dass dein Input \textvartheta aufrufen soll. Wie es mit ucs/utf8x geht weiß ich nicht (ich würde die Option sowieso nicht empfehlen). Mit utf8 ginge es so:
\documentclass[12pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[polutonikogreek,ngerman]{babel}
\DeclareTextSymbol{\textvartheta}{OML}{35}
\DeclareTextSymbolDefault{\textvartheta}{OML}
\DeclareUnicodeCharacter{03D1}{\textvartheta}
\DeclareRobustCommand{\gk}[1]{\leavevmode{\fontfamily{udidot}\greektext #1}}
\begin{document}
\gk{Ἀλήϑεια}
\end{document}
Eventuell musst du dir noch die Datei lgrenc.dfu besorgen (google), kopiere sie in einen lokalen Baum in \tex\generic\babel\lgrenc.dfu und erneuere die FNDB.
msellhoff
08-02-2011, 14:56
Hm. Nach Deinen Schritten bekomme ich im Minimalbsp. nun Fehler für alle anderen Zeichen; da fehlt bei mir offensichtlich etwas.
Ich habe aber das OK bekommen, es beim bisher Erreichten zu belassen.
Hab ganz herzlichen Dank, ich habe sehr viel gelernt und wäre ohne Deine Hilfe kaum so weit gekommen!
Beste Grüße
Michael
u_fischer
08-02-2011, 15:18
Hm. Nach Deinen Schritten bekomme ich im Minimalbsp. nun Fehler für alle anderen Zeichen; da fehlt bei mir offensichtlich etwas.
Deswegen schrieb ich ja:
"Eventuell musst du dir noch die Datei lgrenc.dfu besorgen ..."
msellhoff
08-02-2011, 15:24
Ja, auch diesen Schritt dachte ich erledigt zu haben. Es gibt nur ein Vereichnis, wie Du es bezeichnet hast, dort liegt nun diese Datei ...
Aber wie gesagt, das bisherige Ergebnis mit dem "eingeflickten" \vartheta stellt alle Beteiligten zufrieden.
Nochmals großen Dank für Dein Engagement!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.