Retour

preambule.tex

Télécharger le fichier
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                    %%
%%         P R É A M B U L E          %%
%%    ___________________________     %%
%%                                    %%
%%             BriCàMatH              %%
%%                                    %%
%%          v 0.2 du 02/3/08          %%
%%                                    %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%############################################################################
%###########################       PACKAGES       ###########################
%############################################################################
\usepackage[utf8]{inputenc}% codage utf8, sous linux principalement
\usepackage[T1]{fontenc}
\usepackage[dvips,%
	colorlinks=true,% pas de bordure autour des liens
	hyperfootnotes=false,% pas de lien pour les notes de bas de page
	citecolor=black,% liens noirs
	filecolor=black,%
	linkcolor=black,%
	urlcolor=black,%
	bookmarks=false,%
	pdfauthor={Christian TELLECHEA, administrateur de www.bricamath.net},%
	pdfcreator={LaTeX}]{hyperref}
\usepackage[a4paper,dvips,margin=1.5cm,noheadfoot]{geometry}% dimensions de la page
\usepackage{amsmath,amssymb,amsfonts,textcomp}% pour les maths
\usepackage{mathcomp}% utile pour les degrés avec \numprint : \numprint[\tcdegree]{nombre}
%\usepackage{ymath}% définit \widetilde, \widehat, \widetriangle, \wideparen et \widering (ex : $\widehat{A+B}$)
\usepackage{array}% divers outils pour les tableaux
%\usepackage{cellspace}% régler finement les espacements verticaux dans les tableaux
\usepackage{hhline}% des lignes complexes dans les tableaux
\usepackage{pstricks,pst-node,pst-plot,pst-math,pst-xkey,pst-text,pstricks-add}% Figures géométriques dans le code LaTeX
%\usepackage{wrapfig}% insère une figure flottante
\usepackage{cancel}% pour barrer des termes dans les formules
%\usepackage{xlop}% pour faire des calculs dans latex et poser des opérations comme à la main
\usepackage{lmodern}% fonte modern
\usepackage{mathrsfs}% fonte cursive : emploi \mathscr{TEXTE}, en majuscules
%\usepackage{mathptmx}% fonte
%\usepackage{mathpazo}% fonte
%\usepackage{pslatex}% fonte Times
%\usepackage{yhmath}
\usepackage{multicol}% pour aller au delà de 2 colonnes
\usepackage{ifthen}% pour faire des tests
\usepackage{fp}% pour faire des calculs dans LaTeX
\usepackage{setspace}% pour spécifier l'interlignage
% importantion des petites capitales grasses
\rmfamily
\DeclareFontShape{T1}{lmr}{b}{sc}{<->ssub*cmr/bx/sc}{}
\DeclareFontShape{T1}{lmr}{bx}{sc}{<->ssub*cmr/bx/sc}{}
\pagestyle{empty}% pas de pied de page ni d'en tête
\usepackage[frenchb]{babel}% francisation
%	\setlength{\parindentFFN}{0mm}% notes de bas de page non indentées
\setlength{\parindent}{0cm}% pas d'identation
\usepackage{enumitem}% des énumérations paramétrables. A mettre après babael pour éviter les problèmes !
\usepackage[autolanguage]{numprint}% affichage correct des nombres
%\mathcode`,="013B\relax% pour que la virgule serve de séparateur décimal en mode math --> inutile avec \numprint
%
%#################################################################################
%###########################       MES COMMANDES       ###########################
%#################################################################################
%
%______________________________________________________________
%
% Pour avoir des lettres majuscules droites dans le mode math
%
%                par JCC sur f.c.t.tex
%______________________________________________________________
\DeclareMathSymbol{A}{\mathalpha}{operators}{65}
\DeclareMathSymbol{B}{\mathalpha}{operators}{66}
\DeclareMathSymbol{C}{\mathalpha}{operators}{67}
\DeclareMathSymbol{D}{\mathalpha}{operators}{68}
\DeclareMathSymbol{E}{\mathalpha}{operators}{69}
\DeclareMathSymbol{F}{\mathalpha}{operators}{70}
\DeclareMathSymbol{G}{\mathalpha}{operators}{71}
\DeclareMathSymbol{H}{\mathalpha}{operators}{72}
\DeclareMathSymbol{I}{\mathalpha}{operators}{73}
\DeclareMathSymbol{J}{\mathalpha}{operators}{74}
\DeclareMathSymbol{K}{\mathalpha}{operators}{75}
\DeclareMathSymbol{L}{\mathalpha}{operators}{76}
\DeclareMathSymbol{M}{\mathalpha}{operators}{77}
\DeclareMathSymbol{N}{\mathalpha}{operators}{78}
\DeclareMathSymbol{O}{\mathalpha}{operators}{79}
\DeclareMathSymbol{P}{\mathalpha}{operators}{80}
\DeclareMathSymbol{Q}{\mathalpha}{operators}{81}
\DeclareMathSymbol{R}{\mathalpha}{operators}{82}
\DeclareMathSymbol{S}{\mathalpha}{operators}{83}
\DeclareMathSymbol{T}{\mathalpha}{operators}{84}
\DeclareMathSymbol{U}{\mathalpha}{operators}{85}
\DeclareMathSymbol{V}{\mathalpha}{operators}{86}
\DeclareMathSymbol{W}{\mathalpha}{operators}{87}
\DeclareMathSymbol{X}{\mathalpha}{operators}{88}
\DeclareMathSymbol{Y}{\mathalpha}{operators}{89}
\DeclareMathSymbol{Z}{\mathalpha}{operators}{90}
%%_______________________________________________________________________________
%
% Pour avoir des nombres à virgule en affichant des résultats de calculs par FP
%
%                           par JCC sur f.c.t.tex
%_______________________________________________________________________________
\def\nombrefr#1{\expandafter{\changecomma{#1}}}
\def\changecomma#1{\expandafter\changecommaaux#1.\changecommaaux}
\def\changecommaaux#1.#2\changecommaaux{#1\ifx\empty#2\else,\expandafter\changecommapt#2\changecommapt\fi}
\def\changecommapt#1.\changecommapt{#1}
%
%___________________________________
%
% Teste si l'argument est un nombre
%
%       par JCC sur f.c.t.tex
%___________________________________
% Utilisation :     \IFnombre{#1}{code si #1 est un nombre}{code si #1 n'est pas un nombre}
%                   \decimalpart et \intergerpart contiennent les parties décimales et entières
\makeatletter
\newcount\integerpart
\newcount\decimalpart
\newcommand\IFnombre[3]{%
	\decimalpart=0
	\afterassignment\defnext\integerpart=0#1\relax\@nil
	\expandafter\@dotorcomma\next\@nil
	\if\relax\@remain
		#2%
	\else
		#3
	\fi
	}
\def\defnext#1\@nil{\def\next{#1}}%
\def\@dotorcomma{\@ifnextchar.{\@decimal}{\@comma}}
\def\@comma{\@ifnextchar,{\@decimal}{\@endnumber}}
\def\@decimal#1#2\@nil{%
	\afterassignment\defnext\decimalpart=0#2\@nil
	\expandafter\@endnumber\next\@nil
}
\def\@endnumber#1\@nil{\def\@remain{#1}}
\makeatother
%
%_________________________________
%
% Les listes et les numérotations
%_________________________________
%
% On sauvegarde les enumerate normaux un peu modifiés
\newcommand*{\setenumeratedefaut}{
\setenumerate{itemsep=2ptplus2ptminus2pt,topsep=\the\itemsep,partopsep=0cm,parsep=0pt}}
\setenumeratedefaut
\let\oldenumerate=\enumerate
\let\oldendenumerate=\endenumerate
%
%%%%% Numérotation des questions %%%%%%%%%%
\newenvironment{Questions}{%
\setenumerate{%
	itemsep=6ptplus6ptminus4pt,% séparation entre items
	topsep=6ptplus6ptminus4pt,% séparation entre l'environnement et le texte au dessus
	partopsep=0cm,%
	parsep=3ptplus1ptminus2pt,% séparation entre les paragraphes au sein d'un item
	leftmargin=*,% pas de marge gauche
	align=left,% alignement des numéros à gauche
	labelindent=0pt,% indentation du numéro
	widest=8),% largeur du numéro
	labelsep=0.5em,% séparation entre le numéro et le texte
	itemindent=0em% indentation du texte
	\setenumerate[1]{label=\textbf{\arabic*)}}% numéro du type 1) en gras
	\setenumerate[2]{label=\textbf{\alph*)}}% lettre de type a) en gras
}\oldenumerate}{\oldendenumerate\setenumeratedefaut}
%
%%%%%% Numérotation des sous questions %%%%%%%%
\newenvironment{SousQuestions}{%
\setenumerate{
	itemsep=3ptplus1ptminus2pt,% espacement vertical entre items
	topsep=4ptplus2ptminus4pt,% séparation avec avec le texte de l'item de hiérarchie plus haute, si celui ci existe
	partopsep=0pt,%
	parsep=3ptplus1ptminus2pt,% séparation entre les paragraphes au sein d'un item
	leftmargin=*,%
	align=left,% alignement des lettres à gauche
	widest=b),% largeur maxi du numéro
	labelsep=0.2em,% séparation entre le numéro et le texte
	itemindent=0em% indentation du texte
}\oldenumerate}{\oldendenumerate\setenumeratedefaut}
%
% Puces
\newenvironment{Puces}[1][1cm]%
{\begin{list}%
	{$\bullet$}%
	{	\setlength{\leftmargin}{#1}% marge à gauche, par défaut=1cm
		\setlength{\itemsep}{3ptplus3ptminus2pt}% espacement entre item
		\setlength{\topsep}{3ptplus3ptminus2pt}% espacement entre le paragraphe précédent et le 1er item
	}}%
{\end{list}}
%
%_____________________________________
%
%  Macros pour l'en tête des devoirs
%_____________________________________
%
% Affiche "Nom :      Prénom :      Classe :"
\newcommand\NomPrenom{\textbf{\textit{Nom :\hfill Prénom :\hfill Classe :}}\hspace*{2cm}}
%
% Affiche le titre de la page en gros, petites capitales et centré
\newcommand*{\titre}[1]{{\centering\bfseries\scshape\Large#1\par}}
%
% Affiche en italique centré
\newcommand*{\ladate}[1]{\vspace{0.1cm}{\centering\itshape#1\par}\vspace{0.1cm}}
%
% Affiche le texte en gras, petite capitale, avec une puce carrée au début
\newcommand*{\exo}[1]{\vspace{0.35cm plus 0.15cm minus 0.15cm}\rule{1ex}{1ex}\hspace{1ex}\textsc{\textbf{#1}}\vspace{0.1cm plus 0.1cm minus 0.1cm}}
%
% Affiche 2 lignes d'épaisseur et d'écartement paramétrables
\newcommand{\ligne}[5]{%
%#1:espace avant #2:épaisseur 1ère ligne #3:séparation entre les 2 lignes #4:épaisseur 2ème ligne #5:espace après
	\vspace*{#1}\vspace*{-\baselineskip}% remonte d'une ligne
	\rule{\linewidth}{#2}\par% épaisseur 1ère ligne
	\vspace*{-\baselineskip}\vspace*{#3}% on remonte d'une ligne + on descend de la séparation
	\rule{\linewidth}{#4}\par% épaisseur 2ème ligne
	\vspace*{#5}% on met l'espace final
}
%
% Affiche éventuellement le texte puis une double ligne (1 épaisse et 1 fine)
\newcommand*{\DoubleLigne}[1]{#1\par\ligne{6pt plus 2pt minus 2pt}{1.5pt}{2pt}{0.3pt}{0pt}}
%
% Affiche éventuellement le texte puis une ligne fine
\newcommand*{\SimpleLigne}[1]{#1\par\ligne{4pt plus 2pt minus 2pt}{0.3pt}{0pt}{0pt}{0pt}}
%
%________________________________________________________
%
%   Met en gras dans les formules math ou dans le texte
%________________________________________________________
\makeatletter
\newcommand*{\gras}[1]{%
	\ifmmode% si c'est le mode maths
		\newcommand*{\SAUVEnpunitcommand}{\npunitcommand}%
		\newcommand*{\SAUVEtext}{\text}%
		\renewcommand*{\npunitcommand}[1]{\ensuremath{\mathbf{##1}}}% pour \numprint --> met en gras les unités
		\renewcommand*{\text}[1]{\text@{\textbf{##1}}}% redéfinit la commande \text du package amstext
		\mathbf{#1}%
		\renewcommand*{\npunitcommand}{\SAUVEnpunitcommand}% rétablit la commande initiale
		\renewcommand*{\text}{\SAUVEtext}% on rétablit la commande \text initiale
	\else%
		\begingroup
			\mathversion{bold}% pour mettre les formules en gras s'il y en a
			\textbf{#1}% mode texte
		\endgroup
	\fi%
}
\makeatother
%
%____________________
%
%    Forme un arc
%____________________
\newcommand*{\Angle}[1]{\ensuremath{\widehat{#1}}}
%
% Forme un arc commande n°1 : arc plutôt bas
\makeatletter
\newcount\r@pport \newdimen\r@ppord
\newcount\kslant \newdimen\kslantd
\newcommand*{\arc}[1]{\setbox0\hbox{$\m@th\displaystyle#1$}\kslant=\ht0
	\divide\kslant by1000\multiply\kslant by\fontdimen1\textfont1
	\divide\kslant by10000\kslantd=\kslant\fontdimen6\textfont1
	\divide\kslantd by7750\kern\kslantd
	\r@ppord=\wd0\multiply\r@ppord by100\divide\r@ppord by\ht0
	\multiply\r@ppord by300\advance\r@ppord by\ht0
	\pspicture(0,0)
	\parabola[linewidth=.3pt]{-}(0,1.05\ht0)(.5\wd0,1.15\r@ppord)
	\endpspicture
	\kern-\kslantd\box0}
\makeatother
%
% Forme un arc commande n°2 : arc plus haut, argument optionnel = épaisseur de la ligne
\newcommand*{\Arc}[2][0.3pt]{%
	\newlength{\longarc}
	\settowidth{\longarc}{$#2$}%
		\unitlength\longarc%
		\ensuremath{%
			\stackrel{\begin{picture}(1,0.2)\linethickness{#1}\qbezier(0,0)(0.5,0.2)(1,0)\end{picture}}%
			{#2}%
		}%
}
% Met entre guillemets français
\def\guill#1{\og{}#1\fg{}}
% _______________________________________________________________________
%|                                                                       |
%|   Met un signe = si \Delta est suffisemment petit, met \approx sinon  |
%|_______________________________________________________________________|
\newcommand*{\SigneEgal}[1]{\FPabs{\Delta}{#1}\FPiflt{\Delta}{0.000000001}=\else\approx\fi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%   F I N    D U   P R É A M B U L E   %%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%