
내 이해는 \mainmatter
명령에 \cleardoublepage
. "Intro 2"가 끝난 후 바로 다음 페이지에서 첫 번째 장이 시작되도록 하고 싶습니다. 사이에 빈 페이지가 없습니다. 현재 두 개의 빈 페이지가 있으며 그 중 적어도 하나는 \mainmatter
.
다른 빈 페이지는 다음으로 인해 발생한 것 같습니다.
\makeatletter
\@openrightfalse
\makeatother
, 빈 페이지 없이 "소개 2"가 "소개 1" 바로 뒤에 오도록 사용합니다. 하지만 이것을 다시 정상으로 재설정하면
\makeatletter
\@openrighttrue
\makeatother
내 문제에 도움이되지 않습니다.
명령 \let\cleardoublepage=\clearpage
도 나에게 도움이되지 않았습니다. 여기서는 페이지를 지우지 않는 대체 명령이 도움이 될 수 있습니다.
다음 MWE는 소개 2와 첫 번째 장 사이에 두 개의 빈 페이지를 생성합니다. 빈 페이지가 하나도 없기를 바랍니다.
MWE:
%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
합니까 \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)로 변경해야 합니다. 그런데 페이지 번호가 0이거나 1페이지가 누락되어 있습니다... 보기 흉합니다. 따라서 다음 코드 조각은 권장하지 않습니다.
\makeatletter
\renewcommand*\mainmatter{%
\cleardoubleevenpage
\@mainmattertrue\pagenumbering{arabic}%
\setcounter{page}{0}% or another even page number
}
\makeatother