Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • ines.fonquernie/polytechnique
  • julien.griffon/polytechnique
  • typographix/polytechnique
  • stanislas.radziszewski/polytechnique
  • mael.madon/polytechnique
  • ghada.ben-slama/polytechnique
  • bbrman/polytechnique
  • amadou.dieye/polytechnique
  • william.lenglet/polytechnique
  • soukaina.bruneau/polytechnique
10 results
Show changes
Commits on Source (104)
Showing
with 5199 additions and 255 deletions
*.aux
*.glo
*.hd
*.idx
*.log
*.out
*.out
*.toc
*.fdb_latexmk
*.fls
#global variables
variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
stages:
- ship
- test
test:
stage: test
image: $IMAGE_TAG
script:
- cd source
- latex polytechnique.ins
- latexmk -pdf polytechnique.dtx
- cp * ../guide/
- cd ../guide
- latexmk -pdf installation.tex
artifacts:
paths:
- "source/polytechnique.sty"
- "source/polytechnique.pdf"
- "guide/installation.pdf"
ship:docker:
stage: ship
image: docker:stable
services:
- docker:dind
cache: {}
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
# For disabling TLS in docker-in-docker (not needed)
DOCKER_TLS_CERTDIR: ''
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build --pull -t $IMAGE_TAG .
- docker push $IMAGE_TAG
2022 Copyright Thomas Fourier
2022 Copyright Antoine Bak
2020 Copyright Alexis Roger
2019-2020 Copyright Sosthène Guédon
2020 Copyright Louis Cousturian
2019 Copyright Olivér Facklam
2019 Copyright Hadrien Renaud
2019 Copyright Mael Madon
2016-2019 Copyright Clément Durand
2018 Copyright Wilson Jallet
2018 Copyright Guangshuo Chen
2015-2016 Copyright Denis Merigoux
FROM debian:latest
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -q \
&& apt-get install -qy build-essential wget libfontconfig1 rsync \
&& rm -rf /var/lib/apt/lists/*
# Install TexLive with scheme-basic
RUN wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz; \
mkdir /install-tl-unx; \
tar -xvf install-tl-unx.tar.gz -C /install-tl-unx --strip-components=1; \
echo "selected_scheme scheme-basic" >> /install-tl-unx/texlive.profile; \
/install-tl-unx/install-tl -profile /install-tl-unx/texlive.profile; \
rm -r /install-tl-unx; \
rm install-tl-unx.tar.gz
ENV PATH="/usr/local/texlive/2024/bin/x86_64-linux:${PATH}"
RUN . /etc/profile
WORKDIR /data
# Install latex packages
RUN tlmgr install latexmk babel-french csquotes xcolor titlesec lastpage hypdoc
VOLUME ["/data"]
COPY source ./source
COPY install ./install
RUN cd install; ./unix.sh
Copyright (C) 2015 i by Denis Merigoux
This file may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
version 1.3c 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.3c or later is part of all distributions of
LaTeX version 1999/12/01 or later.
# polytechnique-LaTeX
Code for the LaTeX package of École polytechnique
Code du package LaTeX de l'École polytechnique.
Pour l'installation de LaTeX et du paquet, tout est détaillé dans guide/installation.pdf. Télécharge le repository, et lis ce guide pour tout comprendre de l'installation.
## Test
Vous pouvez essayer le code sur l'exemple du guide :
```bash
cd guide/
pdflatex installation.tex
```
## Pour Overleaf
Rends toi sur [le site typographix](https://typographix.binets.fr/help/?hl=fr) pour télécharger le patron, et l'utiliser avec overleaf.
File added
\documentclass[a4paper,12pt,twoside]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage{url,csquotes}
\usepackage[hidelinks,hyperfootnotes=false]{hyperref}
\usepackage[titlepage,fancysections,pagenumber, oneside]{polytechnique}
\title{De la mise en page à l'École}
\subtitle{Petit guide à l'installation de \textrm{\LaTeX}\\et du package \textup{\texttt{polytechnique v1.3.9}}}
\author{Denis \textsc{Merigoux}, Sosthène \textsc{Guédon}, \textsc{Oliver Facklam}}
\logo{logo.pdf}
\begin{document}
\maketitle
\section{Introduction}
Le binet TypographiX, refondé par la promotion X2013 pendant son tronc commun, s'est donné pour objectif de faciliter pour les élèves la création de documents respectant la nouvelle charte graphique de l'École, tout en développant l'usage du moteur typographique \LaTeX.
En collaboration avec la Direction de la communication, le binet est fier de vous présenter le package \texttt{polytechnique}, qui met en page automatiquement le document \LaTeX{} qui l'inclut avec une présentation soignée reprenant les logotypes de l'X et les codes de la charte graphique.
Ce document a pour objet de documenter l'utilisation de ce package mais avant tout de donner aux élèves la procédure nécessaire à l'installation de \LaTeX{} et l'inclusion de ce package dans leur documents. Pour ce qui est de l'utilisation du logiciel et de la marche à suivre pour produire son premier document, on pourra se référer avec profit à la \textbf{page LaTeX du WikiX} ou à d'autres tutoriels en ligne.
\section{Installation de \rmfamily{\LaTeX}}
\LaTeX est un logiciel libre et il en existe de multiples distributions, ainsi les solutions que je présente par la suite ne sont pas uniques. Néanmoins elles ont l'avantage de marcher...
\subsection{Windows}
\begin{enumerate}
\item Télécharge la dernière version de MiKTeX sur \url{http://miktex.org/download}.
\item Lance l'installation. \textbf{Attention !} Lorsqu'un menu déroulant te propose de choisir pour \emph{Install missing packages on-the-fly}, clique sur \emph{Yes} et non pas \emph{Ask me first} comme sélectionné par défaut.
\item Une fois l'installation terminée, lance le programme \emph{MiKTeX Console}. Choisis \emph{Switch to MiKTeX administrator mode}
\item Va dans l'onglet \emph{Updates} puis clique sur le bouton \emph{Check for updates}. Quand la liste apparaît, lance la mise à jour des packages avec \emph{Update now}.
\item Ouvre le menu déroulant \emph{Tasks} puis clique sur \emph{Refresh File Name Database}. Il faudra répéter cette dernière opération à chaque fois que vous installerez de nouveaux packages.
\end{enumerate}
Il faut ensuite installer un éditeur de code source, par exemple TeXmaker qui est disponible sur toutes les plate-formes.
\subsection{Macintosh}
Il suffit de télécharger et d'installer MacTeX depuis \url{https://tug.org/mactex/}.
Il faut ensuite installer un éditeur de code source, par exemple TeXmaker qui est disponible sur toutes les plate-formes.
\subsection{GNU/Linux}
Tu as deux possibilités, tu peux installer ta distribution \texttt{texlive} depuis un gestionnaire de paquets (la plupart le proposent, en particulier \texttt{apt}). Cependant, ils ont souvent plusieurs versions de retard, ce qui peut poser des problèmes sur l'installation de paquets supplémentaires. C'est pourquoi nous conseillons plutôt de l'installer via le script d'installation disponible ici : \url{https://www.tug.org/texlive/quickinstall.html}. Tu auras besoin d'installer \texttt{perl}, qui est présent sur tous les gestionnaires de paquets. Tu peux ensuite installer \texttt{texlive} en suivant le guide. Nous conseillons d'utiliser l'interface graphique en remplaçant à l'étape 5 du guide \texttt{--no-interaction} par \texttt{--gui}, ou si tu est un méga-chad, tu peux le faire tourner sans argument (ce n'est vraiment pas pratique).
Il existe d'excellents éditeurs \LaTeX sous GNU/Linux, par exemple Kile (pour KDE), TeXmaker… Il existe même des extensions pour VSCod.e.ium, ou Atom. Si tu veux te lançer un challenge, \texttt{vim} fonctionne aussi. Pour information, j'édite ces quelques mots sur TeXstudio.
\section{Installation du package}
\subsection{Prérequis}
\subsubsection{Packages requis}
Pour que le package puisse fonctionner, il faut que ta distribution LaTeX contienne les packages suivants : \texttt{ifthen}, \texttt{ifpdf}, \texttt{titlesec}, \texttt{graphicx}, \texttt{geometry}, \texttt{calc}, \texttt{lmodern} et \texttt{color}.
La plupart sont présents par défaut dans les installations standards mais si vous avez à la compilation une erreur du type \verb|Error : file titlesec.sty not found|, c'est que tu n'as pas installé le package \texttt{titlesec}.
\subsubsection{Installer les packages manquants}
La méthode décrite ici est générale et s'applique à chaque fois qu'il faut installer un package manquant.
\paragraph{Windows} Dans tous les programmes (ou \emph{via} la fonction rechercher dans Windows 8) lancer l'utilitaire \emph{Package Manager (Admin)}. La liste des packages LaTeX disponibles se charge après un temps de latence.
Sélectionne le ou les packages à installer dans la liste (tu peux rechercher leur nom) et clique sur le petit \texttt{+} en haut à droite. L'installation devrait se lancer normalement. Enfin, lance l'utilitaire \emph{Settings (Admin)} depuis \emph{Tous les programmes} et clique sur \emph{Refresh FNDB}.
\paragraph{Mac} Pour mettre à jour ou installer des packages, il faut utiliser l'application \emph{Tex Live utility}, dont un tutoriel en français très bien fourni est disponible à l'adresse suivante : \url{http://www.cuk.ch/articles/4466}. Voici des instructions succintes : dans le dossier \emph{Applications/TeX}, lancer l'utilitaire \emph{TeX Live Utility}. Dans l'onglet \emph{Manage Packages}, sélectionner le package à installer et cliquer sur le bouton \emph{Install}.
\paragraph{Linux} Dans un terminal, exécuter la commande :
\begin{verbatim}
tlmgr install <nom du package>
\end{verbatim}
Cette commande peut fonctionner, si les dieux du \LaTeX le veulent bien, et c'est rarement le cas si tu as installé texlive par ton gestionnaire de paquets. Pour ne pas avoir de problème, l'installation par le script d'installation fonctionne souvent. La version texlive-full contient tous les paquets, tu n'auras besoin d'installer aucune dépendance supplémentaire.
\subsection{Installation du package \texttt{polytechnique}}
\subsubsection{Méthode automatique}
\paragraph{Avertissement :} Les scripts maison que nous avons écrit ne fonctionnent pas toujours. En particulier, ils n'ont pas été beaucoup testés sur \texttt{windows}.
Extraire le dossier \texttt{polytechnique-LaTeX} à la racine de l'archive quelque part sur ton ordinateur. Entrer dans le dossier et effectuer l'action suivante :
\begin{description}
\item[Windows] va dans le dossier install et clique droit sur \texttt{windows.bat} pour exécuter le script en tant qu'administrateur.
\item[Linux ou Mac] Tu auras besoin d'installer \texttt{rsync}. Ouvres un terminal dans le dossier et y entre la commande
\begin{verbatim}
install/unix.sh
\end{verbatim}
\end{description}
Après exécution du script, le message affiché sur la console devrait être :
\begin{verbatim}
> Installing source files...
> Updating database...
DONE !
\end{verbatim}
Si ce message ne s'affiche pas ou si l'installation semble ne pas fonctionner quand tu essayes d'utiliser le package, se reporte-toi à la méthode manuelle.
\subsubsection{Méthode manuelle}
Il faut chercher où se trouve le répertoire de ton installation LaTeX. Pour cela (et quelque soit ton système d'exploitation), ouvre une ligne de commandes et tape :
\begin{verbatim}
kpsewhich -var-value TEXMFMAIN
\end{verbatim}
Rends-toi alors dans le répertoire indiqué que l'on nommera par la suite \emph{INSTALL}. Dans une autre fenêtre de ton explorateur de fichiers, extrais l'archive téléchargée et ouvre le dossier \emph{source}. Il suffit ensuite de copier tous les fichiers \texttt{.pdf}, \texttt{.eps} et \texttt{polytechnique.sty} vers le dossier \emph{INSTALL/tex/latex/polytechnique}.
Il te faut enfin mettre à jour la la liste de package de ta distribution. Pour Linux, ouvre un terminal et entre \texttt{sudo texhash}. Pour Mac, ouvre un terminal et entre \texttt{sudo mktexlsr}. Pour Windows, lance \emph{MiKTeX Console} et clique sur \emph{Tasks > Refresh file name database}.
De cette manière, l'installation n'est pas complète mais le package marchera très bien en utilisation. Il te manquera par contre les fichiers source commentés si tu veux le modifier.
\subsection{Documentation}
La documentation du package est le fichier \texttt{polytechnique.pdf} qui se trouve entre autres dans le dossier \emph{source} de l'archive extraite.
\section{Utilisation sans installation (overleaf par exemple)}
Tu peux utiliser le package sans l'installer, pour cela, rien de plus simple, rends toi sur \href{https://typographix.binets.fr/help/}{le site de typographix}, télécharge le patron, extrais le .zip, dans le dossier, tu peux modifier, puis compiler le \texttt{main.tex}.
\end{document}
File added
polytechnique.dtx
polytechnique.ins
\ No newline at end of file
#!/bin/bash
#cd "$(readlink -m "$0/../../")" # chdir to the root directory of the package archive
if pdflatex --version &>> /dev/null ; then
echo "begening installation"
else
echo -e "\033[0;31m ERROR"
echo "Make sure that your texlive installation is complete and working"
exit 1
fi
cd $(dirname $0)
cd ..
TEXMFLOCALS="$(kpsewhich -var-value TEXMFLOCAL)"
IFS=':' TEXMFLOCALTOKENS=( $TEXMFLOCALS )
TEXMFLOCAL="${TEXMFLOCALTOKENS[0]}" #Sometimes TEXMFLOCAL is the concatenation of multiple paths, we choose the first
PACKAGE="$TEXMFLOCAL/tex/latex/polytechnique/"
PERMS="Dg+s,ug+w,o-w,+X,+r"
mkdir -p "$PACKAGE"
printf "%s> Installing source files...%s\n" "$(tput setaf 2)" "$(tput sgr0)"
rsync --recursive --exclude-from=install/.exclude --delete-excluded --chmod=$PERMS source/ $PACKAGE/
printf "%s> Updating database...%s\n" "$(tput setaf 2)" "$(tput sgr0)"
{ texhash || mktexlsr; } >/dev/null
printf "%sDONE !%s\n" "$(tput setaf 2)" "$(tput sgr0)"
@ECHO OFF
CD ..
FOR /F %%i IN ('kpsewhich -var-value TEXMFLOCAL') DO SET TEXMFLOCAL=%%i
SET PACKAGEFOLDER=%TEXMFLOCAL%/tex/latex/beamerx
SET FONTSFOLDER=%TEXMFLOCAL%/fonts
XCOPY "source" "%PACKAGEFOLDER%" /S /I /R /Y
texhash
PAUSE
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{polytechnique}[2015/01/29 v1.1, standard scientific documents layout for Ecole polytechnique.]
%=======================================================================================
%Petit historique de la creation du package
%=======================================================================================
%Le binet TypographiX a ete refonde par la promotion 2013 durant son tronc commun, et parmi
%ses projets se trouvait celui de faciliter la vie des eleves pour rediger leurs rapports
%en tout genre. Ainsi est venue l'idee d'un package polytechnique qui donnerait une mise en
%page adaptee a la nouvelle charte graphique de l'X cles en main. La maquette des pages et
%surtout de la page de couverture a ete faire par une Mme Gaela Riou, infographiste de la
%DIRCOM de l'X. L'auteur de ce package est Denis MERIGOUX et il a ete code fin janvier 2015.
%=======================================================================================
%Declaration des options.
%Le code qui s'y trouve est execute plus tard (toutes les commandes ont deja ete definies)
%=======================================================================================
\DeclareOption{a4paper}{%Passe l'option a4paper declaree au package geometry pour action
\PassOptionsToPackage{a4paper}{geometry}
}
\DeclareOption{fancysections}{%Si activee, modifie le formatage des titres de section et sous-sections.
\AtEndOfPackage{%Voir la documentation du package titlesec pour plus d'explications
\titleformat{\chapter}[display]{\Huge\bfseries\sffamily}{\LARGE\chaptertitlename{} \thechapter}{0em}{}[]
\titleformat{\section}[display]{\color{rouge485}\LARGE\bfseries\sffamily\filcenter}{\thesection}{0em}{\MakeUppercase}[
\vspace*{-0.5\baselineskip}\includegraphics{\polyfiletlongrouge}
]
\titleformat{\subsection}[hang]{\color{bleu315}\Large\scshape}{\thesubsection}{0.5em}{}[
\vspace*{-0.3\baselineskip}\includegraphics{\polyfiletcourtbleuclair}
]
\titleformat{\subsubsection}[block]{\color{bleu303}\large\scshape}{\thesubsubsection}{0.5em}{\textbullet{} }[]
}
}
\DeclareOption{shorttitle}{%Option activee par defaut, titre avec logo vertical sur 1/2 page
\AtBeginDocument{
\renewcommand*{\maketitle}{
\thispagestyle{plain}
\vspace*{\distancetitrelogo}
%Bloc de gauche (auteurs)
\noindent
\begin{minipage}[b]{\largeurminipage}\polyauthorsave\end{minipage}%La minipage permet les sauts de ligne pour avoir plusieurs auteurs
\hspace*{\fill}
%Centre (logo)
\includegraphics[width=\largeurlogovert]{\polylogovert}\hspace*{\fill}
%Bloc de droite (date)
\begin{minipage}[b]{\largeurminipage}\flushright\polydatesave\end{minipage}%Idem ci-dessus
\\[\separationlogotrait]
%Deux filets horizontaux, le titre et le sous-titre sont au milieu
\begin{center}
\textcolor{bleu303}{\rule{\textwidth}{\epaisseurtrait}}
\\\color{bleu303}\Huge\scshape\MakeUppercaseWithNewline{\polytitresave}%Le titre
\ifthenelse{\boolean{subtitle}}{%Si il y a un sous-titre
\\[\separationlignestitre]
\Large\upshape\polysoustitresave\\\normalsize
}{%S'il n'y en a pas
\\\normalsize
}
\textcolor{bleu303}{\rule{\textwidth}{\epaisseurtrait}}
\end{center}
\vspace*{\distancetitrecorps}
}
}
}
\DeclareOption{coverpage}{%Option qui active une page de garde où le titre prend toute la page
\AtBeginDocument{
\renewcommand*{\maketitle}{
%On met les armes de l'Ecole en arriere-plan
\noindent\makebox[\textwidth][c]{%
\raisebox{-\totalheight}[0pt][0pt]{%
\includegraphics[height=\hauteurlogopage]{\polyarmes}}}%
\vspace*{0.125\textheight}
\begin{center}
%Le titre
\Huge\sffamily\bfseries\color{bleu303}\MakeUppercaseWithNewline{\polytitresave}\\
\vspace*{0.2\textheight}
%Le sous-titre
\LARGE\polysoustitresave\\
\vspace*{0.15\textheight}
%La date
\Large\mdseries\polydatesave\\
\includegraphics{\polyfiletcourtbleu}\\[0.4\baselineskip]
%Les auteurs
\rmfamily\polyauthorsave\\[\fill]
%Le(s) logo(s) en bas de la page
$\;$\polylogosup{}
\vspace*{-0.5\margebas}%On rabote la marge basse habituelle
\end{center}
\thispagestyle{empty}
\clearpage
\setcounter{page}{1}
}
}
}
\DeclareOption*{%Toute autre option sera donnee en argument au package geometry (si differentes tailles de papier)
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\ExecuteOptions{a4paper,shorttitle}%Par defaut, papier A4 et petit titre
\ProcessOptions\relax
%=======================================================================================
%Packages requis
%=======================================================================================
\RequirePackage{ifthen}%Pour la structure conditionnelle
\RequirePackage{ifpdf}%Pour detecter le mode de compilation
\RequirePackage[pagestyles]{titlesec}%Pour les en-tetes - pieds de page
\RequirePackage{graphicx}%Pour les logos inseres
\RequirePackage{geometry}%Pour les marges
\RequirePackage{calc}%Pour faire des operations sur les longueurs
\RequirePackage{color}%Pour mettre les elements en bleu
\RequirePackage{lmodern}%On fixe la police une fois pour toutes
%=======================================================================================
%Couleurs
%Les valeurs RGB proviennent de la charte graphique de l'X (2014)
%=======================================================================================
\definecolor{bleu303}{RGB}{0,62,92}
\definecolor{rouge485}{RGB}{213,43,30}
\definecolor{bleu315}{RGB}{0,104,128}
%=======================================================================================
%Inclusion des logos
%Chaque chemin vers un logo est defini par une commande speciale
%=======================================================================================
\ifpdf%Si la compilation se fait avec pdflatex
\newcommand{\polyfiletlongrouge}{filetlongrouge.pdf}
\newcommand{\polyfiletcourtbleuclair}{filetcourtbleuclair.pdf}
\newcommand{\polyfiletcourtbleu}{filetcourtbleu.pdf}
\newcommand{\polylogovert}{logovert.pdf}
\newcommand{\polylogohori}{logohori.pdf}
\newcommand{\polyarmes}{armes.pdf}
\else%Si la compilation se fait avec latex, xetex ou autres
\newcommand{\polyfiletlongrouge}{filetlongrouge.eps}
\newcommand{\polyfiletcourtbleuclair}{filetcourtbleuclair.eps}
\newcommand{\polyfiletcourtbleu}{filetcourtbleu.eps}
\newcommand{\polylogovert}{logovert.eps}
\newcommand{\polylogohori}{logohori.eps}
\newcommand{\polyarmes}{armes.eps}
\fi
%=======================================================================================
%Longeurs
%Celles-ci sont definies manuellement, le design de la page a ete fait par la Dircom
%=======================================================================================
%Marges
\newlength{\margehaut}\setlength{\margehaut}{40mm}
\newlength{\hauteurentete}\setlength{\hauteurentete}{27mm}
\newlength{\separationentete}\setlength{\separationentete}{12mm}
\newlength{\margecote}\setlength{\margecote}{20mm}
\newlength{\margebas}\setlength{\margebas}{35mm}
\newlength{\separationpied}\setlength{\separationpied}{17.5mm}
%Taille des logos
\newlength{\hauteurlogohori}\setlength{\hauteurlogohori}{15mm}
\newlength{\hauteurlogovert}\setlength{\hauteurlogovert}{40mm}
%Disposition de la page de titre
\newlength{\separationtitre}\setlength{\separationtitre}{15mm}
\newlength{\epaisseurtrait}\setlength{\epaisseurtrait}{1pt}
\newlength{\separationlignestitre}\setlength{\separationlignestitre}{3mm}
\newlength{\separationtitrecorps}\setlength{\separationtitrecorps}{15mm}
\newlength{\hauteurlogopage}\setlength{\hauteurlogopage}{0.6\textheight}%La hauteur de l'image armes.pdf est fausse, 1.5cm doit donner a peu pres 10 cm (bug ?)
%En-tetes
\newlength{\separationentetelogo}\setlength{\separationentetelogo}{20mm}
%=======================================================================================
%Longueurs (suite)
%Celles-là sont déduites des longueurs definies au dessus.
%=======================================================================================
%Taille des logos
\newlength{\largeurlogohori}\setlength{\largeurlogohori}{\hauteurlogohori*\real{1.859}}%1.859 est le ration hauteur/largeur du logo vertical de l'X.
\newlength{\largeurlogovert}\setlength{\largeurlogovert}{\hauteurlogovert/\real{1.361}}%1.361 est le ration hauteur/largeur du logo vertical de l'X.
%Disposition des titres
\newlength{\distancetitrelogo}\setlength{\distancetitrelogo}{\separationtitre-\margehaut}%Hauteur reglee pour qu'il y ait 10mm entre le haut de la page et le haut du logo.
\newlength{\separationlogotrait}\setlength{\separationlogotrait}{-\baselineskip*2+10mm}
\newlength{\largeurminipage}\setlength{\largeurminipage}{(\textwidth-\largeurlogovert)/\real{2}}
%En-têtes
\newlength{\largeurtitreentete}\setlength{\largeurtitreentete}{\textwidth-\largeurlogohori-\separationentetelogo}
\newlength{\decalageverticalentete}\setlength{\decalageverticalentete}{\hauteurlogohori/\real{2.6}}%2.6 pour que le titre soit aligne sur le "polytechnique" du logo à gauche
\newlength{\distancetitrecorps}\setlength{\distancetitrecorps}{\separationtitrecorps-\baselineskip*2}
%=======================================================================================
%Marges, entetes et pieds de page
%On utilise les package geometry et titlesec pour les regler
%=======================================================================================
\geometry{%Definit la geometrie de la page
%Toutes les commandes en dessous sont des longueurs definies auparavant
top=\margehaut,headheight=\hauteurentete,headsep=\separationentete,
left=\margecote,right=\margecote,
bottom=\margebas,footskip=\separationpied
}
\newcommand{\entetes}{%Comme l'en-tete contient le titre, on les active uniquement quand le titre est defini d'ou cette forme de commande
\newpagestyle{polytechnique}{%On definit un nouveau style d'en-tetes
\sethead{\includegraphics[height=\hauteurlogohori]{\polylogohori}}% left
{}% center
{\raisebox{\decalageverticalentete}{\begin{minipage}[b]{\largeurtitreentete}\scshape\flushright\textcolor{bleu303}{\polytitresave}\end{minipage}}}% right
\setfoot{}% left
{\textcolor{bleu303}{\shortstack[c]{\rule{4mm}{0.3mm}\\\thepage}}}% center, \shorstack c'est pour mettre le tiret au dessus du numero de page
{}% right
}
\pagestyle{polytechnique}
}
\renewpagestyle{plain}{
\sethead{}% left
{}% center
{}% right
\setfoot{}% left
{\textcolor{bleu303}{\shortstack[c]{\rule{4mm}{0.3mm}\\\thepage}}}% center, \shorstack c'est pour mettre le tiret au dessus du numero de page
{}% right
}
\pagestyle{plain}
%=======================================================================================
%Commandes relatives a la page de titre
%Grace a elles, on peut faire \titre{Machin} au lieu de \renewcommand{\polytitre}{machin}
%=======================================================================================
%Sous-titre
\newboolean{subtitle}\setboolean{subtitle}{false}%Pour detecter si il existe un sous-titre, au debut on met le booleen a false
\newcommand{\polysoustitresave}{}%A voir comme une variable dans laquelle on stocke une valeur
\newcommand*{\subtitle}[1]{
\renewcommand*{\polysoustitresave}{#1}
\setboolean{subtitle}{true}%Puis on le met a true quand on definit un sous-titre
}
%Titre
\newcommand{\polytitresave}{}%A voir comme une variable dans laquelle on stocke une valeur
\renewcommand*{\title}[1]{
\renewcommand*{\polytitresave}{#1}
\entetes%Comme les en-tete dependent du titre, on les definit une fois qu'on connait le titre
}
%Auteurs
\newcommand{\polyauthorsave}{}%A voir comme une variable dans laquelle on stocke une valeur
\renewcommand*{\author}[1]{
\renewcommand*{\polyauthorsave}{#1}
}
%Date
\newcommand{\polydatesave}{\today}%A voir comme une variable dans laquelle on stocke une valeur. \today est la date du jour dans la langue qu'il faut si babel est active
\renewcommand*{\date}[1]{
\renewcommand*{\polydatesave}{#1}
}
%Logo(s) de bas de page pour l'option coverpage
\newcommand{\polylogosup}{\includegraphics[height=\hauteurlogovert]{\polylogovert}}%Variable de stockage initialisee par defaut au logo de l'X vertical
\newcommand{\logo}[1]{%Si l'utilisateur definit un logo personnalise avec \logo{truc}
\renewcommand{\polylogosup}{%On redefinit la variable
\includegraphics[height=1.5\hauteurlogohori]{\polylogohori}%Avec le logo horizontal de l'X
\hspace{0.05\textwidth}
\includegraphics[height=\hauteurlogovert,
width=1.5\largeurlogohori,
keepaspectratio]{#1}%Et le logo personnalise pas trop gros
}
}
%Divers
\newcommand{\MakeUppercaseWithNewline}[1]{%Permet de mettre plusieurs lignes en majuscules (pour le titre)
\begingroup
\let\SavedOrgNewline\\%
\DeclareRobustCommand{\\}{\SavedOrgNewline}%
\MakeUppercase{#1}%
\endgroup
}
\ No newline at end of file
File added
This diff is collapsed.
File added
File added
File added
File added
File added