Подтвердить что ты не робот

LaTeX: удалите пустую страницу после \part или\chapter

Как удалить пустую страницу, которая автоматически добавляется после \part {} или \chapter {} в классе документа книги?

Мне нужно добавить короткий текст, описывающий \part. Добавление некоторого текста после того, как команда детали приведет к по крайней мере 3 страницам с пустой страницей между заголовком детали и текстом:

  • Часть xx
  • (пусто)
  • некоторый текст

Как избавиться от этой пустой страницы?

P.S. Латекс: как удалить пустые страницы, находящиеся между двумя главами В приложении?, похоже, но он изменяет поведение для остальной части текста, в то время как мне нужно удалить пустую страницу для только эта команда\part.

4b9b3361

Ответ 1

Решение, которое работает:

Оберните часть документа, которая нуждается в этом измененном поведении, с приведенным ниже кодом. В моем случае часть для обертывания - это \part {}, а затем текст, следующий за ней.

\makeatletter\@openrightfalse
\part{Whatever}

Some text

\chapter{Foo}
\@openrighttrue\makeatother 

В завернутой части также должна содержаться глава, в начале которой это поведение необходимо остановить. В противном случае LaTeX может генерировать пустую страницу перед этой главой.

Источник: люди в IRC-канале #latex на irc.freenode.net

Ответ 2

Я думаю, вы можете просто добавить один вариант класса книги?

то есть.

\documentclass[oneside]{book}

Хотя я не тестировал его:)

Ответ 3

Он оставляет пустые страницы, так что новая часть или глава начинаются с правой стороны. Вы можете исправить это с помощью опции "openany" для класса документа.;)

Ответ 4

Вы не говорите, какой класс вы используете, но я предполагаю, что это стандартный book. В этом случае очистка страницы является признаком класса, который вы можете переопределить как Mica предлагает или решить, переключившись на другой класс. Стандартный класс report похож на book, или класс memoir является улучшенным book и очень гибким.

Ответ 5

Хотя я думаю, что вам больше не нужен ответ, я даю решение тем, кто придет посмотреть этот пост.

Производится из book.cls

\def\@endpart{\vfil\newpage
              \[email protected]
                \null
                \thispagestyle{empty}%
                \newpage
              \fi
              \[email protected]
                \twocolumn
              \fi}

В первой строке этого фрагмента "\newpage" добавляется лишняя пустая страница после заголовка части. Поэтому вы должны переопределить команду \@endpart. Добавьте следующий фрагмент к началу вашего tex файла.

\makeatletter
\renewcommand\@endpart{\vfil
              \[email protected]twoside
                \null
                \thispagestyle{empty}%
                \newpage
              \fi
              \[email protected]
                \twocolumn
              \fi}
\makeatother

Ответ 6

Я считаю, что в классе книги все \part и\chapter будут запущены на прямой странице.

из book.cls:

\newcommand\part{%
  \[email protected]
    \cleardoublepage
  \else
    \clearpage
  \fi
  \thispagestyle{plain}%
  \[email protected]
    \onecolumn
    \@tempswatrue
  \else
    \@tempswafalse
  \fi
  \null\vfil
  \secdef\@part\@spart}

вы должны иметь возможность обновить эту команду и что-то подобное для\chapter.

Ответ 7

Я знаю это немного позже, но я просто наткнулся на этот пост и хотел упомянуть, что я действительно не вижу, как все хотят сделать это сложным образом... Проблема здесь в том, что класс книги принимает двоякое значение по умолчанию, поэтому, как сказал gromgull, просто передайте oneide в качестве аргумента и он решил.