Zentrieren der Fußzeile relativ zum Papier in Memoiren

Zentrieren der Fußzeile relativ zum Papier in Memoiren

Ich möchte die Fußzeile eines Seitenstils nicht relativ zu den Seitenrändern zentrieren, sondern relativ zur Breite des physischen Papiers. Ich habe einen Seitenstil speziell für die Titelseite erstellt. Ich dachte, dass die \makerunningwidthLinie die Seitenmitte richtig berechnen würde, aber wie Sie deutlich sehen können, ist die Seitenzahl nicht mit dem Rest des Textes ausgerichtet (der absolut relativ zur Mitte des Papiers ausgerichtet ist).

Das Dokument wird erstellt mit

\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}

Gibt es eine Möglichkeit, die Fußzeile relativ zur Seite zu zentrieren, nicht relativ zu den Rändern?

Beispiel-PDF

Antwort1

Die Idee besteht darin, die Seitenzahlen zu versetzen, um die ungleichmäßigen Ränder auszugleichen.

\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}

Antwort2

Meiner Meinung nach ist es am einfachsten, diesen bestimmten Seitenstil manuell zu codieren:

\makeatletter
\@namedef{ps@INRSDocExamTitle}{%
  \@namedef{@oddfoot}{%
    \hspace{-\spinemargin}%
      \parbox[b]{\paperwidth}{%
        \strut\hfill \thepage \hfill\strut%
        }%
    }%
}
\makeatother

Nur um die Wirkung zu zeigen

\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}

Bildbeschreibung hier eingeben

verwandte Informationen