El misterioso programa LyX. Parte 3

Copiado de mi blog para crear otra fuente de información en ruso sobre este tema.

Este artículo es una continuación de los siguientes artículos en un solo ciclo:

artículo 1
artículo 2

LyX: Rama


El menú Insertar tiene un submenú llamado Rama . Que es esto Entonces llegué a este submenú, se abrió. Allí, con el botón izquierdo del mouse, haga clic en el elemento Agregar nueva rama (hay 2 puntos, hago clic en el inferior). En el cuadro de diálogo que aparece, ingrese el nombre de la rama que se creará, haga clic en Aceptar . Según tengo entendido, no debe haber espacios en el nombre de la rama creada. Después de hacer clic en Aceptar en la ventana de LyX, en la que se hace todo esto, aparece el siguiente área:



Esta rama parece inactiva . Esto significa que si escribo algo delante de la rama, entonces escribo un texto en el rectángulo de la rama y continúo la narración después de la rama, luego en el .pdf formado a partir de este archivo .lyx , la parte del texto en el rectángulo rojo será solo estar ausente. Para incluir esta parte en .pdf , paso el mouse sobre la palabra Vetka, allí, más o menos al lado de esta palabra, hago clic derecho y selecciono Activar rama con el botón izquierdo del mouse. Dependiendo del archivo .mo utilizado, este elemento puede llamarse de manera diferente, pero siempre aparece primero en el menú desplegable.

LyX: Vista previa matemática


En Herramientas> Preferencias> Ver, la segunda parte superior es una lista desplegable . Dependiendo del archivo .mo utilizado en la traducción al ruso de los nombres de los elementos de la interfaz, tiene diferentes nombres. En esa copia del programa LyX que usé antes, se llamaba, si no me equivoco, Vista previa de matemáticas . En la copia actual de LyX, se llama Instant Preview . Y su esencia es la siguiente. Si configuro el valor de esta lista en , luego de que el cursor abandone el modo matemático (fórmula de línea) o desactivado, la fórmula en la ventana de LyX se ve así:



Y con el valor de esta lista , la fórmula comienza a verse así:



Pero esto en sí mismo es de poco interés. El uso de esta lista desplegable junto con el contador de Tamaño de vista previa parece mucho más interesante. Es decir, establezca el valor de la lista desplegable en activado y el valor del contador en algún valor mayor que 1, por ejemplo, 3.8, haga clic en el botón Guardar . Luego, después de reiniciar, las fórmulas de LyX comienzan a aparecer de la siguiente manera:



Pero esto es algo. Usé esto, por ejemplo, cuando pinté exponentes fraccionales de varios pisos al estudiar la prueba de un teorema de la teoría de grupos: resultó ser confuso a mano, pero resultó justo en LyX usando esta loción.

¿Cómo usar Asymtote en LyX?


Pero muy simple: abra el programa LyX. Vaya a Documento> Configuración> Preámbulo de LaTeX . Entramos allí

 \usepackage{asymptote} 

quizás con algunas opciones de paquete de asíntota, haga clic
Guardar . Eso es todo, comenzamos a escribir el texto que necesitamos en la ventana principal del programa LyX. Tan pronto como se trata de insertar el código de asíntota, inserte la rama, actívela (consulte la sección LyX: Rama de este artículo), inserte el código Tex en la rama ( Ctrl + l ) y solo comience a escribir en este bloque

 \begin{asy} ... \end{asy} 

donde en el lugar de los puntos suspensivos escribimos el código de la asíntota exactamente de la misma manera que lo hacemos en algún archivo .asy . Por ejemplo, podría verse así:



