Modelo Elegantbook frente e verso

Modelo Elegantbook frente e verso

Quero escrever um texto frente e verso com o modelo elegantebook. Parece que há um bug no modelo. Quando escolho a opção de dois lados, o elegantebook escreve a palavraantesem cada página vazia.

Como posso consertar isso?

Aqui está o exemplo de código mínimo:

\documentclass[12pt,twoside]{elegantbook}

\begin{document}
    \maketitle
    \frontmatter
    \tableofcontents
    \mainmatter 
    \chapter{xy}
    \chapter{yz}

\end{document}

Responder1

Acho que a elegantbookclasse de documento que foi distribuída com o MiKTeX tem bugs. No CTAN, a classe está marcada como obsoleta, portanto não está claro para mim qual é o status atual ou a versão mais recente desta classe de documento.

De qualquer forma, na versão mais recente distribuída com o MiKTeX (ou seja, 2022/04/09 v4.3) podemos encontrar as seguintes linhas (linha 1387 e seguintes elegantbook.cls);

\renewcommand*{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}%
\thispagestyle{empty}%
beforechap\newpage%
\if@twocolumn\hbox{}\newpage\fi\fi\fi}

Na verdade, não posso dizer o que o autor da classe do documento pretendia fazer aqui, mas isso imprimirá a palavra "beforechap" em todas as páginas quando a twosideopção estiver ativa.

Um hotfix minimamente invasivo seria colocar isso no pramble do seu documento e assim excluir a palavra irritante:

\makeatletter
  \renewcommand*{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else
  \hbox{}%
  \thispagestyle{empty}%
  \newpage%
  \if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother

Observe que existe uma versão mais recenteno GitHubem que este bug aparentemente foi corrigido. Ainda assim, não tenho certeza sobre o status de manutenção desta classe de documento, então prefiro sugerir não usá-la.

informação relacionada