PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Indizes nicht auf gleicher Höhe bei zusätzlicher Verwendung von Hochzeichen



FloSch369
24-03-2010, 14:22
Hallo,

folgendes Minimalbeispiel

\documentclass[ngerman,a4paper]{scrreprt}
\usepackage{amsmath}
\begin{document}
$X_1 X_1^2 \mu_\mathrm{B}^2 a_{m+n}^2$
\end{document}

liefert folgendes Ergebnis
http://www.schmidt-kontakt.de/mrunix/hochzeiger/ergebnis.png

Bei gemeinsamer Verwendung von Hochzeichen und Index wird der Index tiefer gesetzt, als bei alleiniger Verwendung eines Index (die zweite '1' liegt tiefer als die erste).
Das sieht ziemlich unschön aus. Außerdem ist es nicht normgerecht, wenn ich mir hierzu DIN 1338 Punkt 3.2 ansehe. In besagter Norm werden für Nebenzeichen sechs allgemeine Positionen definiert


5
1 4
X
2 3
6
.
Hierbei wird jedoch nicht unterschieden zwischen 'Index gepaart mit Hochzeichen' und 'Index alleine', so dass die angegebenen Positionen diesbezüglich fix sein sollten. Aber unabhängig davon ob normgerecht oder nicht: lässt sich das beheben?

Zusatzfrage: die Schriftgröße von Indizes ist meiner Meinung nach allgemein ziemlich überdimensioniert. Bei z.B. 'a_1' ist die 1 bei schnellem Lesen nur schwer als Index zu erkennen. Insbesondere dann, wenn eine weitere einstellige Variable folgt (z.B. 'a_1 a'). Lässt sich das global ändern?

Herzlichen Dank für jegliche Hilfe
Grüße
Florian

voss
24-03-2010, 15:00
folgendes Minimalbeispiel

\documentclass[ngerman,a4paper]{scrreprt}
\usepackage{amsmath}
\begin{document}
$X_1 X_1^2 \mu_\mathrm{B}^2 a_{m+n}^2$
\end{document}


setze im ersten Beispiel den Exponenten mit \phantom{2}

Herbert

FloSch369
24-03-2010, 15:27
Hallo Herbert,

vielen Dank für Deine schnelle Antwort. Der Vollständigkeit halber:

\mu_\mathrm{B}^2 a_{m+n}^2
gehört natürlich nicht zum Minimalbeispiel. Das hatte ich vergessen zu löschen, Entschuldigung hierfür.

Zum eigentlichen Problem: an \phantom{} habe ich gar nicht gedacht... Vermutlich weil ich zu sehr auf eine allgemeine Lösung fixiert war. Also hierfür schon mal vielen Dank!

Auch wenn die Lösung mit \phantom{} für eine schnelle Behebung des Problems ausreicht, bin ich weiterhin an einer allgemeinen Lösung interessiert. Denn dass die Indizes ungleich hoch/tief gesetzt werden finde ich, was die Darstellung angeht, ziemlich unlogisch, hässlich und somit unbefriedigend. Auch artet das leicht in ziemliche Schreibarbeit aus, wenn man das jetzt je Formel und Variable durch \phantom{} realisieren muss.

Viele Grüße
Florian

u_fischer
24-03-2010, 16:13
\documentclass{article}
\usepackage{amsmath}


\begin{document}
$\fontdimen16\textfont2=10pt
\fontdimen17\textfont2=10pt
\fontdimen14\textfont2=30pt
$

$X^2 X_1 X_1^2 $
\end{document}

FloSch369
24-03-2010, 17:02
Hallo Ulrike,

vielen Dank für Deine Antwort. Die angegebenen Zahlenwerte 10pt bzw. 30pt setzen die Indizes und Hochzeichen bei mir viel zu weit vom Grundzeichen weg. Aber mit
$
\fontdimen16\textfont2=3pt
\fontdimen17\textfont2=3pt
\fontdimen14\textfont2=3pt
$
habe ich ein passables Ergebnis erzielt. Dummerweise sind jetzt auch die Zeichen für die Fußnoten verschoben, was irgendwie mit dem fontdimen14 zusammenhängt. Hatte noch keine Zeit, das zu recherchieren.

Ist diese unterschiedliche Handhabung der Position von Indizes eigentlich wirklich so gewollt? Und ist das so fest implementiert, dass das nur durch irgendwelche Hacks behoben und nicht einfach per Option abgeschaltet werden kann? Dann verstehe ich den Sinn dieser Vorgehensweise nicht, denn das Ergebnis ohne Anpassung sieht ja mal wirklich bescheiden aus. Was macht es für einen Sinn, den einen Index tiefer zu setzen als den anderen...

Ohne Lösung für die Fußnoten und ohne dass ich nachvollziehen kann, welche Auswirkungen obiger Code noch so hat, werde ich lieber die Lösung mit \phantom{} umsetzen.

