Espaços em branco no tabularx adicionados após \extracolsep

Espaços em branco no tabularx adicionados após \extracolsep

Sou muito novo no Tex, mas fiz alguns tutoriais e estou preso agora, depois que pesquisar no Google não ajudou mais.

Meu código:

\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

Meu problema é assim:

insira a descrição da imagem aqui

Eu não sei como consertar isso. Estou acostumado com a simplicidade do HTML usando "largura: 100%;" e então as colunas são redimensionadas automaticamente. Como eu poderia conseguir algo semelhante no Tex?

Responder1

Você está usando o tabularxambiente, mas não está incluindo colunas expansíveis. Então, tabularxestou tentando preencher a tabela até a largura, \textwidthmas não consigo encontrar nenhuma coluna para expandir.

O tabularxambiente lhe dá a capacidade de criarexpansívelcolunas. Eles são marcados por Xna declaração da coluna. Essas colunas se expandem para preencher o espaço disponível fornecido pela largura especificada para o ambiente. As colunas expandidas são tratadas como uma \parboxlargura expandida.

Portanto, escolha uma coluna que seja expansível:

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

Você não está restrito a apenas uma coluna expansível. Você pode especificar quantos quiser. Por exemplo,

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

Você desejará que o \noindentna frente do grupo evite qualquer recuo de um parágrafo que você obteria de outra forma.

De acordo com o comentário de @egreg, o conteúdo desta tabela não parece garantir o preenchimento de toda a largura da página. Algo como o seguinte parece funcionar decentemente para você:

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

informação relacionada