如果我编译以下代码,我会得到一个位置非常奇怪的表格,因为 LaTeX 会将其置于第一列和第二列之间的双垂直线周围。我的 \hline 也只移动到第一列之后。文本“Position”也因此错误地居中。我尝试在不同的环境中进行编译,但这似乎没有帮助。
代码:
\begin{table}
\begin{center}
\begin{tabular}{ r||cccccccc }
\hline
\multirow{2}{*}{Steps} & \multicolumn{8}{c}{Position}\\
\cline{2-8}
& $-3$ & $-2$ & $-1$ & $0$ & $1$ & $2$ & $3$\\
\hline
\hline
$0$ & & & & $1$ & & & \\
$1$ & & & $|b|^{2}$ & & $|a|^{2}$ & &\\
$2$ & & $|a|^{2}|b|^{2}$ & & $|b|^{2}$ & & $|a|^{4}$ &\\
$3$ & $|a|^{4}|b|^{2}$ & & $\left(|b|^{4}-|a|^{2}|b|^{2}+|a|^{4}\right)|b|^{2}$ & & $|a|^{2}|b|^{2}\left(1+3|b|^{2}\right)$ & & $|a|^{6}$\\
$4$ & & \ldots & & \ldots & & \ldots &
\end{tabular}
\end{center}
\end{table}
有人知道吗?
答案1
这就是你想要的吗?似乎你在两个地方犯了错误
cline[2-9] 并且在末尾缺少一个 &。
代码
\documentclass[12pt]{article}
\usepackage{array}
\usepackage{threeparttable,multirow}
\begin{document}
\begin{table}[hbtp]
\begin{center}
\begin{tabular}{ r||cccccccc}\hline
\multirow{2}{*}{Steps} & \multicolumn{8}{c}{Position}\\ \cline{2-9}
& $-3$ & $-2$ & $-1$ & $0$ & $1$ & $2$ & $3$ & \\
\hline \hline
$0$ & & & & $1$ & & & \\
$1$ & & & $|b|^{2}$ & & $|a|^{2}$ & &\\
$2$ & & $|a|^{2}|b|^{2}$ & & $|b|^{2}$ & & $|a|^{4}$ &\\
$3$ & $|a|^{4}|b|^{2}$ & & $\left(|b|^{4}-|a|^{2}|b|^{2}+|a|^{4}\right)|b|^{2}$ & & $|a|^{2}|b|^{2}\left(1+3|b|^{2}\right)$ & & $|a|^{6}$\\
$4$ & & \ldots & & \ldots & & \ldots &
\end{tabular}
\end{center}
\end{table}
\end{document}
答案2
将 two 替换consecutive \hline
为\hhline
both 可以解决问题,并使您的表格看起来更美观。我还建议使用cellspace
包来改进它,以获得更好的垂直间距,array
环境而不是tabular
(更简单的代码),在包中定义数学medsize
(\textstyle 和 \displaystyle 之间的中间值)nccmath
,并cline
用粗体标题替换。
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[showframe, noheadfoot, nomarginpar]{geometry}
\usepackage{amsmath}
\usepackage{nccmath}
\usepackage{array}
\usepackage{multirow}
\usepackage{hhline}
\usepackage[math]{cellspace}
\setlength\cellspacetoplimit{6pt}
\setlength\cellspacebottomlimit{6pt}
\begin{document}
Text text text text text text text text text.
\begin{table}[!h]
\[ \begin{medsize}\begin{array}{ Sr||*{8}{ >{$}Sc<{$}}}
\hhline{-||*{8}{-}}
\multirow{2}{*}{\normalsize\bfseries Steps} &\multicolumn{8}{Sc}{\textbf{\normalsize Position}}\\
& -3 & -2 & -1 & 0 & 1 & 2 & 3\\
\hhline{=::*{8}{=}}
0 & & & & 1 & & & \\
1 & & & |b|^{2} & & |a|^{2} & &\\
2 & & |a|^{2}|b|^{2} & & |b|^{2} & & |a|^{4} &\\
3 & |a|^{4}|b|^{2} & & \left(|b|^{4}-|a|^{2}|b|^{2}+|a|^{4}\right)|b|^{2} & & |a|^{2}|b|^{2}\left(1+3|b|^{2}\right) & & |a|^{6}\\
4 & & \ldots & & \ldots & & \ldots &
\end{array}\end{medsize} \]
\caption{A table}
\end{table}
Text text text text text text text text text.
\end{document}
如果你想坚持你最初的布局,至少玩一个就足够了\hhline
。我不知道为什么 \hhline 能让所有工作都正常工作……这里有两种方法:
\begin{table}
\begin{center}
\begin{tabular}{ r||*{8}{c}}
\hhline{-||*{8}{-}}
\multirow{2}{*}{Steps} & \multicolumn{8}{c}{Position}\\
\cline{2-8}
& $-3$ & $-2$ & $-1$ & $0$ & $1$ & $2$ & $3$\\
\hhline{=::*{8}{=}}
$0$ & & & & $1$ & & & \\
$1$ & & & $|b|^{2}$ & & $|a|^{2}$ & &\\
$2$ & & $|a|^{2}|b|^{2}$ & & $|b|^{2}$ & & $|a|^{4}$ &\\
$3$ & $|a|^{4}|b|^{2}$ & & $\left(|b|^{4}-|a|^{2}|b|^{2}+|a|^{4}\right)|b|^{2}$ & & $|a|^{2}|b|^{2}\left(1+3|b|^{2}\right)$ & & $|a|^{6}$\\
$4$ & & \ldots & & \ldots & & \ldots &
\end{tabular}
\end{center}
\end{table}
\begin{center}
\begin{tabular}{ r||*{8}{c}}
\hhline{-|*{8}{-}}
\multirow{2}{*}{Steps} & \multicolumn{8}{c}{Position}\\
\cline{2-8}
& $-3$ & $-2$ & $-1$ & $0$ & $1$ & $2$ & $3$\\
\hhline{=*{8}{=}}
%\hhline{=||*{8}{=}}
$0$ & & & & $1$ & & & \\
$1$ & & & $|b|^{2}$ & & $|a|^{2}$ & &\\
$2$ & & $|a|^{2}|b|^{2}$ & & $|b|^{2}$ & & $|a|^{4}$ &\\
$3$ & $|a|^{4}|b|^{2}$ & & $\left(|b|^{4}-|a|^{2}|b|^{2}+|a|^{4}\right)|b|^{2}$ & & $|a|^{2}|b|^{2}\left(1+3|b|^{2}\right)$ & & $|a|^{6}$\\
$4$ & & \ldots & & \ldots & & \ldots &
\end{tabular}
\end{center}
结果如下: