Как удалить пустые страницы между двумя главами Приложения?


93

Есть ли способ удалить пустые страницы между двумя главами в Приложении?

Ответы:


129

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

Самое простое решение - использовать openanyопцию для вашего класса документа, которая заставляет главы начинать со следующей страницы, независимо от того, четная это или нечетная страница. Это поддерживается в стандартном классе книжных документов, например \documentclass[openany]{book}. ( memoirтакже поддерживает использование этого объявления как объявления, \openanyкоторое можно использовать в середине документа для изменения поведения последующих страниц.)

Другой вариант - попробовать \let\cleardoublepage\clearpageкоманду перед приложениями, чтобы избежать такого поведения.

Или, если вы не заботитесь , используя двухстороннюю планировку, с помощью опции onesideдля ваших documentclass(например \documentclass[oneside]{book}) будет переключиться на использование односторонний раскладки.


4
Ваше определение удалит ВСЕ разрывы страниц. \ let \ cleardoublepage \ clearpage, вероятно, будет более точным.
Дэвид Ханак

1
Какой класс документов вы используете?
Ной

Я пробовал с bookи scrbook, но работает, только если поставить команду в преамбуле.
lumbric

Я поставил \ let \ cleardoublepage \ clearpage после \ appendix, и он отлично работает с книгой как класс документов. Благодарность!
user1736049

2
Мне нужен двухсторонний макет для моей настройки, но мне не нужны все пустые страницы. Подход openany сработал как шарм. Спасибо :)
OptimusCrime

87

это очень просто:

добавь, \documentclass[oneside]{book} и ты в порядке;)


@frederic: Поистине блестящее решение. Большое спасибо !
Сандип Сингх,

11
Обратите внимание, что этот метод делает поля всех страниц одинаковыми. В двухстороннем варианте поля разные для нечетных и четных страниц.
amit

7
Как упоминал Федрус, если вы печатаете тезис, вам обычно нужны разные левые / правые поля, для которых вам нужно использовать двусторонний вариант.
kufudo 03

1
спасибо, в моем случае помогла замена \documentclass[report,12pt]{memoir}на\documentclass[oneside,12pt]{memoir}
Ольга

В дополнение к вопросу упомянутой Федре, onesideопция также вызывает fancyhdrигнорировать настройки для четных страниц приводит к ошибкам , как это: Package Fancyhdr Warning: \fancyfoot's `E' option without twoside option is useless on input line 6791. Таким образом, openanyв этом случае вариант намного лучше, поскольку он влияет только на расположение каждой новой главы, а не на поля и чередующиеся верхние / нижние колонтитулы.
Rafal

23

Я попробовал предложение Ноя, которое на данный момент приводит к лучшему решению.

Просто вставьте \let\cleardoublepage\clearpageперед всеми частями с пустыми страницами, особенно когда вы используете\documentclass[12pt,a4paper]{book}

Совет Фредерика Снайерса \documentclass[oneside]{book}тоже очень хорош и решает проблему, но если мы просто хотим использовать book.cls или article.cls, он будет иметь большое значение для представления ваших частиц.

Следовательно, большая поддержка \let\cleardoublepage\clearpageдля людей, которые зададут тот же вопрос в будущем.


куда мне вставить \ let \ cleardoublepage \ clearpage? например, перед \ include {chapter2} в main.tex?
AshKan

просто поместите в место, где вы хотите удалить пустую страницу, например, пустую страницу в определенной главе, вы можете попытаться поставить после \ begin {document}
Mike22LFC

У меня он отлично работал внутри \ begin {document} и непосредственно перед \ tableofcontents. Спасибо.
OSXMonk

16

Если вы укажете опцию openany в объявлении \ documentclass, каждая глава в книге (я предполагаю, что вы используете класс книги, поскольку главы открываются на следующей странице в отчетах, а статьи не имеют глав) будет открываться новая страница, не обязательно следующая страница с нечетным номером.

Конечно, это не совсем то, что вам нужно. Я думаю, вы хотите установить openany для глав в приложении. боюсь, я не знаю, как это сделать, подозреваю, что нужно засучить рукава и побороться с самим TeX


3

Ставлю \let\cleardoublepage\clearpageперед \makeindex. В противном случае ваша страница содержимого будет отображать номер страницы на основе номера страницы, прежде чем вы очистите пустую страницу.


3

Я обнаружил, что при использовании команды \ include часто вставляются дополнительные пустые страницы. Попробовав предыдущий трюк с командой \ let, я вставил \ let \ include \ input в начало документа, и это избавило от большинства лишних пустых страниц.


3
Большое спасибо за ваш ответ. Ни один из предыдущих методов у меня не помог. Я заменил \ include на \ input, и у меня это сработало!
Сали Ху,

Это сработало и для меня - с использованием слегка измененного класса отчетов Koma Script. Есть идеи, почему \ include это делает? Как отладить конкретную проблему?
САЧИН ГАРГ

-1 Я бы подумал, что имеет смысл просто использовать, \inputесли это то, что вам нужно, а не переопределять \includeего. Я думаю, что tex.stackexchange.com/questions/246/… объясняет, почему это происходит. Это потому, что \includeон предназначен не только для копирования и вставки текста в документ.
andyg0808

2

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

\clearpage

\thispagestyle{plain}

Это позволит вам оставить пустую страницу на последней четной странице главы, но без заголовка.


2

Вы также можете использовать \openany, \openrightи \openleftкоманды:

\documentclass{memoir}
\begin{document}

\openany
\appendix

\openright
\appendixpage
This is the appendix.

\end{document}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.