我自己进行了一个尝试。我将元素section in toc
的模板fancytoc
的内容改写为一个tblr环境,如果这样行得通的话,那真的能在大体上实现需求,但是,这样会得到一个不允许在 LR mode 中使用
的错误。
最小工作示例:
\documentclass[aspectratio=169]{beamer}
%%------------------------------------
%%------------------------------------
\usepackage{varwidth}
\defbeamertemplate{section in toc}{fancytoc}{%
\leavevmode\leftskip=4mm%
\llap{\hbox to 4mm{\inserttocsectionnumber.\hfil}}%
\begin{varwidth}[t]{20em}\inserttocsection\end{varwidth}\par%
}
\setbeamertemplate{section in toc}[fancytoc]
%%------------------------------------
%%------------------------------------
\usepackage{tikz}
\usetikzlibrary{calc}
\NewDocumentCommand{\drawmwehelplines}{}{%
\tikz[remember picture,overlay]{
\draw ([shift={(1cm,-1cm)}]current page.north west) -|
([shift={(-1cm,1cm)}]current page.south east) -|
([shift={(1cm,-1cm)}]current page.north west) -- cycle;
\coordinate (toccenter) at ($([shift={(2.8cm,1cm)}]current page.south west)!.5!([shift={(-1cm,-1cm)}]current page.north east)$);
\fill [red]
(toccenter) circle (2pt);
\draw [cyan]
($(-2cm,-1.5cm)+(toccenter)$) rectangle
($(2cm,1.5cm)+(toccenter)$);
\draw [dashed,red,very thick]
($(-6.1cm,-3.5cm)+(toccenter)$) rectangle
($(6.1cm,3.5cm)+(toccenter)$);
}%
}
%%------------------------------------
%%------------------------------------
\begin{document}
\frame{
\drawmwehelplines
\contentsname
\tableofcontents
}
\section{section section section section section section section section section section one}
\frame{\frametitle{section one}some text}
\section{section two}
\frame{\frametitle{section two}some text}
\end{document}