latex-homework/cours/cours_beamer.cls

282 lines
5.6 KiB
OpenEdge ABL
Raw Normal View History

%%%
%%%
2016-03-31 17:49:20 +00:00
%%% Classe : cours_beamer.cls
%%% Version : 1.5
%%% Date : 08/12/14
%%% Auteur : Jeff LANCE
%%%
%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{cours_beamer}[2014/12/08 Slides de cours, v1.5]
%-- classe de base
% inutile de passer l'option [utf8] puisque chargee dans commun.sty
\LoadClassWithOptions{beamer}
%-- %
%-- extensions
% perso
\RequirePackage{couleurs}
\RequirePackage{commun}
2016-05-10 21:21:20 +00:00
\RequirePackage{shortcuts}
% autres
\RequirePackage{media9}
%-- %
%-- definitions
%-- %
%-- paramètrages
2016-03-31 17:49:20 +00:00
\graphicspath{{images/}}
\addmediapath{{videos/}}
2016-03-31 17:49:20 +00:00
\usetheme{Madrid}
\useinnertheme{circles}
\useoutertheme{default}
\usefonttheme{serif}
% enumerate
\setbeamerfont{enumerate item}{family=\rmfamily}
\setbeamertemplate{enumerate item}{\textbf{\insertenumlabel.}}
% itemize
\setbeamertemplate{itemize item}[triangle]
\setbeamertemplate{itemize subitem}[circle]
\setbeamertemplate{navigation symbols}{%
\insertframenavigationsymbol
\insertsectionnavigationsymbol
}
2016-05-10 13:33:50 +00:00
% sections
% \setbeamertemplate{section}{
% \def\cType{\Roman}
% \cType{section}.%
2016-05-10 13:33:50 +00:00
% \inserttocsection\par
% }
% \renewcommand{\thesection}{
% \def\cType{\Roman}
% \cType{section}.
% }
% \renewcommand{\thesubsection}{\arabic{subsection})}
2016-05-10 13:33:50 +00:00
% mdframed
\pgfdeclarehorizontalshading{partiebkg}{100bp}{
color(0bp)=(white!40);color(100bp)=(black!0)
}
%
\pgfdeclarehorizontalshading{sspartiebkg}{100bp}{
color(0bp)=(white!40);color(100bp)=(black!0)
}
\mdfdefinestyle{partie}{
outerlinewidth=1em, outerlinecolor=white,%
% leftmargin=-1em, rightmargin=-1em,%
middlelinewidth=1.2pt, linecolor=red,roundcorner=5pt,%
apptotikzsetting={
\tikzset{
mdfbackground/.append style={
shading=partiebkg
}
}
}
}
%
\mdfdefinestyle{sspartie}{
outerlinewidth=1em, outerlinecolor=white,%
% leftmargin=-1em, rightmargin=-1em,%
middlelinewidth=1.2pt, linecolor=blue,roundcorner=0pt,%
apptotikzsetting={
\tikzset{
mdfbackground/.append style={
shading=partiebkg
}
}
}
}
%-- %
%% MACROS : DEBUT
\makeatletter
%-- Macros personnelles
2016-05-10 21:32:32 +00:00
% \titre
% defini le titre du document
\newcommand{\titre}[4]{%
\title{#1}
\subtitle{Cours}
\date{#2}
2016-04-05 11:26:35 +00:00
\author{#3}
\institute{#4}
}
% \debut | \fin
% renvoie les slides d'intro et de cloture du document
\newcommand{\debut}{%
\begin{frame}
\titlepage
\end{frame}
}
%
\newcommand{\fin}{%
\section*{Plan}
\begin{frame}
2016-03-22 12:27:06 +00:00
\begin{center}{\Large Plan }\end{center}
\tableofcontents
\end{frame}
}
2016-03-22 14:02:38 +00:00
% \partie | \sspartie
% definie un slide de titre pour une (sous)section
\newcounter{partiecounter}
\newcounter{sspartiecounter}
\NewDocumentCommand \partie { G{Partie} } {%
\def\cType{\Roman}
\stepcounter{partiecounter}
\setcounter{sspartiecounter}{0}
\section{#1}
\begin{frame}
\begin{center}
\begin{mdframed}[style=partie]
\centering \textcolor{red}{\textbf{ \cType{partiecounter}. #1}}
\end{mdframed}
\end{center}
\end{frame}
}
%
\NewDocumentCommand \sspartie { G{Sous-Partie} } {%
\def\cType{\arabic}
\stepcounter{sspartiecounter}
\subsection{#1}
\begin{frame}
\begin{center}
\begin{mdframed}[style=sspartie]
\centering \textcolor{blue}{\textbf{ \cType{sspartiecounter}) #1}}
\end{mdframed}
\end{center}
\end{frame}
}
% \ftitre
% definie le titre des frames de section et de sous-section en fonction
% des (sous)sections actuellement definies
\NewDocumentCommand \ftitre { }{%
\ifnum \value{partiecounter}>0
\frametitle{\textbf{\Roman{partiecounter}. \insertsection}}
\fi
\ifnum \value{sspartiecounter}>0
\framesubtitle{\textbf{\arabic{sspartiecounter}) \insertsubsection}}
\fi
}
2016-03-22 14:02:38 +00:00
% blocks
2016-05-10 21:32:32 +00:00
% definition de divers blocks personnels : definition, theoreme, exemple,
% exercice (avec numerotation), remarque
\NewDocumentEnvironment{déf}{ G{Définition} }{%begin
\setbeamercolor{block title}{fg=crimson,bg=pink!95!white}
\begin{block} {#1}
}{%end
\end{block}
2016-03-31 17:49:20 +00:00
}
2016-03-22 14:02:38 +00:00
%
\NewDocumentEnvironment{thm}{ G{Théorème} }{%begin
\setbeamercolor{block title}{fg=white,bg=cerisepink!95!white}
\begin{block} {#1}
}{%end
\end{block}
2016-03-31 17:49:20 +00:00
}
%
\newenvironment<>{pre}[1][]{%begin
\setbeamercolor{block title}{fg=white,bg=airforceblue!75!black}%
\begin{block}{Preuve}{#1}
}{%end
\end{block}
}
%
\NewDocumentEnvironment{rmq}{ G{Remarque} }{%begin
2016-03-31 17:49:20 +00:00
\setbeamercolor{block title}{fg=white,bg=red!75!black}%
2016-04-07 20:21:56 +00:00
\begin{block} {#1}
}{%end
\end{block}
2016-03-31 17:49:20 +00:00
}
2016-03-22 14:02:38 +00:00
%
2016-04-07 20:21:56 +00:00
\NewDocumentEnvironment{exe}{ G{Exemple} }{%begin
2016-03-31 17:49:20 +00:00
\setbeamercolor{block title}{fg=white,bg=green!75!black}%
2016-04-07 20:21:56 +00:00
\begin{block} {#1}
}{%end
\end{block}
2016-03-31 17:49:20 +00:00
}
2016-03-22 14:02:38 +00:00
%
2016-03-31 17:49:20 +00:00
\newcounter{exercicecounter}
2016-04-07 20:21:56 +00:00
\NewDocumentEnvironment{exo} { O{0} G{Exercice} }{%begin
2016-03-31 17:49:20 +00:00
\setbeamercolor{block title}{fg=white,bg=blue!75!black}%
2016-04-07 20:21:56 +00:00
\ifthenelse{ \NOT \equal{#1}{0} }{
\ifthenelse{ \equal{#1}{i} }
2016-03-31 17:49:20 +00:00
{
\def\cType{\roman}
2016-03-31 17:49:20 +00:00
}
{
\ifthenelse{ \equal{#1}{I} }
2016-03-31 17:49:20 +00:00
{
\def\cType{\Roman}
2016-03-31 17:49:20 +00:00
}
{
\ifthenelse{ \equal{#1}{a} }
2016-03-31 17:49:20 +00:00
{
\def\cType{\alph}
2016-03-31 17:49:20 +00:00
}
{
\ifthenelse{ \equal{#1}{A} }
{
\def\cType{\Alph}
}
{
\def\cType{\arabic}
}
2016-03-31 17:49:20 +00:00
}
}
}
\stepcounter{exercicecounter}
2016-04-07 20:21:56 +00:00
\begin{block}{#2 \cType{exercicecounter}\ }
}{
2016-04-07 20:21:56 +00:00
\begin{block}{#2\ }
}
}{%end
\end{block}
2016-03-31 17:49:20 +00:00
}
2016-05-10 21:32:32 +00:00
% \includemovie
% permet d'inclure une video dans une frame
\newcommand{\includemovie}[3]{%
\includemedia[%
width=#1,height=#2,%
activate=pagevisible,%
deactivate=pageclose,%
addresource=#3,%
flashvars={%
source=#3 % same path as in addresource!
&autoPlay=false % default: false; if =true, automatically starts playback after activation (see option activation)
&loop=false % if loop=true, media is played in a loop
&controlBarAutoHideTimeout=0 % time span before auto-hide
}%
]{}{VPlayer.swf}%
}
%--%
% Macros modifiées
% - %
\makeatother
%% MACROS : FIN