setbeamertemplage + beamerarticle = bug

setbeamertemplage + beamerarticle = bug

我嘗試使用該包beamerarticle從我的教學幻燈片中獲取筆記。

似乎 beamerarticle 在使用帶有括號參數的 setbeamertemplate 命令解析檔案時出現問題。

在下面的(幾乎是最小的)範例中,該命令\setbeamertemplate{itemize item}[square]在 beamerarticle 模式下被簡單地忽略。

當命令有兩個括號參數時(就像其他兩個命令一樣),情況會更糟:第二個參數被視為純文本,因此編譯器輸出「缺少\begin{document} 錯誤,儘管它仍在解析前導碼。

當文檔類別為 時,同一個文檔不會發生錯誤beamer

微量元素:

% Case 1 : beamer original : no problem
%\documentclass{beamer} 

% Case 2 :  beamerarticle mode : compilation issue
\documentclass{article} 
\usepackage{beamerarticle}

\usetheme{Hannover} 

%-- beamer setup

% a command that compiles ok in both mode, but with no effect in beameraritcle ??
\setbeamertemplate{itemize item}[square]

% a command that compiles in beamer, but produces error in beamerarticle
\setbeamertemplate{sidebar canvas left}[vertical shading][top=structure.fg!50,bottom=structure.fg!10]

%another one
\setbeamertemplate{blocks}[rounded][shadow]

%--end beamer setup


\begin{document}


\begin{frame}{A first frame}{}
\begin{itemize}
\item toto
\end{itemize}


\begin{block}{titleblock}
a bloc
\end{block}
\end{frame}

\end{document}

有任何想法嗎?

答案1

嗨@pierre,我的方法是遵循第 210-213 頁投影機使用者指南用於處理包beamerarticle

首先,我們建立一個文件main.article.tex

\documentclass{article}
\usepackage{beamerarticle}
\setjobnamebeamerversion{main.beamer}
\input{main}

其次,我們建立一個文件main.beamer.tex

\documentclass[ignorenonframetext]{beamer}
\input{main}

最後,我們建立一個文件main.tex

\mode<article>{
    \usepackage{fullpage}
    }

\mode<presentation>{
    \setbeamertemplate{itemize item}[square]
    \setbeamertemplate{sidebar canvas left}[vertical shading][top=structure.fg!50,bottom=structure.fg!10]
    \setbeamertemplate{blocks}[rounded][shadow=true]
    \usetheme{Hannover}
    }

\begin{document}

\begin{frame}{A first frame}{}

    \begin{itemize}
        \item toto
    \end{itemize}

    \begin{block}{titleblock}
        a bloc
    \end{block}

\end{frame}

\end{document}

我們編譯main.artice.tex看起來像

在此輸入影像描述

我們編譯main.beamer.tex看起來像

在此輸入影像描述

我有一些建議,但我不知道您是否想要透過單獨的文件進行工作。

相關內容