Hva er det virkelige problemet med denne tabellen?
\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}
Kommentarer
Svar
I tillegg til å sette inn den manglende \\
linjeskiftinstruksjonen, bør du vurdere å utføre følgende trinn:
-
Implementere forslagene @egreg laget med hensyn til ditt tidligere innlegg , inkludert bruk av
array
i stedet fortabular
og bruk av makroer i stedet for hardkodede bokstaver for» True «og» False «. (Tenk også godt hvorfor du bruker bokstavenF
både som en variabel og som token for «falsk». Er det så vanskelig å komme opp med et bedre variabelnavn enn «F»?) -
Kvitt deg med alle vertikale søyler, og bruk strektegningsmakroene til bokfelt -pakke for å sette inn noen få, men godt plasserte horisontale linjer.
-
Legg til litt ekstra loddrett mellomrom etter hver fjerde rad i tabellen, siden fire rader om gangen gir en naturlig gruppering for den aktuelle tabellen.
\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}
Svar
I mitt tilfelle er det skjedde fordi jeg ikke oppga riktig antall kolonner
eksempel:
\ begin {tabular} {| c | c | c |}
Kommentarer
- Dette svaret sparte meg mye tid på å lete etter semantiske problemer med longtabu, tabu og så videre. Det var tross alt bare en enkel feil.
Svar
2017-oppdatering
Siden xintexpr 1.1 (2014/10/28)
det er foretrukket å bruke ||
og &&
, singelen |
og &
kan endre betydning fra deres nåværende som boolsk or
resp. and
. Man kan også bruke nøkkelordene "or"
resp. "and"
(obligatoriske sitater). Svaret oppdatert for å forutse mulig fremtidig endring av betydningen av enkle |
og &
infix-operatører.
Kanskje ønsker du at tabellen automatisk skal fylles ut?
Oppdateringen legger til kode for 1ex
vertikal hopper over hver fjerde rad ting.
\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}
Med ekstrahopp:
\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}
Svar
Jeg fikk dette til fordi jeg kopierte inn noen ting fra en annen tabell i dokumentet mitt, brukte jeg følgende syntaks for å lage en vannrett linje under bare en del av tabellen:
\\\cline{2-3}
I kopi limt inn
\\\cline{2-5}
fra en tabell med flere kolonner, og det ga denne feilen til jeg korrigerte ected den.
Kommentarer
- Dette er sannsynligvis en løsning på et annet problem som resulterer i den samme feilen. Teknisk sett svarer det ikke ‘ t dette spørsmålet, siden OP ikke ‘ t bruker
\cline
.
Svar
Du må endre |c|c|c|
til crcrcr
. Jeg laget denne tabellen som følger.
\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}
Merk: For topp- og bunnregel brukte jeg \hline
-kommando
\\
på slutten av første rad.array
,\True
og den tilsvarende definerte\False
. Forresten, du ‘ bruker «F» i tilsynelatende to veldig forskjellige betydninger, noe som kan være helt forvirrende. På den første linjen har du «B» og de andre variablene som vises med forskjellige former, og legger til forvirring.