Вертикальные промежутки
Большинство вертикальных промежутков (например, между заголовком раздела и его текстом) LaTeX устанавливает самостоятельно, и вам об этом можно не заботиться. Иногда возникает необходимость сделать дополнительный вертикальный промежуток между абзацами. Как вы помните, как внутри абзацев для задания промежутков вручную разумнее пользоваться не командами, явно задающими размер промежутка, а командами вроде \, или \quad; аналогичным образом, для задания промежутков между абзацами рекомендуются такие команды:
- \smallskip задает такой, промежуток;
- \medskip задает такой, промежуток;
- \bigskip задает такой, промежуток.
Проще всего поставить эти команды непосредственно после пустой строки или команды \par, завершающей абзац:
После этого абзаца мы оставим дополнительный пробел. \par\smallskip А теперь начнем новый абзац. |
Конкретная величина промежутков, задаваемых этими командами, зависит от класса документа. Эти размеры совпадают со значениями параметров \smallskipamount\ldots\bigskipamount, о которых шла речь на с. .
Если вы хотите задать размер вертикального промежутка в явном виде, можно воспользоваться командой \vspace. Подобно команде \hspace, у нее есть один обязательный аргумент — величина промежутка. Например, можно написать
\vspace{2ex}Команду \vspace удобнее всего ставить после конца абзаца (подобно таким командам, как \smallskip).
Можно поставить команду \vspace (или \smallskip и т.п.) не после пустой строки или \par, а непосредственно перед ними, после всего текста абзаца. Если поставить какую-либо из этих команд внутри абзаца, то дополнительный вертикальный пробел получится не между абзацами, а между строками абзаца.
Если дать команду \vspace сразу же после \newpage или \clearpage, то вертикального отступа в начале новой страницы не получится; вертикальный отступ, создаваемый \vspace, пропадет и в том случае, если он оказывается в начале новой страницы, получившейся "естественным образом". Чтобы вертикальный отступ в начале страницы не пропадал, надо воспользоваться вариантом со звездочкой после имени команды: если написать \vspace*{1cm}, то будет создан вертикальный промежуток в 1cm, не пропадающий даже в том случае, если команда дана сразу после \newpage или \clearpage или в этом месте произошел разрыв страницы.
Можно заставить команду \ vspace создать промежуток не фиксированной, а переменной длины. Именно, в самом общем виде эта команда записывается так:
\vspace{x plus y minus z} Здесь , и - длины, выраженные в TeX'овских единицах, а plus и minus — так называемые "ключевые слова" TeX'а (в отличие от команд, перед ними не надо ставить backslash). При этом обозначает "естественную" величину отступа: если при верстке страницы вертикальные интервалы не приходится растягивать или сжимать (например, в случае, когда, мы разрешили TeX'у оставлять внизу страницы пустое место; в дальнейшем мы обсудим, как это делать), то будет сделан пробел размером ровно . При необходимости, однако (например, ради того, чтобы все страницы имели одинаковую высоту), этот интервал можно будет и изменить: указывает степень растяжимости, а — степень сжимаемости интервала. Говоря TeXническим языком, команда \vspace вставляет в страницу "клей"10); расстояния, указанные после plus и minus, называются соответственно plus- и minus-компонентами этого клея. Если plus- или minus-компонента в аргументе команды \vspace не указана, то соответствующий интервал не сможет растягиваться (сжиматься). Большинство вертикальных интервалов, автоматически вставляемых LaTeX'ом, обладают растяжимостью и/или сжимаемостью, что помогает при нахождении оптимальных разрывов страниц.
Один частный случай растяжимых промежутков настолько важен, что в LaTeX'е для него предусмотрена специальная команда. Именно, в аргументе \vspace или \vspace* можно вместо длины, заданной в TeX'овских единицах, написать \fill. Это задает промежуток нулевого размера, но обладающий способностью бесконечно растягиваться. Если, например, написать
\clearpage\vspace*{\fill} \begin{center} Заголовок \end{center} \vspace*{\fill}\clearpage то слово "заголовок" будет расположено точно по центру отдельной страницы, созданной командами \clearpage.
Перед командой \fill в аргументе \vspace или \vspace* можно поставить коэффициент — целое число или десятичную дробь, и тогда растяжимость умножится на этот коэффициент.Например, если написать
\clearpage\vspace*{0.5\fill} \begin{center} Заголовок \end{center} \vspace*{\fill}\clearpage то перед словом "заголовок" будет оставлено ровно в два раза меньше места, чем после него, так как 0.5\fill растяжим в два раза меньше, чем \fill.
Теперь можно признаться, что горизонтальные промежутки, создаваемые командой \hspace, также могут быть растяжимыми; чтобы этого добиться, надо задать в аргументе команды \hspace не только " естественную длину", но еще и plus- и/или minus-компоненту. Например, если сказать
\hspace{1cm plus 2mm minus 1em} то при верстке абзаца соответствующий интервал сможет растягиваться или сжиматься. Можно также, вместо длин с plus- или minus-компонентами, написать \fill (возможно, с коэффициентом). В простых приложениях такие конструкции, как правило, не встречаются. Мы еще будем говорить о них в лекции 8.