PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit vertikalen Abständen bei Formeln



thomsen
28-07-2015, 13:16
Hallo Zusammen!

Wieder einmal wende ich mit einem kleinen Problem an euch. Ich muss bei einer umfangreichen Arbeit den vertikalen Abstand vor und nach Formeln so anpassen, dass er überall exakt gleich groß (z.B. 4pt) ist. Habe dazu folgendes Beispiel:

\documentclass[a4paper,12pt]{scrartcl}
\usepackage [latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{lipsum}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{amssymb}

\numberwithin{equation}{section}
\setlength{\parindent}{0.0in}


\begin{document}
\setlength\abovedisplayskip{4pt}
\setlength\abovedisplayshortskip{4pt}
\setlength\belowdisplayskip{4pt}
\setlength\belowdisplayshortskip{4pt}

\section{Test}
\blindtext

\begin{equation}
a^2 + b^2=c^2
\end{equation}

\lipsum[2]

\begin{equation}
H_2 + \dfrac{1}{2} O_2 \rightarrow H_2O
\end{equation}

Diese Formel sieht richtig nett aus:
\begin{equation}
Na^+ +Cl^- \rightarrow NaCl
\label{eq:kathSäurereaktion}
\end{equation}
\lipsum[1]

\begin{equation}
SO_2 + 2H_2O \rightarrow H_2SO_3
\end{equation}

\begin{equation}
CH_4 + 2O_2 \rightarrow CO_2 + 2H_2O
\end{equation}
\lipsum[1]

\end{document}
Leider sieht das Ergebnis alles andere als einheitlich aus. Wie man im Anhang erkennen kann sind die Abstände sehr unterschiedlich. Ich würde sagen, dass nur bei der Formel 1.3 die Abstände korrekt sind. Ansonsten sind die Abstände vor den Formeln bzw. zwischen Formel 1.4 und 1.5 zu groß. Auch zwischen 2 Formel möchte ich einen Abstand von 4pt erzeugen.
Anscheinend wird die Definition der diplayskip-Abstände nicht überall übernommen.
Woran liegt mein Problem bzw. wie kann man dies ändern?
Vielen Dank für eure Hilfe.

Gruß
Thomsen

Johannes_B
28-07-2015, 17:17
Da sind überall Absatzumbrüche drin. Allerdings halte ich das Festsetzen der Abstände für nicht sehr klug, das sieht doch schrecklich aus.


\documentclass[a4paper,12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage[nopar]{lipsum}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{amssymb}

\numberwithin{equation}{section}
%\setlength{\parindent}{0.0in}% Was soll das?


\begin{document}
\setlength\abovedisplayskip{4pt}
\setlength\abovedisplayshortskip{4pt}
\setlength\belowdisplayskip{4pt}
\setlength\belowdisplayshortskip{4pt}

\section{Test}
\blindtext
\begin{equation}
a^2 + b^2=c^2
\end{equation}
\lipsum[2]\rule{6cm}{2pt}
\begin{equation}
H_2 + \dfrac{1}{2} O_2 \rightarrow H_2O
\end{equation}
Diese Formel sieht richtig nett aus:
\begin{equation}
Na^+ +Cl^- \rightarrow NaCl
\label{eq:kathSäurereaktion}
\end{equation}
\lipsum[1]
\begin{equation}
SO_2 + 2H_2O \rightarrow H_2SO_3
\end{equation}
\begin{equation}
CH_4 + 2O_2 \rightarrow CO_2 + 2H_2O
\end{equation}
\lipsum[1]
\end{document}


Übrigens solltest du für Chemie besser ein Paket wie chemformula einsetzen.

thomsen
29-07-2015, 09:24
Vielen Dank für deine Antwort.

Leider habe ich 2 Probleme. Zum einen habe ich ein extrem großes Projekt vorliegen, dass von diversen Autoren stammt. Manche haben dabei die Formeln mit einem Absatz davor oder danach eingefügt, andere wiederum nicht. Gibt es daher eine Möglichkeit diese Absätze vor und nach Formeln zu ignorieren?

Andererseits schwankt der Abstand (auch wenn keine Absätze davor oder danach eingefügt sind) in der Ausgabedatei mit den Standardeinstellungen teilweise um bis zu 3,5mm. Die Standardeinstellungen sind anscheinend wie folgt definiert:


\abovedisplayskip=12pt plus 3pt minus 7pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayskip=12pt plus 3pt minus 7pt
\belowdisplayshortskip=6.5pt plus 3.5pt minus 3pt
Der Unterschied im vertikalen Abstand kommt somit aufgrund der zulässigen Schwankungsbreite zustande.
Das macht natürlich zwecks Textsatz oftmals Sinn. Leider habe ich eine exakte Vorgabe, die besagt das der Abstand vor und nach Formeln kleiner und einheitlich sein muss. Daher der Ansatz diese auf einen festen Wert zu setzten. Allerdings schwanken die Abstände trotz fest definiertem Wert von z.B. 4pt noch immer um ca. 1-2mm in der Ausgabedatei. Gibt es also eine Möglichkeit dies zu unterbinden, auch auf die Gefahr hin das es nicht optimal aussieht?

Vielen Dank.
Thomsen