Commit Graph

251 Commits

Author SHA1 Message Date
4e784ab09e Define two new env from app env.
One with another without a title.
2019-01-13 10:21:50 +01:00
031f6a31a5 Correct the distance between text and title in bookmark style. 2019-01-13 10:19:57 +01:00
0edcfd66e2 Divide the app env into two new envs with or without title. 2019-01-13 10:19:10 +01:00
daddccb173 Clean code an correct method env 2019-01-13 10:18:09 +01:00
b0fb047730 An major update of my document class for beamer curses. 2018-12-19 13:41:27 +01:00
871a4febe0 An major update of my document class for curses. 2018-12-19 13:41:12 +01:00
98a3df483f Update. 2018-12-19 13:36:16 +01:00
04271d848e Update. 2018-12-08 20:25:10 +01:00
c74dced34e Update. 2018-11-25 21:54:27 +01:00
7a4ff9cce7 Clean code to be lesser than 80 chars of width. 2018-11-07 23:55:37 +01:00
892d36557d Clean code to be lesser than 80 chars of width 2018-11-07 23:52:04 +01:00
9c8d1ad2f7 Clean code. 2018-11-04 10:17:40 +01:00
db27c5a701 Clean code. 2018-11-04 10:16:13 +01:00
6174f6b98d Add a new shortcut for a font. 2018-11-04 10:15:58 +01:00
732aed0f62 Update. 2018-10-20 08:56:57 +02:00
d9fc8a1064 Update. 2018-10-16 23:08:59 +02:00
9d1b07a0ff Update. 2018-10-16 23:08:54 +02:00
f283381500 Update. 2018-10-16 23:08:37 +02:00
c6deffed18 Update. 2018-10-04 22:32:37 +02:00
4b53e6a1c9 Update. 2018-09-25 06:42:35 +02:00
78a38e2fb0 Update. 2018-09-11 07:52:15 +02:00
3162af5cdb Change name of class cours_prof. 2018-09-03 16:09:35 +02:00
e8d30abc7b Update. 2018-09-03 16:08:40 +02:00
bce0884381 Clean code: change comments. 2018-08-20 16:11:57 +02:00
9421778f04 Clean code: change comments. 2018-08-20 15:59:45 +02:00
829f241c35 Change some presentation parameters. 2018-08-20 15:38:13 +02:00
d3f329b902 Update. 2018-08-19 19:58:59 +02:00
f3ba1e5721 Update. 2018-02-16 15:56:32 +01:00
f06ceac1cf Clean code. 2018-01-11 13:05:19 +01:00
0ff072f78e - Correct global counter of slides and Add env. with icons for déf, ppt and thm. 2017-10-15 20:54:31 +02:00
f8edb116cb Change subsections numbering style in ToC. 2017-08-31 22:48:42 +02:00
593c9ef3dd Section and subsection colors are beamercolors. 2017-08-27 01:22:10 +02:00
51a412d874 Fix bugs. 2017-08-25 19:22:30 +02:00
02e109ac45 Redefine section and subsection colors as beamercolors and fix call to them. 2017-08-25 17:09:23 +02:00
9ed879a599 Set colors of blocks and item under it. 2017-08-25 16:58:11 +02:00
b9d81f6d1a Define default beamer colors. 2017-08-25 14:41:22 +02:00
27c11f3478 Set the color vars for section and subsection to debianred and lapislazuli. 2017-08-24 18:41:50 +02:00
36cefe7310 Deactivate the options treatment as they're will be set with templates. 2017-08-24 18:40:37 +02:00
342d138239 Change default color option options of the class. 2017-08-24 18:38:09 +02:00
c1ab3c58af %%%
%%%
%%% Classe 	: cours_beamer.cls
%%% Version : 1.6
%%% Date 	: 08/12/14
%%% Auteur 	: Jeff LANCE
%%%
%%%

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{cours_beamer}[2014/12/08 Beamer de cours, v1.6]

%-- PARENT CLASS
% inutile de passer l'option [utf8] puisque chargee dans commun.sty
\LoadClassWithOptions{beamer}
%---------------

%-- PACKAGES CALLS
% perso
\RequirePackage{couleurs}
\RequirePackage{commun}
\RequirePackage{shortcuts}
% autres
\RequirePackage{media9}
\RequirePackage{xkeyval}
%-----------------

\makeatletter

