%------------------------------------------------------------------------------- % Module créé par Vincent Guyot pour définir un modèle de travail de maturité % Mis à jour le 2 février 2012 % Ce fichier est soumis à la licence libre GFDL dont on peut trouver % les conditions sur le net. %-------------------------------------------------------------------------------- \ProvidesPackage{TM} % Définitions générales \usepackage[german,english,french]{babel} % Gestion de la typographie française \usepackage[utf8]{inputenc} % Accents %\usepackage[OT1]{fontenc} % Encodage \usepackage[T1]{fontenc} % Encodage % Géométrie de la page \usepackage{geometry} %\geometry{verbose,a4paper,lmargin=2cm,rmargin=2cm} % règle les marges de la page % Structure du document \usepackage{emptypage} \usepackage{nextpage} % Permet \cleartooddpage, \cleartoevenpage et \cleartooddpage[\thispagestyle{empty}] \usepackage[Lenny]{fncychap} % Titres de chapitres avec un filet \usepackage{fancybox} % Styles de filets de boites %\usepackage{fancyheadings} % Entêtes et pieds de page \usepackage{fancyhdr} \fancypagestyle{plain}{% \fancyhf{} % clear all header and footer fields \fancyfoot[C]{\bfseries \thepage} % except the center \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt}} \setlength{\headheight}{22.5pt} % pour éliminer une erreur qui disait que la largeur de l'entête était trop petite (12pt) %\usepackage{minitoc} % Minitable des matières des chapitres \usepackage{layout} % Redéfinition des caractéristiques de la page \usepackage{setspace} % Interligne du document % Bibliographie %\usepackage[pageref]{biblatex} %\usepackage[autocite=plain]{biblatex} \usepackage{csquotes} % biblatex est dans un commande pour permettre le choix du style de biblio dans % le fichier config.tex \newcommand{\choixstylebiblio}{ \usepackage[backend=biber,sortcites,hyperref=true,backref=true,style=\lestyledebiblio,labeldate=long]{biblatex} \addbibresource{main.bib} % Pour permettre une biblio complète (\nocite{•}) en plus des autres % on ajoute tous les éléments cités dans le texte à la catégorie « cited ». \DeclareBibliographyCategory{cited} \AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}} } %\addbibresource{mini.bib} %\usepackage{multibib} % Plusieurs bibliographies \usepackage{tocloft} % Pour faire une table des crédits photographiques % Images \usepackage{graphicx} % Placement des figures \usepackage{pstricks} \usepackage{fix-cm} % Pour avoir des fontes plus grandes que Huge (corr.bug) \usepackage{epsfig} \usepackage{float} \usepackage{pdfpages} % Pour inclure des pdf % Tableaux \usepackage{longtable} \usepackage{multirow} % Fusion des lignes d'un tableau \usepackage{longtable} % Longues tables \usepackage{tabularx} % Tableaux \usepackage[figuresright]{rotating} % Rotation avec les figures dans le même sens \usepackage{lscape} % En format paysage %\usepackage{pdflscape} % Pour faire tourner la page dans le pdf uniquement. Mais % attention, il faut ajouter -dAutoRotatePages=/None à % ps2pdf pour éviter une double rotation % Listes \usepackage{paralist} % Divers styles de listes \usepackage{textcase} % Mettre en majuscule ou minuscule sans bugs % Listings \usepackage{listings} % Listings et sa configuration \lstdefinelanguage{JavaScript}{ morekeywords={break, case, catch, continue, debugger, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with}, morecomment=[s]{/*}{*/}, morecomment=[l]//, morestring=[b]", morestring=[b]' } \lstdefinelanguage{CSS}{ keywords={accelerator,azimuth,background,background-attachment, background-color,background-image,background-position, background-position-x,background-position-y,background-repeat, behavior,border,border-bottom,border-bottom-color, border-bottom-style,border-bottom-width,border-collapse, border-color,border-left,border-left-color,border-left-style, border-left-width,border-right,border-right-color, border-right-style,border-right-width,border-spacing, border-style,border-top,border-top-color,border-top-style, border-top-width,border-width,bottom,caption-side,clear, clip,color,content,counter-increment,counter-reset,cue, cue-after,cue-before,cursor,direction,display,elevation, empty-cells,filter,float,font,font-family,font-size, font-size-adjust,font-stretch,font-style,font-variant, font-weight,height,ime-mode,include-source, layer-background-color,layer-background-image,layout-flow, layout-grid,layout-grid-char,layout-grid-char-spacing, layout-grid-line,layout-grid-mode,layout-grid-type,left, letter-spacing,line-break,line-height,list-style, list-style-image,list-style-position,list-style-type,margin, margin-bottom,margin-left,margin-right,margin-top, marker-offset,marks,max-height,max-width,min-height, min-width,-moz-binding,-moz-border-radius, -moz-border-radius-topleft,-moz-border-radius-topright, -moz-border-radius-bottomright,-moz-border-radius-bottomleft, -moz-border-top-colors,-moz-border-right-colors, -moz-border-bottom-colors,-moz-border-left-colors,-moz-opacity, -moz-outline,-moz-outline-color,-moz-outline-style, -moz-outline-width,-moz-user-focus,-moz-user-input, -moz-user-modify,-moz-user-select,orphans,outline, outline-color,outline-style,outline-width,overflow, overflow-X,overflow-Y,padding,padding-bottom,padding-left, padding-right,padding-top,page,page-break-after, page-break-before,page-break-inside,pause,pause-after, pause-before,pitch,pitch-range,play-during,position,quotes, -replace,richness,right,ruby-align,ruby-overhang, ruby-position,-set-link-source,size,speak,speak-header, speak-numeral,speak-punctuation,speech-rate,stress, scrollbar-arrow-color,scrollbar-base-color, scrollbar-dark-shadow-color,scrollbar-face-color, scrollbar-highlight-color,scrollbar-shadow-color, scrollbar-3d-light-color,scrollbar-track-color,table-layout, text-align,text-align-last,text-decoration,text-indent, text-justify,text-overflow,text-shadow,text-transform, text-autospace,text-kashida-space,text-underline-position,top, unicode-bidi,-use-link-source,vertical-align,visibility, voice-family,volume,white-space,widows,width,word-break, word-spacing,word-wrap,writing-mode,z-index,zoom}, sensitive=true, morecomment=[l]{//}, morecomment=[s]{/*}{*/}, morestring=[b]', morestring=[b]", alsoletter={:}, alsodigit={-} } \lstdefinelanguage{HTML5}{ language=html, sensitive=true, alsoletter={<>=-}, otherkeywords={ % HTML tags <, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , /mark, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , />, }, tag=[s] } \lstset{% % Basic design backgroundcolor=\color{editorGray}, basicstyle={\small\ttfamily}, frame=leftline, % Line numbers %xleftmargin={0pt}, % dysfonctionnent numbers=left, stepnumber=1, firstnumber=1, numberfirstline=true, % Code design keywordstyle=\color{blue}\bfseries, commentstyle=\color{darkgray}\ttfamily, ndkeywordstyle=\color{editorGreen}\bfseries, stringstyle=\color{editorOcher}, % Code %language=HTML5, alsodigit={.:;}, tabsize=2, showtabs=false, showspaces=false, showstringspaces=false, extendedchars=true, breaklines=true, % } % %\lstloadlanguages{Python} %\lstset{language=Python,escapechar=|} %\lstset{ literate= {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1 {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1 {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1 {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1 {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1 {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1 {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 {€}{{\EUR}}1 {£}{{\pounds}}1 {°}{{~\textdegree}}1, escapeinside={(*@}{@*)}, backgroundcolor=\color{lightgray!20!white} } % Unités et graphes \usepackage{siunitx} \usepackage[siunitx]{gnuplottex} % pour permettre l'utilisation de gnuplot avec siunitx % Subfig %\usepackage{subfig} % Pour faire des sous-figures % Subfigures (attention, subfig est incompatible avec subcaption, % mais subcaption est bien supporté par hyperref \usepackage{subcaption} % Couleurs \usepackage{color} % Couleurs \usepackage{xcolor} \definecolor{editorGray}{rgb}{0.95, 0.95, 0.95} \definecolor{editorOcher}{rgb}{1, 0.5, 0} % #FF7F00 -> rgb(239, 169, 0) \definecolor{editorGreen}{rgb}{0, 0.5, 0} % #007C00 -> rgb(0, 124, 0) % Environnements particuliers %\usepackage[hyphens]{url} % Urls \usepackage[hyphens]{url} % Urls \usepackage{moreverb} % Texte non interprété. Plus complet que verbatim \usepackage{acronym} % Acronymes \usepackage{amsmath} % pour divers modules de maths \usepackage{textcomp} \usepackage{multicol} % Notes de fin de document \usepackage{enotez} \setenotez{ reset = true, backref = true, totoc = chapter, split = chapter, list-style = itemize } % Notes de bas de page \renewcommand{\thefootnote}{\alph{footnote}} % pour mettre les notes de bas de page en alphabétique %\renewcommand{\enoteheading}{% Redéfinit les entêtes de notes % \chapter{\notesname}% Redéfinit le titre des notes comme chapitre %\newcommand{\titreheaderendnotes}{\MakeUp­per­case{\notesname}} %\markboth{NOTES FINALES}{NOTES FINALES}% % } \usepackage{tocbibind} % Table des matières, liste des figures, liste des tableaux % dans la table des matières. % Divers \usepackage{ifthen} % Tests \usepackage{ifdraft} % Tests sur la présence de draft dans le documentclass \usepackage{calc} % Calculs avec latex %\usepackage{eurosym} % Symbole euro \usepackage{comment} % Commentaires sur plusieurs lignes \usepackage{shapepar} % Justification du texte selon une forme \usepackage{lipsum} \usepackage{makeidx} % pour permettre de construire un index \makeindex \usepackage{afterpage} % pour insérer une page vide sans numérotation (page de garde) % Reste à faire \usepackage[obeyDraft]{todonotes} %--------------Gestion de la page de garde---------------------------------------------- \newcommand\myemptypage{ \null \thispagestyle{empty} \addtocounter{page}{-2} \newpage \newpage } \newcommand{\pagedegarde}{ \ifthenelse{\equal{\lapagedegarde}{Y}}{ \myemptypage } } %--------------Gestion des langues------------------------------------------------------ \newcommand{\choixdelalangue}{ \ifthenelse{\equal{\lalangue}{francais}}{ \selectlanguage{french} % Gestion de la typographie française }{ \ifthenelse{\equal{\lalangue}{english}}{ \selectlanguage{english} % Gestion de la typographie anglaise }{ \ifthenelse{\equal{\lalangue}{deutch}}{ \selectlanguage{german} % Gestion de la typographie allemande }{} } } } % Traduction pour le package enotez en fonction de la langue % Pas besoin d'if car la traduction se fait en fonction de la % langue choisie pour babel \DeclareTranslation{French}{enotez-title}{Remarques} \DeclareTranslation{French}{enotez-splitted-title}{Remarques au } \DeclareTranslation{French}{enotez-section}{section} \DeclareTranslation{French}{enotez-chapter}{chapitre} \DeclareTranslation{English}{enotez-title}{Notes} \DeclareTranslation{English}{enotez-splitted-title}{Notes for } \DeclareTranslation{English}{enotez-section}{section} \DeclareTranslation{English}{enotez-chapter}{chapter} \DeclareTranslation{German}{enotez-title}{Anmerkungen} \DeclareTranslation{German}{enotez-splitted-title}{Anmerkungen zu } \DeclareTranslation{German}{enotez-section}{Abschnitt} \DeclareTranslation{German}{enotez-chapter}{Kapitel} %--------------Définition des fontes----------------------------------------------------------------------------------------------- % Choisissez la fonte que vous désirez : \usefont{encoding}{family}{series}{shape} \newcommand{\courrier}{\fontfamily{pcr}\selectfont} \newcommand{\helv}{\fontfamily{phv}\selectfont} \newcommand{\helvbold}{\fontfamily{phv}\fontseries{b}\selectfont} %\newcommand{\helv}{\fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont} %\newcommand{\helv}{\fontfamily{phv}}\selectfont} \newcommand{\palatino}{\fontfamily{ppl}\selectfont} \newcommand{\cmdunhill}{\usefont{OT1}{cmdh}{m}{n}} % computer modern dunhill %-------------En raison d'erreurs dues à la présence de déclarations de fontes %-------------obsolètes telles que \rm, remplacée par \rmfamily et qui apparaissent %-------------au passage de la classe book à scrbook. \renewcommand{\rm}{\rmfamily} \renewcommand{\sf}{\sffamily} \renewcommand{\tt}{\ttfamily} \renewcommand{\bf}{\bfseries} \renewcommand{\sc}{\scshape} %----------------Les éléments de la page de titre------------------------------------------------------------------------------ % Placement de la page de titre. % - si on compile en postscript, la page de titre est pagetitre.tex dans les pages spéciales. % - si on compile en latex2pdf et si une page de titre spéciale nommée page_titre.pdf % n'existe pas, la page de titre est pagetitre.tex. % - si on compile en latex2pdf et si une page de titre spéciale nommée page_titre.pdf % existe, alors on l'inclut à la place de la page de titre normale. \newcommand{\pagetitre}{ \ifthenelse{\boolean{pdf}}{ \IfFileExists{./pagesspeciales/page_titre.pdf}{ \includepdf{pagesspeciales/page_titre.pdf} }{ \ifthenelse{\equal{\typedepagetitre}{defautpagetitre}}{\include{pagesspeciales/pagetitre}}{} \ifthenelse{\equal{\typedepagetitre}{imagepagetitre}}{\include{pagesspeciales/pagetitreimage}}{} } }{ \ifthenelse{\equal{\typedepagetitre}{defautpagetitre}}{\include{pagesspeciales/pagetitre}}{} \ifthenelse{\equal{\typedepagetitre}{imagepagetitre}}{\include{pagesspeciales/pagetitreimage}}{} } } % La date du travail \newcommand{\workdate}{\workdatemonth~\workdateyear} % Titre du travail \newcommand{\theworktitle}{ \begin{Huge} {\sf \worktitle \\} \end{Huge} \vspace{0.2cm}% \ifthenelse{\equal{\worksubtitle}{}}{}{\begin{Large} {\sf \worksubtitle} \end{Large}}% } % Pied de page \newcommand{\titlepagefooter}{ \ifthenelse{\equal{\loption}{Atelier interdisciplinaire} \or \equal{\loption}{Interdisciplinary workshop} \or \equal{\loption}{Interdisziplinärer Arbeitsgruppe}}{\newcommand{\oc}{\loption}}{\newcommand{\oc}{\loption{} \textsc{\domaine}}} \begin{tabular}{lcr} \hline \ifthenelse{\isundefined{\leslogos}}{ \multirow{5}{*}{\includegraphics[height=1cm]{logo1}} & & \multirow{5}{*}{\includegraphics[height=1cm]{logo2}} \\ }{\\} & \oc & \\ & \ifthenelse{\isundefined{\ecole}} {\ifthenelse{\equal{\lalangue}{english}} {\newcommand{\ecole}{Blaise-Cendrars high school}\ecole} {\ifthenelse{\equal{\lalangue}{deutch}} {\newcommand{\ecole}{Gymnasium Blaise Cendrars}\ecole} {\newcommand{\ecole}{Lycée Blaise-Cendrars}\ecole} } }{\ecole} & \\ & \ifthenelse{\isundefined{\adressedelecole}} {\ifthenelse{\equal{\lalangue}{english}} {\newcommand{\adressedelecole}{La Chaux-de-Fonds (Switzerland)}% \adressedelecole} {\ifthenelse{\equal{\lalangue}{deutch}} {\newcommand{\adressedelecole}{La Chaux-de-Fonds (Schweiz)}% \adressedelecole} {\newcommand{\adressedelecole}{La Chaux-de-Fonds (Suisse)}% \adressedelecole} } }{\adressedelecole} & \\ & & \\ \end{tabular} } %-------------------Les différentes pages--------------------------------------------------------- % Définit le style des entête et pieds de page. \fancypagestyle{videavecpage}{% \fancyhead{} \renewcommand{\headrulewidth}{0pt} } \fancypagestyle{videsanspage}{% \fancyhead{} \fancyfoot{} \renewcommand{\headrulewidth}{0pt} } \fancypagestyle{laposteface}{% \fancyhf{} \renewcommand{\chaptermark}[1]{\markboth{\uppercase{##1}}{}} \fancyhead[RE,LO,LE,RO]{\leftmark} \renewcommand{\headrulewidth}{0pt} } \pagestyle{fancy} % Retire le filet sous l'entête \renewcommand{\headrulewidth}{0pt} % Profondeur de la table des matières \setcounter{tocdepth}{5} % Page de pensée ou de citations \newcommand{\pensee}{ \ifthenelse{\isundefined{\unepensee}}{\include{pagesspeciales/citations}} } % Page de préambule/dédicace/remerciements \newcommand{\dedicace}{ \ifthenelse{\isundefined{\unededicace}}{\include{pagesspeciales/remerciements}} } % Page de résumé \newcommand{\resume}{ \ifthenelse{\isundefined{\unresume}}{\include{pagesspeciales/resume}} } % Liste des figures \newcommand{\listefig}{ \ifthenelse{\isundefined{\unelistefig}}{ \ifthenelse{\isundefined{\titrelistedesfigures}}{ \ifthenelse{\equal{\lalangue}{francais}}{ \renewcommand{\listfigurename}{Liste des figures}}{} }{ \renewcommand{\listfigurename}{\titrelistedesfigures} } \cleardoublepage \listoffigures % liste des figures (fichier .lof) } } % Commande de crédit photographique \newcommand{\listcreditsname}{\textnormal{Crédits photographiques}} \newlistof{credits}{exp}{\listcreditsname} \newcommand{\credit}[1]{% \refstepcounter{credits} \addcontentsline{exp}{credits} {\protect\numberline{\thefigure } #1}\par} % Liste des tables \newcommand{\listetbl}{ \ifthenelse{\isundefined{\unelistetbl}}{ \ifthenelse{\isundefined{\titrelistedestables}}{ } {\renewcommand{\listtablename}{\titrelistedestables}} \cleardoublepage \listoftables % liste des tables (fichier .lot) } } % Liste des crédits photographiques % En raison d'une limitation du nombre de listes par LaTeX qui donnait l'erreur % "no room for a \string", les crédits photographiques ont été déplacé dans les % notes de fin. À l'appel d'une commande de figure, une note de fin de document % est créée contenant le paramètre #5 de la fonction \credit. Une commande \url % peut y être placée et hyperref en tiendra compte. % Liste des listings \newcommand{\listelst}{ \ifthenelse{\isundefined{\unelistelst}}{ \ifthenelse{\isundefined{\titrelistedescodes}}{ \ifthenelse{\equal{\lalangue}{english}}{ \renewcommand{\lstlistlistingname}{Listings}} {\ifthenelse{\equal{\lalangue}{deutch}}{ \renewcommand{\lstlistlistingname}{Liste der Quellcodes}} {\renewcommand{\lstlistlistingname}{Liste des codes sources}} } }{\renewcommand{\lstlistlistingname}{\titrelistedescodes}} \cleardoublepage \lstlistoflistings % liste des listings (fichier .lol) \addcontentsline{toc}{chapter}{\lstlistlistingname} } } % Liste des acronymes \newcommand{\acronyme}{ \ifthenelse{\isundefined{\unacronyme}}{\include{pagesspeciales/acronymes}}{} } % Page de licence \newcommand{\licence}{ \ifthenelse{\isundefined{\unelicence}}{\include{pagesspeciales/licence}}{} } % Page de site officiel \newcommand{\site}{ \ifthenelse{\isundefined{\unsite}}{\include{pagesspeciales/website}}{} } % Page de cdrom officiel \newcommand{\cdrom}{ \ifthenelse{\isundefined{\uncdrom}}{\include{pagesspeciales/cdrom}}{} } % `` '' is a placeholder for e.g. ``section 1'': % Page de note de fin (probablement non fonctionnel avec enotez % mais laissé au cas où endnotes serait le paquet choisi. \newcommand{\notesdefin}{ \ifthenelse{\isundefined{\lesnotesdefin}}{ \ifthenelse{\isundefined{\titrelistedesnotesdefin}}{ \ifthenelse{\equal{\lalangue}{english}}{ \renewcommand\notesname{Endnotes} }{\ifthenelse{\equal{\lalangue}{deutch}}{ \renewcommand\notesname{Endnoten} }{\renewcommand\notesname{Notes finales}} } }{\renewcommand\notesname{\titrelistedesnotesdefin}} \theendnotes \cleartooddpage } } % Page d'index \newcommand{\lindex}{ \ifthenelse{\isundefined{\unindex}}{}{ %\cleardoublepage \printindex %\addcontentsline{toc}{chapter}{\indexname} } } % Pages d'annexes \newcommand{\annexes}{ \ifthenelse{\isundefined{\lesannexes}}{ \ifthenelse{\equal{\lalangue}{english}} {\newcommand{\entetedannexe}{Appendix}} {\ifthenelse{\equal{\lalangue}{deutch}} {\newcommand{\entetedannexe}{Anhang}} {\newcommand{\entetedannexe}{Annexe}} } \renewcommand\chaptername{\entetedannexe} \touteslesannexes} } %------------------Les chapitres------------------------------------------------------- \newcommand{\leschapitres}{ \ifthenelse{\not{\equal{\nbchap}{}}}{ \newcounter{comptechap} \def\StartValue{1} \def\MaxValue{\nbchap} \setcounter{comptechap}{\StartValue} \whiledo{\not{\value{comptechap}>\MaxValue}}{ \include{chapitres/chapter\thecomptechap} \stepcounter{comptechap} } }{} } %------------------Les annexes------------------------------------------------------- \newcommand{\touteslesannexes}{ \ifthenelse{\not{\equal{\nbannexes}{}}}{ \newcounter{compteannexes} \def\StartValue{1} \def\MaxValue{\nbannexes} \setcounter{compteannexes}{\StartValue} \whiledo{\not{\value{compteannexes}>\MaxValue}}{ \include{chapitres/annexe\thecompteannexes} \stepcounter{compteannexes} } }{} } %------------------Environnements----------------------------------------- % Redéfinition de l'environnement de citations \newcounter{Citctr} \newsavebox{\Citname} \newenvironment{Citation}[1] {%\ifthenelse{\equal{#1}{}}{\typein{A reference is missing !}}% \sbox\Citname{\emph{#1}}% \refstepcounter{Citctr}\begin{description} \item[Citation \arabic{Citctr}]} {\hspace*{\fill}\nolinebreak[1]% \quad\hspace*{\fill}% \finalhyphendemerits=0 \usebox{\Citname}\end{description} } %------------------Commandes diverses------------------------------------------ % Redéfinition de la commande \url %\renewcommand\url{\begingroup \small \urlstyle{sf}\Url} % Commande pour les urls dans la bibliographie des sites web % Par exemple \biburl{http://www.cvgg.org/}{1}{January}{2012} %\newcommand{\lastVisited}[3]{ %\ifthenelse{\equal{\lalangue}{francais}}{ % (dernière consultation le #1 #2 #3) % }{ % \ifthenelse{\equal{\lalangue}{english}}{ % (last consulted on #2 #1, #3) % }{ % \ifthenelse{\equal{\lalangue}{deutch}}{ % (letzte Konsultation zu #1 #2 #3) % }{} % } % } %} %\newcommand{\biburl}[4]{{\apath{#1} \lastVisited{#2}{#3}{#4}}} % Par exemple \biburlarticle{http://www.cvgg.org/article.html}{14}{juillet}{2012} %\newcommand{\biburlarticle}[4]{[Obtenu le #2 #3 #4 de {\small\apath{#1}}]} % Définition de la bibliographie web et de son titre %\newcommand{\titredelabiblioweb}{ % \ifthenelse{\equal{\lalangue}{francais}}{ % \newcites{web}{Sites web} % }{ % \ifthenelse{\equal{\lalangue}{english}}{ % \newcites{web}{Websites} % }{ % \ifthenelse{\equal{\lalangue}{deutch}}{ % \newcites{web}{Webseiten} % }{} % } % } %} \newcommand{\online}{[online]} % Impression d'un filigrane de version provisoire. % Prints your review date and 'Draft Version' (From Josullvn, CS, CMU) % Seems no to work properly on Linux. On Windows OK ! % Ai retiré la date, car les accents étaient mal traduits malgré babel. % Mais la date provisoire est définie sur la page de titre. \newcommand{\reviewtimetoday}[2]{\special{!userdict begin /bop-hook{gsave 20 710 translate 45 rotate 0.8 setgray /Times-Roman findfont 18 scalefont setfont 0 0 moveto () show 0 -12 moveto (#2) show grestore}def end}} \newcommand{\draftoufinal}{ \ifdraft{ \ifthenelse{\equal{\lalangue}{english}}{ \reviewtimetoday{\today}{* Draft Version *} }{ \ifthenelse{\equal{\lalangue}{deutch}}{ \reviewtimetoday{\today}{* Draft *} }{ \reviewtimetoday{\today}{* Version provisoire *} } } } } % Entête et pied de page \renewcommand{\chaptermark}[1]{ % pour avoir Chapter 1. Introduction \markboth{\chaptername\ \thechapter.\ #1}{}} \renewcommand{\sectionmark}[1]{ % pour avoir 1.2. Strucutre du document \markright{\thesection.\ #1}{}} %\lhead[\fancyplain{} \rmfamily \thepage]{\fancyplain{} \itshape \rightmark} %\lhead[\fancyplain{} \itshape \rightmark]{\fancyplain{} \itshape \rightmark} %\chead{} %\rhead[\fancyplain{} \itshape \leftmark]{\fancyplain{} \rmfamily \thepage} %\rhead{} \fancyhead[RO,LE]{\fancyplain{} \itshape \rightmark} \fancyfoot[C]{\fancyplain{} \rmfamily \thepage} %\lfoot{} %\cfoot{} %\cfoot[\fancyplain{} \rmfamily \thepage]{\fancyplain{} \rmfamily \thepage} %\rfoot{} % Pour les énumérations à l'intérieur d'un paragraphe, par exemple, "il y a trois possibilités : % (i) blabla1 (ii) blabla2 (iii) blabla3" \newenvironment{sinparaenum}% {\begin{inparaenum}[\itshape(i)\upshape]}% {\end{inparaenum}} %-------------Les figures--------------------------------------------------- % Dimensions des figures insérées. \newlength{\bigfigurewidth} \setlength{\bigfigurewidth}{0.96\textwidth} \newlength{\normalfigurewidth} \setlength{\normalfigurewidth}{0.77\textwidth} \newlength{\smallfigurewidth} \setlength{\smallfigurewidth}{0.57\textwidth} \newlength{\tinyfigurewidth} \setlength{\tinyfigurewidth}{0.27\textwidth} % La structure pour insérer les figures. \newcommand{\tmfigure}[5]{ \begin{figure} [t] \begin{center} \includegraphics[width=#2]{#1} \caption[#3]{\label{#4} #3 \endnote{\protect #5}} \credit{#5} \end{center} \end{figure} } % Quatre types de figures sont possibles : grande (B), normale (N), petite (S) et très petite (T). \newcommand{\tmfigureB}[4]{\tmfigure{#1}{\bigfigurewidth}{#2}{#3}{#4}} \newcommand{\tmfigureN}[4]{\tmfigure{#1}{\normalfigurewidth}{#2}{#3}{#4}} \newcommand{\tmfigureS}[4]{\tmfigure{#1}{\smallfigurewidth}{#2}{#3}{#4}} \newcommand{\tmfigureT}[4]{\tmfigure{#1}{\tinyfigurewidth}{#2}{#3}{#4}} %----------------Les références----------------------------------------------------------------- % Commande pour référencer les figures % Je préfère sans le mot 'figure' automatiquement devant car on peut devoir le mettre au pluriel \newcommand{\figref}[1]{\ref{#1}} % Commande pour référencer les tables \newcommand{\tableref}[1]{\ref{#1}} % Commande pour référencer les codes \newcommand{\listingref}[1]{\ref{#1}} %----------------Le code en ligne------------------------------------------------------------- % On peut utiliser cette commande pour le code en ligne %\newcommand{\src}[1]{\begin{sf}\small{#1}\end{sf}} \newcommand\src[1]{{\helv{\footnotesize{#1}}}} % le code source est mis en Helvetica % Une meilleures solution pourrait être : % \newcommand{\src}[1]{\listinline!#1!} % Finalement, il est plus simple de mettre directement : \lstinline|code| \newcommand\footsrc[1]{{\helv{\scriptsize{#1}}}} % le code source est mis en Helvetica - dans les notes de bas de page % On peut utiliser cette commande pour les url, chemins, ... \newcommand{\apath}[1]{\url{#1}} \newcommand*{\indexsection}[1]{% \ifx\empty#1\empty\else \hspace{0pt plus 2fil}{{\sectfont #1}}\hspace{0pt plus 1fil}\nopagebreak \fi } % Pour mettre le texte entre guillemets. Par exemple : \squote{de facto} \newcommand{\squote}[1]{``#1''} % Définition et configuration de l'environnement listings \definecolor{listinggray}{gray}{0.9} \definecolor{commentgreen}{rgb}{0,0.7,0} \lstset { showstringspaces=false, frame=none, extendedchars=true, basicstyle=\normalfont\helv\footnotesize, numbers=left, numberstyle=\tiny, numbersep=5pt, stepnumber=2, language=Java, breaklines, tabsize=2, backgroundcolor=\color{listinggray}, rulecolor=\color{blue}, linewidth=\linewidth, keywordstyle=\bfseries\color{blue}, commentstyle=\color{commentgreen}, captionpos=b, abovecaptionskip=\medskipamount, belowcaptionskip=\medskipamount, escapeinside={(*@}{@*)}, } % Ce code permet de compiler avec latex ou pdflatex en changeant le suffix du nom % de fichier des figures : %.eps si latex est utilisé et .pdf, .jpg ou .png si pdflatex est utilisé \ifthenelse{\boolean{pdf}}{ \pdftrue % on compile en pdflatex \pdfcompresslevel=9 % niveau de compression pour le texte et les images ; \DeclareGraphicsExtensions{.pdf,.jpg,.png} }{ \pdffalse \DeclareGraphicsExtensions{.eps} } % Ce code permet de ne pas activer hyperref si le choix de la fortie papier est % fait dans la configuration (config.tex), d'activer hyperref pour pdflatex si % les images sont .pdf, .jpg ou .png ou d'activer hyperref pour LaTeX-dvi si les % images sont en eps. \newcommand{\choixsortie}{ \ifthenelse{\not\isundefined{\laversionpdf}}{ \ifthenelse{\boolean{pdf}}{ \usepackage[pdftex]{hyperref} \hypersetup{ breaklinks=true, plainpages=false, colorlinks=true, %pdfborder={0 0 0}, linkcolor=blue, citecolor=blue, urlcolor=blue } }{ %\usepackage{xcolor} % pagebackref ne doit pas être dans hypersetup \usepackage[dvips,ps2pdf]{hyperref} %\usepackage{hyperref} \hypersetup{ breaklinks=true, plainpages=false, colorlinks=true, linkcolor=blue, citecolor=blue, urlcolor=blue, hypertexnames=true } %\usepackage{hypdvips} \usepackage[hyphenbreaks]{breakurl} %\urlstyle{sf} } }{} } % Commandes de styles de bibliographie \newcommand{\ressources}{ \ifthenelse{\equal{\lalangue}{english}} {\newcommand{\lesressources}{Books} \newcommand{\lesressourcesenligne}{Online resources}} {\ifthenelse{\equal{\lalangue}{deutch}} {\newcommand{\lesressources}{Bücher} \newcommand{\lesressourcesenligne}{Online Ressourcen}} {\newcommand{\lesressources}{Livres} \newcommand{\lesressourcesenligne}{Ressources en ligne}} } } \newcommand{\choixstyledebiblio}{ \bibliographystyle{\lestyledebiblio} } % Définition des valeurs de pénalités pour éléminer les coupures de premières et dernières lignes de page. \clubpenalty=9999 \widowpenalty=9999 \newcommand{\corrbug}{ % -------------------------------------------------------- % Correction d'un petit bug de listings qui mène sans cela à un : Undefined control sequence. \lstlistoflistings \makeatletter \@ifundefined{float@listhead}{}{% \renewcommand*{\lstlistoflistings}{% \begingroup \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \float@listhead{\lstlistlistingname}% \setlength{\parskip}{\z@}% \setlength{\parindent}{\z@}% \setlength{\parfillskip}{\z@ \@plus 1fil}% \@starttoc{lol}% \if@restonecol\twocolumn\fi \endgroup }% } \makeatother % -------------------------------------------------------- }