
Tengo entendido que el \mainmatter
comando contiene \cleardoublepage
. Quiero que el primer capítulo comience en la página siguiente al final de la "Introducción 2" sin páginas en blanco entre ellas. Actualmente hay dos páginas en blanco, al menos una de las cuales se debe a \mainmatter
.
La otra página en blanco parece deberse a
\makeatletter
\@openrightfalse
\makeatother
, que uso para que la "Introducción 2" siga inmediatamente a la "Introducción 1" sin ninguna página en blanco. Pero restablecer esto a la normalidad con
\makeatletter
\@openrighttrue
\makeatother
no ayuda a mi problema.
El comando de \let\cleardoublepage=\clearpage
tampoco me ha ayudado. Un comando alternativo que no borre ninguna página podría resultar útil en este caso.
El siguiente MWE produce dos páginas en blanco entre la Introducción 2 y el Primer Capítulo. Quiero que no haya páginas en blanco.
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}
Respuesta1
La definición original de \mainmatter
en clase scrbook
es
\newcommand*\mainmatter{%
\if@twoside\cleardoubleoddpage\else\clearpage\fi
\@mainmattertrue\pagenumbering{arabic}%
}
\pagenumbering{arabic}
restablece el contador de páginas a 1. Este es un número impar y los números de página impares deben estar en las páginas correctas. Por lo tanto, \cleardoubleoddpage
se utiliza para garantizar que la página con el número impar 1 sea la página correcta. Por lo tanto, no es posible comenzar el asunto principal con la página número 1 en la página de la izquierda.
Entonces, si desea utilizar \mainmatter
un documento de dos caras con capítulos que comienzan en las páginas de la izquierda, habrá al menos una página en blanco (la página derecha con el número impar 1) antes del primer capítulo en el tema principal.
Podrías redefinir \mainmatter
para usar \clearpage
y no cambiar el sistema de numeración de páginas:
\makeatletter
\renewcommand*\mainmatter{%
\clearpage
\@mainmattertrue
}
\makeatother
Si el documento debe tener números de página en árabe, también puede utilizarlos \frontmatter\pagenumbering{arabic}
o redefinirlos \frontmatter
:
\renewcommand*{\frontmatter}{%
\if@twoside\cleardoubleoddpage\else\clearpage\fi
\@mainmatterfalse
}
¿Pero realmente necesitas \frontmatter
y \mainmatter
?
Ejemplo:
\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}
También puede redefinir \mainmatter
para comenzar en una página par. Luego debes cambiar el número de página de la primera página en el asunto principal a un número par, por ejemplo 0 o 2. Pero luego hay una página con el número 0 o falta la página 1... Feo. Por eso no recomiendo el siguiente fragmento de código.
\makeatletter
\renewcommand*\mainmatter{%
\cleardoubleevenpage
\@mainmattertrue\pagenumbering{arabic}%
\setcounter{page}{0}% or another even page number
}
\makeatother