latex beamer 设置圆模板半径

latex beamer 设置圆模板半径

我认为使用模板时枚举/目录中的圆圈太小了circle。这就是为什么我查看文档并发现可以使用[circle]{<radius>}模板(参见beameruserguide.pdf第 11 页)。所以我尝试了一下,并想出了

\documentclass[hyperref={colorlinks=false,breaklinks=true}]{beamer}

\setbeamertemplate{subsection in toc}[circle]{3pt}

\begin{document}
\begin{frame}
\tableofcontents
\end{frame}

\section{Section 1}
\begin{frame}{1}
\end{frame}

\section{Section 2}
\begin{frame}{2}
\end{frame}


\section{Section3}
\begin{frame}{3}
\end{frame}
\end{document}

现在编译时,出现以下错误:

mwe/main.tex:3: LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.3 ...beamertemplate{subsection in toc}[circle]{3
                                                  pt}

我知道有一些解决方案(比如这个) 定义新模板等等。但不知何故,这似乎很肮脏,尤其是因为至少根据文档,包/类中已经有了这种修改的方法。

我是否做错了什么或者文档中是否有误?

我还在源代码中搜索了模板(发现这里)但是我没有足够的经验来说在代码中没有任何东西可以将圆半径作为参数(我没有看到它,并不意味着它不存在,因为我对 beamer 模板没有那么多经验)。

编辑:尝试过pdflatexlualatex两次都出现相同的错误。

答案1

有些 beamer 模板被定义为接受参数,对于它们来说,您的代码是有效的,但圆形section in toc模板的定义没有附加参数,大小是硬编码的。如果您想更改大小,您必须重新定义模板:

\documentclass[hyperref={colorlinks=false,breaklinks=true}]{beamer}

\makeatletter
\setbeamertemplate{section in toc}{%
  \leavevmode\leftskip=2ex%
  \llap{%
    \usebeamerfont*{section number projected}%
    \usebeamercolor{section number projected}%
    \begin{pgfpicture}{-1ex}{0ex}{1ex}{2ex}
      \color{bg}
      \pgfpathcircle{\pgfpoint{0pt}{.75ex}}{2.2ex}% <- change here
      \pgfusepath{fill}
      \pgftext[base]{\color{fg}\inserttocsectionnumber}
    \end{pgfpicture}\kern1.25ex%
  }%
  \inserttocsection\par}
\makeatother

\begin{document}
\begin{frame}
\tableofcontents
\end{frame}

\section{Section 1}
\subsection{title}
\begin{frame}{1}
\end{frame}

\section{Section 2}
\begin{frame}{2}
\end{frame}


\section{Section3}
\begin{frame}{3}
\end{frame}
\end{document}

在此处输入图片描述

相关内容