Linksbündiges mehrspaltiges Gleichungssystem mit Nummerierun

Formelsatz für Mathematik, Naturwissenschaften und Technik


MisterJ
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 8. Feb 2013, 06:10

Linksbündiges mehrspaltiges Gleichungssystem mit Nummerierun

Beitrag von MisterJ »

Hallo zusammen,

ich möchte eine mehrspaltiges (Un-)Gleichungssystem für ein Minimierungsproblem formulieren, habe aber noch keinen Weg gefunden, um dieses nach mehreren Spalten auszurichten.
Es soll ungefähr so aussehen, wobei die vertikalen Striche nur zur Verdeutlichung eines Spaltenanfangs dienen sollen:
% |(QM)   |Minimiere    |Z =   | x^2 + y^2 + z^2
% |       |             |      | + 20x + 3y                                       (1.1)
% |       |so dass      |x_i < | 3y_i       |fuer alle i \in \left\{0, 1\right\}  (1.2)
% |       |             |y_i = | 2x_i + z_i |fuer alle i \in \left\{0, 1\right\}  (1.3)
Auf folgende Eigenschaften kommt es mir an:
+ Alle Spalten sollen linksbündig ausgerichtet sein
+ Alle Spalten sollen nummeriert werden können (nicht nur eine für alles)
+ Die Zelle rechts oben (x^2 + ...) soll in zwei Zeilen aufgeteilt werden können und eine Ausnahme bei der Nummerierung sein, da nur die untere Zeile oder die Mitte der beiden ersten Zeilen nummeriert werden soll
+ alle anderen Formeln sollen mittig ausgerichtet sein, also keine globale EInstellung für linksbündige Formeln

Ich habe schon mehrere Dinge ausprobiert:
+ flalign: bei der ich nur die ersten beiden Spalten verwendet habe. Dabei ist die erste natürlich nicht linksbündig, aber da in den anderen Zellen der ersten Spalte nichts stehen soll, ist das egal. In diesem flalign habe ich versucht ein weiteres flalign zu integrieren, allerdings ohne Erfolg.
+ array: Eigentlich genau das richtige, allerdings nur eine Formelnummer
+ flalign mit array: leider auch kein Erfolg
+ array aus equations: auch kein Erfolg

Hat jemand einen Tipp, wie ich ob beschriebenes Konstrukt in LaTeX hinbekomme?

Vielen Dank für Vorschläge

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Poste mal ein Minimalbeispiel mit deinen Versuchen.

Epllus

MisterJ
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 8. Feb 2013, 06:10

Beitrag von MisterJ »

Hier wäre ein Versuch von mir:
\documentclass[a4paper, 12pt]{scrbook}
\usepackage{a4wide}
\usepackage{times}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}			
\renewcommand{\arraystretch}{1.5}
\usepackage{amsmath, amssymb}
\usepackage{tabularx}
\usepackage{array}
\begin{document}

% gewuenscht ist folgendes Aussehen
%
% |(QM)   |Minimiere    |Z =   | x^2 + y^2 + z^2
% |       |             |      | + 20x + 3y                                       (1.1)
% |       |so dass      |x_i < | 3y_i       |fuer alle i \in \left\{0, 1\right\}  (1.2)
% |       |             |y_i = | 2x_i + z_i |fuer alle i \in \left\{0, 1\right\}  (1.3)

\fbox{
\begin{tabularx}{\textwidth}{|@{}p{0.1\textwidth}|@{}p{0.11\textwidth}|@{}p{0.05\textwidth}|@{}X|}
  (QM) & Minimiere & $Z =$      & \begin{minipage}[t]{0.684\textwidth}
                                    \begin{align*}%
                                      x^2 + y^2 + z^2%
                                    \end{align*}%
                                  \end{minipage}\\
       &           &            & \begin{minipage}[t]{0.684\textwidth}
                                    \begin{align}%
                                      + 20x + 3y%
                                    \end{align}%
                                  \end{minipage}\\
       & so dass   & $x_i \leq$ & \begin{minipage}[t]{0.684\textwidth}
                                    \begin{align}%
                                      3 y_i = 5 \qquad \forall i \in \left\{0, 1\right\}
                                    \end{align}%
                                  \end{minipage}\\
       &           & $y_i \leq$ & \begin{minipage}[t]{0.684\textwidth}
                                    \begin{align}%
                                      2 x_i + z_i \qquad \forall i \in \left\{0, 1\right\}
                                    \end{align}%
                                  \end{minipage}
\end{tabularx}
}

