具有多行、颜色和不规则右侧的表格

具有多行、颜色和不规则右侧的表格

我已经花了 3 天时间尝试创建像 Word 中那样的简单表格。我想为我自己创建一些模板。我尝试了许多 LaTeX 转换器,但都不能满足我的所有要求。这就是我得到的结果,但必须修复几个问题。我几乎确定我不需要代码中的多列。只需为某些行设置对齐即可。

桌子

  1. \hhline我在 的位置用单元格颜色绘制了线条 ( ) \multirow,但仍然有一些线条,这取决于缩放比例。PDF Foxit 阅读器也是如此。我尝试使用\hline和,\cline但它们无法正确处理彩色单元格。是否有选项可以更改线宽?

  2. 我使用\multirow,如果我使用 also,单元格内的文本就不会在中间\multicolumn。如果我删除\multicolumn它,它就会出现在中间。但是我通过 将它定义在顶部>{\raggedright}p{0.2\textwidth}|。所以我想将它放在单元格内的顶部,或者选择将它从顶线稍微往下放一点,这样可以更好地控制单元格内的放置。另外,我想将单元格对齐到左上角或左中角,但不设置单元格的宽度,可以吗?

3-4. 如果我有一个长句子,我希望它应该根据列的大小自动移动到另一行。但如果我需要用 来合并单元格,如果 里面的句子必须使用 ,则\multirow它不起作用。如果我不需要合并单元格,我可以从 中取出一个句子,它会按预期将句子分成几行。在代码行 43 外面,自动转到下一行。在第 46 行里面,因为我需要使用来合并几个单元格,并且我必须使用。它不会自动转到其他行。\multirowtabular\multirow\multirow\multirow\multirowtabular

  1. 我想让某些单元格居中对齐,但不设置列宽。我该怎么做?
% Automatically added code
\documentclass{article}
\usepackage{xcolor}

\begin{document}
% End of automatically added code


\begin{table}[H]
\resizebox{\columnwidth}{!}{%

\begin{tabular}{|>{\raggedright}p{0.2\textwidth}|>{\raggedright}p{0.2\textwidth}|c|c|c|c|>{\raggedright}p{0.3\textwidth}|}
%{|l|l|c|c|c|c|l|}%>{\raggedright}p{0.12\textwidth}

\hhline{-------}
\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{79, 129, 189}Parameter}} &
\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{79, 129, 189} Details}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{79, 129, 189} Min}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{79, 129, 189} Typ}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{79, 129, 189} Max}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{79, 129, 189} Unit}} &
\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{79, 129, 189} Notes}}\tabularnewline
\hhline{|-|-|-|-|-|-|-|}


\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{ 79, 129, 189}VDD}} &
\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{184, 204, 228}VDD2\_b\_a}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{184, 204, 228} 1.71}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{184, 204, 228} 2}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{184, 204, 228} 2.2}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{184, 204, 228} {[}V{]}}} &
\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{184, 204, 228}2V ±5\%}} \tabularnewline
\hhline{|-|-|-|-|-|-|-|}

\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{ 79, 129, 189}}}  &
\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241}VDD1V8\_c\_d}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} 0.9}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} 1.}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} 1.2}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} {[}V{]}}} &
\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241}}}  \tabularnewline
\hhline{|>{\arrayrulecolor[RGB]{79, 129, 189}}-|>{\arrayrulecolor{black}}->{\arrayrulecolor{black}}|-|-|-|-|-|}

\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{ 79, 129, 189}}} & 
\multicolumn{1}{|l|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} }} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} 1.0}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} 1.2}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} 1.29}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} {[}V{]}}} &
\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241}}1.20V ±10\%, on save mode also work 5{[}V{]} input  \tabularnewline
\hhline{|>{\arrayrulecolor[RGB]{79, 129, 189}}-|>{\arrayrulecolor[RGB]{219, 229, 241}}->{\arrayrulecolor{black}}|-|-|-|-|-|}

\multirow{-3}{*}{\cellcolor[RGB]{ 79, 129, 189}\begin{tabular}[l]{@{}l@{}}Open Source \\SDevice\end{tabular}}  &
\multicolumn{1}{|l|}{\multirow{-2}{*}{\cellcolor[RGB]{219, 229, 241}VDD5V2\_sssss\_ttttt}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} 0.95}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} 1.0}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} 1.05}} &
\multicolumn{1}{|c|}{\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241} {[}V{]}}} &
\multirow{1}{*}{\cellcolor[RGB]{219, 229, 241}}1.00V ±20\%, on save also work 3{[}V{]}   \tabularnewline
\hhline{|-|-|-|-|-|-|-|}


\end{tabular}
}
\end{table}

% Automatically added code
\end{document}
% End of automatically added code 

先感谢您。

答案1

这是使用 制作表格的一种方法{NiceTabular}nicematrix无论使用哪种 PDF 查看器,您都不会看到细白线。

然而,您需要多次编译。

\documentclass[x11names,svgnames,11pt]{article}
\usepackage{geometry}
\usepackage{nicematrix}
\usepackage{xcolor}

