\NeedsTeXFormat{LaTeX2e} \ProvidesClass{cours}[2019/01/09 LaTeX class for Lessons] \makeatletter % Base Class \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} \ProcessOptions\relax % Main packages \LoadClass[12pt,a4paper,french,titlepage]{book} \RequirePackage[french]{babel} % pour ecrire en francais \RequirePackage[left=2.00cm, right=2.00cm, top=3.00cm, bottom=3.00cm]{geometry} % la mise en page % Packages \RequirePackage[utf8]{inputenc} % encodage \RequirePackage{fancyhdr} % la mise en page \RequirePackage[dvipsnames,x11names]{xcolor} % Un peu de couleur ! \RequirePackage{float} \RequirePackage{subcaption} \RequirePackage{subfiles} \RequirePackage{hyperref} \hypersetup{ bookmarks=true, % show bookmarks bar? unicode=true, % non-Latin characters in Acrobat’s bookmarks pdftoolbar=true, % show Acrobat’s toolbar? pdfmenubar=true, % show Acrobat’s menu? pdffitwindow=false, % window fit to page when opened pdfstartview={FitH}, % fits the width of the page to the window pdftitle=\@title, % title pdfauthor=\@author, % author colorlinks=true, % false: boxed links; true: colored links linkcolor=black, % color of internal links citecolor=OliveGreen, % color of links to bibliography filecolor=magenta, % color of file links urlcolor=BlueViolet % color of external links } \RequirePackage{tikz} \usetikzlibrary{fit} \usetikzlibrary{positioning} \RequirePackage{schemabloc} \usepackage[european,cuteinductors,siunitx,straightvoltages]{circuitikz} \tikzset{every picture/.style={execute at begin picture={\shorthandoff{:;!?};}}} \usetikzlibrary{positioning, fit, calc} \RequirePackage{pgfplots} \RequirePackage{mathtools} \RequirePackage{amsfonts} \RequirePackage{mathrsfs} \RequirePackage{amssymb} \RequirePackage[section]{placeins} % Oblige a placer toutes les figures avant de passer a la section suivante %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% Custom title Page %%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\teacher#1{\gdef\@teacher{#1}} \def\module#1{\gdef\@module{#1}} \RequirePackage{setspace} \renewcommand{\maketitle}{% \begin{titlepage} \centering {\huge \textsc{M1 E3A - Voie André Ampère}} \vspace{1cm} % \includegraphics[height=4cm]{Saphire} \\ \vfill \@ifundefined{@module} {} {% \baselineskip=2\baselineskip {\LARGE \textsc{Module \@module}}\\ \baselineskip=0.5\baselineskip } \vspace{1cm}\vfill \@ifundefined{@title} {} {{\Huge \textbf{\@title}}} \vfill \@ifundefined{@author} {}{% {\Large \underline{Un cours de :}\\ \vspace{1em} \textsc{\@teacher} \\ \vspace{0.5cm} \underline{Rédigé et complété par :} \\ \vspace{1em} \textsc{\@author}} \vfill} \@ifundefined\@date{}{% {\LARGE Version du \@date} \vfill} % \includegraphics[width=6cm]{ENSPS} % \hfill % \includegraphics[width=6cm]{UPS} \end{titlepage}} % pas de début de section dans la moitié inférieure d'une page \RequirePackage{needspace} \renewcommand{\section}{ \needspace{0.3\textheight}% \@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\reset@font\Large\bfseries}} \raggedbottom \setcounter{secnumdepth}{3} \renewcommand{\thesection}{\arabic{section}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% BOITES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{tikz,environ} \tikzstyle{mybox} = [draw=black, very thick, rectangle, inner sep=10pt, inner ysep=20pt] \tikzstyle{fancytitle} = [draw=black, fill=white, text=black] \NewEnviron{defin}{\par \begin{center} \begin{tikzpicture} \node [mybox] (box){% \begin{minipage}{0.8\textwidth} \BODY \end{minipage} }; \node[fancytitle, right=10pt] at (box.north west) {\textbf{Définition}}; \end{tikzpicture}\end{center}\par } % \NewEnviron{thm}{\par % \begin{center} % \begin{tikzpicture} % \node [mybox] (box){% % \begin{minipage}{0.8\textwidth} % \BODY % \end{minipage} }; % \node[fancytitle, right=10pt] at (box.north west) {\textbf{Théorème}}; % \end{tikzpicture}\end{center}\par %} \RequirePackage{thmbox} \RequirePackage{xparse} \NewDocumentEnvironment{prop}{o}{% \begin{center}\begin{minipage}{0.8\textwidth} \thmbox[M]{\textbf{Proposition \IfNoValueTF{#1}{}{\em (#1)}}}% %\hspace*{-1.5em}% } {% \endthmbox\vspace*{.75ex}\end{minipage}\end{center}% } \NewDocumentEnvironment{thm}{o}{% \begin{center}\begin{minipage}{0.8\textwidth} \thmbox[M]{\textbf{Théorème \IfNoValueTF{#1}{}{\em (#1)}}}% %\hspace*{-1.5em}% } {% \endthmbox\vspace*{.75ex}\end{minipage}\end{center}% } \NewDocumentEnvironment{corol}{o}{% \begin{center}\begin{minipage}{0.8\textwidth} \thmbox[M]{\textbf{Corollaire \IfNoValueTF{#1}{}{\em (#1)}}}% %\hspace*{-1.5em}% } {% \endthmbox\vspace*{.75ex}\end{minipage}\end{center}% } \NewDocumentEnvironment{lemEM}{o}{% \begin{center}\begin{minipage}{0.8\textwidth} \thmbox[M]{\textbf{Lemme ergodique maximal \IfNoValueTF{#1}{}{\em (#1)}}}% %\hspace*{-1.5em}% } {% \endthmbox\vspace*{.75ex}\end{minipage}\end{center}% } \newenvironment{rem}{\par\textbf{Remarque: }\nopagebreak}{\par} \newenvironment{exemple}{\par\textbf{Exemple: }\nopagebreak}{\par} \newenvironment{preuve}{\par\textit{Démonstration: }\nopagebreak}{\par}