Пробелы в tabularx добавлены после \extracolsep

Пробелы в tabularx добавлены после \extracolsep

Я новичок в Tex, но прошел несколько обучающих курсов и теперь застрял, поскольку поиск в Google не помог.

Мой код:

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

Связанный контент