在 beamerarticle 中使用 \emph 时,框架标题出现问题

在 beamerarticle 中使用 \emph 时,框架标题出现问题

我想为我的学生提供书籍格式的幻灯片,我使用beamerarticle。在我的书籍格式中,frametitles被转换为marginpars。因为我用加泰罗尼亚语写作,所以所有英文单词都是\emph-asized。

我知道框架标题中的\emph$(数学环境) 必须带\protect-ed,因此我使用\protect\emph{...}。但是当标题转换为边距段落时,此格式不起作用。

接下来是一个不起作用的例子:

\documentclass{article}

\usepackage{beamerarticle}

\mode<article>{%
\setbeamertemplate{frametitle}{%
    \marginpar{%
    \if\insertframetitle\empty\relax      
    \else
      \insertframetitle\newline%
    \fi
    \scriptsize\insertframesubtitle}}}

\begin{document}

\begin{frame}{\protect\emph{This title is a problem}}

%\begin{frame}{This title is not a problem}

Some text

\end{frame}

\end{document}

它停止并显示以下错误消息:

! Use of \@xmpar doesn't match its definition.
\beamer@ifnextcharospec #1#2->\def \reserved@a {
                                                #1}\def \reserved@b {#2}\fut...
l.17 

frametitle如果注释掉文章的特殊格式或\emph标题中不使用,问题就会消失。你能解释一下哪里出了问题吗?

答案1

\if\insertframetitle\empty\relax  

应该

\ifx\insertframetitle\empty\relax  

如果目的是测试 的定义是否\insertframetitle与 的定义相同\empty。进行此更改后,示例将正常运行。

相关内容