В таблице необходимо было использовать неразрывный пробел (`~')

В таблице необходимо было использовать неразрывный пробел (`~')

Я создаю таблицу \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 &   &   &   \\ 

Вывод выглядит так:

введите описание изображения здесь

Связанный контент