这张表的真正问题是什么?
\begin{table}[h]
\centering
\begin{tabular}{ c | c | c | c | c | c | c | c }
B & F & P & C & $B \lor F$ & $P \lor C$ & $\neg(F \land C)$ & $\neg(B \land P)$
T & T & T & T & T & T & F & F \\ % Error l.37 T & T & T & T & T & T & F & F \\ ?
T & T & T & F & T & T & T & F \\
T & T & F & T & T & T & F & T \\
T & T & F & F & T & F & T & T \\
T & F & T & T & T & T & T & F \\
T & F & T & F & T & T & T & F \\
T & F & F & T & T & T & T & T \\
T & F & F & F & T & F & T & T \\
F & T & T & T & T & T & F & T \\
F & T & T & F & T & T & T & T \\
F & T & F & T & T & T & F & T \\
F & T & F & F & T & F & T & T \\
F & F & T & T & F & T & T & T \\
F & F & T & F & F & T & T & T \\
F & F & F & T & F & T & T & T \\
F & F & F & T & F & T & T & T \\
\end{tabular}
\end{table}
答案1
除了插入缺失的\\
换行符指令外,您还应考虑采取以下步骤:
全面落实@egreg 提出的关于你之前的帖子,包括使用
array
代替tabular
以及使用宏而不是硬编码字母来表示“True”和“False”。(也请仔细思考为什么你既使用字母F
作为变量,又将其作为“false”的标记。想出一个比“F”更好的变量名难道这么难吗?)删除所有竖线,并使用书签包中插入几条间距适当的水平线。
添加一些额外的垂直空白每四行之后在表体中,因为每次四行可以为手头的表提供自然的分组。
\documentclass{article}
\usepackage{booktabs}
\newcommand\T{\textrm{T}} % "true"
\newcommand\F{\textrm{F}} % "false"
\begin{document}
\begin{table}[h]
\centering
$\begin{array}{ *{8}{c} }
\toprule
B & F & P & C & B \lor F & P \lor C & \neg(F \land C) & \neg(B \land P)\\
\midrule
\T & \T & \T & \T & \T & \T & \F & \F \\
\T & \T & \T & \F & \T & \T & \T & \F \\
\T & \T & \F & \T & \T & \T & \F & \T \\
\T & \T & \F & \F & \T & \F & \T & \T \\[1ex]
\T & \F & \T & \T & \T & \T & \T & \F \\
\T & \F & \T & \F & \T & \T & \T & \F \\
\T & \F & \F & \T & \T & \T & \T & \T \\
\T & \F & \F & \F & \T & \F & \T & \T \\[1ex]
\F & \T & \T & \T & \T & \T & \F & \T \\
\F & \T & \T & \F & \T & \T & \T & \T \\
\F & \T & \F & \T & \T & \T & \F & \T \\
\F & \T & \F & \F & \T & \F & \T & \T \\[1ex]
\F & \F & \T & \T & \F & \T & \T & \T \\
\F & \F & \T & \F & \F & \T & \T & \T \\
\F & \F & \F & \T & \F & \T & \T & \T \\
\F & \F & \F & \T & \F & \T & \T & \T \\
\bottomrule
\end{array}$
\end{table}
\end{document}
答案2
就我而言,发生这种情况是因为我没有声明正确的列数
例子:
\开始{表格}{|c|c|c|}
答案3
2017 年更新
由于xintexpr 1.1 (2014/10/28)
优先使用||
and &&
,单个|
和的&
含义可能会从当前布尔值or
resp 发生变化。 and
也可以使用关键字'or'
resp。 (必须使用引号)。答案已更新,以预测单个和中缀运算'and'
符含义未来可能发生的变化。|
&
也许您希望表格自动填写?
更新添加了1ex
每四行垂直跳过的代码。
\documentclass{article}
\usepackage{booktabs}
\usepackage{xintexpr}
\newcommand\T{\textrm{T}} % "true"
\newcommand\F{\textrm{F}} % "false"
\newcommand\TF[1]{\if1#1\T\else\F\fi}
\begin{document}
\begin{table}[h]
\centering
$\begin{array}{ *{8}{c} }
\toprule
B & F & P & C & B \lor F & P \lor C & \neg(F \land C) & \neg(B \land P)\\
\midrule
\xintFor #1 in {1,0}\do {%
\xintFor #2 in {1,0}\do {%
\xintFor #3 in {1,0}\do {%
\xintFor #4 in {1,0}\do {%
\TF#1 & \TF#2 & \TF#3 & \TF#4 &
\xintifboolexpr {#1 || #2}{\T}{\F}&
\xintifboolexpr {#3 || #4}{\T}{\F} &
\xintifboolexpr {not(#2 && #4)}{\T}{\F} &
\xintifboolexpr {not(#1 && #3)}{\T}{\F} \\
}}}}
\bottomrule
\end{array}$
\end{table}
\end{document}
有额外跳过:
\documentclass{article}
\usepackage{booktabs}
\usepackage{xintexpr}
\newcommand\T{\textrm{T}} % "true"
\newcommand\F{\textrm{F}} % "false"
\newcommand\TF[1]{\if1#1\T\else\F\fi}
\begin{document}
\begin{table}[h]
\centering
$\begin{array}{ *{8}{c} }
\toprule
B & F & P & C & B \lor F & P \lor C & \neg(F \land C) & \neg(B \land P)\\
\midrule
\xintFor #1 in {1,0}\do {%
\xintFor #2 in {1,0}\do {%
\xintFor #3 in {1,0}\do {%
\xintFor #4 in {1,0}\do {%
\TF#1 & \TF#2 & \TF#3 & \TF#4 &
\xintifboolexpr {#1 || #2}{\T}{\F}&
\xintifboolexpr {#3 || #4}{\T}{\F} &
\xintifboolexpr {not(#2 && #4)}{\T}{\F} &
\xintifboolexpr {#3 || #4}% every four, add 1ex space
{\xintifboolexpr {not(#1 && #3)}{\T}{\F}\\}
{\xintifboolexpr {not(#1 && #3)}{\T}{\F}\\[1ex]}
}}}}
\noalign{\addvspace{-1ex}}% compensate the last 1ex vskip
\bottomrule
\end{array}$
\end{table}
\end{document}
答案4
你必须改为|c|c|c|
。crcrcr
我制作了这个表格,如下所示。
\begin{table}
\centering
\begin{tabular}{crcrcrcrcrcrcrcr}
\hline
B & F & P & C & $B \lor F$ & $P \lor C$ & $\neg(F \land C)$ & $\neg(B \land P)$ \\
\hline
T & T & T & T & T & T & F & F \\ % Error l.37 T & T & T & T & T & T & F & F \\ ?
T & T & T & F & T & T & T & F \\
T & T & F & T & T & T & F & T \\
T & T & F & F & T & F & T & T \\
T & F & T & T & T & T & T & F \\
T & F & T & F & T & T & T & F \\
T & F & F & T & T & T & T & T \\
T & F & F & F & T & F & T & T \\
F & T & T & T & T & T & F & T \\
F & T & T & F & T & T & T & T \\
F & T & F & T & T & T & F & T \\
F & T & F & F & T & F & T & T \\
F & F & T & T & F & T & T & T \\
F & F & T & F & F & T & T & T \\
F & F & F & T & F & T & T & T \\
F & F & F & T & F & T & T & T \\
\hline
\end{tabular}
\end{table}
注意:对于顶部和底部规则,我使用了\hline
命令