Tabela de largura total com multicolunas

Tabela de largura total com multicolunas

Estou com um problema ao criar uma tabela de largura total com várias colunas.

O código é:

\documentclass[]{article}
\usepackage{longtable,booktabs}
\usepackage{geometry}
 \geometry{
 a4paper,
 left=20mm,
 right=20mm,
 top=20mm,
 bottom=20mm
 }

\usepackage{ltablex}
\usepackage{calc}
\usepackage[dvipsnames,table]{xcolor}
\usepackage{lipsum}

\definecolor{header-color}{HTML}{C0C0C0}
\definecolor{color-reserved}{HTML}{E0E0E0}
\definecolor{color1}{HTML}{F0F0F0}
\definecolor{color2}{HTML}{FFFFFF}

\begin{document}

\begin{tabularx}{\linewidth}%
   {% col 1
   |p{\widthof{Bit(s)}}|%
   % col 2
   p{\widthof{FIELD1\_NAME}}|%
   % col 3
   p{\widthof{Permissions}}|%
   % col 4
   p{\widthof{Reset Value}}|%
   % col 5
   X|
   }

    \hline
\rowcolor{header-color}
    \rowcolor{header-color}{\bf Bit(s)} & {\bf Field Name} & {\bf Permissions} & {\bf Reset Value} & {\bf Attributes} \\
    \hline
    \hline
    \endfirsthead
    \hline
    \rowcolor{header-color}{\bf Bit(s)} & {\bf Field Name} & {\bf Permissions} & {\bf Reset Value} & {\bf Attributes} \\
    \hline
    \hline
    \endhead

\rowcolor{color-reserved}0        & Reserved   & --          & --          & \\\hline  
\rowcolor{color2}
1         & FIELD1\_NAME & RW & 0x0 & \\\hline 
\rowcolor{color2}
             & \multicolumn{4}{p{\hsize}|}{
\lipsum[1-2]

} \\\hline 
\end{tabularx}

\end{document}

Infelizmente, não é o que eu esperava.

  1. A largura da coluna "Permissão" não é larga o suficiente
  2. Há um espaço adicional no lado direito que não deveria estar lá.

Minhas expectativas eram Xesticar a coluna direita até a largura do texto (conforme definido na configuração da tabela).

Pretendo criar esta tabela a partir do script e não consigo definir os tamanhos das colunas como constantes.

insira a descrição da imagem aqui

Responder1

Duas possibilidades com pcolunas de tipo fixas ou lcolunas de tipo:

insira a descrição da imagem aqui

\documentclass[]{article}
\usepackage{longtable,booktabs}
\usepackage{geometry}
 \geometry{
 a4paper,
 left=20mm,
 right=20mm,
 top=20mm,
 bottom=20mm
 }

\usepackage{ltablex}
\usepackage{calc}
\usepackage[dvipsnames,table]{xcolor}
\usepackage{lipsum}

\definecolor{header-color}{HTML}{C0C0C0}
\definecolor{color-reserved}{HTML}{E0E0E0}
\definecolor{color1}{HTML}{F0F0F0}
\definecolor{color2}{HTML}{FFFFFF}
\usepackage{makecell}
\renewcommand{\theadfont}{\normalsize\bfseries}
\begin{document}

\begin{tabularx}{\linewidth}%
   {% col 1
   |p{\widthof{\bfseries Bit(s)}}|%
   % col 2
   p{\widthof{FIELD1\_NAME}}|%
   % col 3
   p{\widthof{\bfseries Permissions}}|%
   % col 4
   p{\widthof{\bfseries Reset Value}}|%
   % col 5
   X|
   }

    \hline
    \rowcolor{header-color}{\bfseries Bit(s)} & {\bfseries Field Name} & {\bfseries Permissions} & {\bfseries Reset Value} & {\bfseries Attributes} \\
    \hline
    \hline
    \endfirsthead
    \hline
    \rowcolor{header-color}{\bfseries Bit(s)} & {\bfseries Field Name} & {\bfseries Permissions} & {\bfseries Reset Value} & {\bfseries Attributes} \\
    \hline
    \hline
    \endhead

\rowcolor{color-reserved}0        & Reserved   & --          & --          & \\\hline  
\rowcolor{color2}
1         & FIELD1\_NAME & RW & 0x0 & \\\hline 
\rowcolor{color2}
             & \multicolumn{4}{p{\textwidth-4\tabcolsep-3\arrayrulewidth-\widthof{\bfseries Bit(s)}}|}{
\lipsum[1-2]

} \\\hline 
\end{tabularx}


\begin{tabularx}{\linewidth}%
   {% col 1
   |p{\widthof{\bfseries Bit(s)}}|%
   l|%
   l|%
   l|%
   % col 5
   X|
   }

    \hline
    \rowcolor{header-color}{\bfseries Bit(s)} & {\bfseries Field Name} & {\bfseries Permissions} & {\bfseries Reset Value} & {\bfseries Attributes} \\
    \hline
    \hline
    \endfirsthead
    \hline
    \rowcolor{header-color}{\bfseries Bit(s)} & {\bfseries Field Name} & {\bfseries Permissions} & {\bfseries Reset Value} & {\bfseries Attributes} \\
    \hline
    \hline
    \endhead

\rowcolor{color-reserved}0        & Reserved   & --          & --          & \\\hline  
\rowcolor{color2}
1         & FIELD1\_NAME & RW & 0x0 & \\\hline 
\rowcolor{color2}
             & \multicolumn{4}{p{\textwidth-4\tabcolsep-3\arrayrulewidth-\widthof{\bfseries Bit(s)}}|}{
\lipsum[1-2]

} \\\hline 
\end{tabularx}


\end{document}

informação relacionada