![如何在每页底部显示页码?](https://linux22.com/image/469106/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%AF%8F%E9%A1%B5%E5%BA%95%E9%83%A8%E6%98%BE%E7%A4%BA%E9%A1%B5%E7%A0%81%EF%BC%9F.png)
我尝试使用下面显示的代码在每页底部添加页码。但我发现页码出现在页眉中,带有Outline of Proposed Research
,而不是出现在每页底部。如何编辑它?
\documentclass[12pt]{article}
\usepackage[margin=0.75in]{geometry}
\usepackage{mathptmx}
\pagestyle{headings}
\markboth{}{ Outline of Proposed Research}
\setcounter{secnumdepth}{0}
\pagenumbering{arabic}
\setlength{\parindent}{0pt}
\linespread{1.0}
\begin{document}
...
\end{document}
答案1
正如@cfr在评论中所建议的那样,你应该看看花式高清包及其用户宏。
下面的代码
\documentclass[12pt]{article}
\usepackage[margin=0.75in]{geometry}
\usepackage{mathptmx}
\usepackage{fancyhdr}
% First, define desired elements of the 'fancy' page style:
\fancyhead[R]{Outline of Proposed Research} % top-right
\renewcommand{\headrule}{} % no header rule
\fancyfoot[C]{\thepage} % bottom-center
\pagestyle{fancy} % Second, switch to this 'fancy' page style
\usepackage{lipsum} % filler text
\begin{document}
\lipsum[1-14] % 2 pages of filler text
\end{document}
输出结果如下所示。请注意,我在右上角突出显示了页眉(“拟议研究大纲”),并在底部中央突出显示了页码。您显然可以自由调整这些文档元素的位置以满足您的需要。
答案2
有用于配置页眉和页脚的几个包. Mico 已经展示了使用的示例fancyhdr
.这里有一个scrlayer-scrpage
:
\documentclass[12pt]{article}
\usepackage[margin=0.75in]{geometry}
\usepackage{mathptmx}
\usepackage[manualmark,pagestyleset=KOMA-Script]{scrlayer-scrpage}
\markright{Outline of Proposed Research}% set the \rightmark to "Outline of Proposed Research"
\setcounter{secnumdepth}{0}
%\pagenumbering{arabic}% default and therefore not needed
%\setlength{\parindent}{0pt}% not recommended → https://sourceforge.net/p/koma-script/wiki-en/HowTo_NoParIndent/ …
\usepackage{parskip}% … is the better solution to not indent the first line of a paragraph
%\linespread{1.0}% default and therefore not needed
\usepackage{mwe}
\begin{document}
\blinddocument
\end{document}
注意:\markright
不设置页眉的右侧标记,而是设置标准 LaTeX 标记的右侧部分(例如,使用页面样式myheadings
或headings
标准类),该标记原本应该用于右侧(奇数)页面。在单面文档中,此标记默认用于奇数页和偶数页。有关 和 的更多信息,请参阅 LaTeX 介绍或 KOMA-Script 手册\markright
。\markboth
有关 的信息,请参阅 KOMA-Script 手册\markdouble
,它可在此处代替\markright
和 ,这对于双面文档很有用(例如,如果使用类选项twoside
)。
在你的情况下只有两行
\usepackage[manualmark,pagestyleset=KOMA-Script]{scrlayer-scrpage}
\markright{Outline of Proposed Research}
是必要的,因为看起来,预定义的页面样式集KOMA-Script
已经显示了所需的结果,即在页眉中间有一个页头标记,在页脚中间有一个分页符。在其他情况下,可能需要更多配置。
使用titleps
也有可能:
\documentclass[12pt]{article}
\usepackage[margin=0.75in]{geometry}
\usepackage{mathptmx}
\usepackage{titleps}
\newpagestyle{outline}{
\sethead{}{Outline of Proposed Research}{}% header {left}{center}{right}
\setfoot{}{\thepage}{}% footer {left}{center}{right}
}
\pagestyle{outline}
\setcounter{secnumdepth}{0}
%\pagenumbering{arabic}% default and therefore not needed
%\setlength{\parindent}{0pt}% not recommended → https://sourceforge.net/p/koma-script/wiki-en/HowTo_NoParIndent/ …
\usepackage{parskip}% … is the better solution to not indent the first line of a paragraph
%\linespread{1.0}% default and therefore not needed
\usepackage{mwe}
\begin{document}
\blinddocument
\end{document}
结果和上面显示的一样。
答案3
记录中还有另一个解决方案:也可以使用内核宏来设置页眉和页脚的样式。我创建了一个新的页面样式hermisheading
,它像往常一样加载\pagestyle{hermisheading}
并产生所需的输出。
显示的代码非常简单,并覆盖了许多其他宏(\sectionmark
,\@mkboth
)以强制在每个页面上声明标题。因此,我不推荐使用它,它的只是一个例子。@cabohah 和 @Mico 提出的方案提供了更加复杂和易于理解的解决方案。
但是也许内核代码提供了更好的洞察力并支持理解这些东西在后台是如何工作的(它们更加复杂:pagestyle 的代码行headings
数几乎是它的四倍)。
\documentclass[12pt]{article}
\usepackage[margin=0.75in]{geometry}
\makeatletter
\if@twoside
\def\ps@hermisheading{%
\def\@evenhead{\hfil\slshape\leftmark\hfil}%
\def\@oddhead{\hfil\slshape\rightmark\hfil}%
\def\@evenfoot{\hfil\thepage\hfil}%
\def\@oddfoot{\hfil\thepage\hfil}%
}
\else
\def\ps@hermisheading{%
\def\@oddhead{\hfil\slshape\rightmark\hfil}%
\def\@oddfoot{\hfil\thepage\hfil}%
}
\fi
\makeatother
\pagestyle{hermisheading}
\markboth{Outline of Proposed Research}{Outline of Proposed Research} % just in case you want to use it with a twosided document
\setcounter{secnumdepth}{0}
\setlength{\parindent}{0pt}
\linespread{1.0}
\usepackage{blindtext}
\begin{document}
\tableofcontents
\blinddocument
\end{document}