目前我正在使用
\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}