Tabelle in voller Breite mit mehreren Spalten

Tabelle in voller Breite mit mehreren Spalten

Ich habe ein Problem beim Erstellen einer Tabelle in voller Breite mit mehreren Spalten.

Der Code lautet:

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

Leider ist es nicht das, was ich erwartet habe.

  1. Die Spalte „Berechtigung“ ist nicht breit genug
  2. Auf der rechten Seite befindet sich ein zusätzlicher Platz, der dort nicht hingehört.

Meine Erwartungen waren, dass Xdie rechte Spalte auf die Textbreite (wie in der Tabellenkonfiguration definiert) gestreckt wird.

Ich beabsichtige, diese Tabelle aus dem Skript zu erstellen, kann die Spaltengrößen aber nicht als Konstanten festlegen.

Bildbeschreibung hier eingeben

Antwort1

Zwei Möglichkeiten mit entweder fest mit pTypspalten oder lTypspalten:

Bildbeschreibung hier eingeben

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

verwandte Informationen