Chapter 23 Conversion de fichiers
La portabilité, voici le maître mot de l'informatique
moderne. Pour être portable, il est souvent nécéssaire de convertir
les fichiers.
23.1 Comment générer un fichier .ps à partir d'un .dvi ?
dvips, de T. Rokicki, a l'avantage de savoir gérer les ``virtual
fonts''. Il est disponible par ftp anonyme à :
dvitops, pour unix, msdos, vms et primos, de J. Clark, est disponible
sur ftp://ftp.fdn.org/pub/CTAN/dviware/. dvitops ne gère pas
les fontes virtuelles.
dvipsk, de K. Berry, est disponible sur ftp://ftp.fdn.org/pub/CTAN/dviware/.
23.2 Qu'est ce que le ``Literate Programming'' ?
Le ``Literate Programming'' est une approche de la programmation
qui met en valeur le fait qu'un programme doit pouvoir être lu aussi
bien par une personne que par un compilateur. Les outils associés
(disponibles dans les archives CTAN) vont ainsi permettre de générer
des documents combinant du code source et du texte (souvent au format
TeX). Ensuite, la documentation et le code source seront automatiquement
extraits de ce document unique. Pour plus d'information sur ces techniques,
consulter : http://www.ius.cs.cmu.edu/help/Programming/literate.html.
Il existe également une FAQ comp.programming.literate disponible sur
ftp://ftp.fdn.org/pub/CTAN/help/comp.programming.literate_FAQ.
-
Remarque :
- À l'origine, D.E. Knuth a basé TeX sur un système
de ``programmation littéraire'' nommé Web. Le code source en question
était du Pascal. Aujourd'hui où l'on ne trouve quasiment plus de compilateurs
Pascal, il a fallu écrire des outils de passage au C. D'où l'outil
Web2C actuellement utilisé. La plupart des distributions Unix utilisent
Web2c maintenu actuellement par Karl Berry.
-
WEB, est le premier outil/langage de literate programming. Il a été
créé par D.E. Knuth, qui l'a d'ailleurs utilisé pour écrire TeX
et metafont. WEB est une surcouche du langage pascal. Il offre un
indexage et des références croisées automatiques pour les identificateurs
et les procédures ainsi qu'un pretty printing du code. Il est disponible
sur ftp://ftp.fdn.org/pub/CTAN/web/tweb/.
- CWEB, de D.E. Knuth et S.Levy, est une réécriture de WEB en C. Cette
application est simple d'accès et marche très bien. Un clône de ce
produit est CWEBx qui est un peu plus riche (donc plus compliqué mais
sans excès). Il est disponible sur ftp://ftp.fdn.org/pub/CTAN/web/c_cpp/cweb/.
- FunnelWEB se présente en tant que surcouche de n'importe quel langage,
mais pour cette raison n'offre pas de ``pretty-printing'' du code.
Il en existe une variante (FunnelWEB-AC) pouvant générer de la doc
HTML, en plus de la doc TeX. Il présente l'originalité par rapport
aux autres d'avoir été réécrit de toutes pièces, et non d'être une
branche de développement séparée de CWEB. Il semble par ailleurs que
FunnelWEB soit le seul à pouvoir donner à l'utilisateur le contrôle
total à l'octet près de son fichier de sortie (utile pour les Makefiles,
par exemple), mais peut paraître assez rigide à un utilisateur habitué
à la puissance de fweb. Funnel WEB, est disponible sur ftp://ftp.fdn.org/pub/CTAN/web/funnelweb.
- fweb (1.53), de J. Krommes, dérivé de CWEB, met à disposition une
FAQ sur http://www.arsc.sunyit.edu/fwebdocs/fweb.html et une
DOC sur http://w3.pppl.gov/ krommes/fweb_toc.html. Cette application
est très complète, mais un peu difficile d'accès. Elle permet notamment
de travailler en fortran (77 ou 90), RATFOR (77 ou 90), C ou C++.
Elle intègre entre autres un système de gestion de macros très complet,
``à la m4'' (boucles, arguments variables, etc.), ainsi qu'un
traducteur de RATFOR en Fortran, pour ceux qui n'auraient pas le compilateur
adéquat... Elle est l'une des rares à utiliser LATEX plutôt que
TeX en standard, ce qui permet d'utiliser toute la puissance de
celui-ci... fweb est disponible sur ftp://ftp.fdn.org/pub/CTAN/web/fweb/.
- noweb et nuweb sont plus légers, plus fiables et très utilisés. Ils
mettent à disposition des mécanismes pour générer des documents LATEX
ou du code source. Ils sont disponibles sur ftp://ftp.fdn.org/pub/CTAN/web/noweb/
et ftp://ftp.fdn.org/pub/CTAN/web/nuweb/. Pour plus de détails,
consulter : http://www.cs.purdue.edu/homes/nr/noweb/.
- SpiderWEB, de N. Ramsey, dérivé de CWEB, est disponible sur ftp://ftp.fdn.org/pub/CTAN/web/spiderweb/.
SpiderWEB permet de gérer la plupart des langages, tant que les blancs
et les tabs ne sont pas critiques, tout en assurant le pretty-printing.
Quelques heures suffisent pour ajouter un nouveau langage, sans avoir
à tout recompiler. Un certain nombre de langages sont supportés dans
la distribution (C, ADA, awk, etc.)
- DOC++ est disponible à : http://www.ZIB-Berlin.DE/VisPar/doc++/doc++.html.
Il se base sur les infos dans les commentaires. Il structure bien
les classes, mais est un peu rigide au niveau des possibilités. Génère
du LATEX ou du HTML.
- wflman est disponible à : ftp://ftp.keck.hawaii.edu/pub/wlupton/wflman-2.1.1.tar.Z
générateur automatique de doc au choix LATEX, RTF, man et HTML.
23.3 Comment convertir du LATEX en word ?
TeXport, de K-Talk permet de convertir vos fichier TeX et LATEX
en documents WordPerfect ou Microsoft Word. Il traite les styles de
fontes, les notes de bas de page, les caractères grecs, les mathématiques,
les tableaux simples, les accents européens, ainsi que les commandes
\def et \renewcommand.
Ce logiciel est payant (et cher). Pour plus de détails, voir : http://www.ktalk.com/.
23.4 Comment convertir du word en LATEX ?
Il y a l'outil ``Publishing Companion'' de K-Talk (voir http://www.ktalk.com/).
Wd2latex, pour MS-DOS, est disponible sur ftp://ftp.fdn.org/pub/CTAN/dviware/wd2latex/.
Cet utilitaire paraît somme toute assez rudimentaire.
Word2x disponible sur ftp://ftp.fdn.org/pub/CTAN/tools/word2x/
permet de convertir du Word 6.0 en texte ou en LATEX.
Voir également texcnven dans http://www.kfa-juelich.de/isr/1/texconv/pctotex.html.
23.5 Comment convertir du scribe en LATEX ?
s2latex, de V. Jacobson, fait partie de la ditribution GUTenberg pour
Unix. Celle-ci est disponible par ftp sur ftp://ftp.gutenberg.eu.org/pub/gut/distribunix/.
23.6 Comment convertir du WordPerfect en LATEX ?
wp2latex, de R.C. Houtepen, est disponible sur ftp://wuarchive.wustl.edu/mirrors/msdos/tex/
et sur ftp://ftp.fdn.org/pub/CTAN/support/wp2latex/. wp2latex
a été écrit pour PC en Turbo Pascal. Il travaille à partir d'un document
WordPerfect5.0. On note quelques limitations concernant les indices,
la table des matières, les marges et les graphiques.
wp2latex, de G. Geers (glenn@qed.physics.su.oz.au), a été écrit
en C. Il devrait être étendu à WordPerfect 5.1. La version la plus
récente est disponible par ftp sur ftp://suphys.physics.su.oz.au/wp2latex/
ou sur ftp://ftp.fdn.org/pub/CTAN/support/wp2latex/glenn/.
texperf est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/texperf/.
23.7 Comment convertir du LATEX en RTF ?
Le format RTF (Rich Text Format) correspond à un format ASCII contenant
des informations de formatage lisibles (entre autres) par Word pour
DOS, Word pour Windows et Word pour Macintosh. Pour plus d'informations
sur ce format, voir :
TeX2RTF, est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/tex2rtf/
ou par ftp sur ftp://ftp.aiai.ed.ac.uk/pub/packages/tex2rtf/.
Il tourne sous SPARC Open Look, SPARC Motif et Windows3.1. TeX2RTF
ne gère pas les formules mathématiques ni les tableaux compliqués.
LATEX2rtf, de F. Dorner et A. Granzer, est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/latex2rtf/.
Il s'appuie sur LATEX 2.09. Une version est également disponible
sur ftp://ftp.lps.u-psud.fr/pub/ltx2rtf/ltx2rtf.zip.
LATEX2rtf produit du RTF avec la simple commande (sous DOS):
qui produit
-
ATTENTION :
-
-
Ça ne traite pas toutes les maths mais ça traduit du texte LATEX
pour être relu en Word.
- L'exécutable 386 est fourni mais il y a un makefile qui compile le
tout pour UNIX
- Les lettres accentuées au codage 850 ne sont pas traduites correctement,
utiliser le codage 7bits (\'e, \i,
etc).
- Ça utilise la numérotation automatique pour les sections, les chapitres,
etc. Mais les nombreux bugs que j'ai découverts dans Word 6.0 rendent
la présentation un peu aléatoire.
- Ça traite les < < et les > > pour
les guillemets.
- Ça traite (sauf erreur) les commandes de changements de polices de
LATEX 2e du genre \bfseries, \ttfamily,
\sffamily, \slshape et les tailles de
polices.
23.8 Comment convertir du RTF en (La)TeX ?
-
rtf2TeX (Unix), de R. Lupton (rhl@astro.princeton.edu), est
disponible sur ftp://ftp.fdn.org/pub/CTAN/support/rtf2tex/.
- rtf2latex (Unix), de E. Wechtl, est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/rtf2latex/.
- w2latex, de J. Garmendia et J.L. Maltret, est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/w2latex/.
w2latex est un outil de conversion entre deux formats descripteurs
de texte, permettant de traduire un document rédigé sous certaines
versions de Word pour obtenir du code LATEX .
- RTFLATEX, de D. Taupin, est capable de transcrire un fichier RTF en
LATEX et de lui associer des fichiers de macros (.sty). Toutefois,
il ne traite pas encore les formules ni les tables. RTFLATEX est disponible
sur ftp://ftp.fdn.org/pub/CTAN/support/rtflatex/ ou par ftp sur ftp://hprib.lps.u-psud.fr/pub/rtflatex/.
- rtf2latex2e (Mac, Unix, Win), d'Ujwal Sathyam, est disponible sur
ftp://ftp.fdn.org/pub/CTAN/support/rtf2latex2e/.
23.9 Comment convertir du Excel en LATEX ?
Le package 'Tabular', de A. Gjestland, est disponible par ftp sur
ftp://ftp.ssh.no/pub/tabular/. Il existe deux versions Tabular4.xla
pour Excel4 et Tabular5.xla pour Excel5. Une documentation est également
disponible : docu-tab.ps.Z. Vous pouvez aussi consulter la page WEB
http://www.ssh.no/ ag/tabular/docu-tab.html. Pour tous renseignements,
contacter l'auteur par e-mail : ag@hsh.no.
Il existe également l'utilitaire Excel2LATEX disponible sur le
WEB à http://www.informatik.uni-trier.de/CIP/marder/xl2latex.zip.
23.10 Comment convertir du HTML en LATEX ?
-
Remarque :
- HTML étant à la base du SGML, une autre solution (non
testée) serait d'utiliser un traducteur SGML->LATEX. Le système
'linuxdoc-sgml' devrait pouvoir faire ça si on lui donne la DTD de
la version d'HTML concernée et les règles de traduction. Pour plus
de détails consulter le document disponible sur ftp://ftp.loria.fr/pub/linux/sunsite/utils/text/linuxdoc-sgml-*.tar.gz
23.11 Comment convertir du LATEX en HTML ?
-
Remarque :
- IDVI est un outil qui permet de présenter des documents
WWW à partir de sources LATEX. IDVI est une implémentation Java
d'un viewer dvi qui permet d'afficher des pages LATEX sur le WEB
et non plus un document HTML. Pour plus de détails, consulter : http://www.geom.umn.edu/java/idvi/
-
Remarque :
- le package 'html' permet d'insérer dans le source LATEX
des commandes traitées de manière spéciale par le convertisseur latex2html.
-
ATTENTION :
- cet utilitaire nécessite l'utilisation de LATEX 2e
et de emacs.
-
A voir également : OmniMark sur http://www.omnimark.com§.
- Il existe également ltx2x disponible sur ftp://ftp.fdn.org/pub/CTAN/support/.
- TeX4ht est un environnement configurable qui permet de générer
des documents hypertextes. Pour plus de détails, voir : http://www.cis.ohio-state.edu/ gurari/TeX4ht/mn.html
- * HeVeA est un programme gratuit destiné à transformer un source
LATEX en HTML 4.0. Ce programme est disponible à l'URL <http://para.inria.fr/ maranget/hevea>
C'est un interpréteur du langage TeX. Donc toutes les nouvelles
macros, tous les environnements que l'on peut définir sont correctement
interprétés, que l'on peut charger des fichiers de style exotiques,
etc. si l'on désire obtenir un résultat particulier dans la sortie
HTML. HeVeA transforme les formules mathématiques en HTML 4.0 « pur
» (sans graphique) en utilisant la fonte symbole, des tags de positionnements
fins et des tables. (Contribution dûe à Éric Brunet)
- ltoh est un script perl paramétrable. Il sait gérer différents types
de macros, les tables, la plupart des caractères spéciaux, etc. Pour
plus de détails, voir : http://www.best.com/ quong/ltoh/
- mn de E. Gurari est un convertisseur plain TeX ou LATEX vers
HTML. Il est hautement configurable. Cet outil est disponible sur :
http://www.cis.ohio-state.edu/ gurari/TeX4ht/mn.html.
- Webbuilder de MicroPress, est un éditeur TeX qui permet de générer
du code HTML. Il gère aussi bien les commandes TeX que les macros
utilisateur. Tous les environnements mathématiques, tables, notes
de bas de page, table des matières, références,listes, etc, sont gérés.
La plupart des documents LATEX peuvent facilement être convertis.
Webbuilder est disponible sous Win95, NT, ou Win 3.1 (Win32s nécessaire).
Pour plus de détails et quelques exemples, consulter : http://www.micropress-inc.com/.
Pour toutes questions écrire à support@micropress-inc.com.
- TTH est un convertisseur TeX to HTML disponible sur : http://hutchinson.belmont.ma.us/tth/.
Il gère les mathématiques (il convertit les formules mathématiques
au lieu d'en faire des images) et reconnaît les structures de document
plain TeX et LATEX qu'il convertit en hyperliens. TTH est rapide
et portable.
- Le package 'typehtml' de D. Carlisle permet de gérer des documents
HTML directement depuis le source LATEX. Ce package est disponible
sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/carlisle/.
23.12 Comment convertir un fichier dvi en ascii ?
dvi2tty est disponible sur ftp://ftp.fdn.org/pub/CTAN/dviware/dvi2tty/.
dvispell de la distribution EmTeX permet également de convertir
un fichier dvi en fichier texte.
23.13 Comment convertir du WEB en LATEX ?
SchemeWEB, de J. Ramsdell, est disponible sur ftp://ftp.fdn.org/pub/CTAN/web/schemeweb/.
23.14 Comment convertir du TeX en Framemaker ?
Framemaker dispose d'un filtre permettant d'importer des fichiers
TeX.
23.15 Comment enlever les balises LATEX d'un document ?
detex, disponible sur ftp://ftp.fdn.org/pub/CTAN/support/detex/,
permet d'enlever toutes les commandes et séquences de contrôle LATEX
d'un document. Il existe sous Unix, Doc et Mac.
-
ATTENTION :
- detex n'enlève que les macros, et pas leurs arguments,
ce qui donne des résultats pas toujours très propres avec des documents
LATEX.
23.16 Comment convertir du SGML en (La)TeX ?
-
Remarque :
- SGML = Standard Generic Markup Language. SGML est une
norme de balisage de documents structurés
Pour plus de détails, consulter :
sgmlspm, de D. Megginson, (Perl) est disponible à http://www.connection.co.uk/bob/sgml/SGMLSpm/sgmlspl/sgmlspl.html.
stil, de J. Schrod et C. Detig, (Common Lisp) est disponible par ftp
sur ftp://ftp.th-darmstadt.de/pub/text/sgml/stil/.
Ces deux outils s'appuient sur le parser nsgmls de J. Clark qui traduit
du SGML en ESIS.
linuxdoc-sgml s'appuie aussi sur sgmls de J.Clark.
sgml2tex, de P. Flynn, sur PC est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/sgml2tex/.
23.17 Comment convertir du WinWord en LATEX ?
WINW2LTX, de A. Cottrell, est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/winw2ltx/english/ww2/
pour WinWord2, et ftp://ftp.fdn.org/pub/CTAN/support/winw2ltx/english/ww6/
pour WinWord6. Il ne traite ni les équations, ni les graphiques.
23.18 Comment convertir un fichier 8 bits en fichier 7 bits ?
B. Raichle a fourni un tel convertisseur parfaitement portable qui
se présente sous forme d'un programme ``.tex'' appelé convert.tex.
Celui-ci est disponible sur ftp://ftp.fdn.org/pub/CTAN/language/typingtex/.
Il existe également une version modifiée par L. Siebenmann dans /Convert-RaichleHacked.dir/
(interface modifiée, ajout de quelques tables de transformation dont
mac2dek.tbl ou pc2dek pour la conversion du Macintosh ou du PC vers
la syntaxe classique de Knuth \'e, \c{c}
etc.).
L'outil Tower of Babel (avec option TeX activée), permet également
de réaliser de telles conversions. Il est disponible par ftp sur ftp://ftp.lip6.fr/pub/mac/info-mac/text/tower-of-babel-13.hqx.
recode de F. Pinard est un programme unix (GNU) qui convertit tous
types de fichiers texte. De nombreux formats sont supportés (ASCIIs,
EBCDIC, CDC, LATEX, etc).
-
Exemple :
-
-
recode latin1:applemac <fichier>
pour une conversion 7 bits vers 8 bits
dans emacs, le package iso-cvt.el, peut convertir automatiquement
un fichier codé 7 bits en fichier codé 8 bits (et réciproquement)
lors de la lecture et de l'écriture. Pour l'utiliser, ajouter (require
iso-cvt) dans .emacs. Le fichier sera alors en 7 bits sur le disque.
De même, il existe le package x-symbol pour (X)emacs. Pour plus de
détails, voir http://brahms.fmi.uni-passau.de/ wedler/x-symbol.html.
Il existe également les utilitaires kb7to8/8to7 distribués avec 'french'.
23.19 Comment convertir un fichier ChiWriter en TeX ?
chi2tex est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/chi2tex/.
Il y a plusieurs versions du convertisseur, selon la version de ChiWriter
à convertir. A partir des versions 2 ou 3 cela ne marchait que pour
des fichiers très simples (pas plus d'un niveau d'exposant et d'indice,
etc). Il est probable que le convertisseur de la version 4 marche
beaucoup mieux : il fait une analyse syntaxique des formules, alors
que les versions 2 et 3 étaient purement graphiques.
23.20 Où trouver une FAQ de convertisseurs (La)TeX/Traitement de texte
?
La FAQ de W. Hennings est disponible sur http://www.kfa-juelich.de/isr/1/texconv.html
ou sur ftp://ftp.fdn.org/pub/CTAN/help/wp-conv/.
Elle est également postée toutes les semaines dans comp.text.tex.
AL: Ceci ne semble plus être le cas...
Voir également la page http://www.wotsit.demon.co.uk/text.htm
ou la page http://wotsit.simware.com/.
23.21 Comment convertir une image en police metafont ?
C'est le programme bm2font qui permet de faire cela. Il est disponible
sur CTAN. La documentation est aussi sur le LATEX Navigator (http://tex.loria.fr/).
Pour plus de détails sur metafont il existe la liste metafont@ens.fr.
Pour s'inscrire, envoyez à
le message :
-
SUBSCRIBE metafont nom de forme libre
23.22 Comment convertir un fichier postscript en ascii ?
pstotext est un outil Unix freeware qui permet d'extraire du texte
ascii d'un fichier postscript. Il utilise Ghostscript. pstotext est
disponible à http://www.research.digital.com/SRC/virtualpaper/pstotext.html.
Sous Windows et OS/2 pstotext est accessible via l'outil GSview de
R Lang (version 2.0 minimum). Voir http://www.cs.wisc.edu/ ghost/gsview/.
Pour DOS, pstotext est disponible à http://www.cs.ruu.nl/ piet/software.html.
23.23 Comment convertir un fichier pdf en ascii ?
L'outil pstotext présenté à la question précédente permet également
d'extraire du texte ascii d'un fichier pdf.
23.24 Comment convertir du LATEX en PDF ?
-
Remarque :
- il vaut nettement mieux demander à LATEX de travailler
avec des polices PostScript, si l'on compte transformer le document
en PDF par la suite. Si vous utilisez des polices à résolution fixe,
le texte aura une apparence on ne peut plus laide sur votre écran.
-
L'utilitaire ps2pdf de ghostscript (version 4.01 au moins) permet
de convertir des fichiers postscript au format PDF d'Adobe. Ghostscript
version 4.02 est disponible par ftp sur ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/.
Sur mac, ps2pdf livré avec cmactex, nécessite l'installation de psview
disponible par ftp sur ftp://ftp.lip6.fr/pub/mac/local/tex/cmactex/.
- il existe une version préliminaire de PDFTeX (disponible pour faire
des tests). PDFTeX est un moteur tex qui permet de produire directement
un fichier PDF sans passer par DVI. Il dispose donc en natif d'un
support pour les objets graphiques et les liens hypertextes. PDFTeX
est disponible pour WinNT/Win95 par ftp sur ftp://ftp.ese-metz.fr/pub/TeX/private/pdftex/.
- T. Bouche a créé une page w3 de présentation de pdftex avec trois
fichiers pdf créés de cette façon : http://www-fourier.ujf-grenoble.fr/ bouche/PDFtex/.
- Il existe également une liste de discussion à ce sujet : pdftex@tug.cs.umb.edu.
- Adobe Acrobat Distiller permet avec des fontes simples de générer
des fichiers PDF à partir de postscripts. Dans ce cas, il vaut mieux
utiliser des fontes de type1 car les bitmaps de tex sont très très
mal rendus par acrobat reader. Pour plus de détails consulter http://www.adobe.com/.
- Netpbm est un paquet d'utilitaires domaine public permettant des manipulations
d'images, en les convertissant en un format PPM (Portable PixMap),
très facile à manipuler par programmes. Il est disponible pour MSDOS
dans ftp://ftp.lps.u-psud.fr/pub/pc/netpbm/. Une version Win32
(Win95, NT) est également disponible sur tout site CTAN tel que ftp://ftp.fdn.org/pub/CTAN/systems/win32/web2c/.
23.25 Comment définir son propre format de sortie ?
ltx2x disponible sur ftp://ftp.fdn.org/pub/CTAN/support/ltx2x/
permet de remplacer des commandes LATEX par des commandes définies
par l'utilisateur.