Estou fazendo uma tabela com \ref{key}
apenas conteúdo na primeira coluna. Estou me referindo dinamicamente aos números dos itens em um arquivo \enumerate{}
. CHKTeX me dá o aviso Non-breaking space (`~') should have been used.
. Eu tentei adicionar um til na frente do, \ref
mas então o CHKTeX dá o aviso Double space found.
.
Como faço para me livrar desse aviso?
Entrada atual:
\begin{tabular}{l c c c c c c}
~\ref{key} & & x & x & & & \\
~\ref{anotherkey} & x & x & x & & & \\
\end{tabular}
Responder1
Um exemplo mínimo é
\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}
que produz
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\\
^
Esses avisos estão simplesmente incorretos, portanto, ignorá-los ou não executar o chktex seria uma opção razoável.
Você não deseja forçar espaçamento incorreto ou código desnecessariamente complicado apenas para silenciar um verificador de sintaxe incorreto, mas parece que você pode fazer isso se quiser e colocar o ref em um grupo
\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}
não tem avisos
Responder2
Eu mesmo descobri: usar o sugerido ~
pelo CHKTeX cria um espaço na frente do item. Em vez disso, a maneira correta de fazer isso é \nolinebreak
. Este é um til, mas invisível. Você também pode adicionar espaços na frente, sem gerar aviso. Desta forma, o código ainda está recuado, mas não há espaço adicionado. O código ficará assim:
\nolinebreak\ref{reqBoot} & & x & x & & & \\
\nolinebreak\ref{reqDisplays} & & & x & & & \\
\nolinebreak\ref{reqBoot} & & x & x & & & \\
A saída é semelhante a esta: