Seite 1 von 1

Linksbündiges mehrspaltiges Gleichungssystem mit Nummerierun

Verfasst: Fr 8. Feb 2013, 06:57
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

Verfasst: Fr 8. Feb 2013, 09:42
von Epllus
Poste mal ein Minimalbeispiel mit deinen Versuchen.

Epllus

Verfasst: Sa 9. Feb 2013, 00:42
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.

Verfasst: Sa 9. Feb 2013, 11:00
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

Verfasst: So 10. Feb 2013, 00:38
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

Verfasst: So 10. Feb 2013, 14:26
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

Verfasst: So 10. Feb 2013, 23:47
von MisterJ
Hallo Elke,

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

Vielen Dank