Crear sus propios menús dinámicos

En particular, el archivo de inicialización por defecto ejecuta

    $TEXMACS_PATH/progs/menu/main_menu.scm

a fin de configurar el menú principal de TeXmacs. Le sugerimos echar un vistazo a este archivo a fin de ver cómo son creados los menús.

De hecho, cualquier menú o parte de un menú es representada por un programa. El programa consiste de una lista de programas de una de las siguientes formas:

    (=> "pulldown menu name" menu-definition)

(-> "pullright menu name" menu-definition)

("entrada" accion)

("entrada" "shorthand" accion)

–-

(if condition menu-definition)

(link variable)

Los constructores => y -> son usados para crear un menú desplegable hacia abajo o un menú desplegable hacia la derecha y la condición menu-definition debe contener un programa que crea un submenú. El constructor ("entrada" accion) crea una entrada ordinaria, donde la accion será compilado y ejecutado cuando haga click en la entrada. El código opcional "shorthand" se establece para un macro de teclado con la misma acción. Los items de un menú pueden separarse usando –-. El constructor if es usado para insertar items de menú sólo si una cierta condición es satisfecha (por ejemplo, si estamos en el modo matemático).

Finalmente, si hemos declarado una variable TeXmacs ser un menú mediante

    (define variable menu-definition)

entonces podemos usar este menú indirectamente usando el constructor link. esta forma indirecta de declarar submenús tiene dos ventajas

Algunos menús indirectos estándar en TeXmacs son texmacs-menu, file-menu, edit-menu, insert-menu, text-menu, paragraph-menu, document-menu, options-menu y help-menu. El comando

    (menu-main menu-declaration)

es usado a fin de configurar de hecho el menú principal. Por ejemplo, en la inicialización, ejecutamos

    (menu-main '(link texmacs-menu))
Se garantiza el permiso para copiar, distribuir y/o modificar este documento bajo los terminos de la GNU Free Documentation License, Versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin Secciones Invariantes, sin Textos de Portada, y sin Textos de Contraportada. Una copia de la licencia está incluida en la sección titulada "GNU Free Documentation License".
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".