Commit e066a265 authored by Pierre-antoine Comby's avatar Pierre-antoine Comby

Create custom latex class

parent b3ce03a4
\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}
\RequirePackage{circuitikz}
\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}}
\renewcommand{\maketitle}{%
\begin{titlepage}
\centering
{\huge \textsc{M1 E3A - Voie André Ampère}}
\vspace{1cm}
% \includegraphics[height=4cm]{Saphire} \\
\vfill
\@ifundefined{@module}
{}
{%
{\LARGE \textsc{Module \@module}}\\
}
\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}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment