特別與以下問題相關:
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{...}
。這些更改只是為了獲得我喜歡的顯示順序。