Tabularx erstreckt sich nicht über die gesamte Breite der Seite

Tabularx erstreckt sich nicht über die gesamte Breite der Seite

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 tabularxdafü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}

Tabellarisch mit falscher Zellenbreite

Wie man im Code sehen kann, verwende ich Xfür eine normale Spalte und Yfü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}

Bildbeschreibung hier eingeben

verwandte Informationen