latex-homework/cours/cours_prof.cls

280 lines
8.8 KiB
OpenEdge ABL
Raw Normal View History

%%%
%%%
%%% Classe : cours_prof.cls
%%% Version : 1.0
%%% Date : 09/11/16
%%% Auteur : Jeff LANCE
%%%
%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{cours_prof}[2016/11/09 Document de cours imprimable A4 pour prof ou élève, V1.0]
%-- classe de base
\LoadClass[a4paper, 12pt, DIV=24]{scrartcl}
%--%
%-- extensions
% PERSONNELLES
% commun: contient des définitions et extensions de base pour tout.
\RequirePackage{commun}
\RequirePackage{shortcuts}
% sortie
% \RequirePackage[pdftex]{graphicx}
\RequirePackage{comment}
% mise en page
\RequirePackage{geometry}
\RequirePackage{scrlayer-scrpage}
2016-12-27 15:39:52 +00:00
% \RequirePackage{mdframed}
\RequirePackage{titlesec}
\RequirePackage{pageslts}
%--%
%-- paramétrages
% metapost
\ifpdf
\DeclareGraphicsRule{*}{mps}{*}{}
\fi
% tkz
\usetkzobj{all} % on charge tous les objets
% format de la page
\geometry{a4paper, hmargin=.7cm, vmargin=2cm}
% titre, en-tête, pied de page
\cofoot*{\thepage\ /\ \pageref{LastPage}}
\pagestyle{scrheadings}
\setkomafont{title}{\Comic}
% (sub)sections
\titleformat{\section}[block]{\sffamily\bfseries\Large}{\thesection.}{.5em}{}[]
\titleformat{\subsection}[block]{\sffamily\bfseries\large\hspace{2em}}{\thesubsection)}{.5em}{}[]
\renewcommand \thesection{\Roman{section}}
\renewcommand \thesubsection{\arabic{subsection}}
% paths
\graphicspath{{images/}}
% mdframed
\mdfsetup{
frametitlealignment=\raggedright,%
innerbottommargin=2em,%
}
2016-12-28 01:41:40 +00:00
\tikzset{
symbol/.style={
rectangle, draw=white,
fill=white, scale=1,
overlay
}
}
\mdfdefinestyle{frm}{%
linecolor=black,linewidth=1pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
2016-12-28 01:41:40 +00:00
innerleftmargin=.5em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%innertopmargin=\topskip,%
nobreak=true,%
xcolor,%
}
2016-12-28 01:41:40 +00:00
\mdfdefinestyle{clr}{%
2016-12-08 22:03:36 +00:00
linecolor=white,linewidth=0pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=0,innerbottommargin=0,%
2016-12-28 01:41:40 +00:00
innerleftmargin=.5em,innerrightmargin=.5em,%
2016-12-08 22:03:36 +00:00
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%innertopmargin=\topskip,%
xcolor,%
}
2016-12-27 15:10:58 +00:00
\mdfdefinestyle{cmpl}{%
2016-12-27 10:05:49 +00:00
linecolor=black,linewidth=1pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
2016-12-28 01:41:40 +00:00
innerleftmargin=1em,innerrightmargin=.5em,%
2016-12-27 10:05:49 +00:00
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%innertopmargin=\topskip,%
nobreak=true,%
xcolor,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
}
2016-12-28 01:41:40 +00:00
\mdfdefinestyle{dash}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,dashed,line width=1pt},%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
2016-12-28 01:41:40 +00:00
innerleftmargin=.5em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%innertopmargin=\topskip,%
nobreak=true,%
xcolor,%
}
2016-12-28 01:41:40 +00:00
\mdfdefinestyle{qte}{%
2016-12-27 15:39:52 +00:00
linecolor=white,linewidth=1pt,%
2016-12-27 15:10:58 +00:00
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
2016-12-28 01:41:40 +00:00
innerleftmargin=1em,innerrightmargin=.5em,%
2016-12-27 15:10:58 +00:00
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%innertopmargin=\topskip,%
nobreak=true,%
xcolor,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft }
2016-12-27 15:10:58 +00:00
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
2016-12-27 15:10:58 +00:00
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft }
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
2016-12-27 15:10:58 +00:00
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft }
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
2016-12-27 15:10:58 +00:00
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft }
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
2016-12-27 15:10:58 +00:00
}
2016-12-28 01:08:35 +00:00
\mdfdefinestyle{todo}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,line width=1pt},%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
2016-12-28 01:41:40 +00:00
innerleftmargin=1em,innerrightmargin=.5em,%
2016-12-28 01:08:35 +00:00
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%innertopmargin=\topskip,%
nobreak=true,%
xcolor,%
% hidealllines=true, topline=true, bottomline=true,%
shadow=true,%
% backgroundcolor=gray!40,% FOR TEST ONLY
2016-12-28 01:08:35 +00:00
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faFileTextO };
},%
2016-12-28 01:08:35 +00:00
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faFileTextO };
},%
2016-12-28 01:08:35 +00:00
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faFileTextO };
},%
2016-12-28 01:08:35 +00:00
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faFileTextO };
},%
2016-12-28 01:08:35 +00:00
}
2016-12-27 15:39:52 +00:00
\mdfdefinestyle{warn}{%
2016-12-27 15:10:58 +00:00
linecolor=black,linewidth=1pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
2016-12-28 01:41:40 +00:00
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%innertopmargin=\topskip,%
nobreak=true,%
xcolor,%
2016-12-27 15:39:52 +00:00
hidealllines=true, leftline=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
2016-12-27 10:05:49 +00:00
}
\mdtheorem[style=cmpl, theoremseparator={ - }, theoremspace={}, roundcorner=8pt]{déf}{Définition}
\mdtheorem[style=cmpl, theoremseparator={ - }, theoremspace={}, outerlinewidth=1pt, outerlinecolor=black]{thm}{Théorème}
\mdtheorem[style=cmpl, theoremseparator={ - }, theoremspace={}, outerlinewidth=1pt, outerlinecolor=black]{ppt}{Propriété}
\mdtheorem[style=frm, theoremseparator={ - }, theoremspace={}]{pre}{Preuve}
\mdtheorem[style=qte, theoremseparator={ - }, theoremspace={}]{voc}{Vocabulaire}
2016-12-28 02:21:46 +00:00
\mdtheorem[style=qte, frametitle=none, frametitleaboveskip=0em, frametitlebelowskip=0em]{qte}{}
\mdtheorem[style=warn, theoremseparator={ - }, theoremspace={}]{rmq}{Remarque}
\mdtheorem[style=frm, theoremseparator={ - }, theoremspace={}]{exe}{Exemple}
\mdtheorem[style=todo, theoremseparator={ - }, theoremspace={}]{exo}{Exercice}
\mdtheorem[style=todo, theoremseparator={ - }, theoremspace={}]{app}{Application}
\mdtheorem[style=todo, theoremseparator={ - }, theoremspace={}]{met}{Méthode}
%--%
%% MACROS : DEBUT
\makeatletter
% Fix error from KOMA-Script scrartcl class.
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
%-- Macros personnelles
% debut
\NewDocumentCommand \debut { G{Titre} G{Sous-titre} } {%
\title{#1}
\subtitle{#2}
\date{}
\maketitle
}
% commandes
% \partie | \sspartie
% definie un titre pour une (sous)section
\titleformat{\section}[block]{\sffamily\bfseries\Large}{\thesection.}{.5em}{}[]
\titleformat{\subsection}[block]{\sffamily\bfseries\large\hspace{2em}}{\thesubsection)}{.5em}{}[]
\renewcommand \thesection{\Roman{section}}
\renewcommand \thesubsection{\arabic{subsection}}
\newcounter{partiecounter}
\newcounter{sspartiecounter}
\NewDocumentCommand \partie { G{Partie} } {%
\def\cType{\Roman}
\stepcounter{partiecounter}
\setcounter{sspartiecounter}{0}
\section{#1}
}
%
\NewDocumentCommand \sspartie { G{Sous-Partie} } {%
\def\cType{\arabic}
\stepcounter{sspartiecounter}
\subsection{#1}
}
2017-01-03 21:10:04 +00:00
% % text ghosting
% \NewDocumentCommand \ghost { } {%
% \color{white}
% }
%-- %
\makeatother
%% MACROS : FIN