Ausrichtung spalten mit alignat, fleqn und mathindent

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: Ausrichtung spalten mit alignat, fleqn und mathindent

von h725 » So 5. Jan 2014, 17:39

Hallo und erneut Danke,

das mit dem Mindestabstand bestätigt sich, verwendet man mathrlap und rückt alles immer weiter ein.

Die Lösung eines globalen Einzugs von 0 pt ist auch möglich, jedoch kommt es hier bei etwas breiteren Formeln wieder zu "zufälligen" nicht ganz nachvollziehbaren Verschiebungen.
(Potential für etwas breitere Formeln ist ja vorhanden, auch wenn man beachtet, dass die Nummerierung deutlich abgegrenzt erkennbar sein soll.)
Hier müsste für jede Formel das Endergebnis überprüft und bei Bedarf wieder "rumgefriemelt" werden.

Die Lösung mit mathrlap scheint für mich die beste zu sein.
Sie Endergebnis ist wie gewünscht und es ist zumindest irgendwie erklärbar, was dabei passiert.
Auch hier muss aber für jede Formel das Endergebnis betrachtet und bei Bedarf angepasst werden, jedoch weitaus systematischer als bei der ersten Lösung.

Ich denke, ich kann mit der Lösung gut leben.
Ich sehe damit das Problem als gelöst an
--> es sei denn, jmd. hat noch eine bessere Lösung ;-)

Vielen Dank nochmal!

von esdd » So 5. Jan 2014, 11:51

Vermutlich ist ein bestimmter Mindestabstand zwischen der Formel und der Gleichungsnummer vorgegegeben, der in deiner untersten alignat-Zeile unterschritten wird und dann die wirklich seltsame Dehnung auslöst (cos ist minimal breiter als sind). Dieser Abstand ist natürlich sinnvoll, damit man die Gleichungsnummer auf den ersten Blick als solche erkennt. Er sollte auch nicht zu klein sein.

Wenn du viele solcher eigentlich zu großen Systeme hast, kannst du entweder den \mathindent gleich auf 0pt setzen oder du „versteckst“ mit dem Befehl \mathrlap aus dem mathtools Paket (lädt amsmath) die Breite der letzten Spalte. Dann musst du aber jeweils selbst kontrollieren, ob der Abstand zwischen Gleichung und Nummer noch ausreicht.
\documentclass[fleqn] {scrreprt} 
%########################################################### 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{lmodern} 
\usepackage[ngerman]{babel} 

