2009-08-31 7 views
23

Wie entferne ich eine leere Seite, die automatisch nach \ part {} oder \ chapter {} in einer Buchdokumentklasse hinzugefügt wird?LaTeX: Leere Seite nach einem part oder chapter entfernen

Ich muss einen kurzen Text hinzufügen, der den \ part beschreibt. Hinzufügen von etwas Text nach dem Teilbefehlsergebnis in mindestens 3 Seiten mit einer leeren Seite zwischen dem Teilkopf und dem Text:

  1. Teil XX
  2. (leer)
  3. etwas Text

Wie man diese leere Seite los wird?

P.S. Latex: How to remove blank pages coming between two chapters IN Appendix? ist ähnlich, aber es ändert das Verhalten für den Rest des Textes, während ich die leere Seite nur für diesen one \ part Befehl entfernen muss.

Antwort

11

Eine Lösung, die funktioniert:

Wickeln Sie den Teil des Dokuments, das dieses modifizierte Verhalten mit dem folgenden Code vorzulegenden . In meinem Fall ist der zu umbrechende Teil ein \ part {} und ein Text, der darauf folgt.

\makeatletter\@openrightfalse 
\part{Whatever} 

Some text 

\chapter{Foo} 
\@openrighttrue\makeatother 

Der umwickelte Teil sollte auch das Kapitel enthalten, an dessen Anfang dieses Verhalten gestoppt werden muss. Andernfalls kann LaTeX vor diesem Kapitel eine leere Seite erzeugen.

Quelle: Leute im #latex IRC-Kanal auf irc.freenode.net

+0

ah ... ich verstehe. War das der erste \ part-Befehl in Ihrem Dokument? Ich habe versucht, eine Variation meiner Antwort oben in \ makeletter & \ makeother in der Präambel verwendet, und es funktioniert für alles außer dem ersten Abschnitt. – Mica

+1

nein, es ist der 2. Teil der drei. sowohl der 1. als auch der 3. Teil bleiben unberührt, wie sie waren. oder sagst du, dass diese Lösung nicht funktionieren würde, wenn ich den 1. Teil ändern müsste? – CaptSolo

+1

Brilliant, meine "Antwort des Monats" :) – Ingo

1

Ich glaube, dass in der Buchklasse all \ part und \ chapter auf einer recto-Seite beginnen sollen.

von book.cls:

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

Sie sollten diesen Befehl erneuern können, und etwas Ähnliches für die \ chapter.

+1

Ich habe deinen Vorschlag versucht, indem ich den \ if @ openright Block durch \ clearpage ersetzt habe (da ich weiß, dass @openright nicht definiert ist), aber es hat nicht funktioniert - \ part {} s nachdem diese Definition in Müll umgewandelt wurde. Danke für den Vorschlag, es scheint ein guter Weg zu gehen. Können Sie vorschlagen, wie es funktioniert? – CaptSolo

+0

Wenn Sie etwas wie \ documentclass [12pt, twoside] {book} haben, ändern Sie zwei Seiten zu einer Seite. das hat es für mich getan, und jemand korrigiert mich, wenn ich falsch liege, aber ich glaube, das einzige, was sich anders als die \ cleardoublepage ändern würde, wären die Ränder, was ein Unterschied ist, den ich gefunden habe, den niemand interessiert. – Mica

+2

Das würde meine Frage nach dem Ändern des Verhaltens lokal, für eine einzelne Instanz von \ part {} und nicht für das gesamte Dokument nicht beantworten. Allerdings habe ich jetzt die Lösung. Wird es unten posten. – CaptSolo

8

Sie sagen nicht, welche Klasse Sie verwenden, aber ich vermute, es ist der Standard book. In diesem Fall ist die Seitenlöschung ein Merkmal der Klasse, die Sie als Mica suggests überschreiben können, oder lösen Sie durch Wechseln zu einer anderen Klasse. Die Standardklasse report ist ähnlich wie book oder the memoir class ist eine verbesserte book und ist in der Tat sehr flexibel.

+0

ich bin mir nicht sicher, ob er Dokumentklassen wechseln möchte, aber ich empfehle auch die Memoirenklasse, ich habe es recht einfach gefunden, die meisten Aspekte des Layouts damit zu steuern, die Dokumentation ist ausgezeichnet und geht * sehr * tief. – Mica

+1

Ich bin vorsichtig beim Wechseln von Dokumentenklassen, da ich mich jetzt auf das Schreiben konzentrieren muss und LaTeX nicht untersuchen muss. Aber wenn der Wechsel zu Memoiren nahtlos ist, könnte ich versuchen, es zu tun. – CaptSolo

32

Ich denke, Sie können einfach die Oneside Option die Buchklasse hinzufügen?

dh

\documentclass[oneside]{book} 

Obwohl ich es nicht testen :)

+1

Ich brauche diese Änderung lokal nur für eine \ part-Anweisung. – CaptSolo

+0

Das hat mir geholfen, vielen Dank :) – danr

+0

Und ich, danke dudeeeee: D – Kemo

6

Obwohl ich Sie erraten, keine Antwort mehr benötigen, bin ich die Lösung für diejenigen geben, die diese Post wird kommen, um zu sehen.

von book.cls

in der ersten Zeile dieses Fragments, das eine redundante leere Seite nach der Teilkopfseite fügt
\def\@endpart{\vfil\newpage 
       \[email protected] 
       \null 
       \thispagestyle{empty}% 
       \newpage 
       \fi 
       \[email protected] 
       \twocolumn 
       \fi} 

Es ist „\ newpage“ abgeleitet. Sie müssen also den Befehl \ @endpart neu definieren.Fügen Sie das folgende Snippet zum Anfang Ihrer tex Datei hinzu.

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

Das hat keinen Einfluss auf mein Dokument, hier scheint etwas zu fehlen. – Zelphir

-4

Ich weiß, es ist ein bisschen spät, aber ich kam gerade über dieses Thema und wollte erwähnen, dass ich wirklich nicht sehe Art und Weise jeder will es in einem schwierigen Weg zu tun ... Das Problem hier ist, nur, dass die Buchklasse zwei Seiten als Standard verwendet, also, wie gromgull sagte, pass einfach als Argument auf und es ist gelöst.

+4

Die Frage war, wie man das für einen bestimmten Teil oder ein Kapitel macht, so dass der Rest des Dokuments zu zweit bleibt wie zuvor. – CaptSolo

23

Es bleiben leere Seiten übrig, so dass ein neuer Teil oder ein neues Kapitel auf der rechten Seite beginnt. Sie können dies mit der Option "openany" für die Dokumentklasse beheben. ;)

+1

Die einfachste und wahrscheinlich beste Lösung für diese Frage. Vielen Dank. – Zelphir

+0

Das funktionierte für mich als '[oneside]' änderte auch meine Überschriften und Ränder, während dies nicht tat. – dantiston