Шаблон Elegantbook двусторонний

Шаблон Elegantbook двусторонний

Я хочу написать двусторонний текст с помощью шаблона elegantbook. Кажется, в шаблоне есть ошибка. Когда я выбираю опцию twoside, elegantbook пишет словопреждеглавана каждой пустой странице.

Как я могу это исправить?

Вот минимальный пример кода:

\documentclass[12pt,twoside]{elegantbook}

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

\end{document}

решение1

Я думаю, что elegantbookкласс документа, который был распространен с MiKTeX, глючит. На CTAN класс отмечен как устаревший, поэтому мне неясно, каков текущий статус или последняя версия этого класса документа.

В любом случае, в последней версии, которая распространяется с MiKTeX (т.е. 2022/04/09 v4.3), мы можем найти следующие строки (строка 1387 и далее в elegantbook.cls);

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

Я не могу точно сказать, что именно намеревался сделать автор класса документа, но при twosideактивации этой опции на каждой странице будет выводиться слово «beforechap».

Минимально инвазивным исправлением было бы поместить это в начало вашего документа и таким образом удалить раздражающее слово:

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

Обратите внимание, что существует более новая версия.на GitHubв котором эта ошибка, по-видимому, была исправлена. Тем не менее, я не уверен в статусе обслуживания этого класса документа, поэтому я бы предпочел не использовать его.

Связанный контент