Tabularx 不跨越整个页面宽度

Tabularx 不跨越整个页面宽度

我想创建一个横跨整个页面宽度的表格,其中一列的大小是另一列大小的一半。正如建议的那样这里,我使用tabularx它。但是,出于某种原因,我的表格不想跨越整个页面。在下面的 MWE 中,我为顶行指定了一种颜色,这样可以直观地看到最后一列的单元格宽度不合适。

\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}

表格单元格宽度错误

正如代码中看到的,我使用X表示普通列,并Y使用 表示半尺寸列。当我使用 columns 时XYY,它似乎有效。因此,对我来说,它似乎相当随机。有人能解释一下哪里出了问题吗?按我想要的方式创建列的正确方法是什么(即 40%、40%、20%)?

答案1

您只是误用了 中的系数\hsize=...:它们实际上不是比例系数,而是重心系数,即它们的总和必须等于 X 型柱的总数。换句话说,在这里,您必须求解线性系统:2x+y=3,x=2y。

将您的系数结果与正确系数的结果进行比较。我添加了垂直规则以可视化每列的确切宽度:

\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}

在此处输入图片描述

相关内容