테이블에는 줄바꿈하지 않는 공백(`~')을 사용해야 합니다.

테이블에는 줄바꿈하지 않는 공백(`~')을 사용해야 합니다.

\ref{key}첫 번째 열에만 내용이 포함된 테이블을 만들고 있습니다 . 에서 항목 번호를 동적으로 참조하고 있습니다 \enumerate{}. CHKTeX에서 경고를 표시합니다 Non-breaking space (`~') should have been used.. 앞에 물결표를 추가하려고 시도했지만 \refCHKTeX에서 경고를 표시합니다 Double space found..

이 경고를 어떻게 제거합니까?

현재 입력:

    \begin{tabular}{l c c c c c c}
        ~\ref{key}        &   & x & x &   &   &   \\ 
        ~\ref{anotherkey} & x & x & x &   &   &   \\ 
    \end{tabular}

답변1

최소한의 예는 다음과 같습니다

\documentclass{article}

\begin{document}

\section{Zzzz\label{zz}}

\begin{tabular}{ll}
\ref{zz}  & zzzz\\
\ref{zzz}  & zzzz  zzz\\
\end{tabular}

\section{Zzzz zzz\label{zzz}}


\end{document}

생산하는

Warning 2 in dd197.tex line 8: Non-breaking space (`~') should have been used.
\ref{zz}  & zzzz\\  
^
Warning 2 in dd197.tex line 9: Non-breaking space (`~') should have been used.
\ref{zzz}  & zzzz  zzz\\  
^

이러한 경고는 단순히 잘못된 것이므로 무시하거나 chktex를 실행하지 않는 것이 합리적인 선택이 될 것입니다.

잘못된 구문 검사기를 침묵시키기 위해 잘못된 간격이나 불필요하게 복잡한 코드를 강제하고 싶지는 않지만 원할 경우 이를 수행하고 참조를 그룹에 넣을 수 있는 것 같습니다.

\documentclass{article}

\begin{document}

\section{Zzzz\label{zz}}

\begin{tabular}{ll}
{\ref{zz}}  & zzzz\\
{\ref{zzz}}  & zzzz  zzz\\
\end{tabular}

\section{Zzzz zzz\label{zzz}}


\end{document}

경고가 없습니다

답변2

나는 그것을 스스로 알아냈습니다. ~CHKTeX에서 제안한 것을 사용하면 항목 앞에 공간이 만들어집니다. 대신 이를 수행하는 올바른 방법은 입니다 \nolinebreak. 이것은 물결표이지만 보이지 않습니다. 경고를 생성하지 않고 앞에 공백을 추가할 수도 있습니다. 이렇게 하면 코드가 여전히 들여쓰기되지만 공백이 추가되지 않습니다. 코드는 다음과 같습니다:

    \nolinebreak\ref{reqBoot} &   & x & x &   &   &   \\ 
    \nolinebreak\ref{reqDisplays} &   &   & x &   &   &   \\ 
    \nolinebreak\ref{reqBoot} &   & x & x &   &   &   \\ 

출력은 다음과 같습니다.

여기에 이미지 설명을 입력하세요

관련 정보