La imagen se tomó después de la primera exportación a PDF (pdflatex). Preste atención a la ruta a la carpeta marcada en un círculo en la parte inferior de la ventana del programa LyX en rojo. Ahí es cuando también proceso un archivo .tex ordinario en algún otro editor ordinario  LaTeX, por ejemplo, en TeXworks, todos los archivos que ocurren simultáneamente al mismo tiempo, como .log , .aux , etc., se crean en la misma carpeta con este archivo .tex . En el caso de exportar a algún formato en el programa LyX, en la misma carpeta con el archivo .lyx procesado, solo todos los demás archivos resultantes de esto se generan .pdf (y primero se exportan a .tex , y luego .tex algo de .tex en este una implementación binaria disponible en una computadora  TeXconectado (aunque opcional) al programa LyX. Por ejemplo, esta vez instalé LyX después del programa MiKTeX. Entonces, la conexión de LyX con MiKTeX se expresó en el hecho de que cuando instalé LyX, subí a Herramientas> Configuración ...> Rutas , allí, en el cuadro de texto del prefijo PATH : entre otros, había una ruta C:\Program Files\MiKTeX 2.9\miktex\bin : la ruta a la carpeta de binarios que mencioné anteriormente instalada en mi computadora  TeX. Sin embargo, la presencia de la ruta a esta carpeta en este campo de texto no es obligatoria: instalé LyX en el sistema anterior, también Windows7, cuando MiKTeX aún no estaba instalado, así que a pesar del hecho de que no había ruta a esa carpeta en ese campo de texto tanto antes de instalar y configurar MiKTeX, como después de estas operaciones, LyX funcionó normalmente. Entonces, cuando un archivo binario es .tex archivo .tex , todos los archivos que ocurren simultáneamente al mismo tiempo, como .log , .aux , etc., también se crean en la misma carpeta con este archivo .tex .) .tex colocan en la carpeta, la ruta a que se encuentra en la ventana del programa LyX que aparece después de hacer clic en Ver> Ver código fuente . Para demostrar el formato de la ruta a dicha carpeta, imaginé un borde rojo alrededor de esta ruta. Vamos a esta carpeta, ejecutamos la línea de comando desde esta carpeta, ejecutamos el comando en esta línea

asy *.asy

Y hacemos una exportación más a PDF (pdflatex). Ahora todo está listo: abra el .pdf creado y disfrute de la calidad de los gráficos, que generalmente se espera donde se usa Asymptote. Y necesitamos una rama en toda esta historia porque a veces sin gráficos, el gráfico .pdf no está en el lugar donde se encuentra el código que lo genera en .lyx . Sin embargo, recientemente se me ocurrió una forma de insertar el código Asymptote en un archivo .lyx sin usar ramas, pero hablaré sobre esto en una página que está más cerca de este tema.

LyX: cambiar nombres, información sobre herramientas para elementos de interfaz


