Ich habe das Problem, dass ich in einer Tabelle jeweils über kreuz zweizeilige Einträge in den Zeilen stehen habe und gerne den Inhalt der Spalten gleichmäßig zentrieren möchte.

Momentan sieht die Tabelle so aus:

Open in writeLaTeX
\documentclass{article}
\usepackage{tabularx}
\usepackage{array}
\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{table}
  \centering
    \begin{tabular}{r|>{\centering\arraybackslash}m{2cm}|>{\centering\arraybackslash}m{2cm}}
      & \SI{3.2}{\angstrom} & \SI{4.2}{\angstrom} \\
      \hline
      S2 & $44\rightarrow 45$ & \ \newline $41\rightarrow 45$\newline $42\rightarrow 46$
      \newline \\
      \hline
      S3 & \ \newline $43\rightarrow 47$\newline $41\rightarrow 45$ \newline & $44\rightarrow 45$
    \end{tabular}
    \caption{Orbitalübergänge}
    \label{tab:diab_orb}
  \end{table}

\end{document}

Mit folgendem Ergebnis:

Tabelle

Ich hätte gerne die Einträge der zellen gleichmäßig zentriert, dass sie nicht mehr zueinander verschoben sind.

Edit: Hier ist die Verschiebung mit roten Lininen verdeutlicht. Die einzeiligen Einträge sehen besser zentriert aus und die zweizeiligen müssten genauso ausgerichtet sein.

alt text

gefragt 25 Mär '14, 08:18

quizzmaster's gravatar image

quizzmaster
4616
Akzeptiert: 33%

bearbeitet 25 Mär '14, 09:42

1

Kannst du in dem Bild vielleicht einzeichnen, welche Einträge in welche Richtung verschoben werden sollen?

(25 Mär '14, 09:05) sudo

Die einzeiligen Einträge sehen gut aus, ergo die beiden zweizeiligen Einträge jeweils ein Stück nach rechts, sodass alles bündig ist

(25 Mär '14, 09:08) quizzmaster

  • Entferne die \newline in den Zellen, sie verderben die Zentrierung
  • Lösche auch die Leerzeichen \
  • Evtl. lege Dir gleich einen Spaltentyp M an und verwende den stattdessen:

    Open in writeLaTeX
    \newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
    
  • Die ganze Tabelle könnte als array geschrieben werden, da die Inhalte im Mathemodus sind

  • Statt \newline zu benutzen (hat keinen logischen Sinn hier, wird nur versuchsweise für Abstände ungeeignet eingesetzt), könntest Du die Tabelle strecken, wie mit

    Open in writeLaTeX
    \begin{table}
      \renewcommand*{\arraystretch}{2}
      \centering
      ...
    \end{table}
    
  • bzw. wenn es alle Tabellen betrifft, diese Redefinition in die Präambel schreiben.

    Permanenter link

    beantwortet 25 Mär '14, 10:45

    stefan's gravatar image

    stefan ♦♦
    5.8k12134

    1

    Das ist genau das, wonach ich gesucht habe :) Ohne newline klappt auch die Zentrierung und die Tabelle sieht aus, wie ich mir das vorgestellt habe

    (25 Mär '14, 10:52) quizzmaster
    1

    @quizzmaster Wenn die Antwort dein Problem löst, kannst du @stefan am besten danken, indem du ihm einen "Daumen hoch" gibst und mit dem Häckchen die Antwort akzeptierst.

    (25 Mär '14, 11:07) sudo
    2

    Wenn aus irgendeinem Grund doch ein Zeilenumbruch benötigt wird, die Zentrierung aber erhalten bleiben soll, dann kannst du \linebreak verwenden.

    (25 Mär '14, 11:11) esdd
    Open in writeLaTeX
          & \ \newline
      $\mbox{}\hspace{.25em} 43\rightarrow 47$\newline
      $\mbox{}\hspace{.25em} 41\rightarrow 45$\newline
    
    Permanenter link

    beantwortet 25 Mär '14, 10:10

    Klaus%20Heidrich's gravatar image

    Klaus Heidrich
    5215

    ich hab das jetzt erst mal so händisch korrigiert. Eine allgemeine Lösung gibt es dafür nicht?

    (25 Mär '14, 10:44) quizzmaster
    Deine Antwort auf die Frage (nicht auf andere Antworten)
    Knebel-Vorschau

    Folge dieser Frage

    Per E-Mail:

    Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

    Per RSS:

    Antworten

    Antworten und Kommentare

    Aktuelle Buch-Infos

    LaTeX Cookbook

    LaTeX Beginners Guide

    Limitierter Rabatt ebook
    50% Coupon code tDRet6Y

    Markdown-Grundlagen

    • *kursiv* oder _kursiv_
    • **Fett** oder __Fett__
    • Link:[Text](http://url.com/ "Titel")
    • Bild?![alt Text](/path/img.jpg "Titel")
    • nummerierte Liste: 1. Foo 2. Bar
    • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
    • grundlegende HTML-Tags werden ebenfalls unterstützt

    Zugeordnete Themen:

    ×185
    ×18

    Frage gestellt: 25 Mär '14, 08:18

    Frage wurde angeschaut: 8,174 Mal

    Zuletzt aktualisiert: 25 Mär '14, 11:11