Для того, чтобы лучше донести до читателя излагаемые в тексте идеи, информацию и знания, текст должен быть хорошо структурирован. В отличии от большинства текстовых редакторов, LaTeX представляет собой издательскую систему ориентированную на логическую и семантическую структуру, позволяющую готовить тексты с типографским уровнем оформления. Оформление текста производится автоматически согласно правилам класса документа с оформлением описанным в стилевых файлах.
Основной текстовой единицей является абзац. Семантически абзац выражает отдельную мысль. Для разделения абзацев используется пустая строка. Обычно, первая строка абзаца имеет отступ, а иногда абзацы разделяются между собой дополнительным вертикальным отступом. Текст внутри абзаца выравнивается по обоим краям за счет того, что ширина пробелов между слов подбирается соответствующим образом. Если ширина пробелов становится слишком большой, то используется перенос слов. В некоторых случаях необходимо поместить разрыв строки внутри абзаца, не заканчивая сам абзац. Для этого используются следующие команды:
\\
или \newline
начинают новую стоку без начала нового абзаца;
\\*
дополнительно к началу новой строки запрещает начало новой страницы;
\newpage
начинает новую страницу.
Вы можете задать локальные правила для переноса/запрета переноса на новую строку/носую страницу:
Эти правила задают, соответственно, разрешение на перенос строки в пределах n строк, запрет на перенос строки, разрешение на начало новой страницы и запрет на начало новой страницы. Значение n может быть в пределах от нуля до четырех. При значениях ниже четырех, LaTeX оставляет за собой право проигнорировать эти правила, если по его алгоритмам оформления вид страницы получается плохим. Поскольку улучшение вида страницы может привести к большим промежуткам между абзацами, то, при необходимости, используйте принудительные разрывы строк и страниц (\newline
и \newpage
).
Для запрета переноса на новую строку части текста можно использовать команду \mbox
или аналогичную, но с добавлением рамки \fbox
.
Запретить перенос на новую строку в части текста можно с помощью неразрываемого пробела обозначаемого символом тильда (~).
LaTeX всегда старается подобрать оптимальную ширину строки. Если ему это не удается сделать, то последнее слово строки может «выпирать» через правую границу абзаца, а LaTeX выдаст при компиляции предупреждение о переполнении горизонтального бокса (overfull hbox). Обычно это происходит тогда, когда LaTeX не может найти способ переноса слова. Для этого можно указать правила переноса слов в виде пе\-ре\-нос
. Также можно указать системе снизить уровень правил командой \sloppy
. В этом случае, все строки будут иметь одинаковую ширину за счет увеличения промежутков между словами и LaTeX выдаст предупреждение о разрежении горизонтального бокса (underfull box). Возвращение к стандартным правилам осуществляется командой \fussy
.
Отметим, что хотя при компиляции документа выдаются предупреждения в какой именно строке не удалось подобрать оптимальную ширину промежутка между словами, найти эти места бывает не всегда легко. Значительно упростить задачу может опция draft (черновой вариант) класса документа, отмечающие эти строки толстой черной линией на правом поле.
Рассмотрим подробнее перенос слов в LaTeX. В некоторых случаях алгоритм переноса слов может не сработать правильно и необходимо указать правильный вариант. Для отдельных слов (состоящих из допустимых символов) это указывается с помощью команды
со списком слов разделенных пробелом, где точки возможного переноса указываются символом «-». Правила переноса будут использоваться для языка активного в момент обработки этой команды. Если поместить эту команду в преамбулу, то правила распространяются на английский язык. Если же в преамбуле подключается национальный язык с помощью пакета babel, то команду со списком слов на национальном языке нужно помещать внутри окружения document. Регистр слов не играет значения, правила распространяются даже если слово в тексте будет записано в другом регистре. Если в слове из списка нет указания точек переноса, то слово переносится не будет. В качестве примера приведем список из двух слов, первое из которых не переносится:
Как было указано выше, для отдельных слов в тексте можно непосредственно указать точки переноса в виде пе\-ре\-нос
.
Некоторые строки являются предопределенными командами:
\today
печатает текущую дату, →day
\TeX
печатает TeX (пример для этой и следующих команд смотрите в последующем параграфе)
\LaTeX
печатает LaTeX
\LaTeXe
печатает LaTeXe
Следует помнить, что после команд пробелы подавляются. Чтобы этого избежать следует поместить после команды фигурные скобки, например \LaTeXe{}
.
Открывающие и закрывающие кавычки различаются. Одинарная открывающая кавычка печатается символом `
, а закрывающая символом '
. Двойные кавычки строятся по тому же принципу, только используется не один, а два символа. Символ двойных кавычек "
не используют. Французские кавычки печатаются символами <<
и >>
.
Код | Отображение |
---|---|
В \TeX{}, \LaTeX{} и \LaTeXe{} кавычки бывают `одинарные' и ``двойные'' и даже <<угловые>>, а "такие" не используют. |
Рассмотрим некоторые специальные символы используемые в тексте.
В LaTeX используется четыре вида тире. Первое является самым коротким (-) и ставится, например, для переноса слов или для разделения составных слов. Второе, среднее, ставится при указании интервалов, например 10--15. Третье, самое длинное является знаком тире (---) используемое в сокращенных предложениях. Обычно, для предотвращения переноса знака тире на следующую строку пробел перед ним заменяют неразрываемым пробелом (знаком тильда, ~). Четвертый символ является математическим знаком минус (-) и используется в режиме написания формул.
Код | Отображение |
---|---|
Чудо-юдо рыба-кит, описанная на страницах 10—12, является мифическим существом, а обычный кит~— нет.\\ Запишем уравнение прямой y=x-1. |
Символ дробной черты (/) можно использовать непосредственно в тексте, помня, что слова, разделенные этим символом, воспринимаются как одно, что препятствует переносу слов в данной конструкции. Альтернативой может служить команда \slash
. В единицах измерения можно использовать обычный символ дробной черты.
Код | Отображение |
---|---|
Для положительной\slash отрицательной величины ускорения скорость, измеряемая в метрах в секунду (м/c), будет возрастать\slash убывать. |
Знак градуса к текстовом режиме отсутствует, поэтому можно использовать символ окружности в математическом режиме. Если подключить пакет textcomp, то в текстовом режиме можно использовать две команды: символ градуса (\textdegree
) и символ градусы Цельсия (\textcelsius
).
Код | Отображение |
---|---|
Температура замерзания воды равняется 0\,^{\circ}$С. Вода вскипает при температуре 100 \textcelsius{} или 212 \textdegree{}F. |
Символ многоточия (\ldots
) не является набором из трех символов точек, поскольку ширина символа точки является меньше, чем ширина обычных символов.
Код | Отображение |
---|---|
Сравните три точки … и многоточие \ldots |