테이블에서 하나의 행과 하나의 열을 강조표시하고 싶습니다. 컬럼은 문제 없습니다. 그러나 정의 @{}
에 사용할 경우 행의 가장 바깥쪽 왼쪽 및 오른쪽 셀의 색상 패널이 테이블 테두리에 돌출되어 있습니다 tabular
.
\documentclass{scrartcl}
\usepackage{colortbl,booktabs}
\begin{document}
\begin{table}[h]
\setlength{\aboverulesep}{0pt} % align \bottomrule nicely to coloured cell
\setlength{\belowrulesep}{0pt} % align \toprule nicely to coloured cell
\setlength{\extrarowheight}{.75ex} % make up for lost ruleseps
\begin{tabular}{@{}c>{\columncolor[gray]{.9}}cc@{}} \toprule
a & b & c \\
d & e & f \\
\rowcolor[gray]{.9} g & h & i \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
문제는 분명합니다.
돌출부를 줄이기 위해 사용하는 것은 \rowcolor[gray]{.9}[0pt][0pt]
행이 더 이상 완전히 강조 표시되지 않으므로 옵션이 아닙니다.
내가 지금까지 시도한 것
다음과 같이 강조 표시된 행을 재정의하면
[0pt]
셀에 인쇄되고 제안되었지만 작동하지 않습니다.여기.\rowcolor[gray]{.9}\cellcolor{white}\cellcolor[gray]{.9}[0pt] g & h & i \\
강조 표시된 행을 다음과 같이 재정의해도 작동하지 않습니다.
\rowcolor[gray]{.9}[0pt][0pt] g & \cellcolor[gray]{.9} h & i \\
가운데 셀은 정의된 것처럼 강조 표시되어 있습니다
\rowcolor[gray]{.9}[0pt][0pt]
.
\bottomrule
색상 패널을 왼쪽과 오른쪽 으로 정렬할 수 있는 다른 방법이 있습니까 ?
답변1
한 가지 방법은 열 너비를 수정하는 것입니다. 이것이 매우 우아한 방법인지는 잘 모르겠습니다.
\documentclass{scrartcl}
\usepackage{colortbl,booktabs}
\begin{document}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
\begin{table}[h]
\setlength\tabcolsep{0pt}
\begin{tabular}{C{1em}>{\columncolor[gray]{.9}} C{1em} C{1em}} \toprule
a & b & c \\
d & e & f \\
\rowcolor[gray]{.9} g & h & i \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
\end{document}
답변2
\documentclass{scrartcl}
\usepackage{booktabs}
\usepackage[table]{xcolor}
\colorlet{tablerowcolor}{yellow}%\colorlet{tablerowcolor}{gray!10}
\newcommand*{\ct}[1]{\multicolumn{1}{>{\columncolor{tablerowcolor}}c}{#1}}
\newcommand*{\fct}[1]{\multicolumn{1}{>{\columncolor{tablerowcolor}\hspace*{-\tabcolsep}}c}{#1}}
\newcommand*{\lct}[1]{\multicolumn{1}{>{\columncolor{tablerowcolor}}c<{\hspace*{-\tabcolsep}}}{#1}}
\newcommand*{\cfct}[1]{\multicolumn{1}{>{\columncolor{tablerowcolor}[\dimexpr\tabcolsep-\cmidrulekern\relax][\tabcolsep]\hspace*{-\tabcolsep}}c}{#1}}
\newcommand*{\clct}[1]{\multicolumn{1}{>{\columncolor{tablerowcolor}[\tabcolsep][\dimexpr\tabcolsep-\cmidrulekern\relax]}c<{\hspace*{-\tabcolsep}}}{#1}}
\begin{document}
\begin{table}[h]
\setlength{\aboverulesep}{0pt} % align \bottomrule nicely to coloured cell
\setlength{\belowrulesep}{0pt} % align \toprule nicely to coloured cell
\setlength{\extrarowheight}{.75ex} % make up for lost ruleseps
\begin{tabular}{ @{}r@{} }
\\
reference \\
wrong alignment if overhang \\
fitted to \texttt{\textbackslash midrule} \\
fitted to \texttt{\textbackslash cmidrule(lr)} \\
\end{tabular}
%
\begin{tabular}{ @{}*{3}{c}@{} }
\toprule
test & test & test \\
\midrule
a & b & c \\
\ct a & b & \ct c \\
\midrule
\fct a & b & \lct c \\
\cmidrule(lr){1-3}
\cfct a & b & \clct c \\
\bottomrule
\end{tabular}
\end{table}
\end{document}