Quel est le vrai problème avec ce tableau?

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

Commentaires

  • Il vous manque ‘ un \\ à la fin de la première ligne.
  • @dcmst: Voir Formatting Sand-Box et ce commentaire .
  • Je vois que ‘ ne suivez pas mes suggestions sur lutilisation de array, \True et le \False défini de manière similaire. Au fait, vous ‘ utilisez «F» dans deux sens apparemment très différents, ce qui peut être complètement déroutant. Dans la première ligne, vous avez « B » et les autres variables apparaissant avec des formes différentes, ajoutant à la confusion.

Réponse

En plus dinsérer linstruction de saut de ligne \\ manquante, vous devriez envisager dentreprendre les étapes suivantes:

  • Mettez pleinement en œuvre les suggestions @egreg fait en ce qui concerne votre publication précédente , y compris lutilisation de array au lieu de tabular et lutilisation de macros plutôt que de lettres codées en dur pour » True « et » False « . (Pensez aussi sérieusement à pourquoi vous « utilisez la lettre F à la fois comme variable et comme jeton pour » false « . Est-ce si difficile à venir avec un meilleur nom de variable que « F »?)

  • Débarrassez-vous de toutes les barres verticales et utilisez les macros de dessin au trait de booktabs pour insérer quelques lignes horizontales bien espacées.

  • Ajoutez un peu despace blanc vertical supplémentaire après chaque quatrième ligne dans le corps du tableau, car quatre lignes à la fois fournissent un regroupement naturel pour le tableau en question.

entrez description de limage ici

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

Answer

Dans mon cas, il sest produit parce que je nai pas déclaré le bon nombre de colonnes

exemple:

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

Commentaires

  • Cette réponse ma fait gagner beaucoup de temps à chercher des problèmes sémantiques avec longtabu, tabu, etc. Après tout, ce n’était qu’une simple erreur.

Réponse

mise à jour 2017

Depuis xintexpr 1.1 (2014/10/28) il est préférable dutiliser || et &&, le seul | et & peuvent changer de signification par rapport à leurs significations actuelles en tant que Booléen or resp. and. On peut également utiliser les mots clés "or" resp. "and" (guillemets obligatoires). Réponse mise à jour pour anticiper un éventuel changement futur de la signification des opérateurs dinfixe | et &.


Peut-être vous souhaitez que le tableau soit automatiquement rempli?

La mise à jour ajoute du code pour 1ex saut vertical toutes les quatre lignes.

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

table de vérité

Avec des sauts supplémentaires:

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

table de vérité avec espaces verticaux supplémentaires

Réponse

Cest arrivé parce que jai copié-collé des éléments dune autre table dans mon document, jutilisais la syntaxe suivante pour créer une ligne horizontale sous une partie seulement du tableau:

\\\cline{2-3} 

I copier-coller

\\\cline{2-5} 

à partir dune table avec plus de colonnes, et cela a donné cette erreur jusquà ce que je corrige Je lai sélectionné.

Commentaires

  • Cest probablement une solution à un problème différent qui entraîne la même erreur. Techniquement, il ne répond ‘ pas à cette question, puisque le PO ne ‘ t utilisateur \cline .

Réponse

Vous devez remplacer |c|c|c| par crcrcr. Jai fait ce tableau comme suit.

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

Remarque: Pour la règle du haut et du bas, jai utilisé la commande \hline

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *