由于冲突,我无法使用 fancyhdr。有一个类似的问题,但答案指的是回忆录类(如何在不使用 fancyhdr 的情况下更改所有页面(包括章节页面)的页码位置?)。我正在使用 octavo 类,因此它不适用。就我而言,我不需要在所有页面上都添加页码,只需更改位置,octavo 所做的其余工作都可以。有没有 tex 方式可以做到这一点?
\documentclass[12pt]{octavo}
\usepackage[
paperwidth=160mm, paperheight=240mm,
textheight=18cm,
textwidth=11cm,
inner=2cm]
{geometry}
\usepackage{lipsum}
\begin{document}
\lipsum[1-5]
\end{document}
答案1
您可以定义自己的页面样式。代码大部分是从页面样式的定义plain
(或者\ps@plain
更准确地说)中复制而来source2e
,并进行了少量修改。
\documentclass[12pt]{octavo}
\usepackage[
paperwidth=160mm, paperheight=240mm,
textheight=18cm,
textwidth=11cm,
inner=2cm]
{geometry}
\usepackage{lipsum}
\makeatletter
\newcommand*\ps@mystyle{%
\let\@mkboth\@gobbletwo
\let\@oddhead\@empty
\def\@oddfoot{%
\reset@font
\hfil
\thepage
}
\let\@evenhead\@empty
\def\@evenfoot{%
\reset@font
\thepage
\hfil
}
}
\makeatother
\pagestyle{mystyle}
\begin{document}
\lipsum[1]\marginpar{Hello}
\end{document}
请注意,章节(也可能是其他对象)强制使用普通样式,因此如果您想在章节页面中使用这种样式,您可以重新定义普通样式,而不是定义自己的样式:
\documentclass[12pt]{octavo}
\usepackage[
paperwidth=160mm, paperheight=240mm,
textheight=18cm,
textwidth=11cm,
inner=2cm]
{geometry}
\usepackage{lipsum}
\makeatletter
\renewcommand*\ps@plain{%
\let\@mkboth\@gobbletwo
\let\@oddhead\@empty
\def\@oddfoot{%
\reset@font
\hfil
\thepage
}
\let\@evenhead\@empty
\def\@evenfoot{%
\reset@font
\thepage
\hfil
}
}
\makeatother
\pagestyle{plain}
\begin{document}
\chapter{Chapter}
\lipsum[1]
\end{document}
或者你可以重新定义\chapter
...