表中應使用不間斷空格(`~')

表中應使用不間斷空格(`~')

\ref{key}我正在製作一個僅第一列內容的表格。我動態地引用\enumerate{}. CHKTeX 給了我一個警告Non-breaking space (`~') should have been used.。我嘗試在 前面添加波浪號\ref,但隨後 CHKTeX 給出警告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 &   &   &   \\ 

輸出如下圖所示:

在此輸入影像描述

相關內容