Ahora, cuando usa LyX en un idioma que no sea inglés, los nombres que se muestran de varios menús, elementos de menú, barras de herramientas, etc. en una palabra, los nombres que se muestran de casi todos los elementos de la interfaz, excepto la lista desplegable de entornos y, posiblemente, algo más, LyX toma las traducciones de varios mensajes del archivo .mo correspondiente al idioma utilizado. Entonces, no importa cómo coloque varias copias de LyX, estos archivos .mo , en cualquier caso, dentro del marco de la copia de LyX utilizada para diferentes idiomas, tienen el mismo nombre. En una copia del programa que estoy usando ahora, estos archivos se llaman LyX2.0.mo. Estos archivos para diferentes idiomas difieren, además de sus contenidos, en que se encuentran en diferentes subcarpetas de la misma carpeta. Para ruso, el archivo LyX2.0.mo correspondiente se encuentra en
C:\Program Files\LyX 2.0\Resources\locale\ru\LC_MESSAGES . Sin embargo, si con el propósito de tratar de reemplazar LyX en la ventana del programa, el nombre que se muestra está allí, de cualquier barra de herramientas de cualquier elemento de cualquier menú, cambie el lugar correspondiente en el archivo .mo (cómo encontrar este lugar se describe a continuación), esto, después de guardar Los cambios en el archivo .mo al reiniciar LyX, al contrario de lo esperado, no llevarán a cambiar el nombre del elemento de interfaz correspondiente, sino a mostrar todos los nombres y sugerencias en inglés en general: editar el archivo .mo no tiene sentido directamente. Y necesita editar el archivo .po , desde el cual posteriormente, usando el programa gettext , después de cada cambio (con el guardado posterior de este cambio), obtiene el archivo .mo nuevamente y mueve el archivo .mo recién recibido a la carpeta nombrada anteriormente con reemplazo. Detengámonos en este proceso. Primero, obtén gettext. Hice clic en el enlace de arriba para descargar la estática de 32 bits, y no el ícono con una computadora y un disco, sino el ícono de la carpeta con una cremallera. Descargue el archivo, descomprimido en cualquier lugar. Para no agregar la carpeta bin de este programa debido a tales problemas, haremos lo siguiente: ir aquí . Desde aquí descargue el archivo lyx-2.3.2.tar.gz. Ábralo, copie el archivo ru.po de la carpeta po a la carpeta bin del programa gettext previamente descomprimido, cámbiele el nombre a LyX2.0.po. A continuación, abrimos este archivo .po en algún editor de texto. Entonces Por lo tanto, queríamos cambiar, por ejemplo, el nombre para mostrar del elemento Marcadores de la Navegación de marcadores: visualización modificada. Sí, abra el menú de navegación, mire el nombre de los elementos en este menú junto a Marcadores . Estos elementos, por ejemplo, son los siguientes: Nota siguiente , Siguiente cambio, ... esto es necesario porque en el archivo .po puede haber traducciones idénticas de los nombres mostrados de varios elementos de la interfaz en varios lugares diferentes, por lo que lo mismo estará en el archivo resultante .mo , lo que conducirá al hecho de que en la ventana de LyX varios elementos de la interfaz en diferentes lugares tendrán los mismos nombres que se muestran. Por lo tanto, para cambiar la traducción de algún elemento de la interfaz en el archivo .po , de modo que los nombres que se muestran exactamente de esos elementos de la interfaz cuyos nombres para mostrar deben cambiarse en el archivo .mo , debemos mirar los nombres que se muestran de los elementos adyacentes a esos elementos de la interfaz, Vamos a cambiar los nombres mostrados. Si algún elemento tiene información sobre herramientas en la ventana del programa LyX, el texto de esa información sobre herramientas que se muestra en el idioma correspondiente en el archivo .po se ubicará no lejos del nombre que se muestra de este elemento de interfaz. Otro signo de la ubicación del archivo .po que debe editarse para que esto conduzca a un cambio en el nombre para mostrar del elemento de interfaz para el que debe cambiarse el nombre para mostrar. Entonces, vamos a la ventana del editor con el archivo abierto LyX2.0.po , encontramos los Marcadores allí, miramos las secciones vecinas en ruso. Aquí está uno de los resultados de búsqueda junto con su entorno:

 #: src/frontends/qt4/ui/PDFSupportUi.ui:249 msgid "Bibliographical backreferences" msgstr "  " #: src/frontends/qt4/ui/PDFSupportUi.ui:252 msgid "B&ackreferences:" msgstr "& :" #: src/frontends/qt4/ui/PDFSupportUi.ui:281 msgid "&Bookmarks" msgstr "&" #: src/frontends/qt4/ui/PDFSupportUi.ui:293 msgid "G&enerate bookmarks (toc)" msgstr "& " #: src/frontends/qt4/ui/PDFSupportUi.ui:314 msgid "&Numbered bookmarks" msgstr "& " 

