%+----------------------------------------------------------------------------+
%|                Documentation sur TeX : mise en oeuvre sur PC               |
%+----------------------------------------------------------------------------+
% Michel Quercia, le 29/10/94


% Macros ---------------------------------------------------------------------

\input carnot.mac       % Macros publiques du lycée Carnot

\def\erreur{%           % contrôle le format utilisé
\write16{}
\write16{Erreur de format ! Compilez moi avec le format PLAIN svp}
\write16{}
\csname end\endcsname}
\ifplainmt\else\ifplainlb\else\let\erreur=\relax\fi\fi\erreur

% retirer le commentaire suivant pour activer l'inclusion des images Postscript
\input psfig.sty

\ifx\psfig\undefined
  \def\psfig#1{\fauxpsfig#1\relax}
  \def\fauxpsfig#1file=#2,#3\relax{\it dessin #2}
  \let\psscalefirst=\relax
\fi

\input ibm.mac          % touches du clavier IBM
\let\touche=\touchecarree% pbs avec Postscript pour les touches rondes
\defverbatimchars[][]   % [ et ] encadrent le mode verbatim

\def\partie#1{%         % nouvelle partie
\SV\filbreak            % grand saut vertical
\leftskip=7mm           % restaure la marge
\noindent               % pas d'indentation pour le titre
\hskip-\leftskip        % titre dans la marge
{\gros\bfsl#1}%         % en gras italique
\sv}                    % petit espace vertical

\def\souspartie#1{%     % nouvelle sous-partie
\filbreak               % coupure éventuelle de page
\sv                     % petit espace vertical
\leftskip=7mm           % restaure la marge
\noindent               % pas d'indentation pour le titre
\hskip-\leftskip        % titre dans la marge
{\bfsl#1}%              % en gras italique
\sv}                    % petit espace vertical

% \sv avec filbreak incorporé
\def\ssv{\filbreak\vskip 4mm plus 2mm minus 2mm}


\def\enum{\decale 7mm/} % énumération
\def\cmd{\decale 2em/}  % liste de commandes

\def\decale#1/#{%
\sv                     % espace insécable
\bgroup                 % modifications locales
\advance\leftskip #1%   % nouvelle marge
\parindent=0pt          % plus d'indentation en début de paragraphe
\bgroup                 % simule l'accolade ouvrante
\aftergroup\findecale   % prépare la fin
\def\em{\svdeux\enmarge{-- }}%  nouvel item
\def\svdeux{\let\svdeux=\ssv}%       \ssv à retardement
\let\test=}             % mange l'accollade qui suit
\def\findecale{\ssv\egroup}

% liste de fichiers
\def\liste{%
\sv                     % espace insécable
\bgroup\petit           % petits caractères
\halign\bgroup          %
    \hskip\leftskip     % marge gauche
    \qquad\tt##\hfil    % colonne nom
    &\quad##\hfil       % colonne explication
    &\qquad\tt##\hfil   % colonne nom
    &\quad##\hfil       % colonne explication
    \cr                 %
}
\def\finliste{\egroup\egroup\ssv}

% Lettrine
\font\lettfont=cmr10 scaled \magstep5
\def\Lettrine#1{\bgroup\suitelettrine#1\egroup}
\def\suitelettrine#1{%
\setbox0=\hbox{\lettfont#1}%
\dimen0=\wd0\advance\dimen0 6pt
\global\hangindent=\dimen0
\global\hangafter=-2
\noindent\hskip-\dimen0
\smash{\lower 12pt\box0}%
\smc}

% Abréviations --------------------------------------------------------------

\def\Adobe     {{\smc Adobe}}
\def\ansi      {{\smc ansi}}
\def\ascii     {{\smc ascii}}
\def\Bezier    {{\smc Bézier}}
\def\cm        {{\smc cm}}
\def\dos       {{\smc dos}}
\def\draw      {{\smc windows draw}}
\def\dviwindo  {{\smc dviwindo}}
\def\emtex     {{\smc emtex}}
\def\gh        {{\smc ghostscript}}
\def\kedit     {{\smc kedit}}
\def\Knuth     {{\smc Knuth}}
\def\Lucida    {{\smc lucida}}
\def\maple     {{\smc maple v3}}
\def\plain     {{\smc plain}}
\def\ps        {{\smc post\-script}}
\def\texshell  {{\smc texshell}}
\def\Times     {{\smc times}}
\def\TT        {{\smc truetype}}
\def\Typ       {{\smc type1}}
\def\w         {{\smc windows}}
\def\yytex     {{\smc y\&ytex}}

