Tabelle anpassen an Seitenbreite

Tabellen und Grafiken erstellen und anordnen


Rose

Tabelle anpassen an Seitenbreite

Beitrag von Rose »

Ich muss eine Tabelle erstellen. Sie hat 6 Spalten und läuft über die Seitenbreite hinaus. Ich nutze die \tablarx Umgebung. Ich habe versucht, über \textwidth die Breite anzupassen. Funktioniert so irgendwie nicht.
Ich habe es dann mit manuellem Seitenumbruch verscuht. Funktioniert auch nicht. Mit p{3cm} funktioniert es auch nicht. Ich würde gerne die Spaltenbreite am Inhalt und nicht an der Spaltenüberschrift anpassen. Aber wie definiere ich Spaltenüberschriften?

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

Beitrag von Johannes_B »

Poste deine Tabelle als knompilierbares Dokument. Dann kann man dir direkt am Beispiel zeigen, was du ändern kannst.

So ist das alles nur Kaffeesatzleserei.
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.

Gast

Beitrag von Gast »

\begin{table}[h!]
	\caption{Übersicht über die Beispiele}
	
	\label{tab: Bspe}
	
	\begin{tabularx}{\textwidth}{||l|l|l|l|l|l||}
		\hline
		\multicolumn{6}{||c||}{Übersicht der Beispiele}\\
		\hline
		\hline
		Prädikate&keine spez. Konstante & spez. Konstante & transitives Wissen & transitives Wissen und spez. Konstante &zwei Sorten\\
		\hline
		\hline
		einstellig & BirdsEqual \ref{BirdsEqual} & Birds \ref{Birds} & & & \\
		& & Birds2Birds \ref{Birds2Birds} & & & \\
		& & Birds2Classes \ref{Birds2Classes} & & &\\
		& & BirdsNot \ref{BBirdsNot} & & &\\
		& & BirdsWithoutNull \ref{BirdsWihoutNull} & & &\\
		& & BirdsDiffer \ref{BirdsDiffer} & & &\\
		\hline
		zweistellig & Cold \ref{Cold} & Misanthrope \ref{Misanthrope} & Friendship \ref{Friendship} & FriendshipWithMisanthrope \ref{FriendshipWithMisanthrope} & Garfield \ref{Garfield} \\
		& Sport \ref{Sport} & SportEx \ref{SportEx} & & \\
		& Friendship \ref{Friendship} & MisanthropeIrreflexive \ref{MisanthropeIrreflexive} & & \\
		& MonkeysA \ref{MonkeysA} & Monkeys2 \ref{Monkeys2} & & & \\
		& & SportExN & & & \\
		ein- und zweistellig & SportExNFam \ref{BSportExNFam} & ColdTrans & ColdTransSpez & \\
		& ColdSpez \ref{ColdSpez} & & & \\
		
	\end{tabularx}
	
\end{table}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Damit die Spaltenbreiten entsprechend der geforderten Tabellenbreite angepasst werden können, musst Du Spalten vom Typ X verwenden. tabularx ohne mindestens eine X Spalte ergibt keinen Sinn. Oft empfiehlt es sich den Text in den Spalten dann im Flattersatz statt im Blocksatz auszugeben.

Außerdem wird das erste Wort eines jeden Absatzes oder auch jeder Tabellenzelle nicht getrennt. Das lässt sich zwar mit dem \hspace{0pt} Trick beheben. Aber abhängig von den Seitenrändern Deines Dokuments und dem tatsächlichen Inhalt Deiner Tabelle kann das trotzdem schwierig werden. Bei vielen Trennungen wird der Inhalt auch unleserlich und die Tabelle passt eventuell auch nicht mehr auf eine Seite. Sinnvoller wäre es vielleicht für die Tabelle im Querformat einzufügen.

Das Beispiel ist alles andere als schön, aber um das Anpassen auf die Textbreite zu zeigen ..., wobei ich noch schummle und in dem Beispiel die Seitenränder möglichst schmal wähle:
\documentclass[12pt]{article}
\usepackage[hmargin=1.5cm]{geometry}% damit im Beispiel mehr Platz ist
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{ragged2e}
\usepackage{tabularx}
\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X}

\begin{document}
\begin{table}[ht]
   \centering
   \caption{Übersicht über die Beispiele}
   \label{tab: Bspe}
   \begin{tabularx}{\textwidth}{||>{\RaggedRight\hspace{0pt}}p{1.8cm}|L|L|L|L|L||}
      \hline
      \multicolumn{6}{||c||}{Übersicht der Beispiele}\\
      \hline
      \hline
      Prädikate&keine spez. Konstante & spez. Konstante & transitives Wissen & transitives Wissen und spez. Konstante &zwei Sorten\\
      \hline
      \hline
      einstellig & BirdsEqual \ref{BirdsEqual} & Birds \ref{Birds} & & & \\
      & & Birds2Birds \ref{Birds2Birds} & & & \\
      & & Birds2Classes \ref{Birds2Classes} & & &\\
      & & BirdsNot \ref{BBirdsNot} & & &\\
      & & BirdsWithoutNull \ref{BirdsWihoutNull} & & &\\
      & & BirdsDiffer \ref{BirdsDiffer} & & &\\
      \hline
      zweistellig & Cold \ref{Cold} & Misanthrope \ref{Misanthrope} & Friendship \ref{Friendship} & FriendshipWithMisanthrope \ref{FriendshipWithMisanthrope} & Garfield \ref{Garfield} \\
      & Sport \ref{Sport} & SportEx \ref{SportEx} & & &\\
      & Friendship \ref{Friendship} & MisanthropeIrreflexive \ref{MisanthropeIrreflexive} & & &\\
      & MonkeysA \ref{MonkeysA} & Monkeys2 \ref{Monkeys2} & & & \\
      & & SportExN & & & \\
      ein- und zweistellig & SportExNFam \ref{BSportExNFam} & ColdTrans & ColdTransSpez &&\\
      & ColdSpez \ref{ColdSpez} & & & &\\
   \end{tabularx}
\end{table}
\end{document}

Gast

Beitrag von Gast »

Geht leider nicht so. Es hat mir den Rest vom Dokument verspult. Das sieht nicht mehr schön aus

Gast

Beitrag von Gast »

\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X
wurde nicht als Befehl erkannt

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Anonymous hat geschrieben:
\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X
wurde nicht als Befehl erkannt
Da fehlt die schließende geschweifte Klammer. Außerdem müssen tabularx und ragged2e geladen sein.

Antworten