Dans sa forme la plus simple, le fichier cls va comporter une déclaration de qui il est :
- Code: Tout sélectionner
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{cours}
[2009/05/21 v1.0
Classe de cours personnelle]
puis va charger la classe book avec les options voulues :
- Code: Tout sélectionner
\LoadClass[12pt,a4paper,fleqn]{book}
et enfin va comporter le code proprement dit puis se terminera par un \endinput. Cela va donner un fichier, nommé "cours.cls", qui contient les lignes suivantes :
- Code: Tout sélectionner
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{cours}
[2009/05/21 v1.0
Classe de cours personnelle]
\LoadClass[12pt,a4paper,fleqn]{book}
\RequirePackage[latin1]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[frenchb]{babel}
\RequirePackage{lmodern}
\RequirePackage{eurosym}
\RequirePackage{geometry}
\RequirePackage{lastpage}
\RequirePackage{graphicx}
\RequirePackage{picins}
\RequirePackage{pifont}
\RequirePackage{eepic}
\RequirePackage{fancybox}
\RequirePackage{fancyhdr}
\RequirePackage{pst-all}
\RequirePackage{pst-eucl}
\RequirePackage{xcolor}
\RequirePackage{xlop}
\RequirePackage[autolanguage]{numprint}
\RequirePackage{calc}
\RequirePackage{ifthen}
\RequirePackage{latexsym}
\RequirePackage{amsfonts}
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage{amsthm}
\RequirePackage{mathrsfs}
\RequirePackage{frcursive}
\RequirePackage{multirow}
\RequirePackage{multicol}
\RequirePackage{array}
\RequirePackage{tabularx}
\RequirePackage{colortab}
\frenchbsetup{ReduceListSpacing=false, CompactItemize=false,
StandardItemLabels=true}% pour empecher frenchb de perturber enumitem
\RequirePackage{enumitem}
\setitemize{nolistsep}
\setitemize[1]{label=\textbullet}
\RequirePackage{ulem}
\normalem
\newcommand{\colorulem}[1][black]{\bgroup
\ifdim\ULdepth=\maxdimen\settodepth\ULdepth{(j}\advance\ULdepth.4pt\fi
\markoverwith{\kern0em\vtop{\kern\ULdepth {\color{#1}\hrule height 1.4pt width .4em}}\kern0em}\ULon}
% Définitions du format de page
\geometry{margin=2cm}
\pagestyle{empty}
% definition des couleurs
\definecolor{bleu}{rgb}{0.4,0.2,1} \newrgbcolor{bleu}{0.4 0.2 1}
\definecolor{rouge}{rgb}{1,0,0} \newrgbcolor{rouge}{1 0 0}
\definecolor{vert}{rgb}{0.1,0.6,0} \newrgbcolor{vert}{0.1 0.6 0}
\definecolor{blanc}{rgb}{1,1,1} \newrgbcolor{blanc}{1 1 1}
\definecolor{noir}{rgb}{0,0,0} \newrgbcolor{noir}{0 0 0}
\definecolor{gris}{rgb}{0.5,0.5,0.5} \newrgbcolor{gris}{0.5 0.5 0.5}
\definecolor{grisclair}{rgb}{0.9,0.9,0.9} \newrgbcolor{grisclair}{0.9 0.9 0.9}
\definecolor{jorange}{rgb}{0.9,0.9,0} \newrgbcolor{jorange}{0.9 0.9 0}
%symbole attention danger
\newenvironment{danger}{\noindent\pstribox[shadow=true,trimode=*U]{\bfseries\rouge!}}{}
% mise en valeur forte
\newcommand*{\strong}[1]{{\color{rouge}\bfseries#1}}
% mise en page des propréités, remarques et exemples
\theoremstyle{definition}
\newtheorem*{exemple}{Exemple}
\newtheorem{exemplenumerote}{Exemple}[subsection]
\renewcommand{\theexemplenumerote}{\arabic{exemplenumerote}}
\newtheorem*{exemples}{Exemples}
\newenvironment{sousexemples}{\leavevmode\begin{itemize}}{\end{itemize}}
\newtheorem*{remarques}{Remarques}
\newenvironment{sousremarques}{\leavevmode\begin{itemize}}{\end{itemize}}
\newtheorem*{propriete}{Propriété}
\newtheorem*{consequence}{Conséquence}
\newenvironment{sousconsequence}{\leavevmode\begin{itemize}}{\end{itemize}}
% alignement multiple
\newenvironment{multialign*}{\[\renewcommand{\arraycolsep}{1.4pt}\begin{array}{lllllllllllll}}{\end{array}\]}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% personnalisation de la présentation --> ira dans le fichier .cls %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\def\@makechapterhead#1{%
\begingroup
\color{rouge}\fboxsep=10pt\fboxrule=1.4pt
\noindent\fbox{\noindent\begin{minipage}{\textwidth-20pt}
\parindent=0pt\centering\normalfont\normalcolor
\LARGE
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\colorulem[rouge]{{\itshape\@chapapp\space \thechapter}~:}
\fi
\fi
\interlinepenalty\@M
\normalfont\normalcolor\bfseries#1\par\vspace*{1em}\end{minipage}}
\endgroup
\vskip 40pt
}
\def\@makeschapterhead#1{%
\begingroup
\color{rouge}\fboxsep=5pt
\noindent\fbox{\noindent\begin{minipage}{\textwidth-10pt}
\parindent=0pt\centering\normalfont\normalcolor
\LARGE
\interlinepenalty\@M
\normalfont\normalcolor\bfseries#1\par\vspace*{1em}\end{minipage}}
\endgroup
\vskip 40pt
}
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}%
\protected@edef\@svsec{\@seccntformat{#1}\relax}%
\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup
#6{%
\@hangfrom{\hskip #3\relax\@svsec}%
\interlinepenalty \@M \colorulem[\currentsectioncolor]{\normalcolor#8\vphantom{p}}\@@par}%
\endgroup
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}%
\else
\def\@svsechd{%
#6{\hskip #3\relax
\@svsec #8}%
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}}%
\fi
\@xsect{#5}}
\def\@ssect#1#2#3#4#5{%
\@tempskipa #3\relax
\ifdim \@tempskipa>\z@
\begingroup
#4{%
\@hangfrom{\hskip #1}%
\interlinepenalty \@M \colorulem[\currentsectioncolor]{\normalcolor#5\vphantom{p}}\@@par}%
\endgroup
\else
\def\@svsechd{#4{\hskip #1\relax #5}}%
\fi
\@xsect{#3}}
\def\@xsect#1{%
\@tempskipa #1\relax
\ifdim \@tempskipa>\z@
\par \nobreak
\vskip \@tempskipa
\@afterheading
\else
\@nobreakfalse
\global\@noskipsectrue
\everypar{%
\if@noskipsec
\global\@noskipsecfalse
{\setbox\z@\lastbox}%
\clubpenalty\@M
\begingroup \@svsechd \endgroup
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
\else
\clubpenalty \@clubpenalty
\everypar{}%
\fi}%
\fi
\ignorespaces}
\setcounter{secnumdepth}{3}
\renewcommand{\thechapter}{T2}
\renewcommand{\thesection}{\Roman{section})}
\renewcommand{\thesubsection}{\arabic{subsection})}
\renewcommand{\thesubsubsection}{\alph{subsubsection})}
\def\@seccntformat#1{\csname the#1\endcsname\hskip0.3em}
\newcommand{\sectionindent}{0cm}
\newcommand{\subsectionindent}{0.5cm}
\newcommand{\subsubsectionindent}{1cm}
\renewcommand\section{%
\def\currentsectioncolor{rouge}
\def\currentsectionindent{\sectionindent}
\setindent{\currentsectionindent}
\@startsection{section}{1}
{0cm}% indentation
{-3.5ex \@plus -1ex \@minus -.2ex}% espace avant
{2.3ex \@plus.2ex}% espace après
{\normalfont\Large\bfseries}}
\renewcommand\subsection{%
\def\currentsectioncolor{bleu}
\def\currentsectionindent{\subsectionindent}
\setindent{\currentsectionindent}
\@startsection{subsection}{2}
{0cm}% indentation
{-3.25ex\@plus -1ex \@minus -.2ex}% espace avant
{2.3ex \@plus.2ex}% espace après
{\normalfont\large\bfseries}}
\renewcommand\subsubsection{%
\def\currentsectioncolor{vert}
\def\currentsectionindent{\subsubsectionindent}
\setindent{\currentsectionindent}
\@startsection{subsubsection}{3}
{0cm}% indentation
{-3.25ex\@plus -1ex \@minus -.2ex}% espace avant
{2.3ex \@plus.2ex}% espace après
{\normalfont\normalsize\bfseries}}
\let\originallinewidth\textwidth
\newcommand{\setindent}[1]{%
\linewidth=\originallinewidth
\leftmargin=0cm
\@totalleftmargin=0cm
\@setpar{\if@newlist
\advance\par@deathcycles \@ne
\ifnum \par@deathcycles >\@m
\@noitemerr
{\@@par}%
\fi
\else
{\@@par}%
\fi}%
\leftmargin=#1
\advance\linewidth -\leftmargin
\advance\@totalleftmargin\leftmargin
\parshape \@ne \@totalleftmargin \linewidth}
\endinput
%%
%% End of file `cours.cls'.
(J'ai renommé les \usepackage en \RequirePackage car c'est ce qui est recommandé pour les fichiers .cls ; voir le clsguide page 18)
Ensuite, il faut enlever le préambule du fichier .tex et modifier la classe de document en \documentclass{cours} ; cela donne :
- Code: Tout sélectionner
\documentclass{cours}
\begin{document}
\chapter{Initiation au calcul littéral}
\section{Introduction}
Un calcul littéral est un calcul qui utilise les lettres. Il sert par exemple à :
\begin{itemize}
\item établir une formule~;
\item trouver un nombre inconnu~;
\item prouver un résultat.
\end{itemize}
\section{Expression \og en fonction de ... \fg}
Écrire un résultat en \og fonction de $x$ \fg, c'est trouver une expression où figure $x$.
\begin{exemplenumerote}
Si $AB=x+3$, la longueur $AB$ est donnée en fonction de $x$.
\end{exemplenumerote}
\begin{exemplenumerote}
J'ai choisi un nombre $x$, je l'ai multiplié par $5$ puis j'ai ajouté $3$. Résultat : $5\times x + 3$. Le résultat est exprimé en fonction de $x$.
\end{exemplenumerote}
\section{Simplification d'une expression littérale}
On peut simplifier une expression littérale en usant de \emph{conventions d'écriture} qui aboutissent à supprimer le signe $\times$, ou en \emph{réduisant} celle-ci qui conduit à rassembler les termes de même nature.
\subsection{Conventions d'écriture}
\subsubsection{Règle de suppression du signe $\times$}
\strong{Pour alléger l'écriture d'une expression littérale}, on peut supprimer le signe $\times$ devant une lettre ou une parenthèse.
\begin{remarques}
\begin{sousremarques}
\item On ne supprime pas le signe $\times$ entre deux nombres.
\item On commence par les nombres et ensuite les lettres dans un produit, ainsi on écrit $4x$ au lieu de $x4$ afin de ne pas confondre avec les puissances (voir point ci-dessous).
\item $a\times a$ s'écrit $a^2$ plutôt que $aa$, $a\times a \times a$ s'écrit $a^3$ plutôt que $aaa$...
\end{sousremarques}
\end{remarques}
\subsubsection{Application et exemples}
\begin{itemize}
\item $a\times b$ s'écrit de manière simplifiée $ab$,
\item $A=5\times x + 7\times (3\times x + 2\times 4)$ peut s'écrire $A=5x+7(3x+2\times4)$
\item $5\times x \times x \times x$ devient $5x^3$
\end{itemize}
\subsection{Réduction d'un produit}
\begin{itemize}
\item $5x\times 3x$ se réduit (l'expression est plus courte) en $15x^2$,
\item $-6y\times(-2y)$ se réduit en $12y^2$,
\item il est important de remarquer que $1x$ c'est aussi $x$.
\end{itemize}
Dans la suite on verra comment réduire une somme.
\section{Distributivité}
Dans cette partie, on va développer des expressions littérales, c'est à dire récrire un \emph{produit} sous forme d'une \emph{somme}.
L'inverse qui consiste à transformer une \emph{somme} en un \emph{produit} s'appelle une factorisation.
\subsection{Propriété de distributivité simple}
\begin{propriete}
$k$, $a$ et $b$ désignent des nombres relatifs.
\[\pnode(0.1,-0.1){A}{\rouge k}(\pnode(0.1,-0.1){B}{a}+\pnode(0.1,-0.1){C}{b}\ncarc[linecolor=gray,arcangleA=-90,arcangleB=-60]{->}{A}{B}\ncarc[linecolor=gray,arcangleA=-90,arcangleB=-60]{->}{A}{C}) ={\rouge k}a+{\rouge k}b\]
\[\pnode(0.1,-0.1){A}{\rouge k}(\pnode(0.1,-0.1){B}{a}-\pnode(0.1,-0.1){C}{b}\ncarc[linecolor=gray,arcangleA=-90,arcangleB=-60]{->}{A}{B}\ncarc[linecolor=gray,arcangleA=-90,arcangleB=-60]{->}{A}{C}) = {\rouge k}a-{\rouge k}b\]
\end{propriete}
\subsubsection{Illustration géométrique}
$k$, $a$ et $b$ désignent des mesures de longueurs, ainsi pour l'illustration visuelle de la première formule ce sont des nombres positifs.
\begin{center}
\begin{pspicture}(1,0)(6.5,-4.5)
\psset{xunit=1cm,yunit=1cm}
%\psgrid[subgriddiv=1,gridlabels=5pt](0,0)(7,-5) %utlisation d'une grille pour placer une figure
\psframe(1,-1)(6.5,-4.5)
\psline[linestyle=dashed](3.5,-1)(3.5,-4.5)
\psline[linecolor=bleu]{<->}(1,-0.5)(3.5,-0.5) \psline[linecolor=vert]{<->}(3.5,-0.5)(6.5,-0.5)
\rput[B]{0}(2.25,-0.25){\bleu a} \rput[B]{0}(5,-0.25){\vert b}
\psline[linecolor=rouge]{<->}(0.5,-1)(0.5,-4.5)
\rput[l]{0}(0,-2.75){\rouge k}
\rput[B]{0}(2.25,-2.75){\rouge k \bleu a} \rput[B]{0}(5,-2.75){\rouge k \vert b}
\rput[l]{0}(7.5,-2.5){${\rouge k}({\bleu a} + {\vert b})={\rouge k}{\noir a} + {\rouge k}{\vert b}$}
\end{pspicture}
\end{center}
\subsubsection{Applications et exemples}
\begin{itemize}
\item \textbf{Calcul mental :}
\begin{multialign*}
13\times 99 & = 13 \times(100-1) & = 13\times 100-13\times 1 & = 1300-13 & = 1287\\
25\times 104 & = 25\times(100+4) & = 25\times 100+25\times 4 & = 2500+100 & = 2600
\end{multialign*}
\item \textbf{Développement d'une expression littérale :}
\begin{multialign*}
3(5a+7) & = 3\times 5a+3\times 7 & = 15a+21 \\
-2(5-4x) & = -2\times 5-(-2)\times 4x & = -10+8x
\end{multialign*}
\item \textbf{Réduction d'une expression littérale. ---} La \strong{réduction} est un cas particulier de la \strong{factorisation}.
Ainsi en prenant la propriété ci-avant dans le sens inverse on peut écrire
\[\pnode(0.2,-0.2){A}{\underline{12}} \* x-\pnode(0.2,-0.2){B}{\underline{12}} \* y=\pnode(0.2,-0.2){C}{\underline{12}} \* (x-y)=12(x-y)\]\ncarc[linecolor=black,linestyle=dashed,arcangleA=-20,arcangleB=-30]{->}{A}{C}\ncarc[linecolor=black,linestyle=dashed,arcangleA=-20,arcangleB=-30]{->}{B}{C}
12 est un \strong{facteur commun} ; on a \strong{factorisé} cette expression littérale.
\[14y - 28 = 14 \times y - 14 \times 2 = 14 \times (y-2)\]
\[5m-5 = 5 \times m - 5 \times 1 = 5 \times (m-1)\]
\begin{consequence}
En factorisant les expressions suivantes on les réduit :
\begin{sousconsequence}
\item $12b+5b=(12+5)b=17b$
\item $10x-4x=(10-4)x=6x$
\item $7m+m=7m+1m=(7+1)mb=8m$
\end{sousconsequence}
\end{consequence}
\item \textbf{Suppression de parenthèses dans une expression littérale.}
\begin{itemize}
\item \textbf{\textcolor{rouge}{Addition} et parenthèses.}
Quand les parenthèses sont précédées du signe \og $+$ \fg et qu'elles ne sont pas suivies de \og $\times$ \fg ou \og $\div$ \fg, on peut supprimer ce \og $+$ \fg et les parenthèses.
En effet $+(a+b)=+1\times(a+b)=(+1)\times a + (+1)\times b = a +b$
\begin{exemples}
\begin{sousexemples}
\item $2x+(3x+5) = 2x+3x+5$
\item $4x+(-5+3x) = 4x-5+3x$
\item $8+(5x-6+2x) = 8+5x-6+2x$
\end{sousexemples}
\end{exemples}
\item \textbf{\textcolor{vert}{Soustraction} et parenthèses}
Quand les parenthèses sont précédées du signe \og $-$ \fg et qu'elles ne sont pas suivies de \og $\times$ \fg ou \og $\div$ \fg, on peut supprimer ce \og $-$ \fg et les parenthèses à condition de mutliplier l'expression entre parenthèses par $-1$.
En effet $-(a+b)=-1\times(a+b)=(-1)\times a + (-1)\times b = -a -b$
\begin{exemple}
Simplifier l'expression $3x-(5-8x)$~:
\[3x-(5-8x)=3x-5+8x\]
\end{exemple}
\end{itemize}
\end{itemize}
\subsection{Propriété de distributivité double}
\begin{propriete}
$a$, $b$, $c$ et $d$ désignent des nombres relatifs.
\[(\pnode(0.1,-0.1){A}{\rouge a}+\pnode(0.2,0.5){D}{\vert b}) (\pnode(0.1,0.4){B'} \pnode(0.1,-0.1){B}{c} + \pnode(0.1,0.4){C'} \pnode(0.1,-0.1){C}{d} \ncarc[linecolor=gray,arcangleA=-90,arcangleB=-60]{->}{A}{B} \ncarc[linecolor=gray,arcangleA=-90,arcangleB=-60]{->}{A}{C} \ncarc[linecolor=gray,arcangleA=90,arcangleB=60]{->}{D}{B'} \ncarc[linecolor=gray,arcangleA=90,arcangleB=60]{->}{D}{C'}) = {\rouge a}c + {\rouge a}d + {\vert b}c + {\vert b}d\]
\end{propriete}
\subsubsection{Illustration géométrique}
a, b, c et d désignent des mesures de longueurs, ainsi pour l'illustration visuelle de la formule ce sont des nombres positifs.
\begin{center}
\psset{xunit=1cm,yunit=1cm}
%\psgrid[subgriddiv=1,gridlabels=5pt](0,0)(7,-5) %utlisation d'une grille pour placer une figure
\begin{pspicture}(1,0)(10.5,-4.5)
\psframe(1,-1)(6.5,-4.5)
\psline[linestyle=dashed](3.5,-1)(3.5,-4.5)
\psline[linestyle=dashed](1,-2.5)(6.5,-2.5)
\psline[linecolor=bleu]{<->}(1,-0.5)(3.5,-0.5) \psline[linecolor=noir]{<->}(3.5,-0.5)(6.5,-0.5)
\rput[B]{0}(2.25,-0.25){\bleu c} \rput[B]{0}(5,-0.25){\noir d}
\psline[linecolor=rouge]{<->}(0.5,-1)(0.5,-2.5) \psline[linecolor=vert]{<->}(0.5,-2.5)(0.5,-4.5)
\rput[l]{0}(0,-1.75){\rouge a} \rput[l]{0}(0,-3.5){\vert b}
\rput[B]{0}(2.25,-1.75){\rouge a \bleu c} \rput[B]{0}(5,-1.75){\rouge a \noir d}
\rput[b]{0}(2.25,-3.5){\vert b \bleu c} \rput[b]{0}(5,-3.5){\vert b \noir d}
\rput[l]{0}(7.5,-2.5){$({\rouge a} + {\vert b})({\bleu c} + {\noir d})={\rouge a}{\bleu c}+{\rouge a}{\noir d}+{\vert b}{\bleu c}+{\vert b}{\noir d}$}
\end{pspicture}
\end{center}
\subsubsection{Applications et exemples}
\noindent\begin{align*}
(3-a)(4a+2) & = 3\times 4a \;+\; 3 \times 2 \;-\; a \times 4a \;-\; a \times 2 \\
& = 12a+6-4a^2-2a \\
& = -4a^2+10a+6 \\
\\
(3x-2)(1-4x) & = 3x\times1\;+\;3x\times(-4x)\;-\;2\times1\;-\;2\times(-4x)\\
& = 3x-12x^2-2+8x \\
& -12x^2+11x-2 \\
\end{align*}
\begin{danger}
\strong{Pour ne pas se tromper dans les signes}, il est utile de se souvenir que, par exemple, $3x-2$ est la somme de $3x$ et de $-2$, et que $1-4x$ est la somme de $1$ et de $-4x$. Ainsi, pour le calcul précédent, on a :
\begin{align*}
(3x-2)(1-4x) & = (3x+(-2))(1+(-4x)) \\
& = (3x) \times 1 \;+\; (3x) \times (-4x) \;+\; (-2) \times 1 \;+\; (-2)\times(-4x) \\
& = \dots
\end{align*}
\end{danger}
\end{document}
(Pour que ça compile, il a fallu enlever les
parasite dans le \[...\] de la propriété du IV.1.)Pour utiliser tout cela, il faut mettre le fichier cours.cls dans le même répertoire que le fichier tex puis compiler.
Si tu compte modifier le fichier .cls souvent (pour rajouter des packages, etc.), c'est probablement le meilleur endroit pour le garder. Si par contre tu veux l'utiliser pour des document dans des répertoires différents ou tu ne prévois pas de le modifier, il vaut mieux l'installer dans le texmf (local) ; la procédure exacte dépend de ta distribution (si c'est miktex, tu peux essayer de suivre les indications du wiki).

}