将 Book 中的 \chapter 替换为 Beamer 中的 \lecture

将 Book 中的 \chapter 替换为 Beamer 中的 \lecture

问题

我们如何才能自动将章节“翻译”book成讲座,以避免在编写演示文稿时Beamer 出现非法行为?Undefined control sequence \chapter

上下文

我有一个非常长的演示文稿(约 2000 帧),分为 20 个讲座。多亏了代码开头的beamerarticle和,我设法有一个良好的编译过程,无论是以文章形式还是演示文稿形式。if 0\Article \documentclass{article} else \documentclass{beamer}

我的文档结构如下

  • 第1部分
    • 第 1 部分
    • 第 2 部分
    • ETC

它一直运行得很好,直到我需要重组我的文档并意识到book(带有章节)更有意义。

  • 第1部分
    • 第1章
      • 第 1 部分
      • 第 2 部分
    • 第2章
    • ETC

谢谢讲座/章节book我理解从到的正确“桥梁” Beamer(为了避免因Beamer无法识别而产生的错误\chapters)是将中的章节翻译成book中的讲座Beamer

  • 第1部分
    • 第 1 章 => 讲座 1
      • 第 1 部分
      • 第 2 部分
    • 第 2 章 => 讲座 2
    • ETC

感谢您的帮助 :)

答案1

输入注释太乱了。好吧,文档使用了\if\else\fi,而 LaTeX 可以处理它;尽管用法似乎是倒退的(您可能指\if 1\Article的是\documentclass{article})。

是的,你无疑想输入\lecture文档,并将其转换为\chapter,而不是翻译 chapter => lesson,而不是\let。所以

\def\Book{1}% or 0, or use optional.sty!
\if 1\Book
  \documentclass[your options]{book}% or scrbook etc.
  \newcommand\lecture[3][\shortlecname]{% 
    \def\shortlecname{#2}% default for TOC and header
    \chapter[#1]{#2}\label{#3}}
\else 
   \documentclass{beamer}
   \AtBeginLecture{ 
     blah blah a frame like a chapter
   }
\fi

不要使用\includeonlylecture。然后,在文档主体中

\lecture{Exciting stuff}{excite}

相关内容