Ich kann bisher kein Minimalbeispiel liefern. Ich würde gerne folgendes darstellen:

I) ax + by = c | +1

II) dx + ey =f | +2


I) ....

II) ....

Wie kriege ich es hin, dass alles perfekt ausgerichtet ist und so weit wie möglich, alles untereinander ist?

Die gestrichelte Linie soll durchgezogen sein und lediglich so lang sein, wie die obigen Gleichungen.

gefragt 13 Mär '16, 12:59

runix's gravatar image

runix
1.0k247486
Akzeptiert-Rate: 0%

bearbeitet 13 Mär '16, 13:05

Ich arbeite da immer gerne mit der align oder align* Umgebung aus ams.

(13 Mär '16, 13:06) NobbZ
1

Schau Dir mal das Paket systeme an. Die Doku ist zwar auf französisch, aber mit so vielen Beispielen, dass man die Funktionsweise gut herauslesen kann, selbst wenn man die Sprache nicht beherrscht.

(13 Mär '16, 13:12) cgnieder

systeme scheint echt klasse zu sein. Danke @Clemens!

(13 Mär '16, 13:16) runix

Weißt du wie ich die senkrechten Striche, rechts von einer Gleichung hinbekomme? Oder kriege ich gar das gesamte, obige Konstrukt von mir in einer systeme Umgebung unter? Also samt durchgezogener Linie, Nummerierung der Gleichung, und eben auch mehrere Gleichungen.

(13 Mär '16, 13:19) runix

systeme ist zwar sehr praktisch, aber nur sinnvoll einsetzbar, wenn das Gleichungssystem eine gewisse Standardform hat. Die Probleme in deinem Beispiel sind die Nummerierung vor der Gleichung, die meines Wissens mit diesem Paket nicht möglich ist (die steht wenn dahinter), und die Darstellung von Äquivalenzumformungen, die ebenfalls nicht vorgesehen ist.

(13 Mär '16, 18:54) Cletus

Was genau bedeutet »alles untereinander«? Sollen nur die Gleichungsnummern, Gleichheitszeichen und Äquivalenzumformungen untereinander stehen oder auch die Unbekannten trotz Koeffizienten mit evtl. unterschiedlicher Stelligkeit? Soll diese Ausrichtung auch über die einzelnen Systeme hinweg erhalten bleiben? Können möglicherweise auch Konstanten auf der linken Seite vom Gleichheitszeichen auftreten? Soll das System am linken Rand der Seite stehen oder zentriert sein?

(13 Mär '16, 19:38) Cletus

Es sollen die Gleichungsnummern, die Gleichheitszeichen, die Äquivalenzumformungen, die Unbekannten. Auch mit unterschiedlicher Stelligkeit. Auch über unterschiedliche Systeme, ja. Wie kriege ich das mit parbox genau hin? Wo muss ich das setzen?

(15 Mär '16, 22:04) runix

Du hättest zumindest ein VM mit den Gleichungen aber ggf. ohne die Linie zeigen können. Daraus wäre dann vielleicht auch hervor gegangen, was denn I) und II) tatsächlich sind. Da die Nummern innerhalb des Gleichungssystems wiederholt werden und Gleichungsnummern üblicherweise eher (1), (2), (3) etc. wären, gehe ich davon aus, dass das nicht die eigentlichen Gleichungsnummern sind.

(17 Mär '16, 08:02) saputello
Ergebnis 5 von 8 show 3 more comments

Wie @NobbZ bereits in einem Kommentar angedeutet hat, kann man dazu mit align bzw. align* arbeiten. Da dies letztlich Tabellenumgebungen sind, kann man die Linie dabei mit \cline realisieren:

Open in Online-Editor
\documentclass{article}

\usepackage{mathtools}
\usepackage{drawmatrix}
\usepackage{showframe}% Um die Seitenränder sichtbar zu machen

\begin{document}
\begin{align*}
\text{I)} && ax + by &= c && | +1\\
\text{II)} && dx + ey &= f && | +2\\[-1.7ex]
\cline{1-6}
\text{I)} && gx + jy &= k && | +3\\
\text{II)} && lx + qy &= r && | +4
\end{align*}
\end{document}

mit align*

Da mir nicht ganz klar ist, was die I) und II) für eine Bedeutung haben, habe ich sie im Beispiel einfach von Hand als Text gesetzt. Ggf. wäre hier ein Automatismus zu planen, dessen Systematik aber erst zu klären wäre.