\end{document}
Dabei ergeben sich jedoch die Probleme, dass ich in den Minipages der letzten Spalte keine &-Zeichen in die (fl)align Umgebung eingeben kann.
Der Abstand zu den jeweiligen Rändern ist auch noch nicht richtig eingestellt, so dass die Formelnummern nicht bündig mit dem rechten Textrand erscheinen.
Die Formeln der letzten Spalte scheinen auch irgendwie nach unten oder oben zu verrücken, aber vielleicht lässt sich das auch durch die Randeinstellungen noch ändern.
Was ich allerdings bisher nicht geschafft habe ist die letzte Spalte linksbündig zu bekommen, deren Spaltenbreite (automatisch) auf den verbleibenden Platz der Linie zu setzen.

Aber vielleicht gibt es einfachere Methoden, um das zu erreichen.

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

So in etwa?
\documentclass[a4paper, 12pt]{scrbook} 
\usepackage{a4wide} 
\usepackage{times} 
\usepackage[applemac]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel}         
\renewcommand{\arraystretch}{1.5} 
\usepackage{amsmath, amssymb} 
\usepackage{tabularx} 
\usepackage{array} 
\begin{document} 

% gewuenscht ist folgendes Aussehen 
% 
% |(QM)   |Minimiere    |Z =   | x^2 + y^2 + z^2 
% |       |             |      | + 20x + 3y                                       (1.1) 
% |       |so dass      |x_i < | 3y_i       |fuer alle i \in \left\{0, 1\right\}  (1.2) 
% |       |             |y_i = | 2x_i + z_i |fuer alle i \in \left\{0, 1\right\}  (1.3) 

\begin{align}
(QM) &&Minimiere	&&Z= &~~x^2+y^2+z^2& \notag \\
&& && &~~+20x+3y& \\
&&\text{so dass} &&x_i < &~~3y_i&  && \text{für alle i} \in \left\{0,1\right\} \\
&& &&y_i= &~~2x_i+z_i& && \text{für alle i} \in \left\{0, 1\right\}
\end{align}


\end{document}
Hoffe es hilft
Epllus

MisterJ
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 8. Feb 2013, 06:10

Beitrag von MisterJ »

Hallo Epplus,

deine Lösung ist leider nicht genau das was ich brauche.
Zum einen ist die ganze Tabelle nicht am linken Text-Rand ausgerichtet und die zusätzliche Spalte, die ab der dritten Zeile hinzukommt, beginnt erst nach der letzten Spalte der oberen beiden Zeilen. Das ist in dem Beispiel nocht nicht so dramatisch, allerdings bei sehr langen Formeln in Zeile 1 und 2 ergibt das ein unschönes Gesamtbild.
Gibt es vielleicht eine Möglichkeit, die align Umgebung links auszurichten? Ich weiß, dass man eine Formel mit der flalign Umgebung auhc links ausrichten kann. Wenn dann aber eine zweite Gleichung (oder eine zusätzliche Spalte) hinzukommt, dann wird diese ganz nach rechts verschoben, was ich auch nicht möchte.
Oder gibt es eine Möglichkeit mit normalen Tabellen zu arbeiten, in denen man zum Beispiel auch große Mathesymbole (Summenzeichen mit Index unterhalb des Summenzeichens) darstellen kann und einzelne Zeilen eine Formelnummer gibt?

Viele Grüße

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hallo,

hier ist mal noch ein Vorschlag mit flalign und dem Paket eqparbox, der allerdings zwei Durchläufe braucht:
\documentclass{scrbook} 
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}}
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel}
\usepackage{amsmath}

\usepackage{eqparbox}
\newcommand\gleqparbox[3][\qquad]{\eqparbox{#2}{$\displaystyle#3#1$}}

\begin{document} 

\begin{flalign} 
  (QM)\quad &\text{Minimiere}   &Z&=0.5(x^2+y^2+z^2)+0.5(x^2+y^2+z^2)& \notag \\ 
  & & &\quad+20x+3y& \\ 
  &\text{so dass} & x_i &< \gleqparbox{gl1}{3y_i}   \text{für alle i} \in \left\{0,1\right\}& \\ 
  & &y_i&= \gleqparbox{gl1}{2x_i+z_i}  \text{für alle i} \in \left\{0, 1\right\}& 
\end{flalign} 

\end{document}
Gruß
Elke

MisterJ
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 8. Feb 2013, 06:10

Beitrag von MisterJ »

Hallo Elke,

das war genau das, was ich gesucht habe :-)

Vielen Dank

Antworten