Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Tabellenspalten ausrichten

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.11.2005
    Beiträge
    16

    Tabellenspalten ausrichten

    Hallo zusammen,

    ich habe folgende Tabelle, in der die Spalten 2 und 3 eine feste Breite haben:
    Code:
    \documentclass[paper=a4,fontsize=12pt]{scrartcl}
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{array}
    \usepackage{ragged2e}
    
    \begin{document}
    	\begin{tabular*}{\textwidth}{|p{3.42cm}|p{3cm}|p{8cm}|}
    		\multicolumn{3}{l}{\bfseries \large Titelleiste}\\[0.5ex] \hline
    			 & 19zz - 19zz	& Beispieltext text text text\\
    			 & 19xx - 19xx	& langer Beispieltext text text text\\
    			 & 19zz - 19zz	& sehr langer Beispieltext text text text\\
    	\end{tabular*}
    \end{document}
    nun möchte ich die Breite der ersten Spalte so anpassen, dass sie den restlichen Platz einnimmt und die dritte Spalte rechtsbündig endet. Ich kann natürlich durch Proieren einen exakten Wert ermitteln:
    Code:
    \begin{tabular*}{\textwidth}{|p{3.42cm}|p{3cm}|p{8cm}|}
    aber das muß doch eleganter gehen. Allerdings war keiner der folgenden Versuche erfolgreich:
    Code:
    %Breite = restliche Textbreite
    \begin{tabular*}{\textwidth}{|p{\textwidth-11cm}|p{3cm}|p{8cm}|}
    
    %prozentuale Aufteilung
    \begin{tabular*}{\textwidth}{@{|}p{0.2\textwidth}@{|}p{0.2\textwidth}@{|}p{0.6\textwidth}@{|}}
    
    %\fill
    \begin{tabular*}{\textwidth}{|l@{\extracolsep\fill}p{3cm}|p{8cm}|}
    Besonders das letzte Beispiel verstehe ich nicht. Trotz der fest angegebenen Spaltenbreiten werden diese vergrößert und nicht wie von mir erwartet die erste Spalte angepasst. Vielleicht könnt ihr mir einen Tipp geben, was ich falsch mache.

    Grüße,
    paule

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    die elegante Variante ist das Paket tabularx. Um dir aber die Unterschiede zu zeigen, soll das nachstehende Beispiel dienen:
    Code:
    \documentclass[paper=a4,fontsize=12pt]{scrartcl}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{array,tabularx,calc}
    \usepackage{ragged2e}
    \usepackage[showframe]{geometry}
    
    \begin{document}
    \noindent\begin{tabular}{|p{3.42cm}|p{3cm}|>{\RaggedRight}p{8cm}|}
    		\multicolumn{3}{l}{\bfseries \large Titelleiste}\\[0.5ex] \hline
    			 & 19zz - 19zz	& Beispieltext text text text\\
    			 & 19xx - 19xx	& langer Beispieltext text text text\\
    			 & 19zz - 19zz	& sehr langer Beispieltext text text text\\
    	\end{tabular}
    
    \vspace*{4ex}
    
    \noindent\begin{tabularx}{\textwidth}{|X|p{3cm}|>{\RaggedRight}p{8cm}|}
    		\multicolumn{3}{l}{\bfseries \large Titelleiste}\\[0.5ex] \hline
    			 & 19zz - 19zz	& Beispieltext text text text\\
    			 & 19xx - 19xx	& langer Beispieltext text text text\\
    			 & 19zz - 19zz	& sehr langer Beispieltext text text text\\
    	\end{tabularx}
    
    \vspace*{4ex}
    
    \noindent\begin{tabular}{|p{\textwidth-11cm-6\tabcolsep-4\arrayrulewidth}|p{3cm}|>{\RaggedLeft}p{8cm}|}
    		\multicolumn{3}{l}{\bfseries \large Titelleiste}\\[0.5ex] \hline
    			 & 19zz - 19zz	& Beispieltext text text text\\
    			 & 19xx - 19xx	& langer Beispieltext text text text\\
    			 & 19zz - 19zz	& sehr langer Beispieltext text text text\\
    	\end{tabular}
    \end{document}
    entscheidend ist die letzte Tabelle. Das noindent muss davor stehen, weil eine einfache tabular-Umgebung in den Zeilenfluss gedrückt wird.

    Gruß
    Marco

  3. #3
    Registrierter Benutzer
    Registriert seit
    02.11.2005
    Beiträge
    16
    Das zweite Beispiel war genau das was ich gesucht habe, das mit dem rechtsbündig war wohl etwas ungünstig formuliert - das bezog sich auf die Spalte ansich, nicht auf den Text. Vielen Dank.

    Grüße,
    paule

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •