<\body> In order to write a plugin >, you should start by creating a directory <\verbatim> \ \ \ \ $TEXMACS_HOME_PATH/plugins/ where to put all your files (recall that defaults to ). In addition, you may create the following subdirectories (when needed): <\expand|description-dash> >For binary files. >For documentation (not yet supported). >For language related files, such as dictionaries (not yet supported). >For libraries. >For style packages. >For programs. >For source files. >For style files. As a general rule, files which are present in these subdirectories will be automatically recognized by at startup. For instance, if you provide a subdirectory, then <\verbatim> \ \ \ \ $TEXMACS_HOME_PATH/plugins//bin will be automatically added to the environment variable at startup. Notice that the subdirectory structure of a plugin is very similar to the subdirectory structure of . <\example> The easiest type of plugin only consists of data files, such as a collection of style files and packages. In order to create such a plugin, it suffices to create directories <\verbatim> \ \ \ \ $TEXMACS_HOME_PATH/plugins/ \ \ \ \ $TEXMACS_HOME_PATH/plugins//styles \ \ \ \ $TEXMACS_HOME_PATH/plugins//packages and to put your style files and packages in the last two directories. After rebooting , your style files and packages will automatically appear in the and menus. For more complex plugins, such as plugins with additional or code, one usually has to provide a configuration file <\verbatim> \ \ \ \ $TEXMACS_HOME_PATH/plugins//progs/init-.scm This configuration file should contain an instruction of the following form <\expand|scheme-fragment> (plugin-configure \ \ ) Here the > describe the principal actions which have to be undertaken at startup, including sanity checks for the plugin. In the next sections, we will describe some simple examples of plugins and their configuration. Many other examples can be found in the directories <\verbatim> \ \ \ \ $TEXMACS_PATH/examples/plugins \ \ \ \ $TEXMACS_PATH/plugins Some of these are in more detail in the chapter about writing new interfaces. <\initial> <\collection> <\references> <\collection> > |?>> > |?>> > <\auxiliary> <\collection> <\associate|idx> |Document>||Style>>|> |Document>||Use package>>|>