![Centrar el pie de página en relación con el artículo en las memorias](https://rvso.com/image/305762/Centrar%20el%20pie%20de%20p%C3%A1gina%20en%20relaci%C3%B3n%20con%20el%20art%C3%ADculo%20en%20las%20memorias.png)
Me gustaría centrar el pie de página de un estilo de página no en relación con los márgenes de la página, sino en relación con el ancho del papel físico. Creé un estilo de página específicamente para la página de título. Pensé que la \makerunningwidth
línea calcularía correctamente el centro de la página, pero, como puede ver claramente, el número de página no está alineado con el resto del texto (que está absolutamente alineado con respecto al centro del papel).
El documento se genera con
\documentclass{memoir}
\copypagestyle{INRSDocExamTitle}{plain}
\makerunningwidth{INRSDocExamTitle}{\paperwidth}
\makeoddfoot{INRSDocExamTitle}{}{\thepage}{}
\makeevenfoot{INRSDocExamTitle}{}{\thepage}{}
\begin{document}
\thispagestyle{INRSDocExamTitle}
\newlength{\centeradjust}
\calccentering{\centeradjust} % Calculate center length and stores in centeradjust
\begin{adjustwidth*}{\centeradjust}{-\centeradjust} % Adjust center
\begin{adjustwidth}{-1cm}{-1cm}
\begin{center}
\begin{OnehalfSpace}
\vspace*{3\baselineskip}
{\Large Centered text using adjustwidth (as per the \texttt{memoir} manual)}
\vfill
{\large This foooter is not centered with respect to the page,\\
but with respect to the type block. \\
$\downarrow$
}
\vspace*{3\baselineskip}
\end{OnehalfSpace}
\end{center}
\end{adjustwidth}
\end{adjustwidth*}
\end{document}
¿Hay alguna manera de centrar el pie de página con respecto a la página, no con los márgenes?
Respuesta1
La idea es compensar el número de página para compensar los márgenes desiguales.
\documentclass{memoir}
\copypagestyle{INRSDocExamTitle}{plain}
\makeoddfoot{INRSDocExamTitle}{}{\thepage\offset}{}
\makeevenfoot{INRSDocExamTitle{}{\thepage\offset}{}
\newcommand{\offset}% center page number in text area
{\ifodd\value{page}\hspace{\dimexpr 2in+2\oddsidemargin+\textwidth-\paperwidth}%
\else\hspace{\dimexpr 2in+2\evensidemargin+\textwidth-\paperwidth}%
\fi}
\usepackage{tikzpagenodes}% used only to show center of page
\begin{document}
\pagestyle{INRSDocExamTitle}
\begin{tikzpicture}[remember picture,overlay]
\draw[red] (current page.north) -- (current page.south);
\end{tikzpicture}
odd page
\newpage
\begin{tikzpicture}[remember picture,overlay]
\draw[red] (current page.north) -- (current page.south);
\end{tikzpicture}
even page
\end{document}
Respuesta2
En mi opinión, lo más fácil es codificar manualmente este estilo de página en particular:
\makeatletter
\@namedef{ps@INRSDocExamTitle}{%
\@namedef{@oddfoot}{%
\hspace{-\spinemargin}%
\parbox[b]{\paperwidth}{%
\strut\hfill \thepage \hfill\strut%
}%
}%
}
\makeatother
Sólo para mostrar el efecto.
\documentclass[a4paper]{memoir}
\setlrmarginsandblock{1cm}{4cm}{*}
\checkandfixthelayout
\makeatletter
\@namedef{ps@INRSDocExamTitle}{%
\@namedef{@oddfoot}{%
\hspace{-\spinemargin}%
\parbox[b]{\paperwidth}{%
\strut\hfill \thepage \hfill\strut%
}%
}%
}
\makeatother
\begin{document}
\thispagestyle{INRSDocExamTitle}
\newlength{\centeradjust}
\calccentering{\centeradjust} % Calculate center length and stores in centeradjust
\begin{adjustwidth*}{\centeradjust}{-\centeradjust} % Adjust center
\begin{adjustwidth}{-1cm}{-1cm}
\begin{center}
\begin{OnehalfSpace}
\vspace*{3\baselineskip}
{\Large Centered text using adjustwidth (as per the \texttt{memoir} manual)}
\vfill
This foooter is not centered with respect to the page,\\
but with respect to the type block.
$\downarrow$
\noindent
test\hfill\smash{%
\rule[-3.7cm]{0.4pt}{4cm}%
}\hfill test%
\vspace*{3\baselineskip}
\end{OnehalfSpace}
\end{center}
\end{adjustwidth}
\end{adjustwidth*}
\end{document}