
我的理解是該\mainmatter
命令包含\cleardoublepage
.我希望第一章從「簡介 2」結束後的下一頁開始,中間沒有空白頁,目前有兩頁空白頁,至少其中一頁是由於\mainmatter
.
另一個空白頁似乎是由於
\makeatletter
\@openrightfalse
\makeatother
,我使用它,以便“Intro 2”緊跟在“Intro 1”之後,沒有空白頁。但將其重置回正常狀態
\makeatletter
\@openrighttrue
\makeatother
對我的問題沒有幫助。
命令\let\cleardoublepage=\clearpage
也沒有幫助我。不清除任何頁面的備用命令在這裡可能會有所幫助。
以下 MWE 在介紹 2 和第一章之間產生了兩個空白頁。我希望空白頁為零。
微量元素:
%XeLaTeX
\documentclass[11pt]{scrbook}
\usepackage[
inner=0.5in,
outer=0.5in,
twoside,
showframe
]{geometry}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum}
\begin{document}
\frontmatter
\tableofcontents
\addchap{intro 1}
\lipsum[1]
%make chapter open on left-side (or any side)
%reset it before the next chapter
\makeatletter
\@openrightfalse
\makeatother
\addchap{intro 2}
\lipsum[2-14]
%reset to opening chapter on right-side
%\makeatletter
%\@openrighttrue
%\makeatother
%\let\cleardoublepage=\clearpage
\KOMAoptions{open=left}%I need all chapters from now on to start on left page
\mainmatter
\chapter{First Chapter}
\end{document}
答案1
\mainmatter
in class的原始定義scrbook
是
\newcommand*\mainmatter{%
\if@twoside\cleardoubleoddpage\else\clearpage\fi
\@mainmattertrue\pagenumbering{arabic}%
}
\pagenumbering{arabic}
將頁計數器重設為 1。因此\cleardoubleoddpage
用來確保奇數頁號為1的頁是正確的頁。因此不可能從左頁的第 1 頁開始正文。
因此,如果您想\mainmatter
在雙面文件中使用章節從左頁開始的內容,則在主要內容的第一章之前至少有一個空白頁(奇數1的右頁)。
您可以重新定義\mainmatter
以使用\clearpage
而不更改頁碼系統:
\makeatletter
\renewcommand*\mainmatter{%
\clearpage
\@mainmattertrue
}
\makeatother
如果文件中應該有阿拉伯文頁碼,那麼您也可以使用\frontmatter\pagenumbering{arabic}
或重新定義\frontmatter
:
\renewcommand*{\frontmatter}{%
\if@twoside\cleardoubleoddpage\else\clearpage\fi
\@mainmatterfalse
}
但你真的需要\frontmatter
and\mainmatter
嗎?
例子:
\documentclass[11pt]{scrbook}
\usepackage[
inner=0.5in,
outer=0.5in,
twoside,
showframe
]{geometry}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum}
%\makeatletter
%\renewcommand*{\frontmatter}{%
%\if@twoside\cleardoubleoddpage\else\clearpage\fi
%\@mainmatterfalse
%}
%\renewcommand*\mainmatter{%
%\clearpage
%\@mainmattertrue
%}
%\makeatother
\begin{document}
%\frontmatter
\tableofcontents
\addchap{intro 1}
\lipsum[1]
\KOMAoptions{open=any}% make chapter open on any side
\addchap{intro 2}
\lipsum[2-14]
%\KOMAoptions{open=right}% reset to opening chapter on right-side
\KOMAoptions{open=left}%I need all chapters from now on to start on left page
%\mainmatter
\chapter{First Chapter}
\end{document}
您也可以重新定義\mainmatter
從偶數頁開始。然後你必須將主要內容中第一頁的頁碼更改為偶數,例如0或2。所以我不推薦下面的程式碼片段
\makeatletter
\renewcommand*\mainmatter{%
\cleardoubleevenpage
\@mainmattertrue\pagenumbering{arabic}%
\setcounter{page}{0}% or another even page number
}
\makeatother