x-Höhe variiert mit DIV-Faktor unter xelatex?

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


marekshaw
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Fr 11. Mai 2012, 14:13

x-Höhe variiert mit DIV-Faktor unter xelatex?

Beitrag von marekshaw »

Liebe Forumsmitglieder,

mir ist ein merkwürdiges Verhalten bei der Verwendung von xelatex mit der Koma-Script-Klasse "scrartcl" aufgefallen: Die x-Höhe ändert sich in Abhängigkeit davon, ob der DIV-Faktor vor oder nach dem Laden des Pakets xltxtra angegeben wird. Da die x-Höhe doch aber nur von der Schriftart/vom Schriftgrad abhängig sein sollte, dürfte es doch keinen Unterschied machen, an welcher Stelle der Präambel der DIV-Faktor geändert wird?

Beste Grüße und vielen Dank vorab

Marek
\documentclass[12pt]{scrartcl}

%\KOMAoptions{DIV=12}
\usepackage{xltxtra}
\KOMAoptions{DIV=12}

\usepackage{polyglossia}
\setmainlanguage[spelling=new]{german}
\setmainfont[Mapping=tex-text]{Times New Roman}

\newlength{\xheight}
\settoheight{\xheight}{x}

\recalctypearea

\begin{document}

\noindent \the\xheight

\end{document} 

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Die x-Höhe ist abhängig von der gerade aktiven Schrift. fontspec ändert zwar die normal Schrift, aktiviert sie aber nicht sofort, weil das sowieso bei \begin{document} geschieht (und es auch nicht wissen kann ob später die Hauptschrift geändert werden soll). Die DIV-option hingegen führt einen \normalfont-Befehl aus - und das ändert die aktive Schrift.

Wenn du schriftabhängig Längen definieren willst, solltest du vorher immer explizit die zugehörige Schrift aktivieren. Also

\normalfont\settoheight{\xheight}{x}
-- und natürlich danach, nicht \normalfont wieder ändern.

marekshaw
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Fr 11. Mai 2012, 14:13

Beitrag von marekshaw »

Vielen Dank für die rasche und hilfreiche Antwort!

Antworten