> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/ru/podrobnye-stati/04-a-visual-guide-to-latex-s-page-layout-parameters.md).

# Наглядное руководство по параметрам разметки страницы LaTeX

## Обновление: сентябрь 2021

Спустя примерно 4 года после первой публикации эта статья была отредактирована, переименована и перевыпущена, чтобы уменьшить её размер и сместить акцент на охватываемые темы. Первоначально статья включала шаблон LaTeX на основе LuaTeX, который опирался на старые возможности Overleaf V1. Этот шаблон теперь устарел и больше недоступен.

**Примечание**: Если вам не нужно или не хочется разбираться в тонкостях верстки страницы LaTeX, статья Overleaf [Размер страницы и поля](/latex/ru/formatirovanie/07-page-size-and-margins.md) объясняет [`geometry` пакет](https://ctan.org/pkg/geometry?lang=en) и, вероятно, будет вам интереснее.

## Введение

Вы когда-нибудь испытывали трудности с настройкой книжной верстки в LaTeX — заданием размера бумаги, размера книжной страницы (обрезного формата) и полей? Это может быть непросто, хотя существует множество пакетов, которые помогают в этой задаче, — в том числе отличный `geometry` пакет. (La)TeX использует почти дюжину значений, чтобы полностью задать верстку страницы для изданий с разными полями для левых и правых страниц:

* `\hoffset`, `\voffset`, `\oddsidemargin`, `\topmargin`, `\headheight`, `\headsep`, `\textheight`, `\textwidth`, `\marginparsep`, `\marginparwidth`, `\footskip`

Обычно эти параметры задаются командами, предоставляемыми пакетами или шаблонами — например, распространяемыми издателями книг. Однако иногда вам может захотеться понять, что происходит «за кулисами»: возможно, вам нужен более высокий уровень контроля для конкретного типа документа, который вы хотите создать.

В этом посте мы исследуем взаимосвязь между моделью страницы LaTeX и традиционной моделью, используемой в мире полиграфии и дизайна. Используя набор [Google Slides](#google-slides-with-animations), содержащих подробные иллюстрации макета страницы, мы шаг за шагом покажем, как сформулировать несколько очень простых уравнений, связывающих модель верстки LaTeX с типичной спецификацией, которая могла бы быть подготовлена дизайнером книги или компанией, занимающейся печатью по требованию. Используя эти уравнения, вы можете, если хотите, напрямую вычислить значения параметров LaTeX для реализации предпочитаемой вами книжной верстки.

### Краткие заметки о pdfTeX и LuaTeX/LuaHBTeX

Обратите внимание, что помимо `\hoffset` и `\voffset` параметров, перечисленных выше, pdfTeX также использует параметры `\pdfhorigin` и `\pdfvorigin`. Традиционно движки TeX выводили `.dvi` файлы, которые затем преобразовывались в PostScript или PDF программным обеспечением, предполагающим, что начало страницы располагалось на расстоянии 1 дюйм (25,4 мм) от левого края страницы и 1 дюйм (25,4 мм) от верхнего края страницы. Значения `\hoffset` и `\voffset` параметров *относительный* относительно этой позиции (1 дюйм, 1 дюйм). Параметры pdfTeX немного отличаются тем, что они отсчитываются от левого верхнего угла, то есть от (0 мм, 0 мм). Так, например, если вы зададите `\pdfhorigin=30mm` это эквивалентно заданию `\hoffset` на `30–25,4`=`4,6 мм` потому что `\hoffset` относительно позиции, которая уже находится `25,4 мм` от левого края страницы. Аналогично, `\hoffset` значение `0 мм` эквивалентно `\pdfhorigin=25.4mm`. В следующих обсуждениях/диаграммах мы будем использовать параметры `\hoffset` и `\voffset`.

#### LuaTeX/LuaHBTeX

LuaTeX/LuaHBTeX также *косвенно* поддерживают `\pdfhorigin` и `\pdfvorigin` но для совместимости с pdfTeX эти команды должны быть определены следующим образом (см. раздел 3 [Справочное руководство LuaTeX](https://www.pragma-ade.com/general/manuals/luatex.pdf)):

```latex
\edef\pdfhorigin{\pdfvariable horigin}
\edef\pdfvorigin{\pdfvariable vorigin}
```

## Какова наша цель?

Тема этой статьи, а также цель предоставленных нами материалов, основаны на следующих задачах:

1. Мы хотим реализовать спецификацию верстки, предоставленную, например, книжным дизайнером или издателем, который не использует LaTeX и не поддерживает его, — или, возможно, нам нужно следовать спецификации, предоставленной компанией, печатающей по требованию.
2. Мы хотим использовать традиционные книжные размеры (размер бумаги, обрезной формат и поля страницы), содержащиеся в спецификации дизайнера, и преобразовать их в параметры и значения, которые понимает LaTeX и может использовать для воспроизведения верстки дизайнера.
3. Мы хотим, чтобы наша книжная страница была горизонтально и вертикально центрирована на выбранном размере бумаги — то есть центрирована внутри области PDF-страниц, создаваемых LaTeX. Мы также хотим выбрать произвольный размер бумаги и не ограничиваться несколькими стандартными вариантами (A4, US Letter и так далее).

### Краткое напоминание: как задать размер бумаги?

LuaTeX, XeTeX и pdfTeX предоставляют две команды, которые позволяют вам управлять «размером бумаги» PDF-документа, который они создают:

* `\pdfpagewidth`
* `\pdfpageheight`

Зная, что эти команды задают размер нашей бумаги, мы теперь можем нарисовать диаграмму, показывающую, чего мы пытаемся добиться:

![{{{alt}}}](/files/8e336d294d930b3b60aadc1a7037719aca2f70e9)

Обратите внимание, что ΔX и ΔY — это значения, необходимые для центрирования книжной страницы на области бумаги; они обсуждаются в [Google Slides](#google-slides-with-animations). Из диаграммы выше видно:

* ΔX=½(\pdfpagewidth − book-page-width)
* ΔY=½(\pdfpageheight − book-page-height)

Приведённая выше диаграмма также включена в [Google Slides](#google-slides-with-animations) и используется как отправная точка для вывода уравнений верстки страницы.

#### В стороне: LuaTeX

LuaTeX больше не *непосредственно* поддерживает `\pdfpagewidth` или `\pdfpageheight` но теперь использует два новых примитива под названием `\pagewidth` и `\pageheight`. Обратную совместимость можно обеспечить с помощью `\let\pdfpagewidth\pagewidth` и `\let\pdfpageheight\pageheight`. Заинтересованные читатели могут найти больше подробностей в [LaTeX News (выпуск 24, февраль 2016)](https://www.latex-project.org/news/latex2e-news/ltnews24.pdf) и, конечно же, в [официальной документации LuaTeX](http://www.luatex.org/documentation.html).

## Ресурсы в этой статье

Здесь, в Overleaf, нам нравится пробовать новые идеи, поэтому в этой статье мы включили ряд ресурсов, которые, как мы надеемся, будут полезны:

* **Два набора** [**Google Slides**](#google-slides-with-animations): Эти наборы слайдов содержат одинаковое содержание, но в одном есть анимация, а в другом нет (некоторые предпочитают смотреть слайды без какой-либо анимации). Вы также можете скачать их в [формате PDF](https://www.filepicker.io/api/file/7Okr2kx6QAWPo3w7mt6K). Слайды дают очень краткое введение в основы верстки книжной страницы и исследуют взаимосвязь между моделью страницы LaTeX и моделью, используемой в традиционной полиграфии и дизайне. Последние несколько слайдов показывают, как получить простые уравнения, которые можно использовать для преобразования набора традиционных размеров (ширина/высота страницы и поля) в эквивалентные значения параметров LaTeX, чтобы воспроизвести верстку вашей книги в LaTeX.
* **Диаграммы верстки страницы**: Команды [Google Slides](#google-slides-with-animations) содержат подробные диаграммы верстки страницы, которые используются для формулирования нескольких простых уравнений для вычисления различных параметров LaTeX. Если вы хотите изучить эти иллюстрации подробнее, мы предоставили [версии PDF](#download-page-layout-diagrams) для скачивания.

### Как пользоваться ресурсами этой статьи

Аудитория этой статьи, вероятно, имеет разный опыт использования LaTeX, поэтому мы сочли предпочтительным предоставить читателям на выбор ряд ресурсов — в зависимости от вашего личного опыта, интересов или предпочтений. Мы надеемся, что эти ресурсы окажутся полезными и будут отвечать потребностям и интересам сообщества Overleaf, использующего LaTeX.

Порядок использования этих ресурсов не задан, но мы бы предложили следующее:

1. просмотрите [Google Slides](#google-slides-with-animations);
2. (необязательно): скачайте и изучите [диаграммы верстки страницы](#download-page-layout-diagrams);

#### Шаг 1: просмотрите или скачайте (в PDF) Google Slides

Последний слайд (показан ниже) подводит итог уравнениям, сформулированным во время презентации.

![{{{alt}}}](/files/b4f8bf3f510af683e9cc6efc4b602bd6cdd7376a)

Для удобства читателей мы предлагаем три варианта просмотра слайдов:

1. слайды [с анимацией](#google-slides-with-animations);
2. слайды [без анимации](#google-slides-without-animations);
3. слайды в [формате PDF](https://www.filepicker.io/api/file/7Okr2kx6QAWPo3w7mt6K) для просмотра офлайн или печати.

#### Шаг 2 (необязательно): скачайте и изучите диаграммы верстки страницы

Если вы хотите подробнее изучить диаграммы верстки страницы, в [конце этой статьи](#download-page-layout-diagrams) есть ссылка для скачивания PDF-файла, содержащего разворот на две страницы (напротив друг друга) версии диаграмм, включённых в [Google Slides](#google-slides-with-animations).

### Примечания к параметрам и уравнениям верстки страницы

Если вы посмотрите на уравнения, приведённые в [Google Slides](#google-slides-with-animations) вы можете заметить, что они содержат много переменных; следовательно, существует несколько способов использовать эти уравнения в зависимости от того, какие значения параметров LaTeX вы хотите вычислить, а какие — задать сами. Давайте посмотрим на один из графиков (и соответствующие уравнения), содержащихся в [Google Slides](#google-slides-with-animations):

![{{{alt}}}](/files/b03fa50fb2d80ce97979c1f43488f9c69f195d32)

Очевидно, вам нужно решить, какие значения параметров LaTeX вы хотите вычислить, а какие возьмёте в качестве отправной точки. Один из способов действовать так:

1. Задайте `\hoffset` и `\voffset` на `0 мм` (с `\pdfhorigin=1in` и `\pdfvorigin=1in`, если необходимо)
2. Используйте значения следующих параметров LaTeX, которые влияют на книжную страницу *ширина*:

* `\marginparsep`
* `\marginparwidth`

4. Задайте предпочтительные значения следующих параметров LaTeX, которые влияют на книжную страницу *высота*:

* `\headheight`
* `\headsep`
* `\footskip`

6. Задайте значения для предпочитаемого вами размера бумаги вместе с желаемыми шириной и высотой книжной страницы, а также четырьмя значениями полей книги, которые вы хотите использовать.
7. Вычислите следующие значения LaTeX, чтобы реализовать вашу книжную верстку (центрированную на выбранном вами размере бумаги):

* `\evensidemargin`, `\oddsidemargin`, `\textwidth`, `\textheight`и `\topmargin`

## Ресурсы статьи

Здесь мы перечисляем ряд ресурсов, которые мы подготовили, чтобы помочь вам лучше понять параметры верстки страницы LaTeX. Эти [Google Slides](#google-slides-with-animations) содержат подробности простых уравнений, которые при желании можно непосредственно использовать для вычисления значений параметров, подходящих для нужд любого документа.

### Google Slides: с анимацией

{% embed url="<https://docs.google.com/presentation/d/e/2PACX-1vSTZiCWqckmPGdqisRh9wTflZrmWdofwpReQAkSbuW2tTBothzSy86TzwMUtfomKtqSbVwNypifdUgY/embed?start=false&loop=false&delayms=3000>" %}

### Google Slides: без анимации

{% embed url="<https://docs.google.com/presentation/d/e/2PACX-1vQ_gH_Wg0Q0HdhcuyGXPplPsAUkaYbi_at_tnFLKk8q_woe22eFNPjehAF_PLvEgEV_33-qNskIYvlL/embed?start=false&loop=false&delayms=3000>" %}

### Google Slides: преобразовано в PDF

Если вы предпочитаете просматривать слайды как PDF-документ или хотите их распечатать, вы можете скачать слайды в [формате PDF](https://www.filepicker.io/api/file/7Okr2kx6QAWPo3w7mt6K).

### Скачать диаграммы верстки страницы

Если вы хотите подробнее изучить диаграммы верстки страницы, вот разворот на две страницы (то есть страницы напротив друг друга) в [формате PDF](https://www.filepicker.io/api/file/X2O1aJM1Rca68mmYm4PT).

## В заключение

Мы надеемся, что эта статья полезна и дала вам полезную справочную информацию для изучения верстки страницы с помощью LaTeX. Как всегда, мы рады услышать мнение читателей, так что, пожалуйста, [свяжитесь с нами](https://www.overleaf.com/contact) оставляйте свои комментарии и отзывы.

Приятного (La)TeXирования!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/ru/podrobnye-stati/04-a-visual-guide-to-latex-s-page-layout-parameters.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
