Textverarbeitung
Von: frederika, 2.7.2010 13:44 Uhr
Hallo,
wenn ich mit latex arbeite, habe ich oft formeln, die ich in mehreren schritten umforme. ich bentuze dafür einen split und ordne die gleichheitszeichen untereinander an. allerdings ist es teilweise so, dass einzelne schritte zu lang für eine zeile sind und ich weiß nicht, wie ich sie innerhalb der umgebung richtig anordnen kann. ich weiß, dass man eine zu lange formel mit multline anordnen kann, aber anscheinend nicht in einer umgebung.
hier ein beispiel
\begin{equation}
\begin{split}
<x_f \vert e^{-\frac{i}{\hbar}{H}t_0} \vert x_i> &= <x_f \vert e^{-\frac{i}{\hbar}{H}t_0} \vert x_i>_1 + <x_f \vert e^{-\frac{i}{\hbar}{H}t_0} \vert x_i>_2 \\
& \approx e^{\frac{i}{\hbar}(S^{(0)}[x_{min,1}]- \frac{e}{c}\int_{x_{min,1}}dx A(x))} + e^{\frac{i}{\hbar}(S^{(0)}[x_{min,2}]- \frac{e}{c}\int_{x_{min,2}}dx A(x))} \\
&= e^{\frac{i}{\hbar}(S^{(0)}[x_{min,1}]- \frac{e}{c}\int_{x_{min,1}}dx A(x))} ( 1+ e^{\frac{i}{\hbar}(S^{(0)}[x_{min,2}]- \frac{e}{c}\int_{x_{min,2}}dx A(x) )}\\
e^{\frac{1}{\hbar}(- S^{(0)}[x_{min,1}]+ \frac{e}{c}\int_{x_{min,1}}dx A(x))}) \\
&= e^{\frac{i}{\hbar}(S^{(0)}[x_{min,1}]- \frac{e}{c}\int_{x_{min,1}}dx A(x))} ( 1+ e^{\frac{i}{\hbar}(S^{(0)}[x_{min,2}]- S^{(0)}[x_{min,1}])}\\
e^{ \frac{ie}{\hbar c}(\int_{x_{min,2}}dx A(x)-\int_{x{min,1}}dx A(x)) })
\end{split}
\end{equation}

