Qual è il vero problema con questa tabella?

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

Commenti

  • ‘ manca un \\ alla fine della prima riga.
  • @dcmst: Vedi Formattazione Sand-Box e questo commento .
  • Vedo che ‘ non segui i miei suggerimenti sullutilizzo di array, \True e \False definito in modo simile. A proposito, ‘ stai usando “F” in due significati apparentemente molto diversi, il che può creare confusione. Nella prima riga hai “B” e le altre variabili che appaiono con forme diverse, aggiungendo confusione.

Risposta

Oltre a inserire listruzione di interruzione di riga \\ mancante, dovresti considerare di intraprendere i seguenti passaggi:

  • Implementa completamente i suggerimenti @egreg fatto in relazione al tuo post precedente , incluso luso di array invece di tabular e luso di macro al posto di lettere hard-coded per” True “e” False “. (Pensa anche al perché stai usando la lettera F sia come variabile che come segno di “falso”. È così difficile venire con un nome di variabile migliore di “F”?)

  • Elimina tutte le barre verticali e utilizza le macro di disegno al tratto di booktabs per inserire poche righe orizzontali ben distanziate.

  • Aggiungi un po di spazio bianco verticale extra dopo ogni quarta riga nel corpo della tabella, poiché quattro righe alla volta forniscono un raggruppamento naturale per la tabella in questione.

invio descrizione dellimmagine qui

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

Risposta

Nel mio caso è è successo perché non ho dichiarato il numero corretto di colonne

esempio:

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

Commenti

  • Questa risposta mi ha fatto risparmiare molto tempo alla ricerca di problemi semantici con longtabu, tabu e così via. Dopo tutto è stato solo un semplice errore.

Risposta

Aggiornamento 2017

Da xintexpr 1.1 (2014/10/28) è preferibile utilizzare || e &&, il singolo | e & possono cambiare significato da quelli attuali come booleani or risp. and. Si possono anche utilizzare le parole chiave "or" risp. "and" (virgolette obbligatorie). Risposta aggiornata per anticipare il possibile futuro cambiamento di significato dei singoli operatori | e & infix.


Forse desideri che la tabella venga compilata automaticamente?

Laggiornamento aggiunge il codice per 1ex salto verticale ogni quattro righe.

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

tabella della verità

Con salti aggiuntivi:

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

tabella della verità con spazi verticali extra

Risposta

Ho avuto questo problema poiché ho copiato e incollato alcune cose da unaltra tabella nel mio documento, stavo usando la seguente sintassi per creare una linea orizzontale solo sotto una parte della tabella:

\\\cline{2-3} 

I copia incollata

\\\cline{2-5} 

da una tabella con più colonne e ha dato questo errore finché non ho corretto ected it.

Commenti

  • Questa è probabilmente una soluzione a un problema diverso che restituisce lo stesso errore. Tecnicamente ‘ non risponde a questa domanda, poiché lOP non ‘ t utente \cline .

Risposta

Devi cambiare |c|c|c| in crcrcr. Ho creato questa tabella come segue.

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

Nota: per la regola superiore e inferiore, ho utilizzato il comando \hline

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *