我正在处理下表。
\begin{center}
\begin{tabular}{|c || c |}
\hline
\# Edges & \# Configurations \\ [0.5ex]
\hline
0 & $c(0)=1$ \\ [0.5ex]
\hline
4 & $c(4)=9$ \\ [0.5ex]
\hline
6 & $c(6)=12$ \\ [0.5ex]
\hline
8 & $c(8)= 50$ \\ [0.5ex]
\hline
10 & $c(10)= 92$ \\ [0.5ex]
\hline
12 & $c(12)=158$ \\ [0.5ex]
\hline
14 & $c(14)=116$ \\ [0.5ex]
\hline
16 & $c(16)=69$ \\ [0.5ex]
\hline
18 & $c(18)=4$ \\ [0.5ex]
\hline
20 & $c(20)=1$ \\ [0.5ex]
\hline
\end{tabular}
\end{center}
第二列中的参数未垂直对齐(下图)。
有什么简单的方法可以解决这个问题吗?
答案1
使用额外的列并将最后三列设置为右对齐、居中对齐和左对齐。
除此之外,我会避免那么多规则,并将垂直条限制为最多一个。这是我的建议
编辑。
稍微改进了代码,使标题周围的水平填充保持一致。
\documentclass{article}
\usepackage{array}
\usepackage{ragged2e}
\newlength\collen
\newlength\eqlen
\newcolumntype{R}[1]{>{\RaggedLeft\(}p{#1}<{\)}}
\newcolumntype{L}[1]{>{\RaggedRight\(}p{#1}<{\)}}
\begin{document}
\begin{table}[tbh]
\sbox0{\# Edges}
\sbox2{\# Configurations}
\settowidth{\eqlen}{${}={}$}
\setlength{\collen}{\dimexpr\wd2-\eqlen}
\renewcommand{\arraystretch}{1.5}
\setlength\extrarowheight{-1pt}
\centering
\begin{tabular}{
>{\(}c<{\)} !{\vrule width 0.3pt}
R{0.5\collen}
@{\;}c@{\;}
L{0.5\collen}
}
\noalign{\hrule height 0.8pt}
\usebox0 & & \clap{\usebox2} & \\
\noalign{\hrule height 0.5pt}
0 & c(0) &=& 1 \\
4 & c(4) &=& 9 \\
6 & c(6) &=& 12 \\
8 & c(8) &=& 50 \\
10 & c(10) &=& 92 \\
12 & c(12) &=& 158 \\
14 & c(14) &=& 116 \\
16 & c(16) &=& 69 \\
18 & c(18) &=& 4 \\
20 & c(20) &=& 1 \\
\noalign{\hrule height 0.8pt}
\end{tabular}
\end{table}
\end{document}
答案2
如果您使用该tabularray
包,设置行高将很容易:
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{center}
\begin{tblr}{
colspec={|c || c |},
hlines,
rows={ht=1.5\baselineskip}
}
\# Edges & \# Configurations \\
0 & $c(0)=1$ \\
4 & $c(4)=9$ \\
6 & $c(6)=12$ \\
8 & $c(8)= 50$ \\
10 & $c(10)= 92$ \\
12 & $c(12)=158$ \\
14 & $c(14)=116$ \\
16 & $c(16)=69$ \\
18 & $c(18)=4$ \\
20 & $c(20)=1$ \\
\end{tblr}
\end{center}
\end{document}
答案3
我建议使用 作为一个解决方案tabularray
,并且我使用 Celdor 的选择作为水平线和垂直线的对齐方式=
\documentclass{article}
\usepackage{tabularray}
\usepackage{array}
\begin{document}
\begin{center}
\begin{tblr}{
colspec={ Q[c,mode=math] Q[wd=1.25cm,r,mode=math] @{\;} c @{\;} Q[wd=1.25cm,l,mode=math] },
%hlines,
rows={ht=1.1\baselineskip},
cell{1}{1}={r=1,c=1}{mode=text},%<--- to change the default math option
cell{1}{2}={r=1,c=3}{c,mode=text},%<--- for center \# Configurations of 3 colons
hline{1,Z} = {0.8pt,solid},
hline{2} = {0.5pt,solid},
vline{2} = {0.3pt,solid},
}
\# Edges & \# Configurations\\
0 & c(0) &=& 1 \\
4 & c(4) &=& 9 \\
6 & c(6) &=& 12 \\
8 & c(8) &=& 50 \\
10 & c(10) &=& 92 \\
12 & c(12) &=& 158 \\
14 & c(14) &=& 116 \\
16 & c(16) &=& 69 \\
18 & c(18) &=& 4 \\
20 & c(20) &=& 1 \\
\end{tblr}
\end{center}
\end{document}
答案4
@pascal974 答案(+1)的稍微简化版本,但包含所有水平线:
%\documentclass{article}
\documentclass[margin=3mm]{standalone}
\usepackage{tabularray}
\begin{document}
%\begin{center}
\begin{tblr}{hlines,
colspec= {|c | Q[r, wd=4em, mode=math] @{\;} Q[l, wd=4.4em, mode=math]|},
cell{1}{2} = {c=2}{c},
row{1} = {mode=text},
rowsep = 7pt
}
\# Edges
& \# Configurations \\
0 & c(0) & = 1 \\
4 & c(4) & = 9 \\
6 & c(6) & = 12 \\
8 & c(8) & = 50 \\
10 & c(10) & = 92 \\
12 & c(12) & =158 \\
14 & c(14) & =116 \\
16 & c(16) & = 69 \\
18 & c(18) & = 4 \\
20 & c(20) & = 1 \\
\end{tblr}
%\end{center}
\end{document}