%% Copyright 2012 Renater % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % 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.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Matthieu Herrb % % This work consists of the files jres.cls and article.tex % \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ttnn}[2012/12/10 v1.3 TTNN document class] % Derive de la classe article \DeclareOption {10pt} {\PassOptionsToClass {10pt} {article}} \DeclareOption {11pt} {\PassOptionsToClass {11pt} {article}} \DeclareOption {12pt} {\PassOptionsToClass {12pt} {article}} \DeclareOption {draft} {\PassOptionsToClass {draft} {article}} \DeclareOption {final} {\PassOptionsToClass {final} {article}} \DeclareOption* {\OptionNotUsed} % don't forward unknown options \ProcessOptions \LoadClass{article} \RequirePackage{hyperref} % % Le nom de l'auteur \def\@jresconf{Tetaneutral.net} % % % Polices... % XeTeX ou LuaTeX permettent facilement de choisir les polices système % Donc on essaye de forcer la main à l'utilisateur pour qu'il l'utilise.. % % D'abord il faut trouver ifxetex.sty ou l'émuler \newif\ifm@mifxetex \m@mifxetexfalse \IfFileExists{ifxetex.sty}{\RequirePackage{ifxetex}}{% \ClassWarningNoLine{ttnn}{% The `ifxetex' package is not installed.\MessageBreak The package is being emulated}% \expandafter\newif\csname ifxetex\endcsname \@ifundefined{XeTeXrevision}{\xetexfalse}{\xetextrue} \m@mifxetextrue% } \newif\ifm@mifluatex \m@mifluatexfalse \IfFileExists{ifluatex.sty}{\RequirePackage{ifluatex}}{% \ClassWarningNoLine{ttnn}{% The `ifluatex' pagckage is not installed.\MessageBreak The package is being emulated}% \expandafter\newif\csname ifluatex\endcsname \@ifundefined{luatexversion}{\luatexfalse}{\luatextrue} \m@mifluatextrue% } % configuration des fontes proprement dites \ifxetex % avec xetex c'est le mieux, le mapping tex-text permet de faire les césures \RequirePackage{fontspec} \setmainfont[Mapping=tex-text]{Times New Roman} \setsansfont[Mapping=tex-text]{Arial} \setmonofont[Mapping=tex-text]{Courier New} \else \ifluatex \RequirePackage{fontspec} % luatex ne supporte pas encore le mapping tex-text \setmainfont{Times New Roman} \setsansfont{Arial} \setmonofont{Courier New} \else % si c'est pdflatex qui est utilisé, on revient aux paquets PSNFSS existants \RequirePackage{amsmath} \RequirePackage[T1]{fontenc} \RequirePackage{txfonts} \fi \fi % Titres en sans-serif + couleur \RequirePackage{xcolor} \definecolor{jresblue}{rgb}{0.,0.2,0.375} % correspond à 0,32,96 du modèle word \RequirePackage{sectsty} \allsectionsfont{\sffamily\color{jresblue}} % % Interligne \RequirePackage{setspace} \setstretch{1.1} % Règles typographiques Françaises... \ifxetex \RequirePackage{polyglossia} \setdefaultlanguage{french} \setotherlanguage{english} \else \RequirePackage[english,french]{babel} \frenchbsetup{ReduceListSpacing=true} \fi % % Papier A4 + Marges \RequirePackage[paper=a4paper,top=3cm,bottom=3cm,left=4cm,right=4cm]{geometry} % % liste des auteurs \RequirePackage{datatool} \DTLnewdb{auteurs} \newcommand{\auteur}[1]{% \DTLnewrow{auteurs}% \DTLnewdbentry{auteurs}{nom}{#1}% %\DTLnewdbentry{auteurs}{affiliation}{#2}% %\DTLnewdbentry{auteurs}{adresse}{#3}% } % Présentation du titre \def\@maketitle{% \hypersetup{pdftitle=\@title} \newpage \begin{center}% \let \footnote \thanks {\huge\bfseries\sffamily\color{jresblue} \@title \par}% {\Large\sffamily\color{jresblue} \lineskip .5em% \begin{tabular}[t]{c}% \@author \end{tabular}\par}% \vskip 1em% {\large\sffamily\color{jresblue} \@date}% \par \end{center}% \vskip 1.5em } % Date vide \date{} % \renewenvironment{abstract}{% \vskip 10pt \noindent \begin{itshape}}% {\end{itshape}\par} % \newcommand{\motscles}[1]{% \vskip 18pt \noindent% {\Large\sffamily\color{jresblue}\textbf{Mots clefs}}% \par\begin{itshape}#1\end{itshape}} % % Format paragraphe \setlength{\parindent}{0cm} \setlength{\parskip}{0.7ex plus 0.5ex minus 0.2ex} % % Les entêtes et pieds de page \RequirePackage{fancyhdr} \RequirePackage{lastpage} % pour la 1ere page \fancypagestyle{plain}{ \fancyhf{} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0.1pt} \lfoot{\itshape\color{grey37}\@jresconf} \cfoot{\itshape\color{grey37}} \rfoot{\itshape\color{grey37}\thepage/\pageref*{LastPage}} } % les autres pages \fancyhf{} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0.1pt} \lfoot{\itshape\color{grey37}\@jresconf} \cfoot{} \rfoot{\itshape\color{grey37}\thepage/\pageref*{LastPage}} \pagestyle{fancy} % filet gris également \def\footrule{{\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi \vskip-\footruleskip\vskip-\footrulewidth \color{grey37}\hrule\@width\headwidth\@height\footrulewidth\vskip\footruleskip}} % % Listes a puces \def\blackbox{\vrule height .95ex width .7ex depth -.25ex}% \renewcommand{\labelitemi}{\blackbox\hspace{6pt}} \renewcommand{\labelitemii}{\blackbox\hspace{4pt}} % % Enumerations \renewcommand{\labelenumii}{\theenumii.} % % Configuration de listings \RequirePackage{listings} \definecolor{grey37}{gray}{.375} \definecolor{grey80}{gray}{.8} \definecolor{grey90}{gray}{.9} \lstset{backgroundcolor=\color{grey90}} \lstset{basicstyle=\small\ttfamily} \lstset{frame=single,framesep=1em,xleftmargin=1em,xrightmargin=1em} \newenvironment{codesource}% {\begin{lstlisting}}% {\end{lstlisting}\vskip 1ex} % % style urls \urlstyle{same} \hypersetup{colorlinks, urlcolor=jresblue, linkcolor=black, filecolor=black, citecolor=black} % % Figures \RequirePackage{graphicx} % Titre en italique... \long\def\@caption#1[#2]#3{% \par \addcontentsline{\csname ext@#1\endcsname}{#1}% {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}% \begingroup \@parboxrestore \if@minipage \@setminipage \fi \normalsize \@makecaption{\itshape\csname fnum@#1\endcsname}{\ignorespaces \itshape #3}\par \endgroup} % Pas de small caps pour les labels de Figure ou Tableau \addto\captionsfrench{\def\figurename{Figure}} \addto\captionsfrench{\def\tablename{Tableau}} % la commande ci-dessous ne marche pas avec pdflatex % \addto\captionsfrench{\def\CaptionSeparator{-}} % donc redefinit \@makecaption pour imposer '-' comme separateur \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \sbox\@tempboxa{#1 - #2}% \ifdim \wd\@tempboxa >\hsize #1\space{}- #2\par \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} % % Bibliographie % redéfinition de l'environnement pour ajouter un \labelsep de 1.5em pour être % cohérent avec le modèle de présentation ISO de la biblio de Word. \newenvironment{ttnnbibliography}[1] {\section*{\refname}% \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \labelsep1.5em \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} \addto\captionsfrench{\def\refname{Bibliographie}} \bibliographystyle{ttnn}