Ich möchte einigen Zellen in einer Tabelle Rahmen hinzufügen, sodass die Rahmen den Inhalt umgeben und zwischen den einzelnen Zellen ein Abstand besteht. Das beste Bild, das ich finden konnte und das ungefähr zeigt, was ich erreichen möchte, ist dieses:
Dies ist in HTML über die cellspacing
Einstellung in Tabellen möglich. Wie kann ich dasselbe in LaTeX erreichen? Ich möchte nur, dass einige Tabellenzellen diesen inneren Rahmen haben, nicht alle.
Am nächsten kam ich dem Ergebnis, indem ich verwendete fbox
, aber ich konnte sie nicht ganz bis an die Ränder der Tabellenzellen ausdehnen.
Antwort1
Für einfache Tabellen ist das Paket eine einfache Lösung hhline
, aber ich denke, dassist nichteine gute Lösung für komplexe Tabellen mit \multiwrow
und \multicolumn
Zellen, wie in Ihrer Frage gezeigt.
In diesem MWE werden beide Probleme angezeigt:
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{hhline}
\usepackage{multirow}
\begin{document}
\arrayrulecolor{black}
\doublerulesepcolor{gray!40}
\begin{tabular}{||>{\columncolor[gray]{0.9}\bfseries}c||c||c||c||c||}
\hhline{|t:=:t:=:t:=:t:=:t:=:t|}
\rowcolor{red!30}
\multirow{2}{*}{alfa} & \bfseries beta & \multicolumn{2}{|c||}{\bfseries beta} & \bfseries alfa \\
\hhline{||~|:=::=::=::=:|}
& beta & alfa & beta & alfa \\
\hhline{|:=::=::=::=::=:|}
alfa & beta & alfa & beta & alfa \\
\hhline{|:=::=::=::=::=:|}
alfa & beta & alfa & beta & alfa \\
\hhline{|:=::=::=::=::=:|}
\rowcolor{green!30} gamma & delta & gamma & delta & gamma \\
\hhline{|b:=:b:=:b:=:b:=:b:=:b|}
\end{tabular}
\end{document}
Antwort2
Hier ist eine Lösung mit {NiceTabular}
von nicemtrix
.
\documentclass{article}
\usepackage{nicematrix,tikz}
\begin{document}
\newcommand{\B}
{
\Block
[
tikz = clip ,
tikz = { draw, line width=3pt } ,
tikz = { draw, color = gray!10, line width = 2.5pt}
]
}
\NiceMatrixOptions{cell-space-limits=5pt}
\begin{NiceTabular}{>{\bfseries}ccccc}
\CodeBefore
\arraycolor{lightgray}
\rectanglecolor{white}{3-2}{6-5}
\Body
\RowStyle[nb-rows=2]{\bfseries}
\B{2-1}{Question} & \B{1-2}{Women} && \B{1-2}{Men} \\
& \B{}{Yes} & \B{}{No} & \B{}{Yes} & \B{}{No} \\
\B{}{Question 1} & \B{}{42\%} & \B{}{58\%} & \B{}{61\%} & \B{}{39\%} \\
\B{}{Question 2} & \B{}{53\%} & \B{}{47\%} & \B{}{69\%} & \B{}{31\%} \\
\B{}{Question 3} & \B{}{26\%} & \B{}{74\%} & \B{}{51\%} & \B{}{49\%} \\
\RowStyle{\bfseries}
\B{}{Average} & \B{}{40\%} & \B{}{60\%} & \B{}{60\%} & \B{}{40\%}
\end{NiceTabular}
\end{document}
Man braucht mehrere Zusammenstellungen.