سؤال

عادة ما أستخدمه

\AtBeginSection[]
{
  \begin{frame}<beamer>{Gliederung}
    \tableofcontents[currentsection]
  \end{frame}
}

في الديباجة لتحقيق ذلك قبل بدء الأقسام الجديدة ، يتم عرض TOC مع تسليط الضوء على قسم البدء الآن.

في الحديث ، أستعد فعليًا ، لدي قسم خاص واحد لا أريد هذا السلوك. يجب أن يكون الانتقال من القسم من قبل "صامتًا". يجب أن تبدأ جميع الأقسام الأخرى كما تفعل الآن.

أنا متأكد من أنه يجب أن يكون ممكنًا.

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

المحلول

في دليل Beamer ، الأمر \AtBeginSection تم شرحه على النحو التالي:

\AtBeginSection[special star text]{text}

إذا أعلنت القسم الخاص بأمر النجمة \section*, ، لن يظهر جدول القسم للمحتوى. هذا الحل هو الأول الذي يتبادر إلى الذهن ولكنه قد يغير الطريقة التي يتم تمثيل القسم في المستند.

نهج آخر (تجريبي ، لم أختبره أبدًا) هو استخدام معلمة منطقية. إذا تم تعيين المعلمة المنطقية ، فلن يتم طباعة الرمز. ثم تعلن القسم الخاص بك بشكل طبيعي ولكن يمكنك تعيين القيمة المنطقية حول الكود الخاص بك.

فيما يلي عينة رمز يجب أن تفعل الخدعة:

\RequirePackage{ifthen} % package required

\newboolean{sectiontoc}
\setboolean{sectiontoc}{true} % default to true

\AtBeginSection[]
{
  \ifthenelse{\boolean{sectiontoc}}{
    \begin{frame}<beamer>{Gliederung}
      \tableofcontents[currentsection]
    \end{frame}
  }
}

\newcommand{\toclesssection}[1]{
  \setboolean{sectiontoc}{false}
  \section{#1}
  \setboolean{sectiontoc}{true}
}

ثم في المستند ، فقط أعلن عن القسم الخاص بك كـ \toclesssection{My section without the toc}.

نصائح أخرى

هناك طريقة أخرى تتمثل في تغيير محتوى المحتوى مؤقتًا \AtBeginSection:

\documentclass{beamer}


\AtBeginSection[]
{
  \begin{frame}<beamer>{Gliederung}
    \tableofcontents[currentsection]
  \end{frame}
}


\begin{document}

\section{section with toc}  
\begin{frame}
    abc
\end{frame} 

\begingroup
    \AtBeginSection[]{}
    \section{section without toc}   
    \begin{frame}
        abc
    \end{frame} 
\endgroup

\section{section with toc}  
\begin{frame}
    abc
\end{frame} 

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