![]() ![]() ![]() ![]() |
Fonctions avancées de LyX
|
Découvrir LyXUtiliser LyXLyX et LATEXFn. avancéesRechercheMacrosExemplemise en placeargumentsdéfinitionutilisationdiffusionCorrespondance |
Cette
page est consacrée à quelques-unes des fonctions avancées de LyX. Par "avancées", nous ne voulons pas dire que ces fonctions seraient irréalisables en LATEX. Mais elles profitent de l'efficacité de l'interface de LyX. Elle rendent accessibles des manipulations qui seraient fastidieuses en LATEX pur. Cette section est appelée à s'étendre au fil des nouvelles versions de LyX. Rechercher et remplacer (élaboré)LyX propose deux niveaux de recherche et remplacement.S'il s'agit simplement de substituer un mot ou (une expression) à un autre, la boîte de dialogue "simple" suffit amplement. On l'appelle grâce à Édition > Rechercher et remplacer (simple)... ou au raccourci clavier F3 : ![]() Comme on le voit,
Depuis la version 2.0 de LyX, il existe une fonction de recherche et remplacement élaborée qui prend en compte tout ce que l'interface de LyX peut afficher, y compris les maths ! On l'appelle par Édition > Rechercher et remplacer (élaboré)... ; elle se positionne dans une nouvelle sous-fenêtre à droite du document ouvert (comme le correcteur orthographique) : ![]() Dans l'exemple ci-dessus nous remplaçons les coefficients binomiaux écrits sous forme de fraction par ceux "à l'ancienne" (Cnp). Quelques autres possibilités tirées du manuel :
Les possibilités sont très étendues, car il est possible d'utiliser les expressions régulières, dont la description sort du cadre de cette introduction. Il est possible, par exemple, de rechercher les fractions mathématiques présentant un certain numérateur (ou dénominateur). MacrosDans notre premier document LyX, nous avons eu l'occasion de créer une construction mathématique assez simple donnant la définition de la fonction ζ de Riemann :![]() L'écriture de la somme, malgré sa simplicité, nécessite un certain nombre d'étapes, qui peuvent être réalisées au clavier ou à la souris. Pour rappel :
LyX, depuis la version 2.0, a bien mieux à nous proposer : les macros [1]. Illustrons leur puissance dans un cas précis. ExempleNous cherchons à abréger la construction décrite ci-dessus. Notre macro
Elle aura donc 4 arguments dont 3 posséderont une valeur par défaut. Le 1er argument sera x, le deuxième i, le troisième a et le dernier, l'argument non optionnel b. 1. Mettons en place notre macro. Ouvrons un document LyX [2] et plaçons-nous au début. Insérons un cadre de macro :Insertion > Maths > Macro ou ![]() ![]() et nous voyons ceci : ![]() Le nom de notre nouvelle macro est déjà sélectionné. Remplaçons-le par quelque-chose de plus évocateur, somme p.ex. : ![]() 2. Réservons les arguments de notre macro. Il en faut donc 3 optionnels, et nous cliquons 3 fois sur le 6ème bouton![]() ![]() ![]() Tant que nous y sommes, remplissons les valeurs par défaut (x, i et 1) de nos trois premiers arguments optionnels en les plaçant entre les crochets prévus à cet effet : ![]() Il s'agit d'expliquer à LyX : "somme pour [2ème
argument] allant de [3ème argument] à
[4ème argument] de [1er
argument] indice [2ème argument]".
Il "suffit" donc de savoir comment désigner à LyX le kième argument. Vous l'avez sans doute deviné en observant les copies d'écran ci-dessus : le kième
argument est dénoté #k.
Mais attention, ce # n'est pas le caractère #, mais l'opérateur # : il faut donc taper \#k pour l'obtenir. Dans la deuxième "boîte" du cadre de la macro (celle qui s'intitule TeX), plaçons la construction LyX correspondante, après avoir effacé le contenu par défaut #1#2#3#4 : ![]() Et la boîte intitulée LyX ? Nous l'ignorons dans ce cas. Elle ne sert qu'à définir une forme abrégée à l'affichage dans LyX pour les macros dont le résultat est très long. Il faut d'abord lui faire appel. Pour cela, nous passons en mode mathématique et nous appelons notre macro après un backslash, comme s'il s'agissait d'une fonction interne de TEX : \som... Mais à peine avons-nous tapé les premières lettres que LyX nous propose le nom complet : ![]() ![]() où les cases reçoivent les arguments à leurs emplacements définitifs. Supposons que nous souhaitions écrire "∑n=1∞un" :
![]() Nous remarquons que, dès que nous remplissons un "n" (argument n°2), l'autre qui est présent dans la formule "suit" automatiquement. Dès que le curseur quitte la boîte de la macro, celle-ci produit son résultat définitif : ![]() ![]() C'est bien le résultat souhaité, et nous pouvons utiliser notre macro à souhait pour abréger les sommes présentes dans notre document. Notons que
Voici comment procéder :
Nous pouvons maintenant utiliser dans notre document toutes les macros présentes dans le fichier mesmacros.tex ; elles se comportent exactement comme si elles étaient présentes dans le fichier lui-même. Une seule précaution : si vous distribuez ce fichier à une tierce personne, il ne faudra pas oublier de lui communiquer également le fichier de définition de macros. Note[1] LATEX permet les macros. L'instruction de base est \newcommand. Mais le simple exemple que nous donnons ici va déjà au-delà, puisque \newcommand est limitée à un seul argument optionnel. En fait, la construction que nous effectuons est possible en LATEX, mais utilise \newcommandx du package xargs. La syntaxe LATEX de notre macro serait ainsi :\newcommandx\somme[4][usedefault,
1=x, 2=i, 3=1]{\sum_{#2=#3}^{#4}#1_{#2}}
une construction qui nécessite déjà une bonne connaissance de LATEX, dont LyX nous dispense ! [2] nouveau ou existant [3] Nous pourrions également les introduire au clavier, en utilisant la syntaxe décrite au point 3. |