Tiefstellung tiefer setzen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tiefstellung tiefer setzen

von Besserwisser » Di 23. Jul 2013, 10:48

Noch so einer hat geschrieben:Eigentlich bietet sich an, stattdessen mit \every@math@size zu arbeiten. Der Code wird AFAIK bei jeder Umschaltung der Mathe-Schriftgröße ausgeführt:
\makeatletter
\every@math@size{\fontdimen16\textfont2=10pt}
\makeatother
Man sollte \every@math@size allerdings niemals wie hier einen Wert direkt zuweisen, sondern über \addto@hook, weil sonst vorherige Werte von \every@math@size, die beispielsweise von einer Klasse oder einem Paket gesetzt werden, verloren gehen. Richtig wäre also
\makeatletter
\addto@hook\every@math@size{\fontdimen16\textfont2=10pt}
\makeatother
Anfänger seien darauf hingewiesen, dass \addto@hook aus dem LaTeX-Kern ausschließlich für Token-Register gedacht ist. \every@math@size ist ein solches Token-Register.

Passendes Paket

von Stamm- » Di 23. Jul 2013, 10:38

Hier hätte vielleicht auch das Paket subdepth geholfen.

von matzmatz » Di 23. Jul 2013, 09:51

Danke für eure Vorschläge, es funktioniert!

Übrigens zeigte mir dieses Problem einmal mehr, wie hilfreich Minimalbeispiele sein können. Denn zuerst dachte ich, die fehlende "tiefere" Tiefstellung sei darauf zurückzuführen, dass die entsprechenden Symbole in einer Tabelle stehen. Beim Erstellen des Minimalbeispiels konnte ich jedoch das Problem selbstständig auf den Befehl \small zurückführen.

von Noch so einer » Mo 22. Jul 2013, 17:48

Eigentlich bietet sich an, stattdessen mit \every@math@size zu arbeiten. Der Code wird AFAIK bei jeder Umschaltung der Mathe-Schriftgröße ausgeführt:
\makeatletter
\every@math@size{\fontdimen16\textfont2=10pt}
\makeatother
Das ist dann auch nicht mehr wirklich ein übler Hack, weil \every@math@size (mehr schlecht als recht) in source2e.pdf genau für solche Zwecke dokumentiert ist.

Man kann sich das \selectlanguage{ngerman} in der Präambel übrigens sparen, wenn man ngerman beim Laden von babel als erste Sprache angibt. Die erste Sprache ist immer die "Hauptsprache". Siehe den ersten Abschnitt der aktuellen Anleitung zu babel (ab Version 3.9).

von Besserwisser » Mo 22. Jul 2013, 17:34

Im Prinzip musst Du den gleichen Code für alle Schriftgrößen (und ggf. Schnitte), auf die er angewendet werden soll, ausführen, da \fontdimen schriftabhängig ist. Also beispielsweise:
\makeatletter
\glb@settings\fontdimen16\textfont2=10pt% für \normalsize
\small\glb@settings\fontdimen16\textfont2=10pt% für \small
\makeatother
Das ist übrigens durchaus ein übler Hack, da er voll auf Interna von LaTeX setzte.

Tiefstellung tiefer setzen

von matzmatz » Mo 22. Jul 2013, 16:57

Hallo,

bei meiner Arbeit habe ich die Indizes von matematischen Symbolen etwas tiefer gestellt. Einen entsprechenden Code dazu habe ich im Netzt gefunden (vor \begin{document}). Jedoch funktioniert diese "tiefere" Tiefstellung nicht, wenn ich die Schrift vorher auf \small umschalte. Das Problem ist im Minimalbeispiel (übertrieben) verdeutlicht. Wie erreiche ich die tiefere Tiefstellung auch, wenn die Schrift auf \small eingestellt ist?
\documentclass[paper=a4,oneside,onecolumn,12pt]{scrreprt} 
\usepackage{lmodern}
\usepackage[onehalfspacing]{setspace} %\singlespacing %\doublespacing   
\usepackage[english,ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[latin1]{inputenc} 
\usepackage{booktabs}
\usepackage{amsmath}
\selectlanguage{ngerman}

\makeatletter
\glb@settings 
\fontdimen16\textfont2=10pt
\makeatother

\begin{document}
Im Laufe der Arbeit kommen sowohl im Text auch als in Tabellen einige Formelzeichen vor. Die Indizes bei dem Symbol $\sigma_X$ sollen etwas tiefergestellt werden (uebertrieben dargestellt). Dies funktioniert in diesem Minimalbeispiel gut. In den Tabellen wird jedoch kleinerer Text genutzt.

Nachdem der Text kleiner gestellt wurde, nimmt obiger Befehl keinen Einfluss mehr auf die Tiefstellung.

\small

Nun ist der Text kleiner eingestellt. Die Aenderung der Tiefstellung funktioniert nun nicht mehr: Symbol $\sigma_X$. Im Folgenden noch eine Tabelle zur Verdeutlichung.

\bigskip
\begin{tabular}{ccc}
\toprule
Spalte 1 & Spalte 2 & Spalte 3\\
\midrule
$\sigma_1$ & $\sigma_2$ & $\sigma_3$\\
$\sigma_X$ & $\sigma_Y$ & $\sigma_Z$\\
\bottomrule
\end{tabular}

\end{document}
Gruß
Matz

Nach oben