我正在尝试创建一个 3 列的书籍布局。到目前为止,我发现的唯一获得 3 列的方法是使用 venerable 包multicol
,效果很好。
\chapter{Something Kant Said}
\begin{multicols*}{3}
\kant
\end{multicols}
我想要做的是设置 \chapters 的样式,使其multicols
自动在正确的位置开始和结束。LaTeX 有这样的功能吗?
答案1
以下是一种方法:
\documentclass{book}
\usepackage{etoolbox}
\usepackage{multicol}
\usepackage{kantlipsum}
\newif\iffirst
\makeatletter
\appto{\mainmatter}
{\firsttrue
\preto{\chapter}{\iffirst\firstfalse\else\end{multicols*}\fi}
\preto{\enddocument}{\end{multicols*}}
\apptocmd{\@makechapterhead}{\begin{multicols*}{3}}{}{}
\apptocmd{\@makeschapterhead}{\begin{multicols*}{3}}{}{}
}
\makeatother
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{A chapter}
\kant
\chapter{A chapter}
\kant
\chapter{A chapter}
\kant
\end{document}