Le mystérieux programme LyX. Partie 5

Copié de mon blog afin de créer une autre source d'information en russe sur ce sujet.

Cet article est la continuation des articles suivants en un seul cycle:

article 1
article 2
article 3
article 4

LyX; utilisation des fichiers .js


La principale caractéristique des fichiers avec l'extension .js , ce qui les rend intéressants en termes d'application dans le programme LyX, est la possibilité de simuler des frappes dans ces fichiers. À savoir, par exemple, comment rendre possible l'insertion d'une photo située dans le même dossier avec ce fichier .lyx fichier .lyx (si ce fichier n'a pas encore été enregistré, sa fenêtre est ouverte via Fichier> Nouveau , eh bien, sa fenêtre est ouverte pour la première fois littéralement lorsque vous utilisez le programme LyX cette fois, puis la photo insérée doit être dans le dossier spécifié dans Outils> Paramètres ...> Chemins , dans la zone de texte du répertoire utilisateur ) sans utiliser la souris, sans prendre vos mains Claudia. L'idée principale pour résoudre ce problème est la suivante. Supposons que, dans le dossier que j'ai mentionné ci-dessus, il y ait une photo photo.png . Pour l'insérer à la position actuelle du curseur dans la fenêtre du programme LyX, vous pouvez exécuter la commande suivante dans le tampon de commandes:

 inset-apply graphics filename photo.png 

Ainsi, dans le fichier .js , appelons-le vstavka-grafiki.js , vous devrez simuler en appuyant sur Alt + X (pour que le curseur commence à clignoter dans le tampon de commande) et en appuyant sur i , n , s , e , t , - , a , p , p , l , y , , g , r , a , p , h , i , c , s , , f , i , l , e , n , a , m , e , Espace . Après cela, la fenêtre du programme LyX commence à ressembler à ceci:



En même temps, si je commence à saisir quelque chose à partir du clavier, cela sera entré non pas dans la fenêtre principale du programme LyX, mais dans le tampon de commande, et en plus, les lettres ne seront pas saisies à partir des touches qui sont enfoncées lorsque ces touches sont enfoncées lorsque Disposition russe et celles qui sont saisies lorsque ces touches sont enfoncées lorsque la disposition du clavier est commutée sur l'anglais. Super, ce dont vous avez besoin! Mais ici, comme il s'est avéré plus tard, il y a un problème, à savoir: au début, j'ai pensé à visser ce fichier .js à LyX via le fichier default.def , en y écrivant la ligne

 \define "vstgr" "vc-command U \"$$p\" \"vstavka-grafiki.js\"" 

et en créant dans LyX la touche de raccourci pour l'expression call vstgr . Tout irait bien, mais il s'est avéré que les fichiers .js ne pouvaient pas être lancés à partir de LyX. Mais à partir de là, il s'avère que vous exécutez des fichiers avec l'extension .bat (fichiers batch banaux). C'est pourquoi j'ai écrit dans le fichier default.def

 \define "vstgr" "vc-command U \"$$p\" \"vstavka-grafiki.bat\"" 

en créant le fichier vstavka-grafiki.bat comme suit:

 start vstavka-grafiki.js 

Et directement pour simplifier l'appel de la commande que j'ai créée dans la fenêtre LyX, j'ai, comme je l'avais prévu, alors que je ne savais pas que j'aurais également besoin d'utiliser un fichier batch, créé un raccourci clavier pour l'expression appel vstgr . En même temps, le fichier vstavka-grafiki.bat et le fichier vstavka-grafiki.js doivent être dans le dossier ajouté à PATH. Alors, continuez. Lors de la création du format d'exportation pdflatex-v-papke , je suis tombé sur cela. Lorsque vous insérez des graphiques, par exemple, avec le nom mentionné ci-dessus avec l'extension photo.png dans la partie de la fenêtre du programme LyX qui apparaît après avoir cliqué sur View> View Source (ou View> View code - le nom de l'élément de menu correspondant View dépend du fichier .mo localisation utilisé) à la place , correspondant à la position des graphiques insérés dans la fenêtre principale du programme LyX, le code suivant sera:

 \includegraphics{photo} 