Will man das Ganze etwas dichter setzen, geht das mit alignat bzw. alignat* sehr gut:

Open in Online-Editor
\documentclass{article}

\usepackage{mathtools}
\usepackage{drawmatrix}
\usepackage{showframe}% Um im Beispiel die Seitenränder sichtbar zu machen

\begin{document}
\begin{alignat*}{3}
\text{I)} &\quad& ax + by &= c &\quad& | +1\\
\text{II)} && dx + ey &= f && | +2\\[-1.7ex]
\cline{1-6}
\text{I)} && gx + jy &= k && | +3\\
\text{II)} && lx + qy &= r && | +4
\end{alignat*}
\end{document}

mit alignat

Dabei gibt das Argument von alignat* die Anzahl der lr-Spaltenpaare, die in der Umgebung verwendet werden sollen. Die mit \quad eingefügten Abstände in der ersten Zeile dienen quasi als Muster für die Abstände zwischen linkem Text und eigentlicher Gleichung bzw. eigentlicher Gleichung und Rechenanweisung.

Auch diverse andere Mathe-Umgebungen sind intern Tabellen. Ganz offensichtlich ist das bei jeder Art von Matrix. In diesen kann also in der Regel auch \hline oder \cline verwendet werden, wobei \hline beispielsweise bei align und alignat über die gesamte Seitenbreite einschließlich Nummer gehen würde, dafür aber keine vertikale Abstandskorrektur am Ende der vorherigen Zeile benötigt.

Die Linien von booktabs können übrigens ebenfalls verwendet werden. Auch dessen Befehle zur Manipulation des vertikalen Abstandes sind anwendbar.

Prinzipiell könnte man natürlich auch hier die Linie von tikz zeichnen lassen. Da dies IMHO in diesem Fall aber etwas über das Ziel hinaus schießt und auch kein VM für die eigentliche Gleichung geliefert wurde, will ich dazu nur auf einschlägige Beispiele wie »Highlighting elements in matrices« oder »Logic diagram« hinweisen.

Permanenter link

beantwortet 16 Mär '16, 08:13

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 16 Mär '16, 08:33

Hier eine Lösung, die zumindest minimale Anforderungen an die Ausrichtung erfüllt. Ich habe xparse verwendet, um einen Befehl zu definieren, da dies die Definition optionaler Argumente erleichtert.

Open in Online-Editor
\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}

\NewDocumentCommand \Zweizweisystem {s m m o m m o}
    {
        $\begin{alignedat}{3}
        \text{(I)} & \; & #2 &= #3 & \quad & \IfNoValueF{#4}{|#4} \\
        \text{(II)} & & #5 &= #6 & & \IfNoValueF{#7}{|#7}
        \end{alignedat}$
        \vspace{1ex}
        \IfBooleanF{#1}{\hrule}
        \vspace{1ex}
    }

\begin{document}
\Zweizweisystem{3\,a+4\,b}{8}[+3\,a]{-7\,a+2\,b}{10}[-b]
\Zweizweisystem*{6\,a+4\,b}{8+3\,a}{-7\,a+b}{10-b}
\end{document}

Der Befehl Zweizweisystem hat zunächst zwei Argumente in geschweiften Klammern, die die linke und rechte Seite der ersten Gleichung angeben. Dann folgt ein optionales Argument in eckigen Klammern für die Äquivalenzumformung der ersten Gleichung, dann das Gleiche für die zweite Gleichung. Bei der Sternform wird die horizontale Linie am Ende weggelassen.

Die Länge der Linie könnte man noch anpassen, indem man das Ganze in eine Parbox geeigneter Breite einschließt.

Permanenter link

beantwortet 13 Mär '16, 20:08

Cletus's gravatar image

Cletus
1.6k75866
Akzeptiert-Rate: 75%

bearbeitet 13 Mär '16, 20:14

Wie kann ich die Linie kürzer ziehen? Oder optimalerweise an die Länge der Gleichungen anpassen?

(13 Mär '16, 21:30) runix
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×20
×9

gestellte Frage: 13 Mär '16, 12:59

Frage wurde gesehen: 23,447 Mal

zuletzt geändert: 17 Mär '16, 08:02