LaTeX: Предотвратить разрыв строки в диапазоне текста - PullRequest
131 голосов
/ 18 июня 2009

Как я могу запретить LaTeX вставлять разрывы строк в мои \texttt{...} или \url{...} текстовые области? Внутри нет пробелов, которые я могу заменить на ~, это просто разбивает на символы.

Обновление : Я не хочу вызывать переполнение строк, я просто предпочел бы LaTeX вставлять разрывы строк перед этими регионами, а не внутри них.

Ответы [ 5 ]

133 голосов
/ 18 июня 2009

\mbox - самый простой ответ. По поводу обновления:

TeX предпочитает слишком длинные строки, чтобы добавить слишком много места между словами в строке; Я думаю, что идея заключается в том, что вы заметите строки, которые простираются в поле (и черные поля, которые он вставляет после таких строк), и у вас будет возможность пересмотреть содержимое, тогда как, если бы было слишком много места, вы могли не заметить это.

Используйте \sloppy или \begin{sloppypar}...\end{sloppypar}, чтобы отрегулировать это поведение, хотя бы немного. Другая возможность - \raggedright (или \begin{raggedright}...\end{raggedright}).

56 голосов
/ 18 июня 2009

Окружите его \mbox{}

25 голосов
/ 18 июня 2009

Кроме того, если у вас есть два последующих слова в обычном тексте, и вы хотите избежать разрыва строки между ними, вы можете использовать символ ~.

Например:

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

Это может гарантировать, что у вас нет строки, начинающейся с номера фигуры (без части Fig.) Или с заглавной буквы A.

18 голосов
/ 02 октября 2012

Использовать \ nolinebreak

\ nolinebreak [число]

Команда \ nolinebreak запрещает LaTeX разрыв текущей строки в точке команды. С необязательный аргумент, число, вы можете преобразовать команду \ nolinebreak от требования к запросу. Число должно быть числом от 0 до 4. Чем выше число, тем настойчивее запрос.

Источник: http://www.personal.ceu.hu/tex/breaking.htm#nolinebreak

14 голосов
/ 23 июня 2009

Определить команду 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 /953046/latex-predotvratit-razryv-stroki-v-diapazone-teksta} 
regions rather than inside them.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...