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

  • Du ‘ mangler en \\ på slutten av første rad.
  • @dcmst: Se Formatering av Sand-Box og denne kommentaren .
  • Jeg ser deg ‘ følger ikke mine forslag om bruk av 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.

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 for tabular og bruk av makroer i stedet for hardkodede bokstaver for» True «og» False «. (Tenk også godt hvorfor du bruker bokstaven F 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.

skriv inn bildebeskrivelse her

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

sannhetstabell

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} 

sannhetstabell med ekstra vertikale mellomrom

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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *