PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabellen mit Label als Gleichung versehen



raspittyplatsch
07-09-2010, 22:35
Hallo,

ich stehe vor einem kleinen Problem und hoffe hier Hilfe zu finden.

Im konkreten Fall nutze ich eine Tabelle um Gleichungen aufzulisten. Nun will ich eine Gleichung dort mit einem Label versehen, aber als Gleichung.

Kurzes Beispiel:


\documentclass[a4paper,deutsch]{article}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{amsmath}

\begin{document}
\begin{subequations}
\begin{equation}
\Rightarrow \text{Gleichung 1a}
\end{equation}
\begin{tabular}{c l}
$\Rightarrow$\quad & Gleichung 1b (Tabelle)\label{eq:pr1} \\
\end{tabular}\hfill \eqref{eq:pr1}
\begin{equation}
\Rightarrow \text{Gleichung 1c}
\end{equation}
\end{subequations}

\end{document}

Ich denke/hoffe das Beispiel macht das Problem deutlich.

Ich nutze die Tabelle konkret um eine lange Impliationskette am linken Rand auszurichten. (auf Anweisung)
Die Implikationspfeile haben so einen definierten Abstand vom linken Rand und das söllte auch so bleiben. (bei einer evtl. anderen Möglichen Umgebung)

Gruß,
Carsten

Xenara
08-09-2010, 08:07
Crosspost: http://www.golatex.de/gleichungslabel-mit-tabellenzellen-verbinden-t5271.html

raspittyplatsch
08-09-2010, 08:31
Hab inzwischen auch erfahren, dass das unerwünscht ist. Entschuldigt das bitte.

Das Thema ist im anderen Forum aber geschlossen worden.

Das heißt es ist hier noch aktuell und ich bitte noch um Hilfe.

Gruß
Carsten

Xenara
08-09-2010, 09:07
Meinst du sowas in die Richtung?



\documentclass[a4paper,deutsch]{article}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{amsmath}

\begin{document}
\begin{subequations}
\begin{align}
&&\Rightarrow &
\text{Gleichung 1a} \\
&&\Rightarrow &
Gleichung 1b (Tabelle)\label{eq:pr1} \\
&&\Rightarrow &
\text{Gleichung 1c}
\end{align}
\end{subequations}

Verweis \eqref{eq:pr1}

\end{document}

raspittyplatsch
08-09-2010, 09:25
Mein Problem mit der align-Umgebung ist folgendes:


\documentclass[a4paper,deutsch]{article}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{amsmath}

\begin{document}
\begin{subequations}
\begin{align}
\Rightarrow &
\text{Gleichung 1a} &&&&\\
\Rightarrow &
Gleichung 1b (Tabelle)\label{eq:pr1} &&&&\\
\Rightarrow &
\text{Gleichung 1c}&&&&
\end{align}
\end{subequations}
\begin{subequations}
\begin{align}
\Rightarrow &
\text{das ist die laengere Gleichung 2a} &&&&\\
\Rightarrow &
\text{das ist die laengere Gleichung 2b (Tabelle)}\label{eq:pr1} &&&&\\
\Rightarrow &
\text{das ist die laengere Gleichung 2c}&&&&
\end{align}
\end{subequations}


Verweis \eqref{eq:pr1}

\end{document}

Das Nummerieren klappt zwar alles gut, aber wenn man mehrere davon auf einer Seite hat, sind die Impliziertpfeile nicht aneinander ausgerichtet. Das ist aber das Ziel.
Ich weiß ja auch, dass das eigentlich unüblich ist, aber das müsste doch auch irgendwie möglich sein, oder?

esdd
08-09-2010, 09:50
Hallo,

vielleicht ließe sich auch flalign nutzen:


\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{subequations}
\begin{flalign}
&\Rightarrow \text{Gleichung 1a}&\\
\Rightarrow \quad \text{Gleichung 1b }&&\\
&\Rightarrow \text{Gleichung 1c}&
\end{flalign}
\end{subequations}

\begin{subequations}
\begin{flalign}
&\Rightarrow \text{das ist die laengere Gleichung 2a}&\\
\Rightarrow \quad \text{das ist die}& \text{ laengere Gleichung 2b}&\\
&\Rightarrow \text{das ist die noch etwas laengere Gleichung 2c}&
\end{flalign}
\end{subequations}

