198 lines
5.8 KiB
TeX
198 lines
5.8 KiB
TeX
\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[T1]{fontenc}
|
||
\RequirePackage{fancyhdr} % la mise en page
|
||
\RequirePackage[dvipsnames,x11names]{xcolor} % Un peu de couleur !
|
||
\RequirePackage{float}
|
||
\RequirePackage{subcaption}
|
||
\RequirePackage{subfiles}
|
||
\RequirePackage{hyperref}
|
||
\hypersetup{
|
||
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
|
||
\vspace*{-2cm}
|
||
\includegraphics[width=\linewidth]{../../img/bandeau-master-e3a}\\
|
||
\vspace{1cm}
|
||
{\huge \textsc{M1 E3A - Voie André Ampère}}
|
||
\vspace{1cm}
|
||
% \includegraphics[height=4cm]{Saphire} \\
|
||
\vfill
|
||
\@ifundefined{@module}
|
||
{}
|
||
{%
|
||
\baselineskip=2\baselineskip
|
||
{\Huge \textbf{\textsc{Module \@module}}}\\
|
||
%\baselineskip=0.5\baselineskip
|
||
}\vfill
|
||
\@ifundefined{@title}
|
||
{}
|
||
{{\LARGE \textbf{\@title}}}
|
||
\vfill
|
||
\@ifundefined{@date}{}{%
|
||
{\LARGE Version du \@date}
|
||
\vfill}
|
||
\@ifundefined{@author}
|
||
{}{%
|
||
{\Large
|
||
{\raggedright
|
||
\underline{Un cours de :}}\hfill
|
||
{\raggedleft
|
||
\underline{Rédigé et complété par :}} \\
|
||
{\raggedright \textsc{\@teacher}}\hfill
|
||
{\raggedleft \textsc{\@author}}}}\\
|
||
\vspace{1cm}
|
||
\includegraphics[width=6cm]{../../img/ENSPS}
|
||
\hfill
|
||
\includegraphics[width=6cm]{../../img/UPS}\\
|
||
\vspace{0.5cm}
|
||
\includegraphics[width=\linewidth]{../../img/bandeau-eea}
|
||
\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{lemme}{o}{%
|
||
\begin{center}\begin{minipage}{0.8\textwidth}
|
||
\thmbox[M]{\textbf{Lemme \IfNoValueTF{#1}{}{\em (#1)}}}%
|
||
%\hspace*{-1.5em}%
|
||
}
|
||
{%
|
||
\endthmbox\vspace*{.75ex}\end{minipage}\end{center}%
|
||
}
|
||
|
||
\newenvironment{rem}{\par\textbf{Remarque: }\nopagebreak}{\par}
|
||
\newenvironment{exemple}[1][\unskip]{\par\textbf{Exemple: }\textit{#1}
|
||
\nopagebreak}{\par}
|
||
\newenvironment{preuve}{\par\textit{Démonstration: }\nopagebreak}{\par}
|