سؤال

أنا أستخدم أمر 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}

كل شيء يبدو جيدًا بالنسبة لي ، على الاختبار المتكرر.

هل كانت مفيدة؟

المحلول

يستخدم Beamer قدرًا كبيرًا من \catcode-خداع مرتبط ، ومن المحتمل أن يكون هذا هو ما يسبب مشاكلك. نظرًا لأنني لا أستطيع إعادة إنتاج خطأك دون مثال بسيط ، لا يمكنني إلا أن أتكهن (بشكل عام في المستقبل إذا كنت تريد المساعدة الأكثر كفاءة ، قدم أ مكتمل مثال على الحد الأدنى الذي يظهر المشكلة - عند القيام بذلك ، ستضيقها في كثير من الأحيان ، ولكن على الأقل تأكد من أن الآخرين يمكنهم إعادة إنتاجها بأمانة).

حاول إضافة fragile خيار الإطار في التعريف الخاص بك ، كما في

\begin{frame}[plain,fragile]

لست متأكدًا من المقايضات ، ولكن هذا يسبب frame البيئة للتصرف أكثر مثل البيئة العادية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top