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 von tabular und die Verwendung von Makros anstelle von fest codierten Buchstaben für“ True „und“ False „. (Überlegen Sie auch genau, warum Sie den Buchstaben F 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.

Geben Sie ein Bildbeschreibung hier

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

Wahrheitstabelle

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} 

Wahrheitstabelle mit zusätzliche vertikale Leerzeichen

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.