cours-snt/template_cours.cls
2021-01-19 21:04:29 +01:00

325 lines
7.9 KiB
TeX
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

% This is a Latex template, inspired from
% http://tutex.tug.org/pracjourn/2005-4/hefferon/hefferon.pdf
%
% Copyright © 2019 Adrian Amaglio <adrian@amaglio.fr>
% This work is free. You can redistribute it and/or modify it under the
% terms of the Do What The Fuck You Want To Public License, Version 2,
% as published by Sam Hocevar. See http://www.wtfpl.net/ for more details.
% --- Class structure: identification part
% ---
\ProvidesClass{article_adrian}[Cours en lycée]
\NeedsTeXFormat{LaTeX2e}
%\usepackage{../tof2}
% --- Class structure: declaration of options part
% ---
% This class extends the article class
% Read all the documentclass options; pass them to article,
% ---
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
% --- Class structure: execution of options part
% ---
\ProcessOptions \relax
% --- Class structure: Loading parent class
% ---
\LoadClass{article}
% --- Loading common packages
% ---
% Be utf-8 %
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
%\usepackage{amsmath}%why
%\usepackage{amsfonts}%why
%\usepackage{amssymb}%why
% Include pictures %
\usepackage{graphicx}
% Why
%\usepackage{array}
% To display typewriter style text
\usepackage{listings}
% --- Define hyperlinks style
% ---
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{pdfpagemode={UseOutlines},
bookmarksopen=true,
bookmarksopenlevel=0,
hypertexnames=false,
colorlinks=true, % Set to false to disable coloring links
citecolor=green!40!black!90, % The color of citations
linkcolor=red!40!black!80, % The color of references to document elements (sections, figures, etc)
urlcolor=blue!40!black!80, % The color of hyperlinks (URLs)
pdfstartview={FitV},
breaklinks=true,
}
% --- Define document margins
% ---
\setlength{\textheight}{715pt} \addtolength{\voffset}{-90pt}
\setlength{\textwidth}{485pt} \addtolength{\hoffset}{-70pt}
% --- Paper and page layout
% ---
\setlength{\parindent}{0pt}
\setlength{\headheight}{20pt}
% --- New page for each section
% ---
\usepackage{titlesec}
%\newcommand{\sectionbreak}{\pagebreak}
%not working as expected :(
% --- Define document font
% ---
\usepackage{mathpazo}
%Dyslexie
%OpenDyslexic (open-dyslexic) by Abelardo Gonzalez is licensed under a Creative Commons Attribution 3.0 Unported License
%Lexia Readable
% --- Register some information about the document
% ---
\newcommand{\thelicence}{\def\svgwidth{.1\columnwidth}\input{../../licences/cc-by-sa.pdf_tex}}
\renewcommand{\thelicence}{CC-BY-SA \url{https://creativecommons.org}} %TODO XXX remove
\newcommand{\thelevel}{SNT}
\newcommand{\thesequence}{Séquence 0}
% --- Store title, author and date to use them later, even after maketitle emptyed them
% ---
\let\titleoriginal\title % save original \title macro
\renewcommand{\title}[1]{ % substitute for a new \title
\titleoriginal{#1}% % define the real title
\def\thetitle{#1} % define \thetitle
}
\let\dateoriginal\date % save original \date macro
\renewcommand{\date}[1]{ % substitute for a new \date
\dateoriginal{#1}% % define the real date
\def\thedate{#1} % define \thedate
}
\let\authororiginal\author % save original \author macro
\renewcommand{\author}[1]{ % substitute for a new \author
\authororiginal{#1}% % define the real author
\def\theauthor{#1} % define \theauthor
}
% --- Header and footer
%---
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{\thedate}
\chead{\thelevel}
\rhead{\thesequence}
\usepackage{lastpage}
\renewcommand{\footrulewidth}{0.4pt}% default hline is 0pt
\lfoot{\theauthor}
\cfoot{\thepage \,/ \pageref{LastPage}}
\rfoot{\thelicence}
% --- Document title
% ---
% remove spacing around date:
%\usepackage{titling}
%\predate{}
%\postdate{}
\AtBeginDocument{%
\dateoriginal{} % clear date
\authororiginal{}
\maketitle
\thispagestyle{fancy}
}
% --- Academic year
% --- Use: \academicyear to display text like "2020-2021"
% --- Use: \academicyear[-1] to display text like "2019-2020"
% --- Use: \academicyear[0][/][ to display text like "2020/2021"
% TODO without global : https://tex.stackexchange.com/questions/94710/what-is-the-difference-between-local-and-global-in-a-tex-meaning
\usepackage{xparse}
\newcounter{myyear}
\newcounter{myyearprevious}
\newcounter{myyearnext}
\NewDocumentCommand{\academicyear}{O{0} O{-}}{
\begingroup
% Current year %
\setcounter{myyear}{\year}
\addtocounter{myyear}{#1}
% Previous year %
\setcounter{myyearprevious}{\value{myyear}}
\addtocounter{myyearprevious}{-1}
\addtocounter{myyearprevious}{#1}
% Next year %
\setcounter{myyearnext}{\value{myyear}}
\stepcounter{myyearnext}
\addtocounter{myyearnext}{#1}
% Print academic year %
\ifnum\month<8 \arabic{myyearprevious}#2\arabic{myyear} \else\arabic{myyear}#2\arabic{myyearnext}\fi
\endgroup
}
% --- my environments
% ---
\usepackage[many]{tcolorbox}
% 1: name
% 2: Text to display in cartouche
% 3: font color of cartouche
% 4: back color of cartouche
\newcommand{\myenvironment}[4]{
\newtcolorbox[
auto counter,
% number within=chapter
]{#1}{%
%breakable, % Bug, add a cartouche on new page, over text
enhanced,
colback=white,
colbacktitle=white,
arc=0pt,
boxrule=0pt,
leftrule=1pt,
rightrule=0pt,
toprule=0pt,
bottomrule=0pt,
titlerule=0pt,
colframe=#4,
fonttitle=\color{#4}\sffamily\scshape,
overlay={
\node[
outer sep=-1pt,
anchor=west,
fill=#4,
font=\color{#3}\sffamily\scshape
] at (title.west) {#2~\thetcbcounter};
},
adjusted title={}
}
}
\definecolor{yellowtitle}{RGB}{133,100,4}
\definecolor{yellowtitleback}{RGB}{255,243,205}
\definecolor{yellowtitleborder}{RGB}{255,238,196}
\myenvironment{example}{Exemple}{yellowtitle}{yellowtitleback}
\definecolor{turquoisetitle}{RGB}{12,84,96}
\definecolor{turquoisetitleback}{RGB}{209,236,241}
\definecolor{turquoisetitleborder}{RGB}{190,229,235}
\myenvironment{exercice}{Exercice}{turquoisetitle}{turquoisetitleback}
\definecolor{redtitle}{RGB}{114,28,36}
\definecolor{redtitleback}{RGB}{248,215,218}
\definecolor{redtitleborder}{RGB}{245,198,203}
\myenvironment{definition}{Définition}{redtitle}{redtitleback}
\definecolor{greentitle}{RGB}{21,87,36}
\definecolor{greentitleback}{RGB}{212,237,218}
\definecolor{greentitleborder}{RGB}{195,230,203}
\myenvironment{info}{Info}{greentitle}{greentitleback}
% --- Include tiks figures from external files
% --- Those figures supports beamer options that are ignored in article mode
% ---
% `mode=tex` means we will use the source file of the figures directly.
\usepackage[mode=tex]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,positioning}
% Create fake \onslide and other commands for standalone picture
\usepackage{xparse}
\NewDocumentCommand{\onslide}{s t+ d<>}{}
\NewDocumentCommand{\only}{d<>}{}
\NewDocumentCommand{\uncover}{d<>}{}
\NewDocumentCommand{\visible}{d<>}{}
\NewDocumentCommand{\invisible}{d<>}{}
% --- Some nice left bar
% ---
\usepackage{framed}
\usepackage{xcolor}
\renewenvironment{leftbar}[1][\hsize]
{%
\def\FrameCommand
{%
{\color{turquoisetitleborder}\vrule width 3pt}%
\hspace{0pt}%must no space.
\fboxsep=\FrameSep\colorbox{turquoisetitleback}%
}%
\MakeFramed{\hsize#1\advance\hsize-\width\FrameRestore}%
}
{\endMakeFramed}
% --- Hide some block if the variable is 0
% ---
% ---
\usepackage{ifthen}
\newif\ifanswers
\answerstrue % comment out to hide answers
% Actual answer command
\newcommand{\answer}[1]{
\ifanswers
\begin{itshape}
\leftbar
#1
\endleftbar
\end{itshape}
\fi
}
% --- Question env
% ---
\newcounter{questions}
\setcounter{questions}{1}
\newenvironment{question}
{
\textbf{Question \arabic{questions}}
\stepcounter{questions}
}{
}
\newcommand{\questions}[1]{
\textbf{Question \arabic{questions}}
\stepcounter{questions}
#1
}
% --- Some default values
% ---
\date{\academicyear}
\title{}
\author{}