调整框和包含图形页面选择

调整框和包含图形页面选择

我想使用该adjustbox包将图形包含在beamer演示文稿中。我更喜欢它,graphicx因为它有max size一个选项,当图形尺寸大于特定尺寸时,它才会缩放图形。

但是当我需要从多页图形(通常用 制作\documentclass[tikz]{standalone})中选择一个页面时,我发现了一个问题。在使用 时\includegraphics,可以使用page=x(在 中定义pdftex.def)选项来选择要包含的页面,但此选项在 中不可用adjustbox。因此,在 beamer 中,我可以执行的最佳命令是包含具有固定最大大小的多页 pdf 文件中的某些页面:

\newcommand{\mygraphic}[2][]{%
     \par\centering
     \adjustbox{max size={\textwidth}{.9\textheight}}%
        {\includegraphics[#1]{#2}}\par}

其中,#1是用于在需要时修复页面选择的可选参数,并且#2是必需的文件名。

我的问题是:

  1. 如果我想使用选项,是否可以避免使用includegraphics内部?adjustboxpage=x
  2. 是否可以max size使用通用adjustboxset命令来修复?(我认为不是使用export类选项,但我不确定)

答案1

这对我有用:

\documentclass{article}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\begin{document}

\centering % just to avoid overfull box
\includegraphics[page=2,max size={\textwidth}{0.9\textheight}]{l3fp}

\end{document}

在此处输入图片描述

答案2

自 2018/04/08 起, v1.1adjustbox现已正确支持该page键。export您可以使用宏而不是选项\adjustimage{<options>}{<filename>}。您也可以在最后\centering使用键而不是使用。center

\usepackage{adjustbox}[2018/04/08]

\newcommand{\mygraphic}[2][]{%
     \par\noindent
     \adjustimage{#1,max size={\textwidth}{.9\textheight},center}{#2}%
     \par
}

答案3

在经历了这和另一个问题,我决定两个都设置全局键adjustbox(问题的第二部分)有时也使用page=…(第 1 部分)。1所以我这样做了——注意使用大写 Export

\documentclass{article}
\makeatletter

% Load graphicx first and save its original \includegraphics
\usepackage{graphicx}
\let\orig@includegraphics\includegraphics

% Using the capitalized 'Export' option replaces \includegraphics with
% \adjincludegraphics
\usepackage[Export]{adjustbox}

% Set some global adjustbox keys
\adjustboxset{trim=0.5in 0in}

% Define a new three-argument command:
%   \includegraphicspage{adjbox args}{graphicx args}{filename}
\newcommand{\includegraphicspage}[3][]{%
  \adjustbox{#1}{\orig@includegraphics[#2]{#3}\par}}
\makeatother

这使我能够执行以下所有操作,并使我的\adjustboxset选项在每种情况下都适用:

\begin{document}

% This is actually \adjincludegraphics; 'page' won't work
\includegraphics{singlepage.pdf}

% Pass an argument for graphicx
\includegraphicspage{page=3}{multipage.pdf}

% Also pass arguments for adjustbox
\includegraphicspage[width=\textwidth]{page=3}{multipage.pdf}

\end{document}

1为什么?主要是因为我已经有一份很长的文档,其中包含许多\includegraphics。修改多页图像的少数外观更容易。

相关内容