好吧,我承认我还没有尝试过没有 Beamer 的 MWE。
我的目标是使用例如\textwidth
图片环境,我的总体目标是在图片环境中包含.eps 文件的几个矩形部分。
我试图遵循@Qrrbrbirlbel 的示例: 如何在图片环境中使用 \textwidth(或任何变量)
但是我无法将他的几何包选项与 Beamer 一起使用(不确定这是否是问题所在,但我猜不是)。
这是MWE:
\documentclass[compress,red,notes]{beamer}
\begin{document}
\frame{\frametitle{An overview to constraint-based modeling}
\makeatletter
\def\strippt{\strip@pt}
\makeatother
\newsavebox{\toynet}
\savebox{\toynet}{
\includegraphics*[width=\textwidth, viewport=0 418 708 718, clip=true]
{SmatExample} }
\newsavebox{\toySmat}
\savebox{\toySmat}{
\includegraphics*[width=\textwidth, viewport=0 0 708 418, clip=true]
{SmatExample} }
\newsavebox{\FBAgeom}
\begin{picture}(\strippt\textwidth, \strippt\textheight)
\put(0,\strippt\textheight){\usebox{\toynet}}
\end{picture}
} % end of \frame
\end{document}
当我尝试编译它时,出现以下错误:
No file test.nav.
<SmatExample.eps> <SmatExample.eps>
! Undefined control sequence.
\strippt ->\strip
@pt
l.27 }
% end of \frame
这是我在使用同一图像时遇到的另一个问题(如果您想下载该图像以与 MWE 配合使用):
如何正确剪辑带有 includegraphics 和 beamer 列的视口?
请注意,在我当前的示例中,我尚未尝试使用\textwidth
或的正确系数\textheight
。
答案1
软件包picture
扩展了环境和相关命令,以允许在其参数中picture
使用长度而不是因子:\unitlength
\documentclass[compress,red,notes]{beamer}
\usepackage{picture}
\begin{document}
\frame{\frametitle{An overview to constraint-based modeling}
\newsavebox{\toynet}
\savebox{\toynet}{
\includegraphics*[width=\textwidth, viewport=0 418 708 718, clip=true]
{SmatExample} }
\newsavebox{\toySmat}
\savebox{\toySmat}{
\includegraphics*[width=\textwidth, viewport=0 0 708 418, clip=true]
{SmatExample} }
\newsavebox{\FBAgeom}
\begin{picture}(\textwidth, \textheight)
\put(0,\textheight){\makebox(\textwidth,0)[t]{\usebox{\toynet}}}
\end{picture}
} % end of \frame
\end{document}
回答问题的错误
! Undefined control sequence.
\strippt ->\strip
@pt
这是一个典型的错误,如果@
有错误的类别代码。\makeatletter
并且\makeatother
无法在正常框架中工作,因为框架的内容已经被解析和标记化,前类别代码已更改。请将其移出\makeatletter
框架\makeatother
或使用选项fragile
:
\begin{frame}[fragile]
\frametitle{...}
\makeatletter
\def\strippt{\strip@pt}
\makeatother
...
\end{frame}