<\body> In order to write a plug-in >, 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): <\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 plug-in is very similar to the subdirectory structure of . <\example> The easiest type of plug-in only consists of data files, such as a collection of style files and packages. In order to create such a plug-in, 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 restarting , your style files and packages will automatically appear in the and menus. For more complex plug-ins, such as plug-ins 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 <\scheme-fragment> (plugin-configure \ \ ) Here the > describe the principal actions which have to be undertaken at startup, including sanity checks for the plug-in. In the next sections, we will describe some simple examples of plug-ins 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>