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 (35)
guide/installation.pdf filter=lfs diff=lfs merge=lfs -text
*.aux
*.fdb_latexmk
*.fls
*.log
*.out
*.synctex.gz
source/polytechnique.pdf
guide/installation.pdf
*.zip
*.glo
*.hd
*.idx
*.log
*.out
*.out
*.toc
*.dvi
*.ind
*.ilg
*.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
......@@ -2,10 +2,10 @@ 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.2 of this license or (at your option) any later
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.2 or later is part of all distributions of
and version 1.3c or later is part of all distributions of
LaTeX version 1999/12/01 or later.
.PHONY:all %.all install %.install clean %.clean cleandist %.cleandist release
SUBMAKE:=make -s -C
SUBMAKABLE:=$(shell find . -mindepth 2 -name '[Mm]akefile' | sed 's%^./%%;s%/[^/]*%%')
define submake
@tput setaf 3
@echo make[$1] $2
@tput sgr0
@$3 $(SUBMAKE) $1 $2
endef
all: $(patsubst %,%.all,$(SUBMAKABLE))
%.all:
$(call submake,$*,,)
install: $(patsubst %,%.install,$(SUBMAKABLE))
%.install:
$(call submake,$*,install,sudo)
clean: $(patsubst %,%.clean,$(SUBMAKABLE))
%.clean:
$(call submake,$*,clean,)
cleandist: $(patsubst %,%.cleandist,$(SUBMAKABLE))
%.cleandist:
$(call submake,$*,cleandist,)
release:
$(call submake,.,,)
$(call submake,.,clean,)
# polytechnique-LaTeX
Code du package LaTeX de l'École polytechnique.
Pour l'installation de LaTeX et du package, se reporter au fichier `guide/installation.pdf`.
Code du package LaTeX de l'École polytechnique.
Il est aussi simple d'installer le package sous linux depuis le dépôt avec le `Makefile`, après l'avoir téléchargé (avec `git clone` ou en téléchargeant un `.zip` ou `.tar.gz`) :
```bash
cd polytechnique
make && make install
```
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
......@@ -18,3 +12,7 @@ Vous pouvez essayer le code sur l'exemple du guide :
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.
No preview for this file type
......@@ -5,12 +5,12 @@
\usepackage[french]{babel}
\usepackage{url,csquotes}
\usepackage[hidelinks,hyperfootnotes=false]{hyperref}
\usepackage[titlepage,fancysections,pagenumber]{polytechnique}
\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.6}}}
\author{Denis \textsc{Merigoux}}
\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}
......@@ -34,8 +34,9 @@ Ce document a pour objet de documenter l'utilisation de ce package mais avant to
\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, cherche dans \enquote{Tous les programmes} l'utilitaire \emph{Update (Admin)}, puis lance-le. Quand la liste apparaît, coche tout et lance la mise à jour des packages.
\item Lance l'utilitaire \emph{Settings (Admin)} puis clique tour à tour sur les boutons \emph{Refresh FNDB} et \emph{Update formats}. Il faudra répéter cette dernière opération à chaque fois que vous installerez de nouveaux packages.
\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.
......@@ -48,7 +49,9 @@ Il faut ensuite installer un éditeur de code source, par exemple TeXmaker qui e
\subsection{GNU/Linux}
Le paquet à installer est \texttt{texlive-full} ou \texttt{texlive}. Tu auras peut-être aussi besoin d'installer d'autres paquets pour manipuler les fichiers produits par LaTex mais comme tu es sous Linux, on va supposer que tu sais chercher de l'aide en ligne. Il existe d'excellents éditeurs LaTeX sous GNU/Linux, par exemple Kile (pour KDE), TeXmaker ...
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}
......@@ -70,42 +73,36 @@ Sélectionne le ou les packages à installer dans la liste (tu peux rechercher l
\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
\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}
\textbf{Avertissement.} Les instructions de la méthode automatique sont pour la plupart anciennes. Se référer au fichier \texttt{README.md} pour Unix, et à la méthode manuelle pour Windows.
\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 son ordinateur. Entrer dans le dossier et effectuer l'action suivante :
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] double-cliquer sur \texttt{makefile\_windows.bat} ;
\item[Linux ou Mac] ouvrir un terminal dans le dossier et y entrer la commande
\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}
make && make install
install/unix.sh
\end{verbatim}
\end{description}
Après exécution du script, le message affiché sur la console devrait être :
\begin{verbatim}
************************************************
* Le package a ete installe ! La documentation *
* se trouve a l'emplacement suivant : *
<chemin qui dépend de votre ordinateur>
* Les fichiers sources et resources a *
* l'endroit suivant : *
<chemin qui dépend de votre ordinateur>
* Et le .sty a l'endroit suivant : *
<chemin qui dépend de votre ordinateur>
* Bonne utilisation ! *
************************************************
> Installing source files...
> Updating database...
DONE !
\end{verbatim}
Si ce message ne s'affiche pas ou si l'installation semble ne pas fonctionner quand vous essayez d'utiliser le package, se reporter à la méthode manuelle.
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 :
......@@ -114,7 +111,7 @@ 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, ouvre dans tous les programmes l'utilitaire \emph{Settings (Admin)} et clique sur \emph{Refresh FNDB}.
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.
......@@ -122,4 +119,8 @@ De cette manière, l'installation n'est pas complète mais le package marchera t
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}
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
@echo off
7z a -tzip polytechnique-LaTeX.zip makefile_windows.bat makefile_unix.sh README.md source/*.pdf source/*.eps source/polytechnique.sty source/polytechnique.dtx guide/installation.pdf guide/installation.tex guide/logo.pdf
pause
\ No newline at end of file
@echo off
cd source
pdflatex polytechnique.dtx
makeindex -s gind.ist -o polytechnique.ind polytechnique.idx
pdflatex polytechnique.dtx
del *.aux
del *.glo
del *.idx
del *.ilg
del *.ind
del *.log
del *.toc
del *.out
kpsewhich -var-value TEXMFLOCAL > temp.txt
set /p installdir=<temp.txt
del temp.txt
md "%installdir%/tex/latex/polytechnique"
md "%installdir%/tex/latex/polytechnique/resources
md "%installdir%/source/latex/polytechnique"
md "%installdir%/source/latex/polytechnique/resources"
md "%installdir%/doc/latex/polytechnique"
copy polytechnique.dtx "%installdir%/source/latex/polytechnique"
copy polytechnique.sty "%installdir%/tex/latex/polytechnique"
copy polytechnique.pdf "%installdir%/doc/latex/polytechnique"
copy *.eps "%installdir%/source/latex/polytechnique/resources"
copy *.pdf "%installdir%/source/latex/polytechnique/resources"
copy *.eps "%installdir%/tex/latex/polytechnique/resources"
copy *.pdf "%installdir%/tex/latex/polytechnique/resources"
echo ************************************************
echo * La base de donnees des packages est en train *
echo * d'etre mise a jour. Cela peut prendre un peu *
echo * de temps. Merci de patienter. *
echo ************************************************
initexmf --update-fndb
echo ************************************************
echo * Le package a ete installe ! La documentation *
echo * se trouve a l'emplacement suivant : *
echo %installdir%/doc/latex/polytechnique
echo * Les fichiers sources et resources a *
echo * l'endroit suivant : *
echo %installdir%/source/latex/polytechnique
echo * Et le .sty a l'endroit suivant : *
echo %installdir%/tex/latex/polytechnique
echo * Bonne utilisation ! *
echo ************************************************
pause
\ No newline at end of file
.PHONY: package install clean cleandist
V:=1
ifeq ("$V","1")
define say
@tput setaf 4
@echo $1
@tput sgr0
endef
else
define say
endef
endif
define installed
@tput setaf 2
@tput bold
@echo "SUCCESS : installed in '"$1"'."
endef
PDFLATEX:=pdflatex -interaction=nonstopmode
MAKEINDEX:=makeindex -q -s gind.ist -o
OUTPUT:=>/dev/null 2>&1
PKGDIR:=$(shell kpsewhich --show-path=ls-R | tr : '\n' | grep texmf | grep local | head -n1)
POLYPKGDIR:=$(PKGDIR)/tex/latex/polytechnique
DTXFILES:=$(shell find . -name '*.dtx')
GENFILES:=$(patsubst %.dtx,%.pdf,$(DTXFILES)) $(patsubst %.dtx,%.sty,$(DTXFILES))
all: package
package: polytechnique.sty
%.sty: %.dtx
$(call say,creating package file $@)
@$(PDFLATEX) $*.dtx $(OUTPUT)
@$(MAKEINDEX) $*.ind $*.idx $(OUTPUT)
@$(PDFLATEX) $*.dtx $(OUTPUT)
install: package clean
$(call say,creating destination $(POLYPKGDIR))
@mkdir -p $(POLYPKGDIR)
$(call say,copying files to $(POLYPKGDIR))
@cp -r . $(POLYPKGDIR)
@rm -f $(POLYPKGDIR)/Makefile
@texhash || mktexlsr
$(call installed,$(POLYPKGDIR))
clean:
$(call say,cleaning files)
@rm -f polytechnique.aux polytechnique.glo polytechnique.idx polytechnique.log polytechnique.out polytechnique.toc polytechnique.ind polytechnique.ilg
cleandist: clean
$(call say,removing doc and package files)
@rm -f $(GENFILES)
%.pdf: %.eps
ps2pdf -dEPSCrop -dCompressPages=false $< - | \
sed '/^..*g$$/ s/^./%/' > $@
......@@ -2,16 +2,15 @@
%
% For explanation on this file, see http://texdoc.net/texmf-dist/doc/latex/dtxtut/dtxtut.pdf
%
% 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.2 of this license or (at your option) any later
% 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.2 or later is part of all distributions of
% and version 1.3c or later is part of all distributions of
% LaTeX version 1999/12/01 or later.
%
% \fi
......@@ -19,7 +18,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{polytechnique}
%<package> [2017/09/02 v1.3.5, standard scientific documents layout for Ecole polytechnique (Palaiseau,France).]
%<package> [2022/04/29 v1.3.10, standard scientific documents layout for Ecole polytechnique (Palaiseau,France).]
%
%<*batchfile>
\begingroup
......@@ -30,16 +29,15 @@
\preamble
This is a generated file.
Copyright (C) 2015 by Denis Merigoux
This file 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 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.2 or later is part of all distributions of
and version 1.3c or later is part of all distributions of
LaTeX version 1999/12/01 or later.
\endpreamble
......@@ -87,7 +85,10 @@ LaTeX version 1999/12/01 or later.
\end{document}
%</driver>
% \fi
%
%\changes{v1.3.10}{2022/04/29}{Modifie la doc sur l'installation du package dans Windows, modifie la numérotation des pages après la titlepage}
%\changes{v1.3.9}{2020/04/03}{Ajoute de la doc sur l'utilisation dans overleaf}
%\changes{v1.3.8}{2020/04/02}{Fixe la dépendance de l'option titlepage en fonction de la documentclass}
%\changes{v1.3.7}{2020/02/13}{Mis à jour des logos pour inclure l'I.P.P.}
%\changes{v1.3.5}{2017/09/02}{Travail sur les scripts d'installation, couleurs des logos, ajout d'options, correction de bugs}
%\changes{v1.3.4}{2016/01/17}{Correction de bugs, ajout du logo en en-tête, ajout du titre court en en-tête, compatibilité avec d'autres classes}
%\changes{v1.3.3}{2015/07/04}{Correction de bugs, inversion des en-têtes exterieur/interieur}
......@@ -110,9 +111,8 @@ LaTeX version 1999/12/01 or later.
%
%\title{Le package \textsf{polytechnique}}
%\subtitle{\fileversion{} datée du \filedate.}
%\author{Denis \textsc{Merigoux} \\
% Clément \textsc{Durand}}
%\logo[headers]{typographix.pdf}
%\author{Par TypographiX}
%\logo[typographix.pdf]{typographix.pdf}
%
%\maketitle
%
......@@ -139,7 +139,7 @@ LaTeX version 1999/12/01 or later.
%La page de titre est gérée entièrement par le package. Pour la définir, il faut signaler dans le préambule les métadonnées du document qui apparaîtront sur la page de titre, avec deux nouveaux champs optionnels |\subtitle| et |\logo| par rapport au \LaTeX{} standard, et une modification de |\title|~:
%\begin{itemize}
%\item |\subtitle|\marg{sous-titre} où \meta{sous-titre} peut être sur plusieurs lignes séparées par des |\\| ;
%\item |\logo|\marg{chemin} où \meta{chemin} est le chemin relatif vers le fichier d'un logo supplémentaire (entreprise, laboratoire, etc.) ; si le logo est dans le même dossier que le |.tex|, \meta{chemin} est le nom du fichier. Si l'on écrit un document en recto-verso (voir section \ref{globaloptions} page \pageref{globaloptions}), on peut mettre ce logo dans les en-têtes en ajoutant l'option \emph{headers}~: |\logo|[\emph{headers}]\marg{chemin}.
%\item |\logo|\marg{chemin} où \meta{chemin} est le chemin relatif vers le fichier d'un logo supplémentaire (entreprise, laboratoire, etc.) ; si le logo est dans le même dossier que le |.tex|, \meta{chemin} est le nom du fichier. Par défaut, en recto-verso, le logo principal est utilisé dans les en-têtes des pages impaires. On peut mettre un deuxième logo (éventuellement le même) dans les en-têtes avec |\logo|\oarg{chemin image d'en-têtes}\marg{chemin}. Le logo apparaîtra alors sur toute les pages en mode recto et une page sur deux en mode recto-verso.
%\item |\title|\oarg{titre court}\marg{titre} où \emph{titre court} est facultatif. Il permet, si votre vrai titre est long et ne vous plaît pas dans les en-têtes, de mettre un titre court en en-tête.
%\end{itemize}
%Il est recommandé de recadrer au mieux l'image du logo pour qu'elle prenne les meilleures dimensions possibles sur la page. Le deuxième logo apparaîtra sur les deux pages de titre différentes (option |titlepage| ou |notitlepage|) dont il modifiera la présentation en conséquence.
......@@ -200,7 +200,7 @@ LaTeX version 1999/12/01 or later.
%\item[titlepage] Comportement par défaut pour les classes |report| et |book|. Produit une belle page de couverture avec les armes en arrière-plan.
%\item[fancysections] Redéfinit les commandes |\chapter|, |\section|, |\subsection| et |\subsubsection| avec un style conforme à la charte graphique de l'École. Donne un aspect moins formel au document.
%\item[pagenumber] Change la numérotation des pages dans le pied de page. Si l'option est activée, elle deviendra \meta{page en cours}/\meta{nombre total de pages}.
%\item[sectionmark] Affiche en en-tête intérieur le titre de la section courante plutôt que le titre du document.
%\item[sectionmark] Affiche en en-tête intérieur le titre de la section courante plutôt que le titre du document, ou une page sur deux si le document est recto-verso.
%\item[chaptermark] Idem que l'option précédente avec le titre du chapitre courant. Ne peut être utilisé avec la classe |article|.
%\item[markboth] Pensé pour les longs documents : affiche le titre de la section courante sur l'en-tête intérieur des pages paires et le titre du chapitre courant sur l'en-tête des pages impaires.
%\end{description}
......@@ -221,7 +221,7 @@ LaTeX version 1999/12/01 or later.
%Le code de ces options est exécuté à la fin du package grâce à la commande |\AtEndOfPackage|. Les commandes utilisées dans le code seront donc définies par la suite mais portent des noms explicites.
%
%\paragraph{a4paper}
%Passe l'option |a4paper| declarée au package |geometry| pour action. L'option est aussi reconnue depuis les options passées a |\documentclass|.
%Passe l'option |a4paper| declarée au package |geometry| pour action. L'option est aussi reconnue depuis les options passées à |\documentclass|.
% \begin{macrocode}
\DeclareOption{a4paper}{
\PassOptionsToPackage{a4paper}{geometry}
......@@ -268,7 +268,7 @@ LaTeX version 1999/12/01 or later.
% \end{macrocode}
%
%\paragraph{notitlepage}
%Cette option activée par défaut produit un titre avec logo vertical de l'X, auteur et date sur la première lignes, puis le titre et le sous-titre entre filets horizontaux.
%Cette option activée par défaut pour |article| produit un titre avec logo vertical de l'X, auteur et date sur la première lignes, puis le titre et le sous-titre entre filets horizontaux.
% \begin{macrocode}
\DeclareOption{notitlepage}{
\renewcommand*{\maketitle}{
......@@ -278,7 +278,7 @@ LaTeX version 1999/12/01 or later.
% \end{macrocode}
%
%\paragraph{titlepage}
%Option qui active une page de garde où le titre prend toute la page. La page de garde comporte :
%Option par défaut pour |report| et |book| qui active une page de garde où le titre prend toute la page. La page de garde comporte :
%\begin{itemize}
%\item les armes de l'École en arrière-plan ;
%\item le titre en capitales bleues ;
......@@ -314,14 +314,14 @@ LaTeX version 1999/12/01 or later.
}
% \end{macrocode}
%
%\paragraph{sectionmark} Met le titre de la section en cours plutôt que le titre du document dans les en-têtes.
%\paragraph{sectionmark} Met le titre de la section en cours plutôt que le titre du document dans les en-têtes. Si le document est recto-verso, on met une page sur deux le titre du document, et une page sur deux le titre de la section.
% \begin{macrocode}
\DeclareOption{sectionmark}{
\AtEndOfPackage{
% \end{macrocode}
%On redéfinit pour cela la commande des en-têtes extérieurs.
% \begin{macrocode}
\renewcommand{\enteteexterieur}[1]{
\renewcommand{\enteteexterieurimpair}{
% \end{macrocode}
%|\ifthesection|\marg{vrai}\marg{faux} exécute le code \meta{vrai} si une section courante a été définie au moment où le code est appelé, et faux sinon. Voir la documentation du package |titlesec|.
% \begin{macrocode}
......@@ -329,8 +329,11 @@ LaTeX version 1999/12/01 or later.
% \end{macrocode}
%S'il y a une section courante, on affiche son titre en en-tête intérieur.
% \begin{macrocode}
\begin{minipage}{\largeurtitreentete}
\flushleft
{\scshape\color{bleu303}
\thesection{}.~\sectiontitle}
\end{minipage}
}{
% \end{macrocode}
%Si pas de section courante définie, on ne met rien dans l'en-tête intérieur.
......@@ -345,10 +348,13 @@ LaTeX version 1999/12/01 or later.
% \begin{macrocode}
\DeclareOption{chaptermark}{
\AtEndOfPackage{
\renewcommand{\enteteexterieur}[1]{
\ifthechapter{
{\scshape\color{bleu303}
\thechapter{}.~\chaptertitle}
\renewcommand{\enteteexterieurimpair}{
\begin{minipage}{\largeurtitreentete}
\flushleft
\ifthechapter{
{\scshape\color{bleu303}
\thechapter{}.~\chaptertitle}
\end{minipage}
}{
}
......@@ -361,18 +367,24 @@ LaTeX version 1999/12/01 or later.
% \begin{macrocode}
\DeclareOption{markboth}{
\AtEndOfPackage{
\renewcommand{\enteteexterieurimpair}{
\ifthesection{%Si la section a ete definie
{\scshape\color{bleu303}
\thesection{}.~\sectiontitle}
\begin{minipage}{\largeurtitreentete}
\flushleft
\renewcommand{\enteteexterieurimpair}{
\ifthesection{%Si la section a ete definie
{\scshape\color{bleu303}
\thesection{}.~\sectiontitle}
\end{minipage}
}{
}
}
\renewcommand{\enteteexterieurpair}{
\ifthechapter{
{\scshape\color{bleu303}
\thechapter{}.~\chaptertitle}
\begin{minipage}{\largeurtitreentete}
\flushleft
\ifthechapter{
{\scshape\color{bleu303}
\thechapter{}.~\chaptertitle}
\end{minipage}
}{
}
......@@ -411,9 +423,21 @@ LaTeX version 1999/12/01 or later.
\PassOptionsToPackage{\CurrentOption}{geometry}
}
% \end{macrocode}
%Enfin, on exécute les options standards utilisées par la classe article.
%On exécute les options titlepage en fonction de la classe.
% \begin{macrocode}
\@ifclassloaded{book}{
\ExecuteOptions{titlepage}
}{}
\@ifclassloaded{report}{
\ExecuteOptions{titlepage}
}{}
\@ifclassloaded{article}{
\ExecuteOptions{notitlepage}
}{}
% \end{macrocode}
%Enfin, on exécute les options standards.
% \begin{macrocode}
\ExecuteOptions{a4paper,notitlepage,oneside}
\ExecuteOptions{a4paper,oneside}
\ProcessOptions*
% \end{macrocode}
%\subsection{Chargement des packages externes}
......@@ -541,7 +565,7 @@ LaTeX version 1999/12/01 or later.
%Taille du logo horizontal de l'X utilisé dans les en-têtes.
% \begin{macrocode}
\newlength{\hauteurlogohori}
\setlength{\hauteurlogohori}{15mm}
\setlength{\hauteurlogohori}{20mm}
% \end{macrocode}
%\end{macro}
%\paragraph{Page de titre} Ces longueurs sont utilisées sur la page de titre de l'option |notitlepage| uniquement (sauf |\hauteurlogopage|).
......@@ -680,8 +704,6 @@ LaTeX version 1999/12/01 or later.
% \end{macrocode}
%\end{macro}
%
%\subsection{Marges,en-têteset pieds de page}
%
%On utilise les package |geometry| et |titlesec| pour les régler à l'aide des longueurs définies auparavant. Les marges gauches et droites sont définies par les options |oneside| et |twoside|.
% \begin{macrocode}
\geometry{
......@@ -715,7 +737,7 @@ LaTeX version 1999/12/01 or later.
\newcommand{\enteteinterieur}[2][bleu303]{
{%
\color{#1}%
\includegraphics[height=\hauteurlogohori,width=2\largeurlogohori,keepaspectratio]{#2}%
\includegraphics[height=\hauteurlogohori,width=\largeurlogohori,keepaspectratio]{#2}%
}%
}
% \end{macrocode}
......@@ -875,19 +897,25 @@ LaTeX version 1999/12/01 or later.
% \end{macrocode}
%On redefinit la variable |\enteteinterieurimpair| pour les en-têtes si l'utilisateur le souhaite.
% \begin{macrocode}
\ifthenelse{\equal{#1}{headers}}{
\ifthenelse{\equal{#1}{}}{
\if@twoside%
\renewcommand{\enteteinterieurimpair}{%
\enteteinterieur{#2}%
}%
\else%
\fi%
}{
\renewcommand{\enteteinterieurimpair}{
\enteteinterieur{#2}
\enteteinterieur{#1}
}
}{}
}
% \end{macrocode}
%On redefinit la variable |\titlepagebottomline| pour l'option |titlepage|.
% \begin{macrocode}
\renewcommand{\titlepagebottomline}{
\begin{minipage}{5\largeurlogohori}
\begin{minipage}{\linewidth}
\centering
\raisebox{-0.5\height}{
\color{bleu303}
\includegraphics[width=1.5\largeurlogohori]
{\polylogohori}
}
......@@ -917,7 +945,7 @@ LaTeX version 1999/12/01 or later.
% \end{macrocode}
%Les logos sont cntrés verticalement grâce au |\raisebox|. |\height| contient la hauteur de la |minipage| en cours.
% \begin{macrocode}
{\color{bleu303}%
{%
\includegraphics[width=\largeurlogovert]
{\polylogovert}
}
......@@ -961,7 +989,7 @@ LaTeX version 1999/12/01 or later.
% \end{macrocode}
%Les blocs sont séparés par des ressorts horizontaux. Vient ensuite le bloc central avec le logo de l'X.
% \begin{macrocode}
{\color{bleu303}%
{%
\includegraphics[width=\largeurlogovert]{\polylogovert}}
\hspace*{\fill}%
% \end{macrocode}
......@@ -1065,7 +1093,9 @@ LaTeX version 1999/12/01 or later.
% \begin{macrocode}
$\;$\titlepagebottomline{}
\vspace*{-0.5\margebas}
\end{center}
\end{center}
% \end{macrocode}
% \begin{macrocode}
\thispagestyle{empty}
\clearpage
}
......
%% \iffalse meta-comment
%%
%% For explanation on this file, see http://texdoc.net/texmf-dist/doc/latex/dtxtut/dtxtut.pdf
%%
%%
%% 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.
%%
\input docstrip.tex
\keepsilent
\usedir{tex/latex/polytechnique}
\preamble
This is a generated file.
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.
\endpreamble
\askforoverwritefalse
\generate{\file{polytechnique.sty}{\from{polytechnique.dtx}{package}}}
\obeyspaces
\endbatchfile
No preview for this file type
......@@ -7,20 +7,19 @@
%% polytechnique.dtx (with options: `package')
%% This is a generated file.
%%
%% Copyright (C) 2015 by Denis Merigoux
%%
%% This file 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 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.2 or later is part of all distributions of
%% and version 1.3c or later is part of all distributions of
%% LaTeX version 1999/12/01 or later.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{polytechnique}
[2017/09/02 v1.3.5, standard scientific documents layout for Ecole polytechnique (Palaiseau,France).]
[2022/04/29 v1.3.10, standard scientific documents layout for Ecole polytechnique (Palaiseau,France).]
%%\CharacterTable
%% {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
%% 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
......@@ -97,10 +96,13 @@
}
\DeclareOption{sectionmark}{
\AtEndOfPackage{
\renewcommand{\enteteexterieur}[1]{
\renewcommand{\enteteexterieurimpair}{
\ifthesection{
\begin{minipage}{\largeurtitreentete}
\flushleft
{\scshape\color{bleu303}
\thesection{}.~\sectiontitle}
\end{minipage}
}{
}
}
......@@ -108,10 +110,13 @@
}
\DeclareOption{chaptermark}{
\AtEndOfPackage{
\renewcommand{\enteteexterieur}[1]{
\ifthechapter{
{\scshape\color{bleu303}
\thechapter{}.~\chaptertitle}
\renewcommand{\enteteexterieurimpair}{
\begin{minipage}{\largeurtitreentete}
\flushleft
\ifthechapter{
{\scshape\color{bleu303}
\thechapter{}.~\chaptertitle}
\end{minipage}
}{
}
......@@ -120,18 +125,24 @@
}
\DeclareOption{markboth}{
\AtEndOfPackage{
\renewcommand{\enteteexterieurimpair}{
\ifthesection{%Si la section a ete definie
{\scshape\color{bleu303}
\thesection{}.~\sectiontitle}
\begin{minipage}{\largeurtitreentete}
\flushleft
\renewcommand{\enteteexterieurimpair}{
\ifthesection{%Si la section a ete definie
{\scshape\color{bleu303}
\thesection{}.~\sectiontitle}
\end{minipage}
}{
}
}
\renewcommand{\enteteexterieurpair}{
\ifthechapter{
{\scshape\color{bleu303}
\thechapter{}.~\chaptertitle}
\begin{minipage}{\largeurtitreentete}
\flushleft
\ifthechapter{
{\scshape\color{bleu303}
\thechapter{}.~\chaptertitle}
\end{minipage}
}{
}
......@@ -158,7 +169,16 @@
\DeclareOption*{
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\ExecuteOptions{a4paper,notitlepage,oneside}
\@ifclassloaded{book}{
\ExecuteOptions{titlepage}
}{}
\@ifclassloaded{report}{
\ExecuteOptions{titlepage}
}{}
\@ifclassloaded{article}{
\ExecuteOptions{notitlepage}
}{}
\ExecuteOptions{a4paper,oneside}
\ProcessOptions*
\RequirePackage{calc}
\RequirePackage{xcolor}
......@@ -216,7 +236,7 @@
\newlength{\separationpied}
\setlength{\separationpied}{17.5mm}
\newlength{\hauteurlogohori}
\setlength{\hauteurlogohori}{15mm}
\setlength{\hauteurlogohori}{20mm}
\newlength{\separationtitre}
\setlength{\separationtitre}{15mm}
\newlength{\epaisseurtrait}
......@@ -278,7 +298,7 @@
\newcommand{\enteteinterieur}[2][bleu303]{
{%
\color{#1}%
\includegraphics[height=\hauteurlogohori,width=2\largeurlogohori,keepaspectratio]{#2}%
\includegraphics[height=\hauteurlogohori,width=\largeurlogohori,keepaspectratio]{#2}%
}%
}
\newcommand{\enteteexterieurpair}{
......@@ -344,16 +364,22 @@
}
\newcommand{\logo}[2][{}]{
\ifthenelse{\equal{#1}{headers}}{
\ifthenelse{\equal{#1}{}}{
\if@twoside%
\renewcommand{\enteteinterieurimpair}{%
\enteteinterieur{#2}%
}%
\else%
\fi%
}{
\renewcommand{\enteteinterieurimpair}{
\enteteinterieur{#2}
\enteteinterieur{#1}
}
}{}
}
\renewcommand{\titlepagebottomline}{
\begin{minipage}{5\largeurlogohori}
\begin{minipage}{\linewidth}
\centering
\raisebox{-0.5\height}{
\color{bleu303}
\includegraphics[width=1.5\largeurlogohori]
{\polylogohori}
}
......@@ -371,7 +397,7 @@
\centering
\begin{minipage}{0.33\textwidth}
\raisebox{-0.5\height}
{\color{bleu303}%
{%
\includegraphics[width=\largeurlogovert]
{\polylogovert}
}
......@@ -401,7 +427,7 @@
\hspace{0cm}\polyauthorsave
\end{minipage}%
\hspace*{\fill}
{\color{bleu303}%
{%
\includegraphics[width=\largeurlogovert]{\polylogovert}}
\hspace*{\fill}%
\begin{minipage}[b]{\largeurminipage}
......