Предотвращение texttt LaTeX tag от пропускания его содержимого через поле [закрыто]
в моем отчете я пишу некоторые имена классов или переменных внутри абзаца, и я хочу, чтобы эти имена были отображены в моноширинном шрифте.
пример:
This is my class name: texttt{baseAdminConfiguration}.
иногда, когда одно слово внутри тега texttt отображается в конце строки, слово не переходит в следующую строку, и в ней нет разрыва: конец слова проходит через поле.
Как я должен обрабатывать такой кейс?
Ура.
2 ответов
это не имеет большого отношения к \texttt
. Слово просто слишком длинное, и латекс не знает, как его переносить. Вы можете рассказать ему, как это сделать вручную, объявив правила переноса:
\hyphenation{base-Admin-Configuration}
на \hyphenation
команда может принимать произвольно много слов, разделенных пробелами.
кроме того, если это не трюк, вы можете ввести подсказки ручной гипенации в тексте:
This is a long text that uses the word \texttt{base\-Admin\-Configuration) …
будет отображаться только фактический перенос – неиспользуемые так называемые дискреционные дефисы (\-
) не будет отображаться так что вы можете свободно посыпать ваш текст с ними, если это необходимо.
[подробнее о переносах в LaTeX]
для предотвращения переполнения линий латекса в принципе, весь абзац может быть завернут в sloppypar
окружающая среда (спасибо Уиллу за указание на это в комментариях):
\begin{sloppypar}
Some text …
\end{sloppypar}
это манипулирует параметрами линии разрыва алгоритм (в частности, \tolerance
). Недостаток: это может привести к очень некрасивые расстояния. Кроме того, \tolerance
и другими внутренними параметрами можно манипулировать напрямую-TEX FAQ показывает, как.
решение довольно простое: используйте пакет url и замените команду texttt командой path.
Я узнал, что здесь https://tex.stackexchange.com/questions/299/how-to-get-long-texttt-sections-to-break на посту Уилла Робертсона.
Ура