Beamer: TOC 内のセクションにはフレームはありませんが、次の tocsectionnumber があります

Beamer: TOC 内のセクションにはフレームはありませんが、次の tocsectionnumber があります

特に次の質問に関連しています:

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 2

答え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{...}。これらの変更は、私が好む表示順序を取得するために行われただけです。

答え1 答え2 答え3

関連情報