
Meu entendimento é que o \mainmatter
comando contém \cleardoublepage
. Quero que o primeiro capítulo comece na próxima página após o final da "Introdução 2", sem páginas em branco entre eles. Atualmente, existem duas páginas em branco, pelo menos uma das quais é devido a \mainmatter
.
A outra página em branco parece ser devido a
\makeatletter
\@openrightfalse
\makeatother
, que uso para que "Intro 2" siga imediatamente "Intro 1" sem nenhuma página em branco. Mas redefinir isso de volta ao normal com
\makeatletter
\@openrighttrue
\makeatother
não ajuda no meu problema.
O comando de \let\cleardoublepage=\clearpage
também não me ajudou. Um comando alternativo que não limpa nenhuma página pode ser útil aqui.
O MWE a seguir produz duas páginas em branco entre a Introdução 2 e o Primeiro Capítulo. Quero que haja zero páginas em branco.
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}
Responder1
A definição original de \mainmatter
em classe scrbook
é
\newcommand*\mainmatter{%
\if@twoside\cleardoubleoddpage\else\clearpage\fi
\@mainmattertrue\pagenumbering{arabic}%
}
\pagenumbering{arabic}
redefine o contador de páginas para 1. Este é um número ímpar e os números de páginas ímpares devem estar nas páginas certas. Portanto, \cleardoubleoddpage
é usado para garantir que a página com o número ímpar 1 seja uma página correta. Portanto, não é possível iniciar o assunto principal com a página número 1 na página esquerda.
Portanto, se você quiser usar \mainmatter
um documento frente e verso com capítulos começando nas páginas da esquerda, haverá pelo menos uma página em branco (a página da direita com número ímpar 1) antes do primeiro capítulo do assunto principal.
Você poderia redefinir \mainmatter
para usar \clearpage
e não alterar o sistema de numeração de páginas:
\makeatletter
\renewcommand*\mainmatter{%
\clearpage
\@mainmattertrue
}
\makeatother
Se houver números de páginas em árabe no documento, você também poderá usar \frontmatter\pagenumbering{arabic}
ou redefinir \frontmatter
:
\renewcommand*{\frontmatter}{%
\if@twoside\cleardoubleoddpage\else\clearpage\fi
\@mainmatterfalse
}
Mas você realmente precisa \frontmatter
e \mainmatter
?
Exemplo:
\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}
Você também pode redefinir \mainmatter
para começar em uma página par. Então você deve alterar o número da primeira página no assunto principal para um número par, por exemplo, 0 ou 2. Mas então há uma página com o número 0 ou falta a página 1 ... Feio. Portanto, não recomendo o seguinte trecho de código
\makeatletter
\renewcommand*\mainmatter{%
\cleardoubleevenpage
\@mainmattertrue\pagenumbering{arabic}%
\setcounter{page}{0}% or another even page number
}
\makeatother