Часто бывает, что в документе появляются слишком длинные, переполненные строки (Warning: overfull \hbox). Как избавиться от overfull \hbox в LaTeX? Я расскажу несколько способов. Их можно комбинировать.
Источники этих настроек.
Overfull \hbox возникает, когда строка залезает на правое поле страницы. Это происходит, когда совпадают два условия:
- компилятор не может найти правило переноса слова или формулы в конце строки,
- если он уберет это слово целиком в следующую строку, размеры пробелов в текущей строке станут чересчур большими.
Компилятор сдается, формирует переполненную строку и пишет предупреждение в лог.
Итак, два способа:
1. Как указать LaTeX, где можно ставить переносы? Поставить в местах возможного переноса слов символы \-, например: зашифро\-ва\-ние, cipher\-text. Разбить формулу на несколько, т.к. LaTeX не переносит формулу после запятой.
2. Чтобы не расставлять переносы вручную, можно немного изменить настройки окончения строк и страниц в преамбуле документа. Не стоит использовать команду \sloppy, так как после нее текст выглядит неопрятно.
Вот, что я добавил в преамбулу своего .tex файла для аккуратной верстки:
\tolerance 1414
\hbadness 1414
\emergencystretch 1.5em
\hfuzz 0.3pt % размер максимального переполнения без warning'a
\widowpenalty=10000 % запрещает одиночную строку абзаца в начале
- страницы
- \vfuzz \hfuzz
- \raggedbottom % если на странице мало содержимого, добавить пустое место в конце, а не в середине страницы
No comments:
Post a Comment