LaTeX: empêche les sauts de ligne dans une plage de texte


148

Comment puis-je empêcher LaTeX d'insérer des sauts de ligne dans mes régions de texte \texttt{...}ou \url{...}? Il n'y a pas d'espace à l'intérieur que je puisse remplacer par~ , c'est juste une rupture sur les symboles.

Mise à jour : Je ne veux pas provoquer de débordements de ligne, je préfère simplement LaTeX insérer des sauts de ligne avant ces régions plutôt qu'à l'intérieur.

Réponses:


157

\mboxest la réponse la plus simple. Concernant la mise à jour:

TeX préfère les lignes trop longues plutôt que d'ajouter trop d'espace entre les mots sur une ligne; Je pense que l'idée est que vous remarquerez les lignes qui s'étendent dans la marge (et les boîtes noires qu'elle insère après ces lignes), et que vous aurez une chance de réviser le contenu, alors que s'il y avait trop d'espace, vous pourriez ne pas remarquer il.

Utilisez \sloppyou \begin{sloppypar}...\end{sloppypar}pour ajuster ce comportement, au moins un peu. Une autre possibilité est \raggedright(ou \begin{raggedright}...\end{raggedright}).


64

Entourez-le d'un \mbox{}


4
Cela encouragera-t-il LaTeX à insérer un saut de ligne avant la région s'il débordait la ligne?
rampion

1
Non. La \nohyphens{}commande, trouvée dans le hypenatpaquet, pourrait bien.
Michiel Buddingh

1
Merci pour la suggestion. J'ai juste essayé \ nohyphens {\ url {...}}, et il permet toujours les sauts de ligne.
rampion

31

De plus, si vous avez deux mots suivants dans le texte normal et que vous souhaitez éviter un saut de ligne entre eux, vous pouvez utiliser le caractère ~.

Par exemple:

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

Cela peut garantir que vous n'avez pas de ligne commençant par un numéro de figure (sans la partie Fig.) Ou avec une majuscule A.


12
Juste pour noter qu'il ~s'agit d'un caractère d' espace insécable , c'est-à-dire qu'il insère également un espace (parfois on peut vouloir empêcher la rupture sans insérer un espace).
sdaau

24

Utilisez \ nolinebreak

\ nolinebreak [nombre]

La commande \ nolinebreak empêche LaTeX de couper la ligne courante au point de la commande. Avec l'argument facultatif, nombre, vous pouvez convertir la commande \ nolinebreak d'une demande en une demande. Le nombre doit être un nombre compris entre 0 et 4. Plus le nombre est élevé, plus la demande est insistante.

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


14

Définissez la commande 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.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.