Tabellenproblem mit Latex

andreg

Aktives Mitglied
Thread Starter
Dabei seit
11.03.2006
Beiträge
391
Reaktionspunkte
18
Hallo ich habe folgendes Problem. Ich mächte in LaTeX ein Tabelle einbinden. Das ist ja soweit ganz einfach. Nur möchte ich, dass die Tabelle vom Layout so aussieht wie die auf dem Bild. Das kriege ich zwar hin, aber muss ich für die unteren beiden Zellen, für jede Zeile die ich nutze /multicolumn als Befehl eingeben und dadurch auch die Zeilenumbrüche manuell anlegen. Geht das nicht auch einfacher? Also mit automatischen Zeilenumbrüchen und nur einem Befehl?
Außerdem erscheint die Tabelle immer in der Mitte eines neuen Blattes. Ich möchte sie aber gerne oben haben. Aus irgendeinem Grund funktioniert dies mit der Option [t] aber nicht.
Vielen Dank für die Hilfe.
67d9a14efd.jpg
 
Moin,

was gibst du als Spaltenparameter für die mehrzeiligen Spalten an? Versuch es mal mit p{<Breite>}. klick
 
versuch´s mal so:

\begin{tabular}{|l|l|} \hline
\multicolumn{2}{|c|}{Überschrift}\\ \hline
gjgjhgjgjgjcgh jg jgghjhg j gjgjgj & hkjhkjhkjhkjhkjhkjhkjh hkjhkjh\\ \hline
udhkhdk wzgdezg dzuwgeduozwgduzgwuezgu& hhdkjkjdhkahdkjh\\ \hline
\multicolumn{2}{|p{\textwidth}|}{dhgsjgcsgjgcjs gcsdjhgjdhsgjhdgjhgsjdgjhsg jhgsdjhgsjhgdjhsgj jgdsjhg jshg jhsgjhsgdjhgsjhgsdj hgsdj hgsjdhgjhgsdj jhg jhsdgjhgsjhgdjhg sjgjhsg jhg dshjgsjhgj dsgjhgsd hg jshg jhsgd jhgsjhg j}\\ \hline
\multicolumn{2}{|p{\textwidth}|}{dhgsjgcsgjgcjs gcsdjhgjdhsgjhdgjhgsjdgjhsg jhgsdjhgsjhgdjhsgj jgdsjhg jshg jhsgjhsgdjhgsjhgsdj hgsdj hgsjdhgjhgsdj jhg jhsdgjhgsjhgdjhg sjgjhsg jhg dshjgsjhgj dsgjhgsd hg jshg jhsgd jhgsjhg j}\\ \hline
\end{tabular}
 
Klasse. Klappte hervorragend. Ich war der Meinung, dass ich das schon probiert hatte und es nicht ging. Hab ich mich wohl getäuscht...

Bleibt noch das Problem mit der Positionierung...

Das sieht so aus:
Ich habe einen Gliederungspunkt zu dem nur eine Tabelle gehört. Die passt nicht mehr auf die angefangene Seite und Latex setzt sie ganz korrekt auf die nächste. Da allerdings zentriert. Und auch wenn ich einen weiteren Gliederungspunkt einfüge, bleibt sie da.

Bsp.:

2.4. Gliederungspunkt

Tabelle

2.5. Gliederungspunkt

TEXT

So ist es programmiert. Die Ausgabe sieht aber so aus:

2.4. Gliederungspunkt

2.5. Gliederungspunkt

TEXT

Seitenumbruch

Tabelle zentriert
 
Bleibt noch das Problem mit der Positionierung...

Das sieht so aus:
Ich habe einen Gliederungspunkt zu dem nur eine Tabelle gehört. Die passt nicht mehr auf die angefangene Seite und Latex setzt sie ganz korrekt auf die nächste. Da allerdings zentriert. Und auch wenn ich einen weiteren Gliederungspunkt einfüge, bleibt sie da.

