逆时针旋转,在单页上呈现横向

逆时针旋转,在单页上呈现横向

我正在寻找一种解决方案,以与大多数软件包的标准相反的方向旋转 PDF 输出中的页面。我的页面上有页眉和页脚,出于美观原因,我希望逆时针旋转至横向,即内容似乎顺时针旋转并且页脚出现在右侧。

我已经尝试过该pdflscape包,它默认以相反的方向旋转,并且似乎没有改变旋转方向的选项:

\begin{landscape}
... 
\end{landscape}

而且我也尝试了这个rotation包,它实现了我想要的布局,但是在 PDF 查看器中查看时页面处于纵向模式:

\begin{turn}{-90}
\begin{minipage}
... 
\end{minipage}
\end{turn}

我想将页眉和页脚保持在“纵向”位置以保持文档的一致性,这两种解决方案都是如此。

那么,有没有办法实现 PDF 中的横向页面视图,同时只需逆时针旋转页面?

答案1

这个解决方案创建了一个新的环境:clandscape(反向旋转)。

\documentclass{article}
\usepackage{pdflscape}
\usepackage{etoolbox}
\usepackage{lipsum}

\makeatletter
\let\clandscape=\landscape
\let\endclandscape=\endlandscape
\patchcmd{\clandscape}{\PLS@Rotate{90}}{\PLS@Rotate{-90}}{}{}
\makeatother

\begin{document}
\lipsum[1]
\begin{clandscape}
\lipsum[2]
\end{clandscape}
\begin{landscape}
\lipsum[3]
\end{landscape}
\end{document}

景观的实际实现可能是由 shipout 钩子处理的,但到目前为止,所有修改尝试\ShipoutBox都失败了。对于单个页面,可以使用\rotatebox(adjustbox 包)和 minipage。

\documentclass{article}
\usepackage{pdflscape}
\usepackage{etoolbox}
\usepackage{lipsum}
\usepackage{adjustbox}

\makeatletter
\let\clandscape=\landscape
\let\endclandscape=\endlandscape
\patchcmd{\clandscape}{\PLS@Rotate{90}}{\PLS@Rotate{-90}}{}{}
\makeatother

\begin{document}
\lipsum[1]
\begin{clandscape}
\rotatebox{180}{\begin{minipage}[t][\textheight][t]{\linewidth}
\lipsum[2]
\end{minipage}}% flip page
\end{clandscape}
\begin{landscape}
\lipsum[3]
\end{landscape}
\end{document}

相关内容