Grüße
Flo

rstuby
24-03-2010, 18:21
Wenn es nicht so wäre, würden sich die Zahlen überschneiden und dann würde hier einer fragen, wie man den Index tiefer setzen kann. Oder die Zahlen wären zu klein und das sähe hässlich aus...
So wie es jetzt ist, stört es ja nur, wenn beides direkt nebeneinander vorkommt.

FloSch369
24-03-2010, 20:25
Hey,

leider kann ich keiner Aussage zustimmen :)


Wenn es nicht so wäre, würden sich die Zahlen überschneiden und dann würde hier einer fragen, wie man den Index tiefer setzen kann.
Dann könnte man doch den Index für den Fall, dass nur ein Index alleine gesetzt wird, gleich etwas tiefer setzen - eben auf dieselbe Tiefe wie für den Fall der gemeinsamen Verwendung von Index und Hochzeichen bzw. Exponent. Oder, um zu meiner Zusatzfrage vom Anfang zurück zu kommen die Schriftgröße der Indizes verringern. Die sind ohnehin viel zu groß. Wenn Du einen Kleinbuchstaben als Grundzeichen und einen Großbuchstaben als Index hast, z.B. bei a_B, sieht das Ergebnis sowas von bescheiden aus! Das 'B' ist im Verhältnis zum 'a' viel zu groß und der Lesefluss bei der Formel wird total gestört.


Oder die Zahlen wären zu klein und das sähe hässlich aus... Natürlich wäre die Schriftgröße für dreifache Indizes (a_{a_{a_a}}) dann ziemlich klein. Aber sowas stelle ich ohnehin in Frage. Laut genannter DIN-Norm sollte bereits die Verwendung doppelter Indizes wann immer möglich vermieden werden. Indizes stören generell die Lesbarkeit. Dreifache Indizes sehen nicht nur extremst hässlich aus, sondern stören auch den Lesefluss extremst. Ich denke auch, dass das eher die Ausnahme als die Regel ist. Daher würde ich nicht von diesem eher seltenen Fall ausgehen, sondern mich auf die gute Darstellung der häufigsten Problemstellungen konzentrieren. Und die hört spätestens bei doppelten Indizes auf.


So wie es jetzt ist, stört es ja nur, wenn beides direkt nebeneinander vorkommt.
Na ja, sooooo selten kommt dieser Fall, zumindest bei mir, nicht vor. Eigentlich fast immer. Du brauchst ja nur eine Gleichung mit Index bei der eine Größe mit Exponent vorkommt. Und schon hast Du hässlichen Formelsatz der noch dazu nicht normgerecht ist...

Ich bleibe dabei, das so zu machen, wie es derzeit bei amsmath der Fall ist, ist in meinen Augen unlogisch. :rolleyes:
Wenn ich mehr von den Interna von LaTeX verstehen würde (und mehr Zeit hätte), würde ich gerne selbst etwas Produktives zur Lösung dieses unbefriedigenden Problems beitragen. So kann ich es leider nur benennen und darauf hoffen, dass es eine Lösung gibt.

Barry1
25-03-2010, 08:56
Hallo,

das hier erwähnte Problem stört mich schon lange.
Ich habe folgende Zeilen in meine "persönlichen" Style-File:


\AtBeginDocument{%
\ensuremath{
\fontdimen13\textfont2=\fontdimen14\textfont2
\fontdimen13\scriptfont2=\fontdimen14\scriptfont2
\fontdimen13\scriptscriptfont2=\fontdimen14\script scriptfont2
\fontdimen16\textfont2=\fontdimen17\textfont2
\fontdimen16\scriptfont2=\fontdimen17\scriptfont2
\fontdimen16\scriptscriptfont2=\fontdimen17\script scriptfont2
}}
Vielleicht mag das ja jemandem hier helfen...
Aber leider bekomme ich damit auch ein Problem: Die \titlepage kommt dann wegen des "eingebauten" \cleardoublepage auf Seite 3...
Kann ein Experte helfen? Wäre klasse.

Danke und Gruß

Barry1


