2009-08-31 46 views
23

如何刪除在書籍文檔類中的\ part {}或\ chapter {}之後自動添加的空白頁?LaTeX:在 part或 chapter後刪除空白頁

我需要添加一些描述\零件的短文本。添加至少3頁的部分命令結果後,一些文本與部分標題和文本之間的空白頁:

  1. 件XX
  2. (空)
  3. 一些文字

如何擺脫空白頁面?

P.S. Latex: How to remove blank pages coming between two chapters IN Appendix?是相似的,但它改變了文本其餘部分的行爲,而我只需要刪除這個\ part部分命令的空白頁面。

回答

11

一個可行的解決方案:

裹需要與下面提供的代碼,這個修改行爲文檔的一部分。在我的情況下,要包裝的部分是\ part {}和其後的一些文本。

\makeatletter\@openrightfalse 
\part{Whatever} 

Some text 

\chapter{Foo} 
\@openrighttrue\makeatother 

包裝的部分還應包括該行爲需要停止的章節。否則,LaTeX可能會在本章之前生成一個空白頁面。

來源:在#latex IRC頻道irc.freenode.net上

+0

啊......我明白了。這是你文檔中的第一個\ part命令嗎?我在序言中的\ makeletter&\ makeother中嘗試了一些以上的答案,除了第一部分外,它適用於其他所有方面。 – Mica 2009-09-03 19:38:44

+1

不,它是三者的第二部分。第一和第三部分保持原樣,不受影響。 或者你是否說如果我需要修改1st \ part,這個解決方案將無法工作? – CaptSolo 2009-09-03 23:51:59

+1

輝煌,我的「本月答案」:) – Ingo 2011-05-01 11:15:01

1

我相信,在書本類中,所有\ part和\ chapter都設置爲從recto頁面開始。

從book.cls:

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

你應該能夠續訂命令,併爲\章類似的東西。

+1

我試過你的建議,用\ clearpage替換\ if @ openright塊(因爲我知道@openright沒有定義),但它沒有工作 - \ part {}在這個定義變成垃圾之後。 感謝您的建議,這似乎是一個好方法。你能建議如何讓它工作嗎? – CaptSolo 2009-09-02 21:55:25

+0

如果你有\ documentclass [12pt,twoside] {book}之類的東西,請將sideside改爲oneide。那是爲我做的,有人糾正我,如果我錯了,但我相信除了\ cleardoublepage之外,唯一會改變的就是利潤率,這是我發現沒人關心的差異。 – Mica 2009-09-02 23:31:50

+2

這不會回答我關於在本地更改\ part {}的單個實例而不是整個文檔的行爲的問題。不過,我現在已經得到了解決方案。將張貼在下面。 – CaptSolo 2009-09-03 18:25:50

8

你不說你正在使用什麼類,但我猜它是標準book。在這種情況下,頁面清除是他班級的一項功能,您可以將其重寫爲Mica suggests,或通過切換到其他班級來解決。標準report類別與book類似,或者the memoir class是改進book,確實非常靈活。

+0

不確定他是否想要切換文檔類,但我也推薦回憶錄類,我發現使用它很容易控制佈局的大部分方面,文檔非常好,並且非常深入。 – Mica 2009-08-31 20:37:56

+1

我對轉換文檔類非常謹慎,因爲我需要專注於現在編寫而不是探索LaTeX。但如果切換到回憶錄是無縫的,我可能會嘗試去做。 – CaptSolo 2009-09-02 22:51:42

32

我想你可以簡單地加上旁邊選項的書類?

\documentclass[oneside]{book} 

雖然我沒有測試它:)

+1

我需要本地修改,僅適用於\ part {}語句。 – CaptSolo 2009-09-01 15:45:14

+0

這幫了我,非常感謝:) – danr 2012-02-03 16:12:50

+0

和我,謝謝dudeeeee:D – Kemo 2015-01-07 07:13:24

6

鄉親雖然我猜你不需要回答任何更長的時間,我給那些誰還會來看到這個帖子的解決方案。

從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] 
       \null 
       \thispagestyle{empty}% 
       \newpage 
       \fi 
       \[email protected] 
       \twocolumn 
       \fi} 
\makeatother 
+0

這不會影響我的文檔,這裏似乎缺少某些東西。 – Zelphir 2016-02-21 04:56:59

-4

我知道這是一個有點晚了,但我只是遇到了這個崗位,想提一提,我真的沒有看到這樣每個人都希望做一個艱難的道路...... 這裏的問題是隻是這本書課是默認的,所以,正如gromgull所說的那樣,只是把oneide作爲參數來解決。

+4

問題是如何爲特定的部分或章節執行此操作,使文檔的其餘部分與之前相同。 – CaptSolo 2010-06-20 18:18:50

23

它留下空白頁面,以便在右側開始新的部分或章節。您可以使用文檔類的「openany」選項來解決此問題。 ;)

+1

這個問題最簡單的工作,也許是最好的解決方案。謝謝。 – Zelphir 2016-02-21 05:07:06

+0

這對我來說就像'[oneside]'也改變了我的標題和邊距,而這並沒有。 – dantiston 2017-02-20 22:46:11