Работа в системе LaTeX

       

Переносы в формулах


При необходимости TeX может перенести часть внутритекстовой формулы на другую строчку. Такие переносы возможны после знаков "бинарных отношений", наподобие знака равенства1) или "бинарных операций", наподобие знаков сложения или умножения , причем последний знак в строке, вопреки российской традиции, не дублируется в начале следующей. Чтобы избежать этих переносов, можно воспользоваться тем обстоятельством, что TeX не разрывает при переносе часть формулы, заключенную в фигурные скобки. В частности, можно заключить в фигурные скобки всю формулу, в которой произошел нежелательный перенос, от открывающего ее знака доллара до закрывающего: после этого можно быть уверенным, что переноса этой формулы ни при каких обстоятельствах не произойдет.

Вышеописанный способ борьбы с неудачными переносами в формулах имеет один недостаток: при этом затрудняется верстка абзацев и возрастает вероятность появления неприятных сообщений "Overfull \hbox"(см. разд."Абзацы" лекция 3 ).

Более гибкий способ борьбы с переносами в формулах — записать в преамбуле файла строку

\binoppenalty=10000"

и/или строку

relpenalty=10000

Первая из этих строк запретит все разрывы строк после знаков бинарных операций, а вторая — после знаков бинарных отношений, и при этом помех верстке абзаца будет меньше, чем при заключении всей формулы в фигурные скобки.

Для любознательных поясним, что \binoppenalty и \relpenalty — параметры (TeX'овские), значением которых может быть целое число . Эти параметры определяют степень нежелательности разрыва строки после символов бинарной операции и бинарного отношения соответственно (чем больше значение соответствующего параметра, тем менее желателен разрыв строки). По умолчанию значение \binoppenalty равно

, а значение \relpenalty равно
. Можно присвоить им в преамбуле большие значения, тогда вероятность разрывов уменьшится. Значение 10000 означает абсолютный запрет.

При заключении всей формулы в фигурные скобки верстка абзацев затрудняется, поскольку TeX лишается возможности варьировать в ней интервалы между символами для выравнивания строк (см.
разд."Абзацы"лекция 3 ).

Наконец, существует способ дублировать знаки операций, который мы приведем безо всяких пояснений. Включив

\newcommand*{\hm}[1]{#1\nobreak\discretionary{}% {\hbox{\mathsurround=0pt #1}}{}}в преамбулу, можно написать $a\hm+b\hm+c\hm+d$, при этом в формуле

при переносе знак
будет продублирован.

Выключные формулы, в отличие от внутритекстовых, TeX никогда не переносит. Если выключная формула не помещается в строку, то при трансляции вы получите сообщение "Overfull \hbox" (в разд. "Абзацы"лекция 3 подробно рассказано, в каких еще ситуациях выдается такое сообщение), и вам придется разбить формулу на строки вручную. Как это делать, мы объясним в разд. "Многострочные и выключные формулы".


Содержание раздела