Create custom latex class
This commit is contained in:
parent
b3ce03a406
commit
e066a2653a
1 changed files with 186 additions and 0 deletions
186
cours.cls
Normal file
186
cours.cls
Normal file
|
@ -0,0 +1,186 @@
|
|||
\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}
|
Loading…
Reference in a new issue