GNU Texmacs User Manual Joris Van Der Hoeven
Total Page:16
File Type:pdf, Size:1020Kb
GNU TeXmacs User Manual Joris van der Hoeven To cite this version: Joris van der Hoeven. GNU TeXmacs User Manual. 2013. hal-00785535 HAL Id: hal-00785535 https://hal.archives-ouvertes.fr/hal-00785535 Preprint submitted on 6 Feb 2013 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. GNU TEXMACS user manual Joris van der Hoeven & others Table of contents 1. Getting started ...................................... 11 1.1. Conventionsforthismanual . .......... 11 Menuentries ..................................... 11 Keyboardmodifiers ................................. 11 Keyboardshortcuts ................................ 11 Specialkeys ..................................... 11 1.2. Configuring TEXMACS ..................................... 12 1.3. Creating, saving and loading documents . ............ 12 1.4. Printingdocuments .............................. ........ 13 2. Writing simple documents ............................. 15 2.1. Generalities for typing text . ........... 15 2.2. Typingstructuredtext ........................... ......... 15 2.3. Content-basedtags .............................. ........ 16 2.4. Lists .......................................... ...... 17 2.5. Environments ................................... ....... 18 2.6. Layoutissues ................................... ....... 18 2.7. Thefontselectionsystem ......................... ......... 19 2.8. Masteringthekeyboard ........................... ........ 19 2.8.1. Generalprefixrules ............................ ....... 19 2.8.2. Keyboard shortcuts for text mode . ......... 20 2.8.3. Hybrid commands and LATEXsimulation ..................... 21 2.8.4. Dynamicobjects ............................... ...... 22 2.8.5. Various useful keyboard shortcuts . ........... 22 3. Mathematical formulas ............................... 23 3.1. Incorporating mathematical formulas into documents . ................ 23 3.2. Typing mathematical symbols . ......... 24 3.3. Main mathematical constructs . .......... 25 3.4. Typinglargedelimiters .......................... .......... 26 3.5. Typingbigoperators ............................. ........ 26 3.6. Wide mathematical accents . ......... 27 3.7. Semantic editing facilities . ............ 28 3.8. Common errors and syntax correction . .......... 29 3.9. Semantics of mathematical symbols . ........... 30 3.10. Customized mathematical semantics . ............ 32 4. Tabular material .................................... 33 4.1. Creatingtables ................................. ........ 33 4.2. Theformattingmode .............................. ....... 34 4.3. Specifying the cell and table alignment . ............. 34 4.4. Specifying the cell and table size . ............ 35 4.5. Borders, padding and background color . ........... 35 3 4 Table of contents 4.6. Advancedtablefeatures .......................... ......... 35 5. Links and automatically generated content .............. 37 5.1. Creating labels, links and references . .............. 37 5.2. Insertingimages ................................ ........ 37 5.3. Generating a table of contents . .......... 38 5.4. Compilingabibliography ......................... ......... 38 5.5. Generatinganindex .............................. ........ 39 5.6. Compilingaglossary ............................. ........ 39 5.7. Books and multifile documents . ......... 39 6. Creating technical pictures ........................... 41 6.1. Startinganewpicture ............................ ........ 41 6.2. Insertingnewobjects ............................ ......... 41 6.3. Editingobjects ................................. ........ 43 6.4. Specification of style properties . ............. 43 Color .......................................... 44 Fillcolor ....................................... 44 Opacity ........................................ 44 Pointstyle ...................................... 44 Linewidth ...................................... 44 Linedashes ...................................... 44 Linearrows ...................................... 45 Textalignment ................................... 45 6.5. Editinggroupsofobjects ......................... .......... 45 7. Advanced layout features ............................. 47 7.1. Flows .......................................... ..... 47 7.2. Floatingobjects ................................ ........ 47 7.3. Pagebreaking ................................... ....... 47 8. Editing tools ........................................ 49 8.1. Cutandpaste .................................... ...... 49 8.2. Searchandreplace ............................... ........ 49 8.3. Spellchecking .................................. ........ 50 8.4. Undoandredo .................................... ..... 51 8.5. Structuredediting .............................. ......... 51 8.6. Structured cursor movement . ......... 52 Structured traversal of the document . 52 Traversal of tags which are similar to the innermost tag . ..... 52 Movements inside the innermost tag . 52 8.7. Structuredvariants ............................. ......... 53 8.8. Positioningandresizingobjects . ............ 53 8.9. Versioningtools ................................ ......... 54 Comparingtwoversions .............................. 54 Visualizationofthedifferences . 54 Retainingaspecificversion ........................... 55 Grain control and reactualizing the differences . ..... 55 Table of contents 5 Using external programs for version control such as Subversion . 55 9. Laptop presentations ................................. 57 9.1. Beamerstyles ................................... ....... 57 9.2. Traversalofapresentation . ........... 57 9.3. Decorations .................................... ....... 58 9.4. Animations ..................................... ...... 58 10. Using GNU TEXMACS as an interface .................... 61 10.1. Creatingsessions .............................. ......... 61 10.2. Editingsessions ............................... ......... 61 10.3. Selectingtheinputmethod . .......... 62 10.4. Plug-ins as scripting languages . ............ 63 10.5. Spreadsheets .................................. ........ 64 11. Writing TEXMACS style files .......................... 67 11.1. Writing a simple style package . .......... 67 11.2. Rendering of style files and packages . ............ 69 11.2.1. ASCII-based or tree-based editing: an intricate choice ............ 69 11.2.2. Globalpresentation .......................... ........ 70 11.2.3. Localcustomization . .. .. .. ........ 73 11.3. Thestyle-sheetlanguage . .. .. .. .......... 74 11.3.1. Assignments ................................. ...... 74 11.3.2. Macroexpansion .............................. ...... 74 11.3.3. Formatting primitives . ......... 75 11.3.4. Evaluationcontrol ........................... ........ 77 11.3.5. Flowcontrol ................................. ...... 78 11.3.6. Computationalmarkup . ....... 79 11.4. Customizing the standard TEXMACS styles ....................... 80 11.4.1. Organization of style files and packages . ........... 80 11.4.2. General principles for customization . ............ 81 11.4.3. Customizing the general layout . .......... 81 11.4.4. Customizing list environments . .......... 82 11.4.5. Customizing numbered textual environments . ............ 84 Definingnewenvironments ............................ 84 Customizationoftherendering . 84 Customizationofthenumbering . 85 11.4.6. Customizing sectional tags . .......... 85 11.4.7. Customizing the treatment of title information . .............. 87 11.5. Furthernotesandtips ........................... ......... 88 11.5.1. Customizing arbitrary tags . ......... 88 11.5.2. Standardutilities ........................... ........ 89 12. Customizing TEXMACS ................................. 91 12.1. Introduction to the Guile extensionlanguage .................... 91 12.2. Writing your own initialization files . ............. 91 12.3. Creating your own dynamic menus . ......... 92 12.4. Creating your own keyboard shortcuts . ........... 93 12.5. Otherinterestingfiles .......................... .......... 93 6 Table of contents 13. The TEXMACS plug-in system ........................... 95 13.1. Installingandusingaplug-in . ........... 95 13.2. Writingyourownplug-ins . .. .. .. ......... 95 13.3. Example of a plug-in with Scheme code ........................ 97 The world plug-in ................................. 97 Howitworks ..................................... 97 13.4. Example of a plug-in with C++ code .......................... 97 The minimal plug-in ................................ 97 Howitworks ..................................... 98 13.5. Summary of the configuration options for plug-ins . .............. 98 14. The TEXMACS format ................................ 101 14.1. TEXMACS trees ........................................ 101 Internal nodes of TEXMACS trees ....................... 101 Leafs of TEXMACS trees ............................. 101 Serialization and preferred syntax for editing . ..... 102 14.2. TEXMACS documents .................................... 102 14.3. Defaultserialization .........................