LaTex:连字符之间的页码

LaTex:连字符之间的页码

如何使页码显示如下:

- 1 -

我跟着设置页码格式但它只是在页面顶部添加了一个烦人的标题:

\documentclass[12pt,a4paper]{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyfoot[C]{--~\thepage~--}

\title{...}
...

\begin{document}
\maketitle
...

页码样式不正确

答案1

\maketitle调用\pagestyle{plain}。此页面样式可以重新定义,请参阅fancyhdr, "7 重新定义plain风格":

\documentclass[12pt,a4paper]{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{}% clears all header and footer fields
\fancyfoot[C]{--~\thepage~--}
\renewcommand*{\headrulewidth}{0pt}
\renewcommand*{\footrulewidth}{0pt}

\fancypagestyle{plain}{%
  \fancyhf{}% clears all header and footer fields
  \fancyfoot[C]{--~\thepage~--}%
  \renewcommand*{\headrulewidth}{0pt}%
  \renewcommand*{\footrulewidth}{0pt}%
}

\title{My title}  
\author{My author}

\begin{document}
\maketitle
\newpage
\section{Test}
\end{document}

当然,可以避免代码重复,例如:

\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{}% clears all header and footer fields
\fancyfoot[C]{--~\thepage~--}
\renewcommand*{\headrulewidth}{0pt}
\renewcommand*{\footrulewidth}{0pt}

\makeatletter
\let\ps@plain\ps@fancy
\makeatother

或者

\usepackage{fancyhdr}

\fancypagestyle{plain}{%
  \fancyhf{}%
  \fancyfoot[C]{--~\thepage~--}%
  \renewcommand*{\headrulewidth}{0pt}%
  \renewcommand*{\footrulewidth}{0pt}%
}
\pagestyle{plain}

或者无需任何附加包:

\makeatletter
\g@addto@macro\ps@plain{%
  \def\@oddfoot{\reset@font\hfil--~\thepage~--\hfil}%
  \let\@evenfoot\@oddfoot
}
\makeatother
\pagestyle{plain}

相关内容