LaTeX: удалите пустую страницу после \part или\chapter
Как удалить пустую страницу, которая автоматически добавляется после \part {} или \chapter {} в классе документа книги?
Мне нужно добавить короткий текст, описывающий \part. Добавление некоторого текста после того, как команда детали приведет к по крайней мере 3 страницам с пустой страницей между заголовком детали и текстом:
- Часть xx
- (пусто)
- некоторый текст
Как избавиться от этой пустой страницы?
P.S. Латекс: как удалить пустые страницы, находящиеся между двумя главами В приложении?, похоже, но он изменяет поведение для остальной части текста, в то время как мне нужно удалить пустую страницу для только эта команда\part.
Ответы
Ответ 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 в качестве аргумента и он решил.