Mikä on tämän taulukon todellinen ongelma?
\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}
kommentit
Vastaa
Puuttuvan \\
rivinvaihtokäskyn lisäämisen lisäksi sinun on harkittava seuraavien vaiheiden suorittamista:
-
Täytä ehdotukset kokonaan @egreg tehty aikaisemman postituksenne suhteen , sulkemalla pois
array
-toiminnon ja makrojen käyttö pikakoodattujen kirjainten sijaan” True ”ja” False ”. (Ajattele myös kovasti miksi käytät kirjaintaF
sekä muuttujana että ”väärän” tunnuksena. Onko niin vaikeaa tulla paremmalla muuttujan nimellä kuin ”F”?) -
Päästä eroon kaikista pystysuorista palkeista ja käytä booktabs -paketti lisätäksesi muutaman mutta hyvin sijoitetun vaakasuoran viivan.
-
Lisää hieman ylimääräistä pystysuoraa tyhjää tilaa jokaisen neljännen rivin jälkeen taulukon rungossa, koska neljä riviä kerrallaan tarjoavat luonnollisen ryhmittelyn käsillä olevalle taulukolle.
\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}
Vastaa
Minun tapauksessani se tapahtui, koska en ilmoittanut oikeaa sarakemäärää
esimerkki:
\ begin {tabular} {| c | c | c |}
Kommentit
- Tämä vastaus säästää paljon aikaa etsimällä semanttisia ongelmia longtabu, tabu ja niin edelleen. Loppujen lopuksi se oli vain yksinkertainen virhe.
Vastaa
2017-päivitys
Koska xintexpr 1.1 (2014/10/28)
on suositeltavaa käyttää ||
ja &&
, yksittäistä |
ja &
voivat muuttaa merkitystään nykyisistä, kuten Boolen or
vastaavasti. and
. Voidaan käyttää myös avainsanoja "or"
vastaavasti. "and"
(lainausmerkit ovat pakollisia). Vastaus on päivitetty ennakoimaan yksittäisten |
ja &
infix-operaattoreiden mahdollinen tulevaisuuden merkityksen muutos.
Ehkä haluatko taulukon täyttävän automaattisesti?
Update lisää koodin 1ex
ohitettavaksi joka neljän rivin kohdalla.
\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}
Ylimääräisillä ohituksilla:
\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}
Vastaa
Minulla oli näin koska kopioin liitettyjä juttuja toisesta taulukosta dokumentissani, käytin seuraavan syntaksin avulla vaakasuoraa viivaa vain taulukon osan alle:
\\\cline{2-3}
I kopio liitetty
\\\cline{2-5}
taulukosta, jossa on enemmän sarakkeita, ja se antoi tämän virheen, kunnes korjaan otti sen huomioon.
Kommentit
- Tämä on todennäköisesti ratkaisu toiseen ongelmaan, joka johtaa samaan virheeseen. Teknisesti se ’ ei vastaa tähän kysymykseen, koska toimenpideohjelma ei ’ t käyttäjä
\cline
.
Vastaa
Sinun on vaihdettava |c|c|c|
muotoon crcrcr
. Tein tämän taulukon seuraavasti.
\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}
Huomaa: Ylä- ja alaosaan käytin komentoa \hline
. / p>
\\
ensimmäisen rivin lopussa.array
,\True
ja vastaavasti määritelty\False
. Muuten, ’ käytät kirjainta F ilmeisesti kahdessa hyvin erilaisessa merkityksessä, mikä voi olla täysin hämmentävää. Ensimmäisellä rivillä on B ja muut muuttujat, jotka näkyvät eri muodoilla, mikä lisää sekaannusta.