테두리가 내용을 둘러싸고 각 셀 사이에 공백이 있도록 테이블의 일부 셀에 테두리를 추가하려고 합니다. 내가 달성하고 싶은 것을 보여주는 가장 좋은 이미지는 다음과 같습니다.
cellspacing
이는 테이블 설정을 통해 HTML에서 가능합니다 . LaTeX에서 어떻게 동일한 결과를 얻을 수 있나요? 나는 테이블 셀 전체가 아닌 일부에만 내부 테두리를 갖기를 원합니다.
내가 가장 가까운 것은 을 사용하는 것이지만 fbox
테이블 셀의 가장자리까지 확장할 수는 없습니다.
답변1
간단한 테이블의 경우 쉬운 솔루션은 패키지이지만 hhline
내 생각에는아니다귀하의 질문에 표시된 것처럼 \multiwrow
및 셀이 있는 복잡한 테이블에 대한 좋은 솔루션입니다 .\multicolumn
이 MWE에는 두 가지 문제가 모두 표시됩니다.
\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}
답변2
{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}
여러 가지 편집이 필요합니다.