Previous Contents Next

Chapter 9   Inclusion de fichiers

Il est parfois intéressant de pouvoir inclure un fichier de texte complet à l'intérieur d'un document LATEX. Par exemple le code source d'un programme, ou encore un fichier de dessin au format LATEX.

9.1   Comment inclure des fichiers en mode verbatim ?

Le package 'verbatim', de R. Schopf, permet via la commande \verbatiminput, qui prend en argument un nom de fichier, d'inclure un fichier en mode verbatim. Ce package est disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/distribs/ ou ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/tools/.

L'environnement alltt du package du même nom (package dû à J. Braams) permet la même prouesse tout en gardant active l'interprétation des commandes LATEX dont le nom commence par le caractère \ (le "backslash" reste actif). Il est disponible dans sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/misc/ ou sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/base/.

Exemple :
 
\begin{alltt} 
   Notez la différence subtile entre $f(x)$ et 
\(f(x)\) grâce à 
   l'utilisation du "backslash". 
\end{alltt} 
%%%% fin exemple %%%%
Les commandes \listinginput et \verbatimtabinput du package 'moreverb' (disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/) permettent d'inclure des documents en mode verbatim avec ou sans numérotation des lignes du fichier inclu.

Exemple :
 

\small 
\listinginput[5]{10}{totor.c} 

Les paramètres 
[5] et {10} indiquent que la numérotation des 
lignes doit se faire de 5 en 5 en commençant à 10. 
%%%% fin exemple %%%%
Il existe aussi le package 'verbtext' disponible sur CTAN.

Le package 'fancyvrb' est également disponible sur CTAN.

Pour insérer du code lisp dans un document LATEX, il existe le package 'lispcode' disponible par ftp sur ftp://ki-server.informatik.uni-wuerzburg.de/pub/tex/.

On peut aussi essayer le package 'verbasef' (verbatim automatic segmentation of external files) disponible sur CTAN. Il utilise l'environnement figure.

Encore un autre, le package 'cprog' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/ permet d'inclure des morceaux de code dans un document et de les gérer comme des flottants.

Le package 'sverb' de M. Wooding propose un environnement listing.

9.2   Comment gérer un document par parties ?

Pour travailler sur un gros document, il est plus agréable de le découper en plusieurs fichiers. Il y aura quoiqu'il en soit un fichier principal (celui qui comprend le préambule et les commandes \begin{document} et \end{document}).

\input{fichier} permet d'inclure le fichier "fichier" dans le fichier principal. Cette commande réalise une importation pure et simple. Elle est plutôt réservée à l'importation de fichiers de macros.

\include{chapitre} permet d'intégrer le fichier "chapitre.tex" dans le document principal en commençant une nouvelle page. Cette commande réinitialise la numérotation des titres. Utilisée avec la commande \includeonly{chapitre}, cette commande mise dans le préambule, permet de ne recompiler le fichier principal que sur les parties indiquées.

Remarque :
la commande \include ne permet pas d'intégrer un fichier contenant lui-même une commande \include.
Exemple :
 
\documentclass{report} 
\includeonly{chap1, chap3} 
\begin{document} 
\include{chap1} 
\include{chap2} 
\include{chap3} 
\end{document} 
%%%% fin exemple %%%%
Remarque :
avec le package 'french', pour que la numérotation des chapitres ne soit pas réinitialisée lorsqu'on change de partie, il faut ajouter la commande \noresetatpart en début de document après le \begin{document}

9.3   Comment isoler une partie d'un fichier ps ou dvi ?

Il faut utiliser un outil qui permet de découper en page :

9.4   Comment inclure un fichier PICT ?

On peut utiliser la commande \special{pictfile mondessin.pict} ou \put(0,0){\special{pict=Mondessin}}.

9.5   Comment spécifier un chemin pour les fichiers à inclure ?

Il suffit d'utiliser la commande \import{chemin}{fichier}. Elle évite de préciser le chemin où se trouvent les fichiers appelés par la commande \input à chaque appel.

%%%% debut macro %%%% 
% import.sty: allows input of a file from another directory: 

\import{path}{file}

 

\def\import{\begingroup 
  
\protected@edef\@tempa{\endgroup 
    
\noexpand\@import{\@ifundefined{input@path}{}{\input@path}}% 
    {
\@ifundefined{Ginput@path}{}{\Ginput@path}}}% 
  
\@tempa} 
\def\@import#1#2#3#4{% 
  
\def\input@path{{#3}#1}\def\Ginput@path{{#3}#2}% 
  
\input{#4}% 
  
\def\input@path{#1}\ifx\input@path\@empty \let\input@path\@undefined \fi 
  
\def\Ginput@path{#2}\ifx\Ginput@path\@empty \let\Ginput@path\@undefined  
\fi 

%%%% fin macro %%%%
Exemple :
 
\import{Chapitres/}{chapitre1} 
%%%% fin exemple %%%%
Pour les figures, la package 'graphicx' propose la commande \graphicspath à utiliser en tête de document.

Exemple :
 
\graphicspath{{Chapitre1/gfx/}{Chapitre2/gfx/}} 
%%%% fin exemple %%%%
On peut également modifier certaines variables d'environnement lorsqu'elles existent.

Exemple (UNIX tcsh) :
 
setenv TEXINPUTS /home/figures/:"$TEXINPUTS" 
%%%% fin exemple %%%%

Previous Contents Next