%-- DEF OPTIONS
% sectioncolor / subsectioncolor
% 	option de classe
%	  couleurs générales du beamer
%
%   "classical" way
%   \def\sectioncolor{red}%
%   \define@key{cours_beamer.cls}{section}[red]{%
%     \def\sectioncolor{#1}%
%   }
%
%   \def\subsectioncolor{blue}%
%   \define@key{cours_beamer.cls}{subsectioncolor}[blue]{%
%     \def\subsectioncolor{#1}%
%   }

\DeclareOptionX{sectioncolor}[red]{%
  \def\sectioncolor{#1}%
}
\DeclareOptionX{subsectioncolor}[blue]{%
  \def\subsectioncolor{#1}%
}

\ExecuteOptionsX{sectioncolor, subsectioncolor}
\ProcessOptionsX
%--------------

%-- SETTINGS
\graphicspath{{images/}}
\addmediapath{{videos/}}

%%% COLORS USED IN BLOCKS %%%
% Colors used in block and environments
% I don't like the default flashy green and the blue so i redefined it
\colorlet{green}{green!40!gray}
\colorlet{blue}{airforceblue}

\colorlet{definition}{red}
\colorlet{theorem}{red}
\colorlet{property}{red}
\colorlet{proof}{violet}
\colorlet{vocabulary}{blue}
\colorlet{remark}{red}
\colorlet{method}{orange}
\colorlet{example}{green}
\colorlet{exercise}{blue}
\colorlet{application}{blue}

\colorlet{sectioncolor}{\sectioncolor}
\colorlet{subsectioncolor}{\subsectioncolor}

%%% DEFAULT BEAMER THEME OPTIONS %%%
\usetheme{Madrid}
\useinnertheme{circles}
\useoutertheme{default}
\usefonttheme{professionalfonts}
\setbeamertemplate{footline}{}
%%%%%%%%%%%%%%%%%%%%

%%% ENUMERATE %%%
\setbeamerfont{enumerate item}{family=\rmfamily}
\setbeamercolor*{enumerate item}{fg=black}
\setbeamertemplate{enumerate item}{\textbf{\insertenumlabel.}}
%%%%%%%%%%%%%%%%%

%%% ITEMIZE %%%
\setbeamertemplate{itemize item}[circle]
\setbeamercolor*{itemize item}{fg=black}
\setbeamertemplate{itemize subitem}{\textendash}
%%%%%%%%%%%%%%%

%%% NAVIGATION %%%
\setbeamertemplate{navigation symbols}{%
	\insertframenavigationsymbol
	\insertsectionnavigationsymbol
}
%%%%%%%%%%%%%%%%%%

%%% ToC %%%
% change l'espace vertical entre les sections
\patchcmd{\beamer@sectionintoc}
{\vfill}
{\setlength{\itemsep}{10pt}\vskip\itemsep}
{}
{}
% change le symbole pour lister
\defbeamertemplate{subsection in toc}{bullets}{%
	\leavevmode
	\parbox[t]{1em}{\textbullet\hfill}%
	\parbox[t]{\dimexpr\textwidth-1em\relax}{\inserttocsubsection}\par
}
\defbeamertemplate{section in toc}{sections numbered roman}{%
	\leavevmode%
	{\bfseries
		\MakeUppercase{\romannumeral\inserttocsectionnumber}.\ %
		\inserttocsection\par
	}
}
\setbeamertemplate{section in toc}[sections numbered roman]
\setbeamercolor{section in toc}{fg=sectioncolor}
\setbeamertemplate{subsection in toc}[bullets]
\setbeamercolor{subsection in toc}{fg=subsectioncolor}
%%%%%%%%%%%

%%% 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={sectioncolor},roundcorner=5pt,%
	apptotikzsetting={
		\tikzset{
			mdfbackground/.append style={
				shading=partiebkg
			}
		}
	}
}
%
\mdfdefinestyle{sspartie}{
	outerlinewidth=1em, outerlinecolor=white,%
	% leftmargin=-1em, rightmargin=-1em,%
	middlelinewidth=1.2pt, linecolor=subsectioncolor,roundcorner=5pt,%
	apptotikzsetting={
		\tikzset{
			mdfbackground/.append style={
				shading=partiebkg
			}
		}
	}
}
%%%%%%%%%%%%%%%%
%-----------

%-- OWN COMMANDS

% \titre{TITRE}{ANNÉE}{AUTEUR}{LIEU}
% defini le titre du document
\newcommand{\titre}[4]{%
	\title{#1}
	\subtitle{#2}
	\date{#3}
	\author{Cours}
	\institute{#4}
}

% \debut et \fin
% renvoie les slides d'intro et de cloture du document
\newcommand{\debut}{%
	\begin{frame}
		\titlepage
	\end{frame}
}

\newcommand{\fin}{%
	\section*{Plan}
	\begin{frame}
		\begin{center}{\Large Plan }\end{center}
		\tableofcontents
	\end{frame}
}

% \partie{TITRE} et \sspartie{TITRE}
% 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{sectioncolor}{\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{subsectioncolor}{\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
}

%%% BLOCKS %%%
% definition de divers blocks personnels : definition, theoreme, exemple,
% exercice (avec numerotation), remarque, method.

% Auxiliary command to set color of certain element of beamer
\NewDocumentCommand \setbeamercolorto { g }{%
  	\setbeamercolor*{block title}{fg=#1,bg=#1!10!white}
  	\setbeamercolor*{enumerate item}{fg=#1}
    \setbeamercolor*{enumerate subitem}{fg=#1}
    \setbeamercolor*{enumerate subsubitem}{fg=#1}
	\setbeamercolor*{itemize item}{fg=#1}
    \setbeamercolor*{itemize subitem}{fg=#1}
    \setbeamercolor*{itemize subsubitem}{fg=#1}
	\setbeamercolor*{item}{fg=#1}
}

% déf(*)(TITRE)
\NewDocumentEnvironment{déf}{ s g }{%begin
	\setbeamercolorto{definition}
	\IfBooleanTF #1
	{
		\IfNoValueTF {#2} {
			\begin{block} {}
		}{
			\begin{block} {#2}
		}
	}{
		\IfNoValueTF {#2} {
			\begin{block} {Définition}
		}{
			\begin{block} {Définition - #2}
		}
	}
}{%end
		\end{block}
}

% thm(TITRE)
\NewDocumentEnvironment{thm}{ g }{%begin
	\setbeamercolorto{theorem}
	\IfNoValueTF {#1} {
		\begin{block} {Théorème}
	}{
		\begin{block} {Théorème - #1}
	}
}{%end
	\end{block}
}

% ppt(*)(TITRE)
\NewDocumentEnvironment{ppt}{ s g }{%begin
	\setbeamercolorto{property}
	\IfBooleanTF #1
	{
		\IfNoValueTF {#2} {
			\begin{block} {}
		}{
			\begin{block} {#2}
		}
	}{
		\IfNoValueTF {#2} {
			\begin{block} {Propriété}
		}{
			\begin{block} {Propriété - #2}
		}
	}
}{%end
		\end{block}
}

% pre(TITRE)
\NewDocumentEnvironment{pre}{ g }{%begin
	\setbeamercolorto{proof}
	\IfNoValueTF {#1} {
		\begin{block} {Preuve}
	}{
		\begin{block} {#1}
	}
}{%end
	\end{block}
}

% voc(TITRE)
\NewDocumentEnvironment{voc}{ g }{%begin
	\setbeamercolorto{vocabulary}
	\IfNoValueTF {#1} {
		\begin{block} {Vocabulaire}
	}{
		\begin{block} {#1}
	}
}{%end
	\end{block}
}

% rmq(TITRE)
\NewDocumentEnvironment{rmq}{ G{Remarque} }{%begin
	\setbeamercolorto{remark}
	\begin{block} {\faExclamationTriangle \hspace{.125em} #1}
}{%end
	\end{block}
}

% met<0|i|I|a|A|1>(TITRE)
\newcounter{methodecounter}
\NewDocumentEnvironment{met} { O{0} g }{%begin
	\setbeamercolorto{method}
	\ifthenelse{ \NOT \equal{#1}{0} }{
		\ifthenelse{ \equal{#1}{i} }
		{
			\def\cType{\roman}
		}
		{
			\ifthenelse{ \equal{#1}{I} }
			{
				\def\cType{\Roman}
			}
			{
				\ifthenelse{ \equal{#1}{a} }
				{
					\def\cType{\alph}
				}
				{
					\ifthenelse{ \equal{#1}{A} }
					{
						\def\cType{\Alph}
					}
					{
						\def\cType{\arabic}
					}
				}
			}
		}
		\stepcounter{methodecounter}
		\IfNoValueTF {#2} {
			\begin{block}{\faCogs \hspace{.125em} Méthode \cType{methodecounter}\ }
		}{
			\begin{block}{\faCogs \hspace{.125em} Méthode \cType{methodecounter}\ - #2}
		}
	}{
		\IfNoValueTF {#2} {
			\begin{block}{\faCogs \hspace{.125em} Méthode\ }
		}{
			\begin{block}{\faCogs \hspace{.125em} Méthode\ - #2}
		}
	}
}{%end
	\end{block}
}

% exe(TITRE)
\NewDocumentEnvironment{exe}{ G{Exemple} }{%begin
	\setbeamercolorto{example}
	\begin{block} {\faLightbulbO \hspace{.125em} #1}
}{%end
	\end{block}
}

% exo<0|i|I|a|A|1>(TITRE)
\newcounter{exercicecounter}
\NewDocumentEnvironment{exo} { O{0} G{Exercice} }{%begin
	\setbeamercolorto{exercise}
	\ifthenelse{ \NOT \equal{#1}{0} }{
		\ifthenelse{ \equal{#1}{i} }
			{
				\def\cType{\roman}
			}
			{
				\ifthenelse{ \equal{#1}{I} }
				{
					\def\cType{\Roman}
				}
				{
					\ifthenelse{ \equal{#1}{a} }
					{
						\def\cType{\alph}
					}
					{
						\ifthenelse{ \equal{#1}{A} }
						{
							\def\cType{\Alph}
						}
						{
							\def\cType{\arabic}
						}
					}
				}
			}
		\stepcounter{exercicecounter}
		\begin{block}{#2 \cType{exercicecounter}\ }
	}{
		\begin{block}{#2\ }
	}
}{%end
	\end{block}
}

% app<0|i|I|a|A|1>(TITRE)
\newcounter{applicationcounter}
\NewDocumentEnvironment{app} { O{0} G{Application} }{%begin
	\setbeamercolorto{application}
	\ifthenelse{ \NOT \equal{#1}{0} }{
		\ifthenelse{ \equal{#1}{i} }
			{
				\def\cType{\roman}
			}
			{
				\ifthenelse{ \equal{#1}{I} }
				{
					\def\cType{\Roman}
				}
				{
					\ifthenelse{ \equal{#1}{a} }
					{
						\def\cType{\alph}
					}
					{
						\ifthenelse{ \equal{#1}{A} }
						{
							\def\cType{\Alph}
						}
						{
							\def\cType{\arabic}
						}
					}
				}
			}
		\stepcounter{applicationcounter}
		\begin{block}{\faFileTextO \hspace{.125em} #2 \cType{applicationcounter}\ }
	}{
		\begin{block}{\faFileTextO \hspace{.125em} #2\ }
	}
}{%end
	\end{block}
}
%%%%%%%%%%%%%%

%%% TiKZ %%%
% Define the possibility to make (dis)appear something in a beamer.
\tikzset{
  invisible/.style={opacity=0},
  visible on/.style={alt=#1{}{invisible}},
  alt/.code args={<#1>#2#3}{%
    \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
  },
}
%%%%%%%%%%%%

%%% AUTRES %%%
% \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}%
}
%%%%%%%%%%%%%%

%%% Continue numbering in lists %%%
\newcounter{saveenumi}
\newcommand{\seti}{\setcounter{saveenumi}{\value{enumi}}}
\newcommand{\conti}{\setcounter{enumi}{\value{saveenumi}}}
\resetcounteronoverlays{saveenumi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%---------------

\makeatother
2017-08-24 18:30:25 +02:00
1434b40245 Change options name: firstcolor/secondcolor -> subsectioncolor/sectioncolor. 2017-08-24 16:46:22 +02:00
a5bd1c1bcc Change default color: purple -> violet. 2017-08-24 16:32:08 +02:00
0f51b22cb5 Set color for (sub)sections to main1 and main2 defined names. And change purple to violet. 2017-08-24 16:31:13 +02:00
60de34ac19 Revert Clean code. 2017-08-24 16:20:53 +02:00
3b3a085f1f Clean code. 2017-08-24 16:11:42 +02:00
9198bb3748 Set color for (sub)sections to main1 and main2 defined names. And change purple to violet.. 2017-08-24 01:49:25 +02:00
51aba024f1 Define color of items in env the same as the current block they are: red items for definitions as the block is red colored. 2017-08-24 01:15:57 +02:00
17df4a8c39 Set the color of enumerate and itemize items in block/env the same as the block/env color. 2017-08-23 10:23:26 +02:00
221c8ce720 Define colors blocks and envs. Names are generic so don't need to change color code in block but at the beginning of the file 2017-08-23 10:12:54 +02:00
2236ef5d69 Update. 2017-08-21 17:26:22 +02:00