Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 5

15 Mai '19, 13:34

denis's gravatar image

denis
7.3k2510

Avec l'extension `tikz` on peut faire quelque chose comme ça : \documentclass{beamer} \usepackage{tikz} \usetikzlibrary{shadings} \usetikzlibrary{fadings} \colorlet{frametitleleft}{red} \colorlet{frametitleright}{blue} \makeatletter \pgfdeclarehorizontalshading{titlefont}{\paperheight}{% color(0cm)=(frametitleleft); color(2cm)=(frametitleright) } % from https://tex.stackexchange.com/questions/45744/how-to-put-color-gradient-to-desired-text-only \newcommand\shadetext[1]{% \begin{tikzfadingfrompicture}[name=tikzsection] \node[text=white,inner sep=0pt,outer sep=0pt,text width=.9\linewidth] {#1}; \end{tikzfadingfrompicture}% \begin{tikzpicture}% \node[text=white,inner sep=0pt,outer sep=0pt,text width=.9\linewidth,opacity=0] (textnode) {#1}; \shade[path fading=tikzsection,fit fading=false,shading=titlefont,text width=.9\linewidth,inner sep=0pt,outer sep=0pt] (textnode.south west) rectangle (textnode.north east); \end{tikzpicture}% } \setbeamertemplate{frametitle}{% \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}% \@tempdima=\textwidth% \advance\@tempdima by\beamer@leftmargin% \advance\@tempdima by\beamer@rightmargin% \begin{beamercolorbox}[sep=0.3cm,left,wd=\the\@tempdima]{frametitle} \usebeamerfont{frametitle}% \vbox{}\vskip-1ex% \if@tempswa\else\csname beamer@fteleft\endcsname\fi% \shadetext{\strut\insertframetitle}\par% {% \ifx\insertframesubtitle\@empty% \else% {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\par}% \fi }% \vskip-1ex% \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here... \end{beamercolorbox}% } \makeatother \begin{document} \begin{frame} \frametitle{Very very long frame title reaching the end of the line and continuing in the next line} \end{frame} \end{document} ![alt text][1] ----- On peut même combiner cela avec un fond en dégradés de couleurs des dégradés : \documentclass{beamer} \useoutertheme{shadow} \usepackage{tikz} \usetikzlibrary{shadings} \usetikzlibrary{fadings} \colorlet{titleleft}{yellow!30!white} \colorlet{titleright}{blue!20!black} \makeatletter \pgfdeclarehorizontalshading[titleleft,titleright] {beamer@frametitleshade} {\paperheight}{% color(0pt)=(titleleft); color(\paperwidth)=(titleright) } \pgfdeclarehorizontalshading{titlefont} {\paperheight} {% color(0cm)=(titleright); color(0.8cm)=(titleright); color(1.15cm)=(blue); color(1.65cm)=(blue!50!cyan); color(2cm)=(blue!10!cyan) } % from https://tex.stackexchange.com/questions/45744/how-to-put-color-gradient-to-desired-text-only \newcommand\shadetext[1]{% \begin{tikzfadingfrompicture}[name=tikzsection] \node [text=white,inner sep=0pt,outer sep=0pt,text width=.9\linewidth] {#1}; \end{tikzfadingfrompicture}% \begin{tikzpicture}% \node [text=white,inner sep=0pt,outer sep=0pt,text width=.9\linewidth,opacity=0] (textnode) {#1}; \shade[path fading=tikzsection,fit fading=false,shading=titlefont,text width=.9\linewidth,inner sep=0pt,outer sep=0pt] (textnode.south west) rectangle (textnode.north east); \end{tikzpicture}% } \setbeamertemplate{frametitle}{% \nointerlineskip% \vskip-2pt% \hbox{\leavevmode \advance\beamer@leftmargin by -12bp% \advance\beamer@rightmargin by -12bp% \beamer@tempdim=\textwidth% \advance\beamer@tempdim by \beamer@leftmargin% \advance\beamer@tempdim by \beamer@rightmargin% \hskip-\Gm@lmargin\hbox{% \setbox\beamer@tempbox=\hbox{\begin{minipage}[b]{\paperwidth}% \vbox{} \vskip-0.0ex% \leftskip0.3cm% \rightskip0.3cm plus1fil\leavevmode \usebeamercolor[fg]{frametitle}\shadetext{\usebeamerfont{frametitle}\strut\insertframetitle\strut}\par% \ifx\insertframesubtitle\@empty\else% {\usebeamerfont*{framesubtitle}{\usebeamercolor[fg]{framesubtitle}\insertframesubtitle}\strut\par}% \fi% \nointerlineskip \vbox{}% \end{minipage}}% \beamer@tempdim=\ht\beamer@tempbox% \advance\beamer@tempdim by 4pt% \begin{pgfpicture}{0pt}{0pt}{\paperwidth}{\beamer@tempdim} \usebeamercolor{frametitle right} \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{\paperwidth}{\beamer@tempdim}} \pgfusepath{clip} \pgftext[left,base]{\pgfuseshading{beamer@frametitleshade}} \end{pgfpicture} \hskip-\paperwidth% \box\beamer@tempbox% }% \hskip-\Gm@rmargin% }% \nointerlineskip \vskip-0.2pt \hbox to\textwidth{\hskip-\Gm@lmargin\pgfuseshading{beamer@topshade}\hskip-\Gm@rmargin} \vskip-2pt } \makeatother \begin{document} \begin{frame} \frametitle{Very very long frame title reaching the end of the line and continuing in the next line} \end{frame} \end{document} ![alt text][2] [1]: https://texnique.fr/osqa/upfiles/Screen_Shot_2019-05-14_at_23.59.44.png [2]: https://texnique.fr/osqa/upfiles/Screen_Shot_2019-05-15_at_00.04.53.png
cliquez ici pour masquer/afficher la révision 4