\begin{document}

\begin{NiceTabular}{p{25mm}lccccX[l,m]}[hvlines]
\CodeBefore
  \rowcolor[RGB]{79,129,189}{1}
  \columncolor[RGB]{79,129,189}{1}
  \rectanglecolor[RGB]{184,204,228}{2-2}{2-*}
  \rectanglecolor[RGB]{219,229,241}{3-2}{5-*}
\Body
  Parameter & Details & Min & Typ & Max & Unit & Notes \\ 
  VDD & VDD2\_b\_a & 1.71 & 2 & 2.2 & [V] & 2V ±5\% \\
  \Block{3-1}{Open Source Device  }
  & VDD1V8\_c\_d & 0.9 & 1. & 1.2 & [V] & \\
  & \Block{2-1}{VDD5V2\_sssss\_ttttt}  & 1.0 & 1.2 & 1.29 & [V] & 1.20V ±10\%, on save mode also work 5[V] input \\
  &  & 0.95 & 1.0 & 1.05  & [V] & 1.00V ±20\%, on save also work 3[V] \\
\end{NiceTabular}

\end{document}

上述代码的输出

答案2

对于这样的表格,我建议您使用包tabularray。它提供了所有可能的控件。文档非常棒,而且很庞大。

我已经重新设计了您的表格,tabularray并将分隔线水平线改为白色。本论坛的大多数成员强烈建议您避免在表格中使用垂直线。我遇到的唯一问题是我无法消除列之间的细垂直空白。

%
\documentclass[x11names,svgnames,11pt]{article}
%
\usepackage[body={15cm,23cm},centering]{geometry}

\usepackage{siunitx}
\usepackage{xcolor}

\usepackage{tabularray}
  \UseTblrLibrary{booktabs, siunitx} 

\begin{document}

\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\begin{tblr}{
  width=1\textwidth, stretch=1.5,
  cell{1}{1-7} = {bg=azure3, fg=white},
  cell{1-5}{1} = {bg=azure3, fg=white},
  cell{2}{2-7} = {bg=azure7},
  cell{3}{2-7} = {bg=azure8},
  cell{4-5}{2-7} = {bg=azure9},
  colspec  = {llSSSlX[l, 3cm]}
  }
\toprule
  Parameter & Details & Min & Typ & Max & Unit & Notes \\ 
\hline[white]
  VDD & VDD2\_b\_a & 1.71 & 2 & 2.2 & [V] & 2V ±5\% \\
\hline[white]
\SetCell[r=3]{m, 2cm} Open Source Device  
  & VDD1V8\_c\_d & 0.9 & 1. & 1.2 & [V] & \\
\cline[white]{3-7}
  & \SetCell[r=2]{m, 3.5cm} VDD5V2\_sssss\_ttttt  & 1.0 & 1.2 & 1.29 & [V] & 1.20V ±10\%, on save mode also work 5[V] input \\
  \cline[white]{3-7}
  &  & 0.95 & 1.0 & 1.05  & [V] & 1.00V ±20\%, on save also work 3[V] \\
\bottomrule
\end{tblr}

\end{document}

在此处输入图片描述

答案3

使用tabularray包的另一种可能的解决方案:

\documentclass{article}
\usepackage[body={15cm,23cm}]{geometry}

\usepackage{siunitx}
\usepackage{xcolor}
\definecolor{darkB}{RGB}{ 79, 129, 189}     % dark blue
\definecolor{mediumB}{RGB}{184, 204, 228}   % dark blue
\definecolor{lightB}{RGB}{219, 229, 241}    % dark blue

\usepackage{tabularray}         % version 2023A
\UseTblrLibrary{booktabs, siunitx}
\newlength\colwidth

\begin{document}
\begingroup
\settowidth\colwidth{Parameter}
\noindent
\begin{tblr}{row{1} = {guard, bg=darkB,fg=white},
             row{2} = {bg=mediumB},
             row{3} = {bg=lightB},
            colspec = {Q[l, wd=4.4em, bg=darkB,fg=white] l
                       SSS
                       c X[l, m]},
            hlines, vlines, 
              }
Parameter   & Details & Min & Typ & Max & Unit & Notes \\
VDD         & VDD2\_b\_a & 1.71 & 2 & 2.2 & [V] & 2V ±5\% \\
\SetCell[r=3]{l}    Open Source Device
    & VDD1V8\_c\_d  & 0.9 & 1.      & 1.2 & [V] & \\
    & \SetCell[r=2]{l} VDD5V2\_sssss\_ttttt  
        & 1.0       & 1.2 & 1.29    & [V] & 1.20V ±\qty{10}{\%}, 
                                      on save mode also work \qty{5}{\volt} input \\
    &    & 0.95     & 1.0 & 1.05    & [V] & 1.00V ±\qty{20}{\%},   
                                      on save also work \qty{3}{\volt} \\
\end{tblr}
\endgroup
\end{document}

在此处输入图片描述

相关内容