титульный лист по центру \ documentclass {book} - PullRequest
7 голосов
/ 25 февраля 2010

При наборе текста с помощью \documentclass{book} поля на нечетных и четных страницах отличаются, как в книге. Это означает, что содержимое страницы не центрировано, что нормально, за исключением иногда на титульном листе.

У меня вопрос: как я могу расположить титульный лист по центру при наборе текста документа с использованием класса книги?

Вот пример:

\documentclass{book}
\title{Lorem ipsum dolor yada yada}
\begin{document}
\maketitle
\end{document}

Я бы хотел, чтобы заголовок был в центре страницы. Есть ли чистый способ сделать это?

Ответы [ 4 ]

8 голосов
/ 25 февраля 2010

Используйте среду adjustwidth из пакета changepage (или устаревшего chngpage). Документация для пакета changepage находится в самом файле changepage.sty.

Среду adjustwidth можно использовать для временной регулировки ширины блока текста. Обратите внимание, что из-за того, что LaTeX разбивает ваш текст на страницы, вам следует избегать использования среды adjustwidth для текстовых блогов, которые будут разделяться на одну страницу, если левые и правые поля различаются на нечетных и четных страницах.

Допустим, ваш документ имеет внутреннее поле в 1 дюйм и внешнее поле в 2 дюйма. Если вы хотите, чтобы заголовок центрировался на странице физически (т. Е. Имел эффективный полдюйма для внутреннего и внешнего полей), вы можете использовать следующий код:

\usepackage{changepage}% or chngpage -- note that the syntax differs slightly between the two packages

\begin{adjustwidth*}{}{-1in}% leave left margin alone, decrease right margin by 1in
%\begin{adjustwidth}[]{}{-1in}% same as above, but this syntax is for the chngpage package
  \begin{center}
    My Title\par
    Author Name\par
    Whatever you want on your title page
  \end{center}
\end{adjustwidth*}

Среда adjustwidth принимает два параметра: настройки для левого и правого полей соответственно. Если вы оставите один из параметров пустым, это поле не будет изменено.

Если вы используете пакет changepage, среда adjustwidth* будет действовать правильно в зависимости от того, находитесь ли вы на нечетной или четной странице. Пакет chngpage не имеет помеченной среды, поэтому вы должны указать пустой необязательный аргумент [], чтобы получить тот же эффект.

Дополнительную информацию о пакете changepage можно найти на странице CTAN .

1 голос
/ 25 февраля 2010

Есть ли проблема с

\documentclass[oneside]{book}

Или ваша проблема в том, что ваша хочет двустороннюю печать, но поля необходимо отрегулировать?

1 голос
/ 25 февраля 2010

Вы пытаетесь центрировать заголовок вертикально или горизонтально? Если вертикально, то вы можете добавить в преамбулу следующее, чтобы переопределить команду maketitle, чтобы заголовок был единственным, что показывалось, и располагался вертикально в центре:

\makeatletter
\renewcommand{\maketitle}{
  \begin{titlepage}%
  \let\footnotesize\small
  \let\footnoterule\relax
  \let \footnote \thanks
  \null\vfill
  \begin{center}%
    {\LARGE \@title \par}%
  \end{center}\par
  \vfill\null
  \end{titlepage}%
  \setcounter{footnote}{0}%
  \global\let\thanks\relax
  \global\let\maketitle\relax
  \global\let\@thanks\@empty
  \global\let\@author\@empty
  \global\let\@date\@empty
  \global\let\@title\@empty
  \global\let\title\relax
  \global\let\author\relax
  \global\let\date\relax
  \global\let\and\relax
}
\makeatother

Если вы пытаетесь отцентрировать по горизонтали и не возражаете потерять чередующиеся нечетные / четные поля, вы можете добавить одностороннюю опцию в класс книги: \documentclass[oneside]{book}. Я уверен, что есть способ изменить поля только для титульного листа, но это вне моего понимания.

1 голос
/ 25 февраля 2010

Использовать пакет геометрии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...