列分隔符被切成两半

列分隔符被切成两半

由于某种原因,除第一列之外的所有列在每一行中都被切成两半。以下是代码

\begin{tabular}{>{$}c<{$} | >{$}c<{$} | >{$}c<{$} | >{$}c<{$}}
            |v_2| & p_2+\textbf{i}\cdot q_2 & |v_{3}| & q_4  \\
            \hline\\
            1.0300 & -0.4204 + 0.1475i & 0.9400 &  0.5572 \\ \hline \\
            1.0390 & -0.4082 - 0.3263i & 0.9500 &  0.0779 \\ \hline \\
            1.0481 & -0.4122 - 0.7972i & 0.9600 & -0.3905 \\ \hline \\
            1.0571 & -0.4311 - 1.2557i & 0.9700 & -0.8390 
\end{tabular}

结果表如下:

桌子

可以明显看到第二和第三个分离器出了问题。

答案1

所有 4 条语句之后都有可能不需要的换行符指示\hline:省略它们。

如果您希望行之间有更多的垂直空间,请考虑加载array包并发出指令\setlength\extrarowheight{2pt}

另外,由于表格的所有内容都处于数学模式,请考虑使用array环境而不是tabular环境。并且,在数学模式下,使用\mathbf而不是\textbf

为了获得更“开放”的外观,请考虑删除所有垂直线和大多数水平线;对于将标题行与表体分开的水平线,请考虑\midrule使用\hline

实现两种风格思想的完整 MWE (最小工作示例):

在此处输入图片描述

\documentclass{article}
\usepackage{array}    % for "\extrarowheight" macro
\usepackage{booktabs} % for "\midrule" macro
\begin{document}

% Solution 1, with vertical lines and four horizontal lines
\begingroup
\setlength\extrarowheight{2pt} % optional
\[
\begin{array}{c|c|c|r}
            |v_2| & p_2+\mathbf{i}\cdot q_2 & |v_{3}| & \multicolumn{1}{c}{q_4}  \\
            \hline
            1.0300 & -0.4204 + 0.1475i & 0.9400 &  0.5572 \\ \hline
            1.0390 & -0.4082 - 0.3263i & 0.9500 &  0.0779 \\ \hline
            1.0481 & -0.4122 - 0.7972i & 0.9600 & -0.3905 \\ \hline
            1.0571 & -0.4311 - 1.2557i & 0.9700 & -0.8390
\end{array}
\]
\endgroup

% Solution 2, with just 1 horizontal rule 
\[
\begin{array}{@{}cccr@{}}
            |v_2| & p_2+\mathbf{i}\cdot q_2 & |v_{3}| & \multicolumn{1}{c@{}}{q_4}  \\
            \midrule
            1.0300 & -0.4204 + 0.1475i & 0.9400 &  0.5572 \\
            1.0390 & -0.4082 - 0.3263i & 0.9500 &  0.0779 \\
            1.0481 & -0.4122 - 0.7972i & 0.9600 & -0.3905 \\
            1.0571 & -0.4311 - 1.2557i & 0.9700 & -0.8390
\end{array}
\]
\end{document} 

相关内容