Tabellenspalten mit kleiner fester Breite und unregelmäßigem Rechts/Zentriert/links erstellen?

Tabellenspalten mit kleiner fester Breite und unregelmäßigem Rechts/Zentriert/links erstellen?

Ich habe die erste Antwort auf diese Frage gelesen

Wie erstelle ich Tabellenspalten mit fester Breite und Text mit unregelmäßiger rechter/zentrierter/linksseitiger Ausrichtung?

Ich habe es versucht

\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\begin{tabular}{|C{0.2cm}|C{0.5cm}|}
\hline
b & c \\
\hline
B & C \\
\hline
\end{tabular}

Das Ergebnis wird unten angezeigt. Warum haben wir bei kleinen Größen einen solchen Effekt? Wie kann man das beheben?

Bildbeschreibung hier eingeben

Antwort1

Lassen Sie mich meinen Kommentar unter der Frage näher erläutern:

  • BAuch Buchstaben bsind breiter als 2 mm, was der definierten Breite der ersten Spalte entspricht.
  • Option \hspace{0pt}in Ihrer CSpaltendefinition verhindern, dass Zelleninhalte in die nächste Spalte überlaufen. latexVerschieben Sie folglich Zelleninhalte in die nächste Zeile, in der diese Einschränkung nicht gilt. So erhalten Sie Ihr Ergebnis.

Die möglichen Heilmittel:

  • weglassen \hspace{0pt}und dadurch zulassen, dass der Zellinhalt \tabcolsepden Platz auf der rechten Seite der Zellen nutzen kann und, falls nötig, in die nächste Spalte überläuft
  • Erhöhen Sie die Zellenbreite. Wenn Sie beispielsweise ein Spaltenbreitenverhältnis von 2:5 haben möchten (wie aus Ihrem Codeausschnitt hervorgeht), können Sie die Spaltenbreite wie folgt definieren:\begin{tabular}{|C{1em}|C{2.5em}|}

Ein Beispiel für ein vollständiges kleines Dokument (genannt „Minimales Arbeitsbeispiel“: MWE) ist:

\documentclass{article}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash}m{#1}}

\begin{document}
    \begin{center}
\renewcommand\arraystretch{1.2}% for more vertical space in cells
\begin{tabular}{|C{1em}|C{2.5em}|}
    \hline
b & c \\
    \hline
B & C \\
    \hline
\end{tabular}
    \end{center}
\end{document}

Das Ergebnis ist:

Bildbeschreibung hier eingeben

Sie können natürlich auch andere Spaltenbreiten definieren, diese sollten jedoch nicht kleiner als die Buchstabenbreite sein M, d. h 1em.

Hinweis: Bitte geben Sie in Zukunft immer MWE an, nicht nur Code-Schnipsel. Damit helfen Sie uns, Ihnen zu helfen.

Antwort2

warum stattdessen nicht „Tabu“ verwenden?

Ein Beispiel könnte sein

\documentclass{article}
\usepackage{tabu}

\begin{document}

\begin{tabu} to 3cm {|X[cm]|X[2cm]|}
    \hline
    b & c \cr
    \hline
    B & C \cr
    \hline
\end{tabu}

\end{document}

verwandte Informationen