\def\Latex{{\rm L\kern-.36em\raise.3ex\hbox{\the\scriptfont0 A}\kern-.15em
            T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\def\Amstex{{\the\textfont2 A\kern-.1667em%
             \lower.5ex\hbox{M}\kern-.125emS}-\TeX}

% Titre ---------------------------------------------------------------------

\null\vskip 3cm
\centerline
{\font\titre=cmb10 scaled \magstep5
 \titre
 Mise en \oe uvre de \TeX\ sur PC
}\sv
\centerline{\petit Michel Quercia, octobre 1994}
\vskip 1.8cm

% Présentation ---------------------------------------------------------------

\partie{1. Présentation~:}

\Lettrine{Entre} le moment où vous décidez d'écrire vos mémoires en \TeX\ et celui où la
dernière page sort de l'im\-pri\-mante, il se déroule plusieurs étapes~:

\enum{
\em \'Edition du {\it fichier source\/} [memoires.tex]
\em Constitution des illustrations à l'aide d'un logiciel de dessin.
    Ces illustrations sont enregistrées au format {\it postscript encapsulé\/}
    dans les fichiers [naissanc.ps], [communio.ps], [mariage.ps], \dots
\em Compilation du fichier [memoires.tex] par \TeX\ qui produit un
    compte-rendu d'erreurs dans [memoires.log] et la
    description du document en termes de caractères, positions, fontes,%
    \dots\ dans [memoires.dvi].
    Les illustrations ne sont pas gérées par \TeX\ qui se borne à recopier
    les noms des fichiers \ps\ dans [memoires.dvi] et à tenir compte
    de la taille des dessins dans la mise en page.
\em Affichage de [memoires.dvi] sur un écran graphique par un
    {\it driver écran\/} ou dans une fenêtre \w\ par un {\it driver windows}.
    Les illustrations \ps\ ne sont pas affichées, mais l'espace qui
    leur a été attribué par \TeX\ est laissé en blanc.
\em Impression de [memoires.dvi] sur une imprimante ordinaire
    (à aiguilles, jet d'encre ou laser) par un {\it driver imprimante}.
    Là encore, les illustrations sont laissées en blanc.
\em Traduction de [memoires.dvi] au format \ps\ par un {\it driver postscript\/}
    qui produit le fichier [memoires.ps]. Lors de la traduction, les
    illustrations sont (enfin) incluses dans le code \ps\ produit.
\em Affichage de [memoires.ps] sur un écran graphique ou dans une
    fenêtre \w\ par un {\it interpréteur post\-script\/}. On peut voir le document
    tel qu'il sera imprimé, et constater que les illustrations sont
    correctement placées.
\em Impression de [memoires.ps] soit directement sur une imprimante \ps,
    soit sur une imprimante non \ps\ par l'intermédiaire de l'interpréteur
    \ps\ précédement mentionné.
\em C'est terminé, vous pouvez porter les feuilles à la reprographie et
    effacer du disque dur tous les fichiers auxilliaires créés afin
    de faire de la place pour le deuxième tome. Conservez sur disquette
    le fichier source [memoires.tex] et les dessins [naissanc], [communio],
    [marriage], \dots\ au format natif du logiciel de dessin (et non au
    format \ps\ qui est trop volumineux et ne vous permettrait pas de
    retoucher ultérieurement ces dessins).
\em Pour une publication à grande échelle, transmettez le fichier
    [memoires.ps] à votre imprimeur qui le tirera sur une photocomposeuse
    (imprimante de très haute résolution~: au moins 1200dpi).
    Dans certains cas, il préfèrera convertir lui-même le fichier
    [memoires.dvi] ou même [memoires.tex] et inclure les illustrations
    selon un format particulier.
}

Voilà, c'est un peu long, mais la qualité (esthétique) du document obtenu
vaut bien tous ces efforts. Vous pouvez remarquer que la procédure se simplifie
notablement s'il n'y a pas d'illustrations, mais un livre sans images est bien
triste~\dots
\ssv

Je vais détailler chacune des ces étapes en indiquant quels sont les logiciels
et fichiers annexes nécéssaires, et j'en profiterai pour décrire les deux
installations de \TeX\ présentes au labo d'informatique~: \emtex\ sur le
mini-tour près de la fenêtre, et \yytex\ sur le {\it desktop\/} du milieu.
Il y a deux installations différentes car \emtex\ est librement copiable et
déjà installé chez certains d'entre vous, tandis que \yytex\ est plus
performant, mais relève du domaine commercial (le prix est d'environ 300\$).

\sv\centerline{\psfig{file=naissanc.ps,height=4cm}}

% Edition du source ----------------------------------------------------------

\partie{2. \'Edition du fichier source~:}

\Lettrine{N'importe} quel éditeur \ascii\ peut convenir, le choix en la matière
est uniquement une affaire de goût et d'habitude. Il faut toutefois faire
attention au problème des caractères accentués qui ne sont pas codés de la
même manière sous \dos\ et sous \w\ (je reviendrai plus loin sur ce problème).
Si vous n'avez pas d'éditeur préféré, je vous conseille d'adopter soit
\texshell\ qui est fourni avec \emtex\ et est fortement inspiré de l'éditeur
du {\smc turbo-pascal 5.5}, soit \kedit\ qui est commercialisé par {\smc Mansfield
Software Group} au prix de 180\$ (dernier tarif connu de 1992).
Ces deux éditeurs tournent sous \dos\ (donc adoptent le codage \dos\ des lettres
accentuées), permettent l'édition simultanée de plusieurs fichiers (en
particulier du source [.tex] et du fichier d'erreurs [.log]), et disposent
de commandes pour compiler le fichier source sans quitter l'éditeur, et
localiser les erreurs dans le fichier source par une analyse sommaire
du fichier [.log].
\ssv

\noindent
Les fichiers nécéssaires à \texshell\ et \kedit\ sont~:\sv
\liste
------------ &\texshell                                   &----------- &\kedit                                      \cr
texshell.com &exécutable                                  &x.exe       &ou [kedit.exe]~: exécutable                 \cr
texshell.ovl &complément de l'exécutable                  &profile.kex &fichier de configuration                    \cr
texshell.cfg &fichier de configuration                    &tex.kml     &macros [kedit] gérant l'environnement \TeX  \cr
texshell.hlp &aide en ligne                               &accents.kex &conversion des caractères accentués         \cr
texshell.txt &messages d'erreurs et légendes diverses     &caseword.kex&Majuscules $\<->$ minuscules                \cr
texshell.doc &mode d'emploi de \texshell                  &encadre.kex &macro traçant un cadre                      \cr
             &                                            &number.kex  &numérote les lignes                         \cr
             &                                            &ringlist.kex&sélection de fichier                        \cr
             &                                            &khelp.exe   &exécutable pour l'aide en ligne             \cr
             &                                            &kref50.hlp  &texte de l'aide en ligne                    \cr
\finliste\ssv

Personnellement, je préfère \kedit\ qui offre des fonctions d'édition plus
puissantes et est programmable (dans le langage {\smc rex}), ce qui permet
d'ajouter de nouvelles fonctions lorsque le besoin s'en fait sentir. Le fichier
[tex.kml] est un exemple d'une telle extension~: en moins de 60 lignes de {\smc rex},
il implémente l'appel de \TeX, le choix d'un format et l'analyse du fichier
[.log] pour localiser les erreurs.

% Réalisation des dessins ----------------------------------------------------

\partie{3. Réalisation des dessins~:}

\Lettrine{Il existe} de nombreux logiciels de dessin sur PC, la plupart fonctionnant
sous \w. Compte tenu des prix d'acquisition et du temps nécéssaire à leur
apprentissage, je n'en ai essayé qu'un~: \draw\ qui ne me donne pas entièrement
satisfaction, mais suffisament quand même pour que je m'y tienne.
\draw\ est commercialisé par la {\smc Camif} au prix de 480F.
\ssv

On peut obtenir sans peine un dessin constitué de lignes droites et de
courbes de \Bezier\ avec une épaisseur réglable, pointillés, flêches et
même légendes dans une fonte quelconque connue de \w. Tous ces éléments
peuvent être disposés, déplacés et déformés indépendament les uns des autres
avec la souris. Le format natif d'enregistrement (format [.drw]) est
suffisament compact pour que l'on puisse archiver les dessins sur disquette.
\ssv

Pour enregistrer un dessin au format \ps, sélectionner l'ensemble du dessin
(menu {\tt Edition-Tout sélec\-tionner}) puis demander l'exportation
 au format \ps\ (menu [Fichier-Exporter], [Type de fichier PS]).
Les types de fichier [EPS] sont à éviter car \draw\ y inclut des données
binaires et cela peut gêner le traitement de ces fichiers par \TeX.
Les fichiers [.ps] produits par \draw\ présentent quand même deux défauts
pour leur utilisation directe avec \TeX~:

\enum{
\em Le premier caractère du fichier est un caractère \ascii-4 (Ctrl-D,
représenté sous \dos\ par un petit losange) qui signifie en \ps\ que le
travail précédent est terminé. Certaines versions de \TeX\ déclenchent une
erreur en lisant ce caractère, aussi est-il préférable de le supprimer
(un fichier \ps\ est codé en \ascii\ donc peut être édité avec \texshell\
ou \kedit).
Le dernier caractère du fichier est aussi un \ascii-4, mais sa présence ne
gêne pas car \TeX\ cesse de lire le fichier \ps\ lorsqu'il a obtenu les
dimensions du dessin, et ceci doit normalement se produire avant la fin
du fichier.

\em Les dimensions du dessin doivent être indiquées dans les premières
lignes par un commentaire \ps\ de la forme~:

\cmd{[%%BoundingBox: ]\it xmin ymin xmax ymax}

où {\it xmin \dots\ ymax} sont des dimensions exprimées en 72$^{\text{e}}$ de
pouce (soit 0.35mm). Malheureusement, \draw\ place deux commentaires
[%%BoundingBox] dans ses fichiers~:
\sv

\halign{\hskip\leftskip\qquad#\hfil&\quad#\hfil\cr
[%%BoundingBox: (atend)]                   &placé au début du fichier,\cr
[%%BoundingBox: ]{\it xmin ymin xmax ymax} &placé à la fin du fichier.\cr}
\ssv

Cette syntaxe est acceptée par la norme \ps, mais elle oblige \TeX\ à lire
la totalité du fichier [.ps] pour obtenir les dimensions, et elle n'est
pas reconnue par le driver \dviwindo.
La correction de ce deuxième défaut consiste à remplacer [(atend]) par
les dimensions effectives de la [BoundingBox].
Cette manipulation et la suppression du caractère \ascii-4 sont sans danger
pour le dessin codé dans le fichier.
}

Un autre logiciel produisant des dessins en \ps\ est \maple\ (la version 2
a aussi cette capacité sous \dos, mais pas sous \w).
Pour faire sortir le résultat d'une commande [plot] ou [plot3d] dans un
fichier \ps\ plutôt qu'à l'écran, entrez les commandes suivantes~:

\cmd{
[plotsetup(ps);
interface(plotoutput=`dessin1.ps`);
plot(...);
interface(plotoutput=`dessin2.ps`);
plot(...);
...
]}

Il faut changer le nom de fichier à chaque [plot] sous peine de ne pas
pouvoir séparer les dessins ultérieurement, je vous renvoie à mon papier sur les
équations différentielles qui présente une solution pour numéroter
automatiquement les dessins.
Le code \ps\ produit par \maple\ est très compact et peut être utilisé
directement dans un document \TeX\ sans modification.
\ssv

Avant de poursuivre le traitement \TeX, il est bon de s'assurer que les
fichiers \ps\ obtenus de \draw\ ou \maple\ sont corrects, reportez-vous
pour cela à la section 6~: \gh.
L'inclusion dans un document \TeX\ est réalisée en plaçant la
commande~:

\cmd{[\input psfig.sty]}

\noindent
au début du fichier source,
et pour chaque dessin à inclure, en plaçant à l'endroit choisi la commande~:

\cmd{[\psfig{file=]{\it nom\_de\_fichier.ps}[,height=]{\it hauteur}%
     [,width=]{\it largeur}[,angle=]{\it angle\_de\_rotation}[}]}

\noindent
Les paramètres [height], [width] et [angle] sont facultatifs~:

\enum{
\em Si ni [height] ni [width] ne sont donnés, le dessin inclus aura les
    dimensions indiquées dans le fichier \ps\ par la ligne [%%BoundingBox].

\em Si [height] ou bien [width] est spécifié, le dessin inclus sera réduit ou
    agrandi par homothétie de façon que la hauteur ou la largeur corresponde à
    la dimension donnée.

\em Si [height] et [width] sont spécifiés, le dessin est déformé par affinités
    pour occuper le rectangle indiqué.

\em Si [angle] n'est pas spécifié, le dessin est placé avec l'orientation
    qu'il a dans dans le fichier \ps.

\em Si [angle] est spécifié (l'unité est le degré), le dessin subit la rotation
    indiquée. Par défaut, les paramètres [height] et [width] s'appliquent
    {\it au dessin après rotation}, mais la commande [\psscalefirst] inverse
    l'ordre des transformations~: le dessin est d'abord mis à l'échelle
    demandée, puis tourné.
    Utilisez l'option [angle=270] pour inclure les dessins produits
    par \maple, qui apparaitraient sans cela en mode paysage.
}

Le positionnement des dessins dans la page peut être contrôlé à l'aide
des commandes habituelles de \TeX~: [\centerline], [\hskip], [\vskip]
ou même [\halign] ou [\valign]. Par exemple, les trois dessins suivants sont
produits à partir du fichier [parabolo.ps] créé par \maple\ et disposés en
ligne avec la commande~:

\cmd{
[{\psscalefirst
\tabskip=0pt plus 1fil
\halign to \hsize{&\hfil#\hfil\cr
 \psfig{file=parabolo.ps,width=4cm}
&\psfig{file=parabolo.ps,width=4cm,angle=315}
&\psfig{file=parabolo.ps,width=4cm,angle=270}
\cr
 paysage
&on tourne
&portrait
\cr}}]}
\vskip-4mm

{\psscalefirst
\tabskip=0pt plus 1fil
\halign to \hsize{&\hfil#\hfil\cr
 \psfig{file=parabolo.ps,width=4cm}
&\psfig{file=parabolo.ps,width=4cm,angle=315}
&\psfig{file=parabolo.ps,width=4cm,angle=270}
\cr
 paysage
&on tourne
&portrait
\cr}}\ssv

Le cadre autour de chaque paraboloïde a été placé par \maple, légèrement
à l'intérieur du rectangle défini par la [BoundingBox], ce qui fait que sa
largeur n'est pas exactement de 4cm.
Si vous voulez que \maple\ ne trace pas de cadre, activez la sortie
\ps\ par la commande~:

\cmd{[plotsetup(ps,plotoptions=`noborder`);]}

% Compilation -----------------------------------------------------------------

\partie{4. La compilation~:}

\Lettrine{Pour} réussir la compilation d'un document \TeX, il faut bien sûr disposer
d'un compilateur, mais aussi de fichiers de macros, de fichiers format
et de fichiers de fontes.

% Les fichiers de macros ------------------------------------------------------

\souspartie{4-1. Les fichiers de macros~:}

\Lettrine{Les définitions} de macros sont regroupées dans des fichiers que l'on charge
avec le document \TeX\ par la commande [\input]. L'extension par défaut est
[.tex], mais d'autres extensions sont courament utilisées, notament [.sty]
et [.mac].
\Knuth\ a défini un jeu minimal de macros regroupées dans les fichiers
[plain.tex] pour les définitions et dans [hyphen.tex] pour les règles de césure
américaines. Comme les macros de [plain.tex] sont quelque peu spartiates,
plusieurs spécialistes ont défini des extensions de ce jeu~:

\enum{
\em[latex.tex]~: créé par Leslie {\smc Lamport} contient des macros
   permettant de structurer un document en parties, chapitres, sections,\dots,
   de tracer quelques figures simples sans faire appel au langage \ps, et de
   constituer automatiquement une table des matières, un index à plusieurs
   niveaux et une table des références bibliographiques. Les documents
   préparés avec \Latex\ peuvent faire appel à des {\it feuilles de style\/}
   qui sont des fichiers de macros \TeX\ ou \Latex\ ayant généralement
   l'extension [.sty].
   Un document \Latex\ se reconnaît à la présence dans les premières lignes
   du fichier de la commande~:\sv
   \qquad[\documentstyle]{\tt \char91\dots\char93\char123\dots\char125}
   \ssv\noindent
   où {\tt \char91\dots\char93\char123\dots\char125} définissent les feuilles
   de style à employer.

\em[amstex.tex]~: créé par {\smc Spivak} pour le compte de
   l'{\smc American Mathematical Society} contient aussi des macros de
   structuration d'un document, mais surtout des macros facilitant
   le codage de formules mathématiques complexes, tableaux et diagrammes
   commutatifs, ainsi que des symboles divers et variés tels que
   {\font\msa=msam10\msa\char33\char34\char35{\rm\ ou }\char84}, et
   les lettres à double barre {\font \msb=msbm10\msb AB{\rm\dots}Z}.

\em[carnot.mac]~: créé par moi-même pour mon usage personnel et pour
   faciliter l'initiation à \TeX\ des collègues du lycée {\smc Carnot} (non
   exclusivement). [carnot.mac] est un pot-pourri de macros puisées dans
   [latex.tex] et [amstex.tex] en fonction des besoins.
   Si \Latex\ et \Amstex\ sont des produits relativement stables~: il sort une
   nouvelle version tous les 2--3 ans, [carnot.mac] a une évolution beaucoup
   plus rapide~: il sort une nouvelle version tous les quinze jours environ,
   et plus fréquement en période de vacances. Les modifications majeures
   sont annoncées par voie de presse, et vous pouvez toujours trouver la
   dernière mouture sur les ordinateurs du labo.

\em[a4.tex]~: créé par {\smc Seroul} pour l'initiation à \TeX\ également.
   Par rapport à [carnot.mac], [a4.tex] présente l'avantage de mieux prendre en
   compte les règles de typographie françaises qui diffèrent parfois des règles
   américaines implantées dans [plain.tex].
}

[amstex.tex], [carnot.mac] et [a4.tex] sont compatibles avec [plain.tex], c'est
à dire que leur utilisation requiert le chargement préalable de [plain.tex],
par contre, [latex.tex] nécessite une version modifiée~: [lplain.tex].
Je signale au passage qu'{\it il est formellement interdit\/} de modifier
[plain.tex] (ou tout autre fichier de macros dont vous n'êtes pas l'auteur),
mais que vous êtes autorisés à le recopier sous un autre nom et à modifier
cette copie, de préférence en signalant les modifications par des
commentaires appropriés. Les contrevenants à cette interdiction s'exposent
à la réprobation publique et à de graves problèmes de compatibilité dans
l'échange de documents \TeX.
\ssv

Bien entendu, aucune des extensions de [plain.tex] n'est compatible avec aucune
autre, mais je crois savoir que les concepteurs de \Latex\ et \Amstex\ se sont
mis d'accord sur une version hybride~: [amslatex.tex] dont je ne connais que
l'existence.
\ssv

Le format le plus utilisé de par le monde est \Latex, et même si vous ne
l'utilisez pas vous-même, vous aurez affaire à lui tôt ou tard, notament
pour imprimer ou visualiser les documentations des {\it packages\/} de \maple,
ou même seulement pour imprimer les feuilles de calcul de \maple\ sous \w\
avec une qualité bien supérieure à celle qu'offre l'impression directe par \w\
(menu [Fichier-Imprimer]).
Pour obtenir une version \Latex\ de votre feuille de calcul, sauvez la dans
un fichier d'extension [.tex] (menu [Fichier-Enregistrer sous])~: \maple\
demande si les formules mathématiques doivent être formatées sur des lignes
de 6 pouces de long, répondez oui, c'est très bien ainsi.
Le fichier \Latex\ produit ne contient pas les graphiques inclus dans la
feuille de calcul, mais ils sont signalés par des commentaires~:

\cmd{[%%Graphic: ...]}

\noindent
Pour ajouter lesdits graphiques, vous devez relancer l'exécution de la feuille
de calcul en ayant pris soin de rediriger les sorties dans des fichiers \ps\
(voir la section précédente à ce sujet). Vous pouvez alors remplacer les
commentaires [%%Graphic] par~:

\cmd{[\mapleplot{]{\it nom\_de\_fichier.ps}[}]}

\noindent
La macro [\mapleplot] est définie dans la feuille de style [mapleenv.sty]
et appelle [\psfig] avec les paramètres appropriés.
Personnellement, je trouve les dessins inclus de cette manière trop petits,
aussi j'ajoute au début du fichier, entre les lignes [\documentstyle] et
[\begin{document}], les commandes~:\sv
\qquad[\multiply\MaplePlotHeight by 2]\par
\qquad[\multiply\MaplePlotWidth  by 2]\ssv\noindent
Attention aux majuscules~: [\mapleplot], mais [\MaplePlotHeight] et
[\MaplePlotWidth].
\ssv

\noindent
Liste des fichiers utiles avec [plain.tex] ({\tt *} désigne un fichier particulier à \yytex)~:
\liste
--------------   &\plain                                             &--------------   &utilitaires                                        \cr
\ plain.tex      &macros \plain                                      &\ epsf.tex       &inclusion d'images \ps                             \cr
 *plain-lb.tex   &\plain\ modifié pour \Lucida                       &\ dragon.tex     &imprime la courbe du dragon                        \cr
 *plain-mt.tex   &\plain\ modifié pour \Times                        &\ rotate.tex     &rotation de texte (en \ps)                         \cr
\ hyphen.tex     &table de césure                                    &\ bpifont.tex    &imprime une fonte                                  \cr
 *lbrplain.tex   &fontes \Lucida                                     & *ansitest.tex   &test des accents \ansi                             \cr
 *lcdplain.sml   &fontes \Lucida\ sous \plain                        & *chironmt.tex   &test de \Times                                     \cr
 *lcdplain.tex   &fontes \Lucida\ sous \plain                        & *mttest.tex     &test des fontes \Times                             \cr
 *mtmacs  .doc   &macros {\smc mathtime}                             & *mttortur.tex   &test des fontes \Times                             \cr
 *mtmacs.tex     &macros {\smc mathtime} (compacté)                  &                 &                                                   \cr
 *mtplain.tex    &fontes \Times\ sous \plain                         &--------------   &exemples                                           \cr
                 &                                                   &\ emlines.tex    &utilisation des {\tt \char92special} de \emtex     \cr
--------------   &caractères accentués                               & *hyper.tex      &document hypertexte                                \cr
 *accents.tex    &général                                            & *showtiff.tex   &affichage d'une image {\smc tiff}                  \cr
 *ansiacce.sav   &\ansi, original                                    &\ tpictest.tex   &dessin avec {\smc tpic}                            \cr
 *ansiacce.tex   &\ansi, modifié                                     & *truetype.tex   &utilisation des fontes \TT                         \cr
 *dcaccent.tex   &{\smc dc}                                                                                                                \cr
 *stanacce.tex   &{\smc standard encoding}                                                                                                 \cr
 *encode.tex     &mathématiques, général                                                                                                   \cr
 *encodean.tex   &mathématiques, \ansi                                                                                                     \cr
 *encodese.tex   &mathématiques, {\smc standard encoding}                                                                                  \cr
\finliste

\noindent
Liste des fichiers utiles avec [carnot.mac] ~:
\liste
-------------- &macros                                            &-------------- &divers                                                  \cr
\ carnot.mac   &macros publiques de {\smc Carnot}                 &\ init.tex     &exercices d'initiation (1994)                           \cr
\ carnot.doc   &documentation de {\tt carnot.mac}                 & *l.bat        &liste un fichier \ascii                                 \cr
\ exos.mac     &macros publiques pour feuilles d'exercices        &\ listing.tex  &macros de listing pour {\tt l.bat}                      \cr
\ exos.doc     &documentation de {\tt exos.mac}                   &\ mesure.tex   &réglages pour impression                                \cr
\ exos.dem     &exemple de feuille d'exercices                    & *texsurpc.tex &mise en \oe uvre de \TeX\ sur PC                        \cr
\ pb.mac       &macros pour sujets de problèmes                                                                                            \cr
\ mapleplo.mac &graphiques produits par \maple                                                                                             \cr
\ texcodes.doc &documentation sur les macros de \plain                                                                                     \cr
\finliste

\noindent
Liste des fichiers utiles avec \Latex~:
\liste
  -------------- &\Latex                                               &  -------------- &options (suite)                                  \cr
\ lplain.tex     &\plain\ modifié pour \Latex                          &\ fleqn.sty      &numéros d'équations flottants                    \cr
 *lplain-l.tex   &{\smc lplain} modifié pour \Lucida                   &\ fullpage.sty   &format pleine page (\maple)                      \cr
\ latex.tex      &macros \Latex                                        &\ leqno.sty      &numéros d'équations à gauche                     \cr
\ lfonts.tex     &fontes \cm\ et \Latex                                &\ ifthen.sty     &macro \tt\char92ithenelse                        \cr
 *lfonts-l.tex   &fontes \Lucida\ pour \Latex                          &\ leftpar.sty    &formatage des paragraphes (\maple)               \cr
 *lfonts-m.tex   &fontes \Times\      pour \Latex                      &\ makeidx.sty    &constitution d'un index                          \cr
\ lhyphen.tex    &table de césure                                      &\ maple.sty      &commandes \maple\ en verbatim                    \cr
 *lcdlatex.sml   &fontes \Lucida\ sous \Latex                          &\ maplems.sty    &feuille de calcul \maple                         \cr
 *lcdlatex.tex   &fontes \Lucida\ sous \Latex                          &\ mapleenv.sty   &macros pour \tt mapleems.sty                     \cr
 *mtlatex.tex    &fontes \Times\      sous \Latex                      & *mathtime.sty   &fontes \Times\      sous \Latex                  \cr
                 &                                                     & *mathtimx.sty   &fontes \Times\      sous \Latex                  \cr
  -------------- &feuilles de style                                    &\ openbib.sty    &compose une bibliographie                        \cr
\ article.sty    &style article                                        &\ proc.sty       &proceedings                                      \cr
\ art10.sty      &10pt                                                 &\ psfig.sty      &inclusion d'images \ps                           \cr
\ art11.sty      &11pt                                                 &\ shadow.sty     &cadres avec ombre (\maple)                       \cr
\ art12.sty      &12pt                                                 &\ showidx.sty    &imprime les indexs dans la marge                 \cr
\ book.sty       &style book                                           &\ twocolum.sty   &double colonnage                                 \cr
\ bk10.sty       &10pt                                                 &                 &                                                 \cr
\ bk11.sty       &11pt                                                 &  -------------- &utilitaires                                      \cr
\ bk12.sty       &12pt                                                 &\ idx.tex        &imprime un index                                 \cr
\ german.sty     &style allemand (\maple)                              &\ makeinde.tex   &documentation de \tt makeindex                   \cr
\ letter.sty     &style letter                                         &\ lablst.tex     &imprime une liste de labels                      \cr
\ report.sty     &style report                                         &\ testa4.tex     &réglage de l'imprimante                          \cr
\ rep10.sty      &10pt                                                 &\ testpage.tex   &réglage de l'imprimante                          \cr
\ rep11.sty      &11pt                                                 &\ tryfonts.tex   &imprime une fonte                                \cr
\ rep12.sty      &12pt                                                 &                 &                                                 \cr
\ titlepag.sty   &style titlepage                                      &  -------------- &divers                                           \cr
                 &                                                     &\ small.tex      &exemple de fichier \Latex                        \cr
  -------------- &options                                              &\ sample.tex     &exemple de fichier \Latex                        \cr
\ a4.sty         &format A4 (\maple)                                   &\ psfig-do.tex   &documentation de \smc psfig                      \cr
\ amssym.sty     &symboles \Amstex                                     &\ latex   .ins   &installation de \Latex                           \cr
\ bezier.sty     &courbes de \Bezier                                   &\ local.tex      &mode d'emploi de \Latex                          \cr
\ darticle.sty   &articles en allemand (\maple)                        &\ latex   .bug   &bogues de \Latex                                 \cr
\ dina4.sty      &format A4 allemand (\maple)                          &\ addendum.tex   &erreurs dans le manuel \Latex                    \cr
\finliste

\centerline{\psfig{file=newton.ps,height=5cm}}

% Les fichiers format --------------------------------------------------------

\souspartie{4-2. Les fichiers format~:}

\Lettrine{Vous} avez certainement remarqué qu'aucun document \TeX\ ne commence par
[\input plain] ou [\input latex] mais par contre, les documents utilisant [carnot.mac]
ou [a4.tex] doivent comporter la commande [\input] appropriée (ou éventuellement
charger un autre fichier de macros tel [exos.mac] qui appellera [carnot.mac]).
Ceci est dû aux {\it fichiers format\/} présents dans l'ordinateur~:
Le chargement d'un fichier de macros et son interprétation prennent du temps,
aussi \Knuth\ a-t-il prévu un mécanisme permettant d'interpréter une bonne fois
pour toutes les macros d'un fichier et de sauver le résultat binaire de cette
interprétation dans un fichier format d'extension [.fmt].
Cette pré-compilation est réalisée par le programme [initex] qui n'est autre
que [tex] lancé avec l'option [-i]. Lorsque [tex] est lancé sans cette
option, c'est à dire en usage normal, il charge le fichier [.fmt] approprié
avant toute chose, ce qui a pour effet de rendre disponibles les macros et
réglages précompilés. Le nom du fichier [.fmt] à charger est spécifié sur
la ligne de commande~:

\cmd{[tex &]{\it fichier\_format.fmt\quad fichier\_tex.tex}}

\noindent
Vous n'aurez probablement jamais à taper cette commande, les fichiers de
configuration de \kedit, \texshell\ et autres menus s'en chargent pour vous.
Si le fichier format n'est pas spécifié ou n'est pas trouvé, [tex] charge
automatiquement [plain.fmt].
Les fichiers format disponibles au labo sont~:

\liste
[plain.fmt   ] &\plain                                    \cr
[plain-mt.fmt] &\plain\ avec les fontes \Times\  (\yytex) \cr
[plain-lb.fmt] &\plain\ avec les fontes \Lucida\ (\yytex) \cr
[lplain.fmt  ] &{\smc lplain} $+$ \Latex                  \cr
\finliste

Une conséquence de ceci est que si vous modifiez [plain.tex] (ce qui est
interdit), les modifications ne prendront effet qu'après avoir reconstitué
[plain.fmt] avec [initex]. Les fichiers de commandes [iniplain.bat],
[initimes.bat], [inilucid.bat] et [inilatex.bat] réalisent les mises à
jour (ou les créations) des fichiers [.fmt] précédents.
Il n'y a pas de fichier [a4.fmt] ni [carnot.fmt] pour plusieurs raisons~:

\enum{
\em [carnot.mac] évolue trop rapidement pour que la constitution d'un
    format vaille la peine,
\em [carnot.mac] est conçu pour fonctionner avec les trois versions
    [plain.tex], [plain-mt.tex] et [plain-lb.tex], donc il faudrait
    créer en fait trois formats différents à chaque mise à jour de
    [carnot.mac],
\em [carnot.mac] ne fait pas partie de l'environnement standard \TeX,
    donc si vous transmettez à un collègue extérieur au lycée un document
    utilisant [carnot.mac], il faut qu'il puisse se rendre compte de ce
    fait. La commande [\input carnot.mac] obligatoire sert entre autres
    à cela (sinon, la compilation chez lui planterait sur la première macro
    de [carnot.mac] non définie dans [plain.tex], et il aurait du mal à
    comprendre ce qui ne va pas). Cette dernière raison s'applique
    également à [a4.tex].
}

Un dernier mot sur les fichiers format~: le contenu d'un tel fichier est
défini par le compilateur et lui seul, donc deux compilateurs différents ou
deux versions différentes du même compilateur peuvent produire des fichiers
[.fmt] différents à partir du même jeu de macros. Il ne sert donc à rien
d'archiver ou de transporter un fichier [.fmt], il faut le reconstituer sur
chaque installation.

% ce qui suit est adapté de dragon.tex
% Stuff to create the dragon curve using LaTeX circle font

\begingroup
\def\topglue{\nointerlineskip\vglue-\topskip\vglue} % for top of page

% \font\qc=lcircle1	% narrow line font
\font\qc=lcirclew at 5pt	% wide line font

% Can use following character codes for different size circles:
% 0-3, 4-7, 8-11, 12-15, 16-19, 20-23, 24-27, 28-31, 32-35, 36-39
% (except ATM 2.0 has a problem displaying character code 0).

\catcode`\ =9 \endlinechar=-1 % ignore all spaces (temporarily)
\newcount\dir \newdimen\y \newdimen\w
\newif\ifvisible \let\B=\visibletrue \let\W=\visiblefalse
\newbox\NE \newbox\NW \newbox\SE \newbox\SW \newbox\NS \newbox\EW
% \setbox\SW=\hbox{\qc a} \setbox\NW=\hbox{\qc b}
\setbox\SW=\hbox{\qc \char4} \setbox\NW=\hbox{\qc \char5}
% \setbox\NE=\hbox{\qc c} \setbox\SE=\hbox{\qc d}
\setbox\NE=\hbox{\qc \char6} \setbox\SE=\hbox{\qc \char7}
\w=\wd\SW \dimen0=\fontdimen8\qc
\setbox\EW=\hbox{\kern-\dp\SW \vrule height\dimen0 width\wd\SW} \wd\EW=\w
\setbox\NS=\hbox{\vrule height\ht\SW depth\dp\SW width\dimen0}  \wd\NS=\w
\def\L{\ifcase\dir \dy+\NW \or\dx-\SW \or\dy-\SE \or\dx+\NE\dd-4\fi \dd+1}
\def\S{\ifcase\dir \dx+\EW \or \dy+\EW \or \dx-\EW \or \dy-\NS \fi}
\def\R{\ifcase\dir \dy-\SW\dd+4 \or\dx+\SE \or\dy+\NE \or\dx-\NW\fi \dd-1}
\def\T{\ifcase\dir\kern-\w\dd+2\or\ey-\dd+2\or\kern\w\dd-2\or\ey+\dd-2\fi}
\edef\dd#1#2{\global\advance\dir#1#2\space}
\def\dx#1#2{\ifvisible\raise\y\copy#2 \if#1-\kern-2\w\fi\else\kern#1\w\fi}
\def\dy#1#2{\ifvisible\raise\y\copy#2 \kern-\w \fi \global\advance\y#1\w}
\def\ey#1{\global\advance\y#1\y}
\def\path#1{\hbox{\B \dir=0 \y=0pt #1}}
\catcode`\ =10 \endlinechar=`\^^M % resume normal spacing conventions

\newcount\n  % the current order in the \dragon and \nogard macros
\def\dragon{\ifnum\n>0{\advance\n-1 \dragon\L\nogard}\fi}
\def\nogard{\ifnum\n>0{\advance\n-1 \dragon\R\nogard}\fi}

% will need to adjust topglue and hskip if n is changed

%\topglue 0.75in
\sv
%\hskip 1.5in
% \path{\dir=3 \n=9 \dragon}
\centerline{\path{\dir=3 \n=10 \dragon}}

\endgroup
\def\w{{\smc windows}}
\ssv

% Les fichiers de fontes -----------------------------------------------------

\souspartie{4-3. Les fichiers de fontes~:}

\Lettrine{Une} {\it fonte\/} est un ensemble de {\it dessins\/} représentant des
{\it caractères\/} alphanumériques, mathématiques ou dé\-co\-ra\-tifs. La taille
d'une fonte, appelée {\it corps\/}, est la distance verticale séparant le
haut d'un {\bf d} du bas d'un {\bf p}, mais cette définition est surtout
théorique, en particulier pour les fontes mathématiques ou décoratives qui
n'ont ni {\bf d} ni {\bf p}. Le corps le plus utilisé est le corps 10 (c'est
à dire 10pt) dont une meilleure définition est qu'il va bien avec une
interligne de 12pt. \TeX\ utilise aussi les corps 7 et 5 pour les indices
et indices d'indices, et le corps 8 pour les notes de bas de page.
Une {\it famille de fontes\/} est un ensemble de fontes ayant le même "style
général", mais de corps, graisse, empattements ou inclinaison différents.
\ssv

\emtex\ est fourni avec une seule famille~: la famille \cm\ définie
par \Knuth\ à partir de la famille {\smc monotype} utilisée au siècle
précédent, et complétée des fontes propres à \Latex\ et \Amstex.
\yytex\ est fourni avec trois familles~: la famille \cm\ précédente, la
famille \Times\ réalisée pour le quotidien anglais bien connu, et la
famille \Lucida\ inspirée d'une famille de fontes datant de la renaissance.
\ssv
Chacune de ces trois familles se suffit à elle même (à cette exception près
que \Times\ et \Lucida\ ne disposent pas des petites capitales
qui sont requises pour composer un nom propre), et {\it il est déconseillé\/}
d'utiliser plusieurs familles dans un même document, pour des raisons esthétiques
mais aussi pour des raison de codages différents des caractères accentués.
D'autres fontes plus ou moins exotiques sont disponibles avec \yytex, elles ne
constituent pas des familles complètes mais peuvent être utilisées à des
fins décoratives. Consultez le catalogue des fontes au labo pour les découvrir.
\ssv

Dans un ordinateur, une fonte est représentée par au moins deux fichiers~:
un {\it fichier métrique\/} donnant les dimensions des dessins que comporte
la fonte ainsi que d'autres informations utiles à la bonne disposition de ces
dessins les uns par rapport aux autres, et un ou plusieurs {\it fichiers de
dessins\/} décrivant les dessins proprement dit. Le compilateur [tex] n'utilise
que le fichier métrique d'une fonte, tandis que les drivers utilisent les
fichiers de dessins et parfois aussi le fichier métrique.
Je vais parler ici des deux types de fichiers, même si ceux de dessins relèvent
plutôt de la section suivante sur la visualisation et l'impression des fichiers
[.dvi].
\ssv

Il existe à ma connaissance trois types de fichiers métriques
contenant plus ou moins les mêmes informations dont les extensions
sont~: [.tfm] (\TeX\ font metric), [.afm] (\Adobe\ font metric) et [.pfm]
(printer font metric).

\enum{
\em Les fichiers [.afm] sont les plus complets et servent à créer les
    [.tfm] et [.pfm] associés. Il n'existe de fichier [.afm] que pour
    les fontes vectorielles au format \Typ, mais on peut créer
    un semblant de fichier [.afm] pour les fontes bitmap ou \TT.
\em Les [.tfm] sont utilisés uniquement par \TeX\ et certains drivers.
\em Les fichiers [.pfm] sont utilisés par le programme {\smc Adobe type
    manager} ([atm]) pour afficher correctement sous \w\ les fontes \Typ.
}

\noindent
De même, il existe plusieurs formats d'enregistrement pour les dessins~:\sv
\enum{
\em Le format {\it bitmap\/} où un dessin est défini par une matrice de points
    à noircir. Cette matrice dépend de la {\it résolution\/} du dispositif
    d'affichage ou d'impression (qui s'exprime en {\it dpi}~: dots per inch),
    et il y a pour une même fonte autant de fichiers bitmap qu'il
    y a de résolutions et d'agrandissements utilisés (les notions de
    résolution et d'agrandissement ne sont pas indépendantes~: une matrice
    conçue pour une imprimante 300dpi avec l'agrandissement 1.2 peut être
    utilisée sur une imprimante 360dpi, elle correspond alors à
    l'agrandissement 1). Les fichiers bitmap portent l'extension
    [.pk] (pixel kompact ?), mais vu le grand nombre de fichiers nécéssaires
    pour une installation {\it non luxueuse\/} de \TeX\ (1000 à 2000 fichiers),
    il a été prévu de regrouper tout ou partie de ces fichiers [.pk] dans un
    seul fichier d'extension [.fli] (font library), et les drivers récents
    savent utiliser aussi bien les fichiers [.pk] que les fichiers [.fli].
    La distribution \emtex, qui utilise les fichiers bitmap, comporte
    l'utilitaire [fontlib.exe] permettant de constituer un fichier [.fli]
    à partir de fichiers [.pk] ou d'extraire les fichiers [.pk] d'un
    fichier [.fli]. Consultez le fichier [fontlib.doc] à ce propos.

\em Le format \Typ, défini par \Adobe, où un dessin est défini
    par une ou plusieurs courbes de \Bezier\ entourant la zone à
    noircir. Un seul fichier est nécéssaire pour toutes les résolutions et
    tous les agrandissements, ce qui procure bien plus de souplesse que
    le format bitmap, au prix d'une baisse de la vitesse d'affichage et
    d'impression, mais le programme [atm] qui effectue l'affichage des
    fontes \Typ\ tient à jour un cache des fontes dernièrement utilisées,
    ce qui fait que la perte de vitesse n'est guère sensible sur une machine
    rapide. Les fichiers \Typ\ portent l'extension [.pfb] (printer
    font binary), sont utilisés par les drivers \yytex,  et sont interdits
    de copie.

\em Le format \TT, défini par {\smc Apple} et {\smc Microsoft}
    pour échapper aux droits exhorbitants que réclamait \Adobe\ sur ses
    fontes (\Adobe\ a revu sa politique de prix depuis). Il s'agit là
    aussi d'une description vectorielle des dessins, et il est pratiquement
    possible de passer du format \Typ\ au format \TT\ et
    inversement, mais je ne sais pas si la qualité des dessins est conservée
    lors de la conversion. Les fichiers \TT\ portent l'extension
    [.ttf] (\TT\ font), et \w\ crée aussi lors de l'installation d'une
    fonte \TT\ un deuxième fichier d'extension [.fot] dont je
    ne connais pas l'utilité (peut-être est-ce un fichier métrique ?).
    Je ne sais pas non plus si les fichiers \TT\ sont librement
    copiables, donc dans le doute, je ne m'abstiens pas. Ce n'est pas
    vraiment important, car un seul driver (actuellement) est capable%
    \break\filbreak\noindent
    d'utiliser ce format~: [dviwindo] qui fait partie de \yytex. En
    particulier, la conversion d'un document [.dvi] utilisant des fontes
    \TT\ en \ps\ n'est pas possible avec les drivers \ps\ dont
    dispose le lycée, mais cependant, les illustrations produites sous
    \draw\ peuvent utiliser des fontes \TT, \draw\ se chargeant
    d'effectuer la conversion de format lorsqu'il traduit un dessin
    en \ps.
}

Remarque sur les corps~: On a vu précédement que résolution et agrandissement
sont deux aspects de la même notion. Il n'en est pas de même pour les corps,
du moins dans la famille \cm~: A l'intérieur de cette famille, la
sous-famille {\smc computer modern roman} contient les fontes [cmr5], [cmr6],
[cmr7], [cmr8], [cmr9], [cmr10], [cmr12] et [cmr17] de corps 5,\dots,10, 12 et 17
dont voici un échantillon ramené à 10pt par homothétie~:\sv

{\def\essai#1{\font\test=#1 at 10pt%
 \leavevmode\hbox to 15mm{#1:\hfil}{\test ABCDEFGHIJKLMNOPQRSTUVWXYZ}\par}
 \essai{cmr5}
 \essai{cmr6}
 \essai{cmr7}
 \essai{cmr8}
 \essai{cmr9}
 \essai{cmr10}
 \essai{cmr12}
 \essai{cmr17}
\ssv}

Les dessins dans les petits corps sont proportionellement plus larges et plus
épais que dans les grands corps, ce qui améliore leur lisibilité.
Par contre, dans les familles \Times\ et
\Lucida, seul le corps 10 est représenté, et les autres corps sont
obtenus par une simple homothétie.
En ce qui concerne les fichiers [.tfm], il existe des fichiers [.tfm] pour
chaque corps dans la famille \cm, tandis que \Times\ et
\Lucida\ ne disposent que des fichiers [.tfm] du corps 10~: Les opérations
d'agrandissement et réduction par homothétie sont connues de \TeX\ qui
peut faire tous ses calculs sur plusieurs fontes obtenues de cette manière à
partir d'un seul [.tfm].
\sv

\centerline{\psfig{file=lettres.ps,height=4cm}}

% Les accents ---------------------------------------------------------------

\souspartie{4-4. Les accents :}

\Lettrine{Le problème} des caractères accentués avec \TeX\ se pose à plusieurs niveaux~:
Les premières versions de \TeX\ n'acceptaient que des caractères
\ascii\ (c'est à dire de code inférieur à 128) dans les fichiers source,
et les fontes \cm\ disponibles n'avaient que de 128
dessins correspondant grosso-modo au codage \ascii.
A cette époque, pour accentuer un caractère, il fallait utiliser une
macro [\'], [\`], [\^] ou [\"] ainsi que [\c] pour la cédille, ce qui
rendait pénible la saisie de la moindre phrase en français, et avait
pour effet d'empêcher \TeX\ de couper un mot accentué en fin de ligne,
car l'accentuation était réalisée par supperposition du dessin non
accentué et du dessin de l'accent, manipulation incompatible avec
l'algorithme de césure utilisé par \TeX.
\ssv

Depuis la version 3.0, tous les compilateurs \TeX\ acceptent des codes
supérieurs ou égaux à 128 dans les fichiers source, mais les traitent de
manière différente~:

\enum{
\em \emtex\ traduit ces codes en séquences de caractères \ascii\ à l'aide
    d'une table de traduction enregistrée dans le fichier format (donc
    définie au moment de la création de ce format par [initex]).
\em \yytex, par défaut, n'effectue pas de traduction, et inscrit dans le
    fichier [.dvi] les codes qu'il trouve dans le source, qu'ils soient
    inférieurs à 128 ou non, en vérifiant quand même, à l'aide du fichier
    [.tfm], que la fonte utilisée possède bien les dessins requis.
    Une option de [y&ytex.exe] permet toutefois, {\it à l'exécution},
    de définir une table de transcodage à travers laquelle [y&ytex] fait
    passer tous les codes qu'il lit dans le fichier source~: c'est le code
    sortant de cette table qui sera éventuellement inscrit dans le [.dvi].
}

Le résultat est qu'en définissant convenablement la table de traduction pour
\emtex\ ou la table de transcodage pour \yytex, on peut demander la compilation
d'un fichier contenant des caractères accentués {\it produits au clavier\/},
à condition pour \yytex\ de disposer de fontes à 256 dessins dont ceux des
caractères accentués, ce qui est le cas.
\ssv

Tout n'est pas résolu pour autant, car il reste à s'entendre sur les codes
à attribuer aux caractères accentués dans le fichier source, et à veiller
dans le cas de \yytex\ à ce que la table de transcodage éventuelle transforme
bien ces codes en ceux utilisés pour les dessins accentués dans les fontes.
Hélas, hélas, hélas, une telle entente n'a pas été possible et, {\it dans un
même ordinateur\/}, plusieurs codages coexistent non harmonieusement et sèment
une pagaille indescriptible !
Entre les pages de code 437 ou 850 du \dos\ et la table {\smc iso latin} de
\w{\smc\ 3.1} (j'ai entendu dire que \w{\smc\ 3.0} utilisait encore un autre
codage) il y a de quoi s'arracher les cheveux lorsqu'on veut installer \TeX\
proprement, et je ne parle pas du problème de relire des fichiers [.tex]
provenant d'un {\smc macintosh}\dots\
Du côté des fontes, ce n'est pas mieux, les trois familles \cm,
\Times\ et \Lucida\ utilisent des codages différents, la famille
\cm\ en utilisant {\bf 10} (dix) pour elle même !
\ssv

Le résultat de cette pagaille est qu'une installation \TeX\ est en général
réglée pour un codage particulier dans les fichiers source (mettons le
code \dos\ 437), et comporte des macros ou tables de transcodage mettant
ce codage en accord avec celui utilisé par les fontes, ce qui fait que l'échange
de fichiers n'est pratiquement possible qu'entre ordinateurs réglés de la même
manière.
Dans l'état actuel des choses, je recommande de s'en tenir au code \dos\ 437
et de {\it n'utiliser aucun autre caractère spécial que les lettres accentuées
dans ce code\/}, au motif que les éditeurs de textes perfectionnés (\texshell\
et \kedit) fonctionnent sous \dos, mais que tous les codes actuels sont
appelés à disparaître dans un avenir proche au profit de l'{\smc unicode} qui
code sur 16 bits tous les caractères existant sur terre (paraît-il).
Lorsqu'il faudra passer à l'{\smc unicode} ou lorsque \dos\ aura été complètement
remplacé par \w{\smc\ 5.9}, il ne devrait pas être difficile de convertir
tous les vieux fichiers \dos\ au nouveau code en vigueur, au moins pour les
lettres accentuées, les autres caractères spéciaux risquant de passer à la
trappe.
\ssv

Le problème des césures des mots accentués n'est pas non plus réglé, ni par
\emtex\ qui ne se comporte pas différement des vieilles versions de \TeX\ sur
ce point, ni par \yytex\ qui accepte bien des caractères définis sur 8 bits,
mais qui travaille avec une table de césures définie sur 7 bits. Il existe
une table de césures françaises, [frhyph.tex], mais je n'ai pas encore eu le
courage d'{\it essayer\/} de l'installer\dots
\ssv

\noindent
Les installations du labo comportent les fichiers suivants~:
\liste
[437_tex.mtc ] &table \dos\ 437 pour \emtex\ (source)               &[texconv.exe ] &conversion : accents $\<->$ séquences \TeX     \cr
[437_tex.tcp ] &table \dos\ 437 pour \emtex\ (binaire)              &[texware.doc ] &documentation sur [maketcp] et [texconv]       \cr
[ansi_tex.mtc] &table \w\ \ansi\ pour \emtex\ (source)              &[fconvert.exe] &conversion : \dos\ 437 $\<->$ \w\ \ansi        \cr
[ansi_tex.tcp] &table \w\ \ansi\ pour \emtex\ (binaire)             &[dos2ansi.map] &table de transcodage \dos\ 437 pour \yytex     \cr
[maketcp.exe ] &conversion [.tcp] $\<->$ [.mtc]                     &[tex.bat     ] &lance [y&ytex.exe]                             \cr
\finliste

\noindent
[texconv.exe] convertit les caractères accentués d'un fichier en séquences
\TeX\ (option [-a]) ou les séquences \TeX\ en caractères accentués
(option [-e], la conversion n'est pas parfaite dans ce sens, [\pmatrix] est
traduit en {\tt \accent95+atrix} par exemple).
La syntaxe est~:

\cmd{
[set texinput=c:\emtex\texinput]\par
[texconv -a 437_tex ]{\it fichier\_accentué\quad\it fichier\_non\_accentué}\par
[texconv -e 437_tex ]{\it fichier\_non\_accentué\quad\it fichier\_accentué}
}

\noindent
[fconvert.exe] provient du programme [fconvert.pas] livré avec {\smc Borland Pascal},
il tourne sous \w, et est limité aux fichiers de moins de 32 Ko.
Sous \kedit, Le fichier de macros {\smc rex} [accents.kex] convertit les
caractères accentués du fichier courant entre les codes \dos\ 437, séquences
\TeX\ et \w\ \ansi. Pour effectuer une conversion, entrez sur la ligne de
commande de \kedit~:

\cmd{[macro accents]}

\noindent
puis indiquez le codage d'origine et celui de destination dans les boîtes de
dialogue. Seuls les caractères accentués sont traduits, donc le défaut
{\tt \accent95+atrix} observé avec [texconv] ne devrait pas se produire.
\ssv

Il n'existe pas de table de transcodage \w\ \ansi\ pour \yytex, car
le codage des fontes utilisées est quasiment celui de \w, à quelques exceptions
près qui sont prises en compte dans les formats [plain.fmt], [plain-mt.fmt]
et [plain-lb.fmt], mais comme les corrections sont différentes d'un format
à l'autre, je conseille de ne pas utiliser les fontes d'une famille avec
le format d'une autre. Toutefois, à cause de l'absence de petites capitales
dans les familles \Times\ et \Lucida, le fichier [carnot.mac]
installe la fonte de la famille \cm\ dans les trois cas, et restaure
le codage des accents associé lors de l'appel à [\smc] (il faut donc que
cet appel soit limité par un groupe pour retrouver un codage consistant avec
le format utilisé pour le reste du texte). La macro [\accentstex] est
responsable de ce changement de code et peut être appelée pour utiliser
d'autres fontes \cm\ dans un document \Times\ ou \Lucida.
\ssv

Les installations du labo sont réglées pour utiliser le code \dos\ 437
avec les formats [plain], [plain-mt] et [plain-lb], et le code \w\ \ansi\
avec le format [lplain], puisque, à l'heure actuelle, seul \maple\ pour
\w\ produit des fichiers \Latex\ utilisant ce code (les documents \Latex\
des packages sont tous rédigés en anglais et échappent donc à ce problème
de codage).

% Affichage et impression des fichiers dvi -----------------------------------

\partie{5. Affichage et impression des fichiers [.dvi] :}

\Lettrine{Le lycée} dispose d'une collection complète de drivers prêts à
prendre en charge les fichiers [.dvi] produits par \TeX\ pour les transformer
en images à l'écran ou en petits points noirs ou blancs sur une imprimante~:
\sv

\halign{\hskip\leftskip\indent#\hfil\quad&#\hfil\cr
driver écran {\smc vga}~: &[dviscr]\cr
drivers \w~:              &[dviwin] et [dviwindo]\cr
drivers imprimante~:      &[dvidot] (aiguilles) et [dvihplj] (laser et jet d'encre)\cr
drivers \ps~:             &[dvips] et [dvipsone]\cr
}\ssv

[dviscr], [dvidot] et [dvihplj] sont trois versions différentes du
même programme : [dvidrv] écrit par Eberhard {\smc Mattes} qui est l'auteur de
\emtex.
[dviwin] est un programme indépendant écrit par Hippocrates {\smc Sendoukas},
[dvips] est l'\oe uvre de Thomas {\smc Rokicki}. Tous ces drivers utilisent
les fontes bitmap (fichiers [.pk] ou [.fli]) et sont librement copiables.
[dviwindo] et [dvipsone] font partie de
la distribution \yytex, et utilisent les fontes vectorielles \TT\
([dviwindo] seulement) ou \Typ\ installées dans \w.
\ssv

Les drivers écran ou \w\ peuvent afficher les pages d'un document [.dvi]
avec un grossissement variable, faire défiler l'affichage sur la page courante,
changer de page et permettent de prendre des mesures (en pt, mm, in,\dots)
sur les éléments affichés pour fignoler leur disposition dans le source [.tex].
[dviwin] et [dviwindo] peuvent aussi imprimer tout ou partie du document
sur une imprimante installée dans \w.
Par ailleurs, [dviwindo] comporte un menu
configurable permettant d'éditer le fichier source, de lancer \TeX,
d'effectuer la conversion en \ps\ et d'imprimer le fichier \ps\ obtenu.
\ssv

En ce qui concerne les graphiques, seuls [dvips] et [dvipsone] acceptent les
ordres d'inclusion de fichier \ps\ de la macro [\psfig], les autres
drivers les ignorent et laissent l'espace attribué en blanc ([dviwindo]
affiche un cadre de la taille du dessin avec le nom du fichier).
Toutefois, chaque driver non \ps\ est capable
d'afficher des graphiques sous d'autres formats : {\smc tiff, bmp, msp, pcx} ou
{\smc wmf}, le choix dépendant du driver. Les résultats sont
en général décevants et les manipulations incompatibles d'un driver à l'autre,
aussi je conseille de s'en tenir à \ps. Consultez les fichiers de documentation
si vous voulez faire des essais.
\ssv

Tous les drivers permettent de n'imprimer qu'une partie des pages contenues
dans le fichier [.dvi]. [dviwin], [dviwindo] et [texshell] disposent de menus
permettant de spécifier la première et la dernière page à imprimer, et de manière
générale, tous les drivers acceptent sur la ligne de commande les options~:

\cmd{[-b=]{\it première page}\qquad([-p] pour [dvips])\par
     [-e=]{\it dernière page}\qquad([-l] pour [dvips])}

\noindent
le signe [=] est facultatif sauf pour [dvipsone]. Attention avec les
fichiers de commandes [.bat]~: le [=] n'est pas transmis par [command.com]
au fichier [.bat], pour une raison connue de [command.com] et {\smc Microsoft}
seuls.
\ssv

On a vu que les fontes bitmap sont stockées dans des fichiers [.pk], chaque
fichier étant adapté à une résolution ou un agrandissement particulier.
Les résolutions de base sont 240$\times$216 dpi pour les imprimantes à aiguilles
et 300$\times$300 dpi pour les imprimantes à laser ou jet d'encre, ce qui donne,
avec les agrandissements standard de \TeX~:
\sv

\halign{\hskip\leftskip#\hfil&&\quad\hfil#\hfil\cr
           &[\magstep0] &[\magstephalf] &[\magstep1] &[\magstep2] &[\magstep3] &[\magstep4] &[\magstep5]\cr
aiguilles: &240dpi      &263dpi         &288dpi      &346dpi      &415dpi      &498dpi      &597dpi     \cr
laser:     &300dpi      &329dpi         &360dpi      &432dpi      &518dpi      &622dpi      &746dpi     \cr
}\ssv

Dans l'installation du lycée, tous les fichiers [.pk] de toutes les fontes
\cm\ dans tous les agrandissements sont regroupés dans deux (énormes)
fichiers~: [240.fli] (aiguilles) et [300.fli] (laser).
Il n'y a pas de fichier [.pk] adaptés à la résolution d'un écran (75--100dpi),
et les drivers [dviscr] et [dviwin] sont réglés pour utiliser les bitmaps
imprimante disponibles dans l'ordinateur pour réaliser l'affichage, en
regroupant les pixels imprimante par paquets rectangulaires pour définir
un seul pixel écran. La taille de ces paquets est réglable {\it en cours
de fonctionnement\/} entre $1\times1$ et $8\times8$ ([dviscr]) ou $6\times6$
([dviwin]), ce qui permet d'obtenir un grossissement compris entre $1/2$ et
$3$ fois environ.
\ssv

Dans les deux drivers, [dviscr] et [dviwin], le regroupement des pixels
imprimante en pixels écran peut s'opérer soit en tout ou rien~: un pixel
écran est noir quand un au moins des pixels imprimante du paquet l'est
sinon il est blanc, soit en niveau de gris~: un pixel écran est grisé en
fonction du nombre de pixels imprimante noirs dans le paquet, soit encore
([dviwin] seulement) en rien ou tout~: un pixel écran est blanc quand au moins
un des pixels imprimante l'est sinon il est noir.
L'affichage par niveaux de gris donne le meilleur résultat, quoique parfois
un peu flou, mais est plus lent à réaliser que les deux autres méthodes.
Consultez les documentations de [dviscr] et [dviwin] pour les détails.
\ssv
\centerline{\psfig{file=rondpt.ps,height=5cm}}
\ssv

Un problème agaçant auquel vous risquez d'être confronté est celui des
marges d'impression~: Le format \plain\ est réglé pour des feuilles de
$8.5\times10.9$ pouces soit $21.6\times27.7$ cm (format {\it letter\/}
américain), et laisse une marge de 1 pouce sur chaque côté de la feuille, ce
qui donne une surface utile de $6.5\times8.9$ pouces.
De ce côté-ci de l'Atlantique, on utilise plutôt des feuilles de format A4,
et on laisse moins de blanc sur les côtés, au risque de perdre une partie
du texte imprimé si l'imprimante ne place pas son origine à 1 pouce à droite
et 1 pouce au dessous du coin supérieur gauche de la feuille.
Le fichier [carnot.mac] redéfinit les dimensions de la surface
utile à $18\times25$ cm (ceci ne comprend pas le haut et le bas de page),
et compense les marges de 1 pouce standard en décalant l'origine de la surface
imprimable par les commandes~:

\cmd{[\hoffset = -1.04 cm]\par
     [\voffset = -0.19 cm]}

\noindent
ce qui fait que~:\sv
\halign{\hskip\leftskip\indent#\hfil&#\hfil\cr
la marge gauche vaut  &1pouce $-$ 1.04cm          $=$ 1.5cm,\cr
la marge droite vaut  &21cm   $-$ 1.5cm  $-$ 18cm $=$ 1.5cm,\cr
la marge haute  vaut  &1pouce $-$ 0.19cm          $=$ 2.35cm,\cr
la marge basse  vaut  &29.7cm $-$ 2.35cm $-$ 25cm $=$ 2.35cm.\cr
}\ssv

\noindent
Le compte est bon ! En pratique, on observe un léger décalage de la surface
d'impression par rapport à sa position théorique, décalage variant avec
le driver et l'imprimante utilisés.
Si le décalage est trop important, il faut soit modifier les valeurs de
[\hoffset] et [\voffset] inscrites dans [carnot.mac] (mais ceci est déconseillé
car vous ne penserez pas toujours à faire la modification lors de l'installation
d'une nouvelle version), soit surcharger ces valeurs dans un fichier de macros
personnel appelé après [carnot.mac] (ou à la place), soit dans le cas de
[dvidot], [dvihplj], [dvips] et [dvipsone], spécifier un deuxième décalage à
ajouter à celui inscrit par \TeX, sur la ligne de commande ou dans un fichier
de configuration du driver ; consultez les documentations pour ce faire.
[dviwin] et [dviwindo] ne prévoient pas de deuxième décalage, aussi en faut-il
passer par [\hoffset] et [\voffset] avec ces deux là.
Pour déterminer précisément quel est le décalage à effectuer, compilez et
imprimez le fichier [mesure.tex]~: il produit un cadre, un haut et un bas de
page correspondant aux réglages de [carnot.mac].
\ssv

\noindent
Liste des fichiers utiles~:
\liste
[------------]   &[dviwin]                                              &[------------]   &[dvidrv]                                         \cr
[dviwin.exe  ]   &driver \w                                             &[dvidot.exe  ]   &driver aiguilles                                 \cr
[dviwin.ini  ]   &fichier de configuration (dans [c:\windows])          &[dvihplj.exe ]   &driver laser et jet d'encre                      \cr
[dviwin.hlp  ]   &fichier d'aide                                        &[dviscr.exe  ]   &driver {\smc vga}                                \cr
[wbr.exe     ]   &browser pour [dviwin]                                 &[dvidrv.doc  ]   &documentation générale                           \cr
[wbr.hlp     ]   &fichier d'aide                                        &[dvidrv.err  ]   &messages d'erreur                                \cr
[wbr.ini     ]   &fichier de configuration (dans [c:\windows])          &[fx80.dot    ]   &configuration {\smc epson fx80}                  \cr
[clipmeta.exe]   &conversion NPQ $\->$ format [.wmf]                    &[lqh.dot     ]   &configuration {\smc epson lq}                    \cr
[ctl3d.dll   ]   &boutons en relief                                     &[lql.dot     ]   &configuration {\smc epson lq}                    \cr
[graphio.dll ]   &bibl. d'importation de graphiques                     &[lqm.dot     ]   &configuration {\smc epson lq}                    \cr
[miscwin.dll ]   &bibliothèque utilisée par [dviwin]                    &[texepson.bat]   &lance [dvidot]                                   \cr
[bmpin.flt   ]   &filtre d'importation [.bmp]                           &[texhp.bat   ]   &lance [dvihplj]                                  \cr
[mspin.flt   ]   &filtre d'importation [.msp]                           &[texhp.cnf   ]   &configuration laser                              \cr
[pcxin.flt   ]   &filtre d'importation [.pcx]                           &[texview.bat ]   &lance [dviscr]                                   \cr
[clipmeta.wri]   &documentation de [clipmeta]                           &[texview.cnf ]   &configuration {\smc vga}                         \cr
[dviwin.wri  ]   &documentation de [dviwin]                                                                                                 \cr
[helpme.wri  ]   &documentation de [dviwin]                             &[------------]   &[dvips]                                          \cr
[wbr.wri     ]   &documentation de [wbr]                                &[dvips.exe   ]   &exécutable                                       \cr
                 &                                                      &[texpost.bat ]   &lance [dvips]                                    \cr
[------------]   &[dviwindo]                                            &[config.ps   ]   &fichier de configuration                         \cr
[dviwindo.exe]   &driver \w                                             &[color.pro   ]   &table pour [dvips]                               \cr
[dviwindo.ini]   &fichier de configuration (dans [c:\windows])          &[crop.pro    ]   &table pour [dvips]                               \cr
[tiffread.dll]   &importation de dessins [.tiff]                        &[finclude.pro]   &table pour [dvips]                               \cr
[tifftags.exe]   &dimensions d'un dessin [.tiff]                        &[special.pro ]   &table pour [dvips]                               \cr
[copyrght.txt]   &message de copyright                                  &[tex.pro     ]   &table pour [dvips]                               \cr
[dviwindo.fn0]   &fichier de substitution pour [dviwindo]               &[texc.pro    ]   &table pour [dvips]                               \cr
[dviwindo.fn1]   &fichier de substitution pour [dviwindo]               &[texps.pro   ]   &table pour [dvips]                               \cr
[dviwindo.fn2]   &fichier de substitution pour [dviwindo]               &[psfonts.map ]   &liste des fontes                                 \cr
[dviwindo.fn3]   &fichier de substitution pour [dviwindo]               &[dvips.tex   ]   &mode d'emploi                                    \cr
[dviwindo.fn4]   &fichier de substitution pour [dviwindo]               &[dvipsmac.tex]   &macros pour [dvips.tex]                          \cr
[dviwindo.fn5]   &fichier de substitution pour [dviwindo]                                                                                   \cr
[dviwindo.fnt]   &fichier de substitution pour [dviwindo]               &[------------]   &[dvipsone]                                       \cr
[epsfprev.txt]   &insertion d'une image [.tiff] dans un fichier [.eps]  &[dvips1.exe  ]   &exécutable                                       \cr
[hyper.txt   ]   &hypertexte avec [dviwindo]                            &[dvipsone.exe]   &appelle [dvips1.exe]                             \cr
[integrat.txt]   &raisons pour un environnement non intégré             &[dvipream.enc]   &préambule général pour [dvipsone]                \cr
[news.txt    ]   &description de [dviwindo]                             &[dvifont3.enc]   &préambule pour utiliser les fontes {\smc type3}  \cr
[position.txt]   &nouvelles possibilités de [dviwindo]                  &[dvitpics.enc]   &préambule pour les commandes {\smc tpic}         \cr
[printing.txt]   &positionnement précis des caractères                  &[standard.sub]   &fichier de substitution des fontes               \cr
[readme.txt  ]   &impression depuis [dviwindo]                          &[twoup.exe   ]   &regroupe les pages 2 par 2 en A5                 \cr
[readme.wri  ]   &procédure d'installation                              &[twoup.bat   ]   &appelle [twoup.exe]                              \cr
[sciword.txt ]   &utilisation de {\smc Scientific Word}                 &[changed.exe ]   &imprime les pages modifiées                      \cr
[texmenu.txt ]   &exemple de menu \TeX\ pour [dviwindo]                 &[changed.bat ]   &appelle [changed.exe]                            \cr
                 &                                                      &[copyrght.txt]   &message de Copyright                             \cr
[------------]   &{\smc Adobe type manager}                             &[changed.txt ]   &documentation de [changed.exe]                   \cr
[atmcntrl.exe]   &panneau de contrôle [atm] (dans [c:\windows])         &[controlc.txt]   &[^C] (pour inclusion)                            \cr
[atm.ini     ]   &fichier de configuration  (dans [c:\windows])         &[controld.txt]   &[^D] (pour inclusion)                            \cr
[atm16.dll   ]   &bibliothèque (dans [c:\windows\system])               &[readme.txt  ]   &description des options de [dvipsone]            \cr
[atm32.dll   ]   &bibliothèque (dans [c:\windows\system])               &[news.txt    ]   &description des nouvelles options                \cr
[atmsys.drv  ]   &moteur \Typ\ (dans [c:\windows\system])               &[question.txt]   &questions et réponses sur [dvipsone]             \cr
                 &                                                      &[verbatim.txt]   &inclusion de code \ps                            \cr
\finliste\vskip-4mm

% Ghostscript ----------------------------------------------------------------

\partie{6. Ghostscript~:}

\Lettrine{Postscript} est un langage inventé par \Adobe\ permettant de
décrire un document à imprimer, {\it indépendament de l'imprimante à laquelle
ce document est destiné}. Dans un programme \ps, il n'y a pas (ou il ne devrait
pas y avoir) de bitmaps, de pixels ou de notion de résolution, tout est décrit
en termes de points spécifiés par leurs coordonnées dans un repère lié à la
feuille, de lignes droites, arcs d'ellipses ou courbes de \Bezier\ passant
par ces points, et de surfaces limitées par ces courbes qu'on peut noircir,
griser ou même colorier.
Les caractères eux-mêmes sont spécifiés ainsi, avec le format \Typ\ dont il
a été question précédement, mais les bitmaps n'ont pas été complètement
exclues et le format {\smc type3} permet de décrire une fonte sous forme
de bitmaps~: c'est ainsi que procède [dvips] qui utilise les fichiers [.pk]
pour dessiner les caractères.
\ssv

Rédiger un programme en \ps\ est un travail fastidieux qui est généralement
effectué par des programmes spécialisés, tels [dvips] ou [dvipsone],
mais aussi \maple, \draw\ et même \w\ si l'on a installé une imprimante \ps\
dans le panneau de configuration.
L'exécution des programmes \ps\ est normalement réalisée par l'interpréteur
présent dans une imprimante \ps, mais peut aussi l'être par un interpréteur
présent dans l'ordinateur, qui produira en sortie un fichier binaire
prêt à imprimer ou une ima\-ge à l'écran ou dans une fenêtre \w.
L'interpréteur dont dispose le lycée est \gh\ produit par {\smc \hbox{Aladdin}
Enterprises} et est librement copiable. Il est disponible en deux versions~:
[gs386] qui tourne sous \dos\ (en mode protégé) et produit un affichage
{\smc vga} ou un fichier {\smc epson} ou {\smc hp-pcl}, et [gswin] qui tourne
sous \w\ et produit un affichage dans une fenêtre que l'on peut faire défiler
(mais il n'y a pas de fonction zoom).
\ssv

On peut lancer ces programmes en mode interactif et, manuel de \ps\ à la main,
entrer des commandes \ps\ pour voir ce que ça donne. Pour votre première
rencontre avec \gh, je vous suggère d'essayer~:

\cmd{[(tiger.ps) run]}

\noindent
Le résultat est un magnifique tigre en couleurs dont voici une version réduite~:
\sv

\centerline{\psfig{file=tiger.ps,height=6cm}}
\ssv

La commande précédente a pour effet d'exécuter le programme contenu dans le
fichier [tiger.ps] qui est fourni avec \gh~;
d'autres dessins sont disponibles, consultez la liste des fichiers plus bas.
Les répertoires par défaut sont le répertoire courant, puis les répertoires
indiqués dans le fichier de configuration de \gh~; si vous voulez spécifier
un autre répertoire, indiquez le en remplaçant les [\] par des [/].
Pour quitter \gh, entrez la commande~:

\cmd{[quit]}

\noindent
Vous pouvez interrompre plus
brutalement \gh\ en cas de problème avec \touches{{Ctrl}C} pour [gs386] ou
\touches{{Alt}{F4}} pour [gswin].
Attention, [gswin] utilise deux fenêtres, la fenêtre de commandes intitulée
[Ghostscript] et la fenêtre de dessin intitulée [Ghostscript Image] ;
revenez systématiquement à la fenêtre de commande pour entrer vos commandes
ou mettre fin au programme.
\ssv

Pour lancer \gh\ en mode non interactif, utilisez les menus [voir PS] et
[impr. PS] de [wmenu] ou [dviwindo], ou le  fichier de commandes
[gs.bat] sous \dos, dont la syntaxe est~:

\cmd{
[gs view ]\quad{\it monfichier.ps}\par
[gs hp   ]\quad{\it monfichier.ps}\par
[gs epson]\quad{\it monfichier.ps}
}

\noindent
ou aussi le gestionnaire de fichiers de \w\ en associant l'extension [.ps]
à [c:\psfonts\gs\gswin.exe]. [dviwindo] permet d'indiquer à [gswin] la
résolution de l'écran~: [-r75] produit un dessin à l'échelle 1:1 (si l'écran
a une résolution de 75dpi), [-r40] produit un affichage réduit qui tient
entièrement à l'écran et avec [-r300] vous verrez l'image produite
sur une imprimante à laser au pixel près, à condition toutefois de disposer
d'énormément de mémoire {\smc ram}, d'un disque dur très rapide et d'un processeur
suralimenté\dots
\ssv

\noindent
Liste des fichiers utiles avec \gh~:
\liste
[-----------]    &\gh                           &[-----------]    &dessins                      \cr
[gs386.exe  ]    &exécutable \dos               &[chess.ps   ]    &échiquier                    \cr
[dos4gw.exe ]    &dos-extender pour [gs386]     &[cheq.ps    ]    &pièces d'échecs              \cr
[gswin.exe  ]    &exécutable \w                 &[golfer.ps  ]    &joueuse de golf              \cr
[gswin.res  ]    &resources pour [gswin]        &[escher.ps  ]    &dessin d'{\smc Escher}       \cr
[gsgraph.ico]    &icône pour [gswin]            &[snowflak.ps]    &flocons de neige             \cr
[gstext.ico ]    &icône pour [gswin]            &[colorcir.ps]    &disques en couleurs          \cr
[gsepson.cnf]    &configuration {\smc epson}    &[tiger.ps   ]    &tigre                        \cr
[gshp.cnf   ]    &configuration {\smc hp}       &                 &                             \cr
[gsview.cnf ]    &configuration {\smc vga}      &[-----------]    &utilitaires                  \cr
[use.doc    ]    &documentation de \gh          &[landscap.ps]    &format paysage               \cr
[fontmap    ]    &liste des fontes              &[level1.ps  ]    &\ps\ niveau 1                \cr
[uglyr.gsf  ]    &fonte par défaut              &[prfont.ps  ]    &imprime une fonte            \cr
                 &                              &[quit.ps    ]    &commande [quit]              \cr
[-----------]    &fichiers d'initialisation     &[showpage.ps]    &commande [showpage]          \cr
[gs_init.ps ]    &                              &[page_bot.ps]    &affiche une demi-page        \cr
[gs_fonts.ps]    &                              &[page_top.ps]    &affiche une demi-page        \cr
[gs_statd.ps]    &                              &[page_rot.ps]    &format paysage               \cr
[gs_dps1.ps ]    &                              &[save.ps    ]    &commande [save]              \cr
[gs_lev2.ps ]    &                              &[sym__enc.ps]    &encodage                     \cr
[gs_dbt_e.ps]    &                                                                              \cr
[gs_sym_e.ps]    &                                                                              \cr
[gs_type0.ps]    &                                                                              \cr
\finliste

\centerline{\psfig{file=fantome.ps,height=4cm}}

\bye
