表格右侧没有垂直线

表格右侧没有垂直线

我有两个表格,但我不知道为什么表格右侧没有垂直线。你能告诉我我哪里犯了错误吗?

第一:

    \newline
\begin{center}
\begin{tabular}{||c c c c c c||} 
 \hline
 $\emph{p}$ & $\emph{q}$ & $([\emph{p} \wedge$ & $(\emph{p} \Rightarrow \emph{q]})$ & $\Rightarrow$ & $\emph{q}$ \\ [0.5ex] 
 \hline\hline
 0 & 0 & 0 & 1 & 1\\ 
 \hline
 0 & 1 & 0 & 1 & 1\\
 \hline
 1 & 0 & 0 & 0 & 1\\
 \hline
 1 & 1 & 1 & 1 & 1\\
 \hline
\end{tabular}
\end{center}

第二个:

    \newline
\begin{center}
\begin{tabular}{||c c c c c c c c c||} 
 \hline
 $\emph{p}$ & $\emph{q}$ & $\neg$ & $(\emph{p} \vee \emph{q})$ & $\leftrightarrow$ & $(\neg\emph{p}$ & $\wedge$ & $\neg\emph{q})$ \\ [0.5ex] 
 \hline\hline
 0 & 0 & 1 & 0 & 1 & 1 & 1 & 1\\ 
 \hline
 0 & 1 & 0 & 1 & 1 & 1 & 0 & 0\\
 \hline
 1 & 0 & 0 & 1 & 1 & 0 & 0 & 1\\
 \hline
 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0\\
 \hline
 \hline
\end{tabular}
\end{center}

答案1

您的问题与指定了太多列然后又没有使用它们有关。您的第一个表的列规范中有 6 个c输入列,而您在终止行(用\\)之前每行只提供了 5 个值。这使得最后一列(也包含右边的||)不在行中,因此右侧没有垂直规则。第二个表适用同样的原则。通常,您可以使用一种*{<num>}{<col spec>}方法来定义<num>列,每个列都有一个<col spec>规范。例如,*{5}{c}将相当于c c c c c,并且*{3}{| c p{2cm}}将相当于| c p{2cm} | c p{2cm} | c p{2cm}。有时使用缩写形式更容易确保规范和表中的列数相同。

这里展示内容的方法略有不同,使用booktabs。 表明:

在此处输入图片描述

\documentclass{article}

\usepackage{booktabs}

\begin{document}

\[
  \begin{array}{ c c c @{\,} c c c @{\,} c c c } 
   \toprule
   p & q & [ & p & \wedge & (p \Rightarrow q) & ] & \Rightarrow & q \\
   \midrule
   0 & 0 &   & 0 &   0    &         1         &   &       1     & 0 \\ 
   0 & 1 &   & 0 &   0    &         1         &   &       1     & 1 \\
   1 & 0 &   & 1 &   0    &         0         &   &       1     & 0 \\
   1 & 1 &   & 1 &   1    &         1         &   &       1     & 1 \\
   \bottomrule
  \end{array}
\]


\[
  \begin{array}{ c c c @{} c c c @{\,} c c c @{\,} c } 
    \toprule
    p & q & \neg & (p \vee q) & \leftrightarrow & ( & \neg p & \wedge & \neg q & ) \\
    \midrule
    0 & 0 &   1  &      0     &        1        &   &    1   &   1    &    1   &   \\ 
    0 & 1 &   0  &      1     &        1        &   &    1   &   0    &    0   &   \\
    1 & 0 &   0  &      1     &        1        &   &    0   &   0    &    1   &   \\
    1 & 1 &   0  &      1     &        1        &   &    0   &   0    &    0   &   \\
    \bottomrule
  \end{array}
\]

\end{document}

请注意,@{<stuff>}在列规范中,相邻列之间的间距更改为<stuff>。因此,在上述情况下,我插入一个小的水平空间 \,两列之间。

相关内容