geändert. Was ist das eigentliche Problem mit dieser Tabelle?
\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}
Kommentare
- Ihnen ‚ fehlt ein
\\
am Ende der ersten Zeile. - @dcmst: Siehe Formatieren der Sandbox und dieser Kommentar .
- Ich sehe, dass Sie ‚ meinen Vorschlägen zur Verwendung von
array
,\True
und das ähnlich definierte\False
. Übrigens verwenden Sie ‚ „F“ in anscheinend zwei sehr unterschiedlichen Bedeutungen, was äußerst verwirrend sein kann. In der ersten Zeile werden „B“ und die anderen Variablen mit unterschiedlichen Formen angezeigt, was zu Verwirrung führt.
Antwort
Zusätzlich zum Einfügen der fehlenden \\
Zeilenumbruchanweisung sollten Sie die folgenden Schritte in Betracht ziehen:
-
Implementieren Sie die Vorschläge vollständig @egreg erstellt in Bezug auf Ihren früheren Beitrag , einschließlich der Verwendung von
array
anstelle vontabular
und die Verwendung von Makros anstelle von fest codierten Buchstaben für“ True „und“ False „. (Überlegen Sie auch genau, warum Sie den BuchstabenF
sowohl als Variable als auch als Token für „false“ verwenden. Ist es so schwierig zu kommen? mit einem besseren Variablennamen als „F“?) -
Entfernen Sie alle vertikalen Balken und verwenden Sie die Strichzeichnungsmakros von booktabs -Paket zum Einfügen einiger horizontaler Linien mit gutem Abstand.
-
Fügen Sie nach jeder vierten Zeile ein bisschen mehr vertikales Leerzeichen hinzu / em> im Hauptteil der Tabelle, da vier Zeilen gleichzeitig eine natürliche Gruppierung für die vorliegende Tabelle bereitstellen.
\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}
Antwort
In meinem Fall passiert, weil ich nicht die richtige Anzahl von Spalten deklariert habe
Beispiel:
\ begin {tabellarisch} {| c | c | c |}
Kommentare
- Diese Antwort hat mir viel Zeit bei der Suche nach semantischen Problemen mit Longtabu, Tabu usw. gespart. Immerhin war es nur ein einfacher Fehler.
Antwort
Update 2017
Seit xintexpr 1.1 (2014/10/28)
Es wird bevorzugt, ||
und &&
die einzelne und &
können ihre Bedeutung von ihren aktuellen als boolesche or
bzw. ändern. and
. Man kann auch die Schlüsselwörter "or"
bzw. verwenden. "and"
(Anführungszeichen obligatorisch). Die Antwort wurde aktualisiert, um eine mögliche zukünftige Änderung der Bedeutung einzelner Infix-Operatoren |
und &
zu antizipieren.
Vielleicht Möchten Sie, dass die Tabelle automatisch ausgefüllt wird?
Update fügt Code für 1ex
vertikales Überspringen alle vier Zeilen hinzu.
\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}
Mit zusätzlichen Sprüngen:
\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}
Antwort
Ich hatte dies geschehen Da ich einige Inhalte aus einer anderen Tabelle in mein Dokument kopiert habe, wurde die folgende Syntax verwendet, um eine horizontale Linie nur unter einem Teil der Tabelle zu erstellen:
\\\cline{2-3}
I. Kopieren Sie eingefügte
\\\cline{2-5}
aus einer Tabelle mit mehr Spalten, und es gab diesen Fehler, bis ich korr
Kommentare
- Dies ist wahrscheinlich eine Lösung für ein anderes Problem, das zum gleichen Fehler führt. Technisch gesehen beantwortet ‚ diese Frage nicht, da das OP ‚ t Benutzer
\cline
nicht .
Antwort
Sie müssen |c|c|c|
in crcrcr
. Ich habe diese Tabelle wie folgt erstellt.
\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}
Hinweis: Für die obere und untere Regel habe ich den Befehl \hline