Seite 1 von 4
Mediävalziffern in XeLaTex?
Verfasst: Do 23. Jan 2014, 16:05
von Bachwels
Da ich diverse Texte zu schreiben habe, in denen Wörter mit zahlreichen diakritischen Zeichen vorkommen (Sanskrit z. B.), ich aber das Paket utf8x nicht unbedingt verwenden möchte, weil das Probleme mit scquotes (\MakeAutoQuote z. B.) macht, wurde mir geraten, XeLaTeX zu benutzen. Das scheint das Problem mit der Einagbe des Buchstaben mit diakritischen Zeichen zu lösen, nun tritt aber das neue auf, dass es keine Mediävalziffern zu geben scheint. Da diese m. E. für den Fließtext unabdingbar sind, wäre das ein starkes Gegenargument gegen XeLaTeX.
Irgendwo im Netz fand ich einen Befehl, der das Problem angeblich lösen sollte, der bewirkte aber gar nichts.
Mir ist durchaus klar, dass ich die entsprechenden Buchstaben auch mit Code eingeben kann, also etwa \={a}. Aber das ist mühsam zu schreiben und schwer zu lesen, weshalb ich ā unbedingt vorziehe. Die Möglichkeit, alle Wörter, in denen diese Zechen vorkommen, mit Hilfe von \newcommand zu definieren und dann im Text ein einfaches Kommando einzusetzen, gibt es auch noch, aber auch das ist mühsam und schwer zu verwalten, wenn einige hundert Wörter zusammenkommen.
Also möchte ich beides: Sanskrit-Wörter bequem eingehen und Mediävalziffern. Muss ich also bei utf8x bleiben, oder gibt es noch eine dritte Möglichkeit?
Verfasst: Do 23. Jan 2014, 16:22
von Johannes_B
So etwas hängt von der verwendeten Schrift ab. Kannst du uns bitte ein
Minimalbeispiel erstellen, damit wir die wichtigsten Informationen zum Testen haben?
Stichwort übrigens: Oldstylefigures
Verfasst: Do 23. Jan 2014, 16:33
von Bachwels
Also so etwas?
\documentclass{scrbook}
\usepackage{xltxtra}
\usepackage[ngerman]{babel}
%\usepackage[oldstylenums, light]{kpfonts}
\begin{document}
Nāgārjuna / äöü
A1 A4, 1234567890
{\addfontfeature{Numbers=OldStyle}1234567890}
\end{document}
Nāgārjuna / äöü %Probleme bei der Darstellung in der code-Umgebung
Die auskommentierte Zeile zeigt, wie es mit PDF-LaTeX funktioniert (wo ich aber eben utf8x brauche, weil sonst der Name im Text nicht so geschrieben werden kann, wie ich es will, was aber hier auch nicht geht. Die beiden Codes sollen so aussehen: ā.) Und der Befehl \addfonfeature ist der, den ich im Netz gefunden habe, der aber nichts bewirkt.
Ich hätte gern noch die PDF-Datei angehängt, aber das geht leider nicht.
Verfasst: Do 23. Jan 2014, 16:50
von Noch so einer
\documentclass{article}
\usepackage{fontspec}
\setromanfont[Numbers=OldStyle]{Latin Modern Roman}
\begin{document}%
test 12345
\end{document}
Falls Du Latin Modern sowohl mit als auch ohne OldStyle brauchst, würde ich einen neuen Font definieren. Siehe dazu die fontspec-Anleitung.
Verfasst: Do 23. Jan 2014, 16:53
von Bachwels
Das funktioniert nicht: "font-not-found". Ich dachte gar nicht, dass mein Ansinnen so ausgefallen ist.
Verfasst: Do 23. Jan 2014, 16:55
von Besserwisser
Noch so einer hat geschrieben:Falls Du Latin Modern sowohl mit als auch ohne OldStyle brauchst, würde ich einen neuen Font definieren. Siehe dazu die fontspec-Anleitung.
Oder einfach wie in Abschnitt 23 der besagten Anleitung angegeben (
Bitte auch wirklich nachlesen!):
\documentclass{article}
\usepackage{fontspec}
\setromanfont[Numbers=OldStyle]{Latin Modern Roman}
\begin{document}%
test 12345 \liningnums{12345}
\end{document}
Verfasst: Do 23. Jan 2014, 16:57
von Besserwisser
Bachwels hat geschrieben:Das funktioniert nicht: "font-not-found". Ich dachte gar nicht, dass mein Ansinnen so ausgefallen ist.
Dann ist Latin Modern Roman bei Dir nicht oder nicht komplett als Systemfont installiert. Bei mir funktioniert sowohl das Beispiel von "Noch so einer" als auch meines.
Verfasst: Do 23. Jan 2014, 16:59
von Johannes_B
Bei mir funktioniert das mit XeTeX übrigens auch nicht.
Nichtsdestotrotz würde ich auch eher die Verwendung von LuaTeX anraten.
Wenn du nicht auf die Verwendung von kpfonts beschränkt bist, gibt es noch viele andere OpenType Fonts:
Schau dir mal folgendes Beispiel an:
\documentclass{scrbook}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
%\setmainfont{Latin Modern Roman}
%\setmainfont{Tex Gyre Termes}
\usepackage[ngerman]{babel}
\begin{document}
Nāgārjuna / äöü \par
A1 A4, 1234567890 \par
{\addfontfeature{Numbers=OldStyle}1234567890 A3} \par
$123456789$
\end{document}
Verfasst: Do 23. Jan 2014, 16:59
von Bachwels
Mein Problem ist nicht, dass ich keine Mediävalziffern habe, sondern dass ich unter XeLaTeX keine Mediävalziffern habe, XeLaTeX aber bevorzugen würde, weil ich dann auf utf8x verzichten kann, Beide Beispiele bringen bei mir außerdem nur die Fehlermeldung "font-not-found" an der Stelle, wo
\setromanfont[Numbers=OldStyle]{Latin Modern Roman}
steht.
Übrigens fällt mir gerade noch etwas auf: Ich habe das Paket mit den Kepler-Fonts eingebogen, weil bei der Standardschrift die diakritischen Zeichen zu hoch über den Zeichen stehen, die Strich zu lang sind und die Punkte nicht in der Mitte des Zeichens sind. Nun scheint es, dass ich bei XeLaTeX auf die Standardschrift angewiesen bin. Ist das so? Dann kommt es natürlich sowieso nicht in Frage.
Verfasst: Do 23. Jan 2014, 17:02
von Bachwels
Johannes_B hat geschrieben:@Bachwels: Bitte kompilier mein Beispiel (also eine exacte Kopie, nicht abschreiben) mit lualatex (nicht xelatex), was passiert dann?
Wie mache ich das? TeXnicle hat diese Option nicht.
Is deine Installation aktuell?
Ich habe diesen Rechner seit drei Wochen, als er neu war, habe ich das Paket frisch heruntergeladen und auf den ganz jungfräulichen Rechner installiert.