Home
GNU TEXMACS user manual
Contents
1. Shorthand for Shorthand s for A e A E yo YoYO zh X Zh zZH 2K j tab x J tab 2K ch u c CH Y s h miis SH IH Sch m Sc SCH II e tab E tab 9 yu ro Yu YU IO ya a Yal YA A Table A 1 Typing Cyrillic text on a Roman keyboard If you want to get e g cx and not rr you have to type s h Of course the choice of optimal mapping of Latin letters to Russian ones in not unique You can investigate the mapping supplied with TeXyacs and if you don t like something override it in your TeXmacs progs my init texmacs scm If you select jcuken instead of translit you get the official Russian typewriter layout It is so called because the keys qwerty produce itmyken This input method is most useful when you have a Russian made keyboard which has additional Russian letters written on the key caps in red in the jcuken layout a similar effect can be achieved by attaching transparent stickers with red Russian letters to caps of a US style keyboard It is also useful if you are an experienced Russian typist and your fingers remember this layout Those who have no Russian letters indicated at the key caps often prefer the yawerty layout where the keys qwerty produce apeprsr Each Latin letter is mapped into a similar Russian one some
2. 65 Details on how to donate Money 65 Important notes ke eyo noh T wuerde Ba a a A E esa 66 C 3 Contribute to the GNU TEXyaAcs documentation 66 C 3 1 Introduction on how to contribute lee 66 3 2 DE OVS 2 Scenic com de a M ous M C DE s 66 C 3 3 Conventions for the names of Des 67 C 3 4 Copyright information amp the Free Documentation License 67 C 3 5 Traversing the TEXuaAcs documentation 68 C 3 6 Using the tmdoc style o o o o o o o a paa a d ee ee 68 GCA Internationalization wa wm a ew a la o See 70 C 5 Writing data converters 0 a 70 C 6 Porting pu gen to other platforms aiios E Gag AR wee ee a 70 C 7 Interfacing T EXmacg with other systems une EE EE ee Se 71 C 8 Become a T Xymacg developer 2 229 28 va a PEA a 71 APPENDIX D INTERFACING TgXyAcs WITH OTHER PROGRAMS 72 D 1 Studying the mycas example ees 72 D 2 Studying the source code step by step ooo 72 D3 Graphicalcoutpul mes uRI E tt da AREE Ou 74 DA The complete listing 2 5 2 4006 da eb esa a x ees 74 D Writing your first interface with EX mes vwd Eas E eae 75 D 6 Supporting your system inside TEXMAaCS lt lt lt e nm 76 D 7 Further customization of the interface o o ooo TT D 8 Linking your system as a dynamic library e 77 D 9 Connections via dynamically linked libraries o o o ooo 77 D 10 The TeXmacs communication protocol e 78 D 11 Version 1 of the
3. 10 1 2 Standard symbols The std symbol d t d defines the special symbols Fi Y 8 2 2 54 1 4 3 and TM As soon as the font support will be further improved this d t d will become obsolete 10 1 3 Standard mathematical markup Standard mathematical markup is defined in std math binom For binomial coefficients E choose Alternative name for binom depreciated shrink inline A macro which switches to scriptsize text when you are not in display style This macro is mainly used by developers For instance the binom macro uses on it 10 1 THE COMMON BASE FOR MOST STYLES 39 The following are standard mathematical tabular environments matrix For matrices M n i det For determinants A S a x ifr 0 choice For choice lists x S 10 1 4 Standard lists The standard TEXuacs lists are defined in std list The unnumbered lists are itemize The tag before each item depends on the nesting depth itemize minus Uses for the tag itemize dot Uses e for the tag itemize arrow Uses for the tag Numbered lists correspond to the following environments enumerate The kind of number before each item depends on the nesting depth enumerate numeric Number the items by 1 2 3 etc enumerate roman Number the items by i ii iii etc enumerate Roman Number the items by I II III etc enumerate alpha Number the items by a b c etc enumerate Alpha Number the ite
4. 2 3 CONTENT BASED TAGS The simplest examples of structure in a text are content based tags In Text content tags you see a list of them Content based tags indicate that a given portion of text is of a particular kind or that it serves a specific purpose For instance important text should be marked using the strong tag Its default rendering uses a bold type face like in this strong text However strong text might be rendered in a different way according to the document style For instance strong text may be rendered in a different color on transparencies for presentations Here follows a short list of the most common content based tags and their purpose Tag Example Purpose strong this is important Indicate an important region of text em the real thing Emphasize a region of text dfn A gnu is a horny beast Definition of some concept samp the ae ligature ze A sequence of literal characters name the LINUX system The name of a particular thing person lam JORIS The name of a person cite Melville s Moby Dick A bibliographic citation abbr I work at the C N R S An abbreviation acronym the HTML format An acronym verbatim the program said hello Verbatim text like computer program output kbd Please type return Text which should be entered on a keyboard code cout lt lt 1 1 yields 2 Code of a computer program var cp src file dest file Variables in a computer progr
5. 10 2 2 Mathematical environments e 42 TABLE OF CONTENTS 5 10 2 3 Theorem like environments 43 10 2 4 Environments for floating objects 44 10 2 5 Default environments 44 10 3 Headers anid footers isa EE as ead Repo EE Bd Er 45 10 3 1 Standard headers os 4 023 ea ed A REIR RES 45 IA ee es Sets beret rst EE EECH 45 104 TEX Style sections se sacan eor sarale a BOSE us ps de uoa de teg 46 10 5 Markup for automatic numbering 4T 10 5 4 Numbering environments 47 10 5 2 Nuriberimg se6ctlons uu Rr ERU Eer quete ares 47 11 CUSTOMIZING TEXNACS i 3nm but ca AA NEEN EE 48 11 1 Introduction to the GUILE extension language oo o 48 11 2 Writing your own initialization files 22e 48 11 3 Creating your own dynamic menus seh 49 11 4 Creating your own keyboard shortcuts 22e 49 11 5 Other interesting files 50 12 COMPATIBILITY WITH OTHER FORMATS 4 sn 51 12 1 Compatibility with LATEX he e A Se es Ro due DER uos ote ene 51 12 1 1 Conversion from TgXyacs to LATEX llle 51 12 1 2 Possible conversion problem 52 12 1 2 1 Specific TEX ca features Succ Eu ads a Reads 52 12 1 2 2 Not yet implemented conversions llle 53 12 1 2 3 Bugs in the conversion algorithm o o oo o oo o oo 53 12 124 Workarounds monde STR REA A RES 53 12 1 3 Conversion from D to TEXMACS exar de Re edm hz b de de ded 53 12 2 Conversion of TEXyAcs documents to Html aoaaa aaa aaa aaa 54
6. Sample saa 4 2 abe ok ag ee ee 36 to small i 5 3393 833 40 Strong i 3 bag Poe modem s xod 36 toc small 2 i24 a m deis 40 Vatiabl amp E 4 6 244044 37 Tools Verbatim os a s es ccs eoa ae ee oa 37 Update content tags aooo a 10 Inclusions 25 Description 11 GRAVENSE ooo bra a4 eum RE us 68 68 Enumerate lll ln 9 11 DE dou ow de Uh e bs ed Rod er dud deed 37 Komam 4 54 44 68S URS AER 11 underline ia c pts 34x dE RA E 38 Environment 9 11 44 44 44 E m 38 Font shape Var nns kg E xp ae om ed ed RS m 10 37 Italic 4 doen boo TUR we eH 7 verbatim 10 11 37 37 69 Itemize crns 9 10 Verse i Loo nr Eck A 11 37 Section Ding a Bees Datel Ee ai 9 MALDADES s da A a Aa 11 44 Title Windows key TeXmacs notice 65 Map to M modifier 55
7. TYPING BIG OPERATORS The following key combinations are used in order to create big symbols 18 MATHEMATICAL FORMULAS Shortcut Result Shortcut Result S F5 1 S F5 0 f S F5 P I ss I S F5 S Y s55e S F5 x G9 S F5 O O S F5 U BESCH N S F5 V V 5 55 v A Table 3 4 Big mathematical operators The big integral signs admit two variants depending on where you want to place subscripts and superscripts By default the scripts are placed as follows dr 0 1 x The alternative rendering with limits oo dx EE 0 is obtained using S F5 L I Similarly you may type S F5 L 0 in order to obtain with limits 3 4 TYPING LARGE DELIMITERS Large delimiters are created as follows Shortcut Result Shortcut Result A A A A A A Res A A A Table 3 5 Keyboard shortcuts for large delimiters 3 l In TEXumacs large delimiters may either be left delimiters right delimiters or middle delimiters By default and are left delimiters and are right delimiters and and V are middle delimiters But there status can be changed using the A 1 A r an
8. Table 3 2 Creation of primes subscripts and superscripts 16 3 3 TYPING BIG OPERATORS 17 The Greek characters are obtained in T Xmacg by combining the hyper modifier key H a so that p can also be obtained by typing with a letter For instance equivalent to 3 2 TYPING MATHEMATICAL SYMBOLS H F8 and S F6 characters For instance Greek characters can also be obtained as variants of Latin characters using the tkey is also used for obtaining variants of the H p tab key For instance yields a and F8 m p tab yields 7 The Greek letters themselves For instance both H H G yields I Recall that the F5 key is F5 r F6 F7 Similarly H H can be used in order to type bold calligraphic fraktur and blackboard bold yields m S F6 R F6 F7 Z yields R and yields Z tab tab and p tab tab yield c Many other mathematical symbols are obtained by natural key combinations For instance gt yields gt yields gt and yields gt Similarly yields F gt yields and gt lt yields Some general rules hold in order to obtain varia
9. standard source of non compatibility New theorems can be added with the newtheorem command It is also possible to add new remarks with the newremark command remarks are different from theorems in the sense that their body is usually not typeset in an emphasized font Of course programming environments are not supported by LATEX either Such environ ments are currently under development 9 3 DESIGNING YOUR OWN STYLE FILES Whenever the standard TEXya0s style files are inadequate for a given purpose it is possible to write your own style files However designing your own style file from scratch may be a complex task For this reason we recommend the reuse or customization of the standard TEXuacs Style files and packages whenever possible Consequently it may be wise to read more about the customization of the TeEXyacs style files and packages first 9 3 1 Look at an example Before writing your own style file it may be useful to take a look at some standard style files For instance you may load book ts using File gt Load no path is necessary here since the style directory is included in the default file path After loading book ts you will see many function and environment declarations these declarations are visible since style files are written in preamble mode see Options gt Mode Some more declarations are contained in the files basic ts list ts theorem ts and program ts on which book t
10. 24 Import Table of contents 24 Html uuo deem beg a 54 Image fk ood pb 9d xe xe 23 44 La 2 o xx R o3 Roos 54 Small figure 28 A 7 8 33 Link NeW d goose ua A Gh Ses dS 8 ACTION anA Sa pd A EN 23 Print Citation ue eae om ks 24 Prifttall 54 mue bus 8 Hyperlink o 23 Print all to file 8 Include llle 23 25 Save A eee Rx ub PONE E Emus 8 Index entry 24 25 25 Save ds ria FE d uox nee uds 8 Invisible citation 24 Flexibility 28 Label 2442464 oo a 23 fold iuo x Lane EO Ren che Ege E ORG xs 38 Reference o oo 23 footnote 23 52x 63x X ee xg 44 Mathematics footnotesep 4o eec poe ae 44 Equation e 16 Format Equations 20 Language Fraction os aaa ara cee 26 Russian we ee ee 56 Page insertion framed fragment 69 Floating figure ls 28 gather o o omore ee SORE A as 43 Floating Object 28 gather qua 229 sd SESS 43 Floating table 28 A 4s ee S X44 Ados 69 Footnote o o o 28 glossary ia a a a da ues 41 Position float 28 glossaryol e mui epus Re dioe eyed EN Sesion 29 30 72 75 76 glossary 2 2 246 oec RR s 41 Other 24 44 a e 43 30 glossary dotS e 24624449345 41 Space ion a e dae aes 12 glossary dup 62685 tei e b205 4 41 Specific glossary explaim xo cnica 41 Latex 2s EL nm ow xx RS 52 52 E
11. CONFIGURATION OF TEXuacs A 1 INTRODUCTION Before you start using TEXycs it may be wise to configure the program first in Edit gt Preferences so that it will fit your needs best Most importantly you should choose a look and feel in Edit Preferences Look and feel This will enable you for instance to let the keyboard shortcuts used by TEXmacs be similar to what you are used to in other applications Also TEX uacs comes with a powerful keyboard shortcut system which attempts to opti mize the use of the modifier keys like shift and control on your keyboard However on certain systems these modifier keys are not well configured so that you may wish to redo this yourself A 2 CONFIGURATION OF THE MODIFIER KEYS TEXuacs uses five major keyboard modifiers shift control alternate meta and hyper which are abbreviated as S C A M and H The shift and control keys are present on virtually all keyboards and the alternate key on almost all Most keyboards for PC s nowadays also have a windows key which is usually equivalent to meta for TEXmacs Before reconfiguring your keyboard you should first check that this is indeed necessary If you have keys which correspond to shift control alternate and meta in a suitable way then you probably do not want
12. Help gt Interfacing menu C 8 BECOME A TEXyacs DEVELOPER Apart from the kind of contributions which have been described in more detail above there are many more issues where your help would be appreciated Please take a look at our plans for the future for more details Of course you should feel free to come up with your own ideas and share them with us on the texmacs devOgnu org mailing list APPENDIX D INTERFACING TEXmacs WITH OTHER PROGRAMS D 1 STUDYING THE MYCAS EXAMPLE The best way to start implementing a new interface with TEXyacs is to take a look at the sample computer algebra system mycas which can be found in the directory TEXMACS PATH misc mycas The file mycas cc which is listed at the end of this section contains a very simple program which can be interfaced with TEXyacs In order to test the program you should compile it using g mycas cc o mycas and move the binary mycas to some location in your path When starting up TEXmacs you should then have a Mycas entry in the Insert Session menu D 2 STUDYING THE SOURCE CODE STEP BY STEP Let us study the source code of mycas step by step First all communication takes place via standard input and output using pipes In order to make it possible for TEXyjAcs to know when the output from your system has finished all output needs to be encapsulated in blocks using three special control characters define DATA BEGIN char 2 define DATA EN
13. Shell sessions and scheme sessions In a shell session it is possible to evaluate shell commands All input and output is verbatim No particular command line utilities such as completion mechanisms have been implemented yet The output of the shell command is displayed gradually as the program executes In a SCHEME session you can evaluate GUILE SCHEME programs The input should be verbatim text The input is evaluated and the result is displayed No gradual output mechanism has been implemented yet for SCHEME session 8 2 2 Giac GIAC Is A Computer algebra system which can be downloaded from http www fourier ujf grenoble fr parisse english html 8 2 3 GTybalt GTYBALT is a free computer algebra system which is built on top of GINAC CLN and a program to interpret C and C commands For more information see http www fis unipr it stefanw gtybalt html 8 2 4 Macaulay 2 MACAULAY 2 is a new software system devoted to supporting research in algebraic geom etry and commutative algebra The software is available now in source code for porting and in compiled form for LINUX SUN OS SOLARIS WINDOWS and a few other unix machines You can get it from http www math uiuc edu Macaulay2 8 2 SUPPORTED SYSTEMS 31 8 2 5 Maxima MAXIMA is not alone one of the oldest and best computer algebra systems around it is also one of the only general purpose systems for which there is a free implementation You can get
14. a e bed e 36 newtheorem 42 42 42 42 42 42 42 43 Std markup gt y mor 9o cx 404 3 79 ek bon 69 nertnamber socia aaa e oa 43 Stdsmsph oia a a 38 EIER A os Be Be aaa 8 oa 40 std symbol A 24 54 6 ae XE OE we 38 Bon mbef si GOR ee Seg BO Rege 43 SEONG oci ey ae SP Se Xue 10 10 36 HOLA LO luda ge a 40k BAe e edes 44 Subinde w consul ed morem A xg qe 40 MOLE 2 esa 4 xe vdd 11 44 subparagraph o c s doe ta cadua eak 46 nBumber enW s 2 22 40 54 43 he 8 4T 69 s bparagraph 2 24 4 daiwa exch a ae 46 number europe 47 S bSectioB fsa aa 919 3342 45 46 number sectioH s o sn r s d ia ee 47 SEU 2s E e Nee e EN 46 B mb r d8 il a ee ee a 47 s bsubindex 1222 39G 9 dee ae 40 odd page text o cm d sonense 2 45 Subsubsection 2 q nors 24846 4x32 46 a oes moed Bt NN 69 subsubsect3on lt s s coea po e e d 46 Ma a Ara E 37 A uos 2x 51508 EE E des 38 Options Table Mode y rang aan E dee o 33 Cell background color 22 Security uuo esc OE Lone Re eae Eus 23 Cell border aes 21 OUCDUE braco o es a Gb ed Redes 41 Cell height OVerliH A ie bsp idee e E Eent x 38 Set height 21 INDEX 83 Cell operation mode 20 thechaptef 2 2 x 3 x 3 9 24 AT Cell width theorem i d E is Er 11 44 Set width 21 theorem 43 43 43 43 43 Horizontal cell alignment 21 theoremame 43 43 Horizontal table alignment 21 theore
15. additional Russian letters are produced by shift digits TEXyacg comes with a slightly modified yawerty layout because it does not redefine the keys V which are important for TREX acs are not redefined The corre sponding Russian letters are produced by some shift digit combinations instead APPENDIX B ABOUT GNU TEXuacs B 1 SUMMARY GNU TEXuacs Supported systems Most GNU LINUX systems Copyright 1998 2002 by Joris van der Hoeven License GNU General Public License Web sites http www texmacs org http www gnu org software texmacs Contact contactOtexmacs org Regular mail Dr Joris van der Hoeven D pt de Math matiques B t 425 Universit Paris Sud 91405 Orsay Cedex France Table B 1 Summary of the principal information about GNU TgEXy cs B 2 THE PHILOSOPHY BEHIND TEX Acs B 2 1 A short description of GNU TEXmacs GNU TEXyuacs is a free scientific text editor which was both inspired by TEX and GNU Emacs The editor allows you to write structured documents via a wysiwyg what you see is what you get and user friendly interface New styles may be created by the user The program implements high quality typesetting algorithms and TEX fonts which help you to produce professionally looking documents The high typesetting quality still goes through for automatically generated formulas which makes TEXjjcg suitable as
16. all your bibliographic references This file should have the format of a standard bibliography file for IATEX e Use Insert gt Link Citation and Insert gt Link gt Invisible citation to insert citations which correspond to entries in your bib file e At the place where your bibliography should be compiled click on Insert gt Auto matic Bibliography At the prompt you should enter a bibtex style such as plain alpha abbrv etc and your bib file e Use Document gt Update Bibliography in order to compile your bibliography 5 5 GENERATING AN INDEX For the generation of an index you first have to put index entries in your document using Insert Link gt Index entry At a second stage you must put your cursor at the place where you want your index to be generated and click on Insert Automatic Index The index is than generated in a similar way as the table of contents 5 7 BOOKS AND MULTIFILE DOCUMENTS 25 In the Insert Link Index entry menu you find several types of index entries The simplest are main sub subsub which are macros with one two and three arguments respectively Entries of the form sub and subsub may be used to subordinate index entries with respect to other ones A complex index entry takes four arguments The first one is a key how the entry has to be sorted and it must be a tuple created using M i lt whose first component is the main
17. by the value of the environment variable f If after this f is still not a macro expression then we return f e Let yi Yn be the arguments of f and b it s body superfluous arguments are discarded missing arguments take the empty string as their default value Then we substitute x for each yj in b and return the evaluated result Functions are similar to macros except that the arguments of function appliciations are evaluated and they can not be edited in a direct way you first need to deactivate the function application edit the arguments and reactivate Also yi Yn are now rather considered as local environment variables which are given z1 24 as their values These local variables are not remembered when a function returns a function which involves these variables 9 3 2 2 Computational markup The following commands can be used for performing dynamic computations T o sequential or of two conditions M e exclusive or of two conditions M e amp sequential and of two conditions M e negation of a condition M e add two numbers or lengths M e subtract two numbers or lengths M e multiply two numbers M e divide two numbers M e concatenate two strings in enumerations M e display a number in Arabic roman Roman alpha or Alpha used for instance 9 4 CUSTOMIZING THE STANDARD TRXyjacg STY
18. category the second a subcategory etc The second argument of a complex index entry is either blank or strong in which case the page number of your entry will appear in a bold typeface The third argument is usually blank but if you create two index entries with the same non blank third argument then this will create a range of page numbers The fourth argument which is again a tuple is the entry itself It is also possible to create an index line without a page number using interject in Insert Link Index entry The first argument of this macro is a key for how to sort the index line The second argument contains the actual text This construct may be useful for creating different sections A B etc in your index 5 6 COMPILING A GLOSSARY Glossaries are compiled in a similar way as indexes but the entries are not sorted A reg ular glossary entry just contains some text and a page number will be generated for it An explained glossary entry contains a second argument which explains the notation A duplicate entry may be used to create a page number for the second occurence of an entry glossary line creates an entry without a page number 5 7 BOOKS AND MULTIFILE DOCUMENTS When a document gets really large you may want to subdivide it into smaller pieces This both makes the individual pieces more easily reusable in other works and it improves the editor s responsiveness An entire
19. constructs makes it a priori possible to asso ciate an appropriate meaning to your output In particular this usually makes it possible to write additional routines for copying and pasting formulae between different systems Do SUPPORTING YOUR SYSTEM INSIDE TEXuacs Assume that you have successfully written a first interface with T Xmacg as explained in the previous section Then it is time now to include support for your system in the standard TEXuacs distribution after which further improvements can be made The easiest way to get your system supported is to send us a copy of your software with the new interface with the request to incorporate the necessary support into TEXmacs By default we will call your program using the texmacs option if this is not appropriate then you should say so You may also write the support for your system yourself Assuming that the name of your system is yourcas you should follow the following steps 1 Create a file of the form yourcas scm in the directory TEXMACS PATH progs cas You should load this file on startup by editing the global init texmacs scm or your personal my init texmacs scm initialization file 2 Include a line of the form connection declare yourcas shell cmd in yourcas scm where shell cmd is the shell command to launch your system including special command line options which allow your program to recognize that it was called from inside T Xmacg Usually shell
20. function like section tmstyle This macro indicates the name of a TRXyacg style file or package like article tmpackage This macro indicates the name of a TRXyacg package like std markup tmdtd This macro indicates the name of a T Xmacs d t d like number env Notice that the contents of none of the above tags should be translated into foreign lan guages Indeed for menu tags the translations are done automatically so as to keep the translations synchronized with the translations of the actual TEXmacg menus In the cases of markup styles packages and d t d s it is important to keep the original name because it often corresponds to a file name The following macros and functions are used for linking and indexing purposes although they should be improved in the future simple link This macro takes an URL x as argument and is a hyperlink with name and destination x hyper link This macro is a usual hyperlink concept link This macro takes a concept as argument Later on an appropriate hyperlink might be created automatically from this and the other documentation only index Index a simple string def index Definition of a new concept the text is printed in italic and indexed re index Reappearance of an already defined concept the text is printed in roman and put in the index The following tags are also frequently used icon Link to an icon in a central directory like TEXMACS PATH doc images pixmaps screenshot Link t
21. generate the bibliography nocite Similar as cite but the citations are not displayed in the main text bibitem A function which specifies how to display an item in the bibliography The following tags are used for compiling tables of contents toc main 1 A function with one argument for creating primordial entry in the table of contents This function can for instance be used when a book consists of several parts toc main 2 A function with one argument for creating a main entry in the table of contents This function is usually used for chapters toc normal 1 A function with one argument for creating a normal entry in the table of contents This function is often used for sections toc normal 2 Similar as toc normal 2 for less important entries like subsections toc normal 3 Similar as toc normal 3 for even less important entries like subsub sections toc small 1 Used for not very important entries such as paragraphs may be ignored toc small 2 Used for even less important entries such as subparagraphs toc dots The separation between an entry in the table of contents and the corre sponding page number By default we use horizontal dots The following tags are used for indices index A function with one argument x which inserts x in the index as a principal entry subindex A function with two arguments x and y which inserts y in the index as a subentry of x subsubindex A function with three arguments x y and z whi
22. lt counter lt lt Inside the prompt channel you may again use DATA_BEGIN DATA_END blocks in a nested way This allows you for instance to use a formula as a prompt There are three standard channels output The default channel for normal output 74 INTERFACING TEXmacs WITH OTHER PROGRAMS prompt For sending input prompts input For specifying a default value for the next input D 3 GRAPHICAL OUTPUT It is possible to send postscript graphics as output Assume for instance that you have a picture picture ps in your home directory Then inserting the lines cout lt lt A little picture Mn cout lt lt DATA BEGIN lt lt ps fflush stdout system cat HOME picture ps cout lt lt DATA_END cout lt lt An at the appropriate place in the main loop will display your image in the middle of the output DA THE COMPLETE LISTING include lt stdio h gt include lt stdlib h gt include lt string h gt include lt iostream h gt define DATA_BEGIN char 2 define DATA_END char 5 define DATA ESCAPE char 27 static int counter 0 void next input O counter cout lt lt DATA BEGIN lt lt channel prompt lt lt DATA END cout lt lt Input lt lt counter lt lt int main 1 cout lt lt DATA_BEGIN lt lt verbatim cout lt lt n cout lt lt Welcome to my test co
23. menu definition gt pullright menu name menu definition entry action entry shorthand action if condition menu definition link variable The constructors gt and gt are used to create pulldown or pullright menus and menu definition should contain a program which creates the submenu The constructor entry action creates an ordinary entry where action will be compiled and exe cuted when you click on entry The optional shorthand stands for a keyboard macro with the same action Items of a menu may be separated using The constructor if is used for inserting menu items only if a certain condition is satisfied for instance if we are in math mode Finally if we declared a TEXyjAcg variable to be a menu by define variable menu definition then we may use this menu indirectly using the link constructor This indirect way of declaring submenus has two advantages e An indirect submenu may be linked to as many menus as we like e New items may be added to indirect submenus a posteriori using set variable menu merge variable menu declaration Actually existing terms may also be overwritten in this way Some standard TEXmacsg indirect menus are texmacs menu file menu edit menu insert menu text menu paragraph menu document menu options menu and help menu The command menu main menu declaration is used in order to actually set the main menu For instance at initialization we exe
24. systems ende a A a da e 30 8 2 1 Shell sessions and scheme sessions 30 EE VE E NEEDED 30 8S2 GEybaltb 4 ru X ert A ec mb gm 30 8 24 M amp acallay 2 ai nales qu ew we eve ted 30 82 5 MaImIa iuto me tele Y Mn Dedi d EE 31 5 210 A C hortatus ete ada ses te os states este uto Bota e EEN 31 82 07 O atc pein ce ht te Senn See 2 a be 31 e EE 31 9 TEX macs STYLE FILS a ong aeta aria e e e SCARE eg 32 a A tee BD amp ee ees Bags ded ed fud 32 9 2 The standard T Xyuacs styles and packages mo 32 9 3 Designing your own style files o o 0 o o o 33 9 3 L Look at an example 42 0624 24h ee ee a a a 33 9 3 2 Keyboard shortcuts for writing style files o o 33 9 3 2 1 Macros functions and environment variables 33 9 3 2 2 Computational markup e 34 9 3 3 Important TRA aos paths ae a ee we e NL ca 35 9 4 Customizing the standard TEXyj4cs styles and packages 35 10 SUMMARY OF THE PRINCIPAL TRXyacs TAGS llle 36 10 1 The common base for most styles o o oo 36 10 1 1 Standard Markup 36 10 1 2 Standard symbols EENS opere de EE Rx 38 10 1 3 Standard mathematical markup llle 38 T0124 Standard lists 4 eio MD EE See PE Re SIRS ee ee 39 10 1 5 Automatic content generation oaoa 40 10 1 6 Special markup for programs and sessions 41 10 2 Standard environments inside text o o o 42 10 2 1 Defining new environments 42
25. title co sasoe EN e Ys 45 46 E LA ore 44 Help oc a cd 65 env floBEb isis ad 44 Interfacing oo oo 71 env manage o osos se 42 47 Scheme 27 enyvemath sosoo soad g xk ROR S 3 o8 xou 42 Source code env theorem 24 22 ec ie fa ta Soe 43 Data conversion 70 environments lee 9 Data format 70 SQUARE Ee unos 42 43 43 lfi sh A a A ua asks 38 eqnarray 2253553 43 43 43 Hule so coe Page Phe SURE GbR 38 eqmumberf 42 x4 dk pes EE e e E e ei 43 hyper liBk deco da e 69 eqsplit 2 kata pee ea eee b REOR ox 43 COMA el hoe cae e ae poder dd do dr 69 CASPUITE 20 l4 aaa SS dae ee ded 43 Aandent 12 023 a a 3e ja a eue 42 EQUATION de wie ote Red X ee ed 42 index 2 0526s Sg pe ee a a 40 equation lt noa fake ea ee So 42 indexed 22 2 a a Al 41 even page text o sc c cc sc 45 dndex i airis a 35323 41 example 20d a a e 11 44 index complexX lt lt ea ed e ae d 40 exercise 2 221 ar A eS 11 44 andex doOts 2 ROW RA ROR Sox 41 EGX TCISE esas a a aes Ss 43 index dine coria daa 40 xercisenam s aoe a 43 anmdex m es e a a 9 e a 41 41 A eh RE Luxor lk e xus 44 o i023 a dos RE e Rud e 41 fig rename i606 PA eS eros 44 dnit stdenv o sord nonon A 47 frpuresep 4 2 64 een PRO be Ss 44 Input d xxn Ga ao Rw Al File the Baa a xUROR OR a Edu 68 Insert Export Automatic LATE ill AR eee e 51 Bibliography 24 Postscript 8 Index ux hy te ae RE AN
26. when selecting paper as page type in Document Page Type you explicitly see the page breaks By default the page type is papyrus which avoids page breaking during the preparation of your document The automatic page type assumes that your paper size is exactly the size of your window The page margins and text width are specified in Document gt Page gt Layout Often it is convenient to reduce the page margins for usage on the screen this can be done in Document Page Screen layout 2 7 THE FONT SELECTION SYSTEM In TEXmacs fonts have five main characteristics e Its name roman pandora concrete etc e Its family roman typewriter or sans serif e Its size a base size in points and a relative size normal small etc e Its series bold medium or light e ts shape right italic small caps etc Notice that in the font selection system of LATEX 2e the font name and family are only one namely the family Notice also that the base font size is specified for the entire document in Document Font Size 2 8 MASTERING THE KEYBOARD 13 2 8 MASTERING THE KEYBOARD 2 8 1 General prefix rules Since there are many keyboard shortcuts it is important to have some ways of classifying them in several categories in order to make it easier to memorize them As a general rule keyboard shortcuts which fall in the same category are indentified by a common prefix The main such common pre
27. you see below The following miscellaneous tags all take one or more arguments overline For overlined text which can be wrapped across several lines underline For underlined text which can be wrapped across several lines fold Macro with two arguments The first argument is displayed and the second one ignored the macro corresponds to the folded presentation of a piece of content associated to a short title or abstract The second argument can be made visible using Insert Switch Unfold unfold Macro with two arguments x and y which yields the unfolded presentation of a piece of content y associated to a short title or abstract x The second argument can be made invisible using Insert Switch Fold switch Macro with two arguments x and y where y is a set of possible representations of the switch and x the current representation The function keys F9 F10 F11 and F12 can be used to switch between different representations phantom Function with one argument x This tag takes as much space as the typesetted argument x would take but x is not displayed For instance the text phantom as an argument of phantom yields n set header Function with one argument for permanently changing the header Notice that certain tags in the style file like sectional tags may override such manual changes set footer Function with one argument for permanently changing the footer
28. APPENDIX A CONFIGURATION OF TEXMACS e 55 Agi Introduction x27 s A e eee e Pte A NANE E Ee Ee 55 A 2 Configuration of the modifier keys o o o o oo 55 A 3 Notes for Russian and Ukranian users o o 56 APPENDIX B ABOUT GNU TEXMACS e e RR RR RR RR RR RI e 58 EC UA MC c I LETT 58 B 2 The philosophy behind TEXyacs Re 58 B 2 1 A short description of GNU TEXMacs eelerer E ph toO dedu 58 B 2 2 Why freedom is important for scientists oaao aa 59 Bis Theat iors urls patadas at bout e ds e D 59 B 3 1 Developers of TEXuAGS a 03e DRE e aa ER pe 59 B 3 2 Administration of TeXyacs and material support ln 60 B 3 3 Porting Trios to other platforms vespa a a A Dn 60 B 3 4 Contributors to TEXyjcs packages 60 B 3 5 Internationalization of TEX MAS 2 6 rr 6I e x o 61 B 3 6 Othercontrib tor amp Eb Xa sve ERREUR E ROB Eun 61 B S C ntacting Us oko mk WP EEO A aoe be Pa BORE Res 62 B 4 Important changes in TRXyacg RIRs 63 B 4 1 Keyboard 1 0 0 11 1 0 1 um nuns i d 2 es de ee oo eae ale 63 B42 Menus LOOT EE errie rcg pue deo et M eod ox RE eA 63 D TABLE OF CONTENTS B 43 Style fles LOOTA A A TEE 64 BAA Tabular inat rial E WEE 64 BAS Document format 0 3 4 EE 64 APPENDIX C CONTRIBUTING TO GNU TEXmacs e 65 E Use TEN ega Ek p egene beer AAE a er ba et E ah ded au e 65 C 2 Making donations to the T Xm macg project a e EN EN yee at ees Baca 65 Making donations to TeXmacs through the SPI organization
29. D char 5 define DATA ESCAPE char 27 The DATA_ESCAPE character followed by any other character c may be used to produce c even if c is one of the three control characters An illustration of how to use DATA_BEGIN and DATA_END is given by the startup banner int main O 4 cout lt lt DATA BEGIN lt lt verbatim cout lt lt Xn cout lt lt Welcome to my test computer algebra system for TeXmacs n cout lt lt This software comes with no warranty whatsoever n cout lt lt c 2001 by Joris van der Hoeven n cout lt lt n next_input cout lt lt DATA_END fflush stdout The first line of main says that the startup banner will be printed in the verbatim format The next_input function which is called after outputting the banner is used for printing a prompt and will be detailed later The final DATA_END closes the startup banner block and tells TeEXuacs that mycas is waiting for input Don t forget to flush the standard output so that TEXmacs will receive the whole message 72 D 2 STUDYING THE SOURCE CODE STEP BY STEP 73 The main loop starts by asking for input from the standard input while 1 4 char buffer 100 cin gt gt buffer if strcmp buffer quit 0 break The output which is send back should again be enclosed in a DATA_BEGIN DATA_END block cout lt l
30. Fern ndez Pas cual Yannick Patois Alen L Peacock Francois Pellegrini Antonio Costa Pereira Jacob Perkins Bernard Perrot Jean Peyratout Jacques Peyriere Yves Pocchiola Benjamin Poussin Isa as V Prestes Rui Prior Julien Puydt Nguyen Dai Quy Ramakrishnan Adrien Ramparison Kenneth Reinhardt Diego Restrepo Christian Requena Chris Ret ford Staffan Ringbom Will Robinson Juan Pablo Romero Juergen Rose Mike Rosellini Filippo Rusconi Philippe Sam Long Duncan Sands Breton Saunders Claire Sausset David Sauzin Gilles Schaeffer Guido Schimmels Rainer Sch pf David Schweikert Rui Miguel Seabra Sami Sieranoja Vasco Alexandre da Silva Costa Marciano Siniscalchi Daniel Skarda Murray Smigel Luke Snow Rodney Sparapani Bas Spitters Bas Spit ters Starseeker Harvey J Stein Bernard Stloup Peter Stoehr James Su Przemyslaw Sulek Ben Sussman Roman Svetlov Milan Svoboda Dan Synek Pan Tadeusz Sam Tan nous John Tapsell Dung TaQuang Gerald Teschl Eric Thi baut Nicolas Thiery Helfer Thomas Reuben Thomas Kurt Ting Janus N To ndering Marco Trevisani Andreas Umbach Miguel A Valle R mi Vanicat Harro Verkouter Sawan Vithlani Guy Wallet Adam Warner Thomas Wawrzinek Maarten Wegewijs Lars Willert Grayson Williams Ben Wise Damien Wyart Volker Zell Oleg Zhirov Richard Zidlicky Sascha Ziemann Reinhard Zierke Paul Zimmermann B 3 7 Contacting us You can either contact us by email at contactOtexma
31. GNU TEXuacs USER MANUAL TABLE OF CONTENTS 1 GETTING STARTED iii A xs EE nes ee dep us 7 1 1 Conventions for this manual s ossi ia 5442504200 ARIS ES a 7 12 iaa A o o db e darn tud 7 1 8 Creating saving and loading documents o o 8 Lab Printing documents ssr a a ganiad a ae E Ba RA E A rer ss 8 2 WRITING SIMPLE DOCUMENTS e 9 2 1 Generalities for typing text o o 9 2 2 Typing structured text uude er ave bI PEEL Versu 9 2 3 Contentsbased tags cuu Xue ome Eo EC ase PA emus 10 2 4 WIStS vss cue et EE 10 2 5 Environments uc is e ORE Deed Ai dle EEG odds ee 11 2 60 Layout EE 4 tot al Aw tato Aute uos se ondes Dto ut e tds ete Lyell 12 2 7 The font selection system 12 2 8 Mastering the keyboard 0 02 0000000000020 00 00008 13 2 81 General prefix rules aka bere goon get ee ne eye fee ae 13 2 8 2 Some fundamental keyboard shortcuts 2 22 o 13 2 8 3 Keyboard shortcuts for text Mode o 0 o e 14 2 84 Hybrid commands and IATpX simulation 14 2 8 5 Dynamic Objects ose A R TUR ee REM ARP 14 2 8 6 Customization of the keyboard lees 15 3 MATHEMATICAL FORMULAS 2 sss eee 16 3 1 Main mathematical constructs e 16 3 2 Typing mathematical symbols lle 17 3 3 Typing big operators ENEE ENEE a a ee 17 3 4 Typing large delimiters o ooo 18 3 5 Wide mathematical accents 19 4 TABULAR MATERIAL uerb A ia d
32. LES AND PACKAGES 35 M e gt translate a word from a source language into a destination language see the dictionaries in TEXMACS PATH data dic M e test equality M e E e test inequality M e insert an if statement with an optional else part 9 3 3 Important TEXmacs paths This should be elsewhere Before writing your own style file it is useful to know the following important TEXmacs paths e TEXMACS_PATH is the main path for TEXmacs e TEXMACS HOME PATH is the main user path for TEXuacs files documents styles or programs By default this path is set to TeXmacs e TEXMACS STYLE ROOT the root directories for style files By default this path con tains TEXMACS PATH styles and TEXMACS HOME PATH styles e TEXMACS PACKAGE ROOT the root directories for style packages By default this path contains TEXMACS PATH packages and TEXMACS HOME PATH packages e TEXMACS STYLE PATH contains the path for including style files By default this path contains and all subdirectories in TEXMACS STYLE BOOT and TEXMACS PACKAGE ROOT e TEXMACS FILE PATH contains the path for searching text files By default this path contains TEXMACS STYLE PATH TEXMACS PATH texts and TEXMACS HOME PATH texts 9 4 CUSTOMIZING THE STANDARD TEXmacs STYLES AND PACKAGES Whenever the standard TEXya0s style files are inadequate for a given purpose it is possible t
33. Language RE 8 9 9 68 Russia espro B bomo 56 Master Attach saare owe s c4e3 A kenne d 25 Pagers ke wow Pa ee aod e 12 Breaking 28 Layout he pew eae Ye a RR UU 12 Screen layout 12 Margins as on paper 8 SIZES il a e bene Shia s 8 Type rra a 12 24 Raper zonae m Pe EEN Ae Saes 8 Styler AA 8 9 32 Other iuc a cx EE wae 51 Update AA A 24 Bibliography 24 Table of contents 24 Use package o o o o 32 document style 9 ee iugis gh a Rom ideas 11 43 Edit COPY apical Roe wow pea dp Rey ENT 26 Copy tO e bxoR RUE CUR S 26 Cut ui ee os Oise es oe as ee ee 26 Export 43S eden Se Eee H 26 Import xk OE wR 26 Paste gt 2 24 uci dae oia A E 26 Paste from 64 2 4694 8 244 4 2 os 26 Preferences 7 13 13 48 55 Keyboard 55 56 56 Cyrillic input method translit o 57 Language R ssia e ae rap ae e e 56 Look and feel 55 E WEEN 27 Replace 2224225 a 64 BE 26 Search s god 4944 a e e 26 Spell uu 4 aa eae 27 Und6 22264408082 da toys 27 Ma AA a 10 36 69 enumerate soa abea x a e A 39 enumeratesalpha c os o c s ion oe aseo 39 enumerate Alpha ee seua 39 enumerate numeric 39 INDEX 81 enumerate roman i e s c so e a Eoo 39 header secondary lt 22 4404 oos 2 45 enumerate Roman 39 header title 2 45 46 46 SAW a oU air ae SU ent i bo EE 42 header
34. T su dee erg i ef ue e reel 43 AL unos ads A a xem 43 AMS clasS o c g be bk ae de 45 appendiX i53 aaa dre a are dae 46 APT A x uewuetedexjieiexqees mos 69 BUCHO en cu a 45 46 Ee Lia eee GE ew em odo 46 ARION nc hoxcn2r ex A xe 11 44 Bibite e nce Detox eco Sex Res 40 D3g EENEG 44 44 big figure amp 44 bag table cocida da gobo e 44 44 a AN 38 38 38 DIOGE x a e PUR S44 22 37 D UOCEE E ei ee xS RO E 37 A 42 branch 8442 e692 ba ee E ai 68 68 68 Caps lock key Map to H modifier 55 EE do os koX de od Xo o e even ve 37 chapter ok o9 444 45 46 46 chapter uo s dw pone e Rom odd RU 46 chapter 522616 vow Rd 46 o u s wc ox XS dae ee a 39 CHOOSE l5 26208 4S e ee E 38 CIE 12423 x R24 ea ee X4 36 40 40 xh pou CS 10 36 amp 6d 21 14 a9 Wc BOR 11 37 37 COUGH cog hono EE 10 37 37 common base 36 cOUcept liBE a cocos sose Ea 69 CONJECTURE e El E uon d 44 CONCIMUG 235 a 68 68 68 CONVEDtION ideada 44 Corollary cosacos E 11 44 COn Lar YA Ca n Gb BOR exe ed 43 Enter E E AE 69 definition ca 0 E nee 4 11 44 GE REENEN 39 description align 4 2 4635 39 description compact 39 39 39 description dash s s s os a e s a mois 39 description long e e Ee ax 39 80 descriptive table e sor sacc ama 69 GGG hele ox X he a Sete pn 39 CDD ciues Re MUR ai Se Rs 10 36 Document sls 7 BOM Lo a a AE 9 DI sae oa A a e a 8 SIZE at e odor aos 12
35. TeXmacs communication protocol 78 D 12 Future proj cts reirnos ra Aa ee aD RE ee 79 CHAPTER 1 GETTING STARTED 1 1 CONVENTIONS FOR THIS MANUAL Throughout the TEX yAcs manual menu entries will be typeset using a sans serif font like in Document File gt Load or Text Font shape gt Italic Keyboard input will be typeset in a typewriter font inside boxes like in C s At the righthand side of menu entries you see keystroke equivalents when these are available The following abbreviations are used for such keystrokes S For shift key combinations cC For control key combinations A For alternate key combinations M For meta key combinations H For hyper key combinations For instance A C b stands for alt ctrl b Spaces inside keyboard shortcuts indicate multiple key presses For instance M t N b stands for meta t N b The alt meta and hyper keys are not available on all keyboards On recent PC s the meta key is often replaced by the windows key In the case when one or several modifier keys are missing on your keyboard you may use escape instead of M escape escape instead of A and F5 escape w is equivalent to A w You may also configure the keyboard modifiers in order to take full advantage
36. Texmacs constructs to write text which is visible in the converted resp original file only For instance assume that the word blauwbilgorgel is hyphenated correctly in the TEXuacs source but not in the IATEX conversion Then you may proceed as follows 1 Select blauwbilgorgel 2 Click on Insert Specific Texmacs to make the text blauwbilgorgel TEXmacs specific 3 Click on Insert gt Specific gt Latex 4 Type the latex code blauw bil gor gel with the correct hyphenation 5 Press return to activate the IAT X specific text In a similar fashion you may insert I TEX specific line breaks page breaks vertical space style parameter modifications etc 12 1 2 Possible conversion problems 12 1 2 1 Specific TEXmacs features Some TEXuacs typesetting primitives have no analogues in I TEX and the conversion algorithm will simply transform them into blank space Some main features which are specific to TEXmacg are the following e Left primes e Big separators between big parentheses e Mosaics e Trees e Complex user macros e Vertical spaces before and after e Indentation flags before and after 12 1 COMPATIBILITY WITH I TEX 53 You should avoid to use these specific TEX jAcs features if your document needs to be converted into LATEX Nevertheless in the far future the conversion program might gen erate encapsulated postscript by default of a m
37. XMACS_PATH progs fonts contains SCHEME programs for setting up the fonts CHAPTER 12 COMPATIBILITY WITH OTHER FORMATS TEXuacs is fully compatible with postscript which is used as the format in order to print documents TEXuacs also provides converters from and to IATRX and an input filter for Html 12 1 COMPATIBILITY WITH I TpEX Although TEXuacs has not been designed to be fully compatible with IAT X it is possible to convert documents from TEXmacs to LATEX and vice versa although the result will not always be perfect Also conversions from TEXmacs to LATEX will generally yield better results than conversions the other way around In particular TEX 44cg may reasonably well be used to write articles which need to be converted to DES for submission purposes In this chapter we will describe more precisely the conversion mechanisms which will help you to obtain a result as satisfactory as possible 12 1 1 Conversion from TEXyacs to D TEX The most common situation is that you want to convert an article from TEX cg to AT RX in order to submit it to some journal Given a TeE Xyacs file name tm you may convert it into a IATFX file name tex using File Export gt Latex At a first stage you may try to run I TEX on name tex and see whether you obtain a satisfactory result If so then you should submit name tex together with the style file TeXmacs sty which can be found in the directory TEXMACS PATH misc latex Often the jou
38. YING THE CELL AND TABLE ALIGNMENT The most frequent formatting operation is the horizontal or vertical alignment of a block of cells You may use the M M M f and M keystrokes to quickly align more to the left right top or bottom A specific alignment can also be selected in the Table Horizontal cell alignment and Table Vertical cell alignment menus Alternatively you may use keyboard shorthands of the types M t h z and M t er for horizontal resp vertical alignment Similarly you may specify how the table itself should be aligned with respect to the surrounding text This is either done via the Table Horizontal table alignment and Table gt Vertical table alignment submenus or using keyboard shorthands of the form M t H z or M t V Here zx represents 1 for left c for centered r for right b for bottom and t for top 4 4 SPECIFYING THE CELL AND TABLE SIZE Using Table gt Cell width gt Set width resp Table gt Cell height gt Set height you may specify the width or height of a cell In fact the specified width or height may be taken into account in three different ways Minimum mode The actual width of the cell will be the minimum of the specified width and the width of the box inside the cell Exac
39. a ale aoa 00m a Gen vod 41 reset subsection ocioso ss 47 lan output 4 202 425 E ae A dw 41 reset subsubsectioB 52 122 47 lan sessio nm 2 000 es 41 reset top A ee id E E 4T LATEK icol a hae E A v aes 37 SAMP ao A se Bae Sa ee EE E ae 10 36 Lemma de ns Be A E 11 44 Scheme oie a 2 69 legn mber ss ros be ee eee bo xx Roxy 43 s heme tode 22 sd m s p i a a he 69 MIES 2 372 ura re eg joa 28 Screenshot cda a A zo 69 M modifier Section o yw ba de 45 45 46 46 69 Equivalent for Modl 56 S CDIOME oo 2253 x PR ak Re Swe ws 46 made by TeXmacs os oc 222222 s 65 Section latex os coe ndora aa 46 46 makestitle 2 9o goa deo A gr 45 SSCLIOBSeD 5 4 OR vx GV e x 46 tere 20 ko Boe ee AA A es 69 SESSTOD nu on sik la ae EE 41 MAD 2c A ate a ata rs 37 S b footer coa a daa 38 Dee EE E e 44 4 oy 22 39 set hesd f o c 4 4 04 Saw he e EN 38 Hen AE a OA Ee ae ee 68 Sshrank ipline soso ne ae xxx 38 Meng Jett Babe Se A a es 72 75 sSimpl link e ac a e mob A Geo 69 eme e be Pa eb be ea SEO 10 36 small figure ovio ce og 44 44 newexerCiSe 224 bea ew ee E 42 small figure ENEE 44 44 newfig r ceci ae e 4s 42 small table oo oos oc saro s aa are 44 44 newlistfig re c ore E e ER ui 47 Start page 62 0 45 45 45 newliststdenv 2 02 cos q eo ee oa 47 std a tomatic ENEE a e 40 newliststdenv counter 47 Stdsl38t amp lcd as A 39 39 newremark 2 6 ac Ier ob E 42 std markup lt i sor e 444 y
40. a document style in Document gt Style TEXyacs takes care of specific layout issues such as numbering of sections pages theorems typesetting citations footnotes and theorems in a nice way and so on Currently four document standard styles have been implemented letter article book and seminar The seminar style is used for making transparencies As soon as you have selected such a style you can organize your text into sections see Text gt Section and use specific environments Examples of environments are theorem proposition remark and so on see Text Environment Other examples are lists of items see Text ltemize or numbered lists see Text Enumerate 10 WRITING SIMPLE DOCUMENTS When you get more acquainted with TEXmacs it is possible to add your own new envi ronments in your own style file Assume for instance that you often make citations and that you want those to appear in italic with left and right margins of 1cm Instead of manually changing the text and paragraph properties each time you make a citation it is better to create a citation environment Not only it will be faster to create a new citation when doing so but it is also possible to systematically change the layout of your citations throughout the document just by changing the definition of the citation environment The latter situation occurs for instance if you discover a posteriori that you prefer the citations to appear in a smaller font
41. a name for the environment like experiment and the corresponding text like Experiment newremark Similar as newtheorem but for remarks newexercise Similar as newtheorem but for exercises newfigure Similar as newtheorem but for figures in big and small pairs The d t d also contains low level markup for the actual definitions of the environments In fact the definition of new theorems is done in two stages At the first stage the newtheorem tag is used in order to specify which theorem like environments should be defined At the second stage just before the user s document is processed the theorem like environments are actually defined This mechanism makes it possible to customize the environments in packages which are processed between the two stages For instance the numbering of theorems is customized in this way WARNING 10 1 At the moment you should only use the newtheorem and similar tags inside a personal style file or package If you use newtheorem directly inside a document then the numbering can be incorrect due to the two stage scheme explained above This inconvenience will disappear as soon as it will be possible to specify clean preambles for TEXuacs documents 10 2 2 Mathematical environments The env math d t d specifies which mathematical environments can be used inside text mode In other words the environments should be used inside text mode but their bodies contain mathematical formulas or tab
42. a special meaning However while content based tags usually enclose small portions of text environments often enclose portions that are several paragraphs long Frequently used environments in mathematics are theorem and proof like in the example below THEOREM 2 1 There exist no positive integers a b c and n with n gt 3 such that a p p e PROOF I do not have room here to write the proof down You may enter environments using Text Environment Other environments with a similar rendering as theorems are proposition lemma corollary axiom definition You may use the dueto macro entered using N d u e t o return in order to specify the person s to which the theorem is due like in THEOREM 2 2 PYTHAGORAS Under nice circumstances we have a b c Other frequently used environments with a similar rendering as theorems but which do not emphasize the enclosed text are remark note example warning exercise and problem The remaining environments verbatim code quote quotation and verse can be used in order to enter multiparagraph text or code quotations or poetry 12 WRITING SIMPLE DOCUMENTS 2 6 LAYOUT ISSUES As a general rule T Xymacs takes care of the layout of your text Therefore although we did not want to forbid this possibility we do not encourage you to typeset your document visually For instance you should not insert spaces or blank lines as substitutes for hor izon
43. ab e Greek characters are now typed using A C F5 or the hyper modifier which can be configured in Edit Preferences You may also obtain Greek characters as variants of Latin characters For instance p tab yields 7 e The signification of the cursor keys in combination with control alt and meta has changed You may choose between several look and feels for the keyboard behaviour in Edit gt Preferences Look and feel The default is Emacs but you may choose Old style if you want to keep the behaviour to which you may be used now B 4 2 Menus 1 0 0 7 1 0 1 Several changes have been made in the menus Here follows a list of the major changes e Buffer has been renamed as Go e Several items from File have been moved to View e The Edit Import and Edit gt Export items have been moved to Tools Selections e The Insert menu has been split up into the menus Insert Text and Mathematics e The Text and Paragraph menus have been merged together in one Format menu e Options has been spread out across Document View Tools and Edit Preferences 64 ABOUT GNU TEXuacs B 4 3 Style files 1 0 0 4 Many changes have been made in the organization of the TeXyacs style files Personal style files which depend on intermediate TEXmacs packages may require some slight adaptations We are working towards a stabilization of the standard style files and packages A
44. aelzer Maciej Gajewski Lionel Garnier Bj rn Gohla 62 ABouT GNU TEXuacs Patrick Gonzalez Nirmal Govind Michael Graffam Fr d ric Grasset Wilco Greven Cyril Grunspan Laurent Guillon Harri Haataja Irwan Hadi James W Haefner Ola Ham fors Aaron Hammack Guillaume Hanrot Karl M Hegbloom Jochen Heinloth Ralf Hemmecke Alain Herreman Andreas Horn Chu Ching Huang Ed Hurst Karl Jarrod Hyder Richard Ibbotson Benjamin T Ingram Alexander Isacson Michael Ivanov Maik Jablonski Frederic de Jaeger Pierre Jarillon Paul E Johnson Pierre Henri Jondot Antoun Kanawati Tim Kaulmann Mukund S Kalisi Jeremy Kephart Iwao Kimura Simon Kirkby Ronny Klein Matthias Koeppe Denis Kovacs Jeff Kowalczyk Ralph Krause Neel Krishnaswami Friedrich Laher Winter Laite Russell Lang Christopher Lee Milan Lehocky Joerg Lippmann Pierre Lorenzon V S Lugovsky Duraid Madina Yael Maguire Paul Magwene Jeremiah Mahler Vincent Maillot Giacomo Mallucci Syl vain Marchand Bernd Markgraf Eric Marsden Chris Marston Evan Martin Alisdair McDiarmid Phil Mendelsohn S bastien de Menten Jean Michel Mermet Jon Merriman Herve le Meur Amir Michail Arkadiusz Miskiewicz Sasha Mitelman Dirk Moebius Jack Moffitt Julian Morrison Bernard Mourrain Stephan Mucha Nathan Myers Nix N Nix Eduardo Nogueira Immanuel Normann Jean Baptiste Note Ralf Nuetzel Kostas Oikonomou Bill Page Pierre Pansu Bernard Parisse Fr d ric Parrenin
45. all By default TEXuacs assumes that you have a 600dpi printer for a4 paper These default settings can be changed in Preferences Printer You can also print to a postscript file using File gt Print gt Print all to file in which case the default printer settings are used for creating the output or File Export gt Postscript in which case the printer settings are ignored When adequately configuring TEXyacs the editor is guaranteed to be wysiwyg the result after printing out is exactly what you see on your screen In order to obtain full wysiwyg ness you should in particular select Document gt Page gt Type gt Paper and Document gt Page Screen layout Margins as on paper You should also make sure that the characters on your screen use the same number of dots per inch as your printer This rendering precision of the characters may be changed using Document Font Dpi Currently minor typesetting changes may occur when changing the dpi which may globally affect the document through line and page breaking In a future release this drawback should be removed CHAPTER 2 WRITING SIMPLE DOCUMENTS 2 1 GENERALITIES FOR TYPING TEXT As soon as you have performed the preparatory actions as explained above you can start typing The usual English characters and punctuation symbols can easily be obtained on most keyboards Accented characters from foreign languages can systematically be obtained using the escape k
46. am Table 2 1 Some of the most common content based tags 2 4 LISTS Using Text gt ltemize you may start an unnumbered list You may either select a particular tag like e bullets dashes or arrows to indicate entries in the list or the default tag Lists may be nested inside other tags like in the following list e First item e Now comes the sublist o A subitem 2 5 ENVIRONMENTS 11 o Another one e A final item The default tag is rendered in a different way depending on the level of nesting At the outermost level we used the e tag at the second level o and so on When you are inside a list notice that pressing return automatically starts a new item If you need items which are several paragraphs long then you may always use S return in order to start a new paragraph Enumerate environments which are started using Text gt Enumerate behave in a similar way as itemize except that the items are numbered Here follows an example of an enu meration which was started using Text Enumerate Roman I A first item II A second one III And a last one The last type of lists are descriptive lists They are started using Text Description and allow you to describe a list of concepts Gnu A hairy but gentle beast Gnat Only lives in a zoo 2 5 ENVIRONMENTS In a similar way as content based tags environments are used to mark portions of text with
47. an interface for computer algebra systems TEXyacs also supports the GUILE SCHEME extension language so that you may customize the interface and write your own extensions to the editor TEXuacs currently runs on most GNU LINUX systems a gt 200MHz processor and gt 32Mb of memory are recommended and on sun computers Converters exist for TEX I TEX and they are under development for HTML MATHML XML In the future TEXuacs is planned to evolve towards a complete scientific office suite with spreadsheet capacities a technical drawing editor and a presentation mode 58 B 3 THE AUTHORS OF TEXmacs 59 B 2 2 Why freedom is important for scientists One major objective of TEX yacs is to promote the development of free software for and by scientists by significantly reducing the cost of producing high quality user interfaces If you plan to write an interface between TEXj4cs and other software then please contact us As a mathematician I am deeply convinced that only free programs are acceptable from a scientific point of view I see two main reasons for this e A result computed by a mathematical system whose source code is not public can not be accepted as part of a mathematical proof e Just as a mathematician should be able to build theorems on top of other theorems it should be possible to freely modify and release algorithms of mathematical soft ware However it is strange and a shame that the main mathematical progra
48. ations of money to TeXmacs via this orga nization by noting on your check or e mail for wire transfers that your money should go to the TeXmacs project You may also make donations of equipment or services or donations through vendors See the SPI website for more information We will main tain a webpage with a list of donors soon if you agree to be on the list Details on how to donate money To make a donation write a check or money order to Software in the Public Interest Inc and mail it to the following address Software in the Public Interest Inc P O Box 502761 Indianapolis IN 46250 7761 United States To make an electronic transfer this will work for non US too you need to give your bank the routing number and account number as follows The SPI bank account is at American Express Centurion Bank Routing Number 124071889 Account Number 1296789 66 CONTRIBUTING TO GNU TEXuacs Don t forget to note on your check or e mail for wire transfers that the money should be spent on the TeXmacs projet In addition you may specify a more specific purpose on which you would like us to spend the money You may also contact us for a more detailed discussion on this issue Important notes Let the SPI Treasurer treasurer spi inc org know if you have problems When you have completed the electronic wire please send a copy of the receipt to the above address so there is a copy of your donation The copy you send to the trea
49. ch inserts z in the index as a subentry of y which is itself a subentry of x index complex A function with four arguments key how range entry which is documented in the section about index generation index line This function takes a key argument which tells how to sort the entry and the actual entry No page number is generated 10 1 THE COMMON BASE FOR MOST STYLES 41 index 1 Macro with an index entry and a page number which is used for rendering a principal index entry in the index index 1 Similar to index 1 but without the page number index n with n between 1 and 5 macro with an index entry and a page number which is used for rendering an index entry of level n index n Similar to index n but without the page number index dots The macro which produces the dots between an index entry and the corresponding page number s The following tags are used for glossaries glossary A function which inserts its only argument into the glossary glossary dup For creating an additional page number for an entry which was already inserted before glossary explain A function for inserting a glossary entry with its explanation glossary line Insert a glossary entry without a page number glossary 1 Macro for rendering a glossary entry and its corresponding page number glossary 2 Macro for rendering a glossary entry its explanation and its page number glossary dots The macro which produces the dots between a glossar
50. cmd is yourcas texmacs 3 Add a line of the form connection format yourcas input format output format to yourcas scm if your input and output is not merely verbatim text Usually the input format is verbatim and the output format is generic Other avilable formats are scheme latex html and ps 4 Add command like set session menu menu merge session menu yourcas make session yourcas to yourcas scm in order to be able to start a TEXyjcs session from the Insert gt Session menu in which you can evaluate expressions of your language You may also redefine the keyboard for such sessions DO CONNECTIONS VIA DYNAMICALLY LINKED LIBRARIES 77 5 Create a style file yourcas ts in TEXMACS_PATH packages session environ ments yourcas session yourcas input and output yourcas Alternatively you may put this file in TEXMACS_HOME_PATH packages 6 If everything works well and you wish to make it possible for others to use your system inside the official TEX yacg distribution then contact me at vdhoeven texmacs org D 7 FURTHER CUSTOMIZATION OF THE INTERFACE Having written a working interface between your system and TRXyacg you may want to improve it further Below we will discuss a few directions for possible improvement First of all you may want to customize the keyboard behavior inside a yourcas session and add appropriate menus The mechanisms for doing that are described in t
51. cs org or by regular mail at Joris van der Hoeven D pt de Math matiques B t 425 Universit Paris Sud 91405 Orsay Cedex France There are also several TgXycg mailing lists texmacs usersOtexmacs org texmacs info texmacs org texmacs dev gnu org DA IMPORTANT CHANGES IN TEX Aca 63 B 4 IMPORTANT CHANGES IN TEXmacs Below we briefly describe the most important changes which have occurred in TEXmacs since version 0 3 3 15 We also maintain a more detailed change log In general when upgrading to a new version we recommend you to make backups of your old TEXuacs files before opening them with the newer version of TEXyacs In the unlikely case when your old file does not open in the correct way please send a bug report to bugs texmacs org and send your old document as an attached file Do not forget to mention your version of TEXuacs and the system you are using B 4 1 Keyboard 1 0 0 11 1 0 1 The TEXuacs keybindings have been rationalized Here follows a list of the major changes prefix has been renamed to M e The E e escape lis equivalent to and escape escape to A e Mode dependent commands are now prefixed by A In particular accents are typed using A instead of E e Variants are now obtained using tab instead of and you can circle back using shift t
52. cute menu main link texmacs menu 11 4 CREATING YOUR OWN KEYBOARD SHORTCUTS Keymaps are specified using the command set keymap list of predicates list of keymaps 50 CUSTOMIZING TEXuaAcs The list of predicates specifies under which circumstances the keymaps are valid Examples of predicates are always in math and in french but the user may define his own predicates Each map is of one of the following forms key combination action_1 action n key combination result key combination result help message In the first case the action i are SCHEME commands associated to the string key combination In the second and third case result is a string which is to be inserted in the text when the key combination has been completed An optional help message may be displayed when the key combination is finished Kemaps can be cleared again using the command remove keymap list of predicates list of key combinations where the second arguments is a list of strings each of which is a key combination as above 11 5 OTHER INTERESTING FILES Some other files may also be worth looking at e TEXMACS_PATH fonts enc contains encodings for different TEX fonts e TEXMACS_PATH fonts virtual contains definitions of virtual characters e TEXMACS PATH langs natural dic contains the current dictionaries used by TEXmacs e TEXMACS_PATH langs natural hyphen contains hyphenation patterns for various languages e TE
53. d A m key combinations For instance A 1 produces considered as a large left delimiter 3 5 WIDE MATHEMATICAL ACCENTS 19 In TFX and IATE X middle delimiters or separators do not exist they are used for producing the vertical bars in formulas like a b c a b c There may be as many middle delimiters between a left and a right delimiter as one wishes D q r 3 5 WIDE MATHEMATICAL ACCENTS The table below how to type mathematical accents above symbols or entire formulas Indeed some of these accents automatically become as wide as the formulas below them Shortcut Example Wide variant Shortcut Result A Da FY A x i E icy A A B T rcy A d A V z AB Au A C d tty A U d LFY Table 3 6 Keyboard shortcuts for wide mathemarical accents CHAPTER 4 TABULAR MATERIAL 4 1 CREATING TABLES In order to create a table you may either use Insert Table or one of the following keyboard shorthands M t N t Create a regular table M t N T Create a regular table whose cells are centered M t N b Create a regular block whose cells are separated by lines M t N B Create a block whose cells are centered In math mode a few other table like structures are provided M t N m Create a matri
54. d gon Lex 20 4 1 Creating tables 22222 20 42 Ehe formatting modes os s ren ugue exe See EE Sa 20 4 3 Specifying the cell and table alignment o o 21 4 4 Specifying the cell and table size 0 o o o o ooo oo 21 4 5 Borders padding and background color 21 4 6 Advanced table features 22 5 LINKS AND AUTOMATICALLY GENERATED CONTENT 23 5 1 Creating labels links and references o o o e 23 522 Inserting images tia Ee A Ae Eh di e a es 23 5 3 Generating a table of content 24 5 4 Compiling a bibliography o ooo 24 5 5 Generating an index elles 24 A TABLE OF CONTENTS 56 Compiling a glossary ai a ved mars ee ar og duod ti A 25 5 7 Books and multifile documents sees 25 60 EDITING TOOLS uev wh on e OA ye e A VEG voee E ex v 26 Deh Cut and Paste uoo EI ederet See Std e SE Get des 26 6 27 Search and replace a ee Beete a RE es 26 0 9 Spell belegt eg db Eo e V Sed o RO ORA Mat d ee d 27 6 4 Undo and redo a ta a de eo ee Ghee pt 27 7 ADVANCED LAYOUT FEATURES 28 E A son EE 28 T2 Floating ODJEC S m tests rte E Boat a ERA Gh NE A OB eee 28 Mo Pape Brealeng 5 o tol amete sua AC o rit ds wld oe Dt 28 8 UsING GNU TEXmacs AS AN INTERFACE eA 29 SMITH ECCLE EE 29 SL Basic Usage Bade ce eh dece dila te te de d ele end eet e hed 29 8 1 2 Customizing the session styles o 0 o e e 29 8 2 Supported
55. d your package The n th concrete version of the communication protocol should provide two data struc tures TeXmacs exports n and package exports n The first structure contains all routines and data of TeXyacs which may be necessary for the package The second struc ture contains all routines and data of your package which should be visible inside TEXyacs In order to link your system to TEX cs you have to implement a function package exports get my package int version This function takes the highest T Xmacg communication protocol supported by your TEXuacs system on input It should return a pointer to an instance of a concrete struc ture package exports n where n is inferior or equal to version D 11 VERSION 1 OF THE TEXMACS COMMUNICATION PRO TOCOL In the first version of the TeXmacs communication protocol your package should export an instance of the following data structure typedef struct package exports 1 1 char version protocol TeXmacs communication protocol 1 char version package char install TeXmacs exports 1 TM char options char errors char evaluate char what char session char errors char execute char what char session char errors package exports 1 D 12 FUTURE PROJECTS 79 The string version protocol should contain TeXmacs communication protocol 1 and the string version package the version of your package The routine install will be call
56. e If you use such keyboard setup you should select Options international keyboard russian gt koi8 r It is also possible to use the Windows cp1251 encoding instead of koi8 r though this is rarely done in UNIX If you do use xrus jcuken cp1251 select cp1251 instead of koi8 r A 3 NOTES FOR RUSSIAN AND UKRANIAN USERS 57 All the methods described above require some special actions to russify the keyboard This is not difficult see the Cyrillic HOW TO or better its updated version http www inp nsk su baldin Cyrillic HOWTO russian Cyrillic HOWTO russian html Also all of the above methods globally affect all X applications text editors emacs nedit kedit xterms TEXuacg etc If you need to type Russian only once or very rarely a proper keyboard setup may be more trouble than it s worth For the benefit of such occasional users TEXmacg has methods of Russian input which require no preliminary work Naturally such methods affect only TEXuacs and no other application The simplest way to type some Russian on the standard US style keyboard with no software setup is to select Edit Preferences Keyboard gt Cyrillic input method gt translit Then typing a Latin letter will produce the most similar Russian one In order to get some Russian letters you have to type 2 or 3 letter combinations
57. e copyright notice should be specified using the tmdoc copyright function just before the license information at the end of the document The first argument of this function contains a year or a period Each remaining argument indicates one of the copyright holders When combining pieces of several documents into another one you should merge the copyright holders For cover information on a printed book for instance you are allowed to list only the principal authors but a complete list should be given at a clearly indicated place C 3 5 Traversing the TEXmacs documentation As a general rule you should avoid the use of sectioning commands inside the TEXmacs documentation and try to write small help pages on well identified topics At a second stage you should write recursive meta help files which indicate how to traverse the documentation in an automatic way This allows the reuse of a help page for different purposes a printed manual a web oriented tutorial etc The tmdoc style provides three markup macros for indicating how to traverse documenta tion The traverse macro is used to encapsulate regions with traversal information The branch macro indicates a help page which should be considered as a subsection and the continue macro indicates a follow up page Both the branch and the continue macro take two arguments The first argument describes the link and the second argument gives the physical relative address of the linked fi
58. e environments The first argument specifies the name of the theorem like Theorem 1 2 and the second argument con tains the body of the theorem This environment is used for environments defined by newtheorem remark Similar to theorem but for remark like environments exercise Similar to theorem but for exercise like environments proof Similar to theorem but for proofs This environment is mainly used for customizing the name of a proof like in End of the proof of theorem 1 2 dueto An environment which can be used to specify the inventors of a theorem corollary For unnumbered corollaries This environment is based on theorem proof For proofs of theorems This environment is based on proof The following tags can be used for further customization of the environments theoremname A macro which controls the appearance of the names of theorem like and remark like environments Most styles use bold face or small capitals exercisename Similar to theoremname but for exercises 44 SUMMARY OF THE PRINCIPAL TEX Acs TAGS theoremsep The separator between the name of a theorem like or remark like envi ronment and its main body By default this is a period followed by a space exercisesep Similar to theoremsep but for exercises 10 2 4 Environments for floating objects The env float d t d provides tags for floating objects The following tag is the only high level one footnote Make a footnote The fo
59. e same for the translations in other languages For instance man keyboard en tm should not be translated as man clavier fr tm C 3 4 Copyright information amp the Free Documentation License All documentation on the texmacs doc site falls under the GNU Free Documentation License If you write documentation for TEXyacs on this site then you have to agree that it will be distributed under this license too The copyright notice Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 1 or any later version published by the Free Software Foundation with no Invariant Sections with no Front Cover Texts and with no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License 68 CONTRIBUTING TO GNU TEXuacs should be specified at the end of each file This should be done inside the tmdoc license macro in a similar way as at the end of the present document When automatically generating a printed book from several documentation files this will enable us to include the license only once You keep part of the copyright of all documentation that you will write for TEXyAcs on the official texmacs doc site When you or others make additions to or modifications in or translations of the document then you should add your own name at an appropriate place usually at the end to the existing copyright information Th
60. ebra systems support for Cyrillic tools for the manipulation of dic tionaries etc e David Allouche replaced the gencc preprocessor by the more standard C tem plate system He also made many other patches bug reports and he did a lot of the administration of TeXmacs e Dan Grayson helped me to implement communications with computer algebra sys tems via pipes He also provided some money support for TEXmacs and he made many useful comments and suggestions 60 ABOUT GNU TEXuacs Karim Belabas designed and developed with me the first protocol for interfacing TEXuacs with scientific computation or computer algebra systems He also imple mented the interface with the pari system St phane Payrard made an important bugfix for destroying windows Michael Graffam for his help with the GNU Octave interface Michael Lachmann for his work on the upcoming GNU R interface Gwenael Gabard for some fixes in the IATRX to TEXuacs converter Felix Breuer for his help on XML support and a donation Igor V Kovalenko for his help on debugging TeXmacs and a few patches Gareth McCaughan made several patches and comments Jonas L f for a precise installation procedure on Cygwin Rob Clark made a patch which improves the system time support B 3 2 Administration of TEXmacs and material support Jean Claude Fernandez Fabien Salvi and the other persons from the CRI host and administrate the TEXyrAcg website lvaro Tejero Cantero
61. ecked your text against spelling errors The more experimental documentation should be put in the incoming directory or on the TEXyacs Wiki It is also important that you give your documentation as much structure as possible using special markup from the tmdoc style file This structure can be used in order to automatically compile printable books from your documentation to make it suitable for different ways of viewing or to make it possible to efficiently search a certain type of information in the documentation In particular you should always provide copyright and license information as well as indications on how to traverse your documentation if it contains many files C 3 2 Using CVS The present TEXwuACS documentation is currently maintained on http savannah gnu org using CVS Concurrent Version System In order to con tribute you should first create an account there When you are done with this you should send me an email at vdhoeven texmacs org and ask me to add your name to the list of documenters After that you will be able to modify the doc umentation using Cvs For information on how to do that you should consult http savannah gnu org cvs group_id 1747 C 3 CONTRIBUTE TO THE GNU TEXmacs DOCUMENTATION 67 In fact the CVS system is not ideal for our documentation purpose because it is not very dynamic In the future we plan to create a dedicated publication website which will allow you to save documents d
62. ected region For instance in order to transform some black text in red you select it using the left mouse button and click on Text Color Red Similarly if you select a formula and you click on Insert Mathematics Fraction then the formula becomes the numerator of some fraction When using the copy and paste mechanism to communicate with other applications text is copied and pasted using the TeXyacs data format You may specify other import and export formats using Edit gt Import resp Edit gt Export By default copying and pasting uses the primary text buffer Using Edit Copy to and Edit Paste from you may specify as many other buffers as you like 6 2 SEARCH AND REPLACE You can start searching text by pressing C s or Edit Search During a search the search string is displayed at the left hand side of the footer Each character you type is appended to this search string and the next occurrence of it is surrounded by a red box When pressing C s a second time during a search the next occurrence is being searched A beep indicates that no more occurrences were found in the document pressing C s will continue the search at the beginning of your document You may press backspace in order to undo key presses during a search Usually text is being searched for in a forward manner starting from the current cursor position You may also search back
63. ed for acceptation this default behaviour may be changed in Options gt Security Notice that the Guile Scheme command system shell command evaluates shell command as a shell command Finally you may directly include other documents inside a given document using M i i or Insert Link Include This allows you for instance to include the listing of a program in your text in such a way that your modifications in your program are automatically refelcted in your text 5 2 INSERTING IMAGES You can include images in the text using the menu Insert Image Currently TEXyAcs recognizes the ps eps tif pdf pdm gif ppm xpm and fig file formats Here gs i e ghostscript is used to render postscript images If ghostscript has not yet been installed on your system you can download this package from www cs wisc edu ghost index html Currently the other file formats are converted into postscript files using the scripts tiff2ps pdf2ps pnmtops giftopnm ppmtogif xpmtoppm If these scripts are not avail able on your system please contact your system administrator 23 24 LINKS AND AUTOMATICALLY GENERATED CONTENT By default images are displayed at their design size The following operations are sup ported on images e Clipping the images following a rectangle The lower left corner of the default image is taken as the origin for specifying a rectangle for clipping e Resizing an image When specifyi
64. ed once by TEXyacs in order to initialize your system with options options It communicates the routines exported by TRXyacg to your system in the form of TM The routine should return a status message like yourcas version successfully linked to TeXmacs If installation failed then you should return NULL and errors should contain an error message Both what and the returned string have a special format in which it is possible to encode arbitrary TEXuacs documents This format will be explained in the next section The routine evaluate is used to evaluate the expression what inside a TEX uAcs session with name session It should return the evaluation of what or NULL if an error occurred errors either contains one or more warning messages or an error message if the evalua tion failed The command package format yourcas input format output format P g y P P is used in order to specify the input and output formats for evaluations in a similar way as in the case of pipes The routine execute has a similar specification as evaluate except that it is not used for the evaluation of expressions inside a TEXyacs session but rather for other communication purposes between TEX yacs and your package REMARK D 1 All strings returned by the routines install evaluate and execute as well as all warning and error messages should be allocated using malloc They will be freed by TEXmacg using free The first version of the TEX Aog commun
65. eird style files and commands you should be able to convert your old documents reasonably well Otherwise we suggest to modify your old document in a way that is does convert reasonably well and to apply some final changes in the result 12 1 3 Conversion from TEX to TEXyAcs The current aim of the conversion program from LATEX to TEXuacs is to help you in trans lating old documents into TEXuacs Grosso modo conversions from LATEX to TEXyAcs are more problematic than conversions the other way around Nevertheless as long as you restrict yourself to using the most common I TEX commands you should be able to convert your old documents reasonably well For example all TEXmacs help files have been written in TAT X in order to validate the IATRX to TEXuacs conversion program 54 COMPATIBILITY WITH OTHER FORMATS You may convert a LATEX document name tex into TEXuacs using File Import Latex and save it under name tm If your I TEX document was written sufficiently well then the converted result should be more or less acceptable apart from certain unrecognized commands which appear in red A good solution would be to write your own style file for converted documents based on the original style and in which the unrecognized commands are defined However in certain less fortunate cases the converted document will look like a great mess This usually stems from the fact that TEX and IATFX allow users to modify the parser dynamical
66. ey For instance is obtained by typing A el Similarly we obtain a via A a and so on Long words at borders of successive lines are automatically hyphenated In order to hyphenate foreign languages correctly you should specify the language of the document in the menu Document gt Language At the left hand side of the footer you see the document style the text properties at the current cursor position Initially it displays text roman 12 which means that you type in text mode using a 12 point roman font and no document style You can change the text properties font font size color language in the Text menu You can also change the text properties of the text you have already typed by selecting a region and then change the text properties in the Text menu Some text properties can also be changed for all the document in the Document Font and Document Language menus At the right hand side of the footer the character or object like a change in the text properties just before the cursor is displayed We also display all environments which are active at the cursor position This information should help you to orient yourself in the document 2 2 TYPING STRUCTURED TEXT Usually long documents have a structure they are organized in chapters sections and subsections they contain different types of text such as regular text citations footnotes theorems etc After selecting
67. f a white space in the current font The default vertical cell padding is 1sep the standard minimal separation between two close boxes Cells may be given a background color via Table Cell background color The entire table may also be given a border and a table padding in Table Special table properties Border In this case the padding occurs outside the border 4 6 ADVANCED TABLE FEATURES In the menus you also find some other more special features for tables Very briefly these include the following e Change the span of a cell and let it run over its neighbouring cells on its right and below e Creation of entire subtables inside cells e Correction of the depth and height of text in order to let the baselines match e Horizontal hyphenation of cell contents and vertical hyphenation of the entire table e Gluing several rows and or columns together so that the glued cells become part of the borders of the remaining cells e Disactivation of the table in order to see its source code e Setting the extension center of a table From now on the formatting properties of this cell will be used for new cells created around this center e Specification of the minimal and maximum size of a table which will be respected during further editing this is mainly useful when creating table macros Currently all tables come inside an environment like tabular block matrix etc When creating your o
68. file can be inserted into another one using Insert gt Link gt Include In order to speed up the treatment of included documents they are being buffered In order to update all included documents you should use Tools Update gt Inclusions When writing a book one usually puts the individual chapters in files c1 tm c2 tm until cn tm One next creates one file book tm for the whole book in which the files c1 tm c2 tm until cn tm are included using the above mechanism The table of contents bibliography etc are usually put into book tm In order to see cross references to other chapters when editing a particular chapter ci tm one may specify book tm as a master file for the files c1 tm to cn tm using Document gt Master Attach Currently the chapter numbers themselves are not dealt with by this mechanism You may want to manually assign the environment variable chapternr at the start of each chapter file in order to get the numbering right when editing CHAPTER 6 EDITING TOOLS 6 1 CUT AND PASTE You can select text and formulas by maintaining the left mouse button In order to delete the selected region use Edit Cut In order to copy the selected region first click on Edit Copy Next paste it as many times as you want to the location of your cursor using Edit Paste Alternatively you may copy a selected region using the middle mouse button It is also possible to the change text properties of a sel
69. fixes are C x Control key based shortcuts are used for frequently used editing commands They depend very much on the look and feel in Edit Preferences For instance if you use an EMACS compatible look and feel then the shortcuts of the form C x correspond to EMACS commands like C y for pasting text A x The alternate key is used for commands which depend on the mode that you are in For instance A s produces strong text in text mode and a square root y in math mode Notice that escape escape is equivalent to A M x The meta key is used for general purpose TEXmacg commands which can be used in all modes For instance M produces a label It is also used for additional editing commands like A w for copying text if you use the EMACS look and feel Notice that is equivalent to L H x The user keyboard modifier key is used for producing special symbols like Greek characters in math mode You may configure your keyboard so as to let caps lock play the r le of the hyper key The F5 is equivalent to M We recall that the particular modifier keys which are used in order to obtain the M and H prefixes can be configured in Edit Preferences 2 8 2 Some fundamental keyboard shortcuts Some standard keyboard acti
70. handy keystrokes for producing special characters e I take care of the hyphenation and typographical issues but you test them e If you have enough time you may also consider the translation of part of the existing documentation Of course the support for languages get out of date each time that new features are added to TEXuacs For this reason we also maintain a file miss english yourlanguage dic with all missing translation for your language once that it has been added Please do not hesitate to send inclomplete versions of english yourlanguage dic or miss english yourlanguage dic someone else may be willing to complete them C 5 WRITING DATA CONVERTERS If you are familiar with TEX LATEX Html Xml Sgml Mathml Pdf Rtf or any other frequently used data format please consider contributing to writing good converters for one or more of these formats Writing a specific converter for Pdf should not be very difficult by adapting the file src Window PsDevice printer cc Converters for other formats may be more compli cated to write and might sometimes require a closer collaboration with the main TEXmacs authors In Help Source code Data format you will find details about the TEXuacs data format and in Help Source code Data conversion we give some suggestions which might be helpful for these projects C 6 PORTING TEXmacg TO OTHER PLATFORMS Having only access to PC Linux and SUN systems I am interested i
71. he chapter about the Guile Scheme extension language and you may add such support to the file yourcas scm We recommend you to take a look at some of the files in the directory TEXMACS_PATH progs cas in order to see how this is done for other systems Certain output from your system might require a special markup For instance assume that you want to associate an invisible type to each subexpression in the output Then you may create a macro exprtype with two arguments in yourcas ts and send L TEX expressions like exprtype i Integer to TEXmacs during the output In the case when you connected your system to TRXyacg using pipes you may directly execute TEXjAcs commands during the output from your system by incorporating pieces of code of the form DATA BEGIN command scheme program DATA END in your output Inversily when the cursor is inside a session of your system you may use the scheme command extern exec cas command in order to execute a command of your system D 8 LINKING YOUR SYSTEM AS A DYNAMIC LIBRARY Instead of connecting your system to TEXyacs using a pipe it is also possible to connect it as a dynamically linked library Although communication through pipes is usually easier to implement more robust and compatible with gradual output the second option is faster D 9 CONNECTIONS VIA DYNAMICALLY LINKED LIBRARIES Let us now describe the steps you have to go through in order to link your system as a dynamic l
72. hematics Equation In math mode you have specific commands and key combinations to type mathematical symbols and formulas For instance the recall that H is equivalent to H prefix can be used in order to enter Greek symbols F5 H escape escape escape A C or The editor favors typing mathematics with a certain meaning This feature which will be developed more in future releases is useful when communicating with a computer algebra package At this moment you should for instance explicitly type the multiplication between symbols a and b By default typing 3 1 ab will yield ab and not a b MAIN MATHEMATICAL CONSTRUCTS The main mathematical objects are created using the prefix as follows bAc Shortcut Purpose Example A Text L x x is sufficiently large A f Fractions 3 z A s Square roots y y A S n th Roots Az 4 y A n Negations Table 3 1 Creation of major mathematical markup Primes subscripts and superscripts are created as follows Shortcut Purpose Example gt Primes f or g h Back primes Y E Subscripts Ln OT Vig Superscripts z 2 or e A 1 _ Left subscripts o ETE Left superscripts x or zHe
73. hing special Just switch your keyboard to the Russian mode and go ahead All the software needed for this is included in modern Linux distributions and the xkb extension is enabled by default in XF86Config With the xkb extension keysyms are 2 byte and Russian letters are at 0x6 The keyboard is configured by setxkbmap When X starts it issues this command with the system wide Xkbmap file usually living in etc X11 xinit if it exists and then with the user s 7 Xkbmap if it exists A typical Xkbmap may look like ru basic grp shift toggle This means that the keyboard mode is toggled by 1 shift r shift Other popular choices are ctrl shift or ctrl alt see usr X11R6 1ib X11 xkb for more details This is the preferred keyboard setup for modern Linux systems if you plan to use Russian often In older Linux systems the xkb extension is often disabled Keysyms are 1 byte and are configured by xmodmap When X starts it issues this command with the system wide Xmodmap usually living in etc X11 xinit if it exists and then with the user s Xmodmap if it exists You can configure the mode toggling key combination and use a 1 byte Russian encoding such as koi8 r in the Russian mode It is easier to download the package xruskb and just run xrus jcuken koi8 at the beginning of your X session This sets the layout jcuken see below and the encoding koi8 r for your keyboard in the Russian mod
74. ibrary 1 Modify the architecture of your system in such a way that the main part of it can be linked as a shared library your binary should typically become a very small program which handles verbatim input and output and which is linked with your shared library at runtime 78 INTERFACING TEXmacs WITH OTHER PROGRAMS 2 Copy the include file TEXMACS_PATH include TeXmacs h into the include direc tory of your system s source and write the input output routines as required by the last TeXmacs communication protocol as explained below 3 Include a line of the form package declare yourcas libyourcas so get name package init in a file yourcas scm like in steps 2 3 and 4 above Here libyourcas so is the corresponding shared library get name package the function which will be called by TEXuacs in order to link your system to TEXyacs and init some initialization string for your package 4 Proceed in a similar way as in the case of pipes D 10 THE TEXMACS COMMUNICATION PROTOCOL The TeX uacs communication protocol is used for linking libraries dynamically to TEXmacs The file TEXMACS_PATH include TeXmacs h contains the declarations of all data struc tures and functions used by the protocol Actually we foresee a succession of different protocols Each of these protocols have the abstract data structures TeXmacs exports and package exports in common with information about the versions of the protocol TEXuacs an
75. ication protocol also requires TEXuacs to export an instance of the data structure typedef struct TeXmacs exports 1 1 char version protocol TeXmacs communication protocol 1 char version TeXmacs TeXmacs exports 1 The string version protocol contains the version TeXmacs communication protocol 1 of the protocol and version TeXmacs the current version of TeXmacs D 12 FUTURE PROJECTS There are many improvements to be made in the TEXyacs interface to computer algebra systems First of all the computer algebra sessions have to be improved better hyphen ation folding more dynamic subexpressions etc As to the real interface with computer algebra systems the upcoming changes fall into two categories e Changes to the existing interface e Support for communication between computer algebra systems An example of a change of the first type would be support for the automatic completion of commands The second project is far more ambitious and targets a semantically safe way to communicate mathematical data We plan to write a stand alone program for this which can be used independently from TEXyacs INDEX A modifier Equivalent for Modd 56 ADDE 9 ee p eer e 10 36 SDSLracb 22 229 kcG2 59 x br 45 46 ac rony 1 2 eee eee Rom Eas 10 36 address cnl a Gru E 45 address 1 2 RLARG EWr hes 46 address block 2 xo moe R 45 Algorithm ss 2 x ox o ewa da g Rs 28 algorithm suas dace Rx a 41 BU
76. ich are not referenced in the table of contents The section latex d t d also provides the following tags chapter Macro with two arguments a special type of chapter like Epilogue and the name of the chapter appendix A variant of chapter or section for producing appendices sectionsep A macro for customizing the separator between the number of a section and its title By default we use two spaces 10 5 MARKUP FOR AUTOMATIC NUMBERING 47 10 5 MARKUP FOR AUTOMATIC NUMBERING 10 5 1 Numbering environments The number env d t d provides low level tags for the numbering of standard environments One of the most important tags is init stdenv which is used for resetting all environment counters This is usually done at the start of each chapter or section or once for the entire document The d t d also exports the very low level tags newliststdenv newlistfigure and newliststdenv counter which control the numbering in collaboration with env manage The packages number us and number europe are provided for American style and Euro pean style numbering 10 5 2 Numbering sections The number section d t d provides low level tags for numbering sections It defines tags reset chapter reset section reset subsection and reset subsubsection for resetting the appropriate counters at each new chapter section subsection or subsub section It also defines a tag reset top for resetting all top level counters The d t d als
77. ier keys like shift and control on your keyboard However on many X Window systems these modifier keys are not well configured so that you may wish to redo this yourself More details can be found in the section about the configuration of TEXmacs 1 3 CREATING SAVING AND LOADING DOCUMENTS When launching TEXyacg without any command line options the editor automatically creates a new document for you You may also create a new document yourself using File New Newly created documents do not yet carry a name In order to give them a name you should click on File Save as We recommend you to give documents a name immediately after their creation this will avoid you to loose documents It is also recommended to specify the global settings for your document when necessary First of all you may specify a document style like article book or seminar using Document Style If you write documents in several languages then you may want to specify the language of your document using Document gt Language Similarly you may specify a paper type using Document gt Page gt Size After modifying your document you may save it using File gt Save Old documents can be retrieved using File Load Notice that you can edit several documents in the same window using TEXyaAcs you can switch between different buffers using Go 1 4 PRINTING DOCUMENTS You can print the current file using File Print gt Print
78. iles have been written with a lot of care by people who know a lot about typography and aesthetics To a document it is possible to associate one or several document styles which are either standard or user defined The main document style of a document is selected in the Document gt Style menu Extra styles can be added using Document Use package From the editor point of view each style corresponds to a ts file The files corresponding to each style are processed in as if they were usual documents but at the end the editor only keeps the final environment as the initial environment for the main document More precisely the style files are processed in order as well as there own styles in a recursive manner 9 2 THE STANDARD TEXuacs STYLES AND PACKAGES Currently the following standard document styles have been implemented e Book e Article e Letter e Seminar for transparencies Each of these styles export a certain number of standard functions and environments listed below All future standard document styles are expected to support at least the above commands and environments and we suggest users to write style files which do so too e Sectioning commands 32 9 3 DESIGNING YOUR OWN STYLE FILES 33 e Itemize and enumerate environments e Equation like environments e Theorem like environments e Programming environments We notice that the theorem like environments are not standard in IAT X which is a
79. ing a new section header title A tag with a title argument which is used at the specification of the document title header author A tag with an author argument which is used at the specification of the document author header primary A tag with a section name argument which is used at the start of each new primary section i e chapter for book style or section for article style header secondary A tag with a section name argument which is used at the start of each new secondary section i e section for book style or subsection for article style 10 3 2 Standard titles The header title d t d provides tags for title information The following high level tags can only be used when encapsulated inside a make title tag title Specify a title for the document author Specify one or several authors for the document address Specify the address of the author address block Specify an address of an author in case of multiple addresses title email Specify the email address of the author 46 SUMMARY OF THE PRINCIPAL TEXmacs TAGS title date Specify the creation date of the article The title and author use the header title and header author tags for specifying the running title and header You may override these by reusing header title resp header author The above tags also depend on the following low level tags for their physical layout title Macro with one argument which specifies the physical layout of ti
80. ing the editing process Examples of such dynamic objects are labels and references because the appearance of the reference depends on a dynamically determined number Many other examples of dynamic markup can be found in the documentation about writing style files When entering a dynamic object like a label using M the default state is inactive This inactive state enables you to type the information which is relevant to the dynamic object such as the name of the label in our case Certain dynamic objects take an arbitrary number of parameters and new ones can be inserted using tab 2 8 MASTERING THE KEYBOARD 15 When you finished typing the relevant information for your dynamic object you may type return in order to activate the object An active dynamic object may be deactivated by placing your cursor just behind the object and hitting backspace 2 8 6 Customization of the keyboard It is possible for the user to modify the keyboard behaviour In order to do so we sug gest first to look at the files in the directory TEXMACS PATH progs keyboard where the standard keyboard behaviour is defined Then you may redefine the keyboard behaviour in your private initialization file CHAPTER 3 MATHEMATICAL FORMULAS In order to type mathematical formulas you should first enter math mode by pressing the key or by inserting an equation using Insert Mat
81. irectly to the web It should also allow the automatic conversion of the documentation to other formats the compilation of books etc C 3 3 Conventions for the names of files Most documentation should be organized as a function of the topic in a directory tree The subdirectories of the top directory are the following devel Documentation for developers examples Examples of TEXyacs documents incoming Incoming documentation which is still a bit experimental main The main documentation meta How to write documentation and the compilation of documentation Please try to keep the number of entries per directory reasonably small File names in the main directory should be of the form type name language tm In the other directories they are of the form name Language tm Here type is a major indication for the type of documentation it should be one of the following adv Documentation for advanced users man For inclusion in the TEXyj4cs manual tut For inclusion in the TEXyacs tutorial You should try to keep the documentation on the same topic together regardless of the type Indeed this allows you to find more easily all existing documentation on a particular topic Also it may happen that you want to include some documentation which was initially meant for the tutorial in the manual The language in which is the documen tation has been written should be a two letter code like en fr etc The main name of your file should be th
82. it from http ww ma utexas edu users wfs maxima html The supported version is GCL based MAXIMA 5 6 For CLIisP based MAXIMA 5 6 edit your tm maxima and replace load by i For MAXIMA 5 9 pre replace load by p Known problems e If you press return when a statement is not complete typically terminated by or the interface will hang e If you cause the Lisp break prompt to appear the interface will hang e The command info is not supported it is defined in the underlying Lisp and difficult to support portably e Some commands in the debugger work but some including c don t work nobody knows why e The command load sometimes behaves mysteriously 8 2 6 Pari PARI is a software package for computer aided number theory It consists of a C library libpari with optional assembler cores for some popular architectures and of the pro grammable interactive gp calculator You can download PARI from ftp megrez math u bordeaux fr pub pari You will need a version newer than PARI 2 1 0 for use from inside TRXysacg for an already installed PARI system type gp version 8 2 7 Qcl QCL is a high level architecture independent programming language for quantum com puters with a syntax derived from classical procedural languages like C or PASCAL This allows for the complete implementation and simulation of quantum algorithms including classical components in one consistent formalism The TeEXuac
83. l paragraphs As a consequence badly structured documents may sometimes display differently in the new version although I only noticed one minor change in my own documents Further more in order to maintain the higher level of structure in the document the behaviour of the editor in relation to multiparagraph environments has slightly changed APPENDIX C CONTRIBUTING TO GNU TEXmacs C 1 USE TEXmacs One of the best ways to contribute to GNU TEX Xyacs is by using it a lot talk about it to friends and collegues and to report me about bugs or other unnatural behaviour Please mention the fact that you wrote articles using TEXyjacs when submitting them You can do this by putting the made by TeXmacs tag somewhere inside your title using Text Title TeXmacs notice Besides these general but very important ways to contribute your help on the more specific subjects below would be appreciated Don t hesitate to contact us if you want to contribute to these or any other issues In the Help menu you can find documentation about the source code of TEXyacs its document format how to write interfaces with other formats and so on C 2 MAKING DONATIONS TO THE TEX4jAcs PROJECT Making donations to TeXmacs through the SPI organization One very important way to support TREXyacg is by donating money to the project TEXuacs is currently one of the projets of SPI Software in the Public Interest see http www spi inc org You may make don
84. le Typically at the end of a meta help file you will find several branch or continue macros inside one traverse macro At the top of the document you should also specify a title for your document using the tmdoc title macro When generating a printed manual from the documentation a chapter section subsection structure will automatically be generated from this information and the document titles Alternatively one might automatically generate additional buttons for navigating inside the documentation using a browser C 3 6 Using the tmdoc style Besides the copyright information macros and traversal macros which have been docu mented before the tmdoc style comes with a certain number of other macros and functions which you should use whenever appropriate key This macro is used to indicate keyboard input like C x C s The specialized macros kbd gen kbd text kbd math kbd symb kbd big kbd large kbd ia kbd exec and kbd table are used for keyboard input corresponding to a specific type of action or mode For instance kbd math corresponds to keyboard shortcuts for mathematical operations such as A f which starts a fraction menu This function with an arbitrary number of arguments indicates a menu like File or Document Language Menu entries are automatically translated by this function C 3 CONTRIBUTE TO THE GNU TEXmacs DOCUMENTATION 69 markup This macro is used in order to indicate a macro or a
85. les of mathematical formulas equation A numbered equation equation An unnumbered equation eqnarray An array of numbered equations should not be used yet 10 2 STANDARD ENVIRONMENTS INSIDE TEXT 43 eqnarray An array of unnumbered equations Inside the eqnarray environment you can use the eqnumber tag in order to number the equation WARNING 10 2 The numbering of equations inside tables is not yet as it should be In particular the eqnarray tag is equivalent to eqnarray at the moment Later on when the eqnarray tag will be implemented correctly you will also have a nonumber tag in order to suppress the number of an equation and a style package for numbering equations at the left hand side WARNING 10 3 There is no option for numbering equations at the left hand side available yet Nevertheless you may use the manual tag leqnumber for this You also have a tag nextnumber which directly display the next number and increases the equation counter WARNING 10 4 We do not encourage the use of the AMS TpX environments align gather and split Nevertheless they are available under the names align gather eqs plit together with their variants align gather and eqsplit In the future we plan to provide more powerful environments 10 2 3 Theorem like environments The env theorem d t d provides tags for the layout of theorem like environments The most important tags are theorem A macro for displaying a theorem lik
86. lex documents often contain footnotes or floating objects which appear differently on pages as the main text In fact the content of such complex documents use several flows one for the main text one for the footnotes one for floats and still another one for two column text The different flows are broken across pages in a quite independent way In order to insert a footnote you may use Insert Page insertion Footnote The number of columns of the text may be changed in Paragraph gt Number of columns 7 2 FLOATING OBJECTS Floating objects are allowed to move on the page independently from the main text Usually they contain figures or tables which are too large to nicely fit into the main text A floating object may be inserted using Insert Page insertion Floating object You may also create a floating object and directly insert a figure or table inside it using Insert Page insertion Floating figure resp Insert Page insertion Floating table However sometimes you might want to insert several smaller figures or tables inside one floating object You may do this using Insert Image Small figure resp Insert gt Table gt Small table After creating a floating object you may control its position using Insert Position float when inside the float You may specify whether you allow the floating object to appear at the top of the page at the bottom directly in the text or on the next page By defa
87. llowing low level tags can be used for the definitions of high level figure and table environments like big figure small figure big table and small table small figure A macro for displaying a small figure The arguments are a short name like figure or table for the list of figures its real name like Figure 2 3 or Table 5 the figure itself and a caption big figure A variant of small figure for displaying a big figure The following tags can be used for customizing the appearance the text around figures tables and footnotes figurename A macro which controls the appearance of the text Figure By default we use bold face figuresep The separator between the figure and its number and the caption By default this is a period followed by a space footnotesep The separator between the number of the footnote and the text By default this is a period followed by a space 10 2 5 Default environments The env default d t d contains the default textual environments They are subdivided into the following groups Variants of theorems The bodies of theorem like environments are usually empha sized By default the following such environments are available via Text Environ ment theorem proposition lemma corollary axiom definition notation conjecture Variants of remarks The following ones are available via Text Environment remark example note warning convention Variants of exercise
88. lossary li3ne6 asoma ta i 41 Teemaeg iia as 52 52 CO e etu utes aep xtd dat By E 8 Switch header 2222s sgg REGE X XOx oe xs 45 Fold zu E eu 38 header author 45 46 46 Unfold 222m 38 header primary 45 Tables luz eta a Ss 20 44 82 INDEX Small table 28 paragraph 2 244 066 E EE ns 46 PGSM a a a cx a 39 Number of columns 28 TES ae o uv E A eet M 39 paragraphe uva ew ha ce Rs 46 TEMAS i os ak uec ede Re 39 69 DersOB on m os Dee bebe ded D 10 36 itemize arrow cc c soa ved aoche badi 39 phantom 220322 x 434 3 A o 38 38 itemize d t s coed bebo Lew x 39 Preferences qtemjize minusS lt s ag ae a ek 5X 4 o9 39 Printer s s 2 x zx peed a ee Ro Ros 8 KB u E 6x o DE EE Dea 10 37 DPoblem concu a A EE 11 44 kbsb3Br c cor e Xe X a de el i 68 program cado ks s SEC Es 41 41 KbH exeG iu luos e ER Sa axe Seng 68 jq pp EE 11 43 kb gen 22002233 mor E a evo 68 proof 2x94 a RUEDA 43 43 kbd d34 3 5o 4 ok Re 4E dex bx 68 proposition lt sc q q 4x34 33 11 44 kbd large cafos cda noeh pA AC 68 guotatroh ag bai oe a Bush s 11 37 kbd math 2 4 e s aps a ei a xs 68 68 quote uox sd ar a a 11 37 kbdssymbs ds ra a oR ed 68 be 3ndexS a A I a a 69 kbd table 12x dd ovs 68 Eeer 034 2405 Ll eee eS 11 44 EDASTSEL Gina aoe aM ad 68 POMAR cn Ge moror gh AS EI a D 43 Key Roche ds ee ende T 68 reset chapter s e box ai ec e Be 47 keywords A ee a Bias 45 EE a a ome 4T l n inp b e S
89. ly for instance using the catcode command In this case the conversion program may get confused by making erroneous assumptions on the mode or the envi ronment As a result text may be converted as mathematics mathematics as verbatim and so on Nevertheless the commands in your source file name tex which confused the conversion program are usually easily localized by comparing the LATEX source with its TEXuacs conversion Modulo some hacking of the source you should be able to remove the litigious code so that the document converts reasonably well In the future we also plan to extend the conversion program with a style file converter and some additional features which facilitate the translation of user defined commands which are defined in another document than the one you want to convert 12 2 CONVERSION OF TEXmacs DOCUMENTS TO HTML We have started to implemented the conversion between HTML and TRXyacg At this moment it is only possible to import HTML documents using File Import Html Most of HTML 2 0 and parts of HTML 3 0 are currently supported However no browsing facilities have been added yet In the future we plan to implement Math ML When importing HTML documents files whose names start with http or ftp will be downloaded from the web using wget If you compiled TEXyaAcs yourself then you can download wget from ftp ftp gnu org pub gnu wget In the binary distributions we have included wget APPENDIX A
90. maintains up the TEX cg Wiki Loic Dachary made TEXyjcg accessible on Savannah B 3 3 Porting TEXuacs to other platforms Marciano Siniscalchi ported TEXyacs to Cygwin Martin Costabel ported TEXyacs to MacOSX Bruno Haible helped with porting TEXyAcg to the SUN system Dan Martens and St phane Payrard are working on a Windows port B 3 4 Contributors to TEXmacs packages Ralf Treinen maintains the Debian package for TEXmacs Christophe Merlet and Bo Forslund helped with making a portable RPM package Lenny Cartier maintains the TEXyacs RPM for Mandrake Cooker Jean Pierre Demailly and Yves Potin made TEXyacs part of the CNDP project to support free software B 3 THE AUTHORS OF TEX Aca 61 B 3 5 Internationalization of TEXyAcs Czech David Rezac Dutch Joris van der Hoeven Finnish Teemu Ikonen French Mich le Garoche Joris van der Hoeven German Hans Dembinski Jan Ulrich Hasecke Joris van der Hoeven Thomas Langen Ralf Treinen Hungarian Andr s Kadinger Italian Xav and Daniele Pighin Polish Robert Janusz Portuguese M rcio Laurini and Alexandre Taschetto de Castro Romanian Dan Ignat Russian Andrey Grozin Spanish lvaro Cantero Tejero Pablo Ruiz M zquiz David Moriano Garcia Offray Vladimir Luna C rdenas Swedish Harald Ellmann Ukrainian Volodymyr Lisivka B 3 6 Other contributors Final thanks go to all others who have contributed to TEXyacs for instance by sending bug re
91. mputer algebra system for TeXmacs n cout lt lt This software comes with no warranty whatsoever n cout lt lt c 2001 by Joris van der Hoeven n cout lt lt Mn next input cout DATA END fflush stdout DA WRITING YOUR FIRST INTERFACE WITH T EXy Aca 75 while 1 char buffer 100 cin gt gt buffer if strcmp buffer quit 0 break cout lt lt DATA BEGIN lt lt verbatim cout lt lt You typed lt lt buffer lt lt An cout lt lt And now a LaTeX formula cout lt lt DATA BEGIN lt lt latex lt lt x 2 y 2 z 2 lt lt DATA END cout lt lt An cout lt lt And finally a fraction cout lt lt DATA BEGIN lt lt scheme lt lt frac a W bX lt lt DATA END cout lt lt n next_input cout lt lt DATA_END fflush stdout return 0 DA WRITING YOUR FIRST INTERFACE WITH TEXmacs In order to write your first interface to TEXmacg we recommend you to follow the following steps 1 Create a texmacs option for your program which will be used for calling your program from inside TEXyacs 2 Modify your output routines in a such a way that the appropriate output is send to TEXyAcs When your program is started with the texmacs option 3 Create a mycas script in your path which executes your program with the texmacs option After doing this your program
92. ms by A B C etc The following environments can be used for descriptive lists description The environment for default descriptive lists usually description com pact description compact Align the left hand sides of the items in the list and put their descriptions shortly behind it description dash Similar to description compact but use a to seperate each item from its description description align Align the left hand sides of the descriptions while aligning the items to the right description long Put the items and their descriptions on distinct lines New items in a list are indicated through the item tag or the unary item tag in the case of descriptions Developers will also find a few additional but unstable macros in std list for defining additional list structures 40 SUMMARY OF THE PRINCIPAL TEX Acs TAGS 10 1 5 Automatic content generation The std automatic d t d specifies for the automatic generation of auxiliary content like tables of contents and bibliographies as well as for the presentation of such auxiliary content The following tags are used for bibliographies cite A function with an arbitrary number of arguments Each argument is a citation corresponding to an item in a BiB TEX file The citations are displayed in the same way as they are referenced in the bibliography and they also provide hyperlinks to the correspoding references The citations are displayed as question marks if you did not
93. ms which are currently being used are proprietary The main reason for this is that mathematicians often do not consider programming as a full scientific activity Consequently the development of useful software is delegated to engineers and the resulting programs are used as black boxes This subdivision of scientific activity is very artificial it is often very important from a scientific point of view to know what there is in the black box Inversely deep scientific understanding usually leads to the production of better software Consequently I think that scientists should advocate the development of software as a full scientific activity comparable to writing articles Then it is clear too that such software should be diffused in a way which is compatible with the requirements of science public availability repro ducibility and free usability B 3 THE AUTHORS OF TEXwuacs The GNU TRXyacg system which is part of the GNU project was designed and written by Joris van der Hoeven The system was inspired both by the TEX system written by D Knuth and by EMACS written by R Stallman Special thanks goes to them as well as to the C N R S the French national institute for scientific research which employs me and authorized me to freely distribute this program Further thanks go to the contributors below B 3 1 Developers of TEXuacs e Andrey Grozin has constantly helped us with many issues interfaces to several computer alg
94. msep o o 44 44 Special cell properties theprefiX 24 ga 440 G4 EE A 4T Distribute unused space 21 thesectioB vo 47 Special table properties 21 thesubsection 47 Bord t s a 2x parune depui 22 thesubsubsection AT Extract format 22 OGLE give Ak grate Sop a o is ey EUE 45 46 Vertical cell alignment 21 ea ad ed Res ald Ef eg menos 46 Vertical table alignment 21 title date 0 4 0 46 5 8 asa type ees 46 tabular 2 520620 EE 22 EE GA SEENEN 46 e SEENEN 37 tibtle em il os sca sos poredi e a baoa 45 MOR soa ape E A E EHE 37 title email EE EE ee e 46 TeXmaes 2445 yu ad A 37 tm fragment s a poe g s sae hop SG 69 TexE esoe geen aa a a OY xxx 9 9 tmdoG momia rc a xen 66 68 68 69 Color tmdoc copyright Licda 68 FREQ e a aN ee aM meds 26 tmdoc license 54 be ee casa 68 Content tag o o 36 tmdoc tiles a 24x e 68 Abbreviation 36 nette ou E Le eb bad eae 69 trop ges dO kw a b ded 36 fupackage Ee o8 A ees 69 a c r 36 tmstyle s orad pes he xor reb o4 3o 1 339 9 33 69 Code 4 mex a Soka Du dex 37 toesdobSe d eas ee A a qw 40 Definition 36 toe main 1 2 25 23 Ee EE L 40 Emphasize ln 36 t main 2 23 o oko Ow SASS 3 40 Keyboard llle 37 toc normal l 2 24658 2 ee bid x 40 Name suizas ata Ga ESSO 36 L KEEN 40 40 Person sod e 4 ad 36 toc normal 3 sc e 542 9299 40 40
95. n people who want to port TEXuacs to other Unix systems with X Window and to maintain the corresponding distributions If you want to do this you should take a look at the files C 8 BECOME A TEXyAcs DEVELOPER 71 configure in src Basic fast_alloc cc Specialists on autoconf redhat and rpm packages are also welcome to communicate their suggestions patches etc Besides porting TEXmacg to other Unix based systems it would be nice to port TRXyacs to Windows and Mac OS Please join the texmacs dev gnu org mailing list if you want to help Discussions have been going on about how to do the porting and in particular about which portable graphical user interface like Gtk Qt Wxwindows or GNUstep we should use Our strategy will be to first put all GUI dependent code in a cleanly specified TMGUI API and then do the actual porting In fact this will allow us to support multiple graphical toolkits More details can be found in the archives of the texmacs dev gnu org mailing list C 7 INTERFACING TEXmacs WITH OTHER SYSTEMS It is quite easy to write interfaces between TRXy acg and computer algebra systems or other scientific programs with structured output Please consider writing interfaces between TEXuacs and your favorite system s TEXuacs has already been interfaced with several other free systems like Giac Macaulay 2 Maxima GNU Octave Pari Qcl gTybalt Yacas Detailed documentation on how to add new interfaces is available in the
96. n the French guillemets In Spanish the opening exclamation and question marks are obtained by typing x ori resp or H 2 8 4 Hybrid commands and IATRX simulation TEXuacs allows you to enter LATEX commands directly from the keyboard as follows You first hit the A key in order to enter the hybrid IATEX TEXuacs command mode Next you type the command you wish to execute As soon as you finished typing your command the left footer displays something like return action to be undertaken When you hit the return key at this stage your command will be executed For instance in math mode you may create a fraction by typing 1 f r a c return If the command you have typed is not a recognized IATEX command then we first look whether the command is an existing TRXy cg macro function or environment provided by the style file If so the corresponding macro expansion function application or envi ronment application is created with the right number of arguments Otherwise it is assumed that your command corresponds to an environment variable and we ask for its value The key is always equivalent to one of the commands M i 1 M i ej M i a H H H M i or M iv 2 8 5 Dynamic objects Certain more complex objects can have several states dur
97. nds to the menu entry Text Content tag Variable math This is a tag which will be used in the future for mathematics inside regular text Example the formula sin x cos x 1 is well known op This is a tag which can be used inside mathematics for specifying that an operator should be considered on itself without any arguments Example the operation is a function from IR to IR This tag may become depreciated tt This isa physical tag for typewriter phase It is used for compatability with HTML but we do not recommend its use The following are standard environments verbatim Described above code Similar to codex but for pieces of code of several lines quote Environment for short one paragraph quotations quotation Environment for long multi paragraph quotations verse Environment for poetry center This is a physical tag for centering one or several lines of text It is used for compatability with HTML but we do not recommend its use Some standard tabular environments are tabular Centered tables block Left aligned tables with a border of standard 11n width block Centered tables with a border of standard 11n width The following miscellaneous tags don t take arguments TeXmacs The TEXmacs logo TeX The TEX logo LaTeX The I TEX logo 38 SUMMARY OF THE PRINCIPAL TEX Acs TAGS hflush Used by developers for flushing to the right in the definition of environments hrule A horizontal rule like the one
98. ng a new width but no height at the prompt or vice versa the image is resized so as to preserve the aspect ration e Magnifying the image An alternative way to resize an image by multiplying the width and the height by a constant We also included a script to convert pictures with optional IAT X formulas in it into encapsulated postscript In order to include a IATFX formula in an xfig picture we recall you should enter the formula as text while selecting a IAT X font and setting the special flag in the text flags 5 3 GENERATING A TABLE OF CONTENTS It is very easy to generate a table of contents for your document Just put your cursor at the place where you want your table of contents and click on Insert Automatic Table of contents In order to generate the table of contents you should be in a mode where page breaks are visible select paper in Document Page gt Type so that the appropriate references to page numbers can be computed Next use Document Update Table of contents or Document gt Update gt All to generate the table of contents You may have to do this several times until the document does not change anymore Indeed the page numbers may change as a result of modifications in the table of contents 5 4 COMPILING A BIBLIOGRAPHY At the moment TEXmacs uses bibtex to compile bibliographies The mechanism to auto matically compile a bibliography is the following e Write a bib file with
99. nts of symbols tab is the main key for obtaining variants For instance gt yields gt but gt tab yields gt Similarly lt tab yields lt lt tab yields lt and lt tab tab yields lt Also P tab yields o and e tab yields the constant e exp 1 You may cycle back using S tab is used for putting symbols into circles or boxes For instance yields and x yields amp Similarly tab yields is used for negations For instance yields and lt yields Notice that lt tab tab yields while lt tab tab tab yields For instance SAR x is used after arrows in order to force scripts to be placed above or below the arrow yields gt but x yields gt Several other symbols which cannot be entered naturally in the above way are obtained using the S F5 prefix Here follows a short table of such symbols Shortcut Symbol Shortcut Symbol S F5 a II S F5 n N S F5 u U S F5 v V S F5 w A Table 3 3 Some symbols which cannot be obtained using general rules in a natural way 3 3
100. o a screenshot The actual screenshots are stored in a central direc tory like TEXMACS PATH doc images screenshots scheme The SCHEME language framed fragment For displaying a piece of code in a nice frame scheme code For multi paragraph SCHEME code tm fragment For a piece of TEXyacs markup code in SCHEME format descriptive table For descriptive tables such tables can be used to document lists of keyboard shortcuts different types of markup etc The tmdoc style inherits from the generic style and you should use macros like em ver batim itemize etc from this style whenever appropriate 70 CONTRIBUTING TO GNU TEXuacs C 4 INTERNATIONALIZATION The support of a maximal number of foreign languages is another major challenge in which your help would be appreciated Making the translations to support a new language usually requires several days of work We therefore recommend you to find some friends or collegues who are willing to help you The procedure for adding a new language is as follows e You copy the file english new scm to english yourlanguage dic in langs natural dic and fill out the corresponding translations You may want to use Andrey Grozin s dictionary tool at http www texmacs org Data dictool py gz In order to use it may sure that Python is installed on your system download the file gunzip it make it executable and run it e You tell me about any special typographical rules in your language and
101. o defines the tags thechapter thesection thesubsection and thesubsub section for printing the name of the current chapter section subsection or subsubsection It finally provides the tag theprefix which yields the prefix when numbering environments equations theorems tables etc CHAPTER 11 CUSTOMIZING TEXmacs One major feature of TEXmacs is that it can be highly customized First of all the most important aspects of the program can be configured in Edit Preferences Most other parts of TEXuacs can be entirely adapted or reprogrammed using the GUILE SCHEME extension language In the sequel we give a short overview of how this works in simple cases 11 1 INTRODUCTION TO THE GUILE EXTENSION LANGUAGE Like Emacs TRXyjacg comes with a LispP like extension language namely the GUILE SCHEME dialect from the GNOME project For documentation about GUILE SCHEME we refer to http www gnu org software guile guile html SCHEME has the advantage that it may be extended with extern C and C types and routines In our case we have extended SCHEME with routines which you can use to create your own menus and key combinations and even to write your own extensions to TEXmacs If you have downloaded the source files of TEXmacs then it may be interesting for you to take a look at the files Guile Glue build glue basic scm Guile Glue build glue editor scm Guile Glue build glue server scm These three glue files contain the C ro
102. o write your own style files Designing your own style file from scratch may be a complex task For this reason the TEXyacs style files have been subdivided in smaller packages in order to facilitate the reuse of certain parts The design policy also allows you to redefine many macros a posteriori which allows you to customize the existing style files in an easy way CHAPTER 10 SUMMARY OF THE PRINCIPAL TFXmacs TAGS 10 1 THE COMMON BASE FOR MOST STYLES The common base d t d contains the markup which is common to virtually all styles It is subdivided into the following parts 10 1 1 Standard markup Various standard markup is defined in std markup The following textual content tags all take one argument Most can be found in the Text Content tag menu strong Indicates an important region of text You can enter this tag via Text gt Content tag Strong em Emphasizes a region of text like in the real thing This tag corresponds to the menu entry Text Content tag gt Emphasize dfn For definitions like a gnu is a horny beast This tag corresponds to Text gt Content tag Definition samp A sequence of literal characters like the ae ligature You can get this tag via Text Content tag gt Sample name The name of a particular thing or concept like the LINUX system This tag is obtained using Text Content tag Name person The name of a person like JoRIS This tag corresponds to Text Con
103. ons which are valid in all modes are S return always starts a new paragraph C backspace remove an object or environment A space insert a small space A S space insert a small negative space A A home manually set start of the selection A A end manually set end of the selection M go to the start of the document M gt go to the end of the document 14 WRITING SIMPLE DOCUMENTS 2 8 3 Keyboard shortcuts for text mode The main keyboard actions available in text mode are in order to enter math mode and the following shorthands to create accented characters Shortcut Example Shortcut Example A Acute A el A Grave A e A Hat A e A Umlaut A e A Tilde A a a A C Cedilla A Cc Qc A U Breve A U gl 8 A V Check A V s 8 A 0 Above ring A O a A Above dot A z z A H Hungarian A H o 6 Table 2 2 Typing accented characters with TEX Acs The special characters SS oe E and are obtained by typing S F5 s S F5 S S F5 o e S F5 A E S F5 a resp S F5 Al In French you may also use the special keybindings lt and gt gt in order to obtai
104. ore intelligible translation 12 1 2 2 Not yet implemented conversions Although we try to keep the conversion algorithm as complete as possible for your needs certain things have not yet been implemented Some examples of not yet implemented issues are e Non standard fonts e Conversion of tabulars e Style parameters Any suggestion about desirable extensions of the conversion algorithm should be reported to contactOtexmacs org and we will try to incorporate it as quickly as possible It may take some time to implement the correct conversion of style parameters since these are not the same in TREXyaqg and I TEX Furthermore layout differences between TEXjAcs and IAT X can not entirely be eliminated 12 1 2 3 Bugs in the conversion algorithm The most annoying situation if when a converted TEXyjAcs document produces lots of errors at the compilation or if the result has nothing to do with the original In that case you have probably detected a bug in the conversion algorithm or in the installation of TAT X on your system Please try to figure out the source of the bug in this case and report it by sending an email to TeXmacs math u psud fr 12 1 2 4 Work arounds TEXuacs has not been designed to be fully compatible with IA T X As to the conversion from TAT X to TEXuacs our main aim is to help you in converting old documents to TEXuacs As long as you did not define weird environments and as long as you did not use w
105. out of the powerful set of keyboard shortcuts which is provided by TEXuacs Notice that the TEXmacs menus and keyboard behavior are contextual i e they depend on the current mode i e text mode or math mode the current language and the position of the cursor inside your document For instance inside math mode you have special keyboard shortcuts which are handy for typing mathematical formulas but which are useless in text mode escape escape escape or A C instead of H For instance 1 2 CONFIGURING TEXuacs When starting TEXyuacs for the first time the program automatically configures itself in a way which it thinks to be most suitable for you For instance TRXyacg will attempt to determine your systems settings for the language and the paper type of your printer However the automatic configuration may sometimes fail or you may want to use an alternative configuration In that case you should go to the Edit Preferences menu and specify your preferences 8 GETTING STARTED In particular we recommend you to configure the desired look and feel of TEXmacs By default we use the Emacs look and feel which ensures a limited compatibility of the TEXuacs keyboard shortcuts with those of EMACS Also TEXyAcs comes with a powerful keyboard shortcut system which attempts to optimize the use of the modif
106. ports or by giving suggestions for future releases Alexandre Abbes Alessio Abogani Till Adam Murali Agastya Guillaume All gre Larry D Anna Eizo Akiyama Doublet Alban Tom Alsberg James Amundson Ayal Anis Javier Arantegui Jimenez Andr Arnold Uwe Assmann Philippe Audebaud Daniel Augot Olaf Bachmann Franky Backeljauw Nick Bailey Pierre Barbier de Reuille Giovanni Maniscalco Basile Luc B har Odile B nassy Paul Benham Roy C Bentley Attila Bergou Christophe Bernard Konrad Bern loehr Karl Berry Matthias Berth C dric Bertolini Matthew Bettencourt Anne Laure Biolley Benedikt Birkenbach Jim Blandy Christof Boeckler Mohsen Bouaissa Thierry Bouche Adrien Bourdet Didier Bretin Jean Yves Briend Simon Britnell Alexander M Budge Yoel Callev Niclas Carlsson Dominique Caron Ant nio Carvalho Michel Castagner Topher Cawlfield Carlo Cecati Henri Cohen Teddy Fen Chong Dominique Colnet Claire M Connelly Christoph Conrad Riccardo Corradini Paulo Correia Olivier Cortes Robert J Cristel Maxime Curioni Jason Dagit Mike Davidson Jean Pierre Demailly Peter Denisevich Alban Doublet Steingrim Dovland Michael John Downes Benjamin Drieu Amit Dubey Daniel Duparc Tim Ebringer Magnus Ekdahl Ulf Ekstr m Robin Fairbairns Tony Falcone Hilaire Fernandes Juan Flynn Jens Finke Thomas Fis chbacher Cedric Foellmi Christian Forster Charlie Fortner Stefan Freinatis Michael P Friedlander Nils Frohberg Rudi G
107. redirected to the package which implements the programming languages and the session name is passed as an extra argument It is possible to redefine the screen layout of sessions as follows For each session in pro gramming language p you then have to modify the environments input p and output p which respectively correspond to the layout of the input and the output The first argument to input p is the prompt for the input 29 30 Usina GNU TEXuacs AS AN INTERFACE It is possible to give sessions a name the default name being default by clicking on Insert Session Other one both has to enter a session type and a session name Different sessions which have the same type and the same name share correspond to one instance of the application being executed Consequently such sessions share a common environment By using different session names one may concurrently launch several instances of the same application 8 2 SUPPORTED SYSTEMS When taking a look at the Insert Session menu only those systems which are actually installed on your system will show up The only exceptions are shell sessions and scheme sessions which are always available Below you find a short list of free computer algebra systems which have been interfaced with TRXyacg There also exist interfaces with several proprietary interfaces but you should look at the documentation of those systems for more information 8 2 1
108. rnal to which you submit uses its own style file say journal sty In that case you should also copy the file TEXMACS PATH styles article ts to TeXmacs styles journal ts and use journal as your document style in Document gt Style Other You may option ally edit journal ts so that the article layout becomes closer to the journal s style In some cases you also have to create a new copy of TeXmacs sty and modify some of the environments for compatibility with the journal s style file journal sty If your first try to convert your document into TAT X did not yield a satisfactory result then you will usually observe that only minor parts of the texts were not converted cor rectly This may be due to three main reasons e Your text uses some specific TEXyacs features 51 52 COMPATIBILITY WITH OTHER FORMATS e You used a TEXyacs feature which has not yet been implemented in the conversion algorithm e You found a bug in the conversion algorithm These issues will be discussed in more detail in the next section In case of problems a naive strategy would be to correct the produced I TpEX file and to send it to the journal However this strategy has the disadvantage that you have to make these corrections over and over again each time that you convert your TEXuacs file name tm after having made some extra modifications A better strategy is to use the Insert gt Specific gt Latex and Insert gt Specific
109. s Two such environments are provided by default and available via Text gt Environment exercise and problem Variants of figures These environments always come by pairs big and small ones By default we provide big figure small figure big table and small table You can access them through Insert Image and Insert gt Table 10 3 HEADERS AND FOOTERS 45 Other useful environments We provide keywords and AMS class for the A M S subject classification These environments should be entered at the interior of an abstract 10 3 HEADERS AND FOOTERS 10 3 1 Standard headers The header d t d provides tags for customizing the headers and footers The customization is based on the idea that we may specify a page text for every page This page text can for instance be a running title or the name of the current section The page text may depend on the parity of a page and appear in a different way for special pages like starts of new chapters The following tags control the physical layout of different types of pages start page This tag with the page text as its only argument specifies the layout of the first page of a new chapter or section odd page text Similar to start page but for the layout of ordinary odd pages even page text Similar to start page but for the layout of ordinary even pages The following tags control the logical header related actions to be undertaken when spec ifying a title an author or when start
110. s interface is mainly useful for displaying quantum states in a readable way For more information see http tph tuwien ac at oemer qcl html Starting from 1 0 0 8 TEXmacs supports QCL 0 4 3 or newer Users of older versions should upgrade 8 2 8 Yacas YACAS is as it s name suggest yet another computer algebra system Things implemented include arbitrary precision rational numeric vector complex and matrix computations including inverses and determinants and solving matrix equations derivatives solving Taylor series numerical solving Newtons method and a lot more non mathematical algorithms The language natively supports variables and user defined functions There is basic support for univariate polynomials integrating functions and tensor calculations You can get YACAS at http www xs4all nl apinkus yacas html CHAPTER 9 TEXmacs STYLE FILES 9 1 TEXuacs STYLE FILES One of the fundamental strengths of TEXmacs is the possibility to write your own style files and packages The purpose of style files is multiple e They allow the abstraction of repetitive elements in texts like sections theorems enumerations etc e They form a mechanism which allow you to structure your text For instance you may indicate that a given portion of your text is an abbreviation a quotation or important e Standard document styles enable you to write professionally looking documents because the corresponding style f
111. s is based These files respectively contain basic itemize like theorem like and programming environments 9 3 2 Keyboard shortcuts for writing style files 9 3 2 1 Macros functions and environment variables The main key combinations that you should know to write style files are the following M creates a new assignment The first argument is a new command name and the second argument an expression M w permits to locally change one or more environment variables With statements are of the form x1 a1 x an b where the x are the names of the variables the aj their local values and b the text on which the local environment applies M m creates a macro Arguments to the macro can be inserted using the tab key 34 TEXmacs STYLE FILES M i get the value of a macro argument M i v get the value of an environment variable M i e expands the macro with zero or more arguments M i a applies a function to zero or more arguments More precisely when evaluating a macro expansion a zi r E created by following action is undertaken M f creates a function Arguments to the macro can be inserted using the tab Fkey the e If ais not a string nor a macro then a is evaluated once This results either in a macro name or a Macro expression f e If we obtain a macro name then we replace f
112. s on your keyboard which correspond to alter meta and hyper but not in the way you want This can be done by remapping the A M and H prefixes to other logical modifiers in the first group of submenus of Edit Preferences gt Keyboard For instance for Emacs compatability you might want to permute the meta or windows key with alter without making any system wide changes This can be done by finding out which modifiers correspond to these keys usually this will be Modi for alter and Mod4 for meta or windows We next perform the necessary permutation in Edit Preferences gt Keyboard by selecting A modifier Equivalent for Mod4 and M modifier Equivalent for Modi A 2 NOTES FOR RUSSIAN AND UKRANIAN USERS In order to type Russian and similarly for Ukranian text you may several options e Select Russian as your default language in Edit Preferences Language Russian If TE Xuacs starts with Russian menus then this is done automatically if the Russian locale is set e Select Russian for an entire document using Document gt Language Russian e Select Russian for a portion of text in another document using Format Language gt Russian If your X server uses the xkb extension and is instructed to switch between the Latin and Russian keyboard modes you need not do anyt
113. sion menu A session consists of a sequence of input and output environments and possible text between them When pressing return inside an input environment of a session the text inside the environment is evaluated and the result is displayed in an output environment When entering a command in a session the application attempts to execute it Several commands may be launched concurrently in the same document but the output will only be active in the session where the cursor is and at the place of the cursor Therefore we recommend to use different buffers for parallel executions Executions may be interrupted from the iconbar it is also possible to disconnect close the application in that case no further commands can be executed in the corresponding session In the second iconbar you also have a few buttons for selecting mathematical input and interrupting execution When implemented for the given system mathematical input allows you to type the input in a graphical two dimensional form The other two but tons allow you to interrupt execution of a particular command although this does not work well for certain systems or to disconnect the extern system When pressing return in the input of a non connected system the system will be restarted automatically 8 1 2 Customizing the session styles Each session environment takes two arguments the programming language and a name for the session All input to be evaluated is
114. surer is important You may also want to contact the TeXmacs team in order to make sure that the money arrived on the TeXmacs account Note The SPI address and account numbers may change from time to time Please do not copy the address and account numbers but rather point to the page http www spi inc org donations to ensure that donors will always see the most current information Donations in Europe can be done through our partner in Germany ffis e V If you are interested in using their bank account to save international money transfer costs please check the instructions on http www ffis de Verein spi en html C 3 CONTRIBUTE TO THE GNU TEXmacs DOCUMENTATION There is a high need for good documentation on TEXyacs as well as people who are willing to translate the existing documentation into other languages The aim of this site is to provide high quality documentation Therefore you should carefully read the guide lines on how to write such documentation C 3 1 Introduction on how to contribute High quality documentation is both a matter of content and structure The content itself has to be as pedagogic as possible for the targeted group of readers In order to achieve this you should not hesitate to provide enough examples and illustrative screen shots whenever adequate Although the documentation is not necessarily meant to be complete we do aim at providing relatively stable documentation In particular you should have ch
115. t DATA BEGIN lt lt verbatim cout lt lt You typed lt lt buffer lt lt An Inside such a block you may recursively send other blocks which may be specified in defferent formats For instance the following code will send a IAT X formula cout lt lt And now a LaTeX formula cout lt lt DATA BEGIN lt lt latex lt lt x 2 y 2 z 2 lt lt DATA END cout lt lt An For certain purposes it may be useful to directly send output in TEXyacs format using a SCHEME representation cout lt lt And finally a fraction cout lt lt DATA BEGIN lt lt scheme lt lt frac a b lt lt DATA END cout lt lt n In order to finish we should again output the matching DATA_END and flush the standard output next_input cout lt lt DATA_END fflush stdout return 0 d Notice that you should never output more than one DATA BEGIN DATA END block As soon as the first DATA BEGIN DATA END block has been received by TEXy1acs it is assumed that your system is waiting for input If you want to send several DATA_BEGIN DATA_END blocks then they should be enclosed in one main block A special channel is used in order to send the input prompt Channels are specified as special DATA_BEGIN DATA_END blocks static int counter 0 void next input O counter tt cout lt lt DATA BEGIN lt lt channel prompt lt lt DATA END cout lt lt Input lt
116. t mode The width of the cell will be precisely the specified one Maximum mode The actual width of the cell will be the maximum of the specified width and the width of the box inside the cell The border width and the cell padding to be explained below are taken into account in the size of the box inside the cell You may also specify the width and the height of the entire table in Table Special table properties In particular you may specify the table to run over the entire width of a paragraph When specifying a width or height for the entire table you may specify how the unused space is distributed over the cells using Table gt Special cell properties Distribute unused space By default the unused space is equally distributed 4 5 BORDERS PADDING AND BACKGROUND COLOR You may specify the border widths and padding spaces of a cell in all possible four direc tions on the left on the right at the bottom and at the top see Table Cell border You have keyboard shorthands of the forms M t b x and M t p z in order to specify border widths and cell padding 22 TABULAR MATERIAL The default border width for cells in the block environment is 11n i e the standard line width in the current font like the width of a fraction bar This width occurs at the right and the bottom of each cell except when the cell is on the first row or column The default horizontal cell padding is 1spc the width o
117. t the end of this process it should be easy to adapt existing IATpX style files for journals to TEXuacs by customizing these standard style files and packages As soon as we have time we plan to provide online documentation on how to do this at Help gt Online documentation B 4 4 Tabular material 0 3 5 The way tabular material is treated has completely changed It has become much easier to edit tables matrices equation arrays etc Also many new features have been implemented such as background color border padding hyphenation subtables etc However the upgrading of old tabular material might sometimes be erroneous in which case we invite you to submit a bug report B 4 5 Document format 0 3 4 The TeXmacs document format has profoundly changed in order to make TeXmacs com patible with XML in the future Most importantly the old style environments like lt assign env lt environment open close gt gt which are applied via matching pairs lt begin env gt text lt end env gt have been replaced by macros lt assign env lt macro body open lt body gt close gt gt which are applied via single macro expansions lt expand env text gt Similarly matching pairs set var val gt text lt reset var gt of environment variable changes are replaced by a lt with var val text gt construct close to XML attributes From a technical point of view these changes lead to several complications if the text body consists of severa
118. tal and vertical spaces between words and lines instead additional space should be inserted explicitly using Insert Space This will make your text more robust in the sense that you will not have to reconsider the layout when performing some minor changes which affect line or page breaking or major changes such as changing the document style Several types of explicit spacing commands have been implemented First of all you can insert rigid spaces of given widths and heights Horizontal spaces do not have a height and are either stretchable or not The length of a stretchable spaces depends on the way a paragraph is hyphenated Furthermore it is possible to insert tabular spaces Vertical spaces may be inserted either at the start or the end of a paragraph the additional vertical space between two paragraphs is the maximum of the vertical space after the first one and the vertical space before the second one contrary to TEX this prevents from superfluous space between two consecutive theorems As to the paragraph layout the user may specify the paragraph style justified left ragged centered or right ragged the paragraph margins and the left resp right indentation of the first resp last line of a paragraph The user also controls the spaces between paragraphs and successive lines in paragraphs You can specify the page layout in the Document Page menu First of all you can specify the way pages are displayed on the screen
119. tent tag Person cite A bibliographic citation like a book or magazine Example Melville s Moby Dick This tag which is obtained using Text Content tag gt Cite should not be confused with cite The latter tag is also used for citations but where the argument refers to an entry in a database with bibliographic references abbr An abbreviation Example I work at the C N R S An abbreviation is created using Text Content tag gt Abbreviation or the A a keyboard shortcut acronym An acronym is an abbreviation formed from the first letter of each word in a name or a phrase such as HTML or IBM In particular the letters are not separated by dots You may enter an acronym using Text Content tag gt Acronym 36 10 1 THE COMMON BASE FOR MOST STYLES 37 verbatim Verbatim text like output from a computer program Example the program said hello You may enter verbatim text via Text Content tag Verbatim The tag may also be used as an environment for multi paragraph text kbd Text which should be entered on a keyboard Example please type return This tag corresponds to the menu entry Text Content tag Keyboard code Code of a computer program like in cout lt lt 1 1 yields 2 This is entered using Text Content tag gt Code For longer pieces of code you should use the code environment var Variables in a computer program like in cp src file dest file This tag cor respo
120. tles author Macro with one argument which specifies the physical layout of authors address Macro with one argument which specifies the physical layout of addresses title email Macro with one argument which specifies the physical layout of email addresses title date Macro with one argument which specifies the physical layout of creation dates The header title d t d also defines the abstract tag for abstracts of documents 10 4 ATX STYLE SECTIONS The section latex d t d provides the standard tags for sections which are the same as in TAT X Most sectional tags take only one argument the name of the section In the future we plan to provide alternative tags with two arguments which will allow you to see the body of a section as part of the structure The following tags usually yield numbered sections which are referenced in the table of contents chapter Macro for producing a potentially numbered chapter title section Macro for producing a potentially numbered section title subsection Macro for producing a potentially numbered subsection title subsubsection Macro for producing a potentially numbered subsubsection title paragraph Macro for producing a potentially numbered paragraph title subparagraph Macro for producing a potentially numbered subparagraph title The tags chapter section subsection subsubsection paragraph and subpara graph can be used for producing the unnumbered variants of the above tags wh
121. to do anything A possible exception is when you want to use a simple key like caps lock for typing mathematical symbols In that case you should map caps lock to hyper In order to reconfigure the keyboard you simply select the logicial modifier that you want to correspond to a given physical key in Edit Preferences Keyboard For instance selecting Windows key Map to M modifier the windows key will correspond to the meta modifier Similarly when selecting Caps lock key Map to H modifier the caps lock key will correspond to the hyper modifier Unfortunately X Window only allows system wide reconfiguration Consequently if you reconfigure the caps lock key inside TEXmacs then the new behaviour of caps lock will affect all other applications too It is therefore important to reconfigure only those keys which you do not use for something else in other applications For instance the windows key is not used by many applications so it generally does not do any harm to reconfigure it You may also prefer to perform an appropriate system wide configuration This can be done using the xmodmap command see the corresponding manual page for more information Ct Ct 56 CONFIGURATION OF TEXmAcs In certain cases you already have key
122. ts the misspelled word and all its future occurrences in the text r Replace the misspelled word by a correction you have to enter i Indicate that the misspelled word is actually correct and that it has to be inserted in your personal dictionary 1 9 Several suggested corrections for your misspelled word Notice that ispell just checks for misspelled words No grammatical faults will be detected When starting the spell checker it will use the dictionary of the language which is active at the current cursor position or the start of a selection Only text in that language will be checked for If your document contains text in several languages then you will have to launch the spell checker once for each language being used 6 4 UNDO AND REDO It is possible to gradually undo the changes you made in a document from the moment that you launched TRXyacg This can be done via Edit Undo or using the keystrokes M or C Undone changes can be redone using Edit Redo or M In order to save memory the number of successive actions which can be undone is limited to 100 by default It is possible to increase this number by adding a command like set maximal undo depth 1000 in our personal initialization file see Help Scheme When specifying a negative number as your maximal undo depth any number of actions can be undone CHAPTER 7 ADVANCED LAYOUT FEATURES 7 1 FLOWS Comp
123. ult the float may appear everywhere However a floating object will never appear inside the main text at less than three lines from the bottom or the top of a page 7 3 PAGE BREAKING The page breaking may be controlled very precisely by the user inside Document Page Breaking In the submenu Algorithm you may specify the algorithm being used Professional page breaking is best in print but may slow down the editing when being used interactively in paper mode Sloppy page breaking is fastest and medium is profes sional except for multicolumn material for which the professional algorithm is significantly slower You may also allow the page breaking algorithm to enlarge or reduce the length of pages in exceptional cases in the submenu Limits The stretchability of vertical space between paragraphs and so may be specified in Flexibility The factor 1 is default a smaller factor enforces a more rigid spacing but the quality of the breaks may decrease 28 CHAPTER 8 USING GNU TEXmacs AS AN INTERFACE An important feature of TEXyacs is it s ability to communicate with extern systems in shell like sessions Typically it is possible to evaluate commands of an extern computer algebra system inside such a session and display the results in a nice graphical way It is also possible to evaluate shell commands and SCHEME programs inside such sessions 8 1 SESSIONS 8 1 1 Basic usage A session can be started from the Insert Ses
124. utines which are visible within SCHEME In what follows we will discuss some of the most important routines We plan to write a more complete reference guide later You may also take a look at the scheme scm files in the directory TEXMACS PATH progs 11 2 WRITING YOUR OWN INITIALIZATION FILES When starting up TEXuacs executes the file TEXMACS_PATH progs init texmacs scm unless you have specified your own initialization file in TEXMACS HOME PATH progs my init texmacs scm By default the path TEXMACS HOME PATH equals TeXmacs Usually you want to add some extra actions to the default initialization file In this case you should not forget to include the command exec file TEXMACS_PATH progs init texmacs scm in your personal initialization file Similarly the file TEXMACS PATH progs init buffer scm is executed each time you create a new buffer unless you provide your own initialization file TEXMACS HOME PATH progs my init buffer scm 48 11 4 CREATING YOUR OWN KEYBOARD SHORTCUTS 49 11 3 CREATING YOUR OWN DYNAMIC MENUS In particular the default initialization file executes TEXMACS_PATH progs menu main_menu scm in order to set up the TEXyj4cg main menu We suggest you to have a look at this file in order to see how menus are created Actually any menu or part of a menu is represented by a program The program consists of a list of programs of one of the following forms gt pulldown menu name
125. wards using C r During a search only text in the same mode and the same language will be found as those which are active at the position where you started your search In other words when searching an x in math mode you will not find any x s in the ordinary text As a current limitation the search string can only contain ordinary text and no math symbols or more complicated structured text A query replace is started by pressing C or Edit Replace You are prompted for a string which is to be replaced and the string by which to replace At each occurrence of the string to be replaced you are prompted and you have to choose between replacing the string y not replacing it n and replace this and all further occurrences a Like in the case of searching the query replace command is mode and language sensitive 26 6 4 UNDO AND REDO 27 6 3 SPELL CHECKING If the program ispell has been installed on your system then you may use it to check your text for misspelled words by pressing M or Edit Spell Notice that you might have to verify that the dictionaries corresponding to the languages in which your texts have been written have been installed on your system this is usually the case for English When you launch the spell checker either on the whole text or a selected region you will be prompted at each misspelled word and the footer displays the available options a Accep
126. will be available under the name Mycas in Insert Session We will explain later how to make your system listed under its own name how to customize it and how to get the interface incorporated into the main TEXuacs distribution Usually step 2 is the most complicated one and the time it will cost you depends on how your system was designed If you designed clean output routines including the routines for displaying error messages then it usually suffices to modify these by mimicking the mycas example and reusing existing LATEX output routines which most systems provide At the moment we only implemented IATFX as a standard transmission format for math ematical formulas because this is the format which is most widely used In the future we intend to implement more semantically secure formats and we recommend you to keep in mind the possibility of sending your output in tree format Nevertheless we enriched standard DES with the and bignone commands for mul tiplication and closing big operators This allows us to distinguish between 76 INTERFACING TEXmacs WITH OTHER PROGRAMS a b c or a multiplied by b c and f x y or f applied to z y Similarly in sum_ i 1 m a_i bignone sum_ j 1 n b_j bignone the bignone command is used in order to specify the scopes of the sum operators It turns out that the systematic use of the and bignone commands in combination with clean LATEX output for the remaining
127. wn table macros you may use Table Special table properties Extract format to extract the format from a given table CHAPTER 5 LINKS AND AUTOMATICALLY GENERATED CONTENT 5 1 CREATING LABELS LINKS AND REFERENCES You may create a new inactive label using M or Insert Link gt Label and a reference to this label using M or Insert Link Reference Be careful to put the label at a point where its number will be correct When labeling sections the recommended place is just after the section name When labeling equations the recommended place is at the start inside the equation It is possible to create hyperlinks to other documents using M i gt or Insert gt Link gt Hyperlink The first field of the hyperlink is the associated text which is displayed in blue when activated The second field contains the name of a document which may be on the web As is usual for hyperlinks a link of the form label points to a label in the same document and a link of the form url label points to a label in the document located at url In a similar fashion an action may be associated to a piece of text or graphics using M i or Insert Link Action The second field now contains a Guile Scheme script command which is executed whenever you double click on the text after its activation For security reasons such scripts are not always accepted By default you are prompt
128. x M t N d Create a determinant M t N c Create a choice list The Neqnarray environment is also a special kind of table like structure which extends over the entire line You may start a list of equations using Insert Mathematics gt Equations When starting a new table its size is minimal usually 1 x 1 and its cells are empty New rows and columns are inserted using the A left A right A up and A down shorthands For instance A right creates a new column at the right of the current cursor position You may also start a new row below the current cursor position by hitting return 4 2 THE FORMATTING MODE In TEXuacs arbitrary blocks of cells in the table may be formatted in particular ways For instance you may give individual cells a background color but you may also decide an entire column to be horizontally centered By default formatting commands operate on individual cells but this may be changed via Table gt Cell operation mode The following operation modes are available M t m c Operate on individual cells M t m h Operate on rows M t m v Operate on columns 20 4 5 BORDERS PADDING AND BACKGROUND COLOR 21 M t m t Operate on the entire table It is also possible to select a block of cells using the mouse and perform a single operation on that rectangle 4 3 SPECIF
129. y entry and the corresponding page number s 10 1 6 Special markup for programs and sessions The program d t d mainly provides the following environments for computer algebra ses sions session Macro with three arguments the computer algebra language the name of the session and the body of the session itself input Macro with two arguments a prompt and a the input itself output Macro with the body of the output as its argument In fact these environments are based on environments of the form lan session lan input and lan output for every individual language lan The program d t d also provides some markup for the layout of computer programs However these tags should be considered as very unstable since we plan to replace them by a set of more detailed tags algorithm Macro with two arguments the name of the algorithm and algorithm itself together with its possible specification 42 SUMMARY OF THE PRINCIPAL TEX Acs TAGS body The real body of the algorithm indent For indenting part of an algorithm 10 2 STANDARD ENVIRONMENTS INSIDE TEXT The env d t d contains the standard environments which are available in most styles It is subdivided into the following parts 10 2 1 Defining new environments The env manage contains high level markup which can be used by the user to define new environments for theorems remarks exercises and figures newtheorem Defines a theorem like environment You should specify
Download Pdf Manuals
Related Search
Related Contents
Ibico pouchMaster Pro Bedienungsanleitung Olympus BZ8182-03 User's Manual Solar Battery User Manual M2LRCFG 取扱説明書 - M Disponible para descargar Witbox: Manual do utilizador manual rádio nav manual rádio nav Copyright © All rights reserved.
Failed to retrieve file