PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabellen - zwei Objekte nebeneinander



ToD
21-12-2006, 23:10
Tag,

ich arbeite gerade an einer Ausarbeitung über die Programmierung des Gauß'schen Eliminationsverfahrens und arbeite mich bei der Gelegenheit ein wenig in LaTeX ein... Und stolpere über folgende Schwierigkeit:

Ich möchte eine Darstellung haben, welche zeigt, wie ein lineares Gleichungssystem in eine erweiterte Koeffizientenmatrix überführt wird. Dachte ich mir, ok, machst du ne Tabelle, in deren linker Spalte das Gleichungssystem setht, in der Mitte ein Doppelpfeil und rects die erweiterte Koeffizientenmatrix. Folgenden LaTeX-Code habe ich dafür produziert:


\begin{table}
\centering
\begin{tabular}{lcr}
\begin{eqnarray*}
1x + 1y + 1z = 40\\
2x + 2y + 4z = 100\\
7,5x + 20y + 60z = 1075
\end{eqnarray*}&\Rightarrow&
\begin{table}
\begin{tabular}{rrr|r}
\textbf{x}&\textbf{y}&\textbf{z}&\textbf{R}\\
1&1&1&40\\
2&2&4&100\\
7,5&20&60&1075\\
\end{tabular}
\end{table}
\end{tabular}
\label{transformation}
\caption{Transformation Gleichungssystem zu Koeffizientenmatrix}
\end{table}

Der wirft aber blöderweise 101 Fehler, mit denen ich nix anzufangen weiß - vermutlich ist es einfach nicht erlaubt, komplexe Elemente wie ein Gleichungssystem oder eine andere Tabelle in einer Tabelle unterzubringen.
Aber wie erreiche ich denn nun mein Ziel??

Dankbar für jede Hilfe,
Tobias

ToD
21-12-2006, 23:19
Hallo,

ich hab übrigens auch schon ausprobiert, mein Vorhaben mittel figure und minipage hinzubekommen - allerdings mit dem ausschließlichem Ergebnis, das mein PDF jetzt gar nicht erst fertiggerendert wird...

mpG
Tobias

Yasser
22-12-2006, 00:28
Neuer Text: Deine Tabellenumgebung ist meiner bescheidenen Meinung nach total im Eimer. Mach mal ne Skizze oder die Teile deiner Tabelle in einzelne Absätze, dann würde ich mich mal daran versuchen.

Alter Text:
Hi, hast du mal überlegt, das gar nicht als Tabelle mit tabular etc. zu machen? Ich spiele gerade damit rum, die 5 verschiedenen Tabellenbumgebungen nachzubauen, indem ich mir ein paar Minipages und rules vordefiniere. Hier mein erstes Ergebnis:


\documentclass{scrartcl}
\setlength{\parindent}{0cm}