\end{document}

Gruß
Elke

raspittyplatsch
08-09-2010, 10:19
Danke, das sieht erstmal vielversprechend aus.
Ich versuche das mal an meinen Restlichen Code anzupassen. Ich hoffe das kriege ich hin.

Vielen Dank!

Gruß,
Carsten

Xenara
08-09-2010, 10:26
Alternativ dieser Vorschlag:


\documentclass[a4paper,ngerman]{article}% "deutsch" gibt es nicht! Das heisst "ngerman"!!!
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{amsmath}
\usepackage{blindtext}

\begin{document}
\begin{subequations}
\begin{align}
\Rightarrow &
\parbox{.7\textwidth}{\text{Gleichung 1a} } &&&&\\
\Rightarrow &
Gleichung 1b (Tabelle)\label{eq:pr1} &&&&\\
\Rightarrow &
\text{Gleichung 1c}&&&&
\end{align}
\end{subequations}

\blindtext

\begin{subequations}
\begin{align}
\Rightarrow &
\parbox{.7\textwidth}{\text{das ist die laengere Gleichung 2a}} &&&&\\
\Rightarrow &
\text{das ist die laengere Gleichung 2b (Tabelle)}\label{eq:pr1} &&&&\\
\Rightarrow &
\text{das ist die laengere Gleichung 2c}&&&&
\end{align}
\end{subequations}

Verweis \eqref{eq:pr1}


\section*{Vereinfacht}

