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
Nuevos items pueden ser adicionados a los submenús “indirectos” a posteriori usando
(set! variable (menu-merge variable menu-declaration))
De hecho, los términos existentes pueden ser también sobrescritos en esta forma.
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))