如何在右上角距顶部 1 厘米和右边缘 1 厘米处添加页码?

如何在右上角距顶部 1 厘米和右边缘 1 厘米处添加页码?

我正在使用书籍类。我的边距必须在顶部、底部、左侧、右侧均为 3 厘米。我现在的代码如下:

\usepackage[a4paper,left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry} %for margins
\usepackage{fancyhdr} %for page number
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{\thepage}

这给了我准确的页边距,并将页码放在右上角,但没有放在指定的正确位置。谢谢你的帮助!

答案1

(1)使用该tikz包,可以使用绝对页面坐标来定位材料,而不管文本使用的几何形状如何。

只需要一行(\node at ...)即可将页码定位在距离页面右上角(名为current page.north east)左上角一定距离的位置。

(严格来说,它将定位包含页码的框的中心)。

A

\documentclass{book}

\usepackage[a4paper,left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry} 

%\newgeometry{a4paper,left=3cm,right=1cm,top=1cm,bottom=3cm, showframe}%USE TEST the numpber position <<<
    
\usepackage{fancyhdr} %for page number
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{\tikz[remember picture,overlay]\node at ([xshift=-1cm, yshift=-1cm] current page.north east){\thepage};}
    
\usepackage{tikz}% ****** added <<<<

\begin{document}
     Some words.        
\end{document}

取消注释

\newgeometry{a4paper,left=3cm,right=1cm,top=1cm,bottom=3cm, showframe}

测试页码的位置是否正确。

b

(2)使用该包也获得了类似的结果eso-pic

\documentclass{book}

\usepackage[a4paper,left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry} 

%\newgeometry{a4paper,left=3cm,right=1cm,top=1cm,bottom=3cm, showframe}%USE TEST the numpber position <<<

\usepackage{fancyhdr} %for page number
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{}

% ************** added <<<<<<<<<<<<<<<<<<<<
\usepackage{eso-pic}    

\AddToShipoutPictureFG{%
    \put(\paperwidth-1cm,\paperheight-1cm)
    {\makebox[0pt][c]{\raisebox{-0.5\height}{\thepage}}}
}
% **************

\begin{document}
     Some words.        
\end{document}

(3)还有最簡單解决方案,无需使用最近的宏附加包\AddToHook{shipout/foreground}

\documentclass{book}

\usepackage[a4paper,left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry} 

%\newgeometry{a4paper,left=3cm,right=1cm,top=1cm,bottom=3cm, showframe}%USE TEST the numpber position <<<

\AddToHook{shipout/foreground}{\put(\paperwidth-1cm,-1cm){% added <<<<<<<<<<<<<<
\makebox[0pt][c]{\raisebox{-0.5\height}{\thepage}}
}}

\usepackage{fancyhdr} %for page number
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{}

     
\begin{document}
Some words.
\end{document}

相关内容