かすみん日記

暇なときに何か喋ります

【LaTeX】改行(行分割)を禁止するコマンド\nobreak

改行を禁止するコマンド

その箇所での行分割を禁止するには\nobreakと書きます。

行分割を許さないスペースはチルダ(tilde)~という1文字のコマンドで挿入できます。

与太話

LaTeXにおいて、ここでは改行してほしくないというタイミングで改行されてしまうことがたまにあります。

例えば、\citeコマンドで参考文献を参照するときに、\citeの直前では改行してほしくありません。

ほげほげ〜であることが知られています\cite{hoge}

という文章で、以下のように組版されることがあります。

ほげほげ〜であるこ
とが知られています
[1]。

このような場合には、以下のようになってほしいわけです。

ほげほげ〜であるこ
とが知られていま
す[1]。

そう言った場合には\nobreakコマンドを使えば、特定の箇所における行分割を禁止することができます。

ほげほげ〜であることが知られています\nobreak\cite{hoge}

念のため\citeコマンドの直前には毎回\nobreakコマンドを挿入すべきですが、さすがにそれは面倒なので、マクロを定義して使いましょう。

例えば、\citeコマンドの代わりに、以下で定義する\bibコマンドを使うことにしましょう。

\newcommand\bib[1]{\nobreak\cite{#1}}
% ...
ほげほげ〜であることが知られています\bib{hoge}

\citeコマンドの直前以外にも必要な場面は多々ありそうです。

すぐに思いつくものとしては、以下のようなところでしょうか。

ほげほげは\ref{sec:hoge}\nobreak 節の図\nobreak\ref{fig:hoge}を参照。

英語の文章であれば、そのようなところには大抵スペースも伴うので、行分割を禁止するスペースとしてチルダ~コマンドが用意されています。

日本語だとスペースは余計なので、~ではなく\nobreakを使うべきですね。

以上です。

参考

ググっても全然出てこなかったので、一応記事にしておきました。

下記の文献で\nobreakコマンドを見つけることができました。

  • 吉永徹美『独習LaTeX2e』

有名な『美文書』より詳しい気がします。

アフィリエイトは無いのでAmazonリンクは自分でググってください。