使用 sidewaysfigure 和 twoside 选项更改旋转

使用 sidewaysfigure 和 twoside 选项更改旋转

我正在尝试使用选项在文档中使用rotating包(与环境一起)旋转图形。默认情况下,选项会将不均匀的页面设置在右侧,将均匀的页面设置在左侧。现在,旋转包承诺会考虑到这一点,并且实际上会根据页码顺时针或逆时针旋转图形。然而,它所做的与我想要的完全相反;不均匀页面上的图形(即在打印文档的右侧)的标题在右侧,在装订的远端。我希望标题位于装订的一侧,这可能吗?我在下面包含了一个 MWE。sidewaysfiguretwosidetwoside

\documentclass[twoside]{report}

\usepackage{graphicx}
\usepackage{rotating}

\begin{document}

\begin{sidewaysfigure}
    \centering
    \includegraphics{example-image-a}
    \caption{Foo.}
\end{sidewaysfigure}

\end{document}

这将产生以下内容: MWE的结果

答案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}

相关内容