Esta palabra de marcador encontrada está en línea con el número 3144. A juzgar por las palabras vecinas en ruso, esto no es lo que necesita. Y aquí hay otro resultado de búsqueda para la palabra Marcador junto con algunos de sus alrededores en el archivo LyX2.0.po :

  #: lib/ui/stdmenus.inc:559 msgid "Reject All Changes|e" msgstr "  " #: lib/ui/stdmenus.inc:560 msgid "Show Changes in Output|S" msgstr "   " #: lib/ui/stdmenus.inc:567 msgid "Bookmarks|B" msgstr "|" #: lib/ui/stdmenus.inc:568 msgid "Next Note|N" msgstr " |" #: lib/ui/stdmenus.inc:569 msgid "Next Change|C" msgstr " |" 

Esta entrada de la palabra Marcador se encuentra en línea con el número 19619 y, a juzgar por las palabras del idioma ruso, ubicada en las proximidades de esta entrada, esto es lo que necesita. Reemplazamos esta aparición de la palabra con esa frase, la oración que queremos que sirva como nombre para mostrar del elemento de interfaz correspondiente. Por lo tanto, este fragmento de código, junto con algunos de sus alrededores en el archivo LyX2.0.po, comienza a verse así:

 #: lib/ui/stdmenus.inc:559 msgid "Reject All Changes|e" msgstr "  " #: lib/ui/stdmenus.inc:560 msgid "Show Changes in Output|S" msgstr "   " #: lib/ui/stdmenus.inc:567 msgid "Bookmarks|B" msgstr ":  |" #: lib/ui/stdmenus.inc:568 msgid "Next Note|N" msgstr " |" #: lib/ui/stdmenus.inc:569 msgid "Next Change|C" msgstr " |" 

Guarde los cambios en LyX2.0.po. Lanzamos la línea de comando en la carpeta bin en la que estamos. En la ventana de esta línea, escriba el siguiente comando:

 msgfmt LyX2.0.po --o LyX2.0.mo 

, presione la tecla Enter . Después de esto, como se esperaba, el archivo LyX2.0.mo aparece en la carpeta bin. Personalmente, para no ingresar el mismo comando en la línea de comando cien veces, creé un archivo por lotes del siguiente contenido en la carpeta bin del programa gettext:

 cd /d %0\.. msgfmt LyX2.0.po --o LyX2.0.mo 

Y ahora, cuando lo abro después de guardar los cambios en el archivo LyX2.0.po , se crea exactamente el mismo archivo LyX2.0.mo en mi carpeta bin, como si lo obtuviera de la línea de comandos. A continuación, mueva, repita con el reemplazo, el archivo .mo resultante en la carpeta
C:\Program Files\LyX 2.0\Resources\locale\ru\LC_MESSAGES . Después de reiniciar LyX obtenemos lo siguiente:



LyX: sobre el archivo default.def


En C:\Program Files\LyX 2.0\Resources\commands hay un archivo default.def . ¿Para qué es este archivo? El 19 de agosto, descubrí que los cambios que hice el 12 y 19 de junio en este archivo solo entraron en vigencia. En junio, estos cambios en este archivo no aparecieron. Aparentemente, durante este período de tiempo hice algo relacionado con el programa LyX, pero no puedo decir exactamente qué. Pero luego ingresaron de inmediato y los cambios ahora surten efecto en el archivo con el mismo nombre, pero solo ubicado en una carpeta diferente, en la carpeta C:\Users\\AppData\Roaming\LyX2.0\commands . Entonces, este archivo es necesario para nombrar las combinaciones de comandos que usualmente usamos en el búfer de comandos en este archivo, para que luego podamos llamar a cualquiera de estas combinaciones de comandos nuevamente a través del búfer de comandos usando el nombre asignado a esta combinación . Aquí hay ejemplos para definir dichos nombres para tales combinaciones en este archivo:

  \define "corpi" "command-sequence math-mode; math-insert {\displaystyle \intop_{-\infty}^{\infty}e^{-x^{2}}dx=\dfrac{\sqrt{\pi}}{2}}; char-right; char-right;" \define "vstgr" "command-sequence vc-command U \"$$p\" \"vstavka-grafiki.bat\"" 

