我花了很多时间研究如何按照学校的格式要求将页码放在横向页面的长边上(是的,我确定),但现在这些数字显然有点太高了。我需要将其设置为距页面底部 0.5 英寸并居中,以便获得博士学位。(我并不苦恼......)
当前代码:
\usepackage{pdflscape}
\usepackage{fancyhdr}
\usepackage{floatpag}
....
\fancypagestyle{floatpage}{%
\fancyhf{}% Clear page header/footer
\fancyfoot{
\makebox[\textwidth][r]{% Right
\rlap{\hspace{\footskip}% Push out of margin by \footskip
\smash{% Remove vertical height
\raisebox{\dimexpr.7\baselineskip+\footskip+.5\textheight}{% Raise vertically
\rotatebox{90}{\thepage}}}}}}% Rotate counter-clockwise
\renewcommand{\headrulewidth}{0pt}% No header rule
\renewcommand{\footrulewidth}{0pt}% No footer rule
}
然后对于图:
\begin{landscape}
\begin{figure}
\centering\thisfloatpagestyle{floatpage}%
\begin{subfigure}{.6\textwidth}
\centering
\includegraphics[width=\linewidth]{chapters/ProgrammedCellDeath/lyse_benefit.pdf}
\caption{Science}\label{helping}
\end{subfigure} %
\begin{subfigure}{.6\textwidth}
\centering
\includegraphics[width=\linewidth]{chapters/ProgrammedCellDeath/explode_benefit.pdf}
\caption{Science}\label{harming}
\end{subfigure}
\caption{Science is cool.}
\end{figure}
\end{landscape}
答案1
确切位置的计算有点复杂。假设我们从页脚的右侧开始,那么我们需要一个垂直框,位于.5\textheight + \footskip
页脚基线上方的中央。这需要向右推边距的宽度,然后再向后移动.5in
。边距的宽度是
\pagewidth-\textwidth-1in-\hoffset-\oddsidemargin
(查看fancyhdr
文档中的图表)把它们放在一起我们得到:
\documentclass{article}
\usepackage{fancyhdr}
\usepackage{rotating}
\usepackage{floatpag}
\usepackage{graphicx}
\usepackage{subcaption}
\fancypagestyle{rotfloatpage}{%
\fancyhf{}%
\rfoot{\makebox[0pt]{\smash{\rotatebox{90}{%
\makebox[\dimexpr\textheight+2\footskip]{%
\raisebox{\dimexpr\textwidth+1in+\hoffset+\oddsidemargin-\paperwidth
+.5in\relax}[0pt][0pt]{\thepage}}}}}}%
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0pt}%
}
\rotfloatpagestyle{rotfloatpage}
\begin{document}
\begin{sidewaysfigure}
\centering
\begin{subfigure}{.49\textwidth}
\centering
\includegraphics[width=\textwidth]{example-image-a.jpg}
\caption{Science}\label{helping}
\end{subfigure} %
\begin{subfigure}{.49\textwidth}
\centering
\includegraphics[width=\textwidth]{example-image-b.jpg}
\caption{Science}\label{harming}
\end{subfigure}
\caption{Science is cool.}
\end{sidewaysfigure}
\end{document}
请注意,我使用了rotating
包而不是pdflscape
与一个包结合使用,floatpag
一次性为所有此类浮点数设置相应的页面样式。
答案2
这段代码起了作用:
\fancypagestyle{floatpage}{%
\fancyhf{}% Clear page header/footer
\fancyfoot{
\makebox[\textwidth][r]{% Right
\rlap{\hspace{\footskip}% Push out of margin by \footskip
\smash{% Remove vertical height
\raisebox{\dimexpr6\baselineskip+\footskip+.5\textheight}{% Raise vertically
\rotatebox{90}{\thepage}}}}}}% Rotate counter-clockwise
\renewcommand{\headrulewidth}{0pt}% No header rule
\renewcommand{\footrulewidth}{0pt}% No footer rule
}
刚刚将 dimrexp.7 更改为 dimrexp6,但我仍然不知道为什么这样做有效,并希望得到解释。