
Ich möchte eine Tabelle erstellen, die die gesamte Breite der Seite einnimmt und bei der eine Spalte halb so groß ist wie eine andere Spalte. Wie vorgeschlagenHier, verwende ich tabularx
dafür. Aus irgendeinem Grund will meine Tabelle aber nicht die ganze Seite umfassen. Im MWE unten habe ich der obersten Zeile eine Farbe gegeben, die visualisiert, dass die Zellenbreite der letzten Spalte nicht passt.
\documentclass{article}
\usepackage{colortbl}
\usepackage{tabularx}
\newcolumntype{Y}{>{\hsize=0.5\hsize}X} % Half the size of X.
\begin{document}
\begin{tabularx}{\linewidth}{XXY} % E.g., XYY does work...
\hline
% The first row is given a color to clearly show the cell width.
\rowcolor{blue} A & B & Lorem ipsum dolor sit amet\\ \hline
a & b & c \\ \hline
\end{tabularx}
\end{document}
Wie man im Code sehen kann, verwende ich X
für eine normale Spalte und Y
für eine Spalte mit halber Größe. Wenn ich columns verwende XYY
, scheint es zu funktionieren. Daher kommt es mir ziemlich zufällig vor. Kann mir jemand erklären, was schief läuft? Was wäre die richtige Art, Spalten so zu erstellen, wie ich sie möchte (also 40 %, 40 %, 20 %)?
Antwort1
Sie haben die Koeffizienten in einfach falsch verwendet \hsize=...
: Es sind keine Proportionalitätskoeffizienten, sondern baryzentrische Koeffizienten, d. h. ihre Summe muss gleich der Gesamtzahl der Spalten vom Typ X sein. Mit anderen Worten, hier müssen Sie das lineare System lösen: 2x+y=3, x=2y.
Vergleichen Sie das Ergebnis Ihrer Koeffizienten mit dem Ergebnis der richtigen Koeffizienten. Ich habe vertikale Linien hinzugefügt, um die genaue Breite jeder Spalte zu visualisieren:
\documentclass{article}
\usepackage{colortbl}
\usepackage{tabularx}
\newcolumntype{Y}{>{\hsize=0.5\hsize}X} % Half the size of X.
\begin{document}
\begin{tabularx}{\linewidth}{XXY} % E.g., XYY does work...
\hline
% The first row is given a color to clearly show the cell width.
\rowcolor{blue} A & B & Lorem ipsum dolor sit amet\\ \hline
a & b & c \\ \hline
\end{tabularx}
\end{document}