%########################################################### 
%Mathe und Smbole 
\usepackage{mathtools}% lädt auch amsmath
\setlength {\mathindent} {5 pt} 
%########################################################### 
\newcommand*\lsp[1]{\mathrlap{{}#1}}

\usepackage{blindtext}% für Fülltext
\begin{document} 
\blindtext

{\footnotesize 
\begin{alignat} {4} 
   m \dot{u}_{Kk} &= 
       \phantom{-} F\cos (\alpha-\alpha_W+\sigma) 
       &&+  A\sin(\alpha_W) 
       &&-W\cos(\alpha_W) 
       &&\lsp{- G\sin(\gamma)} 
       \label{eq:DGL_Punktmasse_xk}\\ 
       % 
   m \dot{\chi} V_{K} \cos(\gamma)&= 
       \phantom{-}F\sin(\alpha-\alpha_W+\sigma)\sin(\Phi) 
       &&+  A\cos(\alpha_W)\sin(\Phi) 
       &&+ W\sin(\alpha_W)\sin(\Phi) 
       && 
       \label{eq:DGL_Punktmasse_yk}\\ 
       % 
   -m \dot{\gamma} V_{K} &= 
       -  F\sin(\alpha-\alpha_W+\sigma)\cos(\Phi) 
       &&- A\cos(\alpha_W)\cos(\Phi) 
       &&-W\sin(\alpha_W)\cos(\Phi) 
       &&\lsp{+ G\cos(\gamma)} 
       \label{eq:DGL_Punktmasse_zk} 
\end{alignat}}
\blindtext
\[Formel: \text{eine weitere Formel, möglichst linksbündig}\]
\end{document}

von h725 » So 5. Jan 2014, 10:18

Dank für die schnelle und hilfreiche Antwort,

die Sache mit dem \phantom ist bedeutend eleganter als mein rumgefrickel.
Auch die lokale Anwendung der \setlength\mathindent{...} erfüllt hier seinen Zweck.

Mich wundert es dennoch, dass die Abstände vor den Opratoren (automatisch) so groß gewählt werden, dass die ganze Formel nicht mehr in die Zeile passt. Das Potential, dass die Formel in die Ziel passt ist ja, wie gesagt vorhanden

Wenn man der Wert für \mathindent{...} erhöht "wandert" die Formel, immer weiter nach rechts, die Abstände vor den Operatoren wird aber wieder verringert.
Allerdings ist dann irgendwann die Nummerierung wieder nicht in der gelichen Zeile.

Da ich in dem Dokument nicht nur ein Gelichungssytem dieser Art verwende, müsste ich dann wohl für jedes Glsichungssystem eine lokale Lösung "hinfrickeln"? Das sollte doch mit der alignet Umgeung automatisch gehen.
Gibt es her keine "autmatische" Lösung?

Vielen Dank

von esdd » So 5. Jan 2014, 04:51

Du kannst den mathindent lokal verringern:
{\footnotesize\setlength\mathindent{2pt}
\begin{alignat} {4} 
...
\end{alignat}}
Die {...} halten die Änderungen lokal, auch die Umschaltung auf \footnotesize.

Wenn du in den ersten beiden Gleichungszeilen den Platz von dem Minus als Vorzeichen vor F freihalten willst, dann kannst du auch einfach \phantom{-} verwenden:
...
\phantom{-}F\cos (\alpha{-}\alpha_W{+}\sigma) 
...
Gruß
Elke

Ausrichtung spalten mit alignat, fleqn und mathindent

von h725 » So 5. Jan 2014, 01:17

Hallo,

ich bin neu hier und habe folgendes Problem:
Ich will eine Gleichungssystem darstellen wobei
- die einzelnen Gleichungen in eine Zeile passen sollen,
- die einzelnen Terme anhand der mathematischen Operatoren ausgerichtet sein sollen und
- gleichzeitig eine Nummerierung jeder einzelnen Zeile vorhanden ist (hierdurch dürfte wohl die Lösung mit Verwendung einer array Umgebung ausscheiden).

Ich will, dass im gesamten Dokument die Formeln links ausgerichtet sind und am besten mit einem Abstand von 5 pt vom linken Seitenrand.
Hierfür benutze ich [fleqn] und \setlength {\mathindent} {5 pt}

Verwende ich [fleqn] nicht, dann kann ich die Formeln innerhalb einer Ziele mit der Schriftgröße \footnotsize darstellen.
Hierbei sind, wie erwartet die anschließend folgenden Formeln nicht linksbünig.

Verwende ich [fleqn], dann sind zwar alle Formeln linksbündig, jedoch passen die langen Gleichungen nicht mehr zusammen mit der Nummerierung in eine Zeile.

Mit Verwendung von \setlength {\mathindent} {5 pt} kann ich erreichen, dass die Formeln noch weiter links beginnen.
Jetzt sollte eigentlich genug Platz zur Darstellung der langen Gleichungen vorhanden sein, bei alleiniger Verwendung von fleqn war es jedenfalls so.
Jedoch ragen die langen Formeln nun über die maximale Textbreite hinaus.
Ganz offensichtlich sind hier die Abstände zwischen den ausgerichteten Spalten (jewiels vor den Operatoren) der alignat Umgebung stark vergrößert.

Wie kann ich die Abstände bei der Ausrichtung verkleinern ode steuern?

 
\documentclass[
11pt,         % Schriftgroesse
a4paper,     % A4-Format
] {scrreprt}
%###########################################################
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern} 
\usepackage[ngerman]{babel} 

%###########################################################
%Mathe und Smbole
\usepackage[fleqn]{amsmath} 
\setlength {\mathindent} {5 pt} 
%###########################################################

\begin{document}
    
    Das ist ein normal breiter Text Text Text Text Text Text Text  Text  Text Text Text Text Text Text Text Text Text Text Text Text Text Text  Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
    
    \footnotesize
    \begin{alignat} {4}
        m \dot{u}_{Kk} &= 
            \quad\!\! F\cos (\alpha{-}\alpha_W{+}\sigma) 
            &&+  A\sin(\alpha_W) 
            &&-W\cos(\alpha_W) 
            &&- G\sin(\gamma) 
            \label{eq:DGL_Punktmasse_xk}\\
            %
        m \dot{\chi} V_{K} \cos(\gamma)&= 
            \quad\!\! 
            F\sin(\alpha{-}\alpha_W{+}\sigma)\sin(\Phi)
            &&+  A\cos(\alpha_W)\sin(\Phi) 
            &&+ W\sin(\alpha_W)\sin(\Phi)
            && 
            \label{eq:DGL_Punktmasse_yk}\\
            %
        -m \dot{\gamma} V_{K} &=
            -  F\sin(\alpha{-}\alpha_W{+}\sigma)\cos(\Phi) 
            &&- A\cos(\alpha_W)\cos(\Phi)
            &&-W\sin(\alpha_W)\cos(\Phi) 
            &&+ G\cos(\gamma) 
            \label{eq:DGL_Punktmasse_zk}
    \end{alignat}
    \normalsize
    
    \begin{equation}
        Formel: \text{eine weitere Formel, möglichst linksbündig}
    \end{equation}
    
\end{document}

Nach oben