PERO

PERO

Para explicar mi problema déjame comenzar con mi MWE:

\documentclass[a4paper,10pt]{book}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{extramarks}
\makeatletter
 \renewcommand\chapter{\@startsection%                          
  {chapter}{0}{0mm}%
  {2.5\baselineskip}{1.5\baselineskip}%
  {\centering\normalfont\large\scshape
  }%
 }
 \makeatother
 \newcommand{\mychap}[1]{
 \chapter*{#1}
 \markboth{#1}{#1}}
 \renewcommand{\sectionmark}{}
\renewcommand{\chaptermark}{\markboth{\thechapter}}
\pagestyle{fancy}
\fancyhf{}
\fancyhead{}

  \fancyhead[LE]{{\thepage}}
 \fancyhead[RE]{ {\itshape \nouppercase  \firstleftmark}}%higher level \scshape  \MakeUppercase
  \fancyhead[LO]{ {\itshape \nouppercase  \lastrightmark}} 
  \fancyhead[RO]{ {\thepage}}   %odd page
\begin{document}
\mychap{one}
\lipsum
\mychap{two}
aaa
\mychap{five halves}
\mychap{three}
\lipsum
\mychap{fourth}
\lipsum[5]
\mychap{five}
d
\end{document}

Darse cuenta de:

  1. Quiero tratar los capítulos como secciones (sin saltos de página, título simple)
  2. En el encabezado quiero el nombre del capítulo.

Pude obtener estas características

PERO

me gustaria conseguir tambien

  1. En la cabecera delextrañopaginas quiero elúltimocapítulo que aparece en la página (esto parece funcionar usando \lastrightmark)
  2. En la cabecera delinclusopáginas que no quieroprimerocapítulo que comienza en la página pero, elactualcapítulo, es decir, el capítulo que estoy leyendo mientras paso la página.

en mi ejemplo

  1. En la página 2 me gustaría tener "uno" ya que el capítulo dos comienza después del salto de página entre la página 1 y la página 2;
  2. En la página 4 me gustaría tener "cuatro", ya que el capítulo cinco comienza después del salto de página entre la página 3 y la página 4.

¿Cómo puedo conseguir esto?

Respuesta1

Puede lograr estos encabezados configurándolos \extramarksy usándolos de la siguiente manera:

\newcommand{\mychap}[1]{%
\chapter*{#1}%
\markboth{#1}{#1}%
\extramarks{#1}{#1}}

\fancyhead[RE]{\textit{\MakeLowercase{\firstxmark}}}
\fancyhead[LO]{\textit{\MakeLowercase{\lastxmark}}}

Entonces, en un documento como su muestra, obtiene one' in the heading page 2 andcuatro `en el encabezado de la página 4, como lo solicitó.

Página 1

Página 2

Página 3

Página 4

\documentclass[a4paper,10pt]{book}

\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{extramarks}

\makeatletter
\renewcommand\chapter{\@startsection%
{chapter}{0}{0mm}%
{2.5\baselineskip}{1.5\baselineskip}%
{\centering\normalfont\large\scshape
}%
}
\makeatother

\newcommand{\mychap}[1]{%
\chapter*{#1}%
\markboth{#1}{#1}%
\extramarks{#1}{#1}}

\pagestyle{fancy}
\fancyhf{}
\fancyhead{}

\fancyhead[LE]{\thepage}
\fancyhead[RE]{\textit{\MakeLowercase{\firstxmark}}}
\fancyhead[LO]{\textit{\MakeLowercase{\lastxmark}}}
\fancyhead[RO]{\thepage}

\begin{document}

\mychap{One}
\lipsum
\mychap{Two}
Two words.
\mychap{Two and a half}
\mychap{Three}
\lipsum
\mychap{Four}
\lipsum[5]
\mychap{Five}
A sentence of five words.
\end{document}

Tenga en cuenta que ambos\markboth y \extramarksson necesarios para obtener los valores correctos (que pueden depender del "error" en extramarks). También suelo \MakeLowercaseforzar el texto del encabezado a la forma deseada, ya que ahora ya no usamos las marcas estándar.

información relacionada