Zeilenabstand in array-Umgebung Thema ist als GELÖST markiert

Formelsatz für Mathematik, Naturwissenschaften und Technik


Bijick

Zeilenabstand in array-Umgebung

Beitrag von Bijick »

Hallo,

in diesem Formel-Array sind die Zeilenabstände sehr klein, alles sieht so gedrängt aus.
\documentclass{article}
\usepackage{amsmath}
\usepackage[ngerman]{babel}

\begin{document}
$$\begin{array}{rcl}
\multicolumn{3}{l}{\frac{\text{d}}{\text{d}t} \;
q(X_{x_0}^\varepsilon(\hat\omega,t) + \varepsilon (B(\hat\omega,s)
-B(\hat\omega,t)))}\\
%
&=&\frac{1}{2} \frac{\text{d}}{\text{d}t}
\left(X_{x_0}^\varepsilon(\hat\omega,t) + \varepsilon
(B(\hat\omega,s) - B(\hat\omega,t))\right)^{\top}
\left(X_{x_0}^\varepsilon(\hat\omega,t) +
\varepsilon (B(\hat\omega,s) - B(\hat\omega,t))\right)\\
%
&=& \left(X_{x_0}^\varepsilon(\hat\omega,t)+\varepsilon
(B(\hat\omega,s) - B(\hat\omega,t))\right) ^\top \left(
\frac{\text{d}}{\text{d}t} (X_{x_0}^\varepsilon(\hat\omega,t) -
\varepsilon (B(\hat\omega,t) - B(\hat\omega,s)))\right)\\
\end{array}$$

\end{document}
Kann man die Zeilenabstände manuell vergrößern?

Danke, Bijick

P.S. Die Antwort bitte für Dummies formulieren. :)

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Beitrag von phi »

Hallo,

die Array-Umgebung ist für Tabellen gedacht. Für Formeln ist sie unbrauchbar und umständlich. Benutze für solche Konstruktionen die Umgebungen aus amsmath und mathtools:
\documentclass{article} 
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage[ngerman]{babel} 

\begin{document}

\begin{equation*}
  \begin{split}
    \MoveEqLeft \frac{\text{d}}{\text{d}t} \; q(X_{x_0}^\varepsilon(\hat\omega,t) + \varepsilon (B(\hat\omega,s) -B(\hat\omega,t))) \\
    &=\frac{1}{2} \frac{\text{d}}{\text{d}t} \left(X_{x_0}^\varepsilon(\hat\omega,t) + \varepsilon (B(\hat\omega,s) - B(\hat\omega,t))\right)^{\top} \left(X_{x_0}^\varepsilon(\hat\omega,t) + \varepsilon (B(\hat\omega,s) - B(\hat\omega,t))\right) \\
    &= \left(X_{x_0}^\varepsilon(\hat\omega,t)+\varepsilon (B(\hat\omega,s) - B(\hat\omega,t))\right) ^\top \left(\frac{\text{d}}{\text{d}t} (X_{x_0}^\varepsilon(\hat\omega,t) - \varepsilon (B(\hat\omega,t) - B(\hat\omega,s)))\right)\\ 
  \end{split}
\end{equation*}

\end{document}

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2498
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Zeilenabstand in array-Umgebung

Beitrag von Stefan Kottwitz »

Hallo Bijick,

ich unterstütze phi's Empfehlung.
Bijick hat geschrieben: Kann man die Zeilenabstände manuell vergrößern?
Mit seinem Beispiel kannst Du zusätzlich den Zeilenabstand durch Änderung der Länge \jot anpassen, z.B.:
\setlength{\jot}{20pt}
Stefan

Schweinebacke

Beitrag von Schweinebacke »

In l2tabu kann man außerdem lesen, dass man $$...$$ u. a. wegen dann nicht funktionierender vertikaler Abstände meiden soll.

Ansonsten: Ich denke, array kann man schon verwenden, beispielsweise für eine Matrix. Für Gleichungssysteme sollte man aber wirklich den Vorschlägen folgen und amsldoc.pdf lesen.

Bijick

Beitrag von Bijick »

Hallo,

vielen Dank für die Antworten. Leider funktioniert der Beispiel-Code nicht. Ich bekomme die Fehlermeldung
! Undefined control sequence.
<argument> \split@tag \begin {split} \MoveEqLeft
\frac {\text {d}}{\text {d}...
l.13 \end{split}
Wenn ich den \MoveEqLeft-Befehl weglasse, läuft es durch, aber die zweite und dritte Zeile sind zu weit rechts.

Ich benutze als Software WinEdt und kompiliere einfach per Knopfdruck "Texify" oder "Latex". Muss ich noch etwas anderes machen, damit \MoveEqLeft funktioniert?

Grüße
Bijick

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Beitrag von phi »

Bijick hat geschrieben:Leider funktioniert der Beispiel-Code nicht.
Grundsätzlich funktioniert er problemlos. Hast du eventuell eine alte Version von mathtools, die den Befehl noch nicht enthält? Laut Dokumentation ist \MoveEqLeft „erst“ seit Juni 2008 enthalten.

Bijick

Beitrag von Bijick »

Hallo,

leider hat das Aktualisieren von mathtools auch nichts gebracht. \MoveEqLeft funktioniert immer noch nicht. Die Antwort auf meine Frage habe ich jetzt von einer Kollegin bekommen: [1ex] nach jeder Zeile. Manchmal kann es so einfach sein. :D
\documentclass{article}
\usepackage{amsmath}
\usepackage[ngerman]{babel}

\begin{document}
$$\begin{array}{rcl}
\multicolumn{3}{l}{\frac{\text{d}}{\text{d}t} \;
q(X_{x_0}^\varepsilon(\hat\omega,t) + \varepsilon (B(\hat\omega,s)
-B(\hat\omega,t)))}\\[1ex]
%
&=&\frac{1}{2} \frac{\text{d}}{\text{d}t}
\left(X_{x_0}^\varepsilon(\hat\omega,t) + \varepsilon
(B(\hat\omega,s) - B(\hat\omega,t))\right)^{\top}
\left(X_{x_0}^\varepsilon(\hat\omega,t) +
\varepsilon (B(\hat\omega,s) - B(\hat\omega,t))\right)\\[1ex]
%
&=& \left(X_{x_0}^\varepsilon(\hat\omega,t)+\varepsilon
(B(\hat\omega,s) - B(\hat\omega,t))\right) ^\top \left(
\frac{\text{d}}{\text{d}t} (X_{x_0}^\varepsilon(\hat\omega,t) -
\varepsilon (B(\hat\omega,t) - B(\hat\omega,s)))\right)\\
\end{array}$$

\end{document}
Danke trotzdem, vielleicht nützt es ja jemand anderem noch.

Grüße
Bijick

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2498
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Zeilenabstände in arrays

Beitrag von Stefan Kottwitz »

Bijick hat geschrieben:Die Antwort auf meine Frage habe ich jetzt von einer Kollegin bekommen: [1ex] nach jeder Zeile. Manchmal kann es so einfach sein. :D
Oder, statt diesen Abstand in jede Zeile zu schreiben, noch einfacher, nur einmalig
\renewcommand*\arraystretch{1.4}
Das würde generell array-Zeilenabstände strecken. Höhere Werte sind natürlich auch möglich. Vor allem kannst Du an dem Wert auch im Nachhinein noch einfach justieren.

Stefan

Antworten