
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.
- A largura da coluna "Permissão" não é larga o suficiente
- Há um espaço adicional no lado direito que não deveria estar lá.
Minhas expectativas eram X
esticar 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.
Responder1
Duas possibilidades com p
colunas de tipo fixas ou l
colunas de tipo:
\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}