PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formatierung einer langen Formel



No_Idea
21-05-2006, 12:33
Hallo!

Ich bin bald am wahnsinnig werden. Ich habe eine "kleine" Formel entwickelt und möchte sie auch schick anzeigen lassen. Das Problem ist: Latex macht es nicht ganz so, wie ich das gerne hätte. Hier erst mal der aktuelle Stand:


\begin{equation}\label{Zielfkt}
\begin{array}{rlll}
\text{min } Z = &\displaystyle\sum\limits_{k=1}^{l} &\Bigl( \displaystyle\sum\limits_{i,i'=1}^{m} \sum\limits_{j,j'=1}^{n} 1 \cdot x_{ijk} \cdot y_{i'j'k} &\displaystyle+ \sum\limits_{i=1}^{m} \sum\limits_{j=1}^{n} \sum\limits_{o'=1}^{n_{g}} 2 \cdot x_{ijk} \cdot z_{o'k}^{hb}\\
& &\displaystyle + \sum\limits_{i=1}^{m} \sum\limits_{j=1}^{n} \sum\limits_{q=1}^{n_{p}}5 \cdot x_{ijk}\cdot z_{qk}^{pb} &\displaystyle+\sum\limits_{o=1}^{n_{h}} \sum\limits_{i=1}^{m} \sum\limits_{j=1}^{n} 2 \cdot z_{ok}^{he} \cdot y_{ijk} \\
& &\displaystyle+ \sum\limits_{o=1}^{n_{h}} \sum\limits_{o'=1}^{n_{g}} M \cdot z_{ok}^{he} \cdot z_{o'k}^{hb} &\displaystyle+ \sum\limits_{o=1}^{n_{h}} \sum\limits_{q=1}^{n_{p}}M \cdot z_{ok}^{he} \cdot z_{qk}^{pb} \\
& &+ \sum\limits_{q=1}^{n_{p}} \sum\limits_{i=1}^{m} \sum\limits_{j=1}^{n} 5 \cdot z_{qk}^{pe} \cdot y_{ijk} &+ \sum\limits_{q=1}^{n_{p}} \sum\limits_{o'=1}^{n_{g}} M \cdot z_{qk}^{pe} \cdot z_{o'k}^{hb}\\
& &+ \sum\limits_{q,q'=1}^{n_{p}}M \cdot z_{qk}^{pe}\cdot z_{q'k}^{pb}\Bigr) &+\\
& \sum\limits_{k=1}^{l-1} &\Bigl( \sum\limits_{i,i'=1}^{m} \sum\limits_{j,j'=1}^{n} 1 \cdot y_{ijk} \cdot x_{i'j'k+1} &+ \sum\limits_{i=1}^{m} \sum\limits_{j=1}^{n} \sum\limits_{o=1}^{n_{h}} 2 \cdot y_{ijk} \cdot z_{ok+1}^{he}\\
& & + \sum\limits_{i=1}^{m} \sum\limits_{j=1}^{n} \sum\limits_{q=1}^{n_{p}}5 \cdot y_{ijk}\cdot z_{qk+1}^{pe} &+\sum\limits_{o'=1}^{n_{g}} \sum\limits_{i=1}^{m} \sum\limits_{j=1}^{n} 2 \cdot z_{o'k}^{hb} \cdot x_{ijk+1} \\
& &+ \sum\limits_{o'=1}^{n_{g}} \sum\limits_{o=1}^{n_{h}} 1 \cdot z_{o'k}^{hb} \cdot z_{ok+1}^{he} &+ \sum\limits_{o'=1}^{n_{g}} \sum\limits_{q=1}^{n_{p}}2 \cdot z_{o'k}^{hb} \cdot z_{qk'}^{pe} \\
& &+ \sum\limits_{q=1}^{n_{p}} \sum\limits_{i=1}^{m} \sum\limits_{j=1}^{n} 5 \cdot z_{qk}^{pb} \cdot x_{ijk+1} &+ \sum\limits_{q=1}^{n_{p}} \sum\limits_{o=1}^{n_{h}} 2 \cdot z_{qk}^{pb} \cdot z_{ok+1}^{he}\\
& &+ \sum\limits_{q,q'=1}^{n_{p}}M \cdot z_{qk}^{pb}\cdot z_{q'k+1}^{pe}\Bigr)
\end{array}
\end{equation}


ich habe das "\displaymath" bislang noch nicht vor jede Summe gescchrieben, aber eigentlich gehört es da hin.

Eigentlich sollen alle Summenzeichen gross sein, so wie in einer Mathematikumgebung. Zusätzlich soll aber die Ausrichtung der Zeichen so sein, wie es mit diesem Array gemacht wurde. Align, Aligned etc. haben mir bislang, aufgrund der eingebauten rechtsorientierung alle 2 tabs, nicht weitergeholfen, denn damit flattert die Formel wie wahnsinnig hin und her.

Gibt es irgendeine Möglichkeit, und sei es mit einer neuen Umgebung, die Formel irgendwie so zu gestalten, dass meine Wünsche erfüllt werden? (Grosse Summenzeichen, schicke trennung)

Ach ja, und ncoh eine Frage: Das ganze gehört zu einem Optimierungsmodell. Jetzt folgt eine Vielzahl vonNebenbeduingungen. Die kann mit gather ja ganz gut zusammensammeln, aber kann man gather auch irgendwie auf linksbündig trimmen? Das zentrierte sieht nicht ganz so schick aus.

Ich freue mich auf Vorschläge.

voss
21-05-2006, 15:26
[QUOTE=No_Idea]
ich habe das "\displaymath" bislang noch nicht vor jede Summe gescchrieben, aber eigentlich gehört es da hin.



\everymath{\displaystyle}


_vor_ die Formel

Warum formatierst du nicht mal optisch die Formel? Wie willst du da jemals Fehler suchen??

Herbert

No_Idea
21-05-2006, 17:10
Hervorragend, danke für die Info hat super geklappt.

zur Formelformatierung: Ich habe bei mir noch ein paar Kommentare drin, da ist das ein wenig besser verständlich. Gibt es da noch andere Tipps zur Formatierung? Einrücken mit Tabs oder so? oder war nur das damit gemeint?

voss
21-05-2006, 18:16
Hervorragend, danke für die Info hat super geklappt.

zur Formelformatierung: Ich habe bei mir noch ein paar Kommentare drin, da ist das ein wenig besser verständlich. Gibt es da noch andere Tipps zur Formatierung? Einrücken mit Tabs oder so? oder war nur das damit gemeint?

Jeder hat seinen persönlichen Stil beim Queltext-Formatieren von tabular und array. Ich benutze tab mit zwei Zeichen Einrückung, andere was anderes. Hängt auch viel vom Editor ab.

Herbert

voss
21-05-2006, 18:18
Hervorragend, danke für die Info hat super geklappt.


Es sollte aber alles in


\bgroup
\everymath{\displaystyle}

... deine Formel ...
\egroup


Sonst sind deine Fußnotenmarker auch größer, die werden nämlich im Mathemodus gesetzt.

Herbert

daswaldhorn
22-05-2006, 09:42
Hallo No_Idea,

also ich würde noch das "\Bigl(" durch "\left(" und "\Bigr)" durch "\right)" ersetzen. Dann passt sich die Größe der Klammer automatisch der Größe des Inhalts zwischen den Klammern an.

Grüße, Carsten

voss
22-05-2006, 09:57
Hallo No_Idea,

also ich würde noch das "\Bigl(" durch "\left(" und "\Bigr)" durch "\right)" ersetzen. Dann passt sich die Größe der Klammer automatisch der Größe des Inhalts zwischen den Klammern an.



Ein allgemeiner Irrglaube!

\[\left(\left(\left(A\right)\right)\right)\]

Herbert

daswaldhorn
22-05-2006, 11:34
Hallo Herbert,

Ein allgemeiner Irrglaube!

\[\left(\left(\left(A\right)\right)\right)\]öhm, kann es sein, das wir uns grade missverstehen? Vergleiche mal
\[\left(\int\limits_0^l\left(\frac{1}{2}\left(LEFT\r ight)\right)\right)\]
mit
\[\Bigl(\int\limits_0^l\Bigl(\frac{1}{2}\Bigl(BIGL\B igr)\Bigr)\Bigr)\]
Welche Variante passt sich automatisch der Größe des Inhalts zwischen den Klammern an? Bei mir ist es die Version mit \left und Co.

Grüße, Carsten

voss
22-05-2006, 14:02
Hallo Herbert,
öhm, kann es sein, das wir uns grade missverstehen? Vergleiche mal
\[\left(\int\limits_0^l\left(\frac{1}{2}\left(LEFT\r ight)\right)\right)\]
mit
\[\Bigl(\int\limits_0^l\Bigl(\frac{1}{2}\Bigl(BIGL\B igr)\Bigr)\Bigr)\]
Welche Variante passt sich automatisch der Größe des Inhalts zwischen den Klammern an? Bei mir ist es die Version mit \left und Co.


Dein letztes Beispiel ist doch komplett falsch. Wenn schon, dann musst du es schon richtig anwenden!



\[\bigg(\Big(\big(A\big)\Big)\bigg)\]


Dein erstes Beispiel passt hier nicht, da du zwischen zwei \left( einen mathematischen Term hast, an dem die Klammer ausgerichtet werden kann.

Es gibt genügend Fälle, wo man eben _nicht_ auf \left( zurückgreift.

Herbert

pospiech
22-05-2006, 14:48
Es gibt genügend Fälle, wo man eben _nicht_ auf \left( zurückgreift.


Ich bin etwas verwirrt, welche wären das denn genau ?
Mir würde nur der Fall einfallen, dass man verschachtelte Klammern hat und zur besseren Übersicht wünscht, dass die jeweils äußeren Klammern größer sind als die inneren. Das ließe sich dann mit den \bigx Befehlen lösen.
Aber einen grunsätzlichen Fehler würde man auch dann bei Verwendungn der \left Befehle nicht machen.

Matthias

voss
22-05-2006, 14:59
Ich bin etwas verwirrt, welche wären das denn genau ?
Mir würde nur der Fall einfallen, dass man verschachtelte Klammern hat und zur besseren Übersicht wünscht, dass die jeweils äußeren Klammern größer sind als die inneren. Das ließe sich dann mit den \bigx Befehlen lösen.


Das habe ich doch geschrieben! Immer dann, wenn die inneren Terme nicht für unterschiedliche Höhen sorgen:

\[x\cdot\bigg(\Big(x^2+y^2\Big)-3\bigg)\]

\[x\cdot\left(\left(x^2+y^2\right)-3\right)\]



Aber einen grunsätzlichen Fehler würde man auch dann bei Verwendungn der \left Befehle nicht machen.


natürlich nicht, es wird ja übersetzt. Aber ich könnte ja auch ein Dokument komplett in Typewriter setzen. Ist auch kein grundsätzlicher Fehler.

Herbert