LaTeX:一連のテキストの改行を防ぐ


148

LaTeXが私の領域\texttt{...}または\url{...}テキスト領域に改行を挿入しないようにするにはどうすればよいですか?で置き換えることができるスペースはありません~。記号が壊れているだけです。

更新:行のオーバーフローを引き起こしたくないので、これらの領域の内部ではなく、LaTeXがこれらの領域の前に改行を挿入したいだけです。

回答:


157

\mbox最も簡単な答えです。アップデートについて:

TeXは、行の単語間に余計なスペースを追加するよりも、長い行を優先します。マージンに伸びる線(およびそのような線の後に挿入される黒いボックス)に気づき、内容を修正する機会があると思いますが、スペースが多すぎると気付かないかもしれません。それ。

\sloppyまたは\begin{sloppypar}...\end{sloppypar}を使用して、この動作を少なくとも少し調整します。別の可能性は\raggedright(または\begin{raggedright}...\end{raggedright})です。


64

で囲みます \mbox{}


4
これにより、行がオーバーフローする場合、LaTeXが領域の前に改行を挿入するようになりますか?
ラピオン

1
いいえ。 \nohyphens{}hypenat。パッケージに含まれているコマンドは、可能性があります。
Michiel Buddingh、2009年

1
提案をありがとう。私は\ nohyphens {\ url {...}}を試しましたが、それでも改行できます。
ランプオン

31

また、通常のテキストに2つの後続の単語があり、それらの間の改行を避けたい場合は、〜文字を使用できます。

例えば:

As we can see in Fig.~\ref{BlaBla}, there is nothing interesting to see. A~better place..

これにより、図の番号(図の部分がない)または大文字のAで始まる行がないことを確認できます。


12
これ~は改行しないスペース文字であることに注意してください。つまり、スペースも挿入します(スペースを挿入せずに改行を防止したい場合もあります)。
sdaau 2014年

24

\ nolinebreakを使用

\ nolinebreak [番号]

\ nolinebreakコマンドは、LaTeXがコマンドのポイントで現在の行を中断しないようにします。オプションの引数numberを使用すると、\ nolinebreakコマンドを要求から要求に変換できます。数値は0から4の数値でなければなりません。数値が大きいほど、要求の持続性が高くなります。

出典:http : //www.personal.ceu.hu/tex/breaking.htm#nolinebreak


14

myurlコマンドを定義します。


\def\myurl{\hfil\penalty 100 \hfilneg \hbox}

I don't want to cause line overflows, 
I'd just rather LaTeX insert linebreaks before 
\myurl{\tt http://stackoverflow.com/questions/1012799/} 
regions rather than inside them.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.