2 Align-Blöcke ausrichten

Formelsatz für Mathematik, Naturwissenschaften und Technik


danielcramer
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: So 10. Jun 2012, 12:53

2 Align-Blöcke ausrichten

Beitrag von danielcramer »

Moin,

folgendes Problem:
In meiner Arbeit beschreibe ich mehrere mathematische Modell - diese sind jeweils in einer eigenen align-Umgebung festgehalten.
Gibt es eine Möglichkeit, diese beiden Blöcke miteinander zu verbinden?

Auszug aus meiner Arbeit:
\documentclass[11pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage[width=16.00cm, height=24.00cm]{geometry}
\author{Cramer}

\begin{document}
\begin{align}
\label{eq:TEST}
&\mbox{Minimiere} \quad \sum\limits_{t=1}^{T} (s \cdot \gamma_{t} + p \cdot q_{t})\\
\newline\notag
&\mbox{u.d.N.}\\
\label{eq:TEST2}
&q_{t}-M\cdot \gamma _{t} \leq 0 && {t=1,2,\ldots,T}\\
\label{eq:TEST3}
&q_{t} \geq 0 && {t=1,2,\ldots,T}\\
&\gamma_{t} \in \{0,1\} && {t=1,2,\ldots,T}
\end{align}
    neuer Block\\
\begin{align}
&\mbox{Minimiere} \quad \sum\limits_{t=1}^{T} (s \cdot \gamma_{t} + h \cdot y_{t} + p \cdot q_{t})\\
\newline\notag
&\mbox{u.d.N.}\\
&y_{t-1}+q_{t}-y_{t}=d_{t} && {t=1,2,\ldots,T}\\
&q_{t}-M\cdot \gamma _{t} \leq 0 && {t=1,2,\ldots,T}\\
&y_{t} \geq 0 && {t=1,2,\ldots,T}\\
&q_{t} \geq 0 && {t=1,2,\ldots,T}\\
&y_0, y_T = 0\\
&\gamma_{t} \in \{0,1\} && {t=1,2,\ldots,T}
\end{align}
\end{document}
Die Blöcke für sich selbst sind ausgerichtet, nicht jedoch beide zusammen...

Madridista
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 59
Registriert: Mo 22. Aug 2011, 14:50

Beitrag von Madridista »

Wieso unterbrichst du denn die Blöcke, wenn sie gleichausgerichtet sein sollen, nutze doch für die Zwischenzeile den Befehl \intertext:
\documentclass[11pt,a4paper]{article} 
\usepackage[latin1]{inputenc} 
\usepackage{amsmath} 
\usepackage{amsfonts} 
\usepackage{amssymb} 
\usepackage{makeidx} 
\usepackage[width=16.00cm, height=24.00cm]{geometry} 
\author{Cramer} 

\begin{document} 
\begin{align} 
\label{eq:TEST} 
&\mbox{Minimiere} \quad \sum\limits_{t=1}^{T} (s \cdot \gamma_{t} + p \cdot q_{t})\\ 
\newline\notag 
&\mbox{u.d.N.}\\ 
\label{eq:TEST2} 
&q_{t}-M\cdot \gamma _{t} \leq 0 && {t=1,2,\ldots,T}\\ 
\label{eq:TEST3} 
&q_{t} \geq 0 && {t=1,2,\ldots,T}\\ 
&\gamma_{t} \in \{0,1\} && {t=1,2,\ldots,T} 
%\end{align} 
  \intertext{neuer Block}\\ 
%\begin{align} 
&\mbox{Minimiere} \quad \sum\limits_{t=1}^{T} (s \cdot \gamma_{t} + h \cdot y_{t} + p \cdot q_{t})\\ 
\newline\notag 
&\mbox{u.d.N.}\\ 
&y_{t-1}+q_{t}-y_{t}=d_{t} && {t=1,2,\ldots,T}\\ 
&q_{t}-M\cdot \gamma _{t} \leq 0 && {t=1,2,\ldots,T}\\ 
&y_{t} \geq 0 && {t=1,2,\ldots,T}\\ 
&q_{t} \geq 0 && {t=1,2,\ldots,T}\\ 
&y_0, y_T = 0\\ 
&\gamma_{t} \in \{0,1\} && {t=1,2,\ldots,T} 
\end{align} 
\end{document} 
 
Entspricht das deiner Vorstellung?

EDIT: Außerdem sollte man bei Abkürzungen kleine Abstände lassen, welche sich mit "\," realisieren lassen:
 \mbox{u.\,d.\,N.}
Madridista till I die!

danielcramer
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: So 10. Jun 2012, 12:53

Beitrag von danielcramer »

Mein Fehler - ich hätte dazu sagen sollen, dass das Code-Beispiel nur ein Auszug war...
In meinem Dokument gibt es mehrere Kapitel (wer hätte das gedacht). Ich habe da nur letztlich den Text, der zwischen den Blöcken steht, weggelassen (Erläuterungen, etc...) (und daher auch die beiden align-Blöcke und nicht einer)

Daher sollten nun die Blöcke -- wenn möglich -- eine gleiche Ausrichtung haben.

P.S.: Danke für den Hinweis bzgl der Interpunktion - ist mir untergegangen (beim restlichen Text habe ich das beachtet)

Madridista
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 59
Registriert: Mo 22. Aug 2011, 14:50

Beitrag von Madridista »

Hier im Forum gab es bereits eine solche Anfrage, bei welcher auch \intertext benutzt wurde, es ist also auch möglich längere Textpassagen auf diesem Weg einzufügen. Versuch mal deinen kompletten zwischen Text damit einzufügen, wenn das nicht geht, kannst dich ja noch mal melden.

http://www.golatex.de/mehrere-formelngr ... t3732.html
Madridista till I die!

Gast

Danke!!!

Beitrag von Gast »

Madridista hat geschrieben:... nutze doch für die Zwischenzeile den Befehl \intertext:
Super! Diesen Befehl habe ich schon lange gesucht, danke!

latex_abuser
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 26. Nov 2015, 02:30

Beitrag von latex_abuser »

Als Alternative für \intertext gerade zur Standardisierung der absoluten Position des Gleichheitszeichens für alle Formeln einer umfangreichen Arbeit (Disseration zB.) wurde hier im Forum auch ebenfalls über den Befehl \hphantom{} an folgenden Stellen diskutiert:

http://golatex.de/align-formatierung-be ... antom.html

und

http://golatex.de/alignat-ausrichtenund ... antom.html

Problem an \hphantom ist, dass eine zusätzliche Zeile erzeugt und damit die Formel vom Text entfernt wird. Ich hätte da eine Vorschlag, der in meinem Falle zumindest funktioniert. Schön wäre es, wenn man einen Befehl in der Präambel erzeugen könnte, um das ein wenig abzukürzen (damit kenne ich mich aber nicht aus und wäre für jeden Rat dankbar...).

Vorschläge? Verbesserungen? Kritik?
MfG und danke!
%
\documentclass{scrartcl} %[fleqn]
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{mathtools}
%\setlength{\mathindent}{30mm} 
\begin{document}
\section{Standard}
So stehen die Gleichheitszeichen mehrerer Umgebungen nicht untereinander, wenn unterschiedlich lang.
\begin{align*}
r&= 2(x + x^2)\\
r&= 2x(1 + x)
\end{align*}
Und hier die zweite Umgebung
\begin{align*}
r&= 2(x + x^2)\\
r_1^2 *3^x+3x^3+2y^4&= x^2 + y^2
\end{align*}
\section{Zusätzliche Leerzeile}
So stehen die Gleichheitszeichen mehrerer Umgebungen zwar untereinander, aber man erzeugt eine zusätzliche (leere) Zeile im Anschluss:
\begin{align*}
\hphantom{r_1^2 *3^x+3x^3+2y^4}&\\
r&= 2(x + x^2)\\
r&= 2x(1 + x)
\end{align*}
Und hier die zweite Umgebung
\begin{align*}
r&= 2(x + x^2)\\
r_1^2 *3^x+3x^3+2y^4&= x^2 + y^2
\end{align*}
\section{Mein Vorschlag}
\verb+\makebox+
\begin{align*}
\makebox[0.0cm][r]{$r$}&= 2(x + x^2)\\
r&= 2x(1 + x)
\end{align*}
Und hier die zweite Umgebung
\begin{align*}
r&= 2(x + x^2)\\
\makebox[0.0cm][r]{$r_1^2 *^x+3x^3+2y^4$}&= x^2 + y^2
\end{align*}
Ist auch linksbündig mit [fleqn] als Klassenoption und \verb+\setlength{\mathindent}{x mm}+ verwendenbar (oben auskommentiert), muss dann aber angepasst werden.
\end{document}
Neu in der Latex-Welt!

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Das ist doch keine Alternative. Nimm intertext oder gar shortintertext aus dem Paket mathtools.
\documentclass{scrartcl} %[fleqn]
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{mathtools}
%\setlength{\mathindent}{30mm}
\begin{document}
\section{Standard}
So stehen die Gleichheitszeichen mehrerer Umgebungen nicht untereinander, wenn unterschiedlich lang.
\begin{align*}
	r&= 2(x + x^2)\\
	r&= 2x(1 + x)
\end{align*}
Und hier die zweite Umgebung
\begin{align*}
	r&= 2(x + x^2)\\
	r_1^2 *3^x+3x^3+2y^4&= x^2 + y^2
\end{align*}
\section{keine Zusätzliche Leerzeile}
\begin{align*}
	\hphantom{r_1^2 *3^x+3x^3+2y^4}
	\clap{r}&= 2(x + x^2)\\
	r&= 2x(1 + x)
\end{align*}
Und hier die zweite Umgebung
\begin{align*}
	r&= 2(x + x^2)\\
	r_1^2 *3^x+3x^3+2y^4&= x^2 + y^2
\end{align*}
\section{korrekt}
\begin{align*}
	\hphantom{r_1^2 *3^x+3x^3+2y^4}
	\clap{r}&= 2(x + x^2)\\
	r&= 2x(1 + x)
	\intertext{Und hier die zweite Umgebung}
	r&= 2(x + x^2)\\
	r_1^2 *3^x+3x^3+2y^4&= x^2 + y^2
\end{align*}
\end{document}
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

latex_abuser
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 26. Nov 2015, 02:30

Beitrag von latex_abuser »

Auch wenn ca. 100 Seiten Text dazwischen sind? Ich bin mir sicher, dass der \intertext dafür nicht gedacht ist.
Und außerdem behebt man mit \intertext nicht das ursprüngliche Problem, dass die Formeln über ein komplettes Dokument z.B. am Gleichheitszeichen ausgerichtet sein sollen.
Neu in der Latex-Welt!

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Die Lösung für dein Problem hast du bereits im ersten von dir verlinkten Thread, gegeben von Elke. Warum wendest du es nicht an? Von mir oben noch mal ein fast gleichwertiger Ansatz.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

latex_abuser
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 26. Nov 2015, 02:30

Beitrag von latex_abuser »

Dein Code funtioniert prima, \clap ist da der Zauberbaustein. Bitte für den Leihen, kannst du kurz erklären, was \clap, \llap, \rlap (auch \mathclap, usw.?) genau macht? Das würde mir sehr helfen, ein Link zum Nachlesen wäre auch gut.

Zu der Antwort von Elke: als Anfänger versteht man das nicht so leicht. Sie erstellt einen neuen Befehl (\mygl) mit drei Argumenten, soweit klar. Den kann ich auch anpassen.
Aber warum erstellt sie dann zwei neue Befehle und was machen die?

Danke für deine Mühen!
Neu in der Latex-Welt!

Antworten