最初の列にコンテンツのみがあるテーブルを作成しています\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 を実行しないことが妥当な選択肢です。
間違った構文チェッカーを黙らせるためだけに、間違ったスペースや不必要に複雑なコードを強制したくはありませんが、必要に応じてこれを実行でき、refをグループに入れることができます。
\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 & & & \\
出力は次のようになります。