将 1 位、2 位和 3 位页码居中放置在同一位置

将 1 位、2 位和 3 位页码居中放置在同一位置

我目前使用以下方式编写页码fancyhdr

\fancyfoot[RO]{\setlength{\unitlength}{1cm}%
              \begin{picture}(0,0)
                \put(1.6cm,-1cm){\Large{\thepage}}
                \end{picture}}%
\fancyfoot[LE]{\setlength{\unitlength}{1cm}%
              \begin{picture}(0,0)
                \put(-1.6cm,-1cm){\Large{\thepage}}
                \end{picture}}%

目前,页码的中心会根据页码是 1 位、2 位还是 3 位而变化。我怎样才能让它每次都具有相同的中心?

答案1

使用零宽度框;我使用了不对称放置,通过对定位参数采取行动来决定您喜欢什么\makebox

\documentclass[a4paper]{book}
\usepackage{fancyhdr}

\usepackage{kantlipsum}

\fancyhf{}
\fancyfoot[RO]{%
  \begin{picture}(0,0)
    \put(1.6cm,-1cm){\makebox[0pt][r]{\Large\thepage}}
  \end{picture}}%
\fancyfoot[LE]{%
  \begin{picture}(0,0)
    \put(-1.6cm,-1cm){\makebox[0pt][l]{\Large\thepage}}
  \end{picture}}%
\pagestyle{fancy}

\begin{document}

\setcounter{page}{7}

\kant[1-20]

\end{document}

在此处输入图片描述

由于您在 中使用了明确的长度\put,因此无需设置\unitlength。此外,\Large不带参数。

相关内容