Qual é o problema real com esta tabela?

\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} 

Comentários

  • Você ‘ está faltando um \\ no final da primeira linha.
  • @dcmst: Consulte Formatando Sand-Box e este comentário .
  • Vejo que você ‘ não está seguindo minhas sugestões sobre como usar array, \True e o \False definido de forma semelhante. A propósito, você ‘ está usando “F” em dois significados aparentemente muito diferentes, o que pode ser totalmente confuso. Na primeira linha você tem “B” e as outras variáveis aparecendo com formas diferentes, aumentando a confusão.

Resposta

Além de inserir a \\ instrução de quebra de linha ausente, você deve considerar a realização das seguintes etapas:

  • Implementar totalmente as sugestões @egreg fez em relação a sua postagem anterior , incluindo o uso de array em vez de tabular e o uso de macros em vez de letras codificadas para” Verdadeiro “e” Falso “. (Pense bem por que você está usando a letra F tanto como uma variável quanto como o símbolo de “falso”. É tão difícil chegar com um nome de variável melhor do que “F”?)

  • Livre-se de todas as barras verticais e use as macros de desenho de linha do booktabs pacote para inserir algumas linhas horizontais bem espaçadas.

  • Adicione um pouco de espaço em branco vertical extra após cada quarta linha no corpo da tabela, já que quatro linhas por vez fornecem um agrupamento natural para a tabela em questão.

digite descrição da imagem aqui

\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} 

Resposta

No meu caso, aconteceu porque eu não declarei o número correto de colunas

exemplo:

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

Comentários

  • Essa resposta me economizou muito tempo na busca por problemas semânticos com longtabu, tabu e assim por diante. Afinal, foi apenas um erro simples.

Resposta

atualização de 2017

Desde xintexpr 1.1 (2014/10/28) é preferível usar || e &&, o único | e & podem alterar o significado de seus atuais como Booleano or resp. and. Também é possível usar as palavras-chave "or" resp. "and" (aspas obrigatórias). Resposta atualizada para antecipar uma possível mudança futura de significado de operadores de infixo | e & únicos.


Talvez deseja que a tabela seja preenchida automaticamente?

A atualização adiciona código para 1ex salto vertical a cada quatro linhas.

\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} 

tabela da verdade

Com saltos extras:

\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} 

tabela verdade com espaços verticais extras

Resposta

Eu fiz isso acontecer porque copiei e colei algumas coisas de outra tabela no meu documento, estava usando a seguinte sintaxe para fazer uma linha horizontal sob apenas parte da tabela:

\\\cline{2-3} 

I copie colado

\\\cline{2-5} 

de uma tabela com mais colunas, e deu este erro até que eu corr detectou.

Comentários

  • Esta é provavelmente uma solução para um problema diferente que resulta no mesmo erro. Tecnicamente, ele não ‘ responde a essa pergunta, já que o OP não ‘ não usuário \cline .

Resposta

Você deve alterar |c|c|c| para crcrcr. Fiz esta tabela da seguinte maneira.

\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} 

Observação: para regra superior e inferior, usei o comando \hline

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *