'Bordes internos' en celdas de la tabla

'Bordes internos' en celdas de la tabla

Estoy buscando agregar bordes a algunas celdas de una tabla, de modo que los bordes rodeen el contenido y haya un espacio entre cada celda. La mejor imagen que pude encontrar que muestra lo que quiero lograr es esta:

ingrese la descripción de la imagen aquí

Esto es posible en HTML mediante la cellspacingconfiguración de tablas. ¿Cómo puedo lograr lo mismo en LaTeX? Solo me gustaría que algunas de las celdas de la tabla tuvieran este borde interno, no todas.

Lo más cerca que he estado es usando fbox, pero no pude lograr que se extendieran hasta los bordes de las celdas de la tabla.

Respuesta1

Para tablas simples una solución fácil es el hhlinepaquete, pero creo queno esuna buena solución para tablas complejas con celdas \multiwrowy \multicolumn, como se muestra en su pregunta.

En este MWE se muestran ambos problemas:

ingrese la descripción de la imagen aquí

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

Respuesta2

Aquí hay una solución con {NiceTabular}of 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}

Salida del código anterior

Necesitas varias compilaciones.

información relacionada