Et le même code sera enregistré dans le fichier .tex correspondant qui apparaît dans le répertoire temporaire correspondant à la suite de l'action du fichier batch sélectionné comme moteur de ce format à l'une des toutes premières étapes de ce fichier batch. Par conséquent, suite à l'exécution de l'une des commandes suivantes de ce fichier batch - traitement du fichier .tex reçu - une erreur se produira et rien ne fonctionnera. Et le problème ici est que dans le fichier .tex résultant, le nom du fichier graphique inséré (l'argument de la commande \includegraphics ) est écrit sans extension. Que faire? Hmm, car en plus de recevoir le fichier .tex , dont le traitement par pdflatex ne provoquerait pas une seule erreur, je voudrais également garder la visibilité dans la fenêtre du programme LyX. En revanche, lorsque vous insérez des graphiques dans la fenêtre du programme LyX dans notre cas russophone, les caractères insérés lorsque vous appuyez sur les touches du clavier seront très probablement cyrilliques, tandis que les extensions de fichier en général, en particulier celles graphiques, sont écrites en anglais. D'un autre côté, le lecteur qui a lu ce blog à cet endroit est probablement déjà au courant de la très savoureuse fonction du programme LyX - Utilisez la disposition du clavier et utilisez-la avec puissance et main. Eh bien, si c'est le cas, la tâche est grandement simplifiée. À savoir, ici, nous avons ouvert le fichier dans le programme LyX, changé la mise en page en anglais, et nous avons commencé à écrire en appuyant sur les lettres dont nous avons besoin, comme si la mise en page était définie en russe, les caractères qui sont entrés dans la fenêtre du programme LyX sont des caractères cyrilliques, situé sur les touches enfoncées. Tout va bien ici. Nous avons donc écrit, écrit, hop, nous devions insérer des graphiques. Jusque-là, les caractères cyrilliques ont été introduits, et maintenant il nous a fallu saisir les lettres anglais (pour saisir l'extension). Nous la prenons donc et passons en mode mathématique, dans lequel nous écrivons le nom de la photo insérée avec son extension, puis nous la lançons en utilisant le raccourci clavier que nous avons créé spécialement pour cela (j'ai ce Ctrl + 0 + V + G ( car l'insertion de graphiques)) la commande vstgr1 spécifiquement définie dans le fichier default.def .
Cette commande est définie comme suit:

 \define "vstgr1" "vc-command U \"$$p\" \"vstavka-grafiki1.bat\"" 

(et le raccourci clavier précédent est affecté à la phrase appeler vstgr1 ). Comme vous pouvez le deviner, cette commande lance le fichier batch vstavka-grafiki1.bat avec le contenu suivant:

 start vstavka-grafiki1.js 

Comme vous pouvez le deviner, ce fichier batch exécute le fichier vstavka-grafiki1.js , qui, par essence, fait tout. Que fait-il? .lyx abord quelle construction nous voulons dans le fichier .lyx actuellement édité. Nous voulons que là d'une nouvelle ligne (si nous avons déjà écrit quelque chose avant, sinon, nous n'avons pas besoin d'une nouvelle ligne, voir ci-dessous) la photo dont nous avons besoin est insérée, puis, à nouveau d'une nouvelle ligne, elle sera insérée un bloc de code TeX (ce qui apparaît généralement dans la fenêtre du programme LyX lorsque vous appuyez sur Ctrl + L ) et dans ce bloc, il indiquerait \includegraphics{} , où le nom de la photo insérée, puis le point, puis l'extension de la photo insérée seraient entre accolades . En fait, nous rendons la photo insérée dans la fenêtre du programme LyX affichée uniquement pour la décoration dans la fenêtre du programme LyX, nous n'avons pas besoin que cette photo soit affichée dans le .pdf final .pdf : la photo qui y apparaît à la suite de la commande sera affichée dans le .pdf final .pdf situé dans le bloc TeX, par conséquent, pour éviter l'apparition des graphiques .pdf finaux résultant du traitement des graphiques visuels à partir de la fenêtre du programme LyX, nous commenterons ce graphique visuel dans cette fenêtre du programme LyX, en mettant un signe de pourcentage devant ce graphique intégré dans le bloc de code teX. En un mot, nous voulons obtenir, par exemple, la construction suivante:



