PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle mit arrays und Text in Zellen



momo
09-09-2009, 11:50
Hallo,

ich habe eine Tabelle in Querformat, die in den einzelnen Zellen verschiedenes Einträge enthalten soll (Formeln, Texte, ggfs. Bilder).
Die Spalten der Tabelle sollen feste Abstände haben.
Ich habe jetzt eine Lösung mit einer Tabelle und minipages, siehe kompilierbares Minimalbeispiel.
Gibt es da ein Problem, wenn man zu viele minipages in einer Seite definiert?
Komme ich auch ohne die Minipages aus?
Wenn ja, wie?

Ich wäre sehr froh, wenn mir noch jemand antworten würde ;-), da ich zuvor mich wohl ziemlich schräg ausgedrückt habe, sorry..
Danke!!



\documentclass[landscape]{article}
\usepackage[left=10mm,right=1mm,top=5mm,bottom=20mm,showframe]{geometry}
\usepackage{amsmath}
%
\begin{document}
\begin{tabular}{|l|l|l|l|}
\begin{minipage}[t]{6cm} %c11
\begin{array}[t]{@{}llll}
D1:& 2^0 &=& 1 \\
& 2^1 &=& 2 \\
\end{array}
\end{minipage}
&
\begin{minipage}[t]{4cm} %c12
12
\end{minipage}
&
\begin{minipage}[t]{4cm} %c13
\begin{flushleft}
Definition:\\
bla bla bla
\end{flushleft}
\end{minipage}
&
\begin{minipage}[t]{2cm} %c14
14
\end{minipage}\\
\hline
\begin{minipage}[t]{6cm} %c21
21
\end{minipage}
&
\begin{minipage}[t]{4cm} %c22
22
\end{minipage}
&
\begin{minipage}[t]{4cm} %c23
\begin{array}[t]{@{}llll}
D1: & 2^0 &=& 1 \\
& 2^1 &=& 2 \\
\end{array}
\end{minipage}
&
\begin{minipage}[t]{2cm} %c24
24
\end{minipage}\\
\hline
\end{tabular}
\end{document}

mechanicus
09-09-2009, 18:22
Hallo,



Die Spalten der Tabelle sollen feste Abstände haben.

Hierzu bieten sich p-Spalten an.
piel.



Gibt es da ein Problem, wenn man zu viele minipages in einer Seite definiert?

Bekannt ist mir keins.



Komme ich auch ohne die Minipages aus?

Ja, siehe mein MB:

\documentclass[landscape]{article}
\usepackage[left=10mm,right=1mm,top=5mm,bottom=20mm,showframe]{geometry}
\usepackage{amsmath}
%
\begin{document}
\begin{tabular}{|p{6cm}|p{6cm}|p{6cm}|p{6cm}|}
\begin{array}[t]{@{}llll}
D1:& 2^0 &=& 1 \\
& 2^1 &=& 2 \\
\end{array}
&
12
&
\raggedright
Definition:\\
bla bla bla
&
14
\\\hline
21

&
22
&
\begin{array}[t]{@{}llll}
D1: & 2^0 &=& 1 \\
& 2^1 &=& 2 \\
\end{array}
&
24
\\\hline
\end{tabular}
\end{document}

momo
10-09-2009, 12:37
Hallo,

danke für Deine Antwort, sieht gut aus!

Bedeutet das \raggedright kann ich für linksbündigen, mehrzeiligen Text in Zellen nehmen?
(warum heißt es dann ..right??)

Wenn die Ausdrücke in einer Zelle zu komplex werden, z.B. ein großes array, gibt es dann
so etwas wie include{..} in einer eigenen Datei o.ä. um die Übersicht zu behalten, bzw.
wie macht man das?

Gruß
Annette

u_fischer
10-09-2009, 12:42
Bedeutet das \raggedright kann ich für linksbündigen, mehrzeiligen Text in Zellen nehmen? (warum heißt es dann ..right??)

Weil "ragged" rau, zackig, zerklüftet heißt. Und das ist dann rechte Rand. Du kannst aber auch \flushleft nehmen. (flush= glatt).

momo
10-09-2009, 12:51
.. ok, danke Dir, hast Du vielleicht auch eine Idee zu meiner zweiten Frage:

Was kann man tun, um den Überblick in den Zellen zu behalten, mein A4-Blatt wird
4 * 5 Zellen haben, mit z.T. komplexen Formeln, das ist für einen Anfänger wie mich schwierig.

Danke und Gruß
Annette

u_fischer
10-09-2009, 13:17
Bau deine Tabelle modular auf:

\newcommand\FormelXYZ{.....}

\begin{tabular}
\FormelXYZ
...

Du kannst auch den Code einer Formel in eine externe Datei tun, und mit \input einlesen.

(Anmerkung: tabular und array und ähnliche Konstrukte sind komplizierte und sensible Gebilde. Nicht alles kann man einfach so in Befehlen verstecken oder per \input einlesen. Z.B. darf die externe Datei nicht mit \multicolumn beginnen.)



Mach vernünftige Einzüge



\begin{tabular}{|p{6cm}|p{6cm}|p{6cm}|p{6cm}|}
\begin{array}[t]{@{}llll}
D1:& 2^0 &=& 1 \\
& 2^1 &=& 2 \\
\end{array}
\end{tabular}




Benutze einen Editor, der Syntaxhighlighting kann.

Außerdem: Wenn du mehr Übung hast, wird es leichter werden.

robaat
18-11-2010, 20:50
Hallo,

ich bin neu hier und habe diese Beitrag gelesen und ein ganz ähnliches Problem.

Ich würde gern eine Tabelle erstellen. In der ersten Spalte soll ein array stehen, in der zweiten Spalte ein eqnarray. Das Array in der ersten Spalte schaffe ich, aber wenn ich versuche die zweite Spalte mit einem Array (oder eqnarray) dann bekomme ich dauerhaft fehler, die ich nicht verstehe. Bin leider auch noch ein totaler Rookie. Das Eqnarray will ich einbauen, weil ich so die Gleichungen in der zweiten Spalte nach dem Gleichheitszeichen ausrichten kann.
Ich habe mal ein Minimalbeispiel erstellt:

\documentclass[a4paper,10pt]{scrartcl}
\usepackage{amsmath}
\begin{document}

\begin{table}
\begin{tabular}{lr}
\begin{array}[t]{l}
\text{Name der Gleichung 1}\\
\text{Name der Gleichung 2}\\
\text{Name der Gleichung 3}\\
\text{Name der Gleichung 4}
\end{array}
&
\begin{eqnarray}
Formel 1 = 7635786\\
Formel 2 = 1\\
Formel 3 = 0,45\\
Formel 4 = 2,1
\end{eqnarray}
\end{tabular}
\end{table}

\end{document}

Ich würde mich sehr freuen, wenn mir jemand helfen könnte.

Vielen Dank im Voraus

rstuby
19-11-2010, 08:05
Das geht nur mit p-Spalten, weil in anderen Spalten kein Zeilenumbruch erlaubt ist.

robaat
19-11-2010, 09:59
Vielen Dank für den Tipp. So funktioniert es.