O capítulo do livro de memórias não é exibido corretamente no TOC

O capítulo do livro de memórias não é exibido corretamente no TOC

Estou tendo um pequeno problema com um estilo de capítulo personalizado na aula de memórias. Quero que os títulos dos capítulos se comportem como partes, ou seja, que tenham o título em uma página separada.

Eu posso fazer assim:

\makechapterstyle{emmanuel}{%
\chapterstyle{ger}
\renewcommand{\afterchaptertitle}{\cleardoublepage}
}

O problema é que, no toc, o número da página exibida para o capítulo é o da próxima página. Presumo que isso se deva ao fato de o capítulo começar logo antes da página (n+2), mas gostaria que começasse no título da página (ou seja, n)

Espero que esteja claro o suficiente.

Responder1

Você pode redefinir o \@chaptercomando interno para incluí-lo \cleardoublepageno local apropriado (se você fizer isso muito cedo, o número de página errado será escolhido para o ToC):

\documentclass{memoir}
\usepackage{hyperref}
\usepackage{lipsum}% just to generate text for the example

\makeatletter
\newcommand\chapterclear{
\gdef\@chapter[##1]##2{%
  \m@mpn@new@chaptrue%
  \m@mpn@new@schapfalse%
  \def\f@rbdy{##2}%
  \ifx\ch@pt@c\@empty % no optional args
    \def\f@rtoc{##2}%
    \def\f@rhdr{##2}%
  \else                  % at least one opt arg
    \let\f@rtoc\ch@pt@c
    \ifx\@empty##1\@empty
      \let\f@rhdr\ch@pt@c
    \else
      \def\f@rhdr{##1}%
    \fi
  \fi
  \m@m@Andfalse
  \ifnum \c@secnumdepth >\m@ne
    \if@mainmatter
      \m@m@Andtrue
    \fi
  \fi
  \ifm@m@And
    \refstepcounter{chapter}%
  \fi
  \ifartopt
    \@makechapterhead{##2}%
    \@afterheading
    \chaptermark{\f@rhdr}%
  \else
    \chaptermark{\f@rhdr}
    \insertchapterspace
    \if@twocolumn
      \@topnewpage[\@makechapterhead{##2}]%
    \else
      \@makechapterhead{##2}%
    \fi
    \@afterheading
  \fi
  \ifm@m@And
    \ifanappendix
      \addcontentsline{toc}{appendix}{%
        \protect\chapternumberline{\thechapter}\f@rtoc}%
      \memappchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{##2}%
    \else
      \addcontentsline{toc}{chapter}{%
        \protect\chapternumberline{\thechapter}\f@rtoc}%
      \memchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{##2}%
    \fi
  \else
    \addcontentsline{toc}{chapter}{\f@rtoc}%
    \ifanappendix
      \memappchapinfo{}{\f@rtoc}{\f@rhdr}{##2}%
    \else
      \memchapinfo{}{\f@rtoc}{\f@rhdr}{##2}%
    \fi
  \fi
  \ifheadnameref\M@gettitle{\f@rhdr}\else\M@gettitle{\f@rtoc}\fi
  \cleardoublepage}%
}
\makeatother

\makechapterstyle{emmanuel}{
  \chapterstyle{ger}
  \chapterclear
}

\begin{document}

\tableofcontents
\chapterstyle{emmanuel}
\chapter{Test}
\lipsum[1-10]
\chapter{Test}
\lipsum[1-10]

\end{document}

informação relacionada