> <\body> <\hide-preamble> >>> >>> >>> \; <\doc-data|: a scientific editing platform>|>>|<\doc-note> This work has been partly supported by the French ANR-09-JCJC-0098-01 project, and by the 2009-36HD grant of the Région Ile-de-France. > \; <\with|par-mode|center> -- -- -- -- -- -- \; > <\abstract> GNU is a free software for editing scientific documents, which can also be used as an interface for computer algebra systems. In this software demonstration we will briefly recall its main features and present some recent developments.\ GNU is a free (what you see is what you want) platform for editing scientific documents. Its development was initiated in the nineties by and the latest version is available from >. provides a unified and user friendly framework for editing structured documents with different types of content such as text, mathematics, computer algebra sessions, graphics, animations, hyperlinks, spreadsheets, The rendering engine uses high-quality typesetting algorithms for the production of professionally looking documents, which can either be printed out or presented from a laptop. runs on all major platforms, , and . Some parts of were originally inspired by and . However, contrary to other programs such as or , is a graphical front-end for, and an alternative rendering engine has been rewritten from scratch in . Besides an improved typesetting quality with respect to, the rendering engine has the major advantage that documents are typeset in real time. This makes it possible to edit documents in a and user friendly way, without being distracted by compilation issues or encrypting formulas by code. Another objective of is to promote the development of free software for and by scientists, by significantly reducing the cost of producing documents, presentations, but also high quality user interfaces with other software. currently supports interfaces for many free computer algebra systems, such as , , , , , , , , for several other mathematical systems, such as , , , , , , and for certain versions of a few proprietary systems, such as , and . During the last years, has greatly evolved. Our current focus is on better portability to OSX> and platforms and on making the user interface even more intuitive. In particular, the former based graphical interface has recently been replaced by amodern looking interface relying on the library, with platform dependent widgets and keyboard bindings. We are also working on better converters to other formats and more specific editing features for graphics, spreadsheets, presentations, etc. ||||||| |Preparing a laptop presentation with .> |<\cell> ||| <\cell-inert|a1> >> >| <\cell-inert|a2> |+1|)>*x>> >| <\cell-inert|a3> |++2*log+1|)>*x>> >| <\cell-inert|a4> |+3*log+3*+1|)>*log+->+1|)>*x>> >| <\cell-inert|a5> |+4*log+6*+1|)>*log+->+4|)>*log+1+->+>|)>*x>> >| <\cell-input|a6> = +5*log+10*+1|)>*log+->+10|)>*log+->+>|)>*log+1++>->|)>*x>> >>>>> \; \; ||| <\cell-inert|a1> >> >| <\cell-inert|a2> +1|)>*x>> >| <\cell-inert|a3> ++2*log+1|)>*x>> >| <\cell-inert|a4> +3*log+3*+1|)>*log+->+1|)>*x>> >| <\cell-inert|a5> +4*log+6*+1|)>*log+->+4|)>*log+1+->+>|)>*x>> >| <\cell-output|a6> =derive(a5,x) +5*log+10*+1|)>*log+->+10|)>*log+->+>|)>*log+1++>->|)>*x>> >>>>> \; |Computation of successive derivatives in a spreadsheet using .> >>>> has been designed for typing structured texts with mathematical formulas in an efficient and easy to learn way. For instance, mathematical symbols such as> () can be typed using a natural keyboard shortcut >. There are also simple shortcuts for operating on the structure of the document, such as changing a theorem into a lemma. , like /, provides a stylesheet language in order to specify the rendering of markup elements in the document. provides a few standard files, as well as various packages which can be combined in order to design custom styles. One major characteristic of is the possibility to extend the editor using the - . Such extensions can be simple, like a personal boot file with frequently used keyboard shortcuts, or more complex, like a plug-in with special editing routines for aparticular type of documents. natively supports a full screen mode for laptop presentations (see Figure). Various interactive markup elements are provided for folding and unfolding, overlays, animations, dynamically executable computer algebra sessions, etc. natively integrates a rudimentary tool for drawing simple two dimensional vector graphics, which may themselves contain other text or formulas. For instance, the picture in Figure was drawn with this tool. One big problem with / is that there is no well specified document format: documents are really programs in an exotic (hard to parse) programming language, which complicates conversions to other formats. Nevertheless, we put a lot of effort in the development of high quality converters. also provides converters for and . For instance, the web site is automatically generated from documents. Converters for and are also planned. Recent versions of implement mechanisms for giving at least a syntactic meaning to mathematical formulas. When editing, visual feedback is given to the user on how formulas are interpreted. Amathematical has also been integrated. <\big-figure> || <\flat-size> <\mmx-code> use "graphix"; $group ($width ("2ln", $graph (x :-\ x * sin x)), \ \ \ \ \ \ \ \ \ \ \ \ \ $width ("2ln", $with ("dash-style", "10", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $graph (x :-\ x * cos x)))) >||1.00000000000000000000>|gr-geometry||gr-mode||gr-frame|>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||>>>>>>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||>>>>>>|x*cos x>>>|>|x*sin x>>>|>|>>>>>>>> <|big-figure> Example of a session which draws the graphs of two functions. The resulting picture was further resized and annotated by the author from within the editor. We have already mentioned that can be interfaced to many external computer algebra systems and other software for scientific computations. Such external systems can be invoked in various ways: <\enumerate> The most classical communication is based on shell-like sessions, in which it is possible to evaluate commands and display the results in a nice, graphical way. The external system can also be used as an aid for editing documents. For instance, one may use it to differentiate or simplify the current formula or the current selection. A recent new feature (under development) is a spreadsheet facility, where any computer algebra system can in principle be used as a spreadsheet language (see Figure). Particular efforts are currently being put into the development of a good interface for the computer algebra system, which is free software available from |http://www.mathemagix.org/>. documents can be created and manipulated directly from , which makes possible to automate the creation of sophisticated pictures and animations. For example, in Figure, we produced the graphs of two functions with different attributes via the package of . These graphs are in fact native graphical objects, so that they can be easily modified and annotated. In addition they are automatically redrawn whenever the size or the origin of the graph is modified by the user. <\bibliography|bib|plain|texmacs-issac.bib> <\bib-list|1> Scientific workplace version 5.5, 2012. . J.vander Hoeven. Towards semantic mathematical editing. Technical report, HAL, 2011. . J.vander Hoeven, G.Lecerf, B.Mourain, Ph. Trébuchet, J.Berthomieu, D.Diatta, and A.Mantzaflaris. Mathemagix, the quest of modularity and efficiency for symbolic and certified numeric computation. , 177(3), 2011. In Section "ISSAC 2011 Software Demonstrations", edited by M. Stillman, p.166--188. D.E. Knuth. . Addison-Wesley, 1984. L.Lamport. . Addison Wesley, 1994. The LyX Team. LyX 2.0.3 - The Document Processor [Computer software and manual], 2012. . <\initial> <\collection> <\references> <\collection> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <\auxiliary> <\collection> <\associate|bib> Knuth1984 Lam94 LyX SWP Hoeven2011 HoLeMoTrBeDiMa2011 <\associate|figure> Preparing a laptop presentation with T|E>||||0.5fn>|0fn|-0.1fn>>XACS||||0.5fn>|0fn|-0.1fn>>.|> Computation of successive derivatives in a spreadsheet using |Mathemagix>.|> <\tuple|normal> Example of a |Mathemagix> session which draws the graphs of two functions. The resulting picture was further resized and annotated by the author from within the editor. > <\associate|toc> |1Context, motivation, and objectives |.>>>>|> > |2Some features of the editor |.>>>>|> > |Efficiency for typing scientific documents. |.>>>>|> > |Stylesheet language. |.>>>>|> > |Extension language. |.>>>>|> > |Laptop presentations. |.>>>>|> > |Vectorial graphics editor. |.>>>>|> > |Converters. |.>>>>|> > |Semantic editing. |.>>>>|> > |3Interfaces with computer algebra systems |.>>>>|> > |math-font-series||Bibliography> |.>>>>|>