EDIT: Das Paket subdepth (http://tug.ctan.org/pkg/subdepth) hilft auch - aber in meinen Augen nicht optimal...

FloSch369
25-03-2010, 09:45
Hey Barry1!

Perfekt... Subdepth kannte ich nicht und ist genau das, was ich gesucht habe. Eigentlich sollte das der Standard sein und die unterschiedliche Tiefe von Indizes der Ausnahmefall! :mad:

Jetzt muss ich nur noch das Problem mit der zu großen Schrift für die Nebenzeichen lösen und gut. Aber das ist erst einmal nicht so wichtig, deshalb habe ich nach einer Lösung auch noch nicht gesucht. Wichtig ist erst einmal die gleiche Höhe der Indizes! Dir vielen Dank hierfür!

Grüße
Flo

Barry1
25-03-2010, 10:10
Hey Barry1!
Perfekt... Subdepth kannte ich nicht und ist genau das, was ich gesucht habe. Eigentlich sollte das der Standard sein und die unterschiedliche Tiefe von Indizes der Ausnahmefall! :mad:
Jetzt muss ich nur noch das Problem mit der zu großen Schrift für die Nebenzeichen lösen und gut. Aber das ist erst einmal nicht so wichtig, deshalb habe ich nach einer Lösung auch noch nicht gesucht. Wichtig ist erst einmal die gleiche Höhe der Indizes! Dir vielen Dank hierfür!

Hi Flo,

freut mich, dass ich helfen konnte. Aber - probier mal bitte


\(a^{\nu}_x + a^{\mu}_x + a^{\nu}_y + a^{\mu}_y\)
\[a^{\nu}_x + a^{\mu}_x + a^{\nu}_y + a^{\mu}_y\]

und schau genau hin... Ich finde das noch nicht ganz perfekt.

Gruß

Barry1

Barry1
25-03-2010, 12:02
Hallo ihr alle,

jetzt antworte ich mir selber - und dem Thread:

Für mich liefern diese Zeilen


%% Indices
\addto@hook\frozen@everymath{\fontdimen14\textfont 2=\fontdimen13\textfont2
\fontdimen14\scriptfont2=\fontdimen13\scriptfont2
\fontdimen14\scriptscriptfont2=\fontdimen13\script scriptfont2
\fontdimen15\textfont2=\fontdimen13\textfont2
\fontdimen15\scriptfont2=\fontdimen13\scriptfont2
\fontdimen15\scriptscriptfont2=\fontdimen13\script scriptfont2
\fontdimen16\textfont2=\fontdimen17\textfont2
\fontdimen16\scriptfont2=\fontdimen17\scriptfont2
\fontdimen16\scriptscriptfont2=\fontdimen17\script scriptfont2
}
\addto@hook\frozen@everydisplay{\fontdimen14\textf ont2=\fontdimen13\textfont2
\fontdimen14\scriptfont2=\fontdimen13\scriptfont2
\fontdimen14\scriptscriptfont2=\fontdimen13\script scriptfont2
\fontdimen15\textfont2=\fontdimen13\textfont2
\fontdimen15\scriptfont2=\fontdimen13\scriptfont2
\fontdimen15\scriptscriptfont2=\fontdimen13\script scriptfont2
\fontdimen16\textfont2=\fontdimen17\textfont2
\fontdimen16\scriptfont2=\fontdimen17\scriptfont2
\fontdimen16\scriptscriptfont2=\fontdimen17\script scriptfont2
}
%%

in einem eigenen Style-File das gewünschte Ergebnis.
Gruß
Barry1

voss
25-03-2010, 12:49
in einem eigenen Style-File das gewünschte Ergebnis.


Damit veränderst du den Zeilenabstand im Inlinemodus, was nicht
unbedingt anzustreben ist ...

Herbert

FloSch369
25-03-2010, 14:41
@Barry1:
hm, das ist in der Tat blöd. Also ohne Verwendung von subdepth: inline passt, abgesetzt passt nicht. Mit Verwendung von subdepth: inline passt nicht, abgesetzt passt. Das ist echt behämmert. Und noch viel unlogischer ist

$a_x a_y a^{\nu}_x + a^{\mu}_x + a^{\nu}_y + a^{\mu}_y$
denn da passt die Höhe der Indizes weder mit noch ohne subdepth! Da allerdings subdepth wenigstens für den abgesetzen Modus eine korrekte Darstellung erzeugt, ist das für mich erst einmal ausreichend.

Barry1
25-03-2010, 19:21
Damit veränderst du den Zeilenabstand im Inlinemodus, was nicht
unbedingt anzustreben ist ...

Herbert
Hallo lieber Herbert,

danke für die Info. Das habe ich bei meinen Schnellschüssen (ich glaube, ich kann mit LaTeX um - aber bei TeX haperts es noch kräftig) noch gar nicht gemerkt. Muss ich mir mal in Ruhe ansehen. Hast Du einen anderen Ausweg auf Lager? ** BEWUNDER **

Gruß

Basti

Barry1
25-03-2010, 19:22
@Barry1:
hm, das ist in der Tat blöd. Also ohne Verwendung von subdepth: inline passt, abgesetzt passt nicht. Mit Verwendung von subdepth: inline passt nicht, abgesetzt passt. Das ist echt behämmert. Und noch viel unlogischer ist

$a_x a_y a^{\nu}_x + a^{\mu}_x + a^{\nu}_y + a^{\mu}_y$
denn da passt die Höhe der Indizes weder mit noch ohne subdepth! Da allerdings subdepth wenigstens für den abgesetzen Modus eine korrekte Darstellung erzeugt, ist das für mich erst einmal ausreichend.
Hi Flo,

hast Du das auch mit "meinem letzten Codefragment" probiert? Da schaut es bei mir ganz okay aus.
Gruß
Basti

FloSch369
26-03-2010, 09:24
Hallo Basti,

meinst Du mit Deinem letzen Codefragment das aus Deinem Beitrag #11 (http://www.mrunix.de/forums/showpost.php?p=311088&postcount=11)?

Da ich von den Interna von LaTeX/TeX zu wenig (nichts?) verstehe, werde ich das nicht verwenden, sorry. Da pfriemel ich nicht dran herum, so lange ich nicht weiß, welche Auswirkungen solcher Code global hat. Statt dessen überlasse ich das den Profis und warte bzw. hoffe auf die Veröffentlichung eines entsprechenden Pakets.

Das Problem mit den Indizes betreffend wundert mich halt nur, dass das bisher noch niemandem aufgefallen bzw. niemanden ernsthaft gestört hat! Entweder das liegt nur an meinem ästhetischen Empfinden oder die Implementierung ist so hammermäßig kompliziert, dass das einfach noch keiner geschafft hat. Aber wo LaTeX doch sonst so sehr auf ein gutes Erscheinungsbild und in der Regel auch auf die normgerechte Darstellung achtet ist mir das echt schleierhaft.

Grüße
Flo

Edit:
Was mir eben erst aufgefallen ist: Hochzeichen und Index sind nicht an derselben vertikalen Linie ausgerichtet, zumindest bei
E_\mathrm{S}^\mathrm{S} nicht. Bislang hatte ich im Hochzeichen ein R und dachte, dass die Verschiebung durch die Serifen begründet ist. Aber jetzt mit S im Hochzeichen wird es deutlich. Das ist ebenfalls sehr unschön... und natürlich auch nicht normgerecht ;)