Una llamada a un comando específico, por ejemplo, vstgr , se realiza en el búfer de comandos de la siguiente manera:

 call vstgr 

Con este comando, inserto gráficos en la ventana del programa LyX sin quitar las manos del teclado. El archivo vstavka-grafiki.bat entra en juego . Lo que hay dentro de este archivo y cómo funciona, lo diré en otro artículo de esta serie de artículos: no tiene casi nada que ver con lo que estoy hablando aquí. También señalaré aquí solo que, según tengo entendido, el equipo

 command-sequence 

se usa aquí cuando en una determinada combinación de comandos hay varios comandos para combinar estos comandos en un solo conjunto, pero en general este comando se puede usar con el mismo propósito directamente para ingresar un comando en el búfer con las manos cuando se deben ejecutar varios comandos desde él en una entrada y cuando Las teclas de acceso rápido se asignan a una secuencia de varios comandos.

LyX: agregar botones a menús, barras de herramientas


Primero, le mostraré cómo agregar un botón a un menú. Por ejemplo, mostraré cómo agregar un botón al menú Editar , cuando hace clic en él, comienza el modo matemático, la fórmula se ingresa allí

 frac sqrt pi2

y después de eso, el cursor se mueve 2 veces hacia la izquierda, de modo que después de completar este comando, el cursor comienza a parpadear a la izquierda de la fórmula recién ingresada. Al mismo tiempo, quiero que este botón se interponga entre los botones Reciente e Insertar , se colocó una franja encima de este botón, como, ya sabes, hay franjas en el menú que las dividen en bloques en los que de alguna manera están conectados entre sí. botones de amigos Y el nombre para mostrar de este botón debe ser el chislitelem de drob . Para realizar esta tarea, un caso especial de las tareas indicadas en el título de este tema, necesitaremos editar los archivos ubicados en la carpeta C:\Program Files\LyX 2.0\Resources\ui . Es decir, para cambiar un menú, necesitamos editar el archivo stdmenus.inc ubicado en esta carpeta. Lo abrimos en algún editor, lo hago todo en un Bloc de notas banal. Cuando intuitivamente, al mirar el código y tener en cuenta las teclas de acceso rápido que utilicé en LyX, cuando recién comenzaba a estudiar este programa y no había dudas sobre la creación de mis propias teclas de acceso rápido, me di cuenta de que necesitaba editar el bloque código de este archivo que comienza con

 # # EDIT MENU # Menu "edit" 

A saber: después de la línea

 Item "Paste" "paste" 

agregar 2 líneas

 Separator Item "drob' s chislstelem" "command-sequence math-mode; math-insert \dfrac{\sqrt{\pi}}{2}; char-left; char-left;" 

La primera de las líneas agregadas solo da la tira divisoria descrita anteriormente. Guarde los cambios en stdmenus.inc , reinicie) LyX. El resultado es este:



Entonces, ahora agreguemos los botones en la barra de tareas. Admito que, cómo agregar botones en la barra de tareas, espié aquí . Y el procedimiento para agregar botones al menú descrito anteriormente ya lo pensé sobre la base de este material reconocido. Y, por supuesto, no reclamo ninguna autoría. Bueno, y ahora ... Probablemente, el lector atento en el segundo artículo de esta serie de artículos, donde se trata de dibujos simplificados flotantes, ya notó la diferencia de una barra de herramientas en la ventana del programa LyX, que utilizo (este panel diferente se encuentra exactamente en la foto allí en el espacio de trabajo en el que estoy escribiendo) desde una barra de herramientas similar en el programa sin cambios de LyX. Es decir, la diferencia entre este panel es sorprendente de inmediato con un botón enorme, en el que solo está la inscripción que Moyacom ingresó parcialmente en la foto [Ctrl + 0 1] . Sin embargo, no me limité a ese botón, porque no estaba claro cómo adjuntar las imágenes que desea a los botones creados por el usuario. Entonces creé otro botón. En la siguiente foto, los botones que creé en esta barra de herramientas se indican con flechas rojas:



