
我想用優雅的書模板編寫雙面文字。看來模板有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 上其中這個錯誤顯然已經被修復。不過,我不確定這個文檔類的維護狀態,所以我寧願建議不要使用它。