如何旋转 PDF 中的横向表格页面?

如何旋转 PDF 中的横向表格页面?

目前我正在使用

\usepackage{rotating}

\begin{sidewaystable}
\begin{tabular}...\end{tabular}
\end{sidewaystable}

排版横向表格,效果很好。

但我想在生成的 pdf(由 pdflatex 生成)中旋转该页面,以便更方便地进行屏幕阅读。

我发现景观环境另一个问题也提到了。我尝试过这样:

\usepackage{pdflscape}

\begin{landscape}
\begin{table}
\begin{tabular}...\end{tabular}
\end{table}
\end{landscape}

此类工作有效,除了原始表格不再适合页面之外,即 sidewaystable 可以更好地利用可用空间。

因此我的问题是:是否有可能仅使用 sidewaystable 并指示 pdflatex 旋转它?

或者指示 pdflatex 将其标记为旋转,以便 PDF 查看器知道该怎么做?

答案1

为了使表格适合您的景观,请将其放在您的序言中:

\usepackage{geometry}
\usepackage{pdflscape}

对于横向页面,请执行以下操作:

\newgeometry{margin=1cm} % modify this if you need even more space
\begin{landscape}

%put your table here

\end{landscape}
\restoregeometry

如果您正在处理使用 的文档fancyhdr,您可能需要将其放在\thispagestyle{empty}横向页面上,以便可以利用页眉/页脚通常占用的空间。(在我看来它看起来更干净)

答案2

我发现很难在电脑屏幕上同时兼顾良好的横向观看效果以及“正确”地打印所有内容。我遇到的问题是 PStricks 图形,它在侧面图中看起来不错,但当我旋转页面时它就“被剪裁”了。

为了“修复”这个问题,我使用了老方法:

\vspace{-1cm}
\hspace{-1cm}

我知道,这很“糟糕”,但是它对我有用=)我确实弄乱了你的头脑,因为在旋转的侧向图页面中,vspace 控制水平位置,hspace 控制垂直位置。

答案3

您可以sidewaystable使用以下脚本来使用和旋转这些页面:

\batchmode
\documentclass[a4paper]{article}
\usepackage{pdfpages}
\usepackage{tikz}
\usepackage{xstring}

\newcommand{\ifassoc}[4]{%
    \edef\dotheloop{%
        \noexpand\foreach \noexpand\a/\noexpand\b in {#2} {%
            \noexpand\IfEq{\noexpand\a}{#1}{%
                \noexpand\gdef\noexpand\memberresult{true}%
                \noexpand\xdef\noexpand\assocresult{\noexpand\b}%
                \noexpand\breakforeach%
            }{}%
        }%
    }%
    \xdef\assocresult{}%
    \xdef\memberresult{false}
    \dotheloop%
    \IfEq{\memberresult}{true}{#3}{#4}%
}%


% Theses file
\def\malfile{main.pdf}
\pdfximage{\malfile}

\begin{document}
\newcount\malcount \malcount=0 % This is a page counter...
\newbox\malbox % This is a virtual box...

\loop % Let's test all the pages one by one...
\advance\malcount by 1%

% The pages that you would like to rotate (Landscape)
\ifassoc{\the\malcount}{107,108,109,110,112,113,114}{
 %Landscape 
\includepdf[pages={\the\malcount}, fitpaper, angle=270]{\malfile}
}{
% Portrait
\includepdf[pages={\the\malcount}, fitpaper, angle=0]{\malfile}
}

\ifnum\malcount<\pdflastximagepages\repeat

\end{document}

相关内容