Was die Schriftgröße angeht, bin ich mit \DeclareMathSizes{}{}{}{} fündig geworden. Jetzt muss nich nur noch gescheite Größen herausfinden und gut.

u_fischer
27-03-2010, 18:12
Also "das Problem mit den Indizes" wird bereits im TeXBook beschrieben inklusiver diverser Lösungen, und im Anhang werden die Regeln haarklein erläutert, die dafür verantwortlich sind.

Und bevor du dich weiter darüber beklagst, dass sich noch niemand um dieses "einfache" Problem gekümmert hat: Vergiss nicht, dass in so einem Sup- und Subscript und im "Hauptobjekt" beliebiges Material sein kann wie Brüche, Summen, Matrizen, Wurzeln ..., nicht einfach nur simple Zahlen und Buchstaben. Wenn irgendeine DIN nur von 6 möglichen Positionen spricht, hat sie einfach keine Ahnung oder richtet sich an Schreibmaschinenbenutzer.

lockstep
27-03-2010, 18:25
Wenn irgendeine DIN nur von 6 möglichen Positionen spricht, hat sie einfach keine Ahnung oder richtet sich an Schreibmaschinenbenutzer.

Das erinnert mich an die Zitierrichtlinie DIN 1505-2, die Leerzeichen vor bestimmten Doppelpunkten und Strichpunkten vorschreibt.

lockstep

voss
27-03-2010, 19:50
Edit:
Was mir eben erst aufgefallen ist: Hochzeichen und Index sind nicht an derselben vertikalen Linie ausgerichtet, zumindest bei
E_\mathrm{S}^\mathrm{S} nicht. Bislang hatte ich im Hochzeichen ein R und dachte, dass die Verschiebung durch die Serifen begründet ist. Aber jetzt mit S im Hochzeichen wird es deutlich. Das ist ebenfalls sehr unschön... und natürlich auch nicht normgerecht ;)


Das würde ziemlich unmöglich aussehen, wenn sie einen unterschiedlichen
Abstand zum vorhergehenden, kusiv gesetzten Zeichen hätten ...

Herbert

FloSch369
29-03-2010, 06:28
@u_fischer:
Vielen Dank für den Hinweis auf das TexBook. Dann werde ich da einmal nachsehen. Dass in einem Index natürlich alles mögliche stehen kann - aber nicht soll ;) - erschwert die Sache in der Tat. Das habe ich nicht bedacht.

@voss:
Ist vielleicht Geschmackssache. Ich persönlich finde es viel hässlicher, wenn Index und Exponent nicht auf derselben vertikalen Fluchtlinie angeordnet sind. Aber, oh Wunder, auch das wird im TeXBook beschrieben:
If ... you want the left edges of both subscript and superscript to be aligned, you can fool TEX by inserting a null subformula: ‘$P{}_2^2$’