
エレガントブックのテンプレートで両面テキストを書きたいのですが、どうやらテンプレートにバグがあるようです。両面オプションを選択すると、エレガントブックは単語を書きます。前章空白のページごとに。
これをどうすれば修正できますか?
最小限のコード例を次に示します。
\documentclass[12pt,twoside]{elegantbook}
\begin{document}
\maketitle
\frontmatter
\tableofcontents
\mainmatter
\chapter{xy}
\chapter{yz}
\end{document}
答え1
MiKTeX で配布されているドキュメント クラスにはバグがあると思いますelegantbook
。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でこのバグは明らかに修正されています。ただし、このドキュメント クラスのメンテナンス状態については不明なので、使用しないことをお勧めします。