|  | Introduction |  | 
        In this chapter we describe how to interface TeXmacs with an extern
        application. Such interfaces should be distributed in the form of plugins. The plug-in may either contain the extern
        application, or provide the “glue” between TeXmacs and the
        application. Usually, interfaces are used interactively in shell
        sessions (see 
        The communication between TeXmacs and the application takes place
        using a customizable input format and the special TeXmacs
        meta-format for output from the plug-in. The meta-format enables
        you to send structured output to TeXmacs, using any common format like
        verbatim, LaTeX, 
        As soon as basic communication between your application and TeXmacs is
        working, you may improve the interface in many ways. Inside shell
        sessions, there is support for prompts, default inputs,
        tab-completion, mathematical and multi-line input, etc.
        In general, your application may take control of TeXmacs and modify
        the user interface (menus, keyboard, etc.) or add new
        
In the directory $TEXMACS_PATH/examples/plugins, you can find many examples of simple plug-ins. In the next sections, we will give a more detailed explanation of the interfacing features of TeXmacs on the hand of these examples. In order to try one of these examples, we recall that you just have to copy it to either one of the directories
    $TEXMACS_PATH/plugins
    $TEXMACS_HOME_PATH/plugins
      and run the Makefile (if there is one).