我如何创建表 1 和表 2(见下图)但进行以下修改:
- 表1中无参数说明栏。
- 我不想要表 1 和表 2 中的深色标题以及表 1 中的“图 1-4”。
编辑:从 Zarko 的回答来看,我尝试了第一个表,但出现了一些错误。我还添加了第三个表,该表有 20 行,需要处理,因为它很长。
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx}
\begin{document}
\begin{center}
\begin{tblr}{colspec = {*{1}{Q[l, mode=math] } *{4}{Q[c, si={table-format=1.2}]}},
row{1} = {guard},
row{2-Z} = {rowsep=0.5pt},
row{Z} = {guard}
}
\toprule
& \SetCell[c=1]{c} Parameters
& & \SetCell[c=2]{c} Numerical values
& \\
\cmidrule[r]{1} \cmidrule[l]{2-5}
a & 0.00 &0.00 & 0.04 & 0.00 \\
b & 0.00 & 0.00 & 2.48 & 0.00 \\
c & 0.00 & 0.00 & 0.08 & 0.00 \\
d & 0.00 & 0.00 & 0.12 & 0.00 \\
e & 0.00 & 0.00 & 0.16 & 0.00 \\
f & 0.00 & 0.00 & 0.20 & 0.00 \\
g & 0.1 &0.2 & 0.24 & 0.00 \\
h &0.7 & 0.4 & 0.24 & 0.00 \\
i &0.00 & 0.00 & 0.24 & 0.6 \\
j &0.00 & 0.00 & 0.2 & 0.8 \\
k &0.4 & 0.00 & 0.24 & 0.00 \\
l &0.00 & 0.00 & 0.2 & 0.00 \\
m &0.00 & 0.00 & 0.24 & 0.00 \\
n &0.00 & 0.00 & 0.24 & 0.00 \\
o &0.00 & 0.00 & 0.24 & 0.00 \\
\midrule[0.8pt]
& & & Figure \textcolor{red}{1}
& Figure \textcolor{red}{2} \\
\cmidrule[0.8pt]{2-5}
\end{tblr}
\end{center}
\begin{center}
\begin{tblr}{colspec = {Q[l, mode=math] Q[c, si={table-format=-1.4}]},
row{1} = {guard, mode=text},
row{odd[3-X]}={belowsep=2ex},
}
\toprule
Expression & Value \\
\toprule
a & 0.00 \\
b & 0.00 \\
c & 0.00 \\
d & 0.00 \\
e & 0.00 \\
f & 0.00 \\
g & 0.00 \\
\bottomrule
\end{tblr}
\end{center}
\begin{center}
\begin{tblr}{colspec = {*{1}{Q[l, mode=math] } *{4}{Q[c, si={table-format=1.2}]}},
row{1} = {guard},
row{2-Z} = {rowsep=0.5pt},
row{Z} = {guard}
}
\toprule
& \SetCell[c=1]{c} Parameters
& & \SetCell[c=2]{c} Numerical values
& \\
\cmidrule[r]{1} \cmidrule[l]{2-5}
a & 0.00 &0.00 & 0.04 & 0.00 \\
b & 0.00 & 0.00 & 2.48 & 0.00 \\
c & 0.2 & 0.3 & 0.8 & 0.2 \\
d & 0.00 & 0.00 & 0.08 & 0.00 \\
e & 0.00 & 0.00 & 0.08 & 0.00 \\
f & 0.00 & 0.00 & 0.12 & 0.00 \\
g & 0.00 & 0.00 & 0.16 & 0.00 \\
h & 0.00 &0.00 & 0.24 & 0.00 \\
i &0.00 & 0.00 & 0.24 & 0.00 \\
j &0.00 & 0.00 & 0.24 & 0.00 \\
k &0.00 & 0.00 & 0.24 & 0.00 \\
l & 0.00 & 0.00 & 0.20 & 0.00 \\
m &0.00 & 0.00 & 0.24 & 0.00\\
n &0.00 & 0.00 & 0.24 & 0.00 \\
o &0.00 & 0.00 & 0.24 & 0.00 \\
p &0.00 & 0.00 & 0.24 & 0.00 \\
q &0.00 & 0.00 & 0.24 & 0.00 \\
r &0.00 & 0.00 & 0.24 & 0.00 \\
s &0.00 & 0.00 & 0.24 & 0.00 \\
t &0.00 & 0.00 & 0.24 & 0.00 \\
\midrule[0.8pt]
& & & Figure \textcolor{red}{1}
& Figure \textcolor{red}{2} \\
\cmidrule[0.8pt]{2-5}
\end{tblr}
\end{center}
\end{document}
可以弄得专业点吗?会用来出版。
表 1 应如下所示:
答案1
- 您的表格代码片段的内容甚至与 shoed 表格相差甚远,因此下表只有(最后)两列带有数字。
- 对于表使用
tblr
的tabularray
包 - 最后两列是
S
类型,可以将数字对齐到小数点(这些数字在显示的表格中)
编辑(1):
现在,在编辑了问题之后,我更加清楚自己想要什么了。我必须承认,原始问题中的表格代码让我搞不清楚表格中的内容。类似于显示第一张图片,或者表格代码中写了什么。
希望现在编辑后的代码能够满足您的要求。
编辑(2):
看来我们(OP 和我)需要更多迭代才能最终确定这个表。仍然不清楚参数是什么样子。我假设它们应该位于水平居中的单元格中,如有问题的第一张图片所示。现在也用更正后的代码替换了原始代码……
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx}
\begin{document}
\begin{center}
\begin{tblr}{colspec = {Q[c, mode=math]*{4}{Q[c, si={table-format=1.2}]}},
row{1} = {guard, mode=text},
row{2-Z} = {rowsep=0pt},
row{odd[3-X]}={belowsep=0.5ex},
row{Z} = {guard}
}
\toprule
Parameters
& \SetCell[c=4]{c} Numerical values
& & & \\
\cmidrule[r]{1-1} \cmidrule[l]{2-5}
A & 0.00 & 0.00 & 0.04 & 0.00 \\
\mu_1 & 0.00 & 0.00 & 2.48 & 0.00 \\
\beta & 0.00 & 0.00 & 0.08 & 0.00 \\
\gamma & 0.00 & 0.00 & 0.12 & 0.00 \\
\mu_2 & 0.00 & 0.00 & 0.16 & 0.00 \\
f & 0.00 & 0.00 & 0.20 & 0.00 \\
g & 0.1 & 0.2 & 0.24 & 0.00 \\
h & 0.7 & 0.4 & 0.24 & 0.00 \\
i & 0.00 & 0.00 & 0.24 & 0.6 \\
j & 0.00 & 0.00 & 0.2 & 0.8 \\
k & 0.4 & 0.00 & 0.24 & 0.00 \\
l & 0.00 & 0.00 & 0.2 & 0.00 \\
m & 0.00 & 0.00 & 0.24 & 0.00 \\
n & 0.00 & 0.00 & 0.24 & 0.00 \\
o & 0.00 & 0.00 & 0.24 & 0.00 \\
\midrule[0.8pt]
& Figure \textcolor{red}{1}
& Figure \textcolor{red}{2}
& Figure \textcolor{red}{3}
& Figure \textcolor{red}{4} \\
\cmidrule[0.8pt]{2-5}
\end{tblr}
\end{center}
\end{document}
编辑(3):
天哪!你不是想要专业的表格,而是想要排版糟糕的普通表格。
好吧,我会做出这些改变,但这是我对我的答案的最后一次编辑/更正。我不愿意成为你打字的助手。我太老了,对不起。
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx}
\begin{document}
\begin{center}
\begin{tblr}{hlines, vlines,
colspec = {Q[c, mode=math]*{4}{Q[c, si={table-format=1.2}]}},
row{1} = {guard, mode=text},
row{Z} = {guard}
}
Parameters
& \SetCell[c=4]{c} Numerical values
& & & \\
A & 0.00 & 0.00 & 0.04 & 0.00 \\
\mu_1 & 0.00 & 0.00 & 2.48 & 0.00 \\
\beta & 0.00 & 0.00 & 0.08 & 0.00 \\
\gamma & 0.00 & 0.00 & 0.12 & 0.00 \\
\mu_2 & 0.00 & 0.00 & 0.16 & 0.00 \\
f & 0.00 & 0.00 & 0.20 & 0.00 \\
g & 0.1 & 0.2 & 0.24 & 0.00 \\
h & 0.7 & 0.4 & 0.24 & 0.00 \\
i & 0.00 & 0.00 & 0.24 & 0.6 \\
j & 0.00 & 0.00 & 0.2 & 0.8 \\
k & 0.4 & 0.00 & 0.24 & 0.00 \\
l & 0.00 & 0.00 & 0.2 & 0.00 \\
m & 0.00 & 0.00 & 0.24 & 0.00 \\
n & 0.00 & 0.00 & 0.24 & 0.00 \\
o & 0.00 & 0.00 & 0.24 & 0.00 \\
& Figure \textcolor{red}{1}
& Figure \textcolor{red}{2}
& Figure \textcolor{red}{3}
& Figure \textcolor{red}{4} \\
\end{tblr}
\end{center}
\end{document}
或使用下表的序言
\begin{tblr}{hline{1-Y} = solid, hline{Z} = {2-Z}{solid},
vline{1} = {1-Y}{solid}, vline{2-Z} = {1-Z}{solid},
colspec = {Q[c, mode=math]*{4}{Q[c, si={table-format=1.2}]}},
row{1} = {guard, mode=text},
row{Z} = {guard}
}
对于第二张表:
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx}
\begin{document}
\begin{center}
\begin{tblr}{ colspec = {Q[l, mode=math] Q[c, si={table-format=-1.4}]},
row{1} = {guard, mode=text},
row{2-Z} = {rowsep=0pt},
row{2} = {abovesep=2pt},
row{odd[3-Z]} = {belowsep=0.5ex},
}
\toprule
Expression & Value \\
\toprule
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
\bottomrule
\end{tblr}
\end{center}
\end{document}
笔记:
我将表格内容从垂直和水平规则的束缚中解放出来,使用tabularray
包中定义的规则(它作为 Tblr 库加载)并在每两行之间插入一些垂直空间(以便于阅读)。据我所知,这样表格看起来更“专业”。
但是,如果你出于某种原因更喜欢让所有单元格都被线条包围,请告诉我,我将编写新的表格序言,以实现这一点。第二个表格的简短示例如下:
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}
\begin{document}
\begin{center}
\begin{tblr}{hline{1,2,Z} = 0.6pt, hline{2-Z} = solid, vlines,
colspec = {Q[l, mode=math] Q[c, si={table-format=-1.4}]},
row{1} = {guard, mode=text},
}
Expression & Value \\
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
a^2 + b^2 & -1.2345 \\
\end{tblr}
\end{center}
\end{document}
答案2
\documentclass{article}
\usepackage[table,dvipsnames]{xcolor}
\begin{document}
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
\hline
\rowcolor{lightgray}
Parameters & \multicolumn{4}{c|}{Numerical Values} \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
x & x & x & x & x \\
\hline
\multicolumn{1}{c|}{} & Fig 1 & Fig 2 & Fig 3 & Fig 4 \\
\cline{2-5}
\end{tabular}
\end{center}
\end{document}
答案3
这是基于的另一种解决方案tabularray
。
据我所知,双垂直线与背景颜色搭配效果不佳,因为它们会引入间隙,而间隙不属于单元格,因此不会获得颜色。解决方法是创建宽度非常小的额外列,这可能有点麻烦。
两张桌子的主题是相同的。不过我不确定是不是这样。
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\SetTblrInner{
rows = {rowsep=2pt},
row{1} = {bg=gray!35},
cell{1}{1} = {bg=gray!20},
hline{2} = {1}{-}{wd=\heavyrulewidth},
hline{2} = {2}{-}{wd=\heavyrulewidth},
}
\begin{document}
\begin{table}[tbh]
\centering
\begin{tblr}{
colspec = {*5{Q[c,mode=math]}},
row{1,Z} = {mode=text},
% Horizontal line specification
hline{1,Y} = {wd=\heavyrulewidth},
hline{3-X} = {wd=\cmidrulewidth},
hline{Z} = {2-Z}{wd=\heavyrulewidth},
% Vertical line specification
vline{1} = {1-Y}{wd=\heavyrulewidth,abovepos=1,belowpos=1},
vline{2} = {wd=\heavyrulewidth},
vline{3-Y} = {2-Z}{wd=\cmidrulewidth},
vline{Z} = {wd=\heavyrulewidth,abovepos=1,belowpos=1},
}
Parameters & \SetCell[c=4]{c} Numerical values & & & \\
A & 0.1 & 0.1 & 0.1 & 0.1 \\
B & 0.1 & 0.1 & 0.1 & 0.1 \\
\mu_{1} & 0.1 & 0.1 & 0.1 & 0.1 \\
\alpha_{1} & 0.1 & 0.1 & 0.1 & 0.1 \\
\beta & 0.1 & 0.1 & 0.1 & 0.1 \\
& Figure 1 & Figure 2 & Figure 3 & Figure 4
\end{tblr}
\end{table}
\begin{table}[tbh]
\centering
\begin{tblr}{
colspec = {*2{Q[c,mode=math]}},
row{1} = {mode=text},
% Horizontal line specification
hline{1,Z} = {wd=\heavyrulewidth},
hline{3-Y} = {wd=\cmidrulewidth},
% Vertical line specification
vline{1,Z} = {wd=\heavyrulewidth,abovepos=1,belowpos=1},
vline{2} = {wd=\heavyrulewidth},
}
Expression & Value \\
f(x) = x^2 & 0.111 \\
a = b & 0.222 \\
c = d^3 & 0.444 \\
e = x^2 + y^2 & 0.555 \\
\end{tblr}
\end{table}
\end{document}