关于 beamer 目录和标题的两个问题

发布于 2022-08-13 13:50:44

在 beamer 中,如何改变目录页的页边距与 内容的水平对齐方式?
如何改变目录页中 section 的首个字符与前面小圆圈的水平间距。例如
下图中“小圆圈1” 与“第一部分”之间的水平距离怎么改变?
2cbf01db51b7236b6eeca1961951871a.png

在 frame 中使用了 allowframebreaks选项使内容可以跨页,但会使每一页都显示这个 frame 的标题,如何设置只在第一页显示该 frame 的标题,后面的几个分页都不显示标题?

查看更多

关注者
0
被浏览
3.9k
寄存器
寄存器 2022-08-14
这家伙很懒,什么也没写!

这些可以使用section in toc样式实现,一个简单的实现代码如下:

\documentclass{ctexbeamer}

% 带圈数字宏包
\usepackage{circledtext}
% 设置带圈数字样式(注意charcolor需要先设置)
\circledtextset{boxtype=o,charcolor=black,boxcolor=green,boxfill=green}

% 定义目录样式
\defbeamertemplate{section in toc}{circled numbered}{%
  \leavevmode% 进入水平模式
  \leftskip=0.2\textwidth% 左边距
  \llap{%
    \circledtext{\inserttocsectionnumber}% 带圈数字
  }%
  \kern 2em% 编号与item之间的水平间距
  \inserttocsection\par% 节标题
}

% 设置目录样式
\setbeamertemplate{section in toc}[circled numbered]

\begin{document}

\begin{frame}
  \frametitle{目录}
  \tableofcontents
\end{frame}

\section{第一部分}

\begin{frame}
  \frametitle{引言}
  针对....
\end{frame}

\section{第二部分}

\begin{frame}
  \frametitle{方法与材料}
  在天....
\end{frame}

\section{第三部分}

\begin{frame}
  \frametitle{结果}
  结果没错....
\end{frame}

\end{document}

其结果如下:
image.png

另一个标题问题,我觉得应该是保留标题更为合理。如果要改,同样可以通过\setbeamertemplate{frametitle continuation}设置样式解决:

\documentclass{ctexbeamer}

\usepackage{zhlipsum}

% 删除分页frame后续slides的标题
\makeatletter
\setbeamertemplate{frametitle continuation}{\gdef\beamer@frametitle{}}
\makeatother

\begin{document}
\begin{frame}[allowframebreaks]{分页首页标题}
  \zhlipsum[1]
  \framebreak
  \zhlipsum[2]
  \framebreak
  \zhlipsum[3]
\end{frame}

\begin{frame}{单页标题}
  \zhlipsum[4]
\end{frame}

\end{document}

结果为:
image.png

2 个回答
杨建伟-001
杨建伟-001 2022-08-13
这家伙很懒,什么也没写!

简单的办法就是在“第一部分”四个字前面添加若干~。注意因为属于目录层级,需要运行两次。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览