cours-m1-eea/cours.cls
2019-04-08 12:08:08 +02:00

223 lines
6.6 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{../../cours}[2019/01/09 LaTeX class for Lessons]
\makeatletter
% Base Class
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
% Custom arguments
\def\teacher#1{\gdef\@teacher{#1}}
\def\module#1{\gdef\@module{#1}}
\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 Acrobats bookmarks
pdftoolbar=true, % show Acrobats toolbar?
pdfmenubar=true, % show Acrobats 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}
\RequirePackage[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
\RequirePackage{fancyhdr}
\pagestyle{fancy}
\fancyhf {}
\renewcommand{\chaptermark}[1]{\markboth{\bsc{\@chapapp~\thechapter{} :} #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection.{} #1}}
\renewcommand{\headrulewidth}{1pt} %Epaisseur de la ligne.
\renewcommand{\footrulewidth}{1pt} %Epaisseur de la ligne.
\fancyhead[LE]{\textsl{\leftmark}}
\fancyhead[LO]{{}}
\fancyhead[RO]{\textsl{\rightmark}}
\fancyhead[RE]{{}}
\fancyfoot[C]{\textit{\thepage}}
\fancyfoot[L]{\textsl{\@module}}
\fancyfoot[R]{M1 IST-E3A}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%% Custom title Page %%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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}}}\\
%\baselineskip=0.5\baselineskip
}\vfill
\@ifundefined{@title}
{}
{%
\baselineskip=2\baselineskip
{\Huge \textbf{\textsc{\@title}}}\\
%\baselineskip=0.5\baselineskip
}\vfill
{\LARGE\textbf{Note de Cours}}
\vfill
\@ifundefined{@date}{}{%
{\LARGE Version du \@date}
\vfill}
\@ifundefined{@author}
{}{%
{\Large
\begin{minipage}[t]{0.5\linewidth}
\raggedright
\underline{Un cours de:} \\
\textsc{\@teacher}
\end{minipage}\hfill
\begin{minipage}[t]{0.5\linewidth}
\raggedleft
\underline{Rédigé et amélioré par:} \\
\textsc{\@author}
\end{minipage}
}}\\
\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\medbreak
\noindent\textbf{Remarque: }\nopagebreak}{\medbreak\par}
\newenvironment{exemple}[1][\unskip]{\par\medbreak\noindent\textbf{Exemple: }\textit{#1} \nopagebreak}{\bigbreak\par}
\newenvironment{preuve}{\par\textit{Démonstration: }\nopagebreak}{\par}