Оформление текста в целом
Поля, размер страницы и прочее
Класс документа предопределяет значения таких параметров, как ширина и высота страницы, размеры полей и пр. (с учетом опции, указывающей формат бумаги). В настоящем разделе рассказано, как изменить эти значения, если они вас не устраивают.
Размеры текста на странице, полей и пр. задаются параметрами со значением длины . Менять эти параметры следует в преамбуле документа.
Ширина
Ширина текста на странице задается параметром \textwidth ; если набор осуществляется в две колонки, то \textwidth включает в себя ширину обеих колонок и пробел между ними. Если нужно, чтобы ширина текста на странице была сантиметров, напишите в преамбуле так:
\textwidth=7cm
При изменении ширины текста часто приходится менять и поля. Для этого предусмотрен параметр, регулирующий размер левого поля (коль скоро левое поле и \textwidth заданы, правое поле определяется автоматически). Способ задания левого поля зависит от того, является ли набор в данном стиле "двусторонним" или нет. Выше объяснялось, что при двустороннем наборе на страницах с четными и нечетными номерами оставляются разные поля. В классах документов article и report набор по умолчанию односторонний, но он будет двусторонним, если указать стилевую опцию twoside. В классе book набор по умолчанию двусторонний, но можно сделать его односторонним, если указать стилевую опцию oneside.
При одностороннем наборе величина левого поля задается параметром \oddsidemargin. При этом поле отсчитывается не от самого края листа: предварительно делается отступ в один дюйм. Таким образом, если вы скажете в преамбуле
oddsidemargin=0pt
то текст будет начинаться на расстоянии один дюйм от края, а если будет сказано
\oddsidemargin=5mm
то отступ от края бумаги составит (вспомним, что один дюйм равен ). Если присвоить параметру \oddsidemargin отрицательное значение, то расстояние от края листа до начала текста будет, соответственно, меньше дюйма. Нелишне также напомнить, что когда вы присваиваете параметру со значением длины нулевое значение, то все равно должна быть указана какая-то единица длины (как у нас в примере); запись наподобие
\oddsidemargin=0
является ошибочной.
Все сказанное относилось к одностороннему набору. При двустороннем наборе параметр \oddsidemargin также используется, но смысл его несколько иной: на сей раз он задает размеры левого поля только для страниц с нечетными номерами. Что же касается страниц с четными номерами, то размеры левого поля для них задаются параметром \evensidemargin.
При наборе текста в две колонки используются еще два параметра. Во-первых, параметр \columnsep задает расстояние между колонками; во-вторых, колонки можно при желании разделить не только пробелом, но и вертикальной линейкой. Ширина этой линейки задается параметром \columnseprule. В стандартных стилях значение этого последнего параметра установлено равным нулю, так что линейка между колонками не печатается; чтобы линейка была, надо в преамбуле присвоить параметру \columnseprule значение, отличное от нуля (в этом случае ширина разделяющей колонки линейки включается в \columnsep ). Хорошее ненулевое значение параметра \columnseprule — 0.4pt.
Высота
Размер верхнего поля задается параметром \topmargin ; как и в случае с левым полем, это — расстояние не непосредственно от края листа, а от линии, параллельной краю и отстоящей от него на один дюйм. При этом надо сознавать не только от чего, но и до чего отсчитывается это расстояние: именно, \topmargin — это расстояние до колонтитула. Если же колонтитул на странице отсутствует (например, потому, что он не предусмотрен стилем), то вверху страницы дополнительно будет пустое пространство, размер которого равен месту, отводимому на колонтитул (параметр \headheight ) плюс отступ между колонтитулом и основным текстом (параметр \headsep ). Высота текста задается параметром \textheight. При исчислении этого размера не учитываются ни номера страниц, ни колонтитулы, так что, если они предусмотрены классом, полная высота текста на странице будет больше, чем \textheight.
Высоту страницы также можно изменять, присваивая в преамбуле параметру \textheight новое значение, но если класс предусматривает, что все страницы должны иметь одинаковую высоту и ниже по поводу того, когда именно так бывает), то высоту текста нельзя устанавливать совсем уж произвольно: необходимо согласовать ее значение с параметрами \topskip и \baselineskip. Не вдаваясь в подробности, скажем, что первый из этих параметров определяет расстояние от низа первой строки1Точнее говоря, от ее базисной линии: см. лекцию 8. до "верхнего обреза" основного текста страницы, в то время как параметр \baselineskip определяет расстояние между строками и зависит от используемого шрифта (будем надеяться, что вы не станете менять его значение, не изучив предварительно книгу [2]). Так или иначе, значение \textheight следует устанавливать таким образом, чтобы отношение
было целым числом. В LaTeX'овском стандарте topskip всегда равен 10 пунктам. Что же до \baselineskip, то он равен 12 пунктам, если основной шрифт кегля 10, пункта, если основной шрифт кегля 11, и пунктам в кегле 12.Можно и не знать точно этих размеров, но вычислить нужную величину \textheight средствами самого TeX'а: именно, если вы, скажем, хотите, чтобы на странице помещалось 40 строк, то напишите в преамбуле (после команды, изменяющей интерлиньяж, если вы таковой пользовались) следующее:
\setlength{\textheight}{40\baselineskip} \setlength{\textheight}{\baselinestretch\textheight} \addtolength{\textheight}{\topskip}
(см. "Блоки и клей" по поводу \setlength и \addtolength ).
Сдвиг страницы как целого
Иногда при печати вы можете обнаружить, что реальные расстояния от текста до края листа не такие, как предписано параметрами наподобие \topmargin. Дело в том, что у принтера, которым вы пользуетесь, могут быть свои представления о том, где находится край листа бумаги. Чтоб эти представления соответствовали реальности, понадобится настройка принтера и/или dvi-драйвера, используемого вами для распечатки. Если вы не хотите этим заниматься, можно просто изменить расположение всей страницы в целом на печатном листе. Для этого следует установить (в преамбуле) значения двух TeX'овских параметров: \hoffset и \voffset. Например, если в преамбуле написано
\hoffset=-5mm \voffset=4.2mm
то вся страница в целом (со всеми колонтитулами, номерами страниц и пр.)\ будет сдвинута при печати на влево и на вниз.
Если вы запутались во всех этих параметрах, посмотрите на изготовленную с помощью пакета layout картинку 4.1 на которой изображена геометрия страницы LaTeX'а (с теми значениями параметров, которые установлены в нашем тексте). О некоторых из указанных на ней параметров мы пока не упоминали; речь о них пойдет далее в этой лекции.