LaTeX: evite el salto de línea en un lapso de texto

148

¿Cómo puedo prevenir el látex de la inserción de saltos de línea en mis \texttt{...}o \url{...}texto regiones? No hay espacios dentro con los que pueda reemplazar ~, solo se rompe en símbolos.

Actualización : no quiero causar desbordamientos de línea, prefiero insertar saltos de línea LaTeX antes de estas regiones en lugar de dentro de ellas.

rampion
fuente

Respuestas:

157

\mboxEs la respuesta más simple. En cuanto a la actualización:

TeX prefiere líneas demasiado largas para agregar demasiado espacio entre palabras en una línea; Creo que la idea es que notará las líneas que se extienden hacia el margen (y los cuadros negros que inserta después de tales líneas), y tendrá la oportunidad de revisar el contenido, mientras que si hubiera demasiado espacio, es posible que no note eso.

Use \sloppyo \begin{sloppypar}...\end{sloppypar}para ajustar este comportamiento, al menos un poco. Otra posibilidad es \raggedright(o \begin{raggedright}...\end{raggedright}).

Jouni K. Seppänen
fuente
64

Rodéalo con un \mbox{}

Michiel Buddingh
fuente
44
¿Esto animará a LaTeX a insertar un salto de línea antes de la región si desbordaría la línea?
rampion
1
No. El \nohyphens{}comando, que se encuentra en el hypenatpaquete, podría.
Michiel Buddingh
1
Gracias por la sugerencia. Acabo de probar \ nohyphens {\ url {...}}, y todavía permite saltos de línea.
rampion
31

Además, si tiene dos palabras subsiguientes en el texto normal y desea evitar un salto de línea entre ellas, puede usar el carácter ~.

Por ejemplo:

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

Esto puede garantizar que no tenga una línea que comience con un número de figura (sin la parte de la Fig.) O con una A mayúscula.

Uri
fuente
12
Solo para tener en cuenta que ~es un carácter de espacio que no se rompe , es decir, también inserta un espacio (a veces uno puede querer evitar la ruptura sin insertar un espacio).
sdaau
24

Use \ nolinebreak

\ nolinebreak [número]

El comando \ nolinebreak evita que LaTeX rompa la línea actual en el punto del comando. Con el argumento opcional, número, puede convertir el comando \ nolinebreak de una demanda a una solicitud. El número debe ser un número del 0 al 4. Cuanto mayor sea el número, más insistente será la solicitud.

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

Tomász
fuente
14

Defina el comando 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.
Alexey Malistov
fuente