LaTeX: Bir metin aralığında satır sonunu önleyin


154

LaTeX'in benim \texttt{...}veya \url{...}metin bölgelerime satır sonu eklemesini nasıl engelleyebilirim ? İçinde değiştirebileceğim boşluk yok ~, sadece sembolleri kırıyor.

Güncelleme : Satır taşmalarına neden olmak istemiyorum, LaTeX'in satır kırılmalarını bu bölgelerin içlerinden önce eklemesini tercih ederim.

Yanıtlar:


163

\mboxen basit cevaptır. Güncelleme ile ilgili olarak:

TeX, bir satırdaki sözcükler arasına çok fazla boşluk eklemek için çok uzun satırları tercih eder; Bence fikir, kenar boşluğuna uzanan çizgileri (ve bu tür satırlardan sonra eklediği kara kutuları) fark edeceğiniz ve içeriği gözden geçirme şansınız olacağı, oysa çok fazla alan varsa fark etmeyebilirsiniz. o.

Bu davranışı en azından biraz ayarlamak için \sloppyveya kullanın \begin{sloppypar}...\end{sloppypar}. Başka bir olasılık \raggedright(veya \begin{raggedright}...\end{raggedright}).


68

Etrafını bir \mbox{}


5
Bu, LaTeX'i, eğer çizgiyi aşacaksa bölgeden önce bir satır sonu eklemeye teşvik edecek mi?
rampion

1
Hayır. Pakette \nohyphens{}bulunan komut hypenatsadece olabilir.
Michiel Buddingh

1
Önerin için teşekkürler. Az önce \ nohyphens {\ url {...}} denedim ve hala satır kesmelerine izin veriyor.
rampion

32

Ayrıca, normal metinde birbirini izleyen iki kelimeniz varsa ve aralarında bir satır sonu olmasını önlemek istiyorsanız, ~ karakterini kullanabilirsiniz.

Örneğin:

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

Bu, bir şekil numarasıyla (Şekil kısmı olmadan) veya büyük A harfiyle başlayan bir satırınız olmamasını sağlayabilir.


12
Bunun ~bölünemez bir boşluk karakteri olduğunu not etmek için , yani bir boşluk da ekler (bazen boşluk eklemeden kırmayı önlemek isteyebilir).
sdaau

24

Olinebreak \ n kullan

\ nolinebreak [sayı]

\ Nolinebreak komutu, LaTeX'in komut noktasında geçerli satırı kesmesini engeller. İsteğe bağlı bağımsız değişken sayı ile, \ nolinebreak komutunu bir talepten bir isteğe dönüştürebilirsiniz. Numara, 0 ile 4 arasında bir sayı olmalıdır. Sayı ne kadar büyükse, istek o kadar ısrarcı olur.

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


14

Myurl komutunu tanımlayın:


\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.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.