\begin{document}
%Z: Zelle o: inhalt oben, z: zentriert, b: blocksatz, l: linksbündig
\newcommand{\Zlo}[2]{\begin{minipage}[t]{#1}\begin{flushleft}#2\end{flushleft}\end{minipag e}\hfill}
\newcommand{\Zro}[2]{\begin{minipage}[t]{#1}\begin{flushright}#2\end{flushright}\end{minip age}\hfill}
\newcommand{\Zzo}[2]{\begin{minipage}[t]{#1}\begin{center}#2\end{center}\end{minipage}\hfi ll}
\newcommand{\Zbo}[2]{\begin{minipage}[t]{#1}#2\end{minipage}\hfill}

\newcommand{\oberelinie}{\rule{0ex}{1ex}\rule{\tex twidth}{0.6pt}\\}
\newcommand{\linie}{\\\rule{0ex}{1ex}\rule{\textwi dth}{0.4pt}\\}
\newcommand{\unterelinie}{\\\rule{0ex}{1ex}\rule{\ textwidth}{0.6pt}\\}

\oberelinie
\Zlo{3cm}{Früchte}
\Zzo{1cm}{A}
\Zbo{6cm}{fast geht es richtig ab. schmale schmale box. vinichts}
\Zlo{2cm}{Test}
\linie
\Zlo{3cm}{Apfel, Birne, Banane}
\Zzo{1cm}{B}
\Zbo{6cm}{fast\\gut}
\Zlo{2cm}{Test}
\\\\
\Zlo{3cm}{Kiwi}
\Zzo{1cm}{C}
\Zbo{6cm}{als Gefangene ihrer Geschlechterrollen beschreibt. Welche gesellschaftlichen
Ordnungen und Traditionen, vielleicht Widrigkeiten tragen dazu bei, die Rollenfast nigeht es richtig ab.}
\Zlo{2cm}{Tes richtig ab. schmale box. vist}
\unterelinie
\end{document}

Ist zwar noch lange nicht so, wie ich es gerne hätte, aber ich habe ein gutes Gefühl! Das Tabellenproblem in LaTeX ist imho noch nicht gut gelöst.

sofa-surfer
22-12-2006, 00:50
Ich spiele gerade damit rum, die 5 verschiedenen Tabellenbumgebungen nachzubauen, indem ich mir ein paar Minipages und rules vordefiniere.

Warum um Himmelswillen so kompliziert ? :confused:


\documentclass{scrartcl}

\usepackage{booktabs,array}

\begin{document}

\begin{tabular}{%
p{3cm}
p{1cm}
p{6cm}
p{2cm}
}
\toprule
Früchte & A & fast geht es richtig ab. schmale schmale box. vinichts & Test \\
\midrule
Apfel, Birne, Banane & B & fast \newline gut & Test \\
Kiwi & C & als Gefangene ihrer Geschlechterrollen beschreibt. Welche gesellschaftlichen
Ordnungen und Traditionen, vielleicht Widrigkeiten tragen dazu bei, die Rollenfast nigeht es richtig ab. & Tes richtig ab. schmale box. vist \\
\bottomrule

\end{tabular}

\end{document}

Matthias

rais
22-12-2006, 01:27
Moin moin,


Aber wie erreiche ich denn nun mein Ziel??


hast Du vllt so etwas vor:


\documentclass{scrartcl}
\usepackage{amsmath,array,tabularx}
\newcolumntype{R}{>{$}r<{$\arraybackslash}}
\newcolumntype{L}{>{$}l<{$\arraybackslash}}
\begin{document}
\begin{table}
\centering
\begin{tabular}{r@{$\quad\Rightarrow\quad$}l}
\begin{tabular}{R@{$\;=\;$}L}
1x + 1y + 1z & 40\\
2x + 2y + 4z & 100\\
7,5x + 20y + 60z & 1075
\end{tabular}
& \begin{tabular}{rrr|r}
\textbf{x}&\textbf{y}&\textbf{z}&\textbf{R}\\
1&1&1&40\\
2&2&4&100\\
7,5&20&60&1075\\
\end{tabular}
\end{tabular}
\caption{Transformation Gleichungssystem zu Koeffizientenmatrix}
\label{tab:transform}
\end{table}
\end{document}
?
Was mir so aufgefallen ist:
- Du hast versucht, eine Gleitumgebung (table) innerhalb einer anderen Gleitumgebung aufzurufen.
- eqnarray? Vgl. amsldoc (amsmath-Doku) oder auch l2tabu
- \label vor der entsprechenden \caption zeigt idR ins Nirvana...bzw. zu der darüberliegenden \section oder sonstigem Gliederungsabschnitt...

MfG,

sofa-surfer
22-12-2006, 01:27
Tag,

ich arbeite gerade an einer Ausarbeitung über die Programmierung des Gauß'schen Eliminationsverfahrens und arbeite mich bei der Gelegenheit ein wenig in LaTeX ein... Und stolpere über folgende Schwierigkeit:

Ich möchte eine Darstellung haben, welche zeigt, wie ein lineares Gleichungssystem in eine erweiterte Koeffizientenmatrix überführt wird. Dachte ich mir, ok, machst du ne Tabelle, in deren linker Spalte das Gleichungssystem setht, in der Mitte ein Doppelpfeil und rects die erweiterte Koeffizientenmatrix.

Was deine Vergewaltigung der \table-Umgebung innerhalb der \tabular angeht: Schau mal in eine allgemeine Latex-Einführung. \table ist eine Gleitumgebung und hat mit dem "Bauen" einer Tabelle an sich erst mal überhaupt nix zu tun.

Was dein Problem angeht: Ich weiß ja nicht, ob du eher was allgemeiner einsetzbares suchst. Aber speziell für dein Problem mal eine Lösung mit einem \array:


\documentclass{article}

\begin{document}


$
\begin{array}{r@{{}+{}}r@{{}+{}}r@{{}={}}rc*{3}{r} |r}
\multicolumn{5}{c}{} & \mathbf{x} & \mathbf{y} & \mathbf{z} & \mathbf{R} \\
1x & 1y & 1z & 40 & & 1 & 1 & 1 & 40\\
2x & 2y & 4z & 100 & \Longrightarrow & 2 & 2 & 4 & 100\\
7,5x & 20y & 60z & 1075 & & 7,5 & 20 & 60 & 1075
\end{array}
$

\end{document}

Matthias

EDIT: Hehe, diesmal war ich zu spät. Und das zu so später Stunde .... :D

Yasser
22-12-2006, 09:26
Warum um Himmelswillen so kompliziert ? :confused:



Das ist ganz einfach: wenige Werkzeuge, viele Möglichkeiten! Diese Tabelle mag einfach sein, aber um Text linksbündig zu machen, müsste man schon zu so einem dieser Frank-Mittelbach-Pakete zurückgreifen, und sich einen neuen Spaltentyp definieren. Und sobald man innerhalb einer Spalte die Ausrichtung einer Zelle ändern will, gibt es wieder Probleme. Dazu kommt das Dezimalpaket, das Paket für gleichmäßig verteilte Spalten, die Kommandos fürs vereinen von Zellen ...

Der Code für die Tabelle im Anhang war gewaltig und unübersichtlich, außerdem musste man sich einer Menge Pakete bedienen. Als nächstes werde ich diese Tabelle so, wie ich sie eigentlich haben wollte (ist mir nicht ganz gelungen) nachbauen und dann die Codemengen vergleichen. Ich bin mir fast sicher, dass das "minipage"-System gewinnen wird!

countbela666
22-12-2006, 12:03
Der Code für die Tabelle im Anhang war gewaltig und unübersichtlich, außerdem musste man sich einer Menge Pakete bedienen.Ist mit drei Paketen zu machen. Der Codeumfang hält sich IMHO in Grenzen und der Unübersichtlichkeit kann man durch vernünftige Quellcodestrukturierung beikommen:

\documentclass[tablecaptionabove]{scrartcl}
\usepackage{
array,
booktabs,
dcolumn
}
\makeatletter
\newcolumntype{d}[1]{>{\DC@{.}{,}{#1}}l<{\DC@end}}
\makeatother
\newcolumntype{N}{>{\footnotesize}l}
\newcolumntype{V}[1]{>{\footnotesize\raggedright\hspace{0pt}}p{#1}}
\begin{document}
\begin{table}
\centering\small
\caption{Tabelle}
\begin{tabular}{%
%%%%% Spaltendeklaration
@{} l
d{2.1}
d{2.1} @{~$\pm$~} d{2.1}
d{2.1} @{~:~} d{3.1}
d{3.1} @{~$\pm$~} d{2.1} @{}
}
\toprule
%%%%% Spaltenbeschriftung
\multicolumn{1}{@{}N} {Diagnose} &
\multicolumn{1}{N} {H\"aufigkeit} &
\multicolumn{2}{N} {Alter} &
\multicolumn{2}{N} {Geschlecht} &
\multicolumn{2}{V{2cm}@{}}{Zeitspanne zwischen Diagnose und Punktion} \\
\addlinespace
%%%%% Einheiten
\empty &
\multicolumn{1}{N} {\%} &
\multicolumn{2}{N} {Jahre $\pm$ SD} &
\multicolumn{2}{N} {\% m:w} &
\multicolumn{2}{N@{}}{Monate $\pm$ SD} \\
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}\cmidrule(l){7-8}
%%%%% Tabellenkörper
SCLC & 8.6 & 59.5 & 11.9 & 50.0 & 50.0 & 3.1 & 4.4 \\
NSCLC & 12.2 & 63.3 & 11.5 & 70.6 & 29.4 & 6.5 & 7.3 \\
GI-CA & 27.3 & 61.4 & 14.1 & 50.0 & 50.0 & 25.5 & 46.2 \\
Mamma-CA. & 18.0 & 58.8 & 14.5 & 0.0 & 100.0 & 127.8 & 72.9 \\
andere & 33.8 & 66.7 & 12.4 & 66.0 & 34.0 & 32.4 & 41.0 \\
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}\cmidrule(l){7-8}
%%%%% Tabellenfuß
\empty & \multicolumn{1}{l}{$n=139$}
& 62.8 & 13.3 & 48.9 & 51.1 & 31.6 & 52.2 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}Grüße,
Marcel

ToD
22-12-2006, 17:52
Vielen Dank an alle Beteiligten,

die Lösung von rais war genau das, was ich gesucht habe. Jetzt hab ich zwar im Moment kein Inhaltsverzeichnis mehr, aber das kriege ich bestimmt wieder hin ;). Mein Lösungsvorschlag war der brutale Versuch eines Anfängers, etwas zu schaffen, das so nicht in seiner Einführung drinsteht - bis ich mit LaTeX auch nur einigermaßen umgehen kann, wird wohl noch etwas Zeit vergehen.

mpG
Tobias