\chapter{Notes de production}
\label{chap-production}


\begin{introchap}{J'ai rassemblé} ici des éléments permettant
  d'exploiter les sources de ce document, comment les compiler, avec
  quelle distribution de \LaTeX{}, comment les fichiers sont
  organisés, etc.
\end{introchap}

\section{Distribution du moment}

Le présent ouvrage a été compilé sur la distribution Ubuntu 12.04 avec
la distribution \TeX{}live 2013.  Toute autre expérience fructueuse
sur des systèmes différents est bien entendu la bienvenue... De plus
pour la génération du document au format pdf, seule la famille
Computer Modern dans sa version « CM-Super » a été testée.

\section{Les sources du manuel}

\newcommand{\dossier}[1]{\texttt{#1}}

\subsection{Structure}

Les sources du manuel sont organisées selon le principe suivant :
\begin{itemize}
\item sources \LaTeX{} dans le répertoire \dossier{corps} avec un
  fichier  par chapitre ;
\item les styles (\texttt{sty} et \texttt{cls}) dans le répertoire
  \dossier{styles} ;
\item les images dans un répertoire \dossier{pngs} ;
\item le répertoire \dossier{texs} contient des sources \LaTeX{} à
  inclure dans le document (modèles de lettre, de fax, code contenant
  des appels à Psfrag ou Pstricks) ;
\item les sources \soft{xfig} dans le répertoire \dossier{figs} ;
\item tout ce qui a trait à l'index, à la bibliographie et au
  glossaire est stocké dans le répertoire \dossier{bibidx} ;
\end{itemize}
Les sources \soft{xfig} et certains « bouts » de fichiers \LaTeX{} sont
traduits au format pdf, postscript encapsulé ou non, par un makefile
les stockant :
\begin{itemize}
\item dans le répertoire \dossier{epss}
\item dans le répertoire \dossier{pdfs}
\item dans le répertoire \dossier{pss}
\end{itemize}
selon le moteur utilisé (\texttt{latex} ou \texttt{pdflatex}).

\subsection{Styles}

Le fichier
\ifframabookversion\texttt{framabook.cls}\else\texttt{manuel.cls}\fi\
contient la définition de la classe du manuel. Ce fichier fait appel à
une série de packages « du commerce » et une série de packages «
maison ». On trouve, pour ces derniers, un fichier source pour :
\begin{itemize}
\item chaque « nouveau jouet » : onglets, nota, sommaire, glossaire,
  boîte avec un titre (\texttt{titlebox.sty}), exemples, lettrine,
  renvois (\texttt{voir.sty}), citations et épigraphes
\item le sommaire
\item la géométrie globale du document
\item l'allure des en-têtes et pieds de pages
\item l'allure des sections/chapitres/etc.
\item des commandes en vrac utilisées dans le document
  (dans le fichier \texttt{manumac.sty})
\end{itemize}
Sauf indication contraire, ces fichiers portent un nom ressemblant
étrangement à ce qu'ils contiennent.


\section{Compilation}

\ifframabookversion
\newcommand{\fichiermaitre}{framabook}
\else
\newcommand{\fichiermaitre}{guide-local}
\fi

\ifframabookversion Dans le fichier maître \texttt{\fichiermaitre.tex}
on peut stipuler en option de classe :
\begin{itemize}
\item \texttt{versionenligne} pour générer un fichier à visualiser
  avec des hyperliens en couleur ;
\item \texttt{versionpapier} pour générer une version destinée à être
  imprimée puis massicotée.
\end{itemize}
\begin{nota}
  Le présent manuel a été composé en se basant sur un support papier
  \emph{différent du format A4}. Par conséquent si vous ne possédez
  pas de massicot, le document résultant sera visuellement assez laid.
  Une solution consiste à se procurer les versions imprimables sur papier
  A4 depuis le site \url{http://www.enise.fr/cours/info}.
\end{nota}
\fi
\subsection{Makefile}

L'arborescence racine des sources contient un fichier
Makefile pour le manuel, qu'il faut copier :
\ifframabookversion
\begin{unixcom}
  cp Makefile.frama Makefile
\end{unixcom}
\else
\begin{unixcom}
  cp Makefile.manuel Makefile
\end{unixcom}
\fi

\subsection{Figures}

Les figures peuvent êtres compilées grâce aux commandes :
\ifframabookversion
\begin{verbatim}
  make figs
\end{verbatim}
\else
\begin{verbatim}
  #1. produire les figures 
  make figs
  #2. générer les figures « récursives » de l'introduction
  command latex --interaction nonstopmode guide-local
  command latex --interaction nonstopmode guide-local 
  # 2 fois pour avoir la table des matières
  make recursefigs
\end{verbatim}
\fi
\begin{nota}
  Il faut disposer du logiciel \soft{transfig} connexe à \soft{xfig}
  pour traduire les sources en \texttt{pdf} et~\texttt{eps}. Sur le
  site \url{http://cours.enise.fr/info/latex} est disponible une
  archive contenant les figures déjà traduites...
\end{nota}

\subsection{Dvi et postscript}

\begin{unixcom}
  latex ¢fichiermaitre
  make  bibindex
  latex ¢fichiermaitre
  latex ¢fichiermaitre
  dvips ¢fichiermaitre -o ¢fichiermaitre
\end{unixcom}

\subsection{Pdf}

Rien de particulier
\begin{unixcom}
  pdflatex ¢fichiermaitre
  make  bibindex
  pdflatex ¢fichiermaitre
  pdflatex ¢fichiermaitre
\end{unixcom}

\ifframabookversion
\else
\subsection{Versions imprimables sur papier A4}

Les différentes versions imprimables dont il est question au paragraphe~\vref{preface-impression} sont générées à partir d'un fichier postscript à jour :
\begin{unixcom}
  dvips ¢fichiermaitre -o ¢fichiermaitre
\end{unixcom}
et des utilitaires \soft{psutils}. Les versions « reliure longue », «
reliure courte 1 exemplaire » et « reliure courte 2 exemplaires » sont
respectivement génrérées par les commandes suivantes :
\begin{unixcom}
  make print-0
  make print-1
  make print-2
\end{unixcom}

\fi

\subsection{Nettoyage de printemps}

En bref :
\begin{unixcom}
  make cleanfigs ¢ccomment«efface tous les eps/pdfs/...»
  make cleantex ¢ccomment«efface tous les fichiers auxiliares»
  make cleandocs ¢ccomment«efface tous les documents générés (dvi/ps/pdf/...)»
\end{unixcom}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "../framabook"
%%% End: 
