Respuesta1
Si puede usar el paquete scrlayer-scrpage
en su lugar, fancyhdr
puede definir nuevas capas y agregarlas a los estilos de página predefinidos scrheadings
y 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}
Tenga en cuenta que en el código también hay una capa para páginas pares. Entonces, si el documento tiene dos caras, el número de página estará en el margen exterior.
Con twoside
:
Respuesta2
encontréesteA través de Google y jugué un poco. Para desplazar los márgenes como tales (por ejemplo, pie de página hacia abajo), puede utilizar el paquete de geometría.
\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}