我想使用该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
是必需的文件名。
我的问题是:
- 如果我想使用选项,是否可以避免使用
includegraphics
内部?adjustbox
page=x
- 是否可以
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
。修改多页图像的少数外观更容易。