das problem ist, dass die letzten beiden zeilen zu lang sind und durch \\ rechts angeordnet werden.
ich hätte sie aber gerne links, so wie es mit multline aussieht.
alles was ich bisher probiert habe ist nich zufriedenstellend, vor allem, da ich die nummerierung so beibehalten möchte.
ich wäre für antworten dankbar



  1. Antwort von Fritze 0
    Re: latex formel mit mehreren schritten anordnen
    Hallo, hier ein beispiel
    Dein Beispiel ist nicht so toll. Man kann es kaum lesen und es taugt auch nicht als Minimalbeispiel, weil man sich den Dokumentenrahmen darum herum erst selbst basteln muss. das problem ist, dass die letzten beiden zeilen zu lang sind
    und durch \\ rechts angeordnet werden.
    Dann trenne entweder früher auf (es muss ja nicht am Gleichheitszeichen sein), schreibe etwas vor das "&" in der zweiten Zeile oder nutze negative horizontale Abstäne, um da händisch drin rumzufuckeln. Alles ohne Gewähr, ich habe es noch nie gebraucht und gerade kein TeX zu Hand. ich hätte sie aber gerne links, so wie es mit multline
    aussieht.
    Dann nimm doch multline. alles was ich bisher probiert habe ist nich zufriedenstellend,
    vor allem, da ich die nummerierung so beibehalten möchte.
    Was hast Du denn probiert? Nummerierung lässt sich fast immer einfach abstellen, falls man sie nicht möchte.

    Ein Blick in die Anleitung zu amslatex kann auch nicht schaden. Da sind viele Beipsiele für Gleichungsumgebungen.

    Am elegantesten umgehst Du das Problem, indem Du Schritte bei der Umstellung weglässt. Das interessiert keinen Menschen. Oder nutze Querformat, wenn Du das ernsthaft alles meinst aufschreiben zu müssen.

    Gruß

    Fritze
    2 Kommentare
    • von frederika 0
      Re^2: latex formel mit mehreren schritten anordnen
      Ich hatte als beispiel einfach einen auszug aus der arbeit genommen. es wäre sicher hilfreich, wenn ich dazu schreibe, wie es dann als pdf aussieht. allerdings bin ich nicht sicher wie ich das hier einfügen kann.
      es sieht jedenfalls so aus, dass ich links einen term stehen habe, dann ein gleichheitszeichen, in den nächsten drei zeilen wieder gleichheitszeichen, die alle untereinander stehen. nur die rechten terme der letzten beiden zeilen sind zu lang für die zeile und werden bei zeilenumbruch automatisch links in die nächste zeile geschrieben. das sieht nicht gut aus.
      ich kann sie auch nicht anders trennen, da ich ja gleichheitszeichen habe, die auf jeden fall untereinander stehen sollen. und das kleine stück, was in den beiden letzten zeieln nicht in eine zeile passt, soll rechts darunter eingeschoben werden.
      multline kann ich nicht verwenden, weil ich das alles ja in eine umgebung packen möchte und ich einen multline befehl nicht noch darein schreiben kann. es gibt jedenfalls fehlermeldungen.
      zu der nummerierung, die möchte ich ja auf jeden fall behalten. nur sollte sie am besten so aussehen, wie überall im dokument, nämlich rechts mittig neben der formel bzw rechnung.
      die kann ich übrigens nicht abkürzen, die arbeit besteht quasi aus den herleitungen.
      danke dennoch für die antwort
    • von Fritze 0
      Re^3: latex formel mit mehreren schritten anordnen
      Hallo,

      schreibst Du eigentlich grundsätzlich so unübersichtlich? Auch hier sind Deine Texte ohne sinnvolle Struktur, Absätze, Groß- und Kleinschreibung, etc. Ich hatte als beispiel einfach einen auszug aus der arbeit
      genommen.
      Dann setze den Teil wenigstens in "pre" Tags. es wäre sicher hilfreich, wenn ich dazu schreibe,
      wie es dann als pdf aussieht. allerdings bin ich nicht sicher
      wie ich das hier einfügen kann.
      Links auf extern gelagerte Dateien gehen immer :) es sieht jedenfalls so aus, dass ich links einen term stehen
      habe, dann ein gleichheitszeichen, in den nächsten drei
      zeilen wieder gleichheitszeichen, die alle untereinander
      stehen.
      Ja, das ist schon klar.

      Warum glaubst Du werden Deine Gleichungen durch braves untereinanderstapeln der Gleichheitszeichen übersichtlicher? Das ist nicht der Fall.

      Ich finde es persönlich grauenhaft, wenn mir solche Gleichungsblöcke irgendwo in Texten begegenen. So finde ich z.B. den Schritt von der ersten Gleichung hin zur Approximation durchaus sehr erklärenswert. Warum kommt da also kein Text dazwischen? Auf gut Deutsch: Wer soll den Käse denn lesen? die rechten terme der letzten beiden zeilen sind zu lang für
      die zeile und werden bei zeilenumbruch automatisch links in
      die nächste zeile geschrieben. das sieht nicht gut aus.
      Die Gleichungen sind insgesamt nicht hübsch. Die Exponenten sind zu lang, da böte sich z.B. an, anstelle des

      "e^kilometerlangerexponent"

      eher

      "exp(kilometerlangerterm)"

      zu nutzen, damit man das Zeug einigermaßen lesen kann. ich kann sie auch nicht anders trennen, da ich ja
      gleichheitszeichen habe, die auf jeden fall untereinander
      stehen sollen.
      Warum? und das kleine stück, was in den beiden letzten
      zeieln nicht in eine zeile passt, soll rechts darunter
      eingeschoben werden.
      Deine Gleichungen reichen viel zu weit in den rechten Rand hinein, da passt so einiges nicht. multline kann ich nicht verwenden, weil ich das alles ja in
      eine umgebung packen möchte und ich einen multline befehl
      nicht noch darein schreiben kann. es gibt jedenfalls
      fehlermeldungen.
      Das verstehe ich nicht. Multline *ist* die Umgebung. Man braucht kein "equation" drumherum. Auch die Split-Umgebung wird nur in eine equation eingebettet ohne weitere "Zutaten". Kann man alles in der Anleitung zu amsmath nachlesen, die ich nochmals empfehlen möchte. zu der nummerierung, die möchte ich ja auf jeden fall
      behalten. nur sollte sie am besten so aussehen, wie überall
      im dokument, nämlich rechts mittig neben der formel bzw
      rechnung.
      Das ist sie auch bei der multline Umgebung.

      Hier mein Minimalbeispiel (bitte Zeilenumbruch so lassen, oder es kann zu Klammerfehlern kommen):

      \documentclass[fleqn,10pt]{scrartcl}
      \usepackage[utf8]{inputenc}
      \usepackage[ngerman]{babel}
      \usepackage{amsmath}
      
      \begin{document}
      Ein Minimalbeispiel
      
      \begin{multline}
      \left<x_f \left| \exp\left(-\frac{i}{\hbar}{H}t_0\right) \right| x_i\right> = \left<x_f \left| \exp\left({-\frac{i}{\hbar}{H}t_0}\right) \right| x_i\right>_1 + \left<x_f \left| \exp\left({-\frac{i}{\hbar}{H}t_0}\right) \right| x_i\right>_2 \\
       \approx \exp\left(\frac{i}{\hbar}(S^{(0)}[x_{min,1}]- \frac{e}{c}\int\limits_{x_{min,1}}\mspace{-18.0mu}dx\,A(x))\right) +\ \exp\left(\frac{i}{\hbar}(S^{(0)}[x_{min,2}]- \frac{e}{c}\int\limits_{x_{min,2}}\mspace{-18.0mu}dx\,A(x))\right) \\
      = \exp \left(\frac{i}{\hbar}(S^{(0)}[x_{min,1}]- \frac{e}{c}\int\limits_{x_{min,1}}\mspace{-18.0mu}dx\,A(x))\right) \left(1 + \exp\left(\frac{i}{\hbar}(S^{(0)}[x_{min,2}]- \frac{e}{c}\int\limits_{x_{min,2}}\mspace{-18.0mu}dx\,A(x))\right)\right.\\
       \hspace{3cm} \cdot \left. \exp\left(\frac{1}{\hbar}(- S^{(0)}[x_{min,1}]+ \frac{e}{c}\int\limits_{x_{min,1}}\mspace{-18.0mu}dx\,A(x))\right)\right) \\
      = \exp\left(\frac{i}{\hbar}(S^{(0)}[x_{min,1}] - \frac{e}{c}\int\limits_{x_{min,1}}\mspace{-18.0mu}dx\,A(x))\right) \left(1 + \exp\left(\frac{i}{\hbar}(S^{(0)}[x_{min,2}]- S^{(0)}[x_{min,1}])\right) \right.\\
        \left. \exp\left(\frac{ie}{\hbar c}\left(\int\limits_{x_{min,2}}\mspace{-18.0mu}dx\,A(x) - \mspace{-18.0mu} \int\limits_{x_{min,1}}\mspace{-18.0mu}dx\,A(x)\right)\right)\right)
      \end{multline}
      \end{document}
      


      Schön ist was anderes, aber findest Du das Ergebnis weniger übersichtlich? die kann ich übrigens nicht abkürzen, die arbeit besteht
      quasi aus den herleitungen.
      Ich finde es grausam zu lesen und empfehle Dir dringend, das nochmal zu überdenken und die Gleichungen durch erläuternden Text zu unterbrechen. danke dennoch für die antwort
      Bitte, gern geschehen.

      Gruß

      Fritze
  2. Antwort von Andreas 0
    Re: latex formel mit mehreren schritten anordnen
    Hallo Frederika, allerdings ist es teilweise so, dass einzelne schritte zu lang für eine zeile sind
    das ist ein guter Warnhinweis dafür, dass deine Formel zu komplex ist und du vereinfachen solltest.

    Ich an deiner Stelle würde die immer gleichen Teile, auf die es bei der gezeigten Umformung ja auch gar nicht ankommt und die nur verwirren, durch Abkürzungen ersetzen. Außerdem tust du gut daran, in deinem Quelltext das gleiche zu tun, um ihn lesbarer zu halten.

    \documentclass{scrartcl}
    \usepackage{amsmath}
    \begin{document}
    \newcommand\e[1]{e^{#1}}
    \newcommand\ih{\frac{i}{\hbar}}
    \newcommand\foo{\langle x_f \vert \e{-\ih H t_0} \vert x_i\rangle}
    \newcommand\Sx[1]{S^{(0)}[x_{\mathrm{min},#1}]}
    \newcommand\Ix[1]{\int_{x_{\mathrm{min},#1}}dx A(x)}
    \newcommand\ec{\frac{e}{c}}
    
    \newcommand\Sxname[1]{S_{#1}}
    \newcommand\Ixname[1]{I_{#1}}
    
    \begingroup
    \let\Sx\Sxname
    \let\Ix\Ixname
    
    \begin{align*}
    \foo &= \foo_1 + \foo_2 \\
     & \approx \e{\ih(\Sx1 - \ec \Ix1)} + \e{\ih(\Sx2 - \ec \Ix2)} \\
    	&= \e{\ih(\Sx1 - \ec \Ix1)} \left(1 + \e{\ih(\Sx2 - \ec \Ix2)}
    		\e{\ih (-\Sx1 + \ec \Ix1)}\right) \\
    	&= \e{\ih(\Sx1 - \ec \Ix1)} \left(1 + \e{\ih(\Sx2 - \Sx1)}
    		\e{\frac{ie}{\hbar c}(\Ix2 - \Ix1)}\right)
    \end{align*}
    \endgroup
    wobei $\Sxname{j} = \Sx{j}$ und $\Ixname{j} = \Ix{j}$
    \end{document}
    


    http://img412.imageshack.us/img412/5862/eq1.png

    Viele Grüße,

    Andreas

    PS: Du hattest da übrigens einen Fehler in deiner Formel (an einer stelle "1" statt "i"); habe ich nur durch die Vereinfachung bemerkt.
    1 Kommentare
    • von frederika 0
      Re^2: latex formel mit mehreren schritten anordnen
      Hallo,
      vielen Dank für die Hilfe und die Korrektur ;-)
      Ich finde beide Lösungen sehr gut, wahrscheinlich werde ich beide an einigen Stellen der Arbeit anwenden.
      Noch mal danke.