139 votes

LaTeX : Empêcher les sauts de ligne dans un empan de texte

Comment puis-je empêcher LaTeX d'insérer des sauts de ligne dans mon document \texttt{...} ou \url{...} des régions de texte ? Il n'y a pas d'espaces à l'intérieur que je peux remplacer par ~ il est juste en train de se briser sur des symboles.

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

150voto

Jouni K. Seppänen Points 15129

\mbox est la réponse la plus simple. En ce qui concerne la mise à jour :

TeX préfère les lignes trop longues à l'ajout de trop d'espace entre les mots d'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'il insère après ces lignes), et aurez une chance de réviser le contenu, alors que s'il y avait trop d'espace, vous ne le remarqueriez peut-être pas.

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

61voto

Michiel Buddingh Points 3437

Entourez-le d'un \mbox{}

29voto

Uri Points 50687

De même, si vous avez deux mots consécutifs dans un texte normal et que vous voulez é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 permet de s'assurer que vous n'avez pas une ligne commençant par un numéro de figure (sans la partie Fig.) ou par un A majuscule.

21voto

Tomasz Points 1678

Utilisez \nolinebreak

\nolinebreak [numéro]

Le site \nolinebreak empêche LaTeX de de rompre la ligne en cours à l'endroit de la commande. Avec l'argument facultatif nombre, vous pouvez convertir la valeur \nolinebreak commande d'une demande à une requête. Le numéro doit être un chiffre 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

14voto

Alexey Malistov Points 13526

Définir 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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X