
私は、ほとんどのパッケージの標準と異なる方向にPDF出力のページを回転させるソリューションを探しています。ページにヘッダーとフッターがあり、美観上の理由から、ページ反時計回りに回転して横向きにするには、コンテンツ時計回りに回転し、フッターが右側に表示されます。
パッケージを試してみましたpdflscape
が、デフォルトでは反対方向に回転し、回転方向を変更するオプションはないようです。
\begin{landscape}
...
\end{landscape}
また、パッケージも試してみましたがrotation
、希望するレイアウトは実現できましたが、PDF ビューアで表示するとページが縦向きモードのままになりました。
\begin{turn}{-90}
\begin{minipage}
...
\end{minipage}
\end{turn}
これら 2 つのソリューションの場合と同様に、ドキュメント内の一貫性を保つために、ヘッダーとフッターを「縦向き」の位置に保ちたいと思います。
では、ページを反時計回りに回転させるだけで、PDF で横向きのページビューを実現する方法はあるのでしょうか?
答え1
このソリューションは、新しい環境、clandscape (counter rotate) を作成します。
\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 パッケージ) とミニページを使用できます。
\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}