„Interne Grenzen“ in Tabellenzellen

„Interne Grenzen“ in Tabellenzellen

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:

Bildbeschreibung hier eingeben

Dies ist in HTML über die cellspacingEinstellung 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 \multiwrowund \multicolumnZellen, wie in Ihrer Frage gezeigt.

In diesem MWE werden beide Probleme angezeigt:

Bildbeschreibung hier eingeben

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

Ausgabe des obigen Codes

Man braucht mehrere Zusammenstellungen.

verwandte Informationen