Lass mich raten: du hast um die Tabelle ein table-Umgebung?
Wenn ja, sagst du LaTeX damit: nimm die Tabelle und pack sie dahin, wo sie hinpasst. Und genau das tut LaTeX dann auch, schliesslich ist das eine Gleitumgebung. Wenn du die Tabelle da haben willst, wo du sie hingeschrieben hast, darst du keine Gleitumgebung verwenden, dich dann aber auch nicht über Lücken im Text beschweren. Man kann nicht alles haben.
 
Ja ich nutze die Table Umgebung. Aber wie könnte ich sonst eine Tabelle einbinden? Habe irgendwo gehört, dass man auch Excel Tabellen einbinden kann. Stimmt das?
 
Excel Tabellen verwenden ist direkt nicht möglich. Es gibt aber Tools, die beim übertragen behilflich sind. Schau mal im Thread "Wissenswertes über LaTeX" hier im Forum, da hab ich's verlinkt.
Ein weiterer Trick, den ich gern verwende ist attachfile. Damit lässt sich im PDF das Original Excel File mitgeben.
Zum einen lassen sich Tabellen durchaus ohne table eingeben, dann gleiten die auch nicht durch die Gegend. Hat aber zur Folge, dass keine Tabellenbeschriftung geschrieben wird. Wenn die benötigt wird, table mit Positionierung [!ht] setzen, dann gleitet's nur, wenn's absolut garnicht anders geht.
 
Zum einen lassen sich Tabellen durchaus ohne table eingeben, dann gleiten die auch nicht durch die Gegend. Hat aber zur Folge, dass keine Tabellenbeschriftung geschrieben wird. Wenn die benötigt wird, table mit Positionierung [!ht] setzen, dann gleitet's nur, wenn's absolut garnicht anders geht.

Für die Beschriftung von Nicht-Gleitobjekten sorgt das caption-Paket.
Schließlich soll nicht eine normalerweise gleitende Tabelle unbedingt hier gesetzt werden, sondern eine Tabelle, die genau hier stehen soll, evtl. eine Beschriftung erhalten.
 
... was aber letzten Endes auf dem Papier ziemlich das gleiche ist, oder?
 
Ok, auf die Gefahr hin das ich hier jetzt geschimpft werde: Aber wie setze ich den eine Tabelle ohne

\begin{tabular}
...
\end{tabular}

zu benutzen???
 
Ok, auf die Gefahr hin das ich hier jetzt geschimpft werde: Aber wie setze ich den eine Tabelle ohne

\begin{tabular}
...
\end{tabular}

zu benutzen???

Das hat ja keiner verlangt, es ging hier um
Code:
\begin{table}
...
\end{table}
welches eine Gleitumgebung erzeugt, in die normalerweise (aber nicht zwingend notwendig) eine Tabelle mittles einer tabular-Umgebung gesetzt wird.

Vorschlag: Anleitung/Einführung besorgen und mal in Ruhe lesen.
 
... was aber letzten Endes auf dem Papier ziemlich das gleiche ist, oder?

Wenn alles klappt, ist das Ergebnis zeimlich ähnlich. Allerdings bleibt eine Gleitumgebung eine Gleitumgebung, daran ändert auch ein wie auch immer gearteter Parameter nichts.

Kein Mensch käme auf die Idee, einen Absatz in eine Gleitumgebung zu packen und dann der Gleitumgebung durch diverse Klimmzüge zu vermitteln, dass sie nicht gleiten soll. Warum also bei einer Tabelle?

Gerade beim LaTeX sollte man sich angewöhnen, strukturiert zu arbeiten (und vorher strukturiert zu denken), und die vorhandenen Werkzeuge richtig zu verwenden. Wenn man nur etwas haben will, "was so ähnlich aussieht", kann man auch Word und Co. verwenden. Man kann ja auch mit einer Zange einen Nagel in die Wand hauen, besser geht es aber mit einem Hammer ;)
 
Warum also bei einer Tabelle?

Weil in der Table ewentuell noch einige Sachen wie \sffamily drin stehen, was dazu führen würde, dass man sein Template jedes mal komplett anders klammern müsste wenn man's hier haben will?

