이 표의 실제 문제는 무엇입니까?

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

댓글

  • ‘에 \\ 첫 번째 행 끝에 있습니다.
  • @dcmst : 샌드 박스 서식 지정 이 댓글 .
  • array, \True 및 유사하게 정의 된 \False. 그건 그렇고, ‘ F를 두 가지 매우 다른 의미로 사용하고 있습니다. 이는 완전히 혼란 스러울 수 있습니다. 첫 번째 줄에는 “B”와 다른 모양으로 나타나는 다른 변수가있어 혼란을 더합니다.

Answer

누락 된 \\ 줄 바꿈 지침을 삽입하는 것 외에도 다음 단계를 수행해야합니다.

  • 제안 사항을 완전히 구현합니다. @egreg는 iv id = “750bea884b 대신 array 사용을 포함하여 이전 게시물 과 관련하여 작성되었습니다. “>

및”True “및”False “에 대해 하드 코딩 된 문자가 아닌 매크로 사용. (또한문자F를 변수와 “거짓”에 대한 토큰으로 사용하는지 생각해보십시오. 그렇게하기가 어렵습니까? “F”보다 더 나은 변수 이름을 사용합니까?)

  • 모든 수직 막대를 제거하고 booktabs 패키지를 사용하여 몇 개의 적절한 간격의 가로줄을 삽입합니다.

  • 4 번째 행마다 추가 세로 공백을 추가합니다. 한 번에 4 개의 행이 테이블을 자연스럽게 그룹화하므로 테이블 본문에 / em> 입력합니다.

  • 입력 여기에 이미지 설명

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

    답변

    제 경우에는 올바른 수의 열을 선언하지 않았기 때문에 발생했습니다.

    예 :

    \ begin {tabular} {| c | c | c |}

    댓글

    • 이 답변은 longtabu, tabu 등과 관련된 의미 문제를 검색하는 데 많은 시간을 절약했습니다. 결국 단순한 실수 일뿐입니다.

    답변

    2017 업데이트

    이후 xintexpr 1.1 (2014/10/28) 단일 iv id = “인 ||&&를 사용하는 것이 좋습니다. e1be67c1a6 “>

    &는 부울orresp로 현재 의미에서 의미를 변경할 수 있습니다.and키워드"or"resp를 사용할 수도 있습니다."and"(인용문 필수). 단일|&중위 연산자의 의미의 향후 변경 가능성을 예상하도록 답변이 업데이트되었습니다.


    아마도 테이블이 자동으로 채워지 길 원하십니까?

    업데이트는 1ex 세로 건너 뛰기 4 행마다 코드를 추가합니다.

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

    진실 표

    추가 건너 뛰기 :

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

    추가 수직 공간

    답변

    이런 일이있었습니다. 문서의 다른 테이블에서 일부 항목을 복사하여 붙여 넣었 기 때문에 다음 구문을 사용하여 테이블의 일부에만 수평선을 만들었습니다.

    \\\cline{2-3} 

    I 더 많은 열이있는 표에서 복사하여

    \\\cline{2-5} 

    복사를했는데 수정 될 때까지이 오류가 발생했습니다. 영향을 미쳤습니다.

    댓글

    • 동일한 오류를 발생시키는 다른 문제에 대한 해결책 일 수 있습니다. 기술적으로는 ‘이 질문에 답변하지 않습니다. OP는 사용자가 \cline이기 때문입니다. ‘ .

    답변

    |c|c|c|crcrcr. 이 테이블을 다음과 같이 만들었습니다.

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

    참고 : 위쪽 및 아래쪽 규칙에는 \hline 명령을 사용했습니다. / p>

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다