答案1
如果您可以使用套件scrlayer-scrpage
,fancyhdr
您可以定義新圖層並將它們新增至預先定義的頁面樣式scrheadings
和plain
.
\documentclass[
% twoside
]{article}
\usepackage{xcolor}
\usepackage{scrlayer-scrpage}
\clearpairofpagestyles
\DeclareNewLayer[
foreground,
oddpage,
align=br,
hoffset=\paperwidth,
voffset=\paperheight,
width=7em,
height=2\baselineskip,
contents={{%
\setlength{\fboxsep}{0pt}%
\colorbox{red!50!black}{\parbox[c][\layerheight][c]{\layerwidth}{\centering\pagemark}}%
}}
]{pagenumberouterbottom.odd}
\DeclareNewLayer[
clone=pagenumberouterbottom.odd,
evenpage,
align=bl,
hoffset=0pt
]{pagenumberouterbottom.even}
\addtokomafont{pagenumber}{\color{white}\bfseries}
\AddLayersToPageStyle{scrheadings}{pagenumberouterbottom.odd,pagenumberouterbottom.even}
\AddLayersToPageStyle{plain}{pagenumberouterbottom.odd,pagenumberouterbottom.even}
\usepackage{blindtext}% only for dummy text
\begin{document}
\blinddocument
\end{document}
請注意,程式碼中還有偶數頁的層。因此,如果文件是雙面的,頁碼將位於外邊距上。
和twoside
:
答案2
我發現這通過谷歌並玩了一下。要移動邊距(例如降低頁腳),您可以使用幾何套件。
\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\lefoot{
\hspace{-5em}\pagemark\headmark
}
\rofoot{
\headmark\pagemark\hspace{-5em}
}
\usepackage{lipsum}
\begin{document}
\pagestyle{scrheadings}
\lipsum[1-3]
\newpage
\lipsum[1-3]
\end{document}