Anzeige:
Ergebnis 1 bis 13 von 13

Thema: supertabular und horizontales Zentrieren

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.06.2006
    Beiträge
    50

    supertabular und horizontales Zentrieren

    Hallo!

    Ich habe eine Tabelle mit supertabular kodiert, da die Spaltenweite begrenzt sein soll:

    Code:
    \begin{supertabular}{|p{1.0cm}|c|c|c|c|} \hline
    ziemlich langer Text in dieser Zelle & a & b & c \\ \hline
    kürzerer Text & a & b & c \\ \hline
    \end{supertabular}

    Nun will ich den Inhalt der ersten Spalte horizontal (genau wie die übrigen Spalten) zentrieren. Was muss ich an der Tabelle abändern?

    Vielen Dank im Voraus.

  2. #2
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Code:
    \documentclass{article}
    
    \usepackage[latin9]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage{array}
    \usepackage{supertabular}
    
    \begin{document}
    
    \begin{supertabular}{|>{\centering\hspace{0pt}}p{1.0cm}|c|c|c|c|} \hline
    ziemlich langer Text in dieser Zelle & a & b & c \\ \hline
    kürzerer Text & a & b & c \\ \hline
    \end{supertabular}
    
    \end{document}
    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  3. #3
    Registrierter Benutzer
    Registriert seit
    09.06.2006
    Beiträge
    50
    Danke für dem Code!
    Ich möchte dies in einer komplexeren Tabelle für mehrere Spalten definieren.
    Ab einer gewissen Anzahl an Spalten, die
    Code:
    >{\centering\hspace{0pt}}
    als Prefix erhalten, gibt es eine Fehlermeldung.
    Woran kann das liegen?

  4. #4
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Bin überfragt. Probier noch den folgenden Trick mit neu definiertem Spaltentyp - wenn das nicht hilft, erstelle ein Minimalbeispiel, das den Fehler demonstriert, und hoffe auf TabellenexpertInnen.

    Code:
    \documentclass{article}
    
    \usepackage[latin9]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage{array}
    \usepackage{supertabular}
    
    \newcolumntype{x}[1]{>{\centering\hspace{0pt}}p{#1}}
    
    \begin{document}
    
    \begin{supertabular}{|x{1.0cm}|c|c|c|c|} \hline
    ziemlich langer Text in dieser Zelle & a & b & c \\ \hline
    kürzerer Text & a & b & c \\ \hline
    \end{supertabular}
    
    \end{document}
    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  5. #5
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von miwieg Beitrag anzeigen
    Ich habe eine Tabelle mit supertabular kodiert, da die Spaltenweite begrenzt sein soll:

    Code:
    \begin{supertabular}{|p{1.0cm}|c|c|c|c|} \hline
    ziemlich langer Text in dieser Zelle & a & b & c \\ \hline
    kürzerer Text & a & b & c \\ \hline
    \end{supertabular}

    Nun will ich den Inhalt der ersten Spalte horizontal (genau wie die übrigen Spalten) zentrieren. Was muss ich an der Tabelle abändern?
    Code:
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage{array}
    \usepackage{supertabular,ragged2e}
    
    \newcolumntype{C}[1]{>{\Centering\hspace{0pt}}p{#1}}
    
    \begin{document}
    
    \begin{supertabular}{|C{1.0cm}|c|c|c|c|} \hline
    ziemlich langer Text in dieser Zelle & a & b & c \\ \hline
    kürzerer Text & a & b & c \\ \hline
    \end{supertabular}
    
    \end{document}
    Herbert

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

    Anmerkung:
    Zitat Zitat von lockstep Beitrag anzeigen
    Code:
    \newcolumntype{x}[1]{>{\centering\hspace{0pt}}p{#1}}
    ist eher suboptimal. Entweder die Lösung von Herbert, welche ragged2e verwendet oder:
    Code:
    \newcolumntype{x}[1]{>{\centering\arraybackslash\hspace{0pt}}p{#1}}

    Gruß
    Marco

  7. #7
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    @voss: Warum ist \Centering hier gegenüber \centering vorzuziehen?

    lockstep

    EDIT: Zur Klarstellung: Mein Lösungsvorschlag basierte auf S. 255 der deutschen Ausgabe des LaTeX-Begleiters - dort (nur) in einer tabular-Umgebung verwendet, aber ohne Erwähnung von Nebenwirkungen.
    Geändert von lockstep (08-04-2010 um 15:32 Uhr)
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

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

    der Unterschied \Centering und \centering basiert nicht auf der tabular-Umgebung, sondern auf der Spaltendefinition.

    Folgendes Beispiel ( die Spaltendefinition entspricht dem Anfangsbuchstaben unsere Namen ) Wenn du L auskommentierst, funzt es.

    Code:
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage{array}
    \usepackage{ragged2e}
    
    \newcolumntype{L}[1]{>{\centering\hspace{0pt}}m{#1}}
    \newcolumntype{H}[1]{>{\Centering\hspace{0pt}}m{#1}}
    \newcolumntype{M}[1]{>{\centering\arraybackslash\hspace{0pt}}m{#1}}
    \begin{document}
    
    \begin{tabular}{|c|c|c|L{1.0cm}|} \hline
     a & b & c & ziemlich langer Text in dieser Zelle  \\ \hline
     a & b & c & kürzerer Text  \\ \hline
    \end{tabular}
    
    \vspace{2\baselineskip}
    
    \begin{tabular}{|c|c|c|H{1.0cm}|} \hline
     a & b & c & ziemlich langer Text in dieser Zelle  \\ \hline
     a & b & c & kürzerer Text  \\ \hline
    \end{tabular}
    
    \vspace{2\baselineskip}
    
    \begin{tabular}{|c|c|c|M{1.0cm}|} \hline
     a & b & c & ziemlich langer Text in dieser Zelle  \\ \hline
     a & b & c & kürzerer Text  \\ \hline
    \end{tabular}
    
    \end{document}
    Siehe hierzu Doku array.

    Gruß
    Marco

  9. #9
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Habe jetzt nochmal im LaTeX-Begleiter nachgelesen (S. 254f): Demnach definiert \raggedright \\ um, wogegen \arraybackslash hilft. Von \centering ist in diesem Zusammenhang nicht die Rede. Aber egal - werde mir die array-Doku ansehen.

    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  10. #10
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Demnach definiert \raggedright \\ um, wogegen \arraybackslash hilft. Von \centering ist in diesem Zusammenhang nicht die Rede
    \centering und \raggedleft sind vergleichbar, sie haben das gleiche Problem mit \\.

    http://www.mrunix.de/forums/showpost...08&postcount=6

  11. #11
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von mechanicus Beitrag anzeigen
    der Unterschied \Centering und \centering basiert nicht auf der tabular-Umgebung, sondern auf der Spaltendefinition.
    \Centering erlaubt vor allen Dingen eine Trennung, was in schmalen Spalten sinnvoll ist!

    Herbert

  12. #12
    Registrierter Benutzer
    Registriert seit
    09.06.2006
    Beiträge
    50
    Hallo noch einmal!

    Ich habe gerade die Variante
    Code:
    \newcolumntype{x}[1]{>{\centering\arraybackslash\hspace{0pt}}p{#1}}
    ausprobiert. Die läuft durch. Vielen Dank.

  13. #13
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von miwieg Beitrag anzeigen
    Hallo noch einmal!

    Ich habe gerade die Variante
    Code:
    \newcolumntype{x}[1]{>{\centering\arraybackslash\hspace{0pt}}p{#1}}
    ausprobiert. Die läuft durch. Vielen Dank.
    "durchlaufen" ist nicht dasselbe wie sinnvoll ...

    Herbert

Lesezeichen

Berechtigungen

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