Je fais essentiellement la même chose que dans le premier cas: de la même manière, je vis le fichier vstavka-grafiki1.bat sur LyX via le fichier default.def , créant une nouvelle commande vstgr1 dans ce fichier, puis créant une commande à chaud dans la fenêtre du programme LyX touchez la phrase appeler vstgr1 , tout est clair. La différence se trouvera uniquement dans le fichier vstavka-grafiki1.js , qui est lancé par le fichier vstavka-grafiki1.bat . Avant de lister le contenu du fichier vstavka-grafiki1.js , je vais lister le contenu des deux fichiers auxiliaires utilisés dans ce fichier. À savoir, pour faire tout cela, nous aurions besoin de simuler en appuyant sur le signe de pourcentage dans le fichier vstavka-grafiki1.js également . Et, puisque nous utilisons la disposition du clavier kazakh (j'utilise la disposition du clavier kazakh, j'écris donc en fonction du fait que mon lecteur l'utilise également) et, parce qu'avec cette disposition du clavier, le caractère entré, par exemple, dans le cahier, lorsque vous appuyez sur la touche sur laquelle se trouve ce signe de pourcentage, se trouve la lettre de l'alphabet kazakh, puis dans la commande qui simule le signe de pourcentage du fichier vstavka-grafiki1.js , nous aurions besoin d'écrire cette lettre kazakhe, qui, comme je l'ai écrit dans un autre message sur ce billet de blog provoque une erreur. Par conséquent, le fichier vstavka-grafiki1.js utilise le fichier de commandes procent.bat avec le contenu suivant:

 echo LYXCMD:vvod:command-sequence:self-insert %%> \\.\pipe\lyxpipe.in 

En se souvenant de l'histoire de \\. \ Pipe \ lyxpipe.in, il est facile de comprendre que ce fichier de commandes insère vraiment un signe de pourcentage à la position actuelle du curseur dans le programme LyX (naturellement, pour pouvoir l'utiliser, dans Outils> Paramètres ...> Chemins dans le texte le champ du canal du serveur LyX: doit être \\.\pipe\lyxpipe , et lorsque vous essayez d'utiliser le fichier procent.bat tel qu'appliqué à LyX en dehors du fichier vstavka-grafiki1.js, vous devez suivre l'ordre correct pour lancer la fenêtre d'invite de commandes à partir de laquelle le fichier vstavka sera appelé grafiki1.js et fenêtres du programme LyX, dans lequel ce même signe de pourcentage sera entièrement Pour plus de détails, je renvoie le lecteur à la narration mentionnée ci-dessus, mais lors de l'appel de procent.bat à partir de vstavka-grafiki1.js, tout se passe comme il se doit). Un autre fichier auxiliaire utilisé dans le fichier vstavka-grafiki1.js est le fichier Ostanovka.js avec le contenu suivant:

 WshShell=WScript.CreateObject("WScript.Shell") WshShell.Popup("      ,   \"\",  \"\"", 0, " ",1); 

Mais qu'en est-il du judo miracle? Le fait est que lorsque j'ai créé le fichier vstavka-grafiki1.js qui s'exécute sans arrêt, pendant son fonctionnement, apparemment, également en raison du lancement d'autres fichiers à partir de celui-ci avec des commandes qui devraient être exécutées dans la même fenêtre de programme LyX , dans lequel le fichier vstavka-grafiki1.js exécute lui - même des commandes, des erreurs se sont produites à différents endroits, ces commandes du fichier vstavka-grafiki1.js n'ont pas collectivement fait ce qui était nécessaire. Pour résoudre ce problème, j'ai trouvé cela. Expérimentalement identifié de tels endroits dans le fichier vstavka-grafiki1.js . À savoir, les commandes de ce fichier qui provoquent des erreurs. Et devant ces endroits, je voulais suspendre le fichier vstavka-grafiki1.js jusqu'à ce que j'appuie sur une touche. Qui - ne savait pas encore. J'ai pensé et pensé que l'équipe n'est pas une équipe, peu importe, en général, WshShell.Run( il y a un tel argument que si sa valeur est spécifiée comme vraie , alors lorsque cette commande est exécutée, le travail principal à partir duquel cette commande est exécutée, le fichier est mis en pause jusqu'à ce que le fichier ouvert par cette commande se ferme. Eh bien, quelque chose déjà ... D'un autre côté, je me suis souvenu qu'en jscript, il y a une commande qui ouvre une boîte de dialogue avec des boutons vraiment fonctionnels. J'ai décidé avant les problèmes fichier vstavka-grafiki1.js coller commande zap fichier ska Ostanovka.js avec les attentes de la fin de l'opération du fichier comme Ostanovka.js va créer une boîte de dialogue avec deux boutons -. Ok et Annuler en même temps après vyplyvaniya cette fenêtre , l'accent sera mis sur le bouton Ok, donc de fermer cette boîte de dialogue fenêtre, il suffira d'appuyer sur Entrée . J'ai donc créé le fichier Ostanovka.js du contenu ci-dessus. Je voulais également accrocher le bouton Annuler et annuler toutes les actions effectuées par le fichier vstavka-grafiki1.js après la dernière exécution du fichier Ostanovka.js , mais pour l'instant Je ne sais pas comment faire. Donc bon, c’est tout, après les remarques préliminaires, le lecteur est capable de comprendre le processus du fichier vstavka-grafiki1.js . J'écrirai dans le commentaire de chaque ligne ce qu'elle fait. N'oubliez pas qu'avant de démarrer le fichier vstavka-grafiki1.js, le curseur dans la fenêtre du programme LyX est en mode mathématique, après le nom du fichier graphique inséré, le point séparant son nom de l'extension et de l'extension elle-même. À savoir, je l'ai fait comme suit:

 WshShell=WScript.CreateObject("WScript.Shell") WshShell.SendKeys("%"); WshShell.SendKeys("+{HOME}"); //   .   // ,      WshShell.SendKeys("^"); // ,     WshShell.SendKeys("{LEFT}"); //    . , //         WshShell.SendKeys("{END}"); //     //. ,          WshShell.SendKeys("{ENTER}"); //    . , //         WshShell.Run("Ostanovka.js",1,true); //   //vstavka-grafiki1.js WshShell.SendKeys("^"); //  TeX WshShell.SendKeys("^"); //  TeX WshShell.Run("Ostanovka.js",1,true); //   WshShell.Run("Ostanovka.js",1,true); //   //vstavka-grafiki1.js WshShell.Run("procent.bat"); //       TeX WshShell.Run("Ostanovka.js",1,true); //   //vstavka-grafiki1.js WshShell.SendKeys("{RIGHT}"); //      //  TeX WshShell.SendKeys("%"); //    WshShell.SendKeys("-   "); //  //       //inset-apply graphics filename     filename WshShell.SendKeys("^"); //        //         , //    WshShell.SendKeys("{ENTER}"); //   ENTER,  //       //  LyX     //WshShell.SendKeys("{UP}"); //      LyX // ,         , //  . ,         , //  .  WshShell.SendKeys("{LEFT}"); //   . ,    //      WshShell.SendKeys("+{HOME}"); //   , //   ,      WshShell.SendKeys("^"); // ,     WshShell.SendKeys("^"); // ,     WshShell.SendKeys("{LEFT}"); //      WshShell.SendKeys("{DELETE}"); //    //       ,  //   ,   WshShell.SendKeys("{DELETE}"); //    //   WshShell.SendKeys("{END}"); //     //       ,    //.  ,       //    ,      //   LyX   WshShell.SendKeys("{ENTER}"); //   WshShell.SendKeys("^"); //       //  WshShell.SendKeys("\"); //   ,   //, \includegraphics WshShell.SendKeys("+"); //       //  WshShell.SendKeys("^"); //        //     , //     WshShell.SendKeys("+"); //       //  WshShell.SendKeys("{RIGHT}"); //      

Je vais dire quelques mots sur le code ci-dessus. Tout d'abord, les commentaires en jscript sont indiqués par le signe // et tout ce qui apparaît dans la ligne après ce signe est ignoré par l'exécuteur de ce code, il est destiné à expliquer à la personne les actions effectuées par cette ligne. Et s'il n'y a rien avant // dans la ligne, alors cette ligne continue le commentaire commencé quelque part au-dessus. Deuxièmement, la première fois que j'ai copié le nom de la photo insérée avec son extension, séparé par un point de son nom, et la deuxième fois j'ai découpé ce dessin au lieu de ce qui semble possible de le couper une fois. Pourquoi? Oui, car lorsque j'ai essayé de le faire, avant de coller ce dessin du presse-papiers une deuxième fois dans la position actuelle, il est mystérieusement devenu vide et rien ne m'en est venu. Je ne peux pas expliquer pourquoi cela se produit, cependant, j'ai trouvé une telle solution au problème qui s'est posé. Encore une fois, je tiens à vous rappeler que pendant le fonctionnement du vstavka-grafiki1.js lorsqu'une boîte de dialogue avec le titre Contrôle du processus apparaît, pour continuer le fonctionnement du fichier vstavka-grafiki1.js, vous devez appuyer sur Entrée (ou cliquer avec le bouton gauche sur un bouton quelconque de la boîte de dialogue contextuelle ce qui me semble moins pratique).

LyX: Grande lettre e


Maintenant, lorsque dans le programme LyX, utilisé sous la forme dans laquelle il a été créé, vous appuyez sur Maj + E (c'est le cas lorsque, lorsque la fonction Utiliser la disposition du clavier est activée, la disposition du clavier passe en anglais), au lieu de la lettre majuscule attendue " Euh », une citation inversée apparaît dans la fenêtre du programme LyX. La solution à ce problème consiste à affecter la touche de raccourci Maj + " à la séquence de commandes auto-insérée E.

LyX: comment ajouter / supprimer des messages d'un groupe de messages dans Afficher les messages


Ainsi, lorsque via View> View Meseages (ou via View> View messages - cela dépend du fichier de localisation LyX2.0.mo utilisé ) vous ouvrez la zone de messages Progress / Debug en bas de la fenêtre du programme LyX, il y a trop de messages affichés dans cette partie de la fenêtre, il se trouve que vous déplacez simplement la souris, et il affiche une séquence de lignes de plusieurs kilomètres dans laquelle trouver quelque chose dont vous avez besoin (par exemple, pour obtenir un indice sur la façon d'entrer telle ou telle commande via le tampon de commande, là, bien sûr, elle ne sera pas sous une forme littérale, mais un indice ça peut donner, moi, peut-être bientôt je vais vous parler un peu de ce que j'ai réussi à creuser à ce sujet) ça peut être extrêmement difficile. Pour réduire (ou, inversement, ajouter des messages à n'importe quel groupe de messages), nous le faisons. Dans cette zone inférieure de la fenêtre, cliquez avec le bouton gauche de la souris sur la souris Paramètres , nous avons défini le commutateur Messages de débogage sur En surbrillance :



Et puis juste là sur le côté droit, double-cliquez (à la vitesse à laquelle cela se fait lors de l'ouverture d'un fichier, cette vitesse peut être modifiée si nécessaire dans les paramètres de l'ordinateur lui-même, en dehors du programme LyX) en fonction du groupe de messages, les messages dont nous voulons faire en sorte qu'il ne s'affiche pas dans la zone Messages de progression / débogage ou, inversement, les messages de ce groupe de messages que nous souhaitons afficher dans cette zone. , , , , : , LyX . , , , .

LyX: -


> ... . , Preview … , , , .tex - , , pstricks. , , pstricks, .tex , , LyX, - « LaTeX», , TeXworks, .. \begin{pspicture} , \end{pspicture} , , \begin{pspicture} - \psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dimen=middle,dotstyle=o,dotsize=3pt … , , pstricks, , . , .tex , . LyX. - >...> LaTeX , , .tex , - « LaTeX», LyX > ( >Preview .mo ). . . > , .... . : .tex , . , , . , OK :



, OK : , , , .tex . — .lyx .tex , , . , , OK Preview , .tex , LyX. , ???

LyX: ,


, , - , :



, . , >...> , , (.) , , (.) , , , , , . ( , ) :



LyX: Local layout,


, LyX. , , , , , , , , , , , , , LyX , , , . , . ? . >> ( .mo Local layout ), :

 Provides amsmath 0 PageStyle plain Style Standard Font Color blue EndFont End Style Enumerate Font Color red EndFont End Style Theorem Font Color green Shape ital EndFont End 

Cliquez sur le bouton Vérifier , après un certain temps, si tout y a été écrit comme il se doit, l'inscription Mise en page sans erreur apparaît à droite de ce bouton ! , tous, cliquez sur OK (enfin, ou sur Appliquer ). La fenêtre du programme LyX commence à ressembler à ceci:

Source: https://habr.com/ru/post/fr485428/


All Articles