我刚刚接触 LaTeX,所以如果这个问题比较愚蠢,我深感抱歉。
我正在研究一个tufte-book
在几个方面做了细微修改的课程。有一件事我还没想明白该怎么做,那就是我希望每章的第一页都是全宽的,而不是留有很大的边距注释空间。
该tufte
fullwidth
环境要求我手动选择该页面上的文本,并且该环境还会对表格等产生粗略的影响。
我认为最好的方法可能是使用fancyhdr
包,因为每章的第一页都有与其他章节不同的样式。但这似乎超出了fancyhdr
的能力。
我该如何做呢?
谢谢。
答案1
以下是部分解决方案。请注意,第一页底部的段落在流到第二页时不会重新换行。这是因为 TeX 直到排版整个段落后才确定在哪里插入分页符。有几种可能的选项可以解决此问题:
- 您可以通过插入来手动触发分页符
\clearpage
。 - 您可以尝试使用
\parshape
,但这很麻烦。在我完成文本编辑之前,我不会尝试这个。 - 您可以尝试使用类似的包
mdframed
它测量页面上剩余的空间量,排版适合的段落部分,然后在下一页排版段落的剩余部分。\afterpage
但这可能会干扰宏。
以下是一个示例文档:
\documentclass{tufte-book}
% Redefine the \chapter macro to use different
% page margins for the first page.
\usepackage{afterpage}
\makeatletter
\renewcommand{\chapter}{%
\if@openright\cleardoublepage\else\clearpage\fi
% Remove the margin notes area
\newgeometry{%
width={\textwidth+\marginparsep+\marginparwidth},
marginparsep=0pt,
marginparwidth=0pt,
}%
\thispagestyle{plain}%
\global\@topnum\z@
\@afterindentfalse
% Restore the margin notes area
\afterpage{\aftergroup\restoregeometry}%
\secdef\@chapter\@schapter}
\makeatother
\usepackage{lipsum}% dummy text
\geometry{showframe}% visualize the margins
\begin{document}
\chapter{First chapter}
% Note how the paragraph at the bottom of the
% first page doesn't rewrap when it flows to
% the second page.
\lipsum[1-8]
\chapter{Second chapter}
% To work around that problem, we can manually
% insert a page break. Hackish, but it works.
\lipsum[1-4]
\clearpage
\lipsum[5-8]
\end{document}