LaTeX: Mencegah jeda baris dalam rentang teks


148

Bagaimana saya bisa mencegah LaTeX dari menyisipkan linebreak di wilayah teks \texttt{...}atau saya \url{...}? Tidak ada ruang di dalam saya dapat menggantinya dengan ~, itu hanya melanggar simbol.

Pembaruan : Saya tidak ingin menyebabkan garis meluap, saya lebih suka LaTeX menyisipkan linebreaks sebelum wilayah ini daripada di dalamnya.

Jawaban:


157

\mboxadalah jawaban paling sederhana. Mengenai pembaruan:

TeX lebih suka baris yang terlalu panjang untuk menambahkan terlalu banyak ruang di antara kata-kata pada sebuah baris; Saya pikir idenya adalah bahwa Anda akan melihat garis-garis yang memanjang ke margin (dan kotak hitam yang dimasukkan setelah garis-garis tersebut), dan akan memiliki kesempatan untuk merevisi isinya, sedangkan jika ada terlalu banyak ruang, Anda mungkin tidak melihat Itu.

Gunakan \sloppyatau \begin{sloppypar}...\end{sloppypar}untuk menyesuaikan perilaku ini, setidaknya sedikit. Kemungkinan lain adalah \raggedright(atau \begin{raggedright}...\end{raggedright}).


64

Kelilingi dengan \mbox{}


4
Apakah ini akan mendorong LaTeX untuk memasukkan linebreak sebelum wilayah jika akan meluap baris?
rampion

1
Tidak. \nohyphens{}Perintah, yang ditemukan dalam hypenatpaket, mungkin saja.
Michiel Buddingh

1
Terima kasih untuk sarannya. Saya baru saja mencoba \ nohyphens {\ url {...}}, dan itu masih memungkinkan linebreak.
rampion

31

Juga, jika Anda memiliki dua kata berikutnya dalam teks biasa dan Anda ingin menghindari jeda baris di antara mereka, Anda dapat menggunakan ~ karakter.

Sebagai contoh:

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

Ini dapat memastikan bahwa Anda tidak memiliki garis yang dimulai dengan nomor gambar (tanpa bagian Fig.) Atau dengan huruf A. besar


12
Hanya untuk dicatat bahwa itu ~adalah karakter spasi yang tidak melanggar , yaitu, ia juga menyisipkan spasi (kadang-kadang orang mungkin ingin mencegah kerusakan tanpa memasukkan spasi).
sdaau

24

Gunakan \ nolinebreak

\ nolinebreak [angka]

Perintah \ nolinebreak mencegah LaTeX dari memecah baris saat ini pada titik perintah. Dengan argumen opsional, angka, Anda dapat mengonversi perintah \ nolinebreak dari permintaan ke permintaan. Angka harus berupa angka dari 0 hingga 4. Semakin tinggi angkanya, semakin mendesak permintaannya.

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


14

Tentukan perintah 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.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.