我正在寻找一种解决方案,以与大多数软件包的标准相反的方向旋转 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}