【问题标题】:Latex Beamer Command to make Image SlidesLatex Beamer 命令制作图像幻灯片
【发布时间】:2011-02-07 16:24:50
【问题描述】:

我正在使用以下投影仪命令

\newcommand{\imgslide}[2]{
        {\setbeamertemplate{background canvas}{
        \includegraphics [width=\paperwidth,height=\paperheight]{images/#1}} 
            \begin{frame}[plain]
                \txtonimg{#2}
            \end{frame}
        }
}

而且我反复收到错误。

手动编写相同的内容效果很好。

而上述命令中包含的命令是:

\newcommand{\txtonimg}[1]{
\begin{center}
 \fcolorbox{red}{black}{
 \textcolor{white}
 {#1}
 }
 \end{center}
 }

错误是:

]
! Too many }'s.
\endframe ->\egroup 
            \begingroup \def \@currenvir {frame}
l.107       \end{frame}

经过反复测试,我觉得一切都很好。

【问题讨论】:

  • 这听起来很傻,但是您是否尝试过 \newcommand 的不同空格?我已经多次遇到问题,仅仅是因为 LaTeX 想要或不想要新行上的东西。
  • 我用你的命令和一个示例图像创建了一个最小的演示文稿(如果你想在你的机器上试用它,请在interfix.arane.us/stackoverflow/2633624),LaTeX 毫无怨言地编译了它。
  • 什么时候出现错误:什么时候定义宏指令,或者什么时候调用它们?如果是后者,你传递给他们什么参数?
  • 您好,感谢您的帮助。原来错误是别的东西,我现在更正了。我打算删除这个问题,但因为我认为这个问题记录了一个创建图像幻灯片的好命令,所以我决定更改标题并保持原样。

标签: latex beamer


【解决方案1】:

Beamer 使用了大量与\catcode 相关的诡计,这很可能是导致您的问题的原因。由于没有最小示例我无法重现您的错误,因此我只能推测(通常在将来,如果您需要最有效的帮助,请提供一个 complete 显示问题的最小示例 - 在做所以你经常会自己缩小范围,但至少你确保其他人可以忠实地复制它)。

尝试将fragile 选项添加到定义中的框架中,如下所示

\begin{frame}[plain,fragile]

我不确定权衡是什么,但这会导致frame 环境的行为更像正常环境。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 2012-10-31
    • 2010-10-29
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    相关资源
    最近更新 更多