15 Mai '19, 04:11

samcarter's gravatar image

samcarter
8.6k2817

Avec l'extension `tikz` on peut faire quelque chose comme ça : \documentclass{beamer} \usepackage{tikz} \usetikzlibrary{shadings} \usetikzlibrary{fadings} \colorlet{frametitleleft}{red} \colorlet{frametitleright}{blue} \makeatletter \pgfdeclarehorizontalshading{titlefont}{\paperheight}{% color(0cm)=(frametitleleft); color(2cm)=(frametitleright) } % from https://tex.stackexchange.com/questions/45744/how-to-put-color-gradient-to-desired-text-only \newcommand\shadetext[1]{% \begin{tikzfadingfrompicture}[name=tikzsection] \node[text=white,inner sep=0pt,outer sep=0pt,text width=.9\linewidth] {#1}; \end{tikzfadingfrompicture}% \begin{tikzpicture}% \node[text=white,inner sep=0pt,outer sep=0pt,text width=.9\linewidth,opacity=0] (textnode) {#1}; \shade[path fading=tikzsection,fit fading=false,shading=titlefont,text width=.9\linewidth,inner sep=0pt,outer sep=0pt] (textnode.south west) rectangle (textnode.north east); \end{tikzpicture}% } \setbeamertemplate{frametitle}{% \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}% \@tempdima=\textwidth% \advance\@tempdima by\beamer@leftmargin% \advance\@tempdima by\beamer@rightmargin% \begin{beamercolorbox}[sep=0.3cm,left,wd=\the\@tempdima]{frametitle} \usebeamerfont{frametitle}% \vbox{}\vskip-1ex% \if@tempswa\else\csname beamer@fteleft\endcsname\fi% \shadetext{\strut\insertframetitle}\par% {% \ifx\insertframesubtitle\@empty% \else% {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\par}% \fi }% \vskip-1ex% \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here... \end{beamercolorbox}% } \makeatother \begin{document} \begin{frame} \frametitle{Very very long frame title reaching the end of the line and continuing in the next line} \end{frame} \end{document} ![alt text][1] ----- On peut même combiner cela avec un fond en couleurs des dégradés : \documentclass{beamer} \useoutertheme{shadow} \usepackage{tikz} \usetikzlibrary{shadings} \usetikzlibrary{fadings} \colorlet{titleleft}{yellow!30!white} \colorlet{titleright}{blue!20!black} \makeatletter \pgfdeclarehorizontalshading[titleleft,titleright] {beamer@frametitleshade} {\paperheight}{% color(0pt)=(titleleft); color(\paperwidth)=(titleright) } \pgfdeclarehorizontalshading{titlefont} {\paperheight} {% color(0cm)=(titleright); color(0.8cm)=(titleright); color(1.15cm)=(blue); color(1.65cm)=(blue!50!cyan); color(2cm)=(blue!10!cyan) } % from https://tex.stackexchange.com/questions/45744/how-to-put-color-gradient-to-desired-text-only \newcommand\shadetext[1]{% \begin{tikzfadingfrompicture}[name=tikzsection] \node [text=white,inner sep=0pt,outer sep=0pt,text width=.9\linewidth] {#1}; \end{tikzfadingfrompicture}% \begin{tikzpicture}% \node [text=white,inner sep=0pt,outer sep=0pt,text width=.9\linewidth,opacity=0] (textnode) {#1}; \shade[path fading=tikzsection,fit fading=false,shading=titlefont,text width=.9\linewidth,inner sep=0pt,outer sep=0pt] (textnode.south west) rectangle (textnode.north east); \end{tikzpicture}% } \setbeamertemplate{frametitle}{% \nointerlineskip% \vskip-2pt% \hbox{\leavevmode \advance\beamer@leftmargin by -12bp% \advance\beamer@rightmargin by -12bp% \beamer@tempdim=\textwidth% \advance\beamer@tempdim by \beamer@leftmargin% \advance\beamer@tempdim by \beamer@rightmargin% \hskip-\Gm@lmargin\hbox{% \setbox\beamer@tempbox=\hbox{\begin{minipage}[b]{\paperwidth}% \vbox{} \vskip-0.0ex% \leftskip0.3cm% \rightskip0.3cm plus1fil\leavevmode \usebeamercolor[fg]{frametitle}\shadetext{\usebeamerfont{frametitle}\strut\insertframetitle\strut}\par% \ifx\insertframesubtitle\@empty\else% {\usebeamerfont*{framesubtitle}{\usebeamercolor[fg]{framesubtitle}\insertframesubtitle}\strut\par}% \fi% \nointerlineskip \vbox{}% \end{minipage}}% \beamer@tempdim=\ht\beamer@tempbox% \advance\beamer@tempdim by 4pt% \begin{pgfpicture}{0pt}{0pt}{\paperwidth}{\beamer@tempdim} \usebeamercolor{frametitle right} \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{\paperwidth}{\beamer@tempdim}} \pgfusepath{clip} \pgftext[left,base]{\pgfuseshading{beamer@frametitleshade}} \end{pgfpicture} \hskip-\paperwidth% \box\beamer@tempbox% }% \hskip-\Gm@rmargin% }% \nointerlineskip \vskip-0.2pt \hbox to\textwidth{\hskip-\Gm@lmargin\pgfuseshading{beamer@topshade}\hskip-\Gm@rmargin} \vskip-2pt } \makeatother \begin{document} \begin{frame} \frametitle{Very very long frame title reaching the end of the line and continuing in the next line} \end{frame} \end{document} ![alt text][2] [1]: https://texnique.fr/osqa/upfiles/Screen_Shot_2019-05-14_at_23.59.44.pnghttps://texnique.fr/osqa/upfiles/Screen_Shot_2019-05-14_at_23.59.44.png [2]: https://texnique.fr/osqa/upfiles/Screen_Shot_2019-05-15_at_00.04.53.png
cliquez ici pour masquer/afficher la révision 3

15 Mai '19, 04:05

samcarter's gravatar image

samcarter
8.6k2817

cliquez ici pour masquer/afficher la révision 2

15 Mai '19, 04:02

samcarter's gravatar image

samcarter
8.6k2817

cliquez ici pour masquer/afficher la révision 1

15 Mai '19, 04:01

samcarter's gravatar image

samcarter
8.6k2817