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 :
-
un fichier postscript,
-
il s'agit des outils PSnup, PStoPS, PSSelect, qui ont été portés sur
Mac, aussi bien pour MPW qu'en "stand-alone" (dans
la distribution CMacTeX)
- on peut également utiliser ghostview (save marked pages) disponible
par ftp sur ftp://iphthf.physik.uni-mainz.de/pub/gv/
- un fichier dvi ?
-
DVIDVI pour MPW (utilitaire qui fait bien d'autres choses que de découper)
doit permettre de faire cela.
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 %%%%