我引用了以下代码https://www.tablesgenerator.com/并设置单元格颜色。但我发现生成的表格中的单元格边框消失了。
代码:
% Please add the following required packages to your document preamble:
% \usepackage{multirow}
% \usepackage[table,xcdraw]{xcolor}
% If you use beamer only pass "xcolor=table" option, i.e. \documentclass[xcolor=table]{beamer}
\begin{table}[]
\begin{tabular}{|ccc|c|c|c|}
\hline
\rowcolor[HTML]{C0C0C0}
\multicolumn{3}{|c|}{\cellcolor[HTML]{C0C0C0}Package} & \cellcolor[HTML]{C0C0C0} & \cellcolor[HTML]{C0C0C0} & \cellcolor[HTML]{C0C0C0} \\ \cline{1-3}
\rowcolor[HTML]{C0C0C0}
\multicolumn{1}{|c|}{\cellcolor[HTML]{C0C0C0}QFP100} & \multicolumn{1}{c|}{\cellcolor[HTML]{C0C0C0}QFP64} & QFP48 & \multirow{-2}{*}{\cellcolor[HTML]{C0C0C0}Name} & \multirow{-2}{*}{\cellcolor[HTML]{C0C0C0}Digital Function} & \multirow{-2}{*}{\cellcolor[HTML]{C0C0C0}Analog Function} \\ \hline
\multicolumn{1}{|c|}{1} & \multicolumn{1}{c|}{1} & 1 & A & A & - \\ \hline
\multicolumn{1}{|c|}{2} & \multicolumn{1}{c|}{2} & 2 & B & B & - \\ \hline
\end{tabular}
\end{table}
我尝试\cline{1-3}
用替换hhline{---}
,但结果也有问题
谢谢
答案1
欢迎来到 TeX.SE!!
我不知道您的表格生成器(或者任何其他生成器),但我认为您的表格很容易用tabularray
包来制作。代码将简短、简单且非常清晰(IMHO)。
像这样:
\documentclass{article}
\usepackage{lipsum} % dummy text
\usepackage{tabularray} % clean tables
\usepackage{xcolor} % colors
\definecolor{mygray}{HTML}{C0C0C0}
\begin{document}
\lipsum[1]
\begin{table}[ht]\centering
\begin{tblr}
{% format:
colspec={cccccc}, % centered columns
hlines,vlines, % horizontal and vertical lines
cell{1}{1}={c=3}{}, % enlarege cell{1}{1} to 3 columns
cell{1}{4-6}={r=2}{},% enlarge cells {1}{4}, {1}{5} and {1}{6} to 2 rows
row{1,2}={bg=mygray},% fisrt 2 rows with gray background
cells={font=\sffamily}
}% content:
Package & & & Name & Digital Function & Analog Function\\
QFP100 & QFP64 & QFP48 & & &\\
1 & 1 & 1 & A & A & -\\
2 & 2 & 2 & B & B & -
\end{tblr}
\end{table}
\lipsum[2]
\end{document}
更新:longtblr
与评论所建议的例子相同。
\documentclass{article}
\usepackage{lipsum} % dummy text
\usepackage{tabularray} % clean tables
\usepackage{xcolor} % colors
\definecolor{mygray}{HTML}{C0C0C0}
\begin{document}
\lipsum[1-4]
\begin{longtblr}
[% longtable format:
caption=Some title.,
]
{% format:
colspec={cccccc},
hlines,vlines, % horizontal and vertical lines
cell{1}{1}={c=3}{}, % enlarege cell{1}{1} to 3 columns
cell{1}{4-6}={r=2}{},% enlarge cells {1}{4}, {1}{5} and {1}{6} to 2 rows
row{1,2}={bg=mygray},% fisrt 2 rows with gray backgraound
cells={font=\sffamily},
rowhead=2,
}% content:
Package & & & Name & Digital Function & Analog Function\\
QFP100 & QFP64 & QFP48 & & &\\
1 & 1 & 1 & A & A & -\\
1 & 1 & 1 & A & A & -\\
1 & 1 & 1 & A & A & -\\
1 & 1 & 1 & A & A & -\\
1 & 1 & 1 & A & A & -\\
1 & 1 & 1 & A & A & -\\
2 & 2 & 2 & B & B & -
\end{longtblr}
\lipsum[2]
\end{document}
答案2
欢迎来到 TeX.SX!代码可以大大简化(这并不奇怪,因为表生成器以其生成的代码过于复杂而闻名):
- 将列定义从 更改为
|ccc|c|c|c|
,|c|c|c|c|c|c|
可以删除 的所有实例\multicolumn{1}{...}{...}
。 - 如果使用
\rowcolor
,则无需另外添加,\cellcolor
除非单个单元格应该有其他颜色,但这里并非如此。 - 最后,您可以使用
\hhline
,但需要稍微调整一下间距。因此,更改\\ \cline{1-3}
为\\[-.4pt] \hhline{---~~~}
应该可以解决问题。
完整 MWE:
\documentclass{article}
\usepackage{colortbl, xcolor, multirow, hhline}
\begin{document}
\begin{tabular}{|c|c|c|c|c|c|} \hline
\rowcolor[HTML]{C0C0C0}
\multicolumn{3}{|c|}{Package} & & & \\[-.4pt] \hhline{---~~~}
\rowcolor[HTML]{C0C0C0}
QFP100 & QFP64 & QFP48 & \multirow{-2}{*}{Name} & \multirow{-2}{*}{Digital Function} & \multirow{-2}{*}{Analog Function} \\ \hline
1 & 1 & 1 & A & A & - \\ \hline
2 & 2 & 2 & B & B & - \\ \hline
\end{tabular}
\end{document}