Gleichmäßig verteilte Spaltenabstände in Tabelle – nur wie?

Tabellen und Grafiken erstellen und anordnen


mofehl
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 62
Registriert: Mi 27. Aug 2014, 13:07

Gleichmäßig verteilte Spaltenabstände in Tabelle – nur wie?

Beitrag von mofehl »

Moin!

(Wahrscheinlich ist meine Frage einfach zu beantworten, ich habe allerdings im Netz nichts dazu gefunden.)

Ich habe unten stehende Tabelle (Minimalbeispiel) und möchte, dass die Abstände zwischen den Spalten gleichmäßig verteilt werden, und zwar so, dass die zur Verfügung stehende Tabellenbreite voll ausgeschöpft wird. Ich möchte NICHT, dass die Spalten an sich alle dieselbe Breite aufweisen. Dies ließe sich einfach bewerkstelligen.

Mit anderen Worten: Jede Spalte soll nur so breit sein wie nötig, aber der Abstand zwischen diesen Spalten soll gleichmäßig verteilt werden, sodass die letzte Spalte ganz rechts bündig am Tabellenende anliegt.

Jemand eine Idee? Eigentlich ist der Wunsch ja nicht allzu besonders...
\documentclass[paper=a4]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{booktabs,tabularx}

\begin{document}

\begin{table}[htbp]
	\centering
	\caption{Meine Tabelle}
	\label{tab:Meine_Tabelle}
	{\footnotesize
	\begin{tabularx}{\textwidth}{lrrrrr}
		\toprule
			Kategorie & Hütten & Bewirtschaftet & Selbstversorger & Sektionen \\
		\midrule
			Kategorie I & 202 & 158 & 44 & 133 \\
			Kategorie II & 47 & 35 & 12 & 40 \\
			Kategorie III & 2 & 2 & 0 & 2 \\
			Mittelgebirgshütten & 73 & 11 & 62 & 70 \\
		\midrule
			Alle Kategorien & 324 & 206 & 118 & 184 \\
		\bottomrule
	\end{tabularx}}
\end{table}

\end{document}

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4267
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

\documentclass[paper=a4]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{booktabs,tabularx,lipsum}

\begin{document}

\begin{table}[htbp]
    \lipsum[1]
    \centering
    \caption{Meine Tabelle}

    \label{tab:Meine_Tabelle}
    {\footnotesize
    \begin{tabularx}{\textwidth}{l@{\extracolsep{\fill}}rrrr@{\extracolsep{\tabcolsep}}r}
       \toprule
          Kategorie & Hütten & Bewirtschaftet & Selbstversorger & Sektionen \\
       \midrule
          Kategorie I & 202 & 158 & 44 & 133 \\
          Kategorie II & 47 & 35 & 12 & 40 \\
          Kategorie III & 2 & 2 & 0 & 2 \\
          Mittelgebirgshütten & 73 & 11 & 62 & 70 \\
       \midrule
          Alle Kategorien & 324 & 206 & 118 & 184 \\
       \bottomrule
    \end{tabularx}}
\end{table}

\end{document}

Besserwisser

Beitrag von Besserwisser »

Ist eigentlich ein schönes Beispiel für die Standard tabular*-Umgebung, also ganz ohne tabularx:
\documentclass[paper=a4]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{booktabs,lipsum}

\begin{document}

\begin{table}[htbp]
    \lipsum[1]
    \centering
    \caption{Meine Tabelle}

    \label{tab:Meine_Tabelle}
    {\footnotesize
    \begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}rrrr@{\extracolsep{\tabcolsep}}r}
       \toprule
          Kategorie & Hütten & Bewirtschaftet & Selbstversorger & Sektionen \\
       \midrule
          Kategorie I & 202 & 158 & 44 & 133 \\
          Kategorie II & 47 & 35 & 12 & 40 \\
          Kategorie III & 2 & 2 & 0 & 2 \\
          Mittelgebirgshütten & 73 & 11 & 62 & 70 \\
       \midrule
          Alle Kategorien & 324 & 206 & 118 & 184 \\
       \bottomrule
    \end{tabular*}}
\end{table}

\end{document}

mofehl
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 62
Registriert: Mi 27. Aug 2014, 13:07

Beitrag von mofehl »

Leute, ihr seid die Besten! Herzlichen Dank u_fischer und Besserwisser!

mofehl
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 62
Registriert: Mi 27. Aug 2014, 13:07

Beitrag von mofehl »

Nachtrag

Ich habe im ursprünglichen Minimalbeispiel einen Fehler gemacht, der sich in den beiden Antworten wiederfindet. Die von mir eingestellte Tabelle wird durch 6 Spalten definiert, es findet sich aber nur Text für 5 Spalten. Die Tabelle soll auch nur 5 Spalten haben. Dadurch kann der zusätzliche Ausgleich durch
@{\extracolsep{\tabcolsep}}
in der Spaltendefinition entfallen. Die (saubere) Lösung lautet daher:
\documentclass[paper=a4]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{booktabs,lipsum}

\begin{document}

\begin{table}[htbp]
    \lipsum[1]
    \centering
    \caption{Meine Tabelle}

    \label{tab:Meine_Tabelle}
    {\footnotesize
    \begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}rrrr}
       \toprule
          Kategorie & Hütten & Bewirtschaftet & Selbstversorger & Sektionen \\
       \midrule
          Kategorie I & 202 & 158 & 44 & 133 \\
          Kategorie II & 47 & 35 & 12 & 40 \\
          Kategorie III & 2 & 2 & 0 & 2 \\
          Mittelgebirgshütten & 73 & 11 & 62 & 70 \\
       \midrule
          Alle Kategorien & 324 & 206 & 118 & 184 \\
       \bottomrule
    \end{tabular*}}
\end{table}

\end{document}
Danke an Besserwisser für den Hinweis auf die tabular*-Umgebung, die mir unbekannt war. Die Lösung wird auch hier beschrieben:

https://en.wikibooks.org/wiki/LaTeX/Tables

Antworten