我正在尝试使用选项在文档中使用rotating
包(与环境一起)旋转图形。默认情况下,选项会将不均匀的页面设置在右侧,将均匀的页面设置在左侧。现在,旋转包承诺会考虑到这一点,并且实际上会根据页码顺时针或逆时针旋转图形。然而,它所做的与我想要的完全相反;不均匀页面上的图形(即在打印文档的右侧)的标题在右侧,在装订的远端。我希望标题位于装订的一侧,这可能吗?我在下面包含了一个 MWE。sidewaysfigure
twoside
twoside
\documentclass[twoside]{report}
\usepackage{graphicx}
\usepackage{rotating}
\begin{document}
\begin{sidewaysfigure}
\centering
\includegraphics{example-image-a}
\caption{Foo.}
\end{sidewaysfigure}
\end{document}
答案1
由于似乎没有内置选项,您可以尝试以下操作:
\documentclass[twoside]{report}
\usepackage{graphicx}
\usepackage{rotating}
\makeatletter
\def\end@rotdblfloat{%
\end{minipage}\end{lrbox}%
\stepcounter{r@tfl@t}%
\rot@label{RF\ther@tfl@t}%
\rot@pageref{RF\ther@tfl@t}{\R@@page}%
\edef\@tempa{Adding sideways \@captype\space on page \R@@page\space}
\rot@mess@toks\expandafter{\@tempa}
\@tempdima\ht\rot@float@box
\advance\@tempdima by \dp\rot@float@box
\wd\rot@float@box\z@
\ht\rot@float@box\z@
\dp\rot@float@box\z@
\vbox to \textheight{%
\setkeys{Grot}{units=360}%
\if@rot@twoside
\else
\let\R@@page\rot@LR
\fi
\ifthenelse{\isodd{\R@@page}}{%
\ifrot@messages
\if@rot@twoside
\rot@mess@toks\expandafter{\the\rot@mess@toks (right hand page)}%
\fi
\fi
\vfill
\@@line{%
\hskip\rotFPtop
\rotatebox{-90}{\box\rot@float@box}%
\hskip\rotFPbot
}%
}{%
\ifrot@messages
\if@rot@twoside
\rot@mess@toks\expandafter{\the\rot@mess@toks (left hand page)}%
\fi
\fi%
\@@line{%
\hskip\rotFPbot
\rotatebox{90}{\box\rot@float@box}%
\hskip\rotFPtop
}%
\vfill
}%
\rot@message{\the\rot@mess@toks}%
}%
\end@dblfloat
}
\makeatother
\begin{document}
\begin{sidewaysfigure}
\centering
\includegraphics{example-image-a}
\caption{Foo.}
\end{sidewaysfigure}
\end{document}
我复制了的相关部分,并通过替换为和反之亦然rotating.sty
来改变了旋转的方向。\rotatebox{-90}
\rotatebox{90}