2009-06-18 9 views
106

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'espaces à l'intérieur que je peux remplacer par ~, c'est juste casser des symboles.LaTeX: Empêcher les retours à la ligne dans une partie du texte

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

Répondre

100

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

TeX préfère les lignes trop longues pour 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 auront une chance de réviser le contenu, alors que s'il y avait trop d'espace, vous pourriez ne pas remarquer il.

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}).

44

Surround avec un \mbox{}

+2

Est-ce que cette encourager à insérer une LATEX linebreak avant la région si elle débordait la ligne? – rampion

+0

Non. La commande '\ nohyphens {}', trouvée dans le paquet 'hypenat', pourrait le faire. –

+0

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

15

En outre, si vous avez deux mots suivants dans un texte normal et que vous voulez éviter une rupture 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 vous assurer que vous ne disposez pas d'une ligne commençant par un numéro de figure (. Sans la partie la figure) ou avec une majuscule A.

+4

Juste pour noter que '~' est un caractère _space_ insécable, c'est-à-dire qu'il insère aussi un espace (parfois on peut vouloir éviter de casser sans insérer d'espace). – sdaau

12

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

13

utilisation \ nolinebreak

\ nolinebreak [nombre]

La commande \ nolinebreak empêche LATEX de rupture de la ligne de courant au niveau du point de la commander. Avec l'argument optionnel , number, vous pouvez convertir la commande \ nolinebreak à partir d'une demande à une demande. Le nombre doit être un nombre compris entre 0 et 4. Plus le nombre est élevé, plus la requête est insistante.

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

+1

Ne travaillez pas pour moi –

+0

Avez-vous essayé \ nolinebreak [4]? – Tomasz

+0

Oui, mais déjà résolu avec une autre logique. Merci –

Questions connexes