尤其与以下问题相关:
tex.stackexchange.com/questions/376836
我想知道如何获取没有任何框架的部分的目录中的下一个编号?
让问题变得更加复杂一点的是:我正在使用定制的方块来制作目录中的各个部分,如下所示:
tex.stackexchange.com/questions/422192
到目前为止我能做的最好的就是以下 MWE,
\documentclass{beamer}
\defbeamertemplate{section in toc}{my squares toc}
{\leavevmode\leftskip=1.75ex%
\llap{%
\usebeamerfont*{section number projected}%
\usebeamercolor[bg]{section number projected}%
\vrule width2.9ex height2.32ex depth.78ex%
\hskip-2.8ex%
\hbox to2.7ex{\hfil\color{fg}\inserttocsectionnumber\hfil}}%
\kern1.5ex\inserttocsection\par}
\setbeamertemplate{section in toc}[my squares toc]
\makeatletter
\newcommand\immaddtocontents[1]{{%
\let\protect\@unexpandable@protect
\immediate\write\@auxout{\noexpand\@writefile{toc}{#1}}%
}}
\makeatother
\begin{document}
\begin{frame}{TOC}
\tableofcontents
\end{frame}
\section{The first section}
\begin{frame}
Some text.
\end{frame}
\section{The second section}
\immaddtocontents{\vfill \leavevmode\leftskip=1.75ex \protect\usebeamercolor[fg]{section in toc}
\kern1.5ex \insertsection \par}
\end{document}
答案1
我自己找到了一个解决方案。万一有人对我的问题感兴趣,我就提出解决方案。
然而,它有点笨重,我很欣赏任何改进。
\documentclass{beamer}
\defbeamertemplate{section in toc}{my squares toc}
{\leavevmode\leftskip=1.75ex%
\llap{%
\usebeamerfont*{section number projected}%
\usebeamercolor[bg]{section number projected}%
\vrule width2.9ex height2.32ex depth.78ex%
\hskip-2.8ex%
\hbox to2.7ex{\hfil\color{fg}\inserttocsectionnumber\hfil}}%
\kern1.5ex\inserttocsection\par}
\setbeamertemplate{section in toc}[my squares toc]
\makeatletter
\newcommand\immaddtocontents[1]{{%
\let\protect\@unexpandable@protect
\immediate\write\@auxout{\noexpand\@writefile{toc}{#1}}%
}}
\makeatother
\begin{document}
\begin{frame}{TOC}
\tableofcontents[pausesections]
\end{frame}
\section{The first section}
\begin{frame}
Some text.
\end{frame}
\section{The second section}
\immaddtocontents{\onslide<2->{\vfill \leavevmode\leftskip=1.75ex \protect\usebeamercolor[fg]{section in toc}
\llap{%
\usebeamerfont*{section number projected}%
%\color{my color background}% %\usebeamercolor[fg or bg]{beamer-color name} does not work
\vrule width2.9ex height2.32ex depth.78ex%
\hskip-2.8ex%
\hbox to2.7ex{\hfil\color{white}\insertsectionnumber\hfil}}% %color{fg} changed to \color{white}
\kern1.5ex \insertsection \par}}
\end{document}
正如所见,我只更改了\immaddtocontents{...}
没有幻灯片的部分,并模仿了定义的section in toc
模板。我遇到了颜色问题,我用某种方式修复了这些问题。
我需要更改颜色命令-\usebeamercolor[bg]{...}
但\color[fg]
由于某种原因,它不起作用。
问题中的代码与代码的其他区别是[pausesections]
after\tableofcontents
和\onslide...
inside选项\immaddtocontents{...}
。这些更改只是为了获得我喜欢的显示顺序。