\newcommand{\dw}[1]{\parbox{.5\textwidth}{#1}}% Definition Width = Definition der Breite der Parbox und vereinfachen der Schreibweise

\begin{subequations}
\begin{align}
\Rightarrow &
\dw{\text{Gleichung 1a} } &&&&\\
\Rightarrow &
Gleichung 1b (Tabelle)\label{eq:pr1} &&&&\\
\Rightarrow &
\text{Gleichung 1c}&&&&
\end{align}
\end{subequations}

\blindtext

\begin{subequations}
\begin{align}
\Rightarrow &
\dw{\text{das ist die laengere Gleichung 2a}} &&&&\\
\Rightarrow &
\text{das ist die laengere Gleichung 2b (Tabelle)}\label{eq:pr1} &&&&\\
\Rightarrow &
\text{das ist die laengere Gleichung 2c}&&&&
\end{align}
\end{subequations}



Verweis \eqref{eq:pr1}

\end{document}


Man muss dann lediglich in jeder neu angefangenen subequations-Umgebung einmal die Breite mittels einer Parbox vorgeben. Auf die wird es dann immer angepasst.

Oh, und übrigens: Die Option "deutsch" gibt es nicht! Das gibt übrigens auch eine Warnung. Das heisst "ngerman"!

Xenara
08-09-2010, 10:35
Oder wahlweise auch so vereinfacht:


\documentclass[a4paper,ngerman]{article}% "deutsch" gibt es nicht! Das heisst "ngerman"!!!
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{amsmath}
\usepackage{calc}

\usepackage{blindtext}

\begin{document}

\newlength{\LaengsteGleichung}
\setlength{\LaengsteGleichung}{\widthof{das ist die laengere Gleichung 2b (Tabelle)}}
\newcommand{\dw}[1]{\parbox{\LaengsteGleichung}{#1}}% Definition Width = Definition der Breite der Parbox und vereinfachen der Schreibweise

\begin{subequations}
\begin{align}
\Rightarrow &
\dw{\text{Gleichung 1a} } \\
\Rightarrow &
Gleichung 1b (Tabelle)\label{eq:pr1} \\
\Rightarrow &
\text{Gleichung 1c}
\end{align}
\end{subequations}

\blindtext

\begin{subequations}
\begin{align}
\Rightarrow &
\dw{\text{das ist die laengere Gleichung 2a}}\\
\Rightarrow &
\text{das ist die laengere Gleichung 2b (Tabelle)}\label{eq:pr1}\\
\Rightarrow &
\text{das ist die laengere Gleichung 2c}
\end{align}
\end{subequations}


Verweis \eqref{eq:pr1}

\end{document}


Wozu brauchst du die vielen &&& am Schluss? Hier gehts auch ohne.

raspittyplatsch
08-09-2010, 15:35
So nochmal herzlichen Dank für die Antworten!

Prinzipiell geht es so mit der flalign oder der align Umgebung.
Was mich noch ein bisschen daran stört ist der große Abstand der so teilweise entsteht. Vor allem wenn so eine Gleichungsumgebung direkt auf eine andere folgt.

Gibt es da eine Möglichkeit das zu umgehen? (Das war auch der Grund warum ich Tabellen verwendet habe, da kann man/ich das relativ leicht variieren)

Oder alternativ, eben das was ich am Anfang vorhatte?

kurzes Beispiel:


\documentclass[a4paper,ngerman]{article}
\usepackage[ngerman]{babel}
\usepackage{amsmath}

\begin{document}
\begin{align}
\Rightarrow &
\text{Gleichung 1a} \\
\Rightarrow &
\text{Gleichung 1b}\label{eq:pr1} \\
\Rightarrow &
\text{Gleichung 1c}
\end{align}
\begin{flalign}
&\Rightarrow
{\text{das ist die laengere Gleichung 2a}} &\\
&\Rightarrow
\text{das ist die laengere Gleichung 2b (Tabelle)}\label{eq:pr1} &\\
&\Rightarrow
\text{das ist die laengere Gleichung 2c}&
\end{flalign}

\end{document}

Gruß
Carsten

Xenara
08-09-2010, 15:58
Ich versteh es langsam nicht mehr, auch dein neues MB nicht.
Willst du jetzt Subequations? Du hast ja gar keine Ausrichtung der Pfeile mehr mit drin.
Und wieso stört dich der Abstand? Denn wenn etwas unterbrochen wird, soll man das doch auch sehen, oder nicht?

raspittyplatsch
08-09-2010, 16:36
ok, das neue Beispiel war nicht gut seh ich ein. xD
Damit wollte ich nur diesen Abstand zeigen.

Hab den konkreten Fall ziemlich abstrahiert. Hier jetzt noch mal ein aus dem Leben gegriffenes Beispiel:


\documentclass[graybox,envcountsect,envcountsame,sectrefs,deutsch]{svmono}

\usepackage{amsmath}
\usepackage{amssymb}

\usepackage{tabularx}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} % zentrierte Spalten mit Breitenangabe
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} % rechtsbündig mit Breitenangabe

\usepackage{mathmacs}

\begin{document}

\section*{Variante 1}

$\exists \, R>0:R^n >2 \abs{a_0} \text{ mit } \abs{r(z)} < \tfrac {1}{2}\where{} \abs{z} >R$
\begin{flalign} \label{eqpr:theorem:anw8:1}
&\qquad \Rightarrow \abs{f(z)} \geq \tfrac 12 \abs{z}^n > \tfrac 12 R^n > \abs{f(0)}
=\abs{a_0} \where z \notin \overline{B_R(0)}&&
\end{flalign}
$\overline {B_R(0)} $ kompakt, $\abs{f}$ stetig
\begin{flalign*}
&\qquad \stackrel{\mathclap{\text{Thm.~\ref{theorem:anw3}} }}{\Rightarrow} \qquad \exists \, \tilde z\in
\overline{B_R(0)} : \abs{f(\tilde z)}= \underset{z \in \overline{B_R(0)}}
{\min} \abs {f(z)}&&\\
&\qquad \stackrel{\mathclap{~\eqref{eqpr:theorem:anw8:1}}} {\Rightarrow} \quad \abs{f(\tilde z)}\leq \abs{f(z)}
\where z \in \C &&
\end{flalign*}

\section*{Variante 2}

$\exists \, R>0:R^n >2 \abs{a_0} \text{ mit } \abs{r(z)} < \tfrac {1}{2}\where{} \abs{z} >R$\\
\begin{equation} \label{eqpr:theorem:anw8:1}
\Rightarrow \abs{f(z)} \geq \tfrac 12 \abs{z}^n > \tfrac 12 R^n > \abs{f(0)}
=\abs{a_0} \where z \notin \overline{B_R(0)}\\
\end{equation}
$\overline {B_R(0)} $ kompakt, $\abs{f}$ stetig \vspace*{3pt}\\
\begin{tabular}[t]{R{30pt} l}
$ \stackrel{\mathclap{\text{Thm. ~\ref{theorem:anw3}}}}{\Rightarrow} $&\quad$\exists \; \tilde z\in
\overline{B_R(0)} : \abs{f(\tilde z)}= \underset{z \in \overline{B_R(0)}}
{\min} \abs {f(z)}$\\[3pt]
$ \stackrel{\mathclap{~\eqref{eqpr:theorem:anw8:1}}} {\Rightarrow} $& \; $ \abs{f(\tilde z)}\leq \abs{f(z)}
\where z \in \C$
\end{tabular}

\end{document}

Subequations kommen dann auch noch, aber das ändert dann ja am Problem nichts.

Jetzt gefällt mir der Abstand bei Variante 2 und die Gleichung mit dem Label bei Variante 1. Und das will ich irgendwie verbinden.

Xenara
08-09-2010, 16:44
Sorry, ich hab kein svmono und kein mathmacs und kanns mir im Moment auch nicht installieren :(
Vielleicht kannst du es noch auf eine "normale" Klasse und mit einfachen Paketen runterbrechen.

raspittyplatsch
08-09-2010, 16:56
Jetzt müsste es funktionieren:


\documentclass[graybox,envcountsect,envcountsame,sectrefs,deutsch]{article}

\usepackage{amsmath}
\usepackage{amssymb}

\usepackage{tabularx}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} % zentrierte Spalten mit Breitenangabe
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} % rechtsbündig mit Breitenangabe

\begin{document}

\section*{Variante 1}

$\exists \, R>0:R^n >2 a_0 \text{ mit } r(z) < \tfrac {1}{2}\qquad\forall \, z >R$
\begin{flalign} \label{eqpr:theorem:anw8:1}
&\qquad \Rightarrow f(z) \geq \tfrac 12 z^n > \tfrac 12 R^n > f(0)
=a_0 \qquad \forall \, z \notin \overline{B_R(0)}&&
\end{flalign}
$\overline {B_R(0)} $ kompakt, $f$ stetig
\begin{flalign*}
&\qquad {\Rightarrow} \qquad \exists \, \tilde z\in
\overline{B_R(0)} : f(\tilde z)= \underset{z \in \overline{B_R(0)}}{\min} f(z)&\\
&\qquad {\Rightarrow} \quad f(\tilde z)\leq f(z)
\qquad \forall \, z \in \mathcal C &
\end{flalign*}

\section*{Variante 2}

$\exists \, R>0:R^n >2 a_0 \text{ mit } r(z) < \tfrac {1}{2}\qquad \forall \, z >R$\\
\begin{equation} \label{eqpr:theorem:anw8:1}
\Rightarrow f(z) \geq \tfrac 12 z^n > \tfrac 12 R^n > f(0)
=a_0 \qquad \forall \, z \notin \overline{B_R(0)}\\
\end{equation}
$\overline {B_R(0)} $ kompakt, $f$ stetig \vspace*{3pt}\\
\begin{tabular}[t]{R{30pt} l}
$ {\Rightarrow} $&\quad$\exists \; \tilde z\in
\overline{B_R(0)} : f(\tilde z)= \underset{z \in \overline{B_R(0)}}{\min} f(z)$\\[3pt]
$ {\Rightarrow} $& \; $ f(\tilde z)\leq f(z)
\qquad \forall \, z \in \mathcal C$
\end{tabular}

\end{document}

Xenara
09-09-2010, 08:32
Ok, das läuft und ich sehe, was du meinst. Allerdings habe ich leider kein Patentrezept dazu. Das einzige, was mir einfällt, wäre ein negativer \vspace dazwischen, habs aber nicht ausprobiert.

raspittyplatsch
09-09-2010, 08:54
So das mit dem negativem vspace klappt. Das ist zwar ziemlich umständlich (auf Dauer), aber wenigstens kann ich es so regulieren.

Gruß
Carsten