tabularx 中的空格在 \extracolsep 之後加入

tabularx 中的空格在 \extracolsep 之後加入

我對 Tex 很陌生,但我做了一些教程,但在谷歌搜尋不再有幫助之後,我現在陷入了困境。

我的程式碼:

\bgroup
\def\arraystretch{1.75}
\begin{tabularx}{\textwidth}{ | l | @{\extracolsep{\fill}} l | l | l | l | l |}
    \hline 
    \textbf{col 1} &  & col 3 & col 4 & & col 6
    \\
    \hline
    some stuff & & & & other stuff & 
    \\
    \hline
    text thats pretty & & & & important & 
    \\
    \hline

    \multicolumn{5}{r|}{combined } & \\ \cline{6-6}
\end{tabularx}
\egroup

我的問題是這樣的:

在此輸入影像描述

我不知道,如何解決它。我習慣了 HTML 的簡單性,即使用“width: 100%;”然後列自動調整大小。我怎麼能在 Tex 中得到類似的東西?

答案1

您正在使用該tabularx環境,但沒有包含任何可擴展列。因此,tabularx正在嘗試將表格填充到寬度,\textwidth但找不到任何要擴展的列。

環境tabularx賦予你創造的能力可擴展的列。它們X在列聲明中以 標記。這些列擴展以填充環境的指定寬度提供的可用空間。擴展的列被視為\parbox擴展的寬度。

因此應該選擇一個可擴展的列:

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tabularx}
\pagestyle{empty}
\begin{document}
\noindent
\bgroup
\def\arraystretch{1.75}%
\begin{tabularx}{\textwidth}{ | l |  @{\extracolsep{\fill}}  l | l | l | l | X |}
    \hline 
    \textbf{col 1}    &  & col 3 & col 4 &             & col 6    \\\hline
    some stuff        &  &       &       & other stuff &          \\\hline
    text thats pretty &  &       &       & important   &          \\\cline{6-6}

    \multicolumn{5}{r|}{combined } &                              \\\cline{6-6}
\end{tabularx}
\egroup

\end{document}

您不僅限於只有一個可擴充列。您可以指定任意數量。例如,

\begin{tabularx}{\textwidth}{ | l |  @{\extracolsep{\fill}}  X | X | X | X | X |}

您需要將\noindent放在群組的前面,以防止任何段落縮排。

根據 @egreg 的評論,該表的內容似乎不能保證填充頁面的整個寬度。像下面這樣的東西似乎應該適合你:

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tabularx}
\pagestyle{empty}
\begin{document}

\noindent
\hspace*{\fill}
\bgroup
\def\arraystretch{1.75}%
\begin{tabular}{ | l |  l | l | l | l | l |}
    \hline 
    \textbf{col 1}    &  & col 3 & col 4 &             & col 6    \\\hline
    some stuff        &  &       &       & other stuff &          \\\hline
    text thats pretty &  &       &       & important   &          \\\cline{6-6}

    \multicolumn{5}{r|}{combined } &                              \\\cline{6-6}
\end{tabular}
\egroup
\hspace*{\fill}

\end{document}

相關內容