Tabelle strecken: tabularx vs. tabulary

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabelle strecken: tabularx vs. tabulary

von dieg0 » Fr 14. Sep 2012, 16:05

Besserwisser hat geschrieben:Schau Dir vielleicht auch mal das Paket tabu an. Das dürfte alles bieten, was Du suchst.
Die Kombination aus tabu und \newcolumntype ist super. Die folgenden drei Varianten liefern alle das selbe Ergebnis, wobei ich die erste Variante am einfachsten und besten finde.
\documentclass{scrartcl}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{tabu}

\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}

\noindent
\begin{tabu}{CLL} \toprule
Durchgang & Spalte 2 & Spalte 3 \\ \midrule
A & blub & gedoens \\ 
B & blah & text \\ \bottomrule
\end{tabu}

\noindent
\begin{tabu} to \linewidth {CLL} \toprule
Durchgang & Spalte 2 & Spalte 3 \\ \midrule
A & blub & gedoens \\ 
B & blah & text \\ \bottomrule
\end{tabu}

\noindent
\begin{tabu}{X[c]X[l]X[l]} \toprule
Durchgang & Spalte 2 & Spalte 3 \\ \midrule
A & blub & gedoens \\ 
B & blah & text \\ \bottomrule
\end{tabu}

\end{document}
tabu streckt Tabellen automatisch auf \linewidth, sodass ich mir ein Argument sparen kann. Mit \newcolumntype kann ich zudem
\begin{tabu}{CLL}
statt
\begin{tabu}{X[c]X[l]X[l]}
schreiben.

\noindent würde ich weglassen, aber das ist wohl Geschmackssache.

Danke euch beiden für die Hilfe. :D

von Besserwisser » Fr 14. Sep 2012, 08:57

Schau Dir vielleicht auch mal das Paket tabu an. Das dürfte alles bieten, was Du suchst.

von esdd » Fr 14. Sep 2012, 08:47

Hallo,

mit dem array Paket kannst du die Spalten ausrichten oder dir neue Spaltentypen definieren:
\documentclass[parskip=full-]{scrartcl}
 \usepackage{lmodern}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \usepackage[ngerman]{babel}
 \usepackage{tabularx}
 \usepackage{booktabs}

\usepackage{array}
\newcolumntype{U}{>{\centering\arraybackslash}X}
\newcolumntype{V}{>{\raggedleft\arraybackslash}X}

\begin{document}

\noindent
\begin{tabularx}{\linewidth}{>{\centering\arraybackslash}X>{\raggedleft\arraybackslash}X>{\raggedleft\arraybackslash}X}\toprule
  Durchgang & Spalte 2 & Spalte 3 \\
  \midrule
  A & blub & gedoens \\
  B & blah & text \\ 
  \bottomrule
\end{tabularx}

%oder mit den neu definierten Spaltentypen
\noindent
\begin{tabularx}{\linewidth}{UVV} \toprule
  Durchgang & Spalte 2 & Spalte 3 \\
  \midrule
  A & blub & gedoens \\
  B & blah & text \\
  \bottomrule
\end{tabularx}

\end{document}
Gruß
Elke

Tabelle strecken: tabularx vs. tabulary

von dieg0 » Fr 14. Sep 2012, 00:35

Hi,

ich möchte Tabellen immer auf Textbreite strecken. Mit tabularx kann ich für die Ausrichtung der zu streckenden Spalten nur X für Blocksatz angeben. Ich möchte aber auch gerne linksbündigen/rechtsbündigen/zentrierten Text in gestreckten Spalten haben.

tabulary habe ich mir auch angeschaut, aber wenn ich das richtig verstehe, dann kann man mit dem Paket nur Tabellen stauchen. Ich bräuchte also quasi wie in tabulary L, R, C oder J als Spalten-Typen, bloß dass die Tabelle auf Seitenbreite gestreckt wird, von mir aus aufgeteilt in gleichbreite Spalten.
\documentclass{scrartcl}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{tabulary}
\usepackage{booktabs}
\begin{document}

% Diese Ausrichtungen soll der Text in den Spalten haben:
\begin{tabular}{crr} \toprule
Durchgang & Spalte 2 & Spalte 3 \\ \midrule
A & blub & gedoens \\ 
B & blah & text \\ \bottomrule
\end{tabular}

% Das ist noch nicht ganz, was ich brauche
\begin{tabularx}{\textwidth}{cXX} \toprule
Durchgang & Spalte 2 & Spalte 3 \\ \midrule
A & blub & gedoens \\ 
B & blah & text \\ \bottomrule
\end{tabularx}

% Am besten alle Spalten gleich breit, bloß mit {crr}
\begin{tabularx}{\textwidth}{XXX} \toprule
Durchgang & Spalte 2 & Spalte 3 \\ \midrule
A & blub & gedoens \\ 
B & blah & text \\ \bottomrule
\end{tabularx}

\end{document}
Am besten wäre irgendeine Lösung, die in die Präambel kann, z.B. die Definition von eigenen Buchstaben für eigene column types. Ich habe bloß keine Ahnung, wie ich das definieren soll.

Ich würde mich über ein paar Ratschläge freuen.

Viele Grüße,
dieg0.

Nach oben