zion - reLyX
.rn '' }` ''' $RCSfile: reLyX.man,v $$Revision: 1.2 $$Date: 2000/03/29 23:02:36 $ ''' ''' $Log: reLyX.man,v $ ''' Revision 1.2 2000/03/29 23:02:36 karger ''' Very minor changes (sorry kayvan!) ''' ''' Translated by Adrien Rebollo (c) 2001 ''' .de Sh .if t .Sp .ne 5
$1
.. .de Sp .if t .5v .if n .. .de Ip .ie
(.$>=3 .ne $3 .el .ne 3
[/col][/row][/table]
.UC .if n .hy 0 .if n .na .ds C+ Cv'-.1v'h'-1p's-2+h'-1p'+s0v'.1v'h'-1p' .de CQ " put $1 in typewriter font .ft CW 'if n "c 'if t &$1c 'if n &$1c 'if n &" &$2 $3 $4 $5 $6 $7 '.ft R .. . " AM - accent mark definitions .bd B 3 . " fudge factors for nroff and troff .if n { . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ f1 . ds #] .if t { . ds #H ((1u-(\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ & . ds #] & . " simple accents for nroff and troff .if n { . ds ' & . ds ` & . ds ^ & . ds , & . ds ~ ~ . ds ? ? . ds ! ! . ds / . ds q .if t { . ds ' k:h'-(
(.wu*8/10-*(#H)''h"|
:u" . ds ` k:h'-(
(.wu*8/10-*(#H)'`h'|
:u' . ds ^ k:h'-(
(.wu*10/11-*(#H)'^h'|
:u' . ds , k:h'-(
(.wu*8/10)',h'|
:u' . ds ~ k:h'-(
(.wu-*(#H-.1m)'~h'|
:u' . ds ? s-2ch'-w'c'u*7/10'uh'*(#H'zids+2h'w'c'u*8/10' . ds ! s-2(ors+2h'-w'(or'u'v'-.8m'.v'.8m' . ds / k:h'-(
(.wu*8/10-*(#H)'z(slh'|
:u' . ds q oh'-w'o'u*8/10's-4v'.4m'z(*iv'-.4m's+4h'w'o'u*8/10' . " troff and (daisy-wheel) nroff accents .ds : k:h'-(
(.wu*8/10-*(#H+.1m+*(#F)'v'-*(#V'z.h'.2m+*(#F'.h'|
:u'v'*(#V' .ds 8 h'*(#H'(*bh'-*(#H' .ds v k:h'-(
(.wu*9/10-*(#H)'v'-*(#V'*(#[s-4vs0v'*(#V'h'|
:u'*(#] .ds _ k:h'-(
(.wu*9/10-*(#H+(*(#F*2/3))'v'-.4m'z(hyv'.4m'h'|
:u' .ds . k:h'-(
(.wu*8/10)'v'*(#V*4/10'z.v'-*(#V*4/10'h'|
:u' .ds 3 *(#[v'.2m's-2&3s0v'-.2m'*(#] .ds o k:h'-(
(.wu+w'(de'u-*(#H)/2u'v'-.3n'*(#[z(dev'.3n'h'|
:u'*(#] .ds d- h'*(#H'(pdh'-w'~'u'v'-.25m'f2(hyv'.25m'h'-*(#H' .ds D- Dk:h'-w'D'u'v'-.11m'z(hyv'.11m'h'|
:u' .ds th *(#[v'.3m's+1Is-1v'-.3m'h'-(w'I'u*2/3)'s-1os+1*(#] .ds Th *(#[s+2Is-2h'-w'I'u*3/5'v'-.3m'ov'.3m'*(#] .ds ae ah'-(w'a'u*4/10)'e .ds Ae Ah'-(w'A'u*4/10)'E .ds oe oh'-(w'o'u*4/10)'e .ds Oe Oh'-(w'O'u*4/10)'E . " corrections for vroff .if v .ds ~ k:h'-(
(.wu*9/10-*(#H)'s-2u~ds+2h'|
:u' .if v .ds ^ k:h'-(
(.wu*10/11-*(#H)'v'-.4m'^v'.4m'h'|
:u' . " for low resolution devices (crt and lpr) .if n(.H>23 .if n(.V>19 { . ds : e . ds 8 ss . ds v h'-1'o'(aa(ga' . ds _ h'-1'^ . ds . h'-1'. . ds 3 3 . ds o a . ds d- dh'-1'(ga . ds D- Dh'-1'(hy . ds th o'bp' . ds Th o'LP' . ds ae ae . ds Ae AE . ds oe oe . ds Oe OE .rm #[ #] #H #V #F C
Nom
reLyX - traduit du LaTeX correct en LyX
Résumé
La façon la plus simple d'utiliser reLyX est via la commande Fichier->Importer dans LyX. (Cette option est disponible à partir de la version 1.0.0.) Elle lance reLyX sur le fichier concerné et charge le fichier résultant dans LyX. Vous devriez d'abord essayer ça, et n'appeler reLyX depuis la ligne de commande que si vous avez besoin d'options plus compliquées.
reLyX [ -c classe ] [ -df ] [ -o répertoireSortie ] [-n] [ -r envRég1[,envRég2...]] [ -s fichierSyn1[,fichierSyn2...]] fichiersEntrée
reLyX -p -c classe [ -df ] [ -o répertoireSortie ] [ -r envRég1[,envRég2...]] [ -s fichierSyn1[,fichierSyn2...]] fichiersEntrée
reLyX -h
Options
"-c" 4
Classe. Par défaut, quand reLyX voit une commande f(CWedocumentclass{machin}, il crée un fichier avec la classe « machin » et lit le fichier de format LyX pour cette classe (quelque chose comme /usr/local/lyx/layouts/machin.layout s-1OUs0 s-1HOMEs0/.lyx/layouts/machin.layout). Utilisez -c pour déclarer une classe de document différente (et lire un autre fichier de format). |
"-d" 4
Déboguage. Par défaut, reLyX donne peu d'informations et efface les fichiers temporaires créés durant la traduction. Avec l'option -d il sera beaucoup plus bavard (à la fois vers stdout et vers stderr) et n'effacera pas les fichiers temporaires. |
"-f" 4
Forcer. reLyX ne tourne pas si le fichier .lyx qu'il générerait existe déjà. Utilisez l'option -f (avec précaution) pour écraser tout fichier préexistant. |
"-h" 4
Aide (Help). Affiche l'information d'usage et s'arrête. |
"-n" 4
Noweb. Traduit un fichier noweb (de programmation littéraire). Devrait être (presque ?) équivalent à lancer « noweb2lyx machin.tex machin.lyx ». Cette option nécessite l'option -c. |
"-o" 4
Répertoire de sortie (Output). Avec cette option, tous les fichiers temporaires et les fichiers LyX générés (pour le fichier d'entrée demandé, pour tout fichier inclus, ou pour tout fragment de fichier donné par l'option -p) seront mis dans le répertoire répertoireSortie. Autrement, pour chaque fichier répertoire/machin.tex, les fichiers temporaires et les sorties LyX sont créés dans répertoire. Cette option peut être utile si un fichier inclut des fichiers d'autres répertoires que vous voulez regrouper dans un seul répertoire, ou si vous n'avez pas les droits d'écriture dans le répertoire où se trouvent les fichiers LaTeX. |
"-p" 4
Fichier Partiel. Les fichiers d'entrée sont des fragments de LaTeX, sans préambule ni commande f(CWebegin{document}. Cette option nécessite également l'option -c ; puisqu'il n'y a pas de commande f(CWedocumentclass dans les fichiers que reLyX va traduire. Quand vous utilisez cette option, vous pouvez traduire plus d'un fichier à la fois, tant que tous les fichiers sont de la même classe. Le fichier LyX créé par reLyX peut être inclus dans un fichier LyX existant en utilisant dans LyX l'entrée de menu Insérer->Inclure Fichier. |
"-r" 4
Environnements réguliers (voir la section la section concernant les Fichiers de Syntaxe). Si vous donnez plus d'un environnement, séparez-les par des virgules (pas par des espaces). Vous devrez probablement mettre la liste d'environnements entre guillemets, surtout s'il y a dedans des environnements avec un astérisque (machin*). Si vous utilisez souvent cette commande, envisagez la création d'un fichier de syntaxe personnel. |
"-s" 4
Fichiers de syntaxe. Les fichiers de syntaxe passés en entrée (un ou plusieurs entre guillemets, séparés par des virgules), à lire en plus de celui par défaut (voir la section la section concernant les Fichiers de Syntaxe). |
Description
Introduction
reLyX va créer un fichier LyX répertoire/machin.lyx à partir du fichier LaTeX répertoire/machin.tex (sauf si l'on utilise l'option -o).
reLyX gère les extensions .tex, .ltx et .latex. Si fichierEntrée n'existe pas seul ni avec l'une de ces extensions, reLyX va essayer de traduire fichierEntrée.tex. (C'est le même comportement que LaTeX.)
Le but de reLyX est de traduire du LaTeX2e correct en LyX. Si votre fichier LaTeX ne peut pas être compilé -- ou si vous faites des choses bizarres, comme redéfinir les commandes LaTeX standard -- il peut ne pas apprécier. Le LaTeX209 sera souvent traduit correctement, mais ce n'est pas garanti.
reLyX a quelques bogues et il lui manque quelques fonctions. Cependant, ses objectifs principaux sont :
"(bu" 4
Traiter un fichier LaTeX2e correct sans se planter. |
"(bu" 4
Traduire une bonne partie de ce fichier. |
"(bu" 4
Localiser les portions qu'il ne sait pas traduire et les recopier en mode TeX. |
Il atteint assez bien ces objectifs avec la plupart des fichiers.
Beaucoup d'améliorations pourront être et seront apportées à reLyX à l'avenir. Cependant, nous voulions sortir reLyX assez vite, pour permettre aux nouveaux utilisateurs de LyX d'utiliser leurs fichiers LaTeX déjà existants.
Usage
Voici une description plus longue de ce qu'il faut faire pour traduire un document LaTeX en LyX.
"(bu" 4
Lancez reLyX. .Sp reLyX vous informera de sa progression et affichera les avertissements sur stderr. Si vous ne voulez pas de sortie du tout, essayez (avec csh) « reLyX machin.tex >& /dev/null ». Vous ne devez s-1PASs0 rediriger la sortie standard sur machin.lyx. |
"(bu" 4
Lancez LyX (version 0.12 ou plus récente) sur le fichier .lyx résultant. .Sp En théorie, la majorité du fichier aura été traduite, et tout ce qui n'est pas traduisible aura été signalé en rouge (mode TeX). En théorie, LyX sera capable de lire le fichier, et d'en obtenir des versions imprimées, car tout ce qui n'aura pas été traduit sera passé directement à LaTeX, que LyX utilise en arrière-plan. Malheureusement, la réalité contredit parfois la théorie. Si reLyX se plante, ou si LyX ne peut pas lire le fichier LyX généré, voyez le paragraphe f(CWBOGUES quelque part dans ce document ou le fichier s-1BUGSs0 dans la distribution de reLyX. |
"(bu" 4
Changez à la main ce qui a été signalé en rouge (mode TeX) dans LyX. .Sp Comme il est dit plus haut, vous devriez pouvoir imprimer le fichier LyX même sans passer par cette étape. Cependant, en changeant les commandes en mode TeX en objets LyX correspondants, vous profiterez mieux de l'édition s-1WYSIWYMs0 de LyX. .Sp Il n'est pas garanti que reLyX produise un fichier LyX qui donne exactement le même rendu que le fichier LaTeX, mais le résultat devrait être très approchant. reLyX aura plutôt tendance à ne pas en traduire assez pour s'assurer que les fichiers dvi ou ps sont corrects, même si ça donne plus de Vilain Texte Rouge et moins de s-1WYSIWYMs0. |
"(bu" 4
s-1RELISEZs0 s-1ETs0 s-1CORRIGEZs0 s-1LEs0 s-1DOCUMENTs0 !! .Sp Je suis sûr que vous aviez prévu de le faire de toutes façons, mais c'est particulièrement important après traduction à partir d'un document LaTeX. reLyX est, aujourd'hui tout au moins, meilleur en « macro-traduction » (traduction d'un document complet) qu'en « micro-traduction » (traduction du moindre détail). Par exemple, vous trouverez peut-être des espaces en trop ou des espaces effacées. La gestion des espaces a été améliorée, mais n'est toujours pas parfaite. |
Ce que relyx sait gérer
reLyX comprend beaucoup de commandes LaTeX. Il va traduire :
"(bu" 4
le texte normal, y compris les mini-commandes comme ~, &'*(R', f(CWe@, f(CWeTeX, ainsi que les caractères accentués comme f(CWe'{a} et les caractères spéciaux ?` et !` |
"(bu" 4
les commandes de titre comme f(CWeauthor, f(CWedate, f(CWetitle, f(CWethanks et l'environnement d'abstract |
"(bu" 4
les commandes d'en-têtes comme f(CWesection, y compris les étoilés (f(CWesection*) |
"(bu" 4
les environnements : quote, quotation et verse ; center, flushright et flushleft |
"(bu" 4
les environnements itemize, enumerate et description, et leurs commandes f(CWeitem ; également, les listes correctement emboîtées |
"(bu" 4
les commandes de références croisées : f(CWeref, f(CWepageref, f(CWelabel et f(CWecite |
"(bu" 4
f(CWefootnote et f(CWemargin |
"(bu" 4
les commandes de changement de police dont f(CWeem, f(CWeemph, f(CWetextit et les commandes correspondantes pour changer la famille, la taille, la série et la forme |
"(bu " 4
f(CWeinput{machin} (ou f(CWeinput{machin.truc}) et f(CWeinclude{machin} ; la commande TeX brut einput (par exemple « f(CWeinput machin.tex ») est aussi gérée |
"(bu" 4
l'environnement tabular, et les commandes qui vont avec comme f(CWehline, f(CWecline et f(CWemulticolumn (mais voir plus bas) |
"(bu" 4
les environnements flottants table et table*, ainsi que leurs commandes f(CWecaption |
"(bu" 4
les environnements de flottants figure et figure*, ainsi que les commandes d'inclusion de graphiques f(CWeepsf, f(CWeepsffile, f(CWeepsfbox, f(CWeepsfxsize, f(CWeepsfig, f(CWepsfig et f(CWeincludegraphics. Les deux formes graphics et graphicx de f(CWeincludegraphics sont supportées. Notez, cependant, que beaucoup de figures ne seront pas traduisibles en LyX. Voir plus bas la section sur « Ce que LyX ne sait pas gérer ». |
"(bu" 4
l'environnement thebibliography et la commande f(CWebibitem, ainsi que les commandes f(CWebibliography et f(CWebibliographystyle de BibTeX |
"(bu" 4
diverses commandes : f(CWehfill, f(CWef(CWe, f(CWenoindent, f(CWeldots... |
"(bu" 4
des environnements (et certaines commandes) spécifiques à une classe de document qui peuvent être traduites en formats LyX |
"(bu" 4
les paramètres de certaines commandes intraduisibles (par exemple f(CWembox) |
Parmi tout cela, il peut y avoir des éléments qui ne sont pas encore supportés à 100%. Voir plus bas pour les détails.
reLyX recopie les maths (presque) texto de votre fichier LaTeX. Par chance, LyX sait lire les maths LaTeX, donc (presque) toutes les maths supportées par LyX marcheront bien. Quelques commandes mathématiques qui ne sont pas supportées par LyX seront remplacées par leurs équivalents, par exemple f(CWeto est converti en f(CWerightarrow. Voyez la section la section concernant les Fichiers de Syntaxe pour plus de détails.
reLyX recopie aussi texto toute commande de préambule (c'est-à-dire tout ce qui se trouve avant f(CWebegin{document}), donc ce que vous avez personnalisé dans votre préambule devrait être présent dans les versions dvi et imprimées, même si ça ne sera bien sûr pas affiché dans la fenêtre LyX. Faites Format->Préambule LaTeX pour vérifier.
Ce que relyx ne sait pas gérer -- mais ça marche quand même
"(bu" 4
les tableaux tabular* |
"(bu" 4
les mini-pages |
"(bu" 4
les commandes d'espacement (f(CWevspace, f(CWepagebreak, f(CWepar, ...) |
"(bu" 4
f(CWecentering, f(CWeraggedleft, f(CWeraggedright |
"(bu" 4
f(CWeverb et l'environnement verbatim ; reLyX fait attention à tout recopier exactement dans ce cas, y compris les commentaires et les espaces |
"(bu" 4
quelques environnements et commandes inconnus (par exemple définis par l'utilisateur) |
reLyX recopie les commandes inconnues, ainsi que leurs paramètres, texto dans le fichier LyX. Également, s'il voit un f(CWebegin{machin} où il ne reconnaît pas l'environnement « machin », il recopie texto jusqu'à ce qu'il voie f(CWeend{machin} (sauf si vous utilisez l'option -r). La plupart de ces commandes inconnues ne feront donc pas planter reLyX ; elles nécessiteront seulement un peu de travail d'édition une fois que vous aurez chargé le fichier dans LyX. Ça devrait être moins pénible que d'éditer le fichier .tex ou .lyx avec un éditeur de texte.
Bugs
Comme reLyX est assez récent, il a un certain nombre de problèmes. Au fur et à mesure de sa maturation, ces bogues seront éliminés.
Si reLyX bute contre quelque chose, ou si LyX n'arrive pas à lire ce que reLyX vient de traduire, la meilleure chose à faire est de taper f(CWebegin{reLyXskip} avant le texte en cause, et f(CWeend{reLyXskip} après. J'appellerai ça un bloc « skippé ». reLyX recopiera exactement ce bloc, en mode TeX. Éditez alors le fichier LyX résultant, et traduisez ce qui pose problème à la main. L'environnement reLyXskip est magique ; les commandes f(CWebegin et f(CWeend ne seront pas mises dans le fichier LyX.
"(bu" 4
La recopie « exacte » d'environnements et de commandes inconnus n'est pas complètement exacte. Plus précisément, les passages à la ligne et les commentaires peuvent être perdus. Ça va produire du LyX moche, mais dans presque tous les cas le rendu final sera le même. Cependant, certaines parties du fichier seront recopiées parfaitement, y compris les espaces et les commentaires. Ces parties comprennent : le préambule LaTeX, les environnements verbatim et les commandes f(CWeverb, et les blocs « skippés ». |
"(bu" 4
reLyX traduit seulement quelques-unes des options de la commande f(CWedocumentclass. (Précisément 1[012]pt, [letter|legal|executive|a4|a5|b5]paper, [one|two]side, landscape et [one|two]column.) Les autres options sont placées dans le champ Options supplémentaires de la fenêtre Format->Document->Document. .Sp Ce qui est plus important, reLyX ne traduit pas les commandes f(CWeusepackage, les commandes de marge, les f(CWenewcommand ou, en fait, toutes les autres commandes du préambule. Il les recopie simplement dans le préambule LaTeX. Si vous avez des commandes de marge dans votre préambule, alors le fichier LyX générera les bonnes marges. Cependant, ces marges ne tiendront pas compte de ce qui aura été indiqué dans la fenêtre LyX Format->Document->Papier. Vous devez donc enlever ces options du préambule (Format->Préambule LaTeX) pour avoir la paix. Il en va de même de la langue spécifiée avec babel, des f(CWeinputencoding, f(CWepagestyle, etc. |
"(bu" 4
La classe foil a quelques bogues. reLyX fait des choses bizarres avec les paramètres optionnels des commandes f(CWefoilhead. Il gère aussi parfois les f(CWebegin{dinglist} de façon incorrecte (bien que ce qui se trouve dans l'environnement soit traduit normalement). |
Il y a une liste de bogues moins significatifs dans le fichier s-1BUGSs0 de la distribution de reLyX.
reLyX est heureusement assez robuste. Comme nous venons de le voir, il ne traduira peut-être pas parfaitement votre fichier, mais il ne devrait pas se planter. S'il se plante -- et que le problème n'est mentionné ni ci-dessus ni dans le fichier s-1BUGSs0 -- voyez la section Rapports de Bogues.
Ce que lyx ne sait pas gérer
Dans LyX lui-même, il manque quelques fonctions, de sorte que même si reLyX traduit des choses parfaitement, LyX peut encore avoir du mal à les lire. Si vous avez vraiment besoin de ces fonctions, vous pouvez exporter votre document final en LaTeX, et les y remettre. Voyez s-1BUGSs0 pour plus de détails sur ces bogues.
"(bu" 4
Pour un certain nombre de commandes, LyX ne supporte pas de paramètre optionnel. Des exemples sont f(CWechapter (et les autres commandes de section), et f(CWee. reLyX laissera automatiquement de côté les paramètres optionnels en émettant un avertissement sur la sortie standard. LyX ignore aussi le paramètre de largeur pour l'environnement thebibliography. |
"(bu" 4
Le centrage (ou l'alignement à droite ou à gauche) marche par paragraphes entiers. |
"(bu" 4
Le support des tableaux dans LyX n'est pas parfait. Pour des tableaux compliqués, utilisez un bloc « skippé », pour qu'ils soient recopiés en mode TeX. |
"(bu" 4
L'éditeur mathématique de LyX ne peut pas gérer les environnements mathématiques s-1AMSs0-LaTeX align, split, etc. Ces environnements seront donc recopiés en mode TeX. Vous pouvez changer les environnements equation* en maths hors ligne exactement équivalentes, et ils seront alors traduits correctement. |
"(bu" 4
Avec l'inclusion de fichiers graphiques, LyX ne supporte pas de découpage ou d'encadrement. Beaucoup de commandes d'inclusion de graphiques seront donc intraduisibles, et recopiées en mode TeX. Dans certains cas, vous serez peut-être capable de traduire la commande en LyX à la main -- par exemple, si vous incluez un cadre mais que ce cadre est déjà dans le fichier .eps. .Sp Les seules unités de taille permises pour les figures dans LyX sont les pouces, les cm, ou les pourcentages de etextwidth ou etextheight (ou ecolumnwidth). reLyX va effectuer la traduction à partir des autres unités, comme les pt ou les mm, mais il ne peut pas traduire d'autres longueurs (par exemple si vous voulez mettre une figure à l'échelle de etopmargin pour une raison quelconque). reLyX va recopier en mode TeX les figures avec des tailles intraduisibles. Là aussi, vous pourrez peut-être régler ça dans LyX. |
Lavenir de relyx
Dans l'avenir, reLyX supportera plus de commandes et d'environnements. Les bogues seront éradiqués.
Voyez le fichier s-1TODOs0 pour les détails.
Exemples
reLyX -df -o « mon/répertoire » -r « mon_env » machin.tex > machin.debug
Ce qui précède va créer un fichier mon/répertoire/machin.lyx à partir de machin.tex, en écrasant tout fichier préexistant. Quand il trouve un bloc f(CWebegin{mon_env} ... f(CWeend{mon_env}, il traduit ce qui se trouve à l'intérieur, mais recopie les commandes f(CWebegin et f(CWeend en mode TeX. Finalement, il garde les fichiers temporaires (également dans mon/répertoire/) et fournit un tas d'information de déboguage dans le fichier machin.debug.
reLyX -n -c « literate-article » machin.tex
Ce qui précède va changer un document noweb en document LyX literate-article. C'est ce qu'il faut faire si le document noweb est de la classe article.
Notes
Rapports de bogue
Si reLyX se plante ou se comporte d'une manière étrange -- d'une façon différente de celles décrites dans la section s-1BOGUESs0 ou dans le fichier s-1BUGSs0 -- alors veuillez lancer reLyX -d. Ça vous permettra de savoir où il s'est planté dans la procédure de reLyXage. Ce qui, ensuite, vous permettra d'écrire un meilleur rapport de bogue, qui permettra aux développeurs de le résoudre plus vite et plus facilement.
Les rapports de bogue doivent être envoyés à la liste de diffusion des développeurs de LyX. Son adresse est actuellement lyx-devel@lists.lyx.org, mais vous pouvez vérifier sur la page d'accueil de LyX, http://www.lyx.org/. Si vous faites tourner reLyX sur un fichier énorme, n'envoyez pas toute la sortie avec votre rapport d'erreur. Joignez juste les dix ou vingt dernières lignes de la sortie, avec le morceau du fichier LaTeX où il s'est planté. Ou, encore mieux, attachez un fichier léger mais complet qui cause le même problème que votre fichier d'origine.
Détails de limplémentation
reLyX procède à plusieurs passes pour traduire un fichier TeX. À chaque passe, il crée un ou deux fichiers.
"Passe 0" 4
Avant de faire quoi que ce soit, lit le fichier (ou les fichiers) de syntaxe. |
"Passe 1a" 4
Sépare le préambule (tout ce qui précède une commande f(CWebegin{document}) du reste du fichier. Il enregistre les deux morceaux dans des fichiers séparés. C'est nécessaire car il peut y avoir des choses très bizarres dans le préambule. Il ignore aussi tout ce qui suit le eend{document}, présumant que ce n'est pas du LaTeX. |
"Passe 1b" 4
Traduit le préambule. Pour l'instant, ça signifie juste traduire la commande f(CWedocumentclass et recopier exactement le reste dans le préambule LyX. .Sp Une fois que l'on sait quelle est la classe du document, lit le fichier de format LyX pour cette classe. |
"Passe 2" 4
« Nettoie » le fichier TeX, générant du LaTeX un peu plus strict. Ça comprend : |
"(bu" 12
Changer, par exemple, x^2 en l'équivalent mais plus clair x^{2} |
"(bu" 12
Enlever les paramètres optionnels que LyX ne sait pas gérer (par exemple ceux de f(CWechapter) |
"(bu" 12
Changer f(CW{eem machin} en f(CWeemph{machin}, etc. C'est nécessaire car LyX écrit toujours les formes non locales quoi qu'il arrive. Ça ne devrait que très rarement changer quelque chose. |
"Passe 3" 4
Traduit le texte LaTeX, les commandes et les environnements en LyX. |
"Passe 4" 4
Recolle les deux morceaux ensemble, et fait quelques derniers réglages, pour générer le fichier LyX. |
S'il y a des commandes f(CWeinput ou f(CWeinclude, reLyX va recommencer en boucle et les traduire. Ceci présume que les fichiers inclus sont de la même classe que le fichier principal, et qu'il n'ont pas de préambule. (Si vous avez une commande f(CWeinput dans le préambule d'un fichier, la commande sera recopiée exactement dans la partie de préambule LaTeX du fichier LyX, le fichier inclus ne sera donc pas traduit.) Quand il traduit des fichiers inclus, il saute donc les passes 0 et 1.
Si reLyX ne trouve pas un fichier que vous voulez inclure, il émettra un avertissement, mais continuera à traduire tous les fichiers qu'il trouve.
Fichiers de format
reLyX lit un fichier de format LyX pour savoir comment gérer les environnements et commandes LaTeX qui sont traduites en formats LyX. Ce fichier comprend tous les environnements « normaux » non mathématiques (c'est-à-dire, y compris quote et itemize, mais pas tabular, minipage, et d'autres environnements originaux), et les commandes comme f(CWesection et f(CWetitle. Si vous voulez reLyXer une classe pour laquelle il n'existe pas de fichier de format, vous devez d'abord en créer un. Mais vous devez de toutes façons le faire pour lire le fichier avec LyX, puisque LyX compte sur les fichiers de format pour savoir comment afficher et traiter les fichiers. Voyez la documentation de LyX pour être aidé dans cette tâche (qui peut être aisée ou difficile, selon la classe concernée). Si votre classe est assez similaire à une classe qui possède déjà un fichier de format, alors vous pouvez essayer d'utiliser l'option -c.
Fichiers de syntaxe
reLyX lit toujours au moins un fichier de syntaxe, appelé le fichier de syntaxe par défaut. reLyX lira votre fichier de syntaxe personnel s'il existe ; autrement il lira le fichier du système. reLyX lira des fichiers de syntaxe supplémentaires si vous les spécifiez avec l'option -s. (Ces fichiers supplémentaires doivent avoir le même format que le fichier par défaut, mais tendront à être plus courts, car ils n'ont à spécifier que des commandes supplémentaires qui ne se trouvent pas dans le fichier par défaut.) Un fichier de syntaxe indique à reLyX un certain nombre de choses.
Premièrement, il décrit la syntaxe de chaque commande, c'est-à-dire, combien la commande prend-elle de paramètres obligatoires et de paramètres optionnels. Sachant cela, reLyX pourra plus facilement recopier (en mode TeX) les commandes qu'il ne sait pas traduire. Le fichier de syntaxe contient simplement une commande, suivi par des crochets ou des accolades décrivant les paramètres dans le bon ordre. Par exemple, l'entrée de fichier de syntaxe f(CWebibitem[]{} signifie que la commande f(CWebibitem prend un paramètre optionnel suivi par un paramètre obligatoire, tandis que l'entrée f(CWebf signifie que la commande f(CWebf ne prend pas de paramètre du tout. Quand reLyX rencontre un élément qu'il ne sait pas traduire en LyX, il recopie cet élément exactement -- avec le nombre correct de paramètres. Si l'élément n'est pas dans le fichier de syntaxe, alors reLyX recopie juste autant de paramètres qu'il en trouve. Ça signifie qu'il peut en recopier trop. Mais comme l'utilisateur peut spécifier des fichiers de syntaxe additionnels, ça ne devrait pas arriver souvent.
Quelques commandes qui ne peuvent pas être traduites en LyX, comme f(CWembox, ont un de leurs paramètres qui est du texte LaTeX standard. S'il y a le mot « translate » dans un paramètre d'une commande (intraduisible) dans le fichier de syntaxe, reLyX va traduire ce paramètre au lieu de le recopier texto. Ainsi, par exemple, le fichier de syntaxe par défaut contient f(CWeraisebox{}[][]{translate}. Ça signifie que la commande f(CWeraisebox et le premier paramètre (et les paramètres optionnels s'ils existent) sont recopiés en mode TeX, mais que le dernier paramètre (qui peut contenir des maths, du LaTeX compliqué, d'autres commandes intraduisibles, etc.) sera traduit en LyX. Vous ne pouvez pas utiliser « translate » avec des paramètres optionnels.
Les fichiers de syntaxe définis par l'utilisateur servent pour définir de nouvelles commandes et leur syntaxe, ou pour passer outre le nombre de paramètres d'une commande définie dans le fichier de syntaxe par défaut. (Par exemple, si vous utilisez un style qui donne un paramètre supplémentaire à une commande donnée...) Cependant, ça ne sera utile que pour des commandes recopiées en mode TeX. Les commandes qui sont traduites par reLyX (comme f(CWeitem) ont une syntaxe prédéfinie pour leurs paramètres. Les commandes prédéfinies sont identifiées comme telles dans le fichier de syntaxe par défaut.
Deuxièmement, le fichier de syntaxe décrit des « environnements réguliers ». D'habitude, un environnement inconnu sera recopié tout entier en mode TeX. Toutefois, si vous définissez un environnement régulier « machin », alors seules les commandes f(CWebegin{machin} et f(CWeend{machin} seront recopiées en mode TeX ; le texte à l'intérieur de l'environnement sera traité (c'est-à-dire traduit) par reLyX comme du LaTeX normal, plutôt que d'être recopié en mode TeX. N'essayez pas de déclarer tabbing et picture comme environnements réguliers, car ce qu'il y a à l'intérieur de ces environnements mettra reLyX dans l'embarras ; utilisez cette possibilité pour de nouveaux environnements que vous créez, qui contiennent du texte brut ou des maths ou des commandes simples. Vous ne pouvez pas non plus déclarer des environnements mathématiques inconnus (comme equation*) comme environnements réguliers, car l'éditeur mathématique de LyX ne les comprendra pas. Les noms des environnements réguliers apparaissent séparés par des espaces entre les éléments f(CWebegin{reLyXre} et f(CWeend{reLyXre} dans le fichier de syntaxe. (Si vous avez un environnement régulier que vous n'utilisez pas très souvent, vous pouvez passer par l'option -r plutôt que d'écrire un fichier de syntaxe.)
Troisièmement, le fichier de syntaxe décrit une table de traduction mathématique. Il y a quelques commandes que l'éditeur mathématique de LyX ne supporte pas. Par exemple, f(CW_ est supporté, mais l'équivalent f(CWesb ne l'est pas. Mettez les commandes que vous voulez traduire entre f(CWebegin{reLyXmt} et f(CWeend{reLyXmt}. La ligne « f(CWe| {eVert} » signifie que tout f(CWe| en mode mathématique sera converti en « f(CWeVert » (dans les cas où un élément formé d'un antislash et d'un caractère autre qu'une lettre est traduit en quelque chose avec des lettres à la fin, une espace est ajoutée par reLyX ; ainsi, « f(CWe|a » est correctement traduit en « f(CWeVert a »).
Divers
Il vous faut Perl version 5.002 ou plus pour faire tourner reLyX. Si vous n'avez pas Perl, ce serait de toutes façons une bonne chose de vous le procurer (http://www.perl.com) car c'est un outil vraiment utile pour bien des choses.
Diagnostiques
reLyX, s'il se plante devrait toujours expliquer pourquoi il s'est planté. Certains diagnostics peuvent toutefois être très techniques, s'ils proviennent des entrailles du code. reLyX donne beaucoup plus d'informations quand vous le lancez avec l'option -d, mais vous ne devriez en avoir besoin que si quelque chose tourne mal.
Quand c'est fini, reLyX vous dit s'il s'est terminé normalement ou s'il a échoué suite à une erreur.
Avertissements
Gardez toujours une copie de vos fichiers LaTeX originaux soit sous un nom différent soit dans un répertoire différent. Il y a quelques cas où l'utilisation de LyX pourrait aboutir à l'écrasement du fichier LaTeX d'origine.
Si vous importez machin.tex pour créer machin.lyx, puis éditez machin.lyx et voulez le réexporter, notez qu'il écrasera l'original machin.tex. (LyX vous demandera si vous voulez l'écraser.)
Si la variable euse_tempdir est réglée sur false dans votre lyxrc, alors LyX va créer ses fichiers temporaires dans votre répertoire de travail, ce qui signifie que votre original LaTeX peut être écrasé (sans avertissement de la part de LyX) quand vous « visualisez le dvi » ou imprimez le document LyX.
Fichiers
"s-1MON_RÉPERTOIRE_LYXs0/layouts/*.layout" 4
Les fichiers de format personnels de l'utilisateur pour les classes de document |
"s-1MON_RÉPERTOIRE_LYXs0/reLyX/syntax.default" 4
Le fichier de syntaxe personnel de l'utilisateur |
"s-1LIBDIRs0/layouts/*.layout" 4
Les fichiers de format du système pour les classes de document |
"s-1LIBDIRs0/reLyX/syntax.default" 4
Le fichier de syntaxe LaTeX du système |
s-1LIBDIRs0 est le répertoire LyX de votre système, en général quelque chose comme /usr/local/share/lyx/. s-1MON_RÉPERTOIRE_LYXs0 est votre répertoire LyX personnel, quelque chose comme .lyx/ dans votre répertoire s-1HOMEs0.
Voir aussi
lyx(1), latex(1)
Auteurs
Copyright (c) 1998-9 Amir Karger (karger@post.harvard.edu)
Ont contribué au code :
"(bu" 4
John Weiss a écrit la passe CleanTeX d'origine. |
"(bu" 4
Étienne Grossmann |
"(bu" 4
José Abilio Oliveira Matos |
"(bu" 4
David Suarez de Lis |
"(bu" 4
Kayvan Aghaiepour Sylvan a ajouté ce qui concerne noweb et a écrit noweb2lyx. |
Autres contributeurs :
"(bu" 4
Jean-Marc Lasgouttes a travaillé sur le script d'emballage et a offert de nombreux rapports de bogue, conseils et suggestions de nouvelles fonctions. |
"(bu" 4
Asger K. Alstrup Nielsen et Marc Pavese ont donné des conseils. |
"(bu" 4
Divers membres des listes de développeurs et d'utilisateurs LyX ont fourni des rapports de bogue et des suggestions de fonctions. |
reLyX utilise une version modifiée du paquetage Text::TeX, interpréteur TeX écrit en Perl par Ilya Zakharevich (ilya@math.ohio-state.edu), disponible sur le s-1CPANs0.
Traduction de la page de man : (c) 2001 Adrien Rebollo (adrien.rebollo@gmx.fr) .rn }` '' .IX Title "RELYX 1" .IX Nom "B<reLyX> - traduit du LaTeX correct en LyX" .IX Header "NOM" .IX Header "SYNOPSIS" .IX Header "OPTIONS" .IX Item "-c" .IX Item "-d" .IX Item "-f" .IX Item "-h" .IX Item "-n" .IX Item "-o" .IX Item "-p" .IX Item "-r" .IX Item "-s" .IX Header "DESCRIPTION" .IX Subsection "Introduction" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Subsection "Usage" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Subsection "Ce que reLyX sait gérer" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu " .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Subsection "Ce que reLyX ne sait pas gérer -- Mais ça marche quand même" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Subsection "Ce que reLyX gère mal -- c'est-à-dire les s-1BOGUESs0" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Subsection "Ce que LyX ne sait pas gérer" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Subsection "L'avenir de reLyX" .IX Header "EXEMPLES" .IX Header "NOTES" .IX Subsection "Bug Reports" .IX Subsection "Détails de l'Implémentation" .IX Item "Passe 0" .IX Item "Passe 1a" .IX Item "Passe 1b" .IX Item "Passe 2" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "Passe 3" .IX Item "Passe 4" .IX Subsection "Fichiers de Format" .IX Subsection "Fichiers de Syntaxe" .IX Subsection "Divers" .IX Header "DIAGNOSTICS" .IX Header "AVERTISSEMENTS" .IX Header "FICHIERS" .IX Item "s-1MON_RÉPERTOIRE_LYXs0/layouts/*.layout" .IX Item "s-1MON_RÉPERTOIRE_LYXs0/reLyX/syntax.default" .IX Item "s-1LIBDIRs0/layouts/*.layout" .IX Item "s-1LIBDIRs0/reLyX/syntax.default" .IX Header "VOIR AUSSI" .IX Header "AUTEURS" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu" .IX Item "(bu"
Poster un commentaire