如何修改彩色表格?

如何修改彩色表格?

如何修改彩色表格?我想添加标题并将文本放在中间,并将整个表格放在中间。 \caption、\centering 不起作用。以下是代码

\documentclass{article}

% for color models
\usepackage{xcolor}

% for nice coloring in tables
\usepackage{tabularray}

% for multi-row cells
\usepackage{multirow}

%for Helvetica-like sans font
\usepackage[T1]{fontenc}
\usepackage{tgheros}

\begin{document}

\sffamily

% adds some vertical padding in cells
\renewcommand{\arraystretch}{1.5}

% slightly thicker lines
\setlength{\rulewidth}{0.8pt}

% define colors
\definecolor{mycyan}{HTML}{d4f0dc}
\definecolor{myblue}{HTML}{b7e0ff}
\definecolor{mygreen}{HTML}{92d050}
\begin{tblr}{
    colspec={|p{1.5cm}|p{1.5cm}|p{6cm}|},
}
\hline
\SetRow{yellow}
Step 1 & 1 & xx \\
\hline
\SetRow{mycyan}
Step 2 & 2 & xx \\
\hline
\SetRow{myblue}
Step 3 & \SetCell[r=4]{wd=1.5cm}{3} & xx\\
\cline{1-1}\cline{3-3}
\SetRow{myblue}
Step 4 & & xx \\
\cline{1-1}\cline{3-3}
\SetRow{myblue}
Step 5 & & xx\\
\cline{1-1}\cline{3-3}
\SetRow{myblue}
Step 6 & & xx\\
\hline
\SetRow{mygreen}
Step 7 & 1 & xx\\
\hline
\end{tblr}

\end{document}

答案1

至少对我来说,你并不完全清楚自己想要什么。因此,我首先将使用的语法更改为包中定义的语法tabularray,然后在多行单元格中插入一些文本,将表格插入table浮动环境,其中表格水平居中。最后,我为表格添加标题:

\documentclass{article}
%--------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%
\usepackage{lipsum}                             % for dummy text
%---------------------------------------------------------------%
\usepackage[T1]{fontenc}
\sffamily
%\usepackage{tgheros}

\usepackage{xcolor}
\definecolor{mycyan}{HTML}{d4f0dc}
\definecolor{myblue}{HTML}{b7e0ff}
\definecolor{mygreen}{HTML}{92d050}
\usepackage{tabularray}


\begin{document}

\begin{table}[ht]
\centering
\caption{Caption}
\label{tab:?}
    \begin{tblr}{hlines, vlines,
                 colspec = {Q[l,wd=15mm] Q[l,wd=15mm] Q[l,wd=60mm]},
                 row{1}  = {bg=yellow},
                 row{2}  = {bg=mycyan},
                 row{3-Y}= {bg=myblue},
                 row{Z}  = {bg=mygreen},
                }
Step 1  & 1 & xx    \\
Step 2  & 2 & xx    \\
Step 3  & \SetCell[r=4]{l}  multi line text in the middle of table 
            & xx    \\
Step 4  &   & xx    \\
Step 5  &   & xx    \\
Step 6  &   & xx    \\
Step 7  & 1 & xx    \\
    \end{tblr}
\end{table}
\end{document}

在此处输入图片描述

(红线表示文本区域边框)

这就是你要找的吗?

答案2

以下是用 构建该表的一种方法nicematrix

\documentclass{article}
\usepackage{lipsum} % for dummy text  
\usepackage{xcolor}
\usepackage{nicematrix}
\usepackage{caption}

\begin{document}

\lipsum[1]

\begin{table}[ht]
\centering
\caption{Caption}
\label{tab:?}
\begin{NiceTabular}[hvlines,colortbl-like,cell-space-limits=3pt]
  {w{c}{15mm}w{l}{15mm}w{c}{60mm}}
\rowcolor{yellow}
Step 1  & 1 & xx    \\
\rowcolor[HTML]{d4f0dc}
Step 2  & 2 & xx    \\
\RowStyle[nb-rows=4,rowcolor=[HTML]{b7e0ff}]{}
Step 3  & \Block{4-1}{multi line text in the middle of table}
            & xx    \\
Step 4  &   & xx    \\
Step 5  &   & xx    \\
Step 6  &   & xx    \\
\rowcolor[HTML]{92d050}
Step 7  & 1 & xx    \\
\end{NiceTabular}
\end{table}
\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容