Таблица - вкладка «Дополнительное выравнивание» изменена на \cr

Таблица - вкладка «Дополнительное выравнивание» изменена на \cr

В чем настоящая проблема этой таблицы?

\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и использование макросов вместо жестко закодированных букв для «Истина» и «Ложь». (Также подумайте хорошенькопочемувы используете букву 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

В моем случае это произошло потому, что я не указал правильное количество столбцов.

пример:

\begin{tabular}{|c|c|c|}

решение3

обновление 2017 г.

Поскольку xintexpr 1.1 (2014/10/28)предпочтительнее использовать ||и &&, одиночные |и &могут изменить свое текущее значение как булевы orсоответственно. andМожно также использовать ключевые слова 'or'соответственно '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команду

Связанный контент