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
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 detabular
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 lettreF
à 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.
\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}
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}
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
\\
à la fin de la première ligne.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.