1

次のbeamerコマンドを使用しています

\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}

繰り返しテストすると、すべてが私には良いようです。

4

1 に答える 1

1

Beamerは\catcode関連するトリックを大量に使用しており、それが問題の原因である可能性があります。最小限の例なしではエラーを再現できないため、推測することしかできません(一般的に、最も効率的なヘルプが必要な場合は、問題を示す完全な最小限の例を提供してください。そうすることで、多くの場合、問題を絞り込むことができます。自分自身をダウンさせますが、少なくとも他の人がそれを忠実に再現できるようにします)。

fragile次のように、定義のフレームにオプションを追加してみてください

\ begin {frame} [plain、fragile]

トレードオフが何であるかはわかりませんが、これにより、frame環境は通常の環境のように動作します。

于 2010-04-15T07:46:00.990 に答える