将页码置于旋转页面的中心

将页码置于旋转页面的中心

我的问题与旋转页面的常见问题有关。我使用 pdflscape 包旋转页面,但页码保持不变。我使用/找到了以下代码块来创建新的页面样式:

\fancypagestyle{mylandscape}{
\fancyhf{} %Clears the header/footer
\fancyfoot{% Footer
\makebox[\textwidth][r]{% Right
  \rlap{\hspace{.75cm}% Push out of margin by \footskip
    \smash{% Remove vertical height
      \raisebox{4.87in}{% Raise vertically
        \rotatebox{90}{\thepage}}}}}}% Rotate counter-clockwise
\renewcommand{\headrulewidth}{0pt}% No header rule
\renewcommand{\footrulewidth}{0pt}% No footer rule
}

这工作得很好,但我无法将页码居中,而且与我的页面类中的其他页码相比,它看起来更粗,即:

\documentclass[a4paper,12pt]{article}

我对乳胶还不太熟悉,很难理解那个代码块,所以我无法以正确的方式改变它。

答案1

示例中的数字(例如 4.87 英寸)取决于页面大小、边距等。因此,您必须进行实验,或者最好进行适当的计算。

与此同时,这里有一种不同的方法来让页面处于横向,它不使用pdflscape,但在横向也有正确的页眉和页脚。

\documentclass{article}
\usepackage[a4paper,width=160mm,top=25mm,bottom=25mm]{geometry}
\usepackage{fancyhdr}

\pagestyle{fancy}
\usepackage{lipsum}

% Save papersize and text size
\newlength\mypagewidth
\newlength\mypageheight
\newlength\mytextwidth
\newlength\mytextheight

% Luatex doesn't have \pdfpagewidth/\pdfpageheight, but
% uses \pagewidth/pageheight instead. So we check if \pdf... are available,
% if not, use alias them to \pagewidth/pageheight.
\ifdefined\pdfpagewidth\else
  \let\pdfpagewidth\pagewidth\let\pdfpageheight\pageheight
\fi

\AtBeginDocument{% after the geometry has really been set
% Officially should use \setlength, just being lazy.
\setlength\mypagewidth{\pdfpagewidth}%
\setlength\mypageheight{\pdfpageheight}%
\setlength\mytextwidth{\textwidth}%
\setlength\mytextheight{\textheight}%
}

\fancyhf{}
\renewcommand{\sectionmark}[1]{\markright{#1}}
\renewcommand{\headrulewidth}{0.5pt} % Thickness
\renewcommand{\subsectionmark}[1]{}
\renewcommand{\footrulewidth}{0.5pt} % Thickness
\fancyhead[L]{Test Header}
\fancyhead[R]{\rightmark}
\fancyfoot[C]{\thepage}
\fancyhfoffset{0pt}% this makes \headwidth follow \textwidth

\begin{document}

\section{Section 1}
Page 1

\lipsum[1]
\newpage

\pdfpagewidth=\mypageheight \pdfpageheight=\mypagewidth
\newgeometry{textwidth=\mytextheight, textheight=\mytextwidth,top=25mm,left=25mm}
\section{Section 2}
Page 2

\lipsum[2]
\newpage
\pdfpagewidth=\mypagewidth \pdfpageheight=\mypageheight
\newgeometry{margin=25mm}
\section{Section 3}
Page 3

\lipsum[3]
\end{document}

相关内容