反時計回りに回転して1ページに横向き表示

反時計回りに回転して1ページに横向き表示

私は、ほとんどのパッケージの標準と異なる方向に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}

関連情報