旋转单页的横向内容以及页码?

旋转单页的横向内容以及页码?

我发现在 tex.stackexchange.com 上一个优秀而美丽的肖像但只有 1 页横向表格的片段(见下文)。

这正是我需要的,但是我想要一个页码,但是当我注释掉thispagestyle{empty}时,pagenumber 本身是不是旋轉。所以那仍然是肖像。

如何让页脚/页眉也旋转?其余部分需要保持不变(功能良好,因此只影响带有表格、\afterpage、PDF 渲染等的单个页面)。

在此处输入图片描述

梅威瑟:

\documentclass{article}

\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{capt-of}% or use the larger `caption` package

\usepackage{lipsum}% dummy text
\begin{document}
\lipsum % Text before
\afterpage{%
    \clearpage% Flush earlier floats (otherwise order might not be correct)
  %  \thispagestyle{empty}% empty page style (?)
    \begin{landscape}% Landscape page
        \centering % Center table
        \begin{tabular}{llll}
            A & B & C & D \\
        \end{tabular}
        \captionof{table}{Table caption}% Add 'table' caption
    \end{landscape}
    \clearpage% Flush page
}
\lipsum % Text after
\end{document}

答案1

在这里,我使用我的\atxy{x-loc}{y-loc}{text}技术有哪些方法可以将内容绝对定位在页面上?在页面上的任意位置放置某项内容。我选择的位置是{\dimexpr\paperwidth-1in}{.5\paperheight}相对于新方向水平居中,距离页面的新底部 1 英寸。我在此处排版的是{\rotatebox[origin=center]{90}{\thepage}}。当然,我允许\thispagestyle{empty}这个新页码代替自然的 LaTeX 页码。

\documentclass{article}
\usepackage{everypage,graphicx}
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newcommand\atxy[3]{%
 \AddThispageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
  \raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}

\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{capt-of}% or use the larger `caption` package

\usepackage{lipsum}% dummy text
\begin{document}
\lipsum % Text before
\afterpage{%
    \clearpage% Flush earlier floats (otherwise order might not be correct)
    \thispagestyle{empty}% empty page style (?)
    \atxy{\dimexpr\paperwidth-1in}{.5\paperheight}{\rotatebox[origin=center]{90}{\thepage}}
    \begin{landscape}% Landscape page
        \centering % Center table
        \begin{tabular}{llll}
            A & B & C & D \\
        \end{tabular}
        \captionof{table}{Table caption}% Add 'table' caption
    \end{landscape}
    \clearpage% Flush page
}
\lipsum % Text after
\end{document}

在此处输入图片描述

答案2

史蒂文提出的出色解决方案尚未发挥坚实的作用。在类似的 MWE 中,页码从页面上掉下来(见下文)。

第一个问题:为什么不能将 PageTopMargin/PageleftMargin 偏移量作为当前页边距?为什么它们是硬编码的?

假设我有默认边距为 3.5 厘米的 A4 纸。对于横向表格,我将边距改为 1 厘米。如果我遵循 Stevens 的方法,以下代码片段将在正确的位置打印页码。但是它是不可见的(在页面外部)。

我可以通过更改为来使下面的示例可见:

\def\PageLeftMargin{3cm}

这有点奇怪,但它仍然没有很好地水平对齐(由 PageTopMargin 驱动)。因此,我可以通过调整常量来实现这一点,但是我很好奇真正的解决方案。

MWE,页码从页面上掉下来,根据 Steven 的例子,这并不是所预料到的。

\documentclass{article}
\usepackage[english]{babel}
\usepackage[a4paper,top=35mm,bottom=35mm,left=35mm,right=35mm]{geometry}
\usepackage{everypage,graphicx}
\def\PageTopMargin{1cm}
\def\PageLeftMargin{1cm}
\newcommand\atxy[3]{%
 \AddThispageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
  \raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}

\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{capt-of}% or use the larger `caption` package

\usepackage{lipsum}% dummy text
\begin{document}
\lipsum % Text before
\afterpage{%
    \clearpage% Flush earlier floats (otherwise order might not be correct)
    \newgeometry{left=1cm, right=1cm,top=1cm,bottom=1cm}
    \thispagestyle{empty}% empty page style (?)
    \atxy{\dimexpr\paperwidth-1cm}{.5\paperheight}{\rotatebox[origin=center]{90}{\thepage}}
    \begin{landscape}% Landscape page
        \centering % Center table
        \begin{tabular}{llll}
            A & B & C & D \\
        \end{tabular}
        \captionof{table}{Table caption}% Add 'table' caption
    \end{landscape}
    \clearpage% Flush page
    \aftergroup\restoregeometry
}
\lipsum % Text after
\end{document}

相关内容