1072 lines
40 KiB
Plaintext
1072 lines
40 KiB
Plaintext
%-------------------------------------------------------------------------------
|
||
% 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
|
||
<, </, >,
|
||
</a, <a, </a>,
|
||
</abbr, <abbr, </abbr>,
|
||
</address, <address, </address>,
|
||
</area, <area, </area>,
|
||
</area, <area, </area>,
|
||
</article, <article, </article>,
|
||
</aside, <aside, </aside>,
|
||
</audio, <audio, </audio>,
|
||
</audio, <audio, </audio>,
|
||
</b, <b, </b>,
|
||
</base, <base, </base>,
|
||
</bdi, <bdi, </bdi>,
|
||
</bdo, <bdo, </bdo>,
|
||
</blockquote, <blockquote, </blockquote>,
|
||
</body, <body, </body>,
|
||
</br, <br, </br>,
|
||
</button, <button, </button>,
|
||
</canvas, <canvas, </canvas>,
|
||
</caption, <caption, </caption>,
|
||
</cite, <cite, </cite>,
|
||
</code, <code, </code>,
|
||
</col, <col, </col>,
|
||
</colgroup, <colgroup, </colgroup>,
|
||
</data, <data, </data>,
|
||
</datalist, <datalist, </datalist>,
|
||
</dd, <dd, </dd>,
|
||
</del, <del, </del>,
|
||
</details, <details, </details>,
|
||
</dfn, <dfn, </dfn>,
|
||
</div, <div, </div>,
|
||
</dl, <dl, </dl>,
|
||
</dt, <dt, </dt>,
|
||
</em, <em, </em>,
|
||
</embed, <embed, </embed>,
|
||
</fieldset, <fieldset, </fieldset>,
|
||
</figcaption, <figcaption, </figcaption>,
|
||
</figure, <figure, </figure>,
|
||
</footer, <footer, </footer>,
|
||
</form, <form, </form>,
|
||
</h1, <h1, </h1>,
|
||
</h2, <h2, </h2>,
|
||
</h3, <h3, </h3>,
|
||
</h4, <h4, </h4>,
|
||
</h5, <h5, </h5>,
|
||
</h6, <h6, </h6>,
|
||
</head, <head, </head>,
|
||
</header, <header, </header>,
|
||
</hr, <hr, </hr>,
|
||
</html, <html, </html>,
|
||
</i, <i, </i>,
|
||
</iframe, <iframe, </iframe>,
|
||
</img, <img, </img>,
|
||
</input, <input, </input>,
|
||
</ins, <ins, </ins>,
|
||
</kbd, <kbd, </kbd>,
|
||
</keygen, <keygen, </keygen>,
|
||
</label, <label, </label>,
|
||
</legend, <legend, </legend>,
|
||
</li, <li, </li>,
|
||
</link, <link, </link>,
|
||
</main, <main, </main>,
|
||
</map, <map, </map>,
|
||
/mark, <mark, </mark>,
|
||
</math, <math, </math>,
|
||
</menu, <menu, </menu>,
|
||
</menuitem, <menuitem, </menuitem>,
|
||
</meta, <meta, </meta>,
|
||
</meter, <meter, </meter>,
|
||
</nav, <nav, </nav>,
|
||
</noscript, <noscript, </noscript>,
|
||
</object, <object, </object>,
|
||
</ol, <ol, </ol>,
|
||
</optgroup, <optgroup, </optgroup>,
|
||
</option, <option, </option>,
|
||
</output, <output, </output>,
|
||
</p, <p, </p>,
|
||
</param, <param, </param>,
|
||
</pre, <pre, </pre>,
|
||
</progress, <progress, </progress>,
|
||
</q, <q, </q>,
|
||
</rp, <rp, </rp>,
|
||
</rt, <rt, </rt>,
|
||
</ruby, <ruby, </ruby>,
|
||
</s, <s, </s>,
|
||
</samp, <samp, </samp>,
|
||
</script, <script, </script>,
|
||
</section, <section, </section>,
|
||
</select, <select, </select>,
|
||
</small, <small, </small>,
|
||
</source, <source, </source>,
|
||
</span, <span, </span>,
|
||
</strong, <strong, </strong>,
|
||
</style, <style, </style>,
|
||
</summary, <summary, </summary>,
|
||
</sup, <sup, </sup>,
|
||
</svg, <svg, </svg>,
|
||
</table, <table, </table>,
|
||
</tbody, <tbody, </tbody>,
|
||
</td, <td, </td>,
|
||
</template, <template, </template>,
|
||
</textarea, <textarea, </textarea>,
|
||
</tfoot, <tfoot, </tfoot>,
|
||
</th, <th, </th>,
|
||
</thead, <thead, </thead>,
|
||
</time, <time, </time>,
|
||
</title, <title, </title>,
|
||
</tr, <tr, </tr>,
|
||
</track, <track, </track>,
|
||
</u, <u, </u>,
|
||
</ul, <ul, </ul>,
|
||
</var, <var, </var>,
|
||
</video, <video, </video>,
|
||
</wbr, <wbr, </wbr>,
|
||
/>, <!
|
||
},
|
||
ndkeywords={
|
||
% General
|
||
=,
|
||
% HTML attributes
|
||
accept=, accept-charset=, accesskey=, action=, align=, alt=, async=,
|
||
autocomplete=, autofocus=, autoplay=, autosave=, bgcolor=, border=,
|
||
buffered=, challenge=, charset=, checked=, cite=, class=, code=,
|
||
codebase=, color=, cols=, colspan=, content=, contenteditable=,
|
||
contextmenu=, controls=, coords=, data=, datetime=, default=, defer=,
|
||
dir=, dirname=, disabled=, download=, draggable=, dropzone=, enctype=,
|
||
for=, form=, formaction=, headers=, height=, hidden=, high=, href=,
|
||
hreflang=, http-equiv=, icon=, id=, ismap=, itemprop=, keytype=,
|
||
kind=, label=, lang=, language=, list=, loop=, low=, manifest=, max=,
|
||
maxlength=, media=, method=, min=, multiple=, name=, novalidate=,
|
||
open=, optimum=, pattern=, ping=, placeholder=, poster=, preload=,
|
||
pubdate=, radiogroup=, readonly=, rel=, required=, reversed=, rows=,
|
||
rowspan=, sandbox=, scope=, scoped=, seamless=, selected=, shape=,
|
||
size=, sizes=, span=, spellcheck=, src=, srcdoc=, srclang=, start=,
|
||
step=, style=, summary=, tabindex=, target=, title=, type=, usemap=,
|
||
value=, width=, wrap=,
|
||
% CSS properties
|
||
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:,transition-duration:,transition-property:,
|
||
transition-timing-function:,transform:,
|
||
-moz-transform:,-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:
|
||
},
|
||
morecomment=[s]{<!--}{-->},
|
||
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}{\MakeUppercase{\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 <name> <ref>}
|
||
\DeclareTranslation{French}{enotez-section}{section}
|
||
\DeclareTranslation{French}{enotez-chapter}{chapitre}
|
||
|
||
\DeclareTranslation{English}{enotez-title}{Notes}
|
||
\DeclareTranslation{English}{enotez-splitted-title}{Notes for <name> <ref>}
|
||
\DeclareTranslation{English}{enotez-section}{section}
|
||
\DeclareTranslation{English}{enotez-chapter}{chapter}
|
||
|
||
\DeclareTranslation{German}{enotez-title}{Anmerkungen}
|
||
\DeclareTranslation{German}{enotez-splitted-title}{Anmerkungen zu <name> <ref>}
|
||
\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}}{}
|
||
}
|
||
|
||
% ``<name> <ref>'' 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
|
||
% --------------------------------------------------------
|
||
} |