Ergebnis 1 bis 4 von 4

Thema: Vertikale Zentrierung in Tabellen

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.01.2017
    Beiträge
    2

    Vertikale Zentrierung in Tabellen

    Hallo allerseits,

    mein Plan war innerhalb der Zeilen der Tabelle eine vertikale Zentrierung zu bekommen.
    Das Problemkind scheint meine erste Spalte zu sein, in der ich jeweils einen selbst gesetzten Zeilenumbruch habe, sobald ich diesen entferne und TeX innerhalb der Zelle selbst umbricht bekomm ich die vertikale Zentrierung für die ganze Zeile wie es sein sollte...
    Da in der Liste allerdings immer nur das Element/Verbindung als Formel in der zweiten Zeile stehen soll ist das etwas unpraktisch.

    Die Spalten im Minimalbeispiel sind so gewählt um zu Zeigen dass mir die hinteren Zellen an der unteren Zeile der Ersten Zelle ausgerichtet werden (auch für XXX,...), prinzipiell wäre mir eine allseits mittige Zentrierung in jeder Zelle sogar am liebsten

    Die redefinition von X hat immerhin dazu geführt, dass die beiden hinteren Spalten ausgerichtet werden

    Code:
    \documentclass[12pt]{scrbook}
    \usepackage{tabularx}
    \usepackage{booktabs}
    \renewcommand\tabularxcolumn[1]{m{#1}}
    \begin{document}
    \begin{table}[htbp]
        \begin{tabularx}{\textwidth}{cXX}
        \toprule
        Substanz & Reinheit & Hersteller \\
        \midrule
        Borpulver K\"ornung 1µm,\\
    B & 99,90\% & Heraeus, Hanau (D) \\
        Schwefel,\\
    S & -     & Thermo Fisher, Karlsruhe (D) \\
        \bottomrule
        \end{tabularx}
    \end{table}
    \end{document}
    Bin für alle Ideen und Tipps dankbar, vielleicht hab ichs auch einfach zu kompliziert angepackt...

    Gruß
    Mormegil
    Geändert von Mormegil (24-01-2017 um 21:01 Uhr)

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.662
    Herzlich Willkommen an Board

    Beendet ein \\ nicht auch die Tabellenzeile? Versuch es mit Klammerung ( {bla\\blubb} ), \newline oder \par statt \\ innerhalb einer Tabellenzelle.

    VG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.01.2017
    Beiträge
    2
    Klammerung kommt TeX nicht so gut mit zurecht (error), \newline bzw. \par erzeugen keine Zeilenumbrüche...

    Hab nun das Problem grundlegend umgangen, indem ich die zwei Zeilen in zwei Zellen geschrieben hab und die Zellen der hinteren Spalten mit multirow verbunden.

    Nach ein wenig rumprobieren hab ich das ganze auch vernüftig auf meine Textbreite skaliert bekommen:

    Code:
    \documentclass[12pt]{scrbook}
    \usepackage{tabularx}
    \usepackage{booktabs}
    \usepackage{multirow}
    
    \begin{document}
    
    \begin{table}[htbp]
      \centering
        \begin{tabularx}{\textwidth}{cXX}
        \toprule
        \multicolumn{1}{c}{Substanz} & \multicolumn{1}{c}{Reinheit}& \multicolumn{1}{c}{Hersteller} \\
        \midrule
        Borpulver K\"ornung 1 µm, & \multicolumn{1}{c}{\multirow{2}[0]{*}{99,90\%}} & \multicolumn{1}{c}{\multirow{2}[0]{*}{Heraeus, Hanau (D)}} \\
        \multicolumn{1}{c}{B} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} \\
        \multicolumn{1}{c}{Schwefel,} & \multicolumn{1}{c}{\multirow{2}[0]{*}{-}} & \multicolumn{1}{c}{\multirow{2}[0]{*}{Thermo Fisher, Karlsruhe (D)}} \\
        \multicolumn{1}{c}{S} &  &  \\
        \bottomrule
        \end{tabularx}
    \end{table}
    
    \end{document}
    Danke für die Tipps, drüber schlafen und nochmal anders an die Sache rangehen war dann das richtige

    Gruß
    Mormegil

    PS die \mutlicolumn Zentrierung den leeren Zellen braucht vermutlich kein Mensch, hat mir mein liebes Excel2LaTeX halt reingeschrieben

    \Edit:
    Da mir Excel2LaTeX für meine ganze Tabelle kein \multicolumn{1}{c}{} mehr zur Zentrierung der Zellen ausgespuckt hat bin ich auf den Trichter gekommen, dass die sinnvolle Variante eine entsprechende Spaltendefinition wäre ... :
    Code:
    c*2{>{\centering\arraybackslash}X}
    Geändert von Mormegil (25-01-2017 um 15:46 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.008
    Deine linke Spalte hat den Typ c. Da gibt es keinen Zeilenumbruch. Du kannst aber eine innere Tabelle verwenden:
    Code:
    \documentclass[12pt]{scrbook}
    \usepackage{tabularx}
    \usepackage{booktabs}
    \renewcommand\tabularxcolumn[1]{m{#1}}
    \begin{document}
    \begin{table}[htbp]
        \begin{tabularx}{\textwidth}{cXX}
        \toprule
        Substanz & Reinheit & Hersteller \\
        \midrule
        \begin{tabular}{@{}c@{}}
          Borpulver K\"ornung 1µm,\\
          B 
        \end{tabular}
        & 99,90\% & Heraeus, Hanau (D) \\
        \begin{tabular}{@{}c@{}} 
          Schwefel,\\ 
          S
        \end{tabular} & -     & Thermo Fisher, Karlsruhe (D) \\
        \bottomrule
        \end{tabularx}
    \end{table}
    \end{document}

Lesezeichen

Berechtigungen

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