Sur un diaporama Beamer, j'aimerais mettre certaines notes de bas de page (très courtes) sur deux colonnes, mais sans que cela ne s'applique à toutes mes notes de bas de page. J'ai trouvé le code suivant sur internet permettant de redéfinir la commande %multi-colums footnote \makeatletter \renewcommand{\@makefntext}[1]% {\parindent 0em\everypar={\hangafter 1\hangindent 0em}\raggedright \noindent\@makefnmark\hskip 1em\ignorespaces#1} %%%%%%%%%%%%%%%%%%%% \renewcommand<>\beamer@framefootnotetext[1]{% \global\setbox\beamer@footins\vbox{% \hsize0.5\framewidth%NEW \textwidth\hsize \columnwidth\hsize \unvbox\beamer@footins \reset@font\footnotesize \@parboxrestore \protected@edef\@currentlabel {\csname p@footnote\endcsname\@thefnmark}% \color@begingroup \uncover#2{\@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}}% \color@endgroup}} \def\beamer@autobreakframebox{% \global\setbox\beamer@splitbox=\box\voidb@x% \ifbeamer@autobreak% % Ok, frame was overful -> split it! \setbox\@tempboxa=\vsplit\beamer@framebox to\beamer@autobreakfactor\textheight% \global\setbox\beamer@splitbox=\box\beamer@framebox% \@tempdima=\ht\beamer@splitbox% \ifdim\@tempdima<\beamer@autobreaklastheight% \global\beamer@autobreaklastheight=\@tempdima\relax% \else% \setbox\@tempboxa=\vbox{\unvbox\@tempboxa\unvbox\beamer@splitbox}% \global\setbox\beamer@splitbox=\box\voidb@x% \fi% \setbox\beamer@framebox=\vbox to\textheight{\unvbox\@tempboxa% \vskip\beamer@framebottomskipautobreak% \ifvoid\beamer@splitbox% \ifvoid\beamer@footins% \else% \begingroup \usebeamercolor*[fg]{footnote}% \footnoterule % \setlength{\multicolsep}{0pt}%NEW \begin{multicols}{2}%NEW \unvbox \beamer@footins% \end{multicols}%NEW \global\setbox\beamer@footins=\box\voidb@x% \endgroup \fi% \fi% \beamer@exitcode% }% \else% \setbox\beamer@framebox=\vbox to\textheight{\unvbox\beamer@framebox% \vskip\beamer@framebottomskip% \ifvoid\beamer@footins% \else% \begingroup \usebeamercolor*[fg]{footnote}% \footnoterule % \setlength{\multicolsep}{0pt}%NEW \begin{multicols}{2}%NEW \unvbox \beamer@footins % \end{multicols}%NEW \global\setbox\beamer@footins=\box\voidb@x% \endgroup \fi% \beamer@exitcode}% \global\setbox\beamer@footins=\box\voidb@x% \fi% } \makeatother \setbeamertemplate{navigation symbols}{} %end multi-columns footnote J'ai aussi demandé à ce que les notes de bas de page soient référencées par des lettres (plutôt que par des numéros) : \renewcommand{\thefootnote}{\alph{footnote}} Problème : désormais, toutes mes notes de bas de page sont désormais écrites sur deux colonnes... Ci-joint un ECM (dans la première diapo, j'obtiens l'effet voulu, mais pas dans la seconde...) : \documentclass[french]{beamer} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{multicol} \usepackage{mathtools, stmaryrd, amsmath} \usepackage{amssymb} \usepackage{xcolor} \usetheme{Warsaw} \setbeamertemplate{theorems}[numbered] \setbeamertemplate{block}[numbered] \usepackage{lipsum} \usepackage[french]{babel} %multi-colums footnote \makeatletter \renewcommand{\@makefntext}[1]% {\parindent 0em\everypar={\hangafter 1\hangindent 0em}\raggedright \noindent\@makefnmark\hskip 1em\ignorespaces#1} %%%%%%%%%%%%%%%%%%%% \renewcommand<>\beamer@framefootnotetext[1]{% \global\setbox\beamer@footins\vbox{% \hsize0.5\framewidth%NEW \textwidth\hsize \columnwidth\hsize \unvbox\beamer@footins \reset@font\footnotesize \@parboxrestore \protected@edef\@currentlabel {\csname p@footnote\endcsname\@thefnmark}% \color@begingroup \uncover#2{\@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}}% \color@endgroup}} \def\beamer@autobreakframebox{% \global\setbox\beamer@splitbox=\box\voidb@x% \ifbeamer@autobreak% % Ok, frame was overful -> split it! \setbox\@tempboxa=\vsplit\beamer@framebox to\beamer@autobreakfactor\textheight% \global\setbox\beamer@splitbox=\box\beamer@framebox% \@tempdima=\ht\beamer@splitbox% \ifdim\@tempdima<\beamer@autobreaklastheight% \global\beamer@autobreaklastheight=\@tempdima\relax% \else% \setbox\@tempboxa=\vbox{\unvbox\@tempboxa\unvbox\beamer@splitbox}% \global\setbox\beamer@splitbox=\box\voidb@x% \fi% \setbox\beamer@framebox=\vbox to\textheight{\unvbox\@tempboxa% \vskip\beamer@framebottomskipautobreak% \ifvoid\beamer@splitbox% \ifvoid\beamer@footins% \else% \begingroup \usebeamercolor*[fg]{footnote}% \footnoterule % \setlength{\multicolsep}{0pt}%NEW \begin{multicols}{2}%NEW \unvbox \beamer@footins% \end{multicols}%NEW \global\setbox\beamer@footins=\box\voidb@x% \endgroup \fi% \fi% \beamer@exitcode% }% \else% \setbox\beamer@framebox=\vbox to\textheight{\unvbox\beamer@framebox% \vskip\beamer@framebottomskip% \ifvoid\beamer@footins% \else% \begingroup \usebeamercolor*[fg]{footnote}% \footnoterule % \setlength{\multicolsep}{0pt}%NEW \begin{multicols}{2}%NEW \unvbox \beamer@footins % \end{multicols}%NEW \global\setbox\beamer@footins=\box\voidb@x% \endgroup \fi% \beamer@exitcode}% \global\setbox\beamer@footins=\box\voidb@x% \fi% } \makeatother \setbeamertemplate{navigation symbols}{} %end multi-columns footnote \renewcommand{\thefootnote}{\alph{footnote}} \begin{document} \author{Auteur} \title{Titre} \institute{} \date{} \begin{frame} \frametitle{Propriétés} \begin{block}{} \begin{enumerate} \item T auto-adjoint \footnote[frame]{$T^* = T$}<+-> $\implies \sigma(T) \subset \mathbb{R}$ ; \item T positif \footnote[frame]{$T^* = T$ et $\langle Tx, x \rangle \geqslant 0, \forall \, x \in H$}<+-> $\iff \sigma(T) \subset \mathbb{R}_+$ ; \item T unitaire \footnote[frame]{$T^*T=TT^* = Id$}<+-> $\implies \sigma(T) \subset \mathbb{T}$ ; \item T normal \footnote[frame]{$T^*T=TT^*$}<+-> $\implies \lVert T \rVert = r(T)$ ; \item $\lVert T \rVert^2 = \lVert T^* T \rVert = r(T^* T)$. \end{enumerate} \end{block} \end{frame} \begin{frame} \lipsum[1]\footnote{\lipsum[2]} \end{frame} \end{document} Posée 10 Fév '23, 13:39 endomorphisme denis ♦♦ |
On peut s'en sortir en définissant un environnement de « frame » spécial ( \documentclass[french]{beamer} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{multicol} \usepackage{mathtools, stmaryrd} \usepackage{amssymb} \usetheme{Warsaw} \setbeamertemplate{theorems}[numbered] \setbeamertemplate{block}[numbered] \usepackage{lipsum} \usepackage{babel} %multi-colums footnote \makeatletter \NewDocumentCommand{\fndb}{}{% \renewcommand{\@makefntext}[1]% {\parindent 0em\everypar={\hangafter 1\hangindent 0em}\raggedright \noindent\@makefnmark\hskip 1em\ignorespaces##1} %%%%%%%%%%%%%%%%%%%% \renewcommand<>\beamer@framefootnotetext[1]{% \global\setbox\beamer@footins\vbox{% \hsize0.5\framewidth%NEW \textwidth\hsize \columnwidth\hsize \unvbox\beamer@footins \reset@font\footnotesize \@parboxrestore \protected@edef\@currentlabel {\csname p@footnote\endcsname\@thefnmark}% \color@begingroup \uncover##2{\@makefntext{% \rule\z@\footnotesep\ignorespaces##1\@finalstrut\strutbox}}% \color@endgroup}} \def\beamer@autobreakframebox{% \global\setbox\beamer@splitbox=\box\voidb@x% \ifbeamer@autobreak% % Ok, frame was overful -> split it! \setbox\@tempboxa=\vsplit\beamer@framebox to\beamer@autobreakfactor\textheight% \global\setbox\beamer@splitbox=\box\beamer@framebox% \@tempdima=\ht\beamer@splitbox% \ifdim\@tempdima<\beamer@autobreaklastheight% \global\beamer@autobreaklastheight=\@tempdima\relax% \else% \setbox\@tempboxa=\vbox{\unvbox\@tempboxa\unvbox\beamer@splitbox}% \global\setbox\beamer@splitbox=\box\voidb@x% \fi% \setbox\beamer@framebox=\vbox to\textheight{\unvbox\@tempboxa% \vskip\beamer@framebottomskipautobreak% \ifvoid\beamer@splitbox% \ifvoid\beamer@footins% \else% \begingroup \usebeamercolor*[fg]{footnote}% \footnoterule % \setlength{\multicolsep}{0pt}%NEW \begin{multicols}{2}%NEW \unvbox \beamer@footins% \end{multicols}%NEW \global\setbox\beamer@footins=\box\voidb@x% \endgroup \fi% \fi% \beamer@exitcode% }% \else% \setbox\beamer@framebox=\vbox to\textheight{\unvbox\beamer@framebox% \vskip\beamer@framebottomskip% \ifvoid\beamer@footins% \else% \begingroup \usebeamercolor*[fg]{footnote}% \footnoterule % \setlength{\multicolsep}{0pt}%NEW \begin{multicols}{2}%NEW \unvbox \beamer@footins % \end{multicols}%NEW \global\setbox\beamer@footins=\box\voidb@x% \endgroup \fi% \beamer@exitcode}% \global\setbox\beamer@footins=\box\voidb@x% \fi% } } \makeatother \newenvironment<>{dbframe}[1][]{% \fndb \begin{frame}#2[environment=dbframe,#1]% }{% \end{frame}% } \setbeamertemplate{navigation symbols}{} %end multi-columns footnote \renewcommand{\thefootnote}{\alph{footnote}} \begin{document} \author{Auteur} \title{Titre} \institute{} \date{} \begin{dbframe} \frametitle{Propriétés} \begin{block}{} \begin{enumerate} \item T auto-adjoint \footnote[frame]{$T^* = T$}<+-> $\implies \sigma(T) \subset \mathbb{R}$ ; \item T positif \footnote[frame]{$T^* = T$ et $\langle Tx, x \rangle \geqslant 0, \forall \, x \in H$}<+-> $\iff \sigma(T) \subset \mathbb{R}_+$ ; \item T unitaire \footnote[frame]{$T^*T=TT^* = Id$}<+-> $\implies \sigma(T) \subset \mathbb{T}$ ; \item T normal \footnote[frame]{$T^*T=TT^*$}<+-> $\implies \lVert T \rVert = r(T)$ ; \item $\lVert T \rVert^2 = \lVert T^* T \rVert = r(T^* T)$. \end{enumerate} \end{block} \end{dbframe} \begin{frame} Bla bla\footnote{\lipsum[2]} \end{frame} \end{document} Publiée 14 Fév '23, 16:37 denis ♦♦ @denis :
(14 Fév '23, 19:22)
Pathe ♦♦
Hum... « db » comme « double ».
(14 Fév '23, 21:14)
denis ♦♦
|
On pourrait le faire manuellement : \documentclass[french]{beamer} %\usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} %\usepackage{multicol} \usepackage{mathtools, stmaryrd, amsmath} %\usepackage{amssymb} %\usepackage{xcolor} \usetheme{Warsaw} \setbeamertemplate{theorems}[numbered] \setbeamertemplate{block}[numbered] \usepackage{lipsum} \usepackage[french]{babel} \setbeamertemplate{navigation symbols}{} %end multi-columns footnote \begin{document} \author{Auteur} \title{Titre} \institute{} \date{} { \renewcommand{\thefootnote}{\alph{footnote}} \begin{frame} \frametitle{Propriétés} \begin{block}{} \begin{enumerate} \item T auto-adjoint \footnote<+->[frame]{$T^* = T$\hfill\visible<2->{\parbox{.45\textwidth}{b. $T^* = T$ et $\langle Tx, x \rangle \geqslant 0, \forall \, x \in H$}}} $\implies \sigma(T) \subset \mathbb{R}$ ; \item T positif \footnotemark[2]\refstepcounter{footnote}$\iff \sigma(T) \subset \mathbb{R}_+$ ; \item T unitaire \footnote<3->[frame]{$T^*T=TT^* = Id$\hfill\visible<4->{\parbox{.45\textwidth}{d. $T^*T=TT^*$}}} $\implies \sigma(T) \subset \mathbb{T}$ ; \item T normal \footnotemark[4]\refstepcounter{footnote} $\implies \lVert T \rVert = r(T)$ ; \item $\lVert T \rVert^2 = \lVert T^* T \rVert = r(T^* T)$. \end{enumerate} \end{block} \end{frame} } \begin{frame} \lipsum[1]\footnote{\lipsum[2]} \end{frame} \end{document} Publiée 10 Fév '23, 15:03 samcarter Ne pourrait-on pas plutôt avoir une bascule qui nous fasse obtenir localement la disposition des notes de bas de page en deux colonnes ?
(10 Fév '23, 15:39)
endomorphisme
@endomorphisme Pas facile ...
(10 Fév '23, 17:29)
samcarter
|
Bienvenue sur TeXnique.fr !
Les formules de politesse et les signatures sont à éviter : celle(s) de votre contribution a (ont) été supprimée(s).
Attention ! Les contre-obliques (
\
) saisies telles quelles dans les contributions ne sont visibles que si elles sont insérées en tant que⟨code⟩
. Pour insérer du⟨code⟩
, notamment des commandes LaTeX, cf. la FAQ Comment mettre en forme ma contribution ?. Merci de corriger votre contribution si cela n'a pas déjà été fait.