
TEXMACS Scheme developer guide Table of contents 1. Overview of the Scheme extension language . 9 1.1. Why TEXMACS uses Scheme as its extension language . 9 1.2. When and how to use Scheme . 10 User provided initialization les . 10 User provided plug-ins . 11 Interactive invocation of Scheme commands . 12 Command-line options for executing Scheme commands . 12 Invoking Scheme scrips from TEXMACS markup . 13 1.3. General architecture of the Scheme API . 13 Built-in Scheme commands . 14 Extensions to Scheme and further utilities . 14 Internal modules and plug-ins . 15 1.4. The module system and lazy denitions . 15 1.5. Contextual overloading . 17 1.6. Meta information and logical programming . 18 1.7. The TEXMACS content model . 19 Passive documents and Scheme trees . 19 Active documents and C++ trees . 19 A common framework . 20 Persistent positions inside trees . 20 1.8. Standard utilities . 20 Regular expressions . 21 Dialogues . 21 User preferences . 21 New data formats and converters . 21 2. TEXMACS extensions to Scheme and utilities . 23 2.1. TEXMACS abbreviations . 23 2.2. Matching regular expressions . 23 2.3. Selection of subexpressions . 25 2.4. Logical programming extensions . 26 2.5. Function denition and contextual overloading . 26 Contextual overloading . 27 Other options for function and macro declarations . 28 2.6. Interactive dialogues . 29 2.7. User preferences . 29 2.8. Adding converters . 30 2.9. Keyboard bindings . 30 2.10. Dening menus . 30 3. Programming routines for editing documents . 31 3.1. The TEXMACS editing model . 31 5 6 Table of contents Document fragments . 31 Positions inside document fragments . 32 Semantic navigation and further utilities . 33 A worked example . 33 3.2. Fundamental tree modication routines . 35 3.3. High level modication routines . 37 3.4. Path-based navigation . 38 4. TEXMACS buffer management . 39 4.1. Introduction . 39 4.2. Manipulating TEXMACS buers . 39 Basic buer management . 39 Information associated to buers . 40 Synchronizing with the external world . 41 4.3. Manipulating TEXMACS views . 41 4.4. Manipulating TEXMACS windows . 42 5. Scheme interface for the graphical mode . 45 5.1. Low level graphics manipulation . 45 Rationale . 45 Denitions . 45 Manipulation of enhanced trees . 46 Sketch manipulation . 46 Miscellaneous . 47 5.2. Graphics interface between C++ and Scheme . 47 Rationale . 47 Denitions . 48 Coordinate transformations . 48 Grid routines . 48 Selection of shapes . 48 Computations with shapes . 49 6. Extending the graphical user interface . 51 6.1. An introduction to widgets . 51 6.2. Menus and toolbars . 52 6.3. Displaying lists and trees . 53 Displaying lists with enum, choice and choices . 53 Displaying trees with tree-widget . 53 Default data roles . 54 Using commands . 54 Examples . 55 An example using data roles . 55 An example using the buer tree . 55 An example with the side tools . 56 6.4. Dialogs and composite widgets . 56 6.4.1. Composite widgets . 57 6.5. Forms . 58 Table of contents 7 6.6. Containers, glue, refresh and co. 58 6.6.1. Attribute widgets . 58 6.6.2. Container or layout widgets . 59 6.6.3. Glue widgets . 60 6.6.4. Refresh widgets . 61 6.7. Widgets reference guide . 61 7. Writing TEXMACS bibliography styles . 65 7.1. Introduction . 65 7.2. Example of a simple bibliography style . 65 7.3. Scheme functions for writing bibliography styles . 66 7.3.1. Style management . 66 7.3.2. Field related routines . 66 7.3.3. Routines for structuring the output . 67 7.3.4. Routines for textual manipulations . 67 7.3.5. Miscellaneous routines . 68 8. About the API documentation . 69 8.1. The TEXMACS le system . 69 8.1.1. A tmfs primer . 69 8.1.2. The TEXMACS lesystem . 69 8.1.3. Implementing a handler . ..
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages139 Page
-
File Size-