Unicode mit Transkription
Unicode mit Transkription
Hallo,
ich bin auf der Suche nach einem Ansatz, nicht nach einer kompletten Lösung.
Mit XeTeX kann ich ja wunderbar fremdsprachige Texte, beispielsweise Hebräisch, eingeben und setzen lassen. Soweit, so gut.
Jetzt hab ich aber keine hebräische Tastatur und komm auch mit den Bildschirmtastaturen nicht so ganz klar (bei Mas Os ist das okay, alles andere ist stark verbesseurngswürdig).
Mein Gedanke: Ein Befehl, der mir aus lateinischen Buchstaben hebräischen Unicode transkribiert.
Das Paket cjhebrew macht ja was ähnliches, allerdings bringt das seine eigenen Schriften mit. Ich will aber nur die Zeichen in Unicode erstellen, alles andere würde ich dann mit \newfontfamily etc machen. Außerdem soll es, wenn es läuft, vielleicht gar nicht nur auf Hebräisch beschränkt bleiben (während cjhebrew Unicode produziert, macht ibycus4 das beispielsweise nicht).
Es soll also ienen Befehl geben, der in etwa folgendermaßen funktioniert:
\transkribiere{abgd}
mit der Ausgabe:
אבגד
Right-to Left Erkennung muß auch nicht sein, das kann ich dann ja nochmal mit \RL{} lösen, bidi bringt das ja mit...
Meine Fragen wären also:
1. Wie setze ich das um? Leider versteh ich den Quellcode von cjhebrew nicht.
2. Wo fang ich an, zu lesen (um obige Frage zu präzisieren, ich will ja dazulernen)? Guck ich mir irgendwelche TeX Primitiven an, oder ist das Unsinn, weil TeX ja kein Unicode kann?
3. Ergibt es Sinn, sich lediglich auf die Umsetzung der Zeichen von lateinisch nach anderes Alphabet zu konzentrieren, und Schriftrichtung bidi zu überlassen, sowie etwaige hyphenations und Ligaturesn für polyglossia etc.? Oder überseh ich etwas, womit ich mir ins Bein schieße?
ich bin auf der Suche nach einem Ansatz, nicht nach einer kompletten Lösung.
Mit XeTeX kann ich ja wunderbar fremdsprachige Texte, beispielsweise Hebräisch, eingeben und setzen lassen. Soweit, so gut.
Jetzt hab ich aber keine hebräische Tastatur und komm auch mit den Bildschirmtastaturen nicht so ganz klar (bei Mas Os ist das okay, alles andere ist stark verbesseurngswürdig).
Mein Gedanke: Ein Befehl, der mir aus lateinischen Buchstaben hebräischen Unicode transkribiert.
Das Paket cjhebrew macht ja was ähnliches, allerdings bringt das seine eigenen Schriften mit. Ich will aber nur die Zeichen in Unicode erstellen, alles andere würde ich dann mit \newfontfamily etc machen. Außerdem soll es, wenn es läuft, vielleicht gar nicht nur auf Hebräisch beschränkt bleiben (während cjhebrew Unicode produziert, macht ibycus4 das beispielsweise nicht).
Es soll also ienen Befehl geben, der in etwa folgendermaßen funktioniert:
\transkribiere{abgd}
mit der Ausgabe:
אבגד
Right-to Left Erkennung muß auch nicht sein, das kann ich dann ja nochmal mit \RL{} lösen, bidi bringt das ja mit...
Meine Fragen wären also:
1. Wie setze ich das um? Leider versteh ich den Quellcode von cjhebrew nicht.
2. Wo fang ich an, zu lesen (um obige Frage zu präzisieren, ich will ja dazulernen)? Guck ich mir irgendwelche TeX Primitiven an, oder ist das Unsinn, weil TeX ja kein Unicode kann?
3. Ergibt es Sinn, sich lediglich auf die Umsetzung der Zeichen von lateinisch nach anderes Alphabet zu konzentrieren, und Schriftrichtung bidi zu überlassen, sowie etwaige hyphenations und Ligaturesn für polyglossia etc.? Oder überseh ich etwas, womit ich mir ins Bein schieße?
Sowas kannst du mit einem TECkit-mapping machen. Suche mal auf der xelatex mailing-Liste, da gab es ein paar Beispiele.
http://tug.org/mailman/htdig/xetex
http://tug.org/mailman/htdig/xetex
Ulrike Fischer
www.troubleshooting-tex.de
www.troubleshooting-tex.de
Nach ein bißchen rumlesen im Internet hab ich den Eindruck, folgendes Verstanden zu haben:
Der Mechanismus, mit dem das klappt, was ich vorhabe, ist der gleiche Mechanismus, mit dem mehrere Zeichen durch die entsprechenden Ligaturen im Font ersetzt werden.
Wenn ich das Ganze also anginge, müßte ich gleichzeitig ne eigene Version von Mapping=tex-text bauen.
Die Entscheidung über Trennregeln werden wohl andernorts getroffen, wenn ich es richtig verstehe, muß ich mich damit nicht befassen...
Der Mechanismus, mit dem das klappt, was ich vorhabe, ist der gleiche Mechanismus, mit dem mehrere Zeichen durch die entsprechenden Ligaturen im Font ersetzt werden.
Wenn ich das Ganze also anginge, müßte ich gleichzeitig ne eigene Version von Mapping=tex-text bauen.
Die Entscheidung über Trennregeln werden wohl andernorts getroffen, wenn ich es richtig verstehe, muß ich mich damit nicht befassen...
Eine andere Möglichkeit wäre, auf Tastatur- oder Editorebene anzusetzen: Wähle eine Tastaturbelegung oder Eingabemethode, die die hebräischen Zeichen direkt eingibt. Das hat den Vorteil, dass die richtigen Zeichen direkt im Quellcode auftauchen.
Deinen ursprünglichen Vorschlag könntest du beispielsweise auf Makroebene so realisieren:
Deinen ursprünglichen Vorschlag könntest du beispielsweise auf Makroebene so realisieren:
documentclass[pagesize=auto, version=last]{scrartcl} \usepackage{expl3} \usepackage{xparse} \usepackage{fontspec} \ExplSyntaxOn \NewDocumentCommand \transcribe {m} { \tl_map_function:nN {#1} \transcribe_aux:n } \cs_new_protected_nopar:Nn \transcribe_aux:n { \tl_use:c { c_transcribe_char_#1_tl } } \tl_map_inline:nn { { a א } { b נ } { c ב } { d ג } } { \tl_const:cx { c_transcribe_char_ \tl_head:n {#1} _tl } { \tl_tail:n {#1} } } \ExplSyntaxOff \setmainfont{Arial} \begin{document} \transcribe{abcd} \end{document}
Das mach ich ja normal auch so. Allerdings will ich ein paar Kommilitonen von LaTeX überzeugen, und die sind es gewohnt unter Word mit bestimmten Schriftarten zu arbeiten, die an der Stelle von a ein Aleph etc kodiert haben (mit dem schönen Effekt, daß man eben genau die Schriftart aufm Rechner haben muß, um den Text dann überhaupt lesen zu können).Eine andere Möglichkeit wäre, auf Tastatur- oder Editorebene anzusetzen: Wähle eine Tastaturbelegung oder Eingabemethode, die die hebräischen Zeichen direkt eingibt. Das hat den Vorteil, dass die richtigen Zeichen direkt im Quellcode auftauchen.
Das mit den Tastaturen ist dann schon schwieriger, vor allem, wenn man bedenkt, daß Modernhebräisch und Moderngriechisch zwar noch recht gut geht, aber die antiken Formen mit ihrer Punktation und Akzenten dann jeweils noch ein wenig Nacharbeit verlangen beim Einstellen der Eingabemethode (wie gesagt: die einzige Plattform, wo es keine Probleme gibt, ist Mac - aber den hat nicht jeder).
Danke, genau so etwas hab ich gesucht. Ich versteh es zwar noch nicht ganz, aber es funktioniert, und das ist erst einmal die Hauptsache. A propos funktioniert: In der Form kamen Fehler auf, der stört sich am & Zeichen. Ich hab den entsprechenden Teil dann so umgeschrieben:Deinen ursprünglichen Vorschlag könntest du beispielsweise auf Makroebene so realisieren
\tl_map_inline:nn { { a \symbol{1488}} { b \symbol{1489}} { c \symbol{1490}} { d \symbol{1491}} }
Das liegt nur daran, dass das Forum, Unicodezeichen in der Code-Umgebung in html-Schreibweise "übersetzt". א ist für LaTeX nicht geeignet.In der Form kamen Fehler auf, der stört sich am & Zeichen.
Du solltest dir aber im Klaren sein, dass sich eine derartige Transskription sich nicht für längere Abschnitte eignet: z.b. kannst du keine Befehle benutzen. \transcribe{ab\textbf{anbc}cd} führt zu Fehlern. Und du hast da Problem der Schreibrichtung und von Akzenten damit noch nicht gelöst.
cjhebrew macht übrigens *nicht* sowas ähnliches. Es wechselt zu einer anderen Schrift, d.h. die Transscription wird auf der Schriftebene (u.a. durch ligaturen) gemacht, also so wie xetex es mit den Mapping-Dateien machen würde.
Ulrike Fischer
www.troubleshooting-tex.de
www.troubleshooting-tex.de
Wieder was gelernt, danke.Das liegt nur daran, dass das Forum, Unicodezeichen in der Code-Umgebung in html-Schreibweise "übersetzt". א ist für LaTeX nicht geeignet.
Danke für den Hinweis, war mir in der Tat nicht klar. Stört mich momentan jedoch auch nicht. Ich vermute mal, \textbf{\transcribe{abcd}} würde gehen, und das würde erst mal reichen.Du solltest dir aber im Klaren sein, dass sich eine derartige Transskription sich nicht für längere Abschnitte eignet: z.b. kannst du keine Befehle benutzen. \transcribe{ab\textbf{anbc}cd} führt zu Fehlern. Und du hast da Problem der Schreibrichtung und von Akzenten damit noch nicht gelöst.
cjhebrew kopieren wollte ich ja genau nicht. Wozu auch, ist ein wunderbares Paket! Und "ähnlich" bezieht sich bei mir hier wohl eher auf die Handhabung, nicht auf die Funktion hinter den Kulissen. Hätt ich dazu schreiben sollen, sorry.cjhebrew macht übrigens *nicht* sowas ähnliches. Es wechselt zu einer anderen Schrift, d.h. die Transscription wird auf der Schriftebene (u.a. durch ligaturen) gemacht, also so wie xetex es mit den Mapping-Dateien machen würde.
Jedenfalls vielen Dank Euch beiden für Eure Hilfe, das hat mich weitergebracht. Bin jedoch im Moment grad an einer ganz anderen, dringenderen Baustelle, daher auch meine verspätete Antwort.