優雅的書本模板雙面

優雅的書本模板雙面

我想用優雅的書模板編寫雙面文字。看來模板有bug。當我選擇 the 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 行 ff. in elegantbook.cls);

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

我不能真正說出文檔類的作者打算在這裡做什麼,但是當選項處於活動狀態時,這將在每個頁面上列印單字“beforechap” twoside

一個微創修復程序是將其放在文件的序言中,這樣就刪除了煩人的單字:

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

請注意,存在更新版本在 GitHub 上其中這個錯誤顯然已經被修復。不過,我不確定這個文檔類的維護狀態,所以我寧願建議不要使用它。

相關內容