init
authorThomas Pietrzak <thomas.pietrzak@gmail.com>
Wed, 23 Jan 2019 10:43:25 +0000 (11:43 +0100)
committerThomas Pietrzak <thomas.pietrzak@gmail.com>
Wed, 23 Jan 2019 10:43:25 +0000 (11:43 +0100)
.gitignore [new file with mode: 0644]
Makefile [new file with mode: 0644]
alpha-fr.bst [new file with mode: 0644]
biblio.bib [new symlink]
getcommit.sty [new file with mode: 0644]
hdrmain.tex [new file with mode: 0644]
phdthesis.cls [new file with mode: 0644]
unsrt-fr.bst [new file with mode: 0644]
unsrtnat-fr.bst [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..4316963
--- /dev/null
@@ -0,0 +1,370 @@
+
+# Created by https://www.gitignore.io/api/linux,macos,latex,windows,sublimetext
+# Edit at https://www.gitignore.io/?templates=linux,macos,latex,windows,sublimetext
+
+### LaTeX ###
+## Core latex/pdflatex auxiliary files:
+*.aux
+*.lof
+*.log
+*.lot
+*.fls
+*.out
+*.toc
+*.fmt
+*.fot
+*.cb
+*.cb2
+.*.lb
+
+## Intermediate documents:
+*.dvi
+*.xdv
+*-converted-to.*
+# these rules might exclude image files for figures etc.
+# *.ps
+# *.eps
+# *.pdf
+
+## Generated if empty string is given at "Please type another file name for output:"
+.pdf
+
+## Bibliography auxiliary files (bibtex/biblatex/biber):
+*.bbl
+*.bcf
+*.blg
+*-blx.aux
+*-blx.bib
+*.run.xml
+
+## Build tool auxiliary files:
+*.fdb_latexmk
+*.synctex
+*.synctex(busy)
+*.synctex.gz
+*.synctex.gz(busy)
+*.pdfsync
+
+## Build tool directories for auxiliary files
+# latexrun
+latex.out/
+
+## Auxiliary and intermediate files from other packages:
+# algorithms
+*.alg
+*.loa
+
+# achemso
+acs-*.bib
+
+# amsthm
+*.thm
+
+# beamer
+*.nav
+*.pre
+*.snm
+*.vrb
+
+# changes
+*.soc
+
+# comment
+*.cut
+
+# cprotect
+*.cpt
+
+# elsarticle (documentclass of Elsevier journals)
+*.spl
+
+# endnotes
+*.ent
+
+# fixme
+*.lox
+
+# feynmf/feynmp
+*.mf
+*.mp
+*.t[1-9]
+*.t[1-9][0-9]
+*.tfm
+
+#(r)(e)ledmac/(r)(e)ledpar
+*.end
+*.?end
+*.[1-9]
+*.[1-9][0-9]
+*.[1-9][0-9][0-9]
+*.[1-9]R
+*.[1-9][0-9]R
+*.[1-9][0-9][0-9]R
+*.eledsec[1-9]
+*.eledsec[1-9]R
+*.eledsec[1-9][0-9]
+*.eledsec[1-9][0-9]R
+*.eledsec[1-9][0-9][0-9]
+*.eledsec[1-9][0-9][0-9]R
+
+# glossaries
+*.acn
+*.acr
+*.glg
+*.glo
+*.gls
+*.glsdefs
+
+# gnuplottex
+*-gnuplottex-*
+
+# gregoriotex
+*.gaux
+*.gtex
+
+# htlatex
+*.4ct
+*.4tc
+*.idv
+*.lg
+*.trc
+*.xref
+
+# hyperref
+*.brf
+
+# knitr
+*-concordance.tex
+# TODO Comment the next line if you want to keep your tikz graphics files
+*.tikz
+*-tikzDictionary
+
+# listings
+*.lol
+
+# makeidx
+*.idx
+*.ilg
+*.ind
+*.ist
+
+# minitoc
+*.maf
+*.mlf
+*.mlt
+*.mtc[0-9]*
+*.slf[0-9]*
+*.slt[0-9]*
+*.stc[0-9]*
+
+# minted
+_minted*
+*.pyg
+
+# morewrites
+*.mw
+
+# nomencl
+*.nlg
+*.nlo
+*.nls
+
+# pax
+*.pax
+
+# pdfpcnotes
+*.pdfpc
+
+# sagetex
+*.sagetex.sage
+*.sagetex.py
+*.sagetex.scmd
+
+# scrwfile
+*.wrt
+
+# sympy
+*.sout
+*.sympy
+sympy-plots-for-*.tex/
+
+# pdfcomment
+*.upa
+*.upb
+
+# pythontex
+*.pytxcode
+pythontex-files-*/
+
+# tcolorbox
+*.listing
+
+# thmtools
+*.loe
+
+# TikZ & PGF
+*.dpth
+*.md5
+*.auxlock
+
+# todonotes
+*.tdo
+
+# vhistory
+*.hst
+*.ver
+
+# easy-todo
+*.lod
+
+# xcolor
+*.xcp
+
+# xmpincl
+*.xmpi
+
+# xindy
+*.xdy
+
+# xypic precompiled matrices
+*.xyc
+
+# endfloat
+*.ttt
+*.fff
+
+# Latexian
+TSWLatexianTemp*
+
+## Editors:
+# WinEdt
+*.bak
+*.sav
+
+# Texpad
+.texpadtmp
+
+# LyX
+*.lyx~
+
+# Kile
+*.backup
+
+# KBibTeX
+*~[0-9]*
+
+# auto folder when using emacs and auctex
+./auto/*
+*.el
+
+# expex forward references with \gathertags
+*-tags.tex
+
+# standalone packages
+*.sta
+
+### LaTeX Patch ###
+# glossaries
+*.glstex
+
+### Linux ###
+*~
+
+# temporary files which can be created if a process still has a handle open of a deleted file
+.fuse_hidden*
+
+# KDE directory preferences
+.directory
+
+# Linux trash folder which might appear on any partition or disk
+.Trash-*
+
+# .nfs files are created when an open file is removed but is still being accessed
+.nfs*
+
+### macOS ###
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+### SublimeText ###
+# Cache files for Sublime Text
+*.tmlanguage.cache
+*.tmPreferences.cache
+*.stTheme.cache
+
+# Workspace files are user-specific
+*.sublime-workspace
+
+# Project files should be checked into the repository, unless a significant
+# proportion of contributors will probably not be using Sublime Text
+# *.sublime-project
+
+# SFTP configuration file
+sftp-config.json
+
+# Package control specific files
+Package Control.last-run
+Package Control.ca-list
+Package Control.ca-bundle
+Package Control.system-ca-bundle
+Package Control.cache/
+Package Control.ca-certs/
+Package Control.merged-ca-bundle
+Package Control.user-ca-bundle
+oscrypto-ca-bundle.crt
+bh_unicode_properties.cache
+
+# Sublime-github package stores a github token in this file
+# https://packagecontrol.io/packages/sublime-github
+GitHub.sublime-settings
+
+### Windows ###
+# Windows thumbnail cache files
+Thumbs.db
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+# End of https://www.gitignore.io/api/linux,macos,latex,windows,sublimetext
\ No newline at end of file
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..93bc8dc
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,33 @@
+LATEX = pdflatex\r
+BIBTEX = bibtex\r
+# INDEX = makeindex\r
+RM = rm\r
+DST = candidature\r
+LILLE = $(DST)-Lille205\r
+PARIS = $(DST)-Paris600\r
+NANCY = $(DST)-Nancy615\r
+SRC = $(DST).tex\r
+LATEX_OPTIONS = -file-line-error\r
+BIBEX_OPTIONS = -min-crossrefs=100\r
+INDEX_OPTIONS = -s indexstyle.ist\r
+\r
+all: lille paris nancy\r
+\r
+lille: $(LILLE)\r
+\r
+paris: $(PARIS)\r
+\r
+nancy: $(NANCY)\r
+\r
+clean:\r
+       $(RM) -rf *.bbl *.aux *.blg *.idx *.ilg *.ind *.lof *.log *.lot *.out *.toc\r
+\r
+mrproper: clean\r
+       $(RM) *.pdf\r
+\r
+single:\r
+       $(LATEX) $(LATEX_OPTIONS) --jobname $(DST) $(SRC)\r
+\r
+candidature-%: candidature-%.tex commun.tex projetrecherche.tex communfin.tex\r
+       $(LATEX) $(LATEX_OPTIONS) --jobname $@ $<\r
+\r
diff --git a/alpha-fr.bst b/alpha-fr.bst
new file mode 100644 (file)
index 0000000..3553e08
--- /dev/null
@@ -0,0 +1,1408 @@
+%%
+%% Bib. style "alpha-fr" (version francisee de alpha.bst)
+%%
+%% NM, 2004/02/22
+%% markey@lsv.ens-cachan.fr 
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % Original Copyright (Oren Patashnik):
+ %
+ % This program may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.2
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ %   http://www.latex-project.org/lppl.txt
+ % and version 1.2 or later is part of all distributions of LaTeX
+ % version 1999/12/01 or later.
+ %
+ % This program consists of the file alpha.bst
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+ENTRY
+  { address
+    author
+    booktitle
+    chapter
+    edition
+    editor
+    howpublished
+    institution
+    journal
+    key
+    month
+    note
+    number
+    organization
+    pages
+    publisher
+    school
+    series
+    title
+    type
+    volume
+    year
+  }
+  {}
+  { label extra.label sort.label }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% C'est ici que je definis les "traductions". Normalement, y a 
+%% que ca a changer pour franciser le style...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION{fr.and}{              %% le "et" entre les deux derniers auteurs
+" et "
+}
+
+FUNCTION{fr.editeur}{          %% ", \'editeur" au singulier, ou " (\'editeur)"...
+", \'editeur"
+}
+
+FUNCTION{fr.editeurs}{         %% ", \'editeurs" au pluriel, ou " (\'editeurs)"...
+", \'editeurs"
+}
+
+FUNCTION{fr.et.al}{            %% " et~al."
+" \emph{et~al.}"
+}
+
+FUNCTION{fr.in}{               %% "Dans "
+"\emph{Dans} "
+}
+
+FUNCTION{fr.in.spc}{           %% " de " (ou " de la s\'erie ")
+" de "
+}
+
+FUNCTION{fr.of}{               %% " de "
+" de "
+}
+
+FUNCTION{fr.number}{           %% "num\'ero "
+"num\'ero "
+}
+
+FUNCTION{fr.number.maj}{       %% "Num\'ero "
+"Num\'ero "
+}
+
+FUNCTION{fr.volume}{           %% "volume"
+"volume"
+}
+
+FUNCTION{fr.volume.maj}{       %% "Volume"
+"Volume"
+}
+
+FUNCTION{fr.edition}{          %% " \'edition"
+" \'edition"
+}
+
+FUNCTION{fr.pages}{            %% "pages"
+"pages"
+}
+
+FUNCTION{fr.page}{             %% "page"
+"page"
+}
+
+FUNCTION{fr.chapter}{          %% "chapitre"
+"chapitre"
+}
+
+FUNCTION{fr.tech.rep}{         %% "Rapport Technique"
+"Rapport technique"
+}
+
+FUNCTION{fr.master}{           %% "M\'emoire de D.E.A."
+"M\'emoire de D.E.A."
+}
+
+FUNCTION{fr.phd}{              %% "Th\`ese de doctorat"
+"Th\`ese de doctorat"
+}
+
+FUNCTION{fr.auteurs.style}{    
+       %% si on veut des small caps sur le LASTNAME de l'auteur
+       %% Cette fonction est utilisee dans la definition d'une
+       %% fonction LaTeX.
+"\scshape"
+}
+
+FUNCTION{fr.ponctuation.apres.auteurs}{ %% Comme son nom l'indique...
+" : "
+}
+
+FUNCTION{fr.deuxpoints}{       %% separateur num. journal/num. pages
+"\string:\penalty500\relax "
+}
+
+MACRO {jan} {"janvier"}
+MACRO {feb} {"f\'evrier"}
+MACRO {mar} {"mars"}
+MACRO {apr} {"avril"}
+MACRO {may} {"mai"}
+MACRO {jun} {"juin"}
+MACRO {jul} {"juillet"}
+MACRO {aug} {"ao\^ut"}
+MACRO {sep} {"septembre"}
+MACRO {oct} {"octobre"}
+MACRO {nov} {"novembre"}
+MACRO {dec} {"d\'ecembre"}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% La suite, normalement, y a rien a changer...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block after.authors }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+  #1 'mid.sentence :=
+  #2 'after.sentence :=
+  #3 'after.block :=
+  #0 'after.authors :=
+}
+
+STRINGS { s t }
+
+FUNCTION{ fr.add.period }{
+after.authors 
+  { fr.ponctuation.apres.auteurs empty$
+      { add.period$ }
+      { fr.ponctuation.apres.auteurs * #0 'after.authors := }
+    if$}
+  { add.period$ }
+if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+  output.state mid.sentence =
+    { ", " * write$ }
+    { output.state after.block =
+       { fr.add.period write$
+         newline$
+         "\newblock " write$
+       }
+       { output.state before.all =
+           'write$
+           { add.period$ " " * write$ }
+         if$
+       }
+      if$
+      mid.sentence 'output.state :=
+    }
+  if$
+  s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull
+  if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+  duplicate$ empty$
+    { pop$ "empty " t * " in " * cite$ * warning$ }
+    'output.nonnull
+  if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+  "\bibitem[" write$
+  label write$
+  "]{" write$
+  cite$ write$
+  "}" write$
+  newline$
+  ""
+  before.all 'output.state :=
+  #0 'after.authors :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+  write$
+  newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+    'skip$
+    { output.state before.all =
+       'skip$
+       { after.sentence 'output.state := }
+      if$
+    }
+  if$
+}
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+    'skip$
+    'new.sentence
+  if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.sentence
+  if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+    { pop$ "" }
+    { "{\em " swap$ * "}" * }
+  if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr "{ff~}{vv~}\bgroup\fonteauteurs\bgroup {ll}\egroup\egroup{{}}{, jj}" format.name$ 't :=
+      nameptr #1 >
+       { namesleft #1 >
+           { ", " * t * }
+           {   %numnames #2 > namesleft #2 > and
+               %  { "," * }
+               %  'skip$
+               %if$
+             t "\bgroup\fonteauteurs\bgroup others\egroup\egroup{}" =
+               { fr.et.al * }
+               { fr.and * t * }
+             if$
+           }
+         if$
+       }
+       't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+    { "" }
+    { author format.names #1 'after.authors := } 
+  if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+    { "" }
+    { editor format.names
+      editor num.names$ #1 >
+       { fr.editeurs * }
+       { fr.editeur * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+    { "" }
+    { title "t" change.case$ }
+  if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+       { t #1 #2 substring$ "--" = not
+           { "--" *
+             t #2 global.max$ substring$ 't :=
+           }
+           {   { t #1 #1 substring$ "-" = }
+               { "-" *
+                 t #2 global.max$ substring$ 't :=
+               }
+             while$
+           }
+         if$
+       }
+       { t #1 #1 substring$ *
+         t #2 global.max$ substring$ 't :=
+       }
+      if$
+    }
+  while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+    { month empty$
+       { "" }
+       { "there's a month but no year in " cite$ * warning$
+         month
+       }
+      if$
+    }
+    { month empty$
+       'year
+       { month " " * year * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { " " }
+  if$
+  swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+    { "" }
+    { fr.volume volume tie.or.space.connect
+      series empty$
+       'skip$
+       { fr.of * series emphasize * }
+      if$
+      "volume and number" number either.or.check
+    }
+  if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+    { number empty$
+       { series field.or.null }
+       { output.state mid.sentence =
+           { fr.number }
+           { fr.number.maj }
+         if$
+         number tie.or.space.connect
+         series empty$
+           { "there's a number but no series in " cite$ * warning$ }
+           { fr.in.spc * series * }
+         if$
+       }
+      if$
+    }
+    { "" }
+  if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+    { "" }
+    { output.state mid.sentence =
+       { edition "l" change.case$ fr.edition * }
+       { edition "t" change.case$ fr.edition * }
+      if$
+    }
+  if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+       { #1 'multiresult := }
+       { t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+    { "" }
+    { pages multi.page.check
+       { fr.pages pages n.dashify tie.or.space.connect }
+       { fr.page pages tie.or.space.connect }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+  number empty$
+    'skip$
+    { "(" number * ")" * *
+      volume empty$
+       { "there's a number but no volume in " cite$ * warning$ }
+       'skip$
+      if$
+    }
+  if$
+  pages empty$
+    'skip$
+    { duplicate$ empty$
+       { pop$ format.pages }
+       { fr.deuxpoints * pages n.dashify * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    'format.pages
+    { type empty$
+       { fr.chapter }
+       { type "l" change.case$ }
+      if$
+      chapter tie.or.space.connect
+      pages empty$
+       'skip$
+       { ", " * format.pages * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+    { "" }
+    { editor empty$
+       { fr.in booktitle emphasize * }
+       { fr.in format.editors #1 'after.authors := fr.add.period " " * * booktitle emphasize * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+  month empty$ year empty$ note empty$
+  and and and and and
+  key empty$ not and
+    { "all relevant fields are empty in " cite$ * warning$ }
+    'skip$
+  if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+    'skip$
+    { pop$
+      type "t" change.case$
+    }
+  if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+    { fr.tech.rep }
+    'type
+  if$
+  number empty$
+    { "t" change.case$ }
+    { number tie.or.space.connect }
+  if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+    { journal empty$
+       { "need key or journal for " cite$ * " to crossref " * crossref *
+         warning$
+         ""
+       }
+       { fr.in "{\em " * journal * "\/}" * }
+      if$
+    }
+    { fr.in key * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}\bgroup\fonteauteurs\bgroup {ll}\egroup\egroup{{}}" format.name$
+  editor num.names$ duplicate$
+  #2 >
+    { pop$ fr.et.al * }
+    { #2 <
+       'skip$
+       { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+           { fr.et.al * }
+           { fr.and * editor #2 "{vv~}\bgroup\fonteauteurs\bgroup {ll}\egroup\egroup{{}}" format.name$ * }
+         if$
+       }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+      fr.in
+    }
+    { fr.volume.maj volume tie.or.space.connect
+      fr.of *
+    }
+  if$
+  editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+       { series empty$
+           { "need editor, key, or series for " cite$ * " to crossref " *
+             crossref * warning$
+             "" *
+           }
+           { "{\em " * series * "\/}" * }
+         if$
+       }
+       { key * }
+      if$
+    }
+    { format.crossref.editor * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+       { booktitle empty$
+           { "need editor, key, or booktitle for " cite$ * " to crossref " *
+             crossref * warning$
+             ""
+           }
+           { fr.in "{\em " * booktitle * "\/}" * }
+         if$
+       }
+       { fr.in key * }
+      if$
+    }
+    { fr.in format.crossref.editor * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { journal emphasize "journal" output.check
+      format.vol.num.pages output
+      format.date "year" output.check
+    }
+    { format.article.crossref output.nonnull
+      format.pages output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+  author empty$
+    { format.editors "author and editor" output.check }
+    { format.authors output.nonnull
+      crossref missing$
+       { "author and editor" editor either.or.check }
+       'skip$
+      if$
+    }
+  if$
+  new.block
+  format.btitle "title" output.check
+  crossref missing$
+    { format.bvolume output
+      new.block
+      format.number.series output
+      new.sentence
+      publisher "publisher" output.check
+      address output
+    }
+    { new.block
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.edition output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+  format.authors output
+  new.block
+  format.title "title" output.check
+  howpublished address new.block.checkb
+  howpublished output
+  address output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+  author empty$
+    { format.editors "author and editor" output.check }
+    { format.authors output.nonnull
+      crossref missing$
+       { "author and editor" editor either.or.check }
+       'skip$
+      if$
+    }
+  if$
+  new.block
+  format.btitle "title" output.check
+  crossref missing$
+    { format.bvolume output
+      format.chapter.pages "chapter and pages" output.check
+      new.block
+      format.number.series output
+      new.sentence
+      publisher "publisher" output.check
+      address output
+    }
+    { format.chapter.pages "chapter and pages" output.check
+      new.block
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.edition output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { format.in.ed.booktitle "booktitle" output.check
+      format.bvolume output
+      format.number.series output
+      format.chapter.pages output
+      new.sentence
+      publisher "publisher" output.check
+      address output
+      format.edition output
+      format.date "year" output.check
+    }
+    { format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { format.in.ed.booktitle "booktitle" output.check
+      format.bvolume output
+      format.number.series output
+      format.pages output
+      address empty$
+       { organization publisher new.sentence.checkb
+         organization output
+         publisher output
+         format.date "year" output.check
+       }
+       { address output.nonnull
+         format.date "year" output.check
+         new.sentence
+         organization output
+         publisher output
+       }
+      if$
+    }
+    { format.incoll.inproc.crossref output.nonnull
+      format.pages output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+  author empty$
+    { organization empty$
+       'skip$
+       { organization output.nonnull
+         address output
+       }
+      if$
+    }
+    { format.authors output.nonnull }
+  if$
+  new.block
+  format.btitle "title" output.check
+  author empty$
+    { organization empty$
+       { address new.block.checka
+         address output
+       }
+       'skip$
+      if$
+    }
+    { organization address new.block.checkb
+      organization output
+      address output
+    }
+  if$
+  format.edition output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  fr.master format.thesis.type output.nonnull
+  school "school" output.check
+  address output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+  format.authors output
+  title howpublished new.block.checkb
+  format.title output
+  howpublished new.block.checka
+  howpublished output
+  format.date output
+  new.block
+  note output
+  fin.entry
+  empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.btitle "title" output.check
+  new.block
+  fr.phd format.thesis.type output.nonnull
+  school "school" output.check
+  address output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+  editor empty$
+    { organization output }
+    { format.editors output.nonnull }
+  if$
+  new.block
+  format.btitle "title" output.check
+  format.bvolume output
+  format.number.series output
+  address empty$
+    { editor empty$
+       { publisher new.sentence.checka }
+       { organization publisher new.sentence.checkb
+         organization output
+       }
+      if$
+      publisher output
+      format.date "year" output.check
+    }
+    { address output.nonnull
+      format.date "year" output.check
+      new.sentence
+      editor empty$
+       'skip$
+       { organization output }
+      if$
+      publisher output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  format.tr.number output.nonnull
+  institution "institution" output.check
+  address output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  note "note" output.check
+  format.date output
+  fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+  s num.names$ 'numnames :=
+  numnames #1 >
+    { numnames #4 >
+        { #3 'namesleft := }
+        { numnames 'namesleft := }
+      if$
+      #1 'nameptr :=
+      ""
+        { namesleft #0 > }
+        { nameptr numnames =
+            { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+                { "{\etalchar{+}}" *
+                  #1 'et.al.char.used :=
+                }
+                { s nameptr "{v{}}{l{}}" format.name$ * }
+              if$
+            }
+            { s nameptr "{v{}}{l{}}" format.name$ * }
+          if$
+          nameptr #1 + 'nameptr :=
+          namesleft #1 - 'namesleft :=
+        }
+      while$
+      numnames #4 >
+        { "{\etalchar{+}}" *
+          #1 'et.al.char.used :=
+        }
+        'skip$
+      if$
+    }
+    { s #1 "{v{}}{l{}}" format.name$
+      duplicate$ text.length$ #2 <
+        { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+        'skip$
+      if$
+    }
+  if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        { key #3 text.prefix$ }
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { cite$ #1 #3 substring$ }
+            { key #3 text.prefix$ }
+          if$
+        }
+        { editor format.lab.names }
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+    { key empty$
+        { organization empty$
+            { cite$ #1 #3 substring$ }
+            { "Le " #3
+               "La " #3
+                 "Les " #4 
+                   "The " #4 organization chop.word 
+                 chop.word
+               chop.word
+             chop.word #3 text.prefix$ }
+          if$
+        }
+        { key #3 text.prefix$ }
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+    { key empty$
+        { organization empty$
+            { cite$ #1 #3 substring$ }
+            { "Le " #3
+               "La " #3
+                 "Les " #4 
+                   "The " #4 organization chop.word 
+                 chop.word
+               chop.word
+             chop.word #3 text.prefix$ }
+          if$
+        }
+        { key #3 text.prefix$ }
+      if$
+    }
+    { editor format.lab.names }
+  if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.key.label
+    { type$ "proceedings" =
+        'editor.key.organization.label
+        { type$ "manual" =
+            'author.key.organization.label
+            'author.key.label
+          if$
+        }
+      if$
+    }
+  if$
+  duplicate$
+  year field.or.null purify$ #-1 #2 substring$
+  *
+  'label :=
+  year field.or.null purify$ #-1 #4 substring$
+  *
+  sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { nameptr #1 >
+        { "   " * }
+        'skip$
+      if$
+      s nameptr "{vv{ } }{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 't :=
+      nameptr numnames = t "others" = and
+        { "et al" * }
+        { t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+  "Le " #3
+    "La " #3
+      "Les " #4
+        "Un " #3
+          "Une " #4
+            "Des " #4
+             "A " #2
+               "An " #3
+                 "The " #4 t chop.word
+               chop.word
+             chop.word
+           chop.word
+         chop.word
+       chop.word
+      chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+    { key empty$
+        { "to sort, need author or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { "to sort, need author, editor, or key in " cite$ * warning$
+              ""
+            }
+            { key sortify }
+          if$
+        }
+        { editor sort.format.names }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+    { organization empty$
+        { key empty$
+            { "to sort, need author, organization, or key in " cite$ * warning$
+              ""
+            }
+            { key sortify }
+          if$
+        }
+        { "Le " #3 
+           "La " #3
+             "Les " #4
+               "The " #4 organization chop.word  
+             chop.word
+           chop.word
+         chop.word
+         sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+    { organization empty$
+        { key empty$
+            { "to sort, need editor, organization, or key in " cite$ * warning$
+              ""
+            }
+            { key sortify }
+          if$
+        }
+        { "Le " #3 
+           "La " #3
+             "Les " #4
+               "The " #4 organization chop.word 
+             chop.word
+           chop.word
+         chop.word
+         sortify }
+      if$
+    }
+    { editor sort.format.names }
+  if$
+}
+
+FUNCTION {presort}
+{ calc.label
+  sort.label
+  "    "
+  *
+  type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.sort
+    { type$ "proceedings" =
+        'editor.organization.sort
+        { type$ "manual" =
+            'author.organization.sort
+            'author.sort
+          if$
+        }
+      if$
+    }
+  if$
+  *
+  "    "
+  *
+  year field.or.null sortify
+  *
+  "    "
+  *
+  title field.or.null
+  sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+  #0 int.to.chr$ 'last.sort.label :=
+  "" 'next.extra :=
+  #0 'longest.label.width :=
+  #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+    { last.extra.num #1 + 'last.extra.num :=
+      last.extra.num int.to.chr$ 'extra.label :=
+    }
+    { "a" chr.to.int$ 'last.extra.num :=
+      "" 'extra.label :=
+      sort.label 'last.sort.label :=
+    }
+  if$
+}
+
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+    { "a" 'extra.label := }
+    'skip$
+  if$
+  label extra.label * 'label :=
+  label width$ longest.label.width >
+    { label 'longest.label :=
+      label width$ 'longest.label.width :=
+    }
+    'skip$
+  if$
+  extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+    { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+    'skip$
+  if$
+  preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$
+  "\expandafter\ifx\csname fonteauteurs\endcsname\relax" 
+    write$ newline$
+  "\def\fonteauteurs{" fr.auteurs.style * "}\fi" * write$ newline$ 
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+  "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
+%%
+%% Changelog : 
+%% 1.0 -> 1.1 : les mois ne prennent pas de majuscule
+%% 1.1 -> 1.2 : le '.' qui suit la liste des auteurs peut etre 
+%%             change en autre chose (':' notamment).
+%%
diff --git a/biblio.bib b/biblio.bib
new file mode 120000 (symlink)
index 0000000..f6be854
--- /dev/null
@@ -0,0 +1 @@
+../../Biblio/biblio.bib
\ No newline at end of file
diff --git a/getcommit.sty b/getcommit.sty
new file mode 100644 (file)
index 0000000..3300cb2
--- /dev/null
@@ -0,0 +1,29 @@
+\ProvidesPackage{getcommit}[2018/10/16 get current commit and branch (JFB)]
+
+\@ifundefined{branch}{}
+   {\PackageWarning{getcommit}{ATTENTION!^^J
+    \@spaces\@spaces\string\branch\space macro was already
+    defined. Overwritten.}}
+\@ifundefined{commit}{}
+   {\PackageWarning{getcommit}{ATTENTION!^^J
+    \@spaces\@spaces\string\commit\space macro was already
+    defined. Overwritten.}}
+
+\openin\@inputcheck=.git/HEAD\relax
+
+\begingroup\endlinechar-1
+  \global\read\@inputcheck to \getcommit@HEAD
+\endgroup
+\closein\@inputcheck
+
+\def\getcommit@GetBranch ref: refs/heads/#1\relax{\def\branch{#1}}
+
+\expandafter\getcommit@GetBranch\getcommit@HEAD\relax
+
+\openin\@inputcheck=.git/refs/heads/\branch\relax
+
+\begingroup\endlinechar-1
+  \global\read\@inputcheck to \commit
+\endgroup
+\closein\@inputcheck
+\endinput
diff --git a/hdrmain.tex b/hdrmain.tex
new file mode 100644 (file)
index 0000000..3e62320
--- /dev/null
@@ -0,0 +1,118 @@
+\documentclass[11pt,a4paper,twoside]{phdthesis}\r
+\r
+\usepackage[utf8]{inputenc}\r
+\usepackage[T1]{fontenc}\r
+\usepackage{lmodern}\r
+\usepackage[french]{babel}\r
+\usepackage{hyperref}\r
+\usepackage{multirow}\r
+\usepackage{array}\r
+\usepackage{icomma}\r
+\usepackage{palatino}\r
+%\usepackage{caption}\r
+\usepackage{graphicx}\r
+\usepackage{pdfpages}\r
+% \usepackage[super]{cite}\r
+\usepackage[resetlabels,labeled]{multibib}\r
+\r
+\usepackage{geometry}\r
+\geometry{ hmargin=2.5cm, vmargin=2.5cm }\r
+\r
+\usepackage{fancyhdr}\r
+\pagestyle{fancy}\r
+% \fancyhead{}\r
+\fancyhead[RO,LE]{}%\thepage}\r
+\fancyhead[LO]{}%\rightmark}\r
+\fancyhead[RE]{}%\leftmark}\r
+\fancyfoot[CO,CE]{\thepage}\r
+% \fancyfoot{\thepage}\r
+\renewcommand\headrulewidth{0.4pt}\r
+\renewcommand\plainheadrulewidth{0pt}\r
+\renewcommand\plainfootrulewidth{0pt}\r
+\r
+\title{HDR}\r
+\author{\Large Thomas Pietrzak}\r
+\date{}\r
+\r
+% espaces de justification\r
+\tolerance=2000\r
+\sloppy\r
+%enlever les warnings\r
+\hbadness=10000\r
+\vbadness=10000\r
+% veuves et orphelins\r
+\clubpenalty=10000\r
+\widowpenalty=10000\r
+\r
+\usepackage{getcommit}\r
+\r
+\usepackage{xcolor}\r
+\definecolor{chaptercolor}{rgb}{0.01,0.0,0.5}\r
+\definecolor{sectioncolor}{rgb}{0.01,0.0,0.5}\r
+\definecolor{subsectioncolor}{rgb}{0.01,0.0,0.5}\r
+\definecolor{subsubsectioncolor}{rgb}{0.01,0.0,0.5}\r
+\definecolor{gray75}{rgb}{0.75,0.75,0.75}\r
+\definecolor{linkcolor}{rgb}{0.01,0.2,0.7}\r
+\r
+% \usepackage{titlesec}\r
+\r
+% % \titleformat{⟨command⟩}[⟨shape⟩]{⟨format⟩}{⟨label⟩}{⟨sep⟩}{⟨before⟩}[⟨after⟩]\r
+% \titleformat{\chapter} {\color{chaptercolor}\titlerule\LARGE\sffamily\scshape} {\textbf{\thechapter}}{0em}{\hspace{2mm}\textcolor{gray75}{|}\hspace{2mm}}\r
+% \titleformat{name=\chapter,numberless} {\color{chaptercolor}\titlerule\LARGE\sffamily\scshape}{}{0em}{}\r
+\r
+% \titleformat{\section} {\color{sectioncolor}\Large\sffamily} {\textbf{\thesection}}{0em}{\hspace{2mm}\textcolor{gray75}{|}\hspace{2mm}}\r
+% \titleformat{name=\section,numberless} {\color{sectioncolor}\Large\sffamily} {}{0em}{}\r
+\r
+% \titleformat{\subsection} {\color{subsectioncolor}\large} {\textbf{\thesubsection}\hspace{2mm}}{0em}{}\r
+% \titleformat{name=\subsection,numberless} {\color{subsectioncolor}\large} {}{0em}{}\r
+\r
+% \titleformat{\subsubsection} {\color{subsubsectioncolor}\normalfont\it} {\textbf{\thesubsubsection}\hspace{2mm}}{0em}{}\r
+% \titleformat{name=\subsubsection,numberless} {\color{subsubsectioncolor}\normalfont\it} {}{0em}{}\r
+\r
+% \newcommand{\mychapter}[1]{\cleardoublepage\chapter*{#1}\addcontentsline{toc}{chapter}{#1}}\r
+% \newcommand{\mysection}[1]{\section*{#1}\addcontentsline{toc}{section}{#1}}\r
+% \newcommand{\mysubsection}[1]{\subsection*{#1}}\r
+\r
+%\usepackage{titletoc}\r
+\r
+%\titlecontents{chapter}[2em]{\vspace{12pt}}{\normalfont\normalsize \contentslabel{2em}}{\hspace*{-2em} \MakeUppercase}{}{}\r
+%\titlecontents{section}[2em]{\vspace{12pt}}{\normalfont\normalsize \contentslabel{2em}}{\hspace*{-2em} \MakeUppercase}{}{}\r
+%\titlecontents{subsection}[2em]{\vspace{12pt}}{\normalfont\normalsize \contentslabel{2em}}{\hspace*{-2em} \MakeUppercase}{}{}\r
+\r
+\hypersetup{\r
+  colorlinks = true,\r
+  linkcolor=linkcolor,\r
+  anchorcolor=.,\r
+  citecolor=.,\r
+  filecolor=.,\r
+  menucolor=.,\r
+  runcolor=.,\r
+  urlcolor=linkcolor\r
+}\r
+\r
+\begin{document}\r
+\r
+\maketitle\r
+\r
+This revision: \texttt{\commit} on branch \texttt{\branch}.\r
+\r
+\frontmatter\r
+\r
+\mainmatter\r
+\r
+\chapter{Introduction}\r
+\r
+\chapter{Something}\r
+\r
+\chapter{Conclusion}\r
+\r
+\backmatter\r
+  \bibliographystyle{unsrt-fr}%alpha-fr}\r
+  \interlinepenalty=10000\r
+  \bibliography{biblio}\r
+\r
+%  \bibliographystyledeliverables{unsrt-fr}%alpha-fr}\r
+%  \bibliographydeliverables{biblio}\r
+\r
+\r
+\end{document}
\ No newline at end of file
diff --git a/phdthesis.cls b/phdthesis.cls
new file mode 100644 (file)
index 0000000..f27bfc3
--- /dev/null
@@ -0,0 +1,1171 @@
+%%\r
+%% This is file `report.cls',\r
+%% generated with the docstrip utility.\r
+%%\r
+%% The original source files were:\r
+%%\r
+%% classes.dtx  (with options: `report')\r
+%% \r
+%% This is a generated file.\r
+%% \r
+%% Copyright 1993 1994 1995 1996 1997\r
+%% The LaTeX3 Project and any individual authors listed elsewhere\r
+%% in this file.\r
+%% \r
+%% For further copyright information, and conditions for modification\r
+%% and distribution, see the file legal.txt, and any other copyright\r
+%% notices in this file.\r
+%% \r
+%% This file is part of the LaTeX2e system.\r
+%% ----------------------------------------\r
+%%   This system is distributed in the hope that it will be useful,\r
+%%   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+%%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r
+%% \r
+%%   For error reports concerning UNCHANGED versions of this file no\r
+%%   more than one year old, see bugs.txt.\r
+%% \r
+%%   Please do not request updates from us directly.  Primary\r
+%%   distribution is through the CTAN archives.\r
+%% \r
+%% \r
+%% IMPORTANT COPYRIGHT NOTICE:\r
+%% \r
+%% You are NOT ALLOWED to distribute this file alone.\r
+%% \r
+%% You are allowed to distribute this file under the condition that it\r
+%% is distributed together with all the files listed in manifest.txt.\r
+%% \r
+%% If you receive only some of these files from someone, complain!\r
+%% \r
+%% \r
+%% Permission is granted to copy this file to another file with a\r
+%% clearly different name and to customize the declarations in that\r
+%% copy to serve the needs of your installation, provided that you\r
+%% comply with the conditions in the file legal.txt.\r
+%% \r
+%% However, NO PERMISSION is granted to generate or to distribute a\r
+%% modified version of this file under its original name.\r
+%% \r
+%% You are NOT ALLOWED to change this file.\r
+%% \r
+%% \r
+%% MODIFICATION ADVICE:\r
+%% \r
+%% If you want to customize this file, it is best to make a copy of\r
+%% the source file(s) from which it was produced.  Use a different\r
+%% name for your copy(ies) and modify the copy(ies); this will ensure\r
+%% that your modifications do not get overwritten when you install a\r
+%% new release of the standard system.  You should also ensure that\r
+%% your modified source file does not generate any modified file with\r
+%% the same name as a standard file.\r
+%% \r
+%% You can then easily distribute your modifications by distributing\r
+%% the modified and renamed copy of the source file, taking care to\r
+%% observe the conditions in legal.txt; this will ensure that other\r
+%% users can safely use your modifications.\r
+%% \r
+%% You will also need to produce your own, suitably named, .ins file to\r
+%% control the generation of files from your source file; this file\r
+%% should contain your own preambles for the files it generates, not\r
+%% those in the standard .ins files.\r
+%% \r
+%% The names of the source files used are shown above.\r
+%% \r
+%% \r
+%% \r
+%% \CharacterTable\r
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\r
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\r
+%%   Digits        \0\1\2\3\4\5\6\7\8\9\r
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#\r
+%%   Dollar        \$     Percent       \%     Ampersand     \&\r
+%%   Acute accent  \'     Left paren    \(     Right paren   \)\r
+%%   Asterisk      \*     Plus          \+     Comma         \,\r
+%%   Minus         \-     Point         \.     Solidus       \/\r
+%%   Colon         \:     Semicolon     \;     Less than     \<\r
+%%   Equals        \=     Greater than  \>     Question mark \?\r
+%%   Commercial at \@     Left bracket  \[     Backslash     \\\r
+%%   Right bracket \]     Circumflex    \^     Underscore    \_\r
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|\r
+%%   Right brace   \}     Tilde         \~}\r
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]\r
+\ProvidesClass{phdthesis}\r
+              [1998/05/05 v1.3y\r
+ Standard LaTeX document class]\r
+\newcommand\@ptsize{}\r
+\newif\if@restonecol\r
+\newif\if@titlepage\r
+\@titlepagetrue\r
+\newif\if@openright\r
+\newif\if@mainmatter \@mainmattertrue\r
+\newif\if@appendix \@appendixtrue\r
+\if@compatibility\else\r
+\DeclareOption{a4paper}\r
+   {\setlength\paperheight {297mm}%\r
+    \setlength\paperwidth  {210mm}}\r
+\DeclareOption{a5paper}\r
+   {\setlength\paperheight {210mm}%\r
+    \setlength\paperwidth  {148mm}}\r
+\DeclareOption{b5paper}\r
+   {\setlength\paperheight {250mm}%\r
+    \setlength\paperwidth  {176mm}}\r
+\DeclareOption{letterpaper}\r
+   {\setlength\paperheight {11in}%\r
+    \setlength\paperwidth  {8.5in}}\r
+\DeclareOption{legalpaper}\r
+   {\setlength\paperheight {14in}%\r
+    \setlength\paperwidth  {8.5in}}\r
+\DeclareOption{executivepaper}\r
+   {\setlength\paperheight {10.5in}%\r
+    \setlength\paperwidth  {7.25in}}\r
+\DeclareOption{landscape}\r
+   {\setlength\@tempdima   {\paperheight}%\r
+    \setlength\paperheight {\paperwidth}%\r
+    \setlength\paperwidth  {\@tempdima}}\r
+\fi\r
+\if@compatibility\r
+  \renewcommand\@ptsize{0}\r
+\else\r
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}\r
+\fi\r
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}\r
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}\r
+\DeclareOption{14pt}{\renewcommand\@ptsize{4}}\r
+\if@compatibility\else\r
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}\r
+\fi\r
+\DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}\r
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}\r
+\if@compatibility\else\r
+\DeclareOption{final}{\setlength\overfullrule{0pt}}\r
+\fi\r
+\DeclareOption{titlepage}{\@titlepagetrue}\r
+\if@compatibility\else\r
+\DeclareOption{notitlepage}{\@titlepagefalse}\r
+\fi\r
+\if@compatibility\r
+\else\r
+\DeclareOption{openright}{\@openrighttrue}\r
+\DeclareOption{openany}{\@openrightfalse}\r
+\fi\r
+\if@compatibility\else\r
+\DeclareOption{onecolumn}{\@twocolumnfalse}\r
+\fi\r
+\DeclareOption{twocolumn}{\@twocolumntrue}\r
+\DeclareOption{leqno}{\input{leqno.clo}}\r
+\DeclareOption{fleqn}{\input{fleqn.clo}}\r
+\DeclareOption{openbib}{%\r
+  \AtEndOfPackage{%\r
+   \renewcommand\@openbib@code{%\r
+      \advance\leftmargin\bibindent\r
+      \itemindent -\bibindent\r
+      \listparindent \itemindent\r
+      \parsep \z@\r
+      }%\r
+   \renewcommand\newblock{\par}}%\r
+}\r
+\ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final,openany}\r
+\ProcessOptions\r
+\r
+\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else\r
+    \thispagestyle{empty}\hbox{}\newpage\r
+    \if@twocolumn\hbox{}\newpage\fi\fi\fi}\r
+\r
+\input{size1\@ptsize.clo}\r
+\setlength\lineskip{1\p@}\r
+\setlength\normallineskip{1\p@}\r
+\renewcommand\baselinestretch{}\r
+\setlength\parskip{0\p@ \@plus \p@}\r
+\@lowpenalty   51\r
+\@medpenalty  151\r
+\@highpenalty 301\r
+\setcounter{topnumber}{3}\r
+\renewcommand\topfraction{.9}\r
+\setcounter{bottomnumber}{2}\r
+\renewcommand\bottomfraction{.53}\r
+\setcounter{totalnumber}{5}\r
+\renewcommand\textfraction{.1}\r
+\renewcommand\floatpagefraction{.9}\r
+\setcounter{dbltopnumber}{2}\r
+\renewcommand\dbltopfraction{.7}\r
+\renewcommand\dblfloatpagefraction{.5}\r
+\if@twoside\r
+  \def\ps@headings{%\r
+      \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+      \def\@evenhead{\thepage\hfil\slshape\leftmark}%\r
+      \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%\r
+      \let\@mkboth\markboth\r
+    \def\chaptermark##1{%\r
+      \markboth {\MakeUppercase{%\r
+        \ifnum \c@secnumdepth >\m@ne\r
+          \if@mainmatter\r
+%            \@chapapp\ \thechapter. \ %\r
+            \@chapapp\ \thechapter \ %\r
+          \fi\r
+          \if@appendix\r
+%            \@chapapp\ \thechapter. \ %\r
+            \@chapapp\ \thechapter \ %\r
+          \fi\r
+        \fi\r
+        ##1}}{}}%\r
+    \def\sectionmark##1{%\r
+      \markright {\MakeUppercase{%\r
+        \ifnum \c@secnumdepth >\z@\r
+%          \thesection. \ %\r
+          \thesection \ %\r
+        \fi\r
+        ##1}}}}\r
+\else\r
+  \def\ps@headings{%\r
+    \let\@oddfoot\@empty\r
+    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%\r
+    \let\@mkboth\markboth\r
+    \def\chaptermark##1{%\r
+      \markright {\MakeUppercase{%\r
+        \ifnum \c@secnumdepth >\m@ne\r
+          \if@mainmatter\r
+%            \@chapapp\ \thechapter. \ %\r
+            \@chapapp\ \thechapter \ %\r
+          \fi\r
+          \if@appendix\r
+%            \@chapapp\ \thechapter. \ %\r
+            \@chapapp\ \thechapter \ %\r
+          \fi\r
+        \fi\r
+        ##1}}}}\r
+\fi\r
+\def\ps@myheadings{%\r
+    \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+    \def\@evenhead{\thepage\hfil\slshape\leftmark}%\r
+    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%\r
+    \let\@mkboth\@gobbletwo\r
+    \let\chaptermark\@gobble\r
+    \let\sectionmark\@gobble\r
+    }\r
+  \if@titlepage\r
+  \newcommand\maketitle{\begin{titlepage}%\r
+  \let\footnotesize\small\r
+  \let\footnoterule\relax\r
+  \let \footnote \thanks\r
+  \null\vfil\r
+  \vskip 60\p@\r
+  \begin{center}%\r
+    {\LARGE \@title \par}%\r
+    \vskip 3em%\r
+    {\large\r
+     \lineskip .75em%\r
+      \begin{tabular}[t]{c}%\r
+        \@author\r
+      \end{tabular}\par}%\r
+      \vskip 1.5em%\r
+    {\large \@date \par}%       % Set date in \large size.\r
+  \end{center}\par\r
+  \@thanks\r
+  \vfil\null\r
+  \end{titlepage}%\r
+  \setcounter{footnote}{0}%\r
+  \global\let\thanks\relax\r
+  \global\let\maketitle\relax\r
+  \global\let\@thanks\@empty\r
+  \global\let\@author\@empty\r
+  \global\let\@date\@empty\r
+  \global\let\@title\@empty\r
+  \global\let\title\relax\r
+  \global\let\author\relax\r
+  \global\let\date\relax\r
+  \global\let\and\relax\r
+}\r
+\else\r
+\newcommand\maketitle{\par\r
+  \begingroup\r
+    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%\r
+    \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%\r
+    \long\def\@makefntext##1{\parindent \z@\noindent\r
+%    \long\def\@makefntext##1{\parindent 1em\noindent\r
+            \hb@xt@1.8em{%\r
+                \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%\r
+    \if@twocolumn\r
+      \ifnum \col@number=\@ne\r
+        \@maketitle\r
+      \else\r
+        \twocolumn[\@maketitle]%\r
+      \fi\r
+    \else\r
+      \newpage\r
+      \global\@topnum\z@   % Prevents figures from going at top of page.\r
+      \@maketitle\r
+    \fi\r
+    \thispagestyle{plain}\@thanks\r
+  \endgroup\r
+  \setcounter{footnote}{0}%\r
+  \global\let\thanks\relax\r
+  \global\let\maketitle\relax\r
+  \global\let\@maketitle\relax\r
+  \global\let\@thanks\@empty\r
+  \global\let\@author\@empty\r
+  \global\let\@date\@empty\r
+  \global\let\@title\@empty\r
+  \global\let\title\relax\r
+  \global\let\author\relax\r
+  \global\let\date\relax\r
+  \global\let\and\relax\r
+}\r
+\def\@maketitle{%\r
+  \newpage\r
+  \null\r
+  \vskip 2em%\r
+  \begin{center}%\r
+  \let \footnote \thanks\r
+    {\LARGE \@title \par}%\r
+    \vskip 1.5em%\r
+    {\large\r
+      \lineskip .5em%\r
+      \begin{tabular}[t]{c}%\r
+        \@author\r
+      \end{tabular}\par}%\r
+    \vskip 1em%\r
+    {\large \@date}%\r
+  \end{center}%\r
+  \par\r
+  \vskip 1.5em}\r
+\fi\r
+\newcommand*\chaptermark[1]{}\r
+\setcounter{tocdepth}{2}\r
+\setcounter{secnumdepth}{3}\r
+\newcounter {part}\r
+\newcounter {chapter}\r
+\newcounter {section}[chapter]\r
+\newcounter {subsection}[section]\r
+\newcounter {subsubsection}[subsection]\r
+% \newcounter {subsubsubsection}[subsubsection]\r
+\newcounter {paragraph}[subsubsection]\r
+\newcounter {subparagraph}[paragraph]\r
+\renewcommand \thepart {\@Roman\c@part}\r
+%\renewcommand \thechapter {\@arabic\c@chapter}\r
+\renewcommand \thechapter {}\r
+%\renewcommand \thesection {\thechapter.\@arabic\c@section}\r
+\renewcommand \thesection{}\r
+%\renewcommand \thesubsection   {\thesection.\@arabic\c@subsection}\r
+\renewcommand \thesubsection{}\r
+\renewcommand \thesubsubsection{\thesubsection.\@arabic\c@subsubsection}\r
+% \renewcommand \thesubsubsubsection{\thesubsubsection.\@arabic\c@subsubsubsection}\r
+\renewcommand \theparagraph    {\thesubsubsection.\@arabic\c@paragraph}\r
+\renewcommand \thesubparagraph {\theparagraph.\@arabic\c@subparagraph}\r
+\newcommand\@chapapp{\chaptername}\r
+\newcommand\part{%\r
+  \if@openright\r
+    \cleardoublepage\r
+  \else\r
+    \clearpage\r
+  \fi\r
+  \thispagestyle{plain}%\r
+  \if@twocolumn\r
+    \onecolumn\r
+    \@tempswatrue\r
+  \else\r
+    \@tempswafalse\r
+  \fi\r
+  \null\vfil\r
+  \secdef\@part\@spart}\r
+\r
+\def\@part[#1]#2{%\r
+    \ifnum \c@secnumdepth >-2\relax\r
+      \refstepcounter{part}%\r
+      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%\r
+    \else\r
+      \addcontentsline{toc}{part}{#1}%\r
+    \fi\r
+    \markboth{}{}%\r
+    {\centering\r
+     \interlinepenalty \@M\r
+     \normalfont\r
+     \ifnum \c@secnumdepth >-2\relax\r
+       \huge\bfseries \partname~\thepart\r
+       \par\r
+       \vskip 20\p@\r
+     \fi\r
+     \Huge \bfseries #2\par}%\r
+    \@endpart}\r
+\def\@spart#1{%\r
+    {\centering\r
+     \interlinepenalty \@M\r
+     \normalfont\r
+     \Huge \bfseries #1\par}%\r
+    \@endpart}\r
+\def\@endpart{\vfil\newpage\r
+              \if@twoside\r
+                \null\r
+                \thispagestyle{empty}%\r
+                \newpage\r
+              \fi\r
+              \if@tempswa\r
+                \twocolumn\r
+              \fi}\r
+\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi\r
+                   \thispagestyle{plain}%\r
+                    \global\@topnum\z@\r
+                    \@afterindentfalse\r
+                    \secdef\@chapter\@schapter}\r
+%    \thispagestyle{plain}\parindent\z@\r
+%    \parskip\z@ \@plus .3\p@\relax\r
+%    \let\item\@idxitem\r
+\r
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne\r
+                      \if@mainmatter\r
+                         \refstepcounter{chapter}%\r
+%                         \typeout{\@chapapp\space\thechapter.}%\r
+                         \typeout{\@chapapp\space\thechapter}%\r
+                         \addcontentsline{toc}{chapter}%\r
+                                   {\protect\numberline{\thechapter}#1}%\r
+                      \else\r
+                        \if@appendix\r
+                           \refstepcounter{chapter}%\r
+%                           \typeout{\@chapapp\space\thechapter.}%\r
+                           \typeout{\@chapapp\space\thechapter}%\r
+                           \addcontentsline{toc}{chapter}%\r
+                                     {\protect\numberline{\thechapter}#1}%\r
+                        \else\r
+                          \addcontentsline{toc}{chapter}{#1}%\r
+                        \fi\r
+                      \fi\r
+                    \else\r
+                      \addcontentsline{toc}{chapter}{#1}%\r
+                    \fi\r
+                    \chaptermark{#1}%\r
+                    \if@mainmatter\r
+                      \addcontentsline{lof}{chapter}{\protect\numberline {\thechapter}#1}\r
+                      \addcontentsline{lot}{chapter}{\protect\numberline {\thechapter}#1}\r
+                    \fi\r
+%                     \if@appendix\r
+%                       \addcontentsline{lof}{chapter}{\protect\numberline {\thechapter}#1}\r
+%                       \addcontentsline{lot}{chapter}{\protect\numberline {\thechapter}#1}\r
+%                     \fi\r
+                    \if@twocolumn\r
+                      \@topnewpage[\@makechapterhead{#2}]%\r
+                    \else\r
+                      \@makechapterhead{#2}%\r
+                      \@afterheading\r
+                    \fi}\r
+\def\@makechapterhead#1{%\r
+  \vspace*{40\p@}%\r
+  {\parindent \z@ \raggedright \normalfont\r
+    \ifnum \c@secnumdepth >\m@ne\r
+      \if@mainmatter\r
+        \Huge\bfseries \thechapter\space #1\r
+        \par\nobreak\r
+        \vskip 10\p@\r
+        \hrule\r
+%         \vskip 10\p@\r
+%         \interlinepenalty\@M\r
+%         \raggedleft\huge \bfseries #1\par\nobreak\r
+      \else\r
+        \if@appendix\r
+          \Huge\bfseries \@chapapp\space \thechapter\r
+          \par\nobreak\r
+          \vskip 10\p@\r
+          \hrule\r
+          \vskip 10\p@\r
+          \interlinepenalty\@M\r
+          \raggedleft\huge \bfseries #1\par\nobreak\r
+        \else\r
+          \Huge\bfseries #1\r
+        \fi\r
+      \fi\r
+    \fi\r
+    \vskip 40\p@\r
+  }}\r
+\def\@schapter#1{\if@twocolumn\r
+                   \@topnewpage[\@makeschapterhead{#1}]%\r
+                 \else\r
+                   \@makeschapterhead{#1}%\r
+                   \@afterheading\r
+                 \fi}\r
+\def\@makeschapterhead#1{%\r
+  \vspace*{50\p@}%\r
+  {\parindent \z@ \raggedright\r
+    \normalfont\r
+    \interlinepenalty\@M\r
+    \Huge \bfseries #1\par\nobreak\r
+    \vskip 40\p@\r
+  }}\r
+% \newcommand\section{\@startsection {section}{1}{\z@}%\r
+%                                    {-3.5ex \@plus -1ex \@minus -.2ex}%\r
+%                                    {2.3ex \@plus.2ex}%\r
+%                                    {\normalfont\Large\bfseries}}\r
+% \newcommand\subsection{\@startsection{subsection}{2}{\z@}%\r
+%                                      {-3.25ex\@plus -1ex \@minus -.2ex}%\r
+%                                      {1.5ex \@plus .2ex}%\r
+%                                      {\normalfont\large\bfseries}}\r
+% \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%\r
+%                                      {-3.25ex\@plus -1ex \@minus -.2ex}%\r
+%                                      {1.5ex \@plus .2ex}%\r
+%                                      {\normalfont\normalsize\bfseries}}\r
+% % \newcommand\subsubsubsection{\@startsection{subsubsubsection}{4}{\z@}%\r
+% %                                      {-3.25ex\@plus -1ex \@minus -.2ex}%\r
+% %                                      {1.5ex \@plus .2ex}%\r
+% %                                      {\normalfont\normalsize\bfseries}}\r
+% \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%\r
+%                                     {3.25ex \@plus1ex \@minus.2ex}%\r
+%                                     {-1em}%\r
+%                                     {\normalfont\normalsize\bfseries}}\r
+% \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%\r
+%                                        {3.25ex \@plus1ex \@minus .2ex}%\r
+%                                        {-1em}%\r
+%                                       {\normalfont\normalsize\itshape\bfseries}}\r
+\r
+% SECTIONAL UNITS:\r
+\newdimen\@bls                    % \@b(ase)l(ine)s(kip)\r
+\@bls=\baselineskip               % \@bls ~= \baselineskip for \normalsize\r
+\advance\@bls -1ex                % (fudge term)\r
+\newdimen\@eps                    %\r
+\@eps=0.0001pt                    % \eps = very small positive quantity\r
+\r
+%\@startsection{<name>}{<level>}{<indent>}{<beforeskip>}{<afterskip>}{<style>}*[<altheading>]{<heading>}\r
+\r
+\r
+\newcommand\section{\@startsection {section}{1}{\z@}%\r
+                      {1.2\@bls plus 0.25\@bls}%\r
+                      {1\@bls}%\r
+%                      {1.5\@bls plus 0.5\@bls}%\r
+%                      {1.5\@bls}%\r
+                      {\Large\bf}}\r
+\newcommand\subsection{\@startsection{subsection}{2}{\z@}%\r
+                      {1\@bls plus 0.25\@bls}%\r
+                      {1\@bls}%\r
+                      {\large\bf}}\r
+\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%\r
+                      {1\@bls plus 0.25\@bls}%\r
+                      {1\@bls}%\r
+                      {\normalsize\bf}}\r
+% \newcommand\subsubsubsection{\@startsection{subsubsubsection}{4}{\z@}%\r
+%                                      {-3.25ex\@plus -1ex \@minus -.2ex}%\r
+%                                      {1.5ex \@plus .2ex}%\r
+%                                      {\normalfont\normalsize\bfseries}}\r
+\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%\r
+                      {1\@bls plus 0.25\@bls}%\r
+                      {0.5em}%\r
+                      {\normalsize\bf}}\r
+\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%\r
+                      {1\@bls plus 0.25\@bls}%\r
+%                                        {3.25ex \@plus1ex \@minus .2ex}%\r
+                      {\@eps}%\r
+                      {\normalfont\normalsize\itshape\bfseries}}\r
+\if@twocolumn\r
+%  \setlength\leftmargini  {2em}\r
+  \setlength\leftmargini  {0em}\r
+\else\r
+%  \setlength\leftmargini  {2.5em}\r
+  \setlength\leftmargini  {0em}\r
+\fi\r
+\leftmargin  \leftmargini\r
+\setlength\leftmarginii  {0em}\r
+\setlength\leftmarginiii {0em}\r
+\setlength\leftmarginiv  {0em}\r
+%\setlength\leftmarginii  {2.2em}\r
+%\setlength\leftmarginiii {1.87em}\r
+%\setlength\leftmarginiv  {1.7em}\r
+\if@twocolumn\r
+  \setlength\leftmarginv  {.5em}\r
+  \setlength\leftmarginvi {.5em}\r
+\else\r
+%  \setlength\leftmarginv  {1em}\r
+%  \setlength\leftmarginvi {1em}\r
+  \setlength\leftmarginv  {0em}\r
+  \setlength\leftmarginvi {0em}\r
+\fi\r
+\setlength  \labelsep  {.5em}\r
+\setlength  \labelwidth{\leftmargini}\r
+\addtolength\labelwidth{-\labelsep}\r
+\@beginparpenalty -\@lowpenalty\r
+\@endparpenalty   -\@lowpenalty\r
+\@itempenalty     -\@lowpenalty\r
+\renewcommand\theenumi{\@arabic\c@enumi}\r
+\renewcommand\theenumii{\@alph\c@enumii}\r
+\renewcommand\theenumiii{\@roman\c@enumiii}\r
+\renewcommand\theenumiv{\@Alph\c@enumiv}\r
+\newcommand\labelenumi{\theenumi.}\r
+\newcommand\labelenumii{(\theenumii)}\r
+\newcommand\labelenumiii{\theenumiii.}\r
+\newcommand\labelenumiv{\theenumiv.}\r
+\renewcommand\p@enumii{\theenumi}\r
+\renewcommand\p@enumiii{\theenumi(\theenumii)}\r
+\renewcommand\p@enumiv{\p@enumiii\theenumiii}\r
+\newcommand\labelitemi{\textbullet}\r
+\newcommand\labelitemii{\normalfont\bfseries \textendash}\r
+\newcommand\labelitemiii{\textasteriskcentered}\r
+\newcommand\labelitemiv{\textperiodcentered}\r
+\newenvironment{description}\r
+               {\list{}{\labelwidth\z@ \itemindent-\leftmargin\r
+                        \let\makelabel\descriptionlabel}}\r
+               {\endlist}\r
+\newcommand*\descriptionlabel[1]{\hspace\labelsep\r
+                                \normalfont\bfseries #1}\r
+\if@titlepage\r
+  \newenvironment{abstract}{%\r
+      \titlepage\r
+      \null\vfil\r
+      \@beginparpenalty\@lowpenalty\r
+      \begin{center}%\r
+        \bfseries \abstractname\r
+        \@endparpenalty\@M\r
+      \end{center}}%\r
+     {\par\vfil\null\endtitlepage}\r
+\else\r
+  \newenvironment{abstract}{%\r
+      \if@twocolumn\r
+        \section*{\abstractname}%\r
+      \else\r
+        \small\r
+        \begin{center}%\r
+          {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%\r
+        \end{center}%\r
+        \quotation\r
+      \fi}\r
+      {\if@twocolumn\else\endquotation\fi}\r
+\fi\r
+\newenvironment{verse}\r
+               {\let\\\@centercr\r
+                \list{}{\itemsep      \z@\r
+                        \itemindent   -1.5em%\r
+                        \listparindent\itemindent\r
+                        \rightmargin  \leftmargin\r
+                        \advance\leftmargin 1.5em}%\r
+                \item\relax}\r
+               {\endlist}\r
+\newenvironment{quotation}\r
+               {\list{}{\listparindent 1.5em%\r
+                        \itemindent    \listparindent\r
+                        \rightmargin   \leftmargin\r
+                        \parsep        \z@ \@plus\p@}%\r
+                \item\relax}\r
+               {\endlist}\r
+\newenvironment{quote}\r
+               {\list{}{\rightmargin\leftmargin}%\r
+                \item\relax}\r
+               {\endlist}\r
+\if@compatibility\r
+\newenvironment{titlepage}\r
+    {%\r
+      \if@twocolumn\r
+        \@restonecoltrue\onecolumn\r
+      \else\r
+        \@restonecolfalse\newpage\r
+      \fi\r
+      \thispagestyle{empty}%\r
+      \setcounter{page}\z@\r
+    }%\r
+    {\if@restonecol\twocolumn \else \newpage \fi\r
+    }\r
+\else\r
+\newenvironment{titlepage}\r
+    {%\r
+      \if@twocolumn\r
+        \@restonecoltrue\onecolumn\r
+      \else\r
+        \@restonecolfalse\newpage\r
+      \fi\r
+      \thispagestyle{empty}%\r
+      \setcounter{page}\@ne\r
+    }%\r
+    {\if@restonecol\twocolumn \else \newpage \fi\r
+     \if@twoside\else\r
+        \setcounter{page}\@ne\r
+     \fi\r
+    }\r
+\fi\r
+% \newcommand\appendix{%\r
+%     \ifnum\value{apx@c}=0%\r
+%         \cleardoublepage\r
+%         \pagestyle{apx}%\r
+%         \setcounter{secnumdepth}{2}%\r
+%         \setcounter{chapter}{0}%\r
+%         \setcounter{section}{0}%\r
+%         \let\chaptername\appendixname\r
+%         \addtocontents{toc}{%\r
+%             \protect\let\protect\chaptername\protect\appendixname\r
+%         }%\r
+%         \renewcommand{\thechapter}{\Alph{chapter}}%\r
+%         \@nochapfalse\r
+%     \fi\r
+%     \stepcounter{apx@c}%\r
+%     \chapter\r
+% }\r
+\newcommand{\chapterpre}{\chaptername}\r
+\newcommand\appendix{\@appendixtrue\r
+  \par\r
+  \setcounter{chapter}{0}%\r
+  \setcounter{section}{0}%\r
+  \renewcommand\@chapapp{\appendixname}%\r
+  \renewcommand\thechapter{\@Alph\c@chapter}\r
+  \addtocontents{toc}{\protect\renewcommand{\protect\chapterpre}{\appendixname}}\r
+%   \refstepcounter{chapter}\r
+%   \addcontentsline{toc}{chapter}{Annexes}\r
+}\r
+\setlength\arraycolsep{5\p@}\r
+\setlength\tabcolsep{6\p@}\r
+\setlength\arrayrulewidth{.4\p@}\r
+\setlength\doublerulesep{2\p@}\r
+\setlength\tabbingsep{\labelsep}\r
+\skip\@mpfootins = \skip\footins\r
+\setlength\fboxsep{3\p@}\r
+\setlength\fboxrule{.4\p@}\r
+\@addtoreset {equation}{chapter}\r
+\renewcommand\theequation\r
+  {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}\r
+\newcounter{figure}[chapter]\r
+\renewcommand \thefigure\r
+%     {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}\r
+     {\ifnum \c@chapter>\z@ \fi \@arabic\c@figure}\r
+\def\fps@figure{tbp}\r
+\def\ftype@figure{1}\r
+\def\ext@figure{lof}\r
+\def\fnum@figure{\figurename~\thefigure}\r
+\newenvironment{figure}\r
+               {\@float{figure}}\r
+               {\end@float}\r
+\newenvironment{figure*}\r
+               {\@dblfloat{figure}}\r
+               {\end@dblfloat}\r
+\newcounter{table}[chapter]\r
+\renewcommand \thetable\r
+     {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}\r
+\def\fps@table{tbp}\r
+\def\ftype@table{2}\r
+\def\ext@table{lot}\r
+\def\fnum@table{\tablename~\thetable}\r
+\newenvironment{table}\r
+               {\@float{table}}\r
+               {\end@float}\r
+\newenvironment{table*}\r
+               {\@dblfloat{table}}\r
+               {\end@dblfloat}\r
+\newlength\abovecaptionskip\r
+\newlength\belowcaptionskip\r
+\setlength\abovecaptionskip{10\p@}\r
+\setlength\belowcaptionskip{0\p@}\r
+\long\def\@makecaption#1#2{%\r
+  \vskip\abovecaptionskip\r
+  \sbox\@tempboxa{#1: #2}%\r
+  \ifdim \wd\@tempboxa >\hsize\r
+    #1: #2\par\r
+  \else\r
+    \global \@minipagefalse\r
+    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%\r
+  \fi\r
+  \vskip\belowcaptionskip}\r
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}\r
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}\r
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}\r
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}\r
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}\r
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}\r
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}\r
+\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}\r
+\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}\r
+\newcommand\@pnumwidth{1.55em}\r
+\newcommand\@tocrmarg{2.55em}\r
+\newcommand\@dotsep{4.5}\r
+\setcounter{tocdepth}{2}\r
+\newcommand\tableofcontents{%\r
+    \if@twocolumn\r
+      \@restonecoltrue\onecolumn\r
+    \else\r
+      \@restonecolfalse\r
+    \fi\r
+    \chapter*{\contentsname\r
+        \@mkboth{%\r
+           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%\r
+    \@starttoc{toc}%\r
+    \if@restonecol\twocolumn\fi\r
+    }\r
+\newcommand*\l@part[2]{%\r
+  \ifnum \c@tocdepth >-2\relax\r
+    \addpenalty{-\@highpenalty}%\r
+    \addvspace{2.25em \@plus\p@}%\r
+    \begingroup\r
+      \parindent \z@ \rightskip \@pnumwidth\r
+      \parfillskip -\@pnumwidth\r
+      {\leavevmode\r
+       \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par\r
+       \nobreak\r
+         \global\@nobreaktrue\r
+         \everypar{\global\@nobreakfalse\everypar{}}%\r
+    \endgroup\r
+  \fi}\r
+\newcommand*\l@chapter[2]{%\r
+  \ifnum \c@tocdepth >\m@ne\r
+    \addpenalty{-\@highpenalty}%\r
+    \vskip 1.0em \@plus\p@\r
+    \setlength\@tempdima{1.5em}%\r
+    \begingroup\r
+      \parindent \z@ \rightskip \@pnumwidth\r
+      \parfillskip -\@pnumwidth\r
+      \leavevmode \bfseries\r
+      \advance\leftskip\@tempdima\r
+      \hskip -\leftskip\r
+      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par\r
+      \penalty\@highpenalty\r
+    \endgroup\r
+  \fi}\r
+\newcommand*\l@appendix[2]{%\r
+  \ifnum \c@tocdepth >\m@ne\r
+    \addpenalty{-\@highpenalty}%\r
+    \vskip 1.0em \@plus\p@\r
+    \setlength\@tempdima{1.5em}%\r
+    \begingroup\r
+      \parindent \z@ \rightskip \@pnumwidth\r
+      \parfillskip -\@pnumwidth\r
+      \leavevmode \bfseries\r
+      \advance\leftskip\@tempdima\r
+      \hskip -\leftskip\r
+      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par\r
+      \penalty\@highpenalty\r
+    \endgroup\r
+  \fi}\r
+%\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}\r
+\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}\r
+\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}\r
+\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}\r
+% \newcommand*\l@subsubsubsection{\@dottedtocline{4}{10.0em}{5em}}\r
+\newcommand*\l@paragraph{\@dottedtocline{5}{10em}{6em}}\r
+\newcommand*\l@subparagraph{\@dottedtocline{6}{12em}{7em}}\r
+\newcommand\listoffigures{%\r
+    \if@twocolumn\r
+      \@restonecoltrue\onecolumn\r
+    \else\r
+      \@restonecolfalse\r
+    \fi\r
+    \chapter*{\listfigurename\r
+      \@mkboth{\MakeUppercase\listfigurename}%\r
+              {\MakeUppercase\listfigurename}}%\r
+    \@starttoc{lof}%\r
+    \if@restonecol\twocolumn\fi\r
+    }\r
+\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}\r
+\newcommand\listoftables{%\r
+    \if@twocolumn\r
+      \@restonecoltrue\onecolumn\r
+    \else\r
+      \@restonecolfalse\r
+    \fi\r
+    \chapter*{\listtablename\r
+      \@mkboth{%\r
+          \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%\r
+    \@starttoc{lot}%\r
+    \if@restonecol\twocolumn\fi\r
+    }\r
+\let\l@table\l@figure\r
+\newdimen\bibindent\r
+\setlength\bibindent{5em}\r
+%\newenvironment{thebibliography}[1] %modifie plus loin\r
+%     {\section*{\bibname %section ou chapter\r
+%        \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}%\r
+%      \list{\@biblabel{\@arabic\c@enumiv}}%\r
+%           {\settowidth\labelwidth{\@biblabel{#1}}%\r
+%            \leftmargin\labelwidth\r
+%      \advance\leftmargin40pt% change 20 pt according to your needs\r
+%            \advance\leftmargin\labelsep\r
+%      \setlength\itemindent{-40pt}\r
+%            \@openbib@code\r
+%            \usecounter{enumiv}%\r
+%            \let\p@enumiv\@empty\r
+%            \renewcommand\theenumiv{\@arabic\c@enumiv}}%\r
+%      \sloppy\r
+%      \clubpenalty4000\r
+%      \@clubpenalty \clubpenalty\r
+%      \widowpenalty4000%\r
+%      \sfcode`\.\@m}\r
+%     {\def\@noitemerr\r
+%       {\@latex@warning{Empty `thebibliography' environment}}%\r
+%      \endlist}\r
+\r
+\def\thebibliography#1{\section*{\refname\@mkboth\r
+  {\uppercase{\refname}}{\uppercase{\refname}}}\list\r
+  {\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}%\r
+    \leftmargin\labelwidth\r
+    \advance\leftmargin\labelsep\r
+    \usecounter{enumiv}%\r
+    \let\p@enumiv\@empty\r
+    \def\theenumiv{\arabic{enumiv}}}%\r
+    \def\newblock{\hskip .11em plus.33em minus.07em}%\r
+    \sloppy\clubpenalty4000\widowpenalty4000\r
+    \sfcode`\.=1000\relax}\r
+\r
+\def\endthebibliography{%\r
+  \def\@noitemerr{\@warning{Empty `thebibliography' environment}}%\r
+  \endlist}\r
+\r
+\r
+\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}\r
+\let\@openbib@code\@empty\r
+\newenvironment{theindex}\r
+               {\if@twocolumn\r
+                  \@restonecolfalse\r
+                \else\r
+                  \@restonecoltrue\r
+                \fi\r
+                \columnseprule \z@\r
+                \columnsep 35\p@\r
+                \twocolumn[\@makeschapterhead{\indexname}]%\r
+                \@mkboth{\MakeUppercase\indexname}%\r
+                        {\MakeUppercase\indexname}%\r
+                \thispagestyle{plain}\parindent\z@\r
+                \parskip\z@ \@plus .3\p@\relax\r
+                \let\item\@idxitem}\r
+               {\if@restonecol\onecolumn\else\clearpage\fi}\r
+\newcommand\@idxitem{\par\hangindent 40\p@}\r
+\newcommand\subitem{\@idxitem \hspace*{20\p@}}\r
+\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}\r
+\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}\r
+\renewcommand\footnoterule{%\r
+  \kern-3\p@\r
+  \hrule\@width.4\columnwidth\r
+  \kern2.6\p@}\r
+\@addtoreset{footnote}{chapter}\r
+\newcommand\@makefntext[1]{%\r
+    \parindent \z@%1em%\r
+    \noindent\r
+    \hb@xt@1.8em{\hss\@makefnmark}#1}\r
+\newcommand\contentsname{Contents}\r
+\newcommand\listfigurename{Liste des Figures}\r
+\newcommand\listtablename{Liste des Tables}\r
+\newcommand\bibname{Bibliographie}\r
+\newcommand\indexname{Index}\r
+\newcommand\figurename{Figure}\r
+\newcommand\tablename{Table}\r
+\newcommand\partname{Partie}\r
+\newcommand\chaptername{Chapitre}\r
+\newcommand\appendixname{Annexe}\r
+\newcommand\abstractname{Résumé}\r
+\def\today{\ifcase\month\or\r
+  January\or February\or March\or April\or May\or June\or\r
+  July\or August\or September\or October\or November\or December\fi\r
+  \space\number\day, \number\year}\r
+\setlength\columnsep{10\p@}\r
+\setlength\columnseprule{0\p@}\r
+\pagestyle{plain}\r
+\pagenumbering{arabic}\r
+\if@twoside\r
+\else\r
+  \raggedbottom\r
+\fi\r
+\if@twocolumn\r
+  \twocolumn\r
+  \sloppy\r
+  \flushbottom\r
+\else\r
+  \onecolumn\r
+\fi\r
+\r
+%% from espcrc2.cls\r
+% PARAGRAPHING\r
+\parskip 0pt                      % No extra vertical space between paragraphs.\r
+\parindent \z@%0pt                    % Width of paragraph indentation.\r
+\r
+% SECTIONAL UNITS:\r
+\newdimen\@bls                    % \@b(ase)l(ine)s(kip)\r
+\@bls=\baselineskip               % \@bls ~= \baselineskip for \normalsize\r
+\advance\@bls -1ex                % (fudge term)\r
+\newdimen\@eps                    %\r
+\@eps=0.0001pt                    % \eps = very small positive quantity\r
+\r
+\r
+% \def\section{\@startsection{section}{1}{\z@}\r
+%   {1.5\@bls plus 0.5\@bls}{1\@bls}{\normalsize\bf}}\r
+% \def\subsection{\@startsection{subsection}{2}{\z@}\r
+%   {1\@bls plus 0.25\@bls}{\@eps}{\normalsize\bf}}\r
+% \def\subsubsection{\@startsection{subsubsection}{3}{\z@}\r
+%   {1\@bls plus 0.25\@bls}{\@eps}{\normalsize\bf}}\r
+% \def\subsubsubsection{\@startsection{subsubsubsection}{4}{\z@}\r
+%   {1\@bls plus 0.25\@bls}{\@eps}{\normalsize\bf}}\r
+% % \def\paragraph{\@startsection{paragraph}{4}{\parindent}\r
+%   {1\@bls plus 0.25\@bls}{0.5em}{\normalsize\bf}}\r
+% \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}\r
+%   {1\@bls plus 0.25\@bls}{0.5em}{\normalsie\it\bf}}\r
+\r
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth\r
+  \def\@svsec{}\else \r
+%  \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip0.5em}\fi\r
+  \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname}\fi\r
+  \@tempskipa #5\relax\r
+  \ifdim \@tempskipa>\z@\r
+    \begingroup \r
+      #6\relax\r
+      \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}%\r
+    \endgroup\r
+    \csname #1mark\endcsname{#7}\addcontentsline\r
+      {toc}{#1}{\ifnum #2>\c@secnumdepth \else\r
+        \protect\numberline{\csname the#1\endcsname}\fi #7}%\r
+  \else\r
+    \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname\r
+      {#7}\addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else\r
+        \protect\numberline{\csname the#1\endcsname}\fi #7}}%\r
+  \fi \@xsect{#5}}\r
+\r
+% FIGURES AND TABLES\r
+\long\def\@makefigurecaption#1#2{\centering \vskip 3mm #1 -- #2\par}\r
+\r
+\long\def\@maketablecaption#1#2{\centering \vskip 3mm #1 -- #2\par}\r
+% \long\def\@maketablecaption#1#2{\hbox to \hsize{\parbox[t]{\hsize}\r
+%   {\mbox{}\hfill #1 \\ \centering #2}}\vskip 1.3ex}\r
+\r
+\def\fnum@figure{\bfseries Figure \thefigure\normalfont}\r
+\def\figure{\let\@makecaption\@makefigurecaption \@float{figure}}\r
+\@namedef{figure*}{\let\@makecaption\@makefigurecaption \@dblfloat{figure}}\r
+\r
+\def\fnum@table{\bfseries Table \thetable\normalfont}\r
+\def\table{\let\@makecaption\@maketablecaption \@float{table}}\r
+\@namedef{table*}{\let\@makecaption\@maketablecaption \@dblfloat{table}}\r
+\r
+\floatsep 10mm plus 4pt minus 4pt % Space between adjacent floats moved\r
+                                  % to top or bottom of text page.\r
+\textfloatsep=\floatsep           % Space between main text and floats\r
+                                  % at top or bottom of page.\r
+\intextsep=\floatsep              % Space between in-text figures and \r
+                                  % text.\r
+\r
+% FOOTNOTE\r
+\long\def\@makefntext#1{\parindent 1em\noindent\hbox{${}^{\@thefnmark}$}#1}\r
+\r
+% EQUATION\r
+%\mathindent=0em\r
+\r
+% TITLE\r
+\def\maketitle{\begingroup        % Initialize generation of front-matter\r
+%   \let\thanks\@gobble\r
+    \def\thefootnote{\fnsymbol{footnote}}%\r
+    \newpage \global\@topnum\z@ \r
+    \@maketitle \@thanks\r
+  \endgroup\r
+  \let\maketitle\relax \let\@maketitle\relax\r
+  \gdef\@thanks{}\let\thanks\relax\r
+  \gdef\@address{}\gdef\@author{}\gdef\@title{}\let\address\relax}\r
+\r
+\def\justify@on{\let\\=\@normalcr\r
+  \leftskip\z@ \@rightskip\z@ \rightskip\@rightskip}\r
+\r
+\newbox\fm@box                    % Box to capture front-matter in\r
+\r
+\def\@maketitle{%                 % Actual formatting of \maketitle\r
+  \global\setbox\fm@box=\vbox\bgroup\r
+    \vskip 8mm                    % 930715: 8mm white space above title\r
+    \raggedright                  % Front-matter text is ragged right\r
+    \hyphenpenalty\@M             % and is not hyphenated.\r
+    {\Large \@title \par}         % Title set in larger font. \r
+    \vskip\@bls                   % One line of vertical space after title.\r
+    {\normalsize                  % each author set in the normal \r
+     \@author \par}               % typeface size \r
+    \vskip\@bls                   % One line of vertical space after author(s).\r
+    \@address                     % all addresses\r
+  \egroup\r
+  \twocolumn[%                    % Front-matter text is over 2 columns.\r
+    \unvbox\fm@box                % Unwrap contents of front-matter box\r
+    \vskip\@bls                   % add 1 line of vertical space, \r
+    \unvbox\abstract@box          % unwrap contents of abstract boxes,\r
+    \vskip 2pc]}                  % and add 2pc of vertical space\r
+\r
+\newcounter{address} \r
+\def\theaddress{\alph{address}}\r
+\def\@makeadmark#1{\hbox{$^{\rm #1}$}}   \r
+\r
+\def\address#1{\addressmark\begingroup\r
+  \xdef\@tempa{\theaddress}\let\\=\relax\r
+  \def\protect{\noexpand\protect\noexpand}\xdef\@address{\@address\r
+  \protect\addresstext{\@tempa}{#1}}\endgroup}\r
+\def\@address{}\r
+\r
+\def\addressmark{\stepcounter{address}%\r
+  \xdef\@tempb{\theaddress}\@makeadmark{\@tempb}}\r
+\r
+\def\addresstext#1#2{\leavevmode \begingroup\r
+  \raggedright \hyphenpenalty\@M \@makeadmark{#1}#2\par \endgroup\r
+  \vskip\@bls}\r
+\r
+% ABSTRACT:\r
+\newbox\abstract@box              % Box to capture abstract in\r
+\r
+\def\abstract{%\r
+  \global\setbox\abstract@box=\vbox\bgroup\r
+  \small\rm\r
+  \ignorespaces}\r
+\def\endabstract{\par \egroup}\r
+\r
+% BIBLIOGRAPHY\r
+%%\def\thebibliography#1{\section*{REFERENCES}\list{\arabic{enumi}.}\r
+% \def\thebibliography#1{\section*{\CYRL\cyri\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyra}\list{\arabic{enumi}.}\r
+%   {\settowidth\labelwidth{#1.}\leftmargin=1.67em\r
+%    \labelsep\leftmargin \advance\labelsep-\labelwidth\r
+%    \itemsep\z@ \parsep\z@\r
+%    \usecounter{enumi}}\def\makelabel##1{\rlap{##1}\hss}%\r
+%    \def\newblock{\hskip 0.11em plus 0.33em minus -0.07em}\r
+%    \sloppy \clubpenalty=4000 \widowpenalty=4000 \sfcode`\.=1000\relax}\r
+\r
+\r
+%\def\thebibliography#1{%\section{\refname}\r
+%\list{\arabic{enumi}.}\r
+%  {\settowidth\labelwidth{#1.}\leftmargin=3em\r
+%   \labelsep\leftmargin \advance\labelsep-\labelwidth\r
+%   \itemsep\z@ \parsep\z@\r
+%   \usecounter{enumi}}\def\makelabel##1{\rlap{##1}\hss}%\r
+%   \def\newblock{\hskip 0.11em plus 0.33em minus -0.07em}\r
+%   \sloppy \clubpenalty=4000 \widowpenalty=4000 \sfcode`\.=1000\relax}\r
+\r
+% Collapse citation numbers to ranges.  \r
+% \newcount\@tempcntc\r
+% \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi\r
+%   \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do\r
+%     {\@ifundefined\r
+%        {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\r
+%         \def\@citea{,\penalty\@m\ }{\bf ?}\@warning\r
+%        {Citation `\@citeb' on page \thepage \space undefined}}%\r
+%     {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%\r
+%      \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne\r
+%        \@citea\def\@citea{,\penalty\@m}\r
+%        \hbox{\csname b@\@citeb\endcsname}%\r
+%      \else\r
+%       \advance\@tempcntb\@ne\r
+%       \ifnum\@tempcntb=\@tempcntc\r
+%       \else\advance\@tempcntb\m@ne\@citeo\r
+%       \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}\r
+% \r
+% \def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea\r
+%   \def\@citea{,\penalty\@m}%\r
+%   \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else\r
+%    {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else\r
+% \def\@citea{--}\fi\r
+%     \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}\r
+\r
+\newcommand\frontmatter{%\r
+    \cleardoublepage\r
+  \@mainmatterfalse\r
+  \@appendixfalse\r
+  \pagenumbering{roman}}\r
+\newcommand\mainmatter{%\r
+    \cleardoublepage\r
+  \@mainmattertrue\r
+  \@appendixfalse\r
+  \pagenumbering{arabic}}\r
+\newcommand\backmatter{%\r
+  \if@openright\r
+    \cleardoublepage\r
+  \else\r
+    \clearpage\r
+  \fi\r
+  \@mainmatterfalse\r
+  \@appendixfalse}\r
+\r
+\r
+% PAGE STYLES\r
+\def\ps@crcplain{\let\@mkboth\@gobbletwo\r
+\def\@oddhead{\reset@font{\rm\hfil --\ \thepage\ --\hfil}}%\r
+%\let\@evenhead{\@oddhead}\r
+%\def\@evenhead{\reset@font\rm \thepage\hfil\sl\leftmark}%\r
+\let\@oddfoot\@empty\r
+%\let\@evenfoot\@oddfoot\r
+}\r
+\ps@crcplain\r
+                    \r
+\endinput\r
+%%\r
+%% End of file `PhDthesis.cls'.\r
diff --git a/unsrt-fr.bst b/unsrt-fr.bst
new file mode 100644 (file)
index 0000000..79a9c15
--- /dev/null
@@ -0,0 +1,1062 @@
+%%
+%% Bib. style "unsrt-fr" (version francisee de unsrt.bst)
+%%
+%% NM, 2004/02/22
+%% markey@lsv.ens-cachan.fr 
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Original Copyright (Oren Patashnik):
+%%
+ % This program may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.2
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ %   http://www.latex-project.org/lppl.txt
+ % and version 1.2 or later is part of all distributions of LaTeX
+ % version 1999/12/01 or later.
+ %
+ % This program consists of the files unsrt.bst
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ENTRY
+  { address
+    author
+    booktitle
+    chapter
+    edition
+    editor
+    howpublished
+    institution
+    journal
+    key
+    month
+    note
+    number
+    organization
+    pages
+    publisher
+    school
+    series
+    title
+    type
+    volume
+    year
+  }
+  {}
+  { label }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% C'est ici que je definis les "traductions". Normalement, y a que ca a changer
+%% pour franciser le style...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION{fr.and}{              %% le "et" entre les deux derniers auteurs
+" et "
+}
+
+FUNCTION{fr.editeur}{          %% ", \'editeur" au singulier, ou " (\'editeur)"...
+", \'editeur"
+}
+
+FUNCTION{fr.editeurs}{         %% ", \'editeurs" au pluriel, ou " (\'editeurs)"...
+", \'editeurs"
+}
+
+FUNCTION{fr.et.al}{            %% " et~al."
+" \emph{et~al.}"
+}
+
+FUNCTION{fr.in}{               %% "In "
+"\emph{In} "
+}
+
+FUNCTION{fr.in.spc}{           %% " de " (ou " de la s\'erie ")
+" de "
+}
+
+FUNCTION{fr.of}{               %% " de "
+" de "
+}
+
+FUNCTION{fr.number}{           %% "num\'ero "
+"num\'ero "
+}
+
+FUNCTION{fr.number.maj}{       %% "Num\'ero "
+"Num\'ero "
+}
+
+FUNCTION{fr.volume}{           %% "volume"
+"volume"
+}
+
+FUNCTION{fr.volume.maj}{       %% "Volume"
+"Volume"
+}
+
+FUNCTION{fr.edition}{          %% " \'edition"
+" \'edition"
+}
+
+FUNCTION{fr.pages}{            %% "pages"
+"pages"
+}
+
+FUNCTION{fr.page}{             %% "page"
+"page"
+}
+
+FUNCTION{fr.chapter}{          %% "chapitre"
+"chapitre"
+}
+
+FUNCTION{fr.tech.rep}{         %% "Rapport Technique"
+"Rapport technique"
+}
+
+FUNCTION{fr.master}{           %% "M\'emoire de D.E.A."
+"M\'emoire de D.E.A."
+}
+
+FUNCTION{fr.phd}{              %% "Th\`ese de doctorat"
+"Th\`ese de doctorat"
+}
+
+FUNCTION{fr.auteurs.style}{    
+       %% si on veut des small caps sur le LASTNAME de l'auteur
+       %% Cette fonction est utilisee dans la definition d'une
+       %% fonction LaTeX.
+"\scshape"
+}
+
+FUNCTION{fr.ponctuation.apres.auteurs}{ %% Comme son nom l'indique...
+" : "
+}
+
+FUNCTION{fr.deuxpoints}{        %% Pour eviter l'espace avant les ":".
+"\string:\penalty500\relax "
+}
+
+MACRO {jan} {"janvier"}
+MACRO {feb} {"f\'evrier"}
+MACRO {mar} {"mars"}
+MACRO {apr} {"avril"}
+MACRO {may} {"mai"}
+MACRO {jun} {"juin"}
+MACRO {jul} {"juillet"}
+MACRO {aug} {"ao\^ut"}
+MACRO {sep} {"septembre"}
+MACRO {oct} {"octobre"}
+MACRO {nov} {"novembre"}
+MACRO {dec} {"d\'ecembre"}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% La suite, normalement, y a rien a changer...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block after.authors }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+  #1 'mid.sentence :=
+  #2 'after.sentence :=
+  #3 'after.block :=
+  #0 'after.authors :=
+}
+
+STRINGS { s t }
+
+FUNCTION{ fr.add.period }{
+after.authors 
+  { fr.ponctuation.apres.auteurs empty$
+      { add.period$ }
+      { fr.ponctuation.apres.auteurs * #0 'after.authors := }
+    if$}
+  { add.period$ }
+if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+  output.state mid.sentence =
+    { ", " * write$ }
+    { output.state after.block =
+       { fr.add.period write$
+         newline$
+         "\newblock " write$
+       }
+       { output.state before.all =
+           'write$
+           { add.period$ " " * write$ }
+         if$
+       }
+      if$
+      mid.sentence 'output.state :=
+    }
+  if$
+  s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull
+  if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+  duplicate$ empty$
+    { pop$ "empty " t * " in " * cite$ * warning$ }
+    'output.nonnull
+  if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+  "\bibitem{" write$
+  cite$ write$
+  "}" write$
+  newline$
+  ""
+  before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+  write$
+  newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+    'skip$
+    { output.state before.all =
+       'skip$
+       { after.sentence 'output.state := }
+      if$
+    }
+  if$
+}
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+    'skip$
+    'new.sentence
+  if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.sentence
+  if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+    { pop$ "" }
+    { "{\em " swap$ * "}" * }
+  if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr "{ff~}{vv~}\bgroup\fonteauteurs\bgroup {ll}\egroup\egroup{{}}{, jj}" format.name$ 't :=
+      nameptr #1 >
+       { namesleft #1 >
+           { ", " * t * }
+           {   %numnames #2 > namesleft #2 > and
+               %  { "," * }
+               %  'skip$
+               %if$
+             t "\bgroup\fonteauteurs\bgroup others\egroup\egroup{}" =
+               { fr.et.al * }
+               { fr.and * t * }
+             if$
+           }
+         if$
+       }
+       't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+    { "" }
+    { author format.names #1 'after.authors := }
+  if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+    { "" }
+    { editor format.names
+      editor num.names$ #1 >
+       { fr.editeurs * }
+       { fr.editeur * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+    { "" }
+    { title "t" change.case$ }
+  if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+       { t #1 #2 substring$ "--" = not
+           { "--" *
+             t #2 global.max$ substring$ 't :=
+           }
+           {   { t #1 #1 substring$ "-" = }
+               { "-" *
+                 t #2 global.max$ substring$ 't :=
+               }
+             while$
+           }
+         if$
+       }
+       { t #1 #1 substring$ *
+         t #2 global.max$ substring$ 't :=
+       }
+      if$
+    }
+  while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+    { month empty$
+       { "" }
+       { "there's a month but no year in " cite$ * warning$
+         month
+       }
+      if$
+    }
+    { month empty$
+       'year
+       { month " " * year * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { " " }
+  if$
+  swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+    { "" }
+    { fr.volume volume tie.or.space.connect
+      series empty$
+       'skip$
+       { fr.of * series emphasize * }
+      if$
+      "volume and number" number either.or.check
+    }
+  if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+    { number empty$
+       { series field.or.null }
+       { output.state mid.sentence =
+           { fr.number }
+           { fr.number.maj }
+         if$
+         number tie.or.space.connect
+         series empty$
+           { "there's a number but no series in " cite$ * warning$ }
+           { fr.in.spc * series * }
+         if$
+       }
+      if$
+    }
+    { "" }
+  if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+    { "" }
+    { output.state mid.sentence =
+       { edition "l" change.case$ fr.edition * }
+       { edition "t" change.case$ fr.edition * }
+      if$
+    }
+  if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+       { #1 'multiresult := }
+       { t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+    { "" }
+    { pages multi.page.check
+       { fr.pages pages n.dashify tie.or.space.connect }
+       { fr.page pages tie.or.space.connect }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+  number empty$
+    'skip$
+    { "(" number * ")" * *
+      volume empty$
+       { "there's a number but no volume in " cite$ * warning$ }
+       'skip$
+      if$
+    }
+  if$
+  pages empty$
+    'skip$
+    { duplicate$ empty$
+       { pop$ format.pages }
+       { fr.deuxpoints * pages n.dashify * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    'format.pages
+    { type empty$
+       { fr.chapter }
+       { type "l" change.case$ }
+      if$
+      chapter tie.or.space.connect
+      pages empty$
+       'skip$
+       { ", " * format.pages * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+    { "" }
+    { editor empty$
+       { fr.in booktitle emphasize * }
+       { fr.in format.editors #1 'after.authors := fr.add.period " " * * booktitle emphasize * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+  month empty$ year empty$ note empty$
+  and and and and and
+    { "all relevant fields are empty in " cite$ * warning$ }
+    'skip$
+  if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+    'skip$
+    { pop$
+      type "t" change.case$
+    }
+  if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+    { fr.tech.rep }
+    'type
+  if$
+  number empty$
+    { "t" change.case$ }
+    { number tie.or.space.connect }
+  if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+    { journal empty$
+       { "need key or journal for " cite$ * " to crossref " * crossref *
+         warning$
+         ""
+       }
+       { fr.in "{\em " * journal * "\/}" * }
+      if$
+    }
+    { fr.in key * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}\bgroup\fonteauteurs\bgroup {ll}\egroup\egroup{{}}" format.name$
+  editor num.names$ duplicate$
+  #2 >
+    { pop$ fr.et.al * }
+    { #2 <
+       'skip$
+       { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+           { fr.et.al * }
+           { fr.and * editor #2 "{vv~}\bgroup\fonteauteurs\bgroup {ll}\egroup\egroup{{}}" format.name$ * }
+         if$
+       }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+      fr.in
+    }
+    { fr.volume.maj volume tie.or.space.connect
+      fr.of *
+    }
+  if$
+  editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+       { series empty$
+           { "need editor, key, or series for " cite$ * " to crossref " *
+             crossref * warning$
+             "" *
+           }
+           { "{\em " * series * "\/}" * }
+         if$
+       }
+       { key * }
+      if$
+    }
+    { format.crossref.editor * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+       { booktitle empty$
+           { "need editor, key, or booktitle for " cite$ * " to crossref " *
+             crossref * warning$
+             ""
+           }
+           { fr.in "{\em " * booktitle * "\/}" * }
+         if$
+       }
+       { fr.in key * }
+      if$
+    }
+    { fr.in format.crossref.editor * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { journal emphasize "journal" output.check
+      format.vol.num.pages output
+      format.date "year" output.check
+    }
+    { format.article.crossref output.nonnull
+      format.pages output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+  author empty$
+    { format.editors "author and editor" output.check }
+    { format.authors output.nonnull
+      crossref missing$
+       { "author and editor" editor either.or.check }
+       'skip$
+      if$
+    }
+  if$
+  new.block
+  format.btitle "title" output.check
+  crossref missing$
+    { format.bvolume output
+      new.block
+      format.number.series output
+      new.sentence
+      publisher "publisher" output.check
+      address output
+    }
+    { new.block
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.edition output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+  format.authors output
+  new.block
+  format.title "title" output.check
+  howpublished address new.block.checkb
+  howpublished output
+  address output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+  author empty$
+    { format.editors "author and editor" output.check }
+    { format.authors output.nonnull
+      crossref missing$
+       { "author and editor" editor either.or.check }
+       'skip$
+      if$
+    }
+  if$
+  new.block
+  format.btitle "title" output.check
+  crossref missing$
+    { format.bvolume output
+      format.chapter.pages "chapter and pages" output.check
+      new.block
+      format.number.series output
+      new.sentence
+      publisher "publisher" output.check
+      address output
+    }
+    { format.chapter.pages "chapter and pages" output.check
+      new.block
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.edition output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { format.in.ed.booktitle "booktitle" output.check
+      format.bvolume output
+      format.number.series output
+      format.chapter.pages output
+      new.sentence
+      publisher "publisher" output.check
+      address output
+      format.edition output
+      format.date "year" output.check
+    }
+    { format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { format.in.ed.booktitle "booktitle" output.check
+      format.bvolume output
+      format.number.series output
+      format.pages output
+      address empty$
+       { organization publisher new.sentence.checkb
+         organization output
+         publisher output
+         format.date "year" output.check
+       }
+       { address output.nonnull
+         format.date "year" output.check
+         new.sentence
+         organization output
+         publisher output
+       }
+      if$
+    }
+    { format.incoll.inproc.crossref output.nonnull
+      format.pages output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+  author empty$
+    { organization empty$
+       'skip$
+       { organization output.nonnull
+         address output
+       }
+      if$
+    }
+    { format.authors output.nonnull }
+  if$
+  new.block
+  format.btitle "title" output.check
+  author empty$
+    { organization empty$
+       { address new.block.checka
+         address output
+       }
+       'skip$
+      if$
+    }
+    { organization address new.block.checkb
+      organization output
+      address output
+    }
+  if$
+  format.edition output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  fr.master format.thesis.type output.nonnull
+  school "school" output.check
+  address output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+  format.authors output
+  title howpublished new.block.checkb
+  format.title output
+  howpublished new.block.checka
+  howpublished output
+  format.date output
+  new.block
+  note output
+  fin.entry
+  empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.btitle "title" output.check
+  new.block
+  fr.phd format.thesis.type output.nonnull
+  school "school" output.check
+  address output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+  editor empty$
+    { organization output }
+    { format.editors output.nonnull }
+  if$
+  new.block
+  format.btitle "title" output.check
+  format.bvolume output
+  format.number.series output
+  address empty$
+    { editor empty$
+       { publisher new.sentence.checka }
+       { organization publisher new.sentence.checkb
+         organization output
+       }
+      if$
+      publisher output
+      format.date "year" output.check
+    }
+    { address output.nonnull
+      format.date "year" output.check
+      new.sentence
+      editor empty$
+       'skip$
+       { organization output }
+      if$
+      publisher output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  format.tr.number output.nonnull
+  institution "institution" output.check
+  address output
+  format.date "year" output.check
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  note "note" output.check
+  format.date output
+  fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+  #1 'number.label :=
+  #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+  number.label #1 + 'number.label :=
+  label width$ longest.label.width >
+    { label 'longest.label :=
+      label width$ 'longest.label.width :=
+    }
+    'skip$
+  if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$
+  "\expandafter\ifx\csname fonteauteurs\endcsname\relax" 
+    write$ newline$
+  "\def\fonteauteurs{" fr.auteurs.style * "}\fi" * write$ newline$ 
+  "\makeatother" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+  "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
+%%
+%% Changelog : 
+%% 1.0 -> 1.1 : les mois ne prennent pas de majuscule
+%% 1.1 -> 1.2 : le '.' qui suit la liste des auteurs peut etre 
+%%             change en autre chose (':' notamment).
+%%
diff --git a/unsrtnat-fr.bst b/unsrtnat-fr.bst
new file mode 100644 (file)
index 0000000..ca0a8e6
--- /dev/null
@@ -0,0 +1,1495 @@
+%%\r
+%% Bib. style "unsrtnat-fr" (version francisee de unsrtnat.bst)\r
+%%\r
+%% NM, 2005/10/16\r
+%% markey@lsv.ens-cachan.fr \r
+%%\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+%% Original Copyright (Patrick Daly):\r
+%%\r
+%% Copyright 1993-1999 Patrick W Daly\r
+%% Max-Planck-Institut f\"ur Aeronomie\r
+%% Max-Planck-Str. 2\r
+%% D-37191 Katlenburg-Lindau\r
+%% Germany\r
+%% E-mail: daly@linmpi.mpg.de\r
+%%\r
+%% This program can be redistributed and/or modified under the terms\r
+%% of the LaTeX Project Public License Distributed from CTAN\r
+%% archives in directory macros/latex/base/lppl.txt; either\r
+%% version 1 of the License, or any later version.\r
+%%\r
+ % Version and source file information:\r
+ % \ProvidesFile{natbst.mbs}[1999/05/11 1.6 (PWD)]\r
+ %\r
+ % BibTeX `plainnat' family\r
+ %   version 0.99b for BibTeX versions 0.99a or later,\r
+ %   for LaTeX versions 2.09 and 2e.\r
+ %\r
+ % For use with the `natbib.sty' package; emulates the corresponding\r
+ %   member of the `plain' family, but with author-year citations.\r
+ %\r
+ % With version 6.0 of `natbib.sty', it may also be used for numerical\r
+ %   citations, while retaining the commands \citeauthor, \citefullauthor,\r
+ %   and \citeyear to print the corresponding information.\r
+ %\r
+ % For version 7.0 of `natbib.sty', the KEY field replaces missing\r
+ %   authors/editors, and the date is left blank in \bibitem.\r
+ %\r
+ % Includes fields ISBN and ISSN.\r
+ %\r
+ % Includes field URL for Internet addresses (best used with\r
+ % with the url.sty package of Donald Arseneau\r
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+\r
+\r
+ENTRY\r
+  { address\r
+    author\r
+    booktitle\r
+    chapter\r
+    edition\r
+    editor\r
+    howpublished\r
+    institution\r
+    isbn\r
+    issn\r
+    journal\r
+    key\r
+    month\r
+    note\r
+    number\r
+    organization\r
+    pages\r
+    publisher\r
+    school\r
+    series\r
+    title\r
+    type\r
+    url\r
+    volume\r
+    year\r
+  }\r
+  {}\r
+  { label extra.label sort.label short.list }\r
+\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+%%\r
+%% C'est ici que je definis les "traductions". Normalement, y a que ca a changer\r
+%% pour franciser le style...\r
+%%\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+\r
+FUNCTION{fr.and}{               %% le "et" entre les deux derniers auteurs\r
+" et "\r
+}\r
+\r
+FUNCTION{fr.editeur}{           %% ", {\'e}diteur" au singulier, ou " ({\'e}diteur)"...\r
+", {\'e}diteur"\r
+}\r
+\r
+FUNCTION{fr.editeurs}{          %% ", {\'e}diteurs" au pluriel, ou " ({\'e}diteurs)"...\r
+", {\'e}diteurs"\r
+}\r
+\r
+FUNCTION{fr.et.al}{             %% " et~al."\r
+" \emph{et~al.}"\r
+}\r
+\r
+FUNCTION{fr.in}{                %% "Dans "\r
+"\emph{In} "\r
+}\r
+\r
+FUNCTION{fr.in.spc}{            %% " dans "\r
+" \emph{in} "\r
+}\r
+\r
+FUNCTION{fr.of}{                %% " de "\r
+" de "\r
+}\r
+\r
+FUNCTION{fr.number}{            %% "num{\'e}ro "\r
+"num{\'e}ro "\r
+}\r
+\r
+FUNCTION{fr.number.maj}{        %% "Num{\'e}ro "\r
+"Num{\'e}ro "\r
+}\r
+\r
+FUNCTION{fr.volume}{            %% "volume"\r
+"volume"\r
+}\r
+\r
+FUNCTION{fr.volume.maj}{        %% "Volume"\r
+"Volume"\r
+}\r
+\r
+FUNCTION{fr.edition}{           %% " {\'e}dition"\r
+" {\'e}dition"\r
+}\r
+\r
+FUNCTION{fr.pages}{             %% "pages"\r
+"pages"\r
+}\r
+\r
+FUNCTION{fr.page}{              %% "page"\r
+"page"\r
+}\r
+\r
+FUNCTION{fr.chapter}{           %% "chapitre"\r
+"chapitre"\r
+}\r
+\r
+FUNCTION{fr.tech.rep}{          %% "Rapport Technique"\r
+"Rapport technique"\r
+}\r
+\r
+FUNCTION{fr.master}{            %% "M{\'e}moire de D.E.A."\r
+"M{\'e}moire de D.E.A."\r
+}\r
+\r
+FUNCTION{fr.phd}{               %% "Th{\`e}se de doctorat"\r
+"Th{\`e}se de doctorat"\r
+}\r
+\r
+FUNCTION{fr.auteurs.style}{\r
+       %% si on veut des small caps sur le LASTNAME de l'auteur\r
+       %% Cette fonction est utilisee dans la definition d'une\r
+       %% fonction LaTeX.\r
+"\scshape"\r
+}\r
+\r
+FUNCTION{fr.ponctuation.apres.auteurs}{ %% Comme son nom l'indique...\r
+" : "\r
+}\r
+\r
+FUNCTION{fr.deuxpoints}{        %% Pour eviter l'espace avant les ":".\r
+"\string:\penalty500\relax "\r
+}\r
+\r
+MACRO {jan} {"janvier"}\r
+MACRO {feb} {"f\'evrier"}\r
+MACRO {mar} {"mars"}\r
+MACRO {apr} {"avril"}\r
+MACRO {may} {"mai"}\r
+MACRO {jun} {"juin"}\r
+MACRO {jul} {"juillet"}\r
+MACRO {aug} {"ao\^ut"}\r
+MACRO {sep} {"septembre"}\r
+MACRO {oct} {"octobre"}\r
+MACRO {nov} {"novembre"}\r
+MACRO {dec} {"d\'ecembre"}\r
+\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+%%\r
+%% La suite, normalement, y a rien a changer...\r
+%%\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+\r
+INTEGERS { output.state before.all mid.sentence after.sentence after.block after.authors }\r
+\r
+FUNCTION {init.state.consts}\r
+{ #0 'before.all :=\r
+  #1 'mid.sentence :=\r
+  #2 'after.sentence :=\r
+  #3 'after.block :=\r
+  #0 'after.authors :=\r
+}\r
+\r
+STRINGS { s t }\r
+\r
+FUNCTION{ fr.add.period }{\r
+after.authors \r
+  { fr.ponctuation.apres.auteurs empty$\r
+      { add.period$ }\r
+      { fr.ponctuation.apres.auteurs * #0 'after.authors := }\r
+    if$}\r
+  { add.period$ }\r
+if$\r
+}\r
+\r
+FUNCTION {output.nonnull}\r
+{ 's :=\r
+  output.state mid.sentence =\r
+    { ", " * write$ }\r
+    { output.state after.block =\r
+        { fr.add.period write$\r
+          newline$\r
+          "\newblock " write$\r
+        }\r
+        { output.state before.all =\r
+            'write$\r
+            { add.period$ " " * write$ }\r
+          if$\r
+        }\r
+      if$\r
+      mid.sentence 'output.state :=\r
+    }\r
+  if$\r
+  s\r
+}\r
+\r
+FUNCTION {output}\r
+{ duplicate$ empty$\r
+    'pop$\r
+    'output.nonnull\r
+  if$\r
+}\r
+\r
+FUNCTION {output.check}\r
+{ 't :=\r
+  duplicate$ empty$\r
+    { pop$ "empty " t * " in " * cite$ * warning$ }\r
+    'output.nonnull\r
+  if$\r
+}\r
+\r
+FUNCTION {fin.entry}\r
+{ add.period$\r
+  write$\r
+  newline$\r
+}\r
+\r
+FUNCTION {new.block}\r
+{ output.state before.all =\r
+    'skip$\r
+    { after.block 'output.state := }\r
+  if$\r
+}\r
+\r
+FUNCTION {new.sentence}\r
+{ output.state after.block =\r
+    'skip$\r
+    { output.state before.all =\r
+        'skip$\r
+        { after.sentence 'output.state := }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {not}\r
+{   { #0 }\r
+    { #1 }\r
+  if$\r
+}\r
+\r
+FUNCTION {and}\r
+{   'skip$\r
+    { pop$ #0 }\r
+  if$\r
+}\r
+\r
+FUNCTION {or}\r
+{   { pop$ #1 }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+FUNCTION {new.block.checka}\r
+{ empty$\r
+    'skip$\r
+    'new.block\r
+  if$\r
+}\r
+\r
+FUNCTION {new.block.checkb}\r
+{ empty$\r
+  swap$ empty$\r
+  and\r
+    'skip$\r
+    'new.block\r
+  if$\r
+}\r
+\r
+FUNCTION {new.sentence.checka}\r
+{ empty$\r
+    'skip$\r
+    'new.sentence\r
+  if$\r
+}\r
+\r
+FUNCTION {new.sentence.checkb}\r
+{ empty$\r
+  swap$ empty$\r
+  and\r
+    'skip$\r
+    'new.sentence\r
+  if$\r
+}\r
+\r
+FUNCTION {field.or.null}\r
+{ duplicate$ empty$\r
+    { pop$ "" }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+FUNCTION {emphasize}\r
+{ duplicate$ empty$\r
+    { pop$ "" }\r
+    { "{\em " swap$ * "}" * }\r
+  if$\r
+}\r
+\r
+INTEGERS { nameptr namesleft numnames }\r
+\r
+FUNCTION {format.names}\r
+{ 's :=\r
+  #1 'nameptr :=\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+    { s nameptr "{ff~}{vv~}\bgroup\fonteauteurs\bgroup {ll}\egroup\egroup{{}}{, jj}" format.name$ 't :=\r
+      nameptr #1 >\r
+        { namesleft #1 >\r
+            { ", " * t * }\r
+            { %numnames #2 > \r
+              %  { "," * }\r
+              %  'skip$\r
+              %if$\r
+              t "\bgroup\fonteauteurs\bgroup others\egroup\egroup{}" =\r
+                { fr.et.al * }\r
+                { fr.and * t * }\r
+              if$\r
+            }\r
+          if$\r
+        }\r
+        't\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {format.key}\r
+{ empty$\r
+    { key field.or.null }\r
+    { "" }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.authors}\r
+{ author empty$\r
+    { "" }\r
+    { author format.names #1 'after.authors := }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.editors}\r
+{ editor empty$\r
+    { "" }\r
+    { editor format.names\r
+      editor num.names$ #1 >\r
+        { fr.editeurs * }\r
+        { fr.editeur * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.isbn}\r
+{ isbn empty$\r
+    { "" }\r
+    { new.block "ISBN " isbn * }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.issn}\r
+{ issn empty$\r
+    { "" }\r
+    { new.block "ISSN " issn * }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.url}\r
+{ url empty$\r
+    { "" }\r
+    { new.block "URL \url{" url * "}" * }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.title}\r
+{ title empty$\r
+    { "" }\r
+    { title "t" change.case$ }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.full.names}\r
+{%\r
+ % Ici, on laisse les noms en minuscules, on ne les mets pas en small caps.\r
+ %\r
+  's :=\r
+  #1 'nameptr :=\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+    { s nameptr\r
+      "{vv~}{ll}" format.name$ 't :=\r
+      nameptr #1 >\r
+        {\r
+          namesleft #1 >\r
+            { ", " * t * }\r
+            {\r
+              numnames #2 >\r
+                { "," * }\r
+                'skip$\r
+              if$\r
+              t "\bgroup\fonteauteurs\bgroup others\egroup\egroup{}" =\r
+                { fr.et.al * }\r
+                { fr.and * t * }\r
+              if$\r
+            }\r
+          if$\r
+        }\r
+        't\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {author.editor.full}\r
+{ author empty$\r
+    { editor empty$\r
+        { "" }\r
+        { editor format.full.names }\r
+      if$\r
+    }\r
+    { author format.full.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.full}\r
+{ author empty$\r
+    { "" }\r
+    { author format.full.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {editor.full}\r
+{ editor empty$\r
+    { "" }\r
+    { editor format.full.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {make.full.names}\r
+{ type$ "book" =\r
+  type$ "inbook" =\r
+  or\r
+    'author.editor.full\r
+    { type$ "proceedings" =\r
+        'editor.full\r
+        'author.full\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {output.bibitem}\r
+{ newline$\r
+  "\bibitem[" write$\r
+  label write$\r
+  ")" make.full.names duplicate$ short.list =\r
+     { pop$ }\r
+     { * }\r
+   if$\r
+  "]{" * write$\r
+  cite$ write$\r
+  "}" write$\r
+  newline$\r
+  ""\r
+  before.all 'output.state :=\r
+}\r
+\r
+FUNCTION {n.dashify}\r
+{ 't :=\r
+  ""\r
+    { t empty$ not }\r
+    { t #1 #1 substring$ "-" =\r
+        { t #1 #2 substring$ "--" = not\r
+            { "--" *\r
+              t #2 global.max$ substring$ 't :=\r
+            }\r
+            {   { t #1 #1 substring$ "-" = }\r
+                { "-" *\r
+                  t #2 global.max$ substring$ 't :=\r
+                }\r
+              while$\r
+            }\r
+          if$\r
+        }\r
+        { t #1 #1 substring$ *\r
+          t #2 global.max$ substring$ 't :=\r
+        }\r
+      if$\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {format.date}\r
+{ year duplicate$ empty$\r
+    { "empty year in " cite$ * warning$\r
+       pop$ "" }\r
+    'skip$\r
+  if$\r
+  month empty$\r
+    'skip$\r
+    { month\r
+      " " * swap$ *\r
+    }\r
+  if$\r
+  extra.label *\r
+}\r
+\r
+FUNCTION {format.btitle}\r
+{ title emphasize\r
+}\r
+\r
+FUNCTION {tie.or.space.connect}\r
+{ duplicate$ text.length$ #3 <\r
+    { "~" }\r
+    { " " }\r
+  if$\r
+  swap$ * *\r
+}\r
+\r
+FUNCTION {either.or.check}\r
+{ empty$\r
+    'pop$\r
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.bvolume}\r
+{ volume empty$\r
+    { "" }\r
+    { fr.volume volume tie.or.space.connect\r
+      series empty$\r
+        'skip$\r
+        { fr.of * series emphasize * }\r
+      if$\r
+      "volume and number" number either.or.check\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.number.series}\r
+{ volume empty$\r
+    { number empty$\r
+        { series field.or.null }\r
+        { output.state mid.sentence =\r
+            { fr.number }\r
+            { fr.number.maj }\r
+          if$\r
+          number tie.or.space.connect\r
+          series empty$\r
+            { "there's a number but no series in " cite$ * warning$ }\r
+            { fr.in.spc * series * }\r
+          if$\r
+        }\r
+      if$\r
+    }\r
+    { "" }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.edition}\r
+{ edition empty$\r
+    { "" }\r
+    { output.state mid.sentence =\r
+        { edition "l" change.case$ fr.edition * }\r
+        { edition "t" change.case$ fr.edition * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+INTEGERS { multiresult }\r
+\r
+FUNCTION {multi.page.check}\r
+{ 't :=\r
+  #0 'multiresult :=\r
+    { multiresult not\r
+      t empty$ not\r
+      and\r
+    }\r
+    { t #1 #1 substring$\r
+      duplicate$ "-" =\r
+      swap$ duplicate$ "," =\r
+      swap$ "+" =\r
+      or or\r
+        { #1 'multiresult := }\r
+        { t #2 global.max$ substring$ 't := }\r
+      if$\r
+    }\r
+  while$\r
+  multiresult\r
+}\r
+\r
+FUNCTION {format.pages}\r
+{ pages empty$\r
+    { "" }\r
+    { pages multi.page.check\r
+        { fr.pages pages n.dashify tie.or.space.connect }\r
+        { fr.page pages tie.or.space.connect }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.vol.num.pages}\r
+{ volume field.or.null\r
+  number empty$\r
+    'skip$\r
+    { "\penalty0 (" number * ")" * *\r
+      volume empty$\r
+        { "there's a number but no volume in " cite$ * warning$ }\r
+        'skip$\r
+      if$\r
+    }\r
+  if$\r
+  pages empty$\r
+    'skip$\r
+    { duplicate$ empty$\r
+        { pop$ format.pages }\r
+        { fr.deuxpoints * pages n.dashify * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.chapter.pages}\r
+{ chapter empty$\r
+    'format.pages\r
+    { type empty$\r
+        { fr.chapter }\r
+        { type "l" change.case$ }\r
+      if$\r
+      chapter tie.or.space.connect\r
+      pages empty$\r
+        'skip$\r
+        { ", " * format.pages * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.in.ed.booktitle}\r
+{ booktitle empty$\r
+    { "" }\r
+    { editor empty$\r
+       { fr.in booktitle emphasize * }\r
+       { fr.in format.editors #1 'after.authors := fr.add.period " " * * booktitle emphasize * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {empty.misc.check}\r
+{ author empty$ title empty$ howpublished empty$\r
+  month empty$ year empty$ note empty$\r
+  and and and and and\r
+  key empty$ not and\r
+    { "all relevant fields are empty in " cite$ * warning$ }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+FUNCTION {format.thesis.type}\r
+{ type empty$\r
+    'skip$\r
+    { pop$\r
+      type "t" change.case$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.tr.number}\r
+{ type empty$\r
+    { fr.tech.rep }\r
+    'type\r
+  if$\r
+  number empty$\r
+    { "t" change.case$ }\r
+    { number tie.or.space.connect }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.article.crossref}\r
+{ key empty$\r
+    { journal empty$\r
+        { "need key or journal for " cite$ * " to crossref " * crossref *\r
+          warning$\r
+          ""\r
+        }\r
+        { fr.in "{\em " * journal * "\/}" * }\r
+      if$\r
+    }\r
+    { fr.in key * }\r
+  if$\r
+  " \citep{" * crossref * "}" *\r
+}\r
+\r
+FUNCTION {format.book.crossref}\r
+{ volume empty$\r
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$\r
+      fr.in\r
+    }\r
+    { fr.volume.maj volume tie.or.space.connect\r
+      fr.of *\r
+    }\r
+  if$\r
+  editor empty$\r
+  editor field.or.null author field.or.null =\r
+  or\r
+    { key empty$\r
+        { series empty$\r
+            { "need editor, key, or series for " cite$ * " to crossref " *\r
+              crossref * warning$\r
+              "" *\r
+            }\r
+            { "{\em " * series * "\/}" * }\r
+          if$\r
+        }\r
+        { key * }\r
+      if$\r
+    }\r
+    'skip$\r
+  if$\r
+  ", \citet{" * crossref * "}" *\r
+}\r
+\r
+FUNCTION {format.incoll.inproc.crossref}\r
+{ editor empty$\r
+  editor field.or.null author field.or.null =\r
+  or\r
+    { key empty$\r
+        { booktitle empty$\r
+            { "need editor, key, or booktitle for " cite$ * " to crossref " *\r
+              crossref * warning$\r
+              ""\r
+            }\r
+            { fr.in "{\em " * booktitle * "\/}" * }\r
+          if$\r
+        }\r
+        { fr.in key * }\r
+      if$\r
+    }\r
+    { fr.in }\r
+  if$\r
+  " \citet{" * crossref * "}" *\r
+}\r
+\r
+FUNCTION {article}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  author format.key output\r
+  new.block\r
+  format.title "title" output.check\r
+  new.block\r
+  crossref missing$\r
+    { journal emphasize "journal" output.check\r
+      format.vol.num.pages output\r
+      format.date "year" output.check\r
+    }\r
+    { format.article.crossref output.nonnull\r
+      format.pages output\r
+    }\r
+  if$\r
+  format.issn output\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {book}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.editors "author and editor" output.check\r
+      editor format.key output\r
+    }\r
+    { format.authors output.nonnull\r
+      crossref missing$\r
+        { "author and editor" editor either.or.check }\r
+        'skip$\r
+      if$\r
+    }\r
+  if$\r
+  new.block\r
+  format.btitle "title" output.check\r
+  crossref missing$\r
+    { format.bvolume output\r
+      new.block\r
+      format.number.series output\r
+      new.sentence\r
+      publisher "publisher" output.check\r
+      address output\r
+    }\r
+    { new.block\r
+      format.book.crossref output.nonnull\r
+    }\r
+  if$\r
+  format.edition output\r
+  format.date "year" output.check\r
+  format.isbn output\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {booklet}\r
+{ output.bibitem\r
+  format.authors output\r
+  author format.key output\r
+  new.block\r
+  format.title "title" output.check\r
+  howpublished address new.block.checkb\r
+  howpublished output\r
+  address output\r
+  format.date output\r
+  format.isbn output\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {inbook}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.editors "author and editor" output.check\r
+      editor format.key output\r
+    }\r
+    { format.authors output.nonnull\r
+      crossref missing$\r
+        { "author and editor" editor either.or.check }\r
+        'skip$\r
+      if$\r
+    }\r
+  if$\r
+  new.block\r
+  format.btitle "title" output.check\r
+  crossref missing$\r
+    { format.bvolume output\r
+      format.chapter.pages "chapter and pages" output.check\r
+      new.block\r
+      format.number.series output\r
+      new.sentence\r
+      publisher "publisher" output.check\r
+      address output\r
+    }\r
+    { format.chapter.pages "chapter and pages" output.check\r
+      new.block\r
+      format.book.crossref output.nonnull\r
+    }\r
+  if$\r
+  format.edition output\r
+  format.date "year" output.check\r
+  format.isbn output\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {incollection}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  author format.key output\r
+  new.block\r
+  format.title "title" output.check\r
+  new.block\r
+  crossref missing$\r
+    { format.in.ed.booktitle "booktitle" output.check\r
+      format.bvolume output\r
+      format.number.series output\r
+      format.chapter.pages output\r
+      new.sentence\r
+      publisher "publisher" output.check\r
+      address output\r
+      format.edition output\r
+      format.date "year" output.check\r
+    }\r
+    { format.incoll.inproc.crossref output.nonnull\r
+      format.chapter.pages output\r
+    }\r
+  if$\r
+  format.isbn output\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {inproceedings}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  author format.key output\r
+  new.block\r
+  format.title "title" output.check\r
+  new.block\r
+  crossref missing$\r
+    { format.in.ed.booktitle "booktitle" output.check\r
+      format.bvolume output\r
+      format.number.series output\r
+      format.pages output\r
+      address empty$\r
+        { organization publisher new.sentence.checkb\r
+          organization output\r
+          publisher output\r
+          format.date "year" output.check\r
+        }\r
+        { address output.nonnull\r
+          format.date "year" output.check\r
+          new.sentence\r
+          organization output\r
+          publisher output\r
+        }\r
+      if$\r
+    }\r
+    { format.incoll.inproc.crossref output.nonnull\r
+      format.pages output\r
+    }\r
+  if$\r
+  format.isbn output\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {conference} { inproceedings }\r
+\r
+FUNCTION {manual}\r
+{ output.bibitem\r
+  format.authors output\r
+  author format.key output\r
+  new.block\r
+  format.btitle "title" output.check\r
+  organization address new.block.checkb\r
+  organization output\r
+  address output\r
+  format.edition output\r
+  format.date output\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {mastersthesis}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  author format.key output\r
+  new.block\r
+  format.title "title" output.check\r
+  new.block\r
+  fr.master format.thesis.type output.nonnull\r
+  school "school" output.check\r
+  address output\r
+  format.date "year" output.check\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {misc}\r
+{ output.bibitem\r
+  format.authors output\r
+  author format.key output\r
+  title howpublished new.block.checkb\r
+  format.title output\r
+  howpublished new.block.checka\r
+  howpublished output\r
+  format.date output\r
+  format.issn output\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+  empty.misc.check\r
+}\r
+\r
+FUNCTION {phdthesis}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  author format.key output\r
+  new.block\r
+  format.btitle "title" output.check\r
+  new.block\r
+  fr.phd format.thesis.type output.nonnull\r
+  school "school" output.check\r
+  address output\r
+  format.date "year" output.check\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {proceedings}\r
+{ output.bibitem\r
+  format.editors output\r
+  editor format.key output\r
+  new.block\r
+  format.btitle "title" output.check\r
+  format.bvolume output\r
+  format.number.series output\r
+  address output\r
+  format.date "year" output.check\r
+  new.sentence\r
+  organization output\r
+  publisher output\r
+  format.isbn output\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {techreport}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  author format.key output\r
+  new.block\r
+  format.title "title" output.check\r
+  new.block\r
+  format.tr.number output.nonnull\r
+  institution "institution" output.check\r
+  address output\r
+  format.date "year" output.check\r
+  format.url output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {unpublished}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  author format.key output\r
+  new.block\r
+  format.title "title" output.check\r
+  format.url output\r
+  new.block\r
+  note "note" output.check\r
+  format.date output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {default.type} { misc }\r
+\r
+MACRO {acmcs} {"ACM Computing Surveys"}\r
+MACRO {acta} {"Acta Informatica"}\r
+MACRO {cacm} {"Communications of the ACM"}\r
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}\r
+MACRO {ibmsj} {"IBM Systems Journal"}\r
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}\r
+MACRO {ieeetc} {"IEEE Transactions on Computers"}\r
+MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}\r
+MACRO {ipl} {"Information Processing Letters"}\r
+MACRO {jacm} {"Journal of the ACM"}\r
+MACRO {jcss} {"Journal of Computer and System Sciences"}\r
+MACRO {scp} {"Science of Computer Programming"}\r
+MACRO {sicomp} {"SIAM Journal on Computing"}\r
+MACRO {tocs} {"ACM Transactions on Computer Systems"}\r
+MACRO {tods} {"ACM Transactions on Database Systems"}\r
+MACRO {tog} {"ACM Transactions on Graphics"}\r
+MACRO {toms} {"ACM Transactions on Mathematical Software"}\r
+MACRO {toois} {"ACM Transactions on Office Information Systems"}\r
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}\r
+MACRO {tcs} {"Theoretical Computer Science"}\r
+\r
+\r
+READ\r
+\r
+FUNCTION {sortify}\r
+{ purify$\r
+  "l" change.case$\r
+}\r
+\r
+INTEGERS { len }\r
+\r
+FUNCTION {chop.word}\r
+{ 's :=\r
+  'len :=\r
+  s #1 len substring$ =\r
+    { s len #1 + global.max$ substring$ }\r
+    's\r
+  if$\r
+}\r
+\r
+FUNCTION {format.lab.names}\r
+%\r
+% Ici, on laisse les noms en minuscules, on ne les mets pas \r
+% en small caps.\r
+%\r
+{ 's :=\r
+  s #1 "{vv~}{ll}" format.name$\r
+  s num.names$ duplicate$\r
+  #2 >\r
+    { pop$ fr.et.al * }\r
+    { #2 <\r
+        'skip$\r
+        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =\r
+            { fr.et.al * }\r
+            { fr.and * s #2 "{vv~}{ll}" format.name$ * }\r
+          if$\r
+        }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.key.label}\r
+{ author empty$\r
+    { key empty$\r
+        { cite$ #1 #3 substring$ }\r
+        'key\r
+      if$\r
+    }\r
+    { author format.lab.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.editor.key.label}\r
+{ author empty$\r
+    { editor empty$\r
+        { key empty$\r
+            { cite$ #1 #3 substring$ }\r
+            'key\r
+          if$\r
+        }\r
+        { editor format.lab.names }\r
+      if$\r
+    }\r
+    { author format.lab.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.key.organization.label}\r
+{ author empty$\r
+    { key empty$\r
+        { organization empty$\r
+            { cite$ #1 #3 substring$ }\r
+            { "Le " #3\r
+              "La " #3\r
+               "Les " #4 \r
+                "The " #4 organization chop.word\r
+               chop.word\r
+              chop.word\r
+             chop.word\r
+             #3 text.prefix$ }\r
+          if$\r
+        }\r
+        'key\r
+      if$\r
+    }\r
+    { author format.lab.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {editor.key.organization.label}\r
+{ editor empty$\r
+    { key empty$\r
+        { organization empty$\r
+            { cite$ #1 #3 substring$ }\r
+            { "Le " #3\r
+               "La " #3\r
+                "Les " #4\r
+                "The " #4 organization chop.word \r
+               chop.word\r
+              chop.word\r
+             chop.word\r
+             #3 text.prefix$ }\r
+          if$\r
+        }\r
+        'key\r
+      if$\r
+    }\r
+    { editor format.lab.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {calc.short.authors}\r
+{ type$ "book" =\r
+  type$ "inbook" =\r
+  or\r
+    'author.editor.key.label\r
+    { type$ "proceedings" =\r
+        'editor.key.organization.label\r
+        { type$ "manual" =\r
+            'author.key.organization.label\r
+            'author.key.label\r
+          if$\r
+        }\r
+      if$\r
+    }\r
+  if$\r
+  'short.list :=\r
+}\r
+\r
+FUNCTION {calc.label}\r
+{ calc.short.authors\r
+  short.list\r
+  "("\r
+  *\r
+  year duplicate$ empty$\r
+  short.list key field.or.null = or\r
+     { pop$ "" }\r
+     'skip$\r
+  if$\r
+  *\r
+  'label :=\r
+}\r
+\r
+FUNCTION {sort.format.names}\r
+{ 's :=\r
+  #1 'nameptr :=\r
+  ""\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+    { nameptr #1 >\r
+        { "   " * }\r
+        'skip$\r
+      if$\r
+      s nameptr "{vv{ } }{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 't :=\r
+      nameptr numnames = t "others" = and\r
+        { fr.et.al * }  %% sera "purify"e ensuite...\r
+        { t sortify * }\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {sort.format.title}\r
+{ 't :=\r
+  "Un " #3\r
+   "Une " #4\r
+    "Des " #4\r
+     "Le " #3\r
+      "La " #3\r
+       "Les " #4\r
+        "A " #2\r
+         "An " #3\r
+          "The " #4 t chop.word\r
+         chop.word\r
+        chop.word\r
+       chop.word\r
+      chop.word\r
+     chop.word\r
+    chop.word\r
+   chop.word\r
+  chop.word\r
+  sortify\r
+  #1 global.max$ substring$\r
+}\r
+\r
+FUNCTION {author.sort}\r
+{ author empty$\r
+    { key empty$\r
+        { "to sort, need author or key in " cite$ * warning$\r
+          ""\r
+        }\r
+        { key sortify }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.editor.sort}\r
+{ author empty$\r
+    { editor empty$\r
+        { key empty$\r
+            { "to sort, need author, editor, or key in " cite$ * warning$\r
+              ""\r
+            }\r
+            { key sortify }\r
+          if$\r
+        }\r
+        { editor sort.format.names }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.organization.sort}\r
+{ author empty$\r
+    { organization empty$\r
+        { key empty$\r
+            { "to sort, need author, organization, or key in " cite$ * warning$\r
+              ""\r
+            }\r
+            { key sortify }\r
+          if$\r
+        }\r
+        { "Le " #3 \r
+           "La " #3 \r
+             "Les " #4 \r
+               "The " #4 organization chop.word \r
+             chop.word \r
+           chop.word \r
+         chop.word\r
+         sortify }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {editor.organization.sort}\r
+{ editor empty$\r
+    { organization empty$\r
+        { key empty$\r
+            { "to sort, need editor, organization, or key in " cite$ * warning$\r
+              ""\r
+            }\r
+            { key sortify }\r
+          if$\r
+        }\r
+        { "Le " #3 \r
+           "La " #3 \r
+             "Les " #4  \r
+               "The " #4 organization chop.word \r
+              chop.word \r
+           chop.word \r
+         chop.word\r
+         sortify }\r
+      if$\r
+    }\r
+    { editor sort.format.names }\r
+  if$\r
+}\r
+\r
+INTEGERS { seq.num }\r
+\r
+FUNCTION {init.seq}\r
+{ #0 'seq.num :=}\r
+\r
+EXECUTE {init.seq}\r
+\r
+FUNCTION {int.to.fix}\r
+{ \r
+  "000000000" swap$ int.to.str$ *\r
+  #-1 #10 substring$\r
+}\r
+\r
+\r
+FUNCTION {presort}\r
+{ calc.label\r
+  label sortify\r
+  "    "\r
+  *\r
+  seq.num #1 + 'seq.num :=\r
+  seq.num  int.to.fix\r
+  'sort.label :=\r
+  sort.label *\r
+  #1 entry.max$ substring$\r
+  'sort.key$ :=\r
+}\r
+\r
+ITERATE {presort}\r
+\r
+SORT\r
+\r
+STRINGS { longest.label last.label next.extra }\r
+\r
+INTEGERS { longest.label.width last.extra.num number.label }\r
+\r
+FUNCTION {initialize.longest.label}\r
+{ "" 'longest.label :=\r
+  #0 int.to.chr$ 'last.label :=\r
+  "" 'next.extra :=\r
+  #0 'longest.label.width :=\r
+  #0 'last.extra.num :=\r
+  #0 'number.label :=\r
+}\r
+\r
+FUNCTION {forward.pass}\r
+{ last.label label =\r
+    { last.extra.num #1 + 'last.extra.num :=\r
+      last.extra.num int.to.chr$ 'extra.label :=\r
+    }\r
+    { "a" chr.to.int$ 'last.extra.num :=\r
+      "" 'extra.label :=\r
+      label 'last.label :=\r
+    }\r
+  if$\r
+  number.label #1 + 'number.label :=\r
+}\r
+\r
+FUNCTION {reverse.pass}\r
+{ next.extra "b" =\r
+    { "a" 'extra.label := }\r
+    'skip$\r
+  if$\r
+  extra.label 'next.extra :=\r
+  extra.label\r
+  duplicate$ empty$\r
+    'skip$\r
+    { "{\natexlab{" swap$ * "}}" * }\r
+  if$\r
+  'extra.label :=\r
+  label extra.label * 'label :=\r
+}\r
+\r
+EXECUTE {initialize.longest.label}\r
+\r
+ITERATE {forward.pass}\r
+\r
+REVERSE {reverse.pass}\r
+\r
+FUNCTION {bib.sort.order}\r
+{ sort.label  'sort.key$ :=\r
+}\r
+\r
+ITERATE {bib.sort.order}\r
+\r
+SORT\r
+\r
+FUNCTION {begin.bib}\r
+{   preamble$ empty$\r
+    'skip$\r
+    { preamble$ write$ newline$ }\r
+  if$\r
+  "\begin{thebibliography}{" number.label int.to.str$ * "}" *\r
+  write$ newline$\r
+  "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"\r
+  write$ newline$\r
+  "\expandafter\ifx\csname fonteauteurs\endcsname\relax" \r
+    write$ newline$\r
+  "\def\fonteauteurs{" fr.auteurs.style * "}\fi" * write$ newline$ \r
+  "\expandafter\ifx\csname url\endcsname\relax" write$ newline$\r
+  "  \def\url#1{{\tt #1}}% " write$ newline$\r
+  "    \message{You should include the url package}\fi" write$ newline$\r
+}\r
+\r
+EXECUTE {begin.bib}\r
+\r
+EXECUTE {init.state.consts}\r
+\r
+ITERATE {call.type$}\r
+\r
+FUNCTION {end.bib}\r
+{ newline$\r
+  "\end{thebibliography}" write$ newline$\r
+}\r
+\r
+EXECUTE {end.bib}\r