Para empezar, le diré cómo crear un botón cubierto con la imagen deseada ( la imagen debe tener la extensión .png ), cuando se hace clic, el comando se define en C:\Users\\AppData\Roaming\LyX2.0\commands\default.def . Entonces, ingresamos lo siguiente en este archivo desde una nueva línea:

 \define "pina2" "command-sequence math-mode; math-insert \dfrac{\pi}{2}; char- right; char-right;" 

Cerramos el archivo default.def, guardamos los cambios. A continuación, en la carpeta C:\Users\\AppData\Roaming\LyX2.0\images\commands copiamos la foto (repito, la extensión .png es necesaria ) bajo la cual queremos que aparezca el botón que creamos en la ventana del programa LyX, renómbralo foto en pina2 . Acordemos que agreguemos el botón al panel Avanzado (la foto de arriba muestra la barra de herramientas Avanzada modificada). Pero el programa LyX en sí mismo no conoce la barra de herramientas con ese nombre. En el entendimiento de LyX, este panel se llama Extra (descubrí esto mirando los mensajes en la serie de historias mencionadas repetidamente en mis historias sobre LyX que propaga el área de su ventana Mensajes de progreso / depuración cuando este panel se activó / desactivó a través de Ver> Barras de herramientas ).

Genial Vamos a la carpeta C:\Program Files\LyX 2.0\Resources\ui ya mencionados anteriormente. Abrimos el archivo stdtoolbars.inc , buscamos algo que comience con la palabra extra (posiblemente con mayúscula) o algo similar a, allí, un encabezado o algo así que contenga esta palabra.Para no ir muy lejos, agregaremos nuestro botón al comienzo de este comando. A saber, aquí está el fragmento de código de ese archivo antes de mi intervención:

 ................................................................... StickyPopupMenu "update-others" "Update other formats" End Toolbar "extra" "Extra" Item "Default" "layout" Item "Numbered list" "layout Enumerate" ................................................................... 

Y así es como hice ese fragmento de código:

  ................................................................... StickyPopupMenu update-others Update other formats End Toolbar "extra" "Extra" Item "Privet moim chitatelyam" "call pina2" Item "Default" "layout" Item "Numbered list" "layout Enumerate" ................................................................... 

, donde las elipses son las líneas del archivo stdtoolbars.inc antes y después del código de este archivo. En principio, todo se cierra al guardar el archivo stdtoolbars.inc . Luego, después de reiniciar LyX, cuando se activa el panel Avanzado , aparece un nuevo botón de funcionamiento en este panel con la imagen que asignamos y que realiza la función que definimos. Como puede ver en la última foto, la información sobre herramientas está determinada por lo que escribimos en el primer par de citas relacionadas con el elemento correspondiente. En conclusión, diré que el segundo botón que agregué se definió sin la participación del archivo default.def y, como dije anteriormente, sin intención, asigne una imagen debajo de la cual se mostrará este botón en la ventana del programa LyX: acabo de insertar una línea vacía y la inserto antes de la última línea del bloque de código en el que acabo de describir las manipulaciones La línea es el siguiente código:

 item "Moyacom" "command-sequence math-mode; math-insert \dfrac{\sqrt{\pi}}{2}; char-left; char-left;" 

Y [Ctrl + 0 1] en el botón que creé en la foto que traje es visible porque tengo el modo matemático de secuencia de comandos en el comando; inserción matemática \ dfrac {\ sqrt {\ pi}} {2}; char-left; char-left; Ctrl + 0 + 1 (Debo admitir que no esperaba este aviso en este lugar en absoluto.

Continuará ...

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


All Articles