帮助我找到适用于 Linux 的景观(适用于 Mac 和 Windows)

帮助我找到适用于 Linux 的景观(适用于 Mac 和 Windows)

我是一名 Linux 用户,在我的系统中使用以下方式创建横向页面:

\documentclass[twoside,10pt]{article}
\usepackage{lipsum}
\usepackage[top=3cm,bottom=2cm,left=4cm,right=2cm]{geometry}
\usepackage{fancyhdr}
\fancyfoot[OE]{\begin{minipage}{\textwidth}\centering\rule{1pt}{\dimexpr 2cm-10pt}\end{minipage}}
\usepackage{capt-of}

\usepackage{adjustbox}


\newenvironment{myLandscape}
               {\clearpage                 
                \pdfpageattr{\the\pdfpageattr/Rotate 90}%
                \newgeometry{top=3cm,bottom=2cm,left=4cm,right=2cm}% 
                \begin{adjustbox}{angle=90}%
                \begin{minipage}{\textheight}%
}
               {\end{minipage}% 
                \end{adjustbox}%
                \clearpage

                \pdfpageattr{\the\pdfpageattr/Rotate 0}%
                \restoregeometry
               }


\begin{document}

\pagestyle{fancy}

\section{Some Section}
\subsection{Some Subsection}
Some text in portrait here

\lipsum[1]


\begin{myLandscape}
  Test Text on Rotated Page.

  \begin{center}
    \includegraphics[width=10cm]{example-image-a}
    \captionof{figure}{A centered 10cm figure}
  \end{center}  
\end{myLandscape}

Text in next page.

\end{document}

我的问题是,此代码生成的 pdf 无法在 Mac 上打开(也可能在 Windows 操作系统上也无法打开),但会跳过横向页面[由使用“adobe”(或 acrobat 或 adobe acrobat)和“预览”pdf 阅读器的 Mac 朋友测试过]。

我想更改代码并使其适用于所有这些操作系统(Linux、Mac 和 Windows),但我没有 Mac 和 Windows 系统。因此,我希望有人能帮我编译和测试代码,并帮助我完成在任何操作系统上使用它所需的附加功能。

输出:

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

附言:我了解lscapepdflscape包,但我需要比这些包更多的控制权,并克服他们在边缘等方面的问题。(每个横向页面都必须按照我的方式处于一个环境中,但这对我来说不是问题)

答案1

您正在 pdf 中写入\the \pdfpageattr /Rotate 90,您必须扩展该值。重置代码是错误的,目标不是添加 /Rotate 0,而是删除 /Rotate 90(这在您的代码中会自动在 \end{myLandscape} 处发生)。

\documentclass[twoside,10pt]{article}
\usepackage{lipsum}
\usepackage[top=3cm,bottom=2cm,left=4cm,right=2cm]{geometry}
\usepackage{fancyhdr}
\fancyfoot[OE]{\begin{minipage}{\textwidth}\centering\rule{1pt}{\dimexpr 2cm-10pt}\end{minipage}}
\usepackage{capt-of}

\usepackage{adjustbox}


\newenvironment{myLandscape}
               {\clearpage
                \pdfpageattr\expandafter{\the\pdfpageattr/Rotate 90}%
                \newgeometry{top=3cm,bottom=2cm,left=4cm,right=2cm}%
                \begin{adjustbox}{angle=90}%
                \begin{minipage}{\textheight}%
}
               {\end{minipage}%
                \end{adjustbox}%
                \clearpage
                \restoregeometry
               }


\begin{document}

\pagestyle{fancy}

\section{Some Section}
\subsection{Some Subsection}
Some text in portrait here

\lipsum[1]


\begin{myLandscape}
  Test Text on Rotated Page.

  \begin{center}
    \includegraphics[width=10cm]{example-image-a}
    \captionof{figure}{A centered 10cm figure}
  \end{center}
\end{myLandscape}

Text in next page.

\end{document}

相关内容