依赖维度的框架小页面

依赖维度的框架小页面

我正在尝试准备一份 PPT 的讲义(我知道)。我希望在页面的左半部分显示一张幻灯片,并在右半部分以与幻灯片大小相同的框架框显示有关它的评论。通过

\begin{minipage}{.5\textwidth}
    \includegraphics[page=4,scale=.3]{my_ppt}
\end{minipage}

我可以放入幻灯片,但如何在其右侧创建一个与前一个小型页面高度相同的小型页面?

minipage 是这里首选的环境吗?framed 包是在其周围设置框架的最佳方式吗?

答案1

可以得到一个环境形式如下

\newsavebox\pptbox
\newenvironment{pptcomment}[2][]
  {\sbox\pptbox{\includegraphics[#1]{#2}}%
   \dimen0=\ht\pptbox
   \parbox{.5\textwidth}{\centering\usebox\pptbox}%
   \begin{lrbox}{\pptbox}\begin{minipage}[c][\dimexpr\dimen0-2\fboxsep\relax][c]
     {\dimexpr.5\textwidth-2\fboxsep\relax}}
  {\end{minipage}\end{lrbox}\fbox{\box\pptbox}}

然后用作

\begin{pptcomment}[page=4,scale=.3]{my_ppt}
The comment text that will be vertically centered
with respect to the image on its left
\end{pptcomment}

换句话说,你向新环境传递的参数与传递给 的参数相同\includegraphics。但是,scale不建议设置。

这是如何运作的?

我们分配一个新的 bin\pptbox来存储对象;它的第一个用途是测量图像的高度(\ht\pptbox,存储在临时尺寸寄存器 中\dimen0)。然后我们在 中排版图像,\parbox使其相对于其他对象垂直居中。接下来我们打开lrbox,即 的环境形式\mbox,将内容再次存储在bin 中。此框由垂直居中的( )\pptbox组成,高度为(即图像的高度)减去框与框架之间间隙的两倍();此小页面的内容将相对于总高度居中;最后 的宽度为文本宽度的一半。环境的内容被读入,然后将 bin 包装起来()并在 内使用。minipage[c]\dimen0\fboxsepminipage\end{lrbox}\fbox

最好在环境pptcomment里面使用center,也可以直接在环境中插入:

\newsavebox\pptbox
\newenvironment{pptcomment}[2][]
  {\begin{center}
   \sbox\pptbox{\includegraphics[#1]{#2}}%
   \dimen0=\ht\pptbox
   \parbox{.5\textwidth}{\centering\usebox\pptbox}%
   \begin{lrbox}{\pptbox}\begin{minipage}[c][\dimexpr\dimen0-2\fboxsep\relax][c]
     {\dimexpr.5\textwidth-2\fboxsep\relax}}
  {\end{minipage}\end{lrbox}\fbox{\box\pptbox}
   \end{center}}

答案2

\includgraphics将 a放入 a 中没有多大意义minipage。另外,我会使用widthand/or heightnotscale来确定大小。您可以将图像放入保存框并测量其大小。

大致如下:

\documentclass{article}

\usepackage{graphicx}

\newsavebox\mysavebox

\begin{document}

\sbox\mysavebox{\includegraphics[width=.49\textwidth]{image}}
\usebox\mysavebox\hfill
\fbox{\begin{minipage}[b][\ht\mysavebox][t]{.49\textwidth}%
your text
\end{minipage}}

\end{document}

但是,这使得框架具有可以使用例如进行校正minipage的深度。使用包将简化这些组合:\fboxsep\raisebox{\fboxsep}{..}adjustbox

\documentclass{article}

\usepackage{adjustbox}

\newsavebox\mysavebox

\begin{document}

\sbox\mysavebox{\includegraphics[width=.49\textwidth]{image}}
\usebox\mysavebox\hfill
\begin{adjustbox}{minipage=[b][\ht\mysavebox-2\fboxsep][t]{.49\textwidth},fbox,raise=\fboxsep}%
your text your text your text your text your text your text your text your text your text your text
your text your text your text your text your text your text your text your text your text your text
your text your text your text your text your text your text your text your text your text your text
your text your text your text your text your text your text your text your text your text your text
your text your text your text your text your text your text your text your text your text your text
your text your text your text your text your text
\end{adjustbox}

\end{document}

我在图像周围添加了一个紧密的框架,以便显示正确的尺寸和对齐方式。稍后只需将其删除即可。

结果

相关内容