Aber prinzipiell ist

Code:
\usepackage{caption}

\captionof{table}{eine nicht gleitende Tabelle}
\begin{tabular}{...

schon sauberer.
 
Weil in der Table ewentuell noch einige Sachen wie \sffamily drin stehen, was dazu führen würde, dass man sein Template jedes mal komplett anders klammern müsste wenn man's hier haben will?

Dann definiert man sich eben eine passende Umgebung, oder zwei: eine gleitende, eine nicht gleitende, oder eine Umgebung mit Parameter zum Umschalten, dann lassen sich solche Sachen auch schnell global ändern.

Ansonsten tun es auch ein paar einfache geschweifte Klammern, ein einfaches \sffamily tut es sogar innerhalb der tabular-Umgebung.
 
Ohne Table hällt die Tabelle aber kaum Abstand zur nächsten Textzeile, mit Table schon. Den müsste man dann manuell mitgeben. Ganz nebenbei ergibt \centering in der Table was anderes als" center" um eine Tabelle, auch hier sind's die Abstände. Wenn man gleitende und nicht gleitende Tabellen im Text hat wird's ohne weitere Anpassungen uneinheitlich.
Kompromiss: Mach deinne Tabellen wie du willst und überlass das durchaus berechtigte !h den anderen.
 
Ich hatte bis eben dasselbe Problem, zufällig habe ich mal folgendes probiert und rausgefunden, dass bei Verwendung eines Tildes direkt vor der table-Umgebung die Tabelle oben auf der Seite positioniert wird. Allerdings MUSS vor dem Tilde eine Leerzeile stehen.

~
\begin{table}
\begin{tabular}...
...
\end{tabular}
\caption{...}
\end{table}
 
Auf die Gefahr hin am Problem vorbei zureden, hier zwei Lösungen für das Problem "Hilfe, die Gleitumgebung gleitet frei durch den Text" (obwohl das ja eigentlich eine der größten Stärken von TeX ist...wie schon mehrfach erwähnt).

1. Die aus meiner Sicht eleganteste Lösung ist, in die Subsection, in der nur die Tabelle stehen soll einen Satz schreiben wie "Die Ergebnisse/Messwerte/Erfahrungen/was auch immer finden sich in \autoref{tabellenname}. Dafür ist es dann nötig, die Tabelle folgendermaßen aufzubauen:

\begin{table}[htbp]
\begin{tabular}{...} %Punkte bitte sinvoll ergänzen
Tabelle
\end{tabular}
\caption{Tabellenunterschrift}\label{tabellenname}
\end{table}

Diese tolle Lösung geht aber etwas an dem vorbei, was die eigentlich willst, TeX aber aus gutem Grund nicht macht.

2. Natürlich kannst Du eine Gleitumgebung mit 23 Nägel, Klebstoff und etwas Gaffatape an genau der Stelle festmachen, an der Du sie haben willst (-> Willkommen bei MS Word). Auch wenn das fies ist, geht das so:

a) in die Präambel
\usepackage{float}
\restylefloat{table} %für Tabellen
\restylefloat{figure} %den gleichen Spaß für figure-Umgebungen

b) in den Text kommt dann:


\begin{table}[H] %wichtig, es muss ein großes H sein!
\begin{tabular}{...} %Punkte bitte sinvoll ergänzen
Tabelle
\end{tabular}
\caption{Tabellenunterschrift}\label{tabellenname}
\end{table}

Das ganze heisst dann im Gegensatz zu [htbp] (here, top, bottom, page) sowas wie: "Hier, nur hier und auch in tausend Jahren noch nur an dieser Stelle!!!!!!" Entgegen der meisten Meinungen hält das dann auch was es verspricht...aufgerissene Texte, unschönes Layout, aber eine Gleitumgebung die da ist wo der User sie "will".

Aber bitte, nimm die erste Variante...ist auch einfacher. ;)
 
Zurück
Oben Unten