<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1548357200952907225</id><updated>2011-07-08T02:51:34.265+02:00</updated><title type='text'>Algebraically closed</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://algebraicallyclosed.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://algebraicallyclosed.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>formula</name><uri>http://www.blogger.com/profile/16193822436696569564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1548357200952907225.post-275339202698007465</id><published>2009-08-24T14:47:00.005+02:00</published><updated>2009-08-24T16:04:46.397+02:00</updated><title type='text'>GSOC [KFormula shape] Wrap up</title><content type='html'>So I should have blogged already a week ago, but Internet connection in Jerusalem (I am doing a Hebrew language course here right now and will continue to study math for one semester beginning in October) is not completely satisfying.&lt;br /&gt;&lt;br /&gt;So GSOC is over and here is what I have done:&lt;br /&gt;&lt;br /&gt;I worked on the formula (or equation) editor of KOffice. KOffice is based on the flake framework, where every content element type is implemented as a plugin, the flake shape, with one or more associated tools. For mathematical equations the formula shape (and the formula tool) are used and this is what I worked on. With the move from KOffice 1.x to KOffice 2 an almost complete rewrite of the formula shape started. When I started there was already a lot of loading, saving and rendering code and the basic outlines of the tool, but almost no navigation and editing logic.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;What has been achieved:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;mouse and keyboard navigation including selection support&lt;ul&gt;&lt;li&gt;this is much more complicate for equations compared to e.g. plain text, because in equation you have a two dimensional layouted tree of nested subexpressions where it is sometimes hard to find out the element, that the user wants to navigate to&lt;/li&gt;&lt;li&gt;this was implemented for basically every MathML element that we can load&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;insertion from the keyboard&lt;br /&gt;&lt;ul&gt;&lt;li&gt;at the moment, when the cursor is in a token element, e.g. a number, that next symbol inserted is always added to the current token. This allows the greatest flexibility and is necessary, as MathML allows numbers like "two", but is a little uncomfortable, because the user has to decide, when to start a new token&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;insertion of symbols and MathML templates&lt;br /&gt;&lt;ul&gt;&lt;li&gt;you can insert all kind of mathematical symbols (they are just inserted as unicode letters)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;you can insert MathML templates (fractions,...) , complete with wrapping of the current selected elements&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Undo/Redo (see the previous post about why this is difficult)&lt;/li&gt;&lt;li&gt;loading and saving of MathML files (this was already implemented before but had some bugs that prevented it from working)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;What still has to be done:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;allow the changing of attributes of MathML elements, there is already a command for this, this mainly needs a GUI&lt;br /&gt;&lt;/li&gt;&lt;li&gt;remove unnecessary redraws (only elements that really changed should be updated)&lt;/li&gt;&lt;li&gt;finish rendering support for all MathML elements&lt;/li&gt;&lt;li&gt;implement a fast input mode, which starts a new token when e.g. a number is inserted and the cursor is in a identifier element&lt;br /&gt;&lt;/li&gt;&lt;li&gt;implement copy and paste (almost finished)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;various bug fixes (some rendering bugs are easy to spot in the screencast below)&lt;/li&gt;&lt;li&gt;all kind of goodies: latex like input, ...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;How to try it out:&lt;/span&gt;&lt;br /&gt;I GSOC work is in KOffice svn trunk, so you just have to get a recent checkout&lt;br /&gt;(see http://wiki.koffice.org/index.php?title=Building/Building_KOffice)&lt;br /&gt;and ensure to enable the FormulaShape by adding formulashape to&lt;br /&gt;the FlakePlugins setting in ~/.kde4/share/config/kwordrc (or ~/.kde/share/config/kwordrc or whatever your distro uses).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Some last words:&lt;/span&gt;&lt;br /&gt;GSOC has been a really great experience, I learnd a lot about C++/QT/KDE Programming and the KOffice codebase is a real pleasure to work with (of cause it has some rough edges sometimes too). So thanks a lot to my great mentor Alfredo Beaumont and to the whole KOffice team. Of cause I will continue hacking on the formula shape and maybe other parts of KOffice.&lt;br /&gt;&lt;br /&gt;In other news since a month ago I am engaged to the most beautiful and brilliant girl that ever set his feet on this planet and therefore I am maybe the first student to use his GSOC money mainly for his wedding :)&lt;br /&gt;&lt;br /&gt;And here comes a screencast of the formula shape in KWord from trunk in all its glory:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-7bfb649b86417410" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v14.nonxt6.googlevideo.com/videoplayback?id%3D7bfb649b86417410%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330293850%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D656F2B723326444D253D1CF896265EDF62435839.28FF254DB626E00D71C7DDE31824E820D75907AA%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D7bfb649b86417410%26offsetms%3D5000%26itag%3Dw160%26sigh%3DTgz7QJcjY1MBsbpNL8Qj56aFtpY&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v14.nonxt6.googlevideo.com/videoplayback?id%3D7bfb649b86417410%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330293850%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D656F2B723326444D253D1CF896265EDF62435839.28FF254DB626E00D71C7DDE31824E820D75907AA%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D7bfb649b86417410%26offsetms%3D5000%26itag%3Dw160%26sigh%3DTgz7QJcjY1MBsbpNL8Qj56aFtpY&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1548357200952907225-275339202698007465?l=algebraicallyclosed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=7bfb649b86417410&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://algebraicallyclosed.blogspot.com/feeds/275339202698007465/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/08/gsoc-kformula-shape-wrap-up.html#comment-form' title='3 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/275339202698007465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/275339202698007465'/><link rel='alternate' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/08/gsoc-kformula-shape-wrap-up.html' title='GSOC [KFormula shape] Wrap up'/><author><name>formula</name><uri>http://www.blogger.com/profile/16193822436696569564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1548357200952907225.post-6241857619132892544</id><published>2009-08-02T20:52:00.005+02:00</published><updated>2009-08-02T21:37:00.159+02:00</updated><title type='text'>GSOC [KFormula shape] update</title><content type='html'>Wow almost 2 months went by without me blogging. So it is urgent time for a status update of my GSOC work. In contrast to blogging I luckily didn't stop coding. So what has been done:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;working keyboard and mouse navigation&lt;/li&gt;&lt;li&gt;inserting stuff from the keyboard&lt;/li&gt;&lt;li&gt;inserting symbols and templates from the docker&lt;/li&gt;&lt;li&gt;Undo and Redo&lt;/li&gt;&lt;/ul&gt;Especially implementing the Undo mechanism took me a while and some sleepless nights, because there is a strict separation of the flake part (which is responsible for embedding the formula shape in KOffice and event handling) and the back end part, which will hopefully become a independent MathML library one day (well it actually is code wise right now, but the kformula shape is the only user atm). Since the editing is done in the back end, we need some way to inform the shape and the tool, that its content has changed, we can't rely on the tool being still around when doing undo, ...&lt;br /&gt;&lt;br /&gt;I solved this by letting each editing command return an QUndoCommand which is then passed to the tool in KOffice which wraps it in another QUndoCommand that is responsible for calling the first one and then calling update on the shape and tool. Works quite well.&lt;br /&gt;&lt;br /&gt;Next things on my list include some refactoring of the movement code and finishing it for the missing elements. Changing some internals that make inserting and removing stuff a lot easier and finally maybe copy and paste.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_kH7g9LneYvU/SnXprBmP-MI/AAAAAAAAADY/Vc8sP4TUTp8/s1600-h/Bildschirmfoto2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 190px;" src="http://3.bp.blogspot.com/_kH7g9LneYvU/SnXprBmP-MI/AAAAAAAAADY/Vc8sP4TUTp8/s320/Bildschirmfoto2.png" alt="" id="BLOGGER_PHOTO_ID_5365451456454326466" border="0" /&gt;&lt;/a&gt;So the KFormula shape is now able to create this formula.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1548357200952907225-6241857619132892544?l=algebraicallyclosed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://algebraicallyclosed.blogspot.com/feeds/6241857619132892544/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/08/wow-almost-2-months-went-by-without-me.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/6241857619132892544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/6241857619132892544'/><link rel='alternate' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/08/wow-almost-2-months-went-by-without-me.html' title='GSOC [KFormula shape] update'/><author><name>formula</name><uri>http://www.blogger.com/profile/16193822436696569564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_kH7g9LneYvU/SnXprBmP-MI/AAAAAAAAADY/Vc8sP4TUTp8/s72-c/Bildschirmfoto2.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1548357200952907225.post-4996115572241341137</id><published>2009-06-07T18:25:00.003+02:00</published><updated>2009-06-07T21:51:23.131+02:00</updated><title type='text'>KOffice Developer Meeting</title><content type='html'>I am just back from the KOffice Developer Meeting in Berlin, hosted by the nice folks at KDAB. &lt;a href="http://www.kdedevelopers.org/node/3976"&gt;Jaroslaw&lt;/a&gt;, &lt;a href="http://hannascott.blogspot.com/2009/06/koffice-meeting-090606.html"&gt;Hanna&lt;/a&gt; and &lt;a href="http://untangled.biz/blog/koffice/koffice-sprint-day-2/"&gt;Alexandra&lt;/a&gt; already blogged about it. Since this was my first open source  developer meeting and I am pretty new to the team, it was a very interesting experience. And I have to say, the koffice developers are an extremly nice bunch of people. Meeting all of them in person instead of only knowing them form IRC lets you feel to be a part of the team much more. On Friday there was mostly individual hacking until most people arrived, followed by a dinner in a nice Indian/Singapurian place.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kH7g9LneYvU/SiwaFB6i8yI/AAAAAAAAAAM/Y8nMgWYS5FE/s1600-h/IMG_2882.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 213px;" src="http://1.bp.blogspot.com/_kH7g9LneYvU/SiwaFB6i8yI/AAAAAAAAAAM/Y8nMgWYS5FE/s320/IMG_2882.JPG" alt="" id="BLOGGER_PHOTO_ID_5344675531497599778" border="0" /&gt;&lt;/a&gt;On Saturday many interesting presentations about change tracking, the library organization, the next release, ... Better check out Hannas blog. A lot of hacking and discussion in the evening again, I got fixed a bug in the picture shape (in around 5 minutes after I posted &lt;a href="https://bugs.kde.org/show_bug.cgi?id=195500"&gt;it&lt;/a&gt;, thanks Marijn). I myself fixed some bugs in the way the formula shape uses flake, it is really good to have some experts sitting nearby. As a big surprise some guys from Nokia were there and four of us got free N810s. Thanks some much, what a cool device. Today again hacking and discussion, I left relatively early, while sitting in the train home to Dresden I added the ability to select text in the formula shape by double clicking. One item off from my todo list.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1548357200952907225-4996115572241341137?l=algebraicallyclosed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://algebraicallyclosed.blogspot.com/feeds/4996115572241341137/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/06/koffice-developer-meeting.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/4996115572241341137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/4996115572241341137'/><link rel='alternate' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/06/koffice-developer-meeting.html' title='KOffice Developer Meeting'/><author><name>formula</name><uri>http://www.blogger.com/profile/16193822436696569564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kH7g9LneYvU/SiwaFB6i8yI/AAAAAAAAAAM/Y8nMgWYS5FE/s72-c/IMG_2882.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1548357200952907225.post-8724931441881830604</id><published>2009-06-07T18:19:00.006+02:00</published><updated>2009-06-07T21:54:07.361+02:00</updated><title type='text'>GSOC week2 and Hello Planet</title><content type='html'>Since this is the first post that hoepfully gets aggregated on Planet KDE a big Hello to everybody reading this over there. I am a GSOC student working on KFormula (the formula editor of  &lt;a href="http://www.koffice.org/"&gt;KOffice&lt;/a&gt;). Everything about my project can be read in my &lt;a href="http://algebraicallyclosed.blogspot.com/2009/05/gsoc-2009.html"&gt;last post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So since already two weeks of GSOC passed without me blogging it is time for a status update. I am quite well in my schedule. There is navigation code now for almost all elements except Sub-/Superscript and Under-/overscript because they have some minor loading problems.  avigation in formulas is quite complicated because you don't just have a linear structure like in  text but a 2 dimensional one that consists of nested sub expressions. Consider the following  example&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;mn&gt;&lt;/mn&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;mfrac&amp;gt;&lt;br /&gt; &amp;lt;mn&amp;gt;1&amp;lt;/mn&amp;gt;&lt;br /&gt; &amp;lt;mn&amp;gt;2&amp;lt;/mn&amp;gt;&lt;br /&gt;&amp;lt;/mfrac&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;mn&gt;&lt;/mn&gt;&lt;/span&gt;&lt;br /&gt;When I press left, where should the cursor go? Behind the 1 or the 2 (I put it after the 2 and when the cursor is before the fraction and has to move right, I place it before the 1, but this is an relativelyvarbitrary choice).&lt;br /&gt;&lt;br /&gt;The last days I worked on selection support. Now it is possible to select elements by clicking with the mouse while holding shift pressed, dragging with the mouse and by moving the cursor with the keyboard while holding shift pressed. A short demonstration can be seen in the following screencast:&lt;br /&gt;&lt;br /&gt;&lt;object width="655" height="544" class="BLOG_video_class" id="BLOG_video-8e70e02a5880b3bf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v7.nonxt3.googlevideo.com/videoplayback?id%3D8e70e02a5880b3bf%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330293850%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D624B8BACDDA3B33571C2AEDD1AA8A8E293468931.84854658392AD7A249175B07BDC91F47F2692F77%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D8e70e02a5880b3bf%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dn6eINTJrd1fme89zdWXRAO-g53c&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="655" height="544" bgcolor="#FFFFFF"flashvars="flvurl=http://v7.nonxt3.googlevideo.com/videoplayback?id%3D8e70e02a5880b3bf%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330293850%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D624B8BACDDA3B33571C2AEDD1AA8A8E293468931.84854658392AD7A249175B07BDC91F47F2692F77%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D8e70e02a5880b3bf%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dn6eINTJrd1fme89zdWXRAO-g53c&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;The next week I plan to do some refactoring, implement cursor movement by double clicking and implement insertion and deletion at least for &lt;mrow&gt; elements.&lt;br /&gt;&lt;br /&gt;&lt;/mrow&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1548357200952907225-8724931441881830604?l=algebraicallyclosed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=8e70e02a5880b3bf&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://algebraicallyclosed.blogspot.com/feeds/8724931441881830604/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/06/gsoc-week2-and-hello-planet.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/8724931441881830604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/8724931441881830604'/><link rel='alternate' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/06/gsoc-week2-and-hello-planet.html' title='GSOC week2 and Hello Planet'/><author><name>formula</name><uri>http://www.blogger.com/profile/16193822436696569564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1548357200952907225.post-7212713001610558982</id><published>2009-05-19T22:52:00.001+02:00</published><updated>2009-05-19T23:05:36.367+02:00</updated><title type='text'>GSOC 2009</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I guess I am really the last GSOC student (at least in KDE land) to blog about my project but better late then never. I will work on the Formula editor in Koffice which sadly got a little bit battered by the transition to Koffice 2. My main focus will be on user interaction, which means keyboard and mouse input and offering a possibility to insert various mathematical elements. When I am not working for KDE I am studying mathematics in the beautiful German city of Dresden, play various instruments and like to do stuff with my girlfriend and the guys from my church. My mentor is Alfredo Beaumont and my full proposal looked like this:&lt;/span&gt;&lt;br /&gt;&lt;h3 class="im"&gt;Name:&lt;br /&gt;&lt;/h3&gt; &lt;p&gt;Jeremias Epperlein&lt;/p&gt; &lt;h3&gt;Email Address:&lt;/h3&gt; &lt;p&gt;&lt;a href="mailto:jeeree@web.de"&gt;jeeree@web.de&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;Freenode IRC Nick:&lt;/h3&gt; &lt;p&gt;JeremiasE&lt;/p&gt; &lt;h3&gt;Location (City, Country and/or Time Zone):&lt;/h3&gt; &lt;p&gt;Aue, Germany, GMT+1&lt;/p&gt; &lt;h3 class="im"&gt;Proposal Name:&lt;br /&gt;&lt;/h3&gt; &lt;p&gt;Enhance Formula Shape&lt;/p&gt; &lt;h3&gt;Motivation for Proposal / Goal:&lt;/h3&gt; &lt;div class="im"&gt; &lt;p&gt;Being able to add formulas is a requirement for many users of an office suite like teachers or scientists. Although most of the later use LaTeX for this, when you need a lot of manual layout, a program like kword is a better choice.&lt;/p&gt; &lt;/div&gt; &lt;div class="im"&gt; &lt;p&gt;Koffice in Version 1.6 included a very good formula editor. The port to the new flake architecture in Koffice 2.0 is very incomplete and lacks several features. Especially the user interface needs a lot of work. I would like to add support for navigating and editing a formula, as well as inserting various mathematical elements like Greek letters.&lt;/p&gt; &lt;p&gt;Additionally I would like to work on the loading and saving of MathML, which is used in ODF for storing formulas, or add the possibility to enter a certain subset of LaTeX.&lt;/p&gt; &lt;/div&gt; &lt;div class="im"&gt; &lt;h3&gt;Implementation Details:&lt;/h3&gt; &lt;p&gt;For the editing part, I will add the missing logic in FormulaCursor and KoFormulaTool as well as implement the missing methods in the classes, that represent the MathML elements. For inserting mathematical objects I will select useful MathML templates and add a possibility to insert them to the tool docker.&lt;/p&gt; &lt;/div&gt; &lt;h4&gt;There should be a possibility to insert (this list is not necessarily complete):&lt;/h4&gt; &lt;p&gt;Templates&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;fractions&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;roots&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;matrices&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;fenced elements (braces, brackets, ...)&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;super- / subscript&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;alignment hints&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Tokens:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;operator symbols (small / big)&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Greek letters&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;arrows&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Styling:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;under / over bars&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;boxes&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p class="im"&gt; &lt;/p&gt;&lt;h3&gt;Tentative Timeline:&lt;/h3&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;3 weeks getting keyboard navigation working&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;3 weeks add mouse interaction, drag&amp;amp;drop, selecting and moving elements&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;3 weeks design and implementing the ToolWidget for inserting elements and changing there style&lt;/p&gt; &lt;p&gt;2 weeks improve the loading of MathML, get more unit tests to pass&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;1 week clean up the code, add missing documentation&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;div class="im"&gt; &lt;h3&gt;Do you have other obligations from late May to early August (school, work, etc.)?:&lt;/h3&gt; &lt;/div&gt; &lt;p&gt;I will have university until end of July, but I will have a very low course load, basically only one seminar and two lectures.&lt;/p&gt; &lt;p&gt;For the same reason, I would also be able to start coding earlier.&lt;/p&gt; &lt;p&gt;Apart from that I hope to be a guide at the International Mathematical Olympics at the end of July but this will take only one and a half week.&lt;/p&gt; &lt;p&gt;Finally in August I may start a Hebrew course, but this will nevertheless allow me to finish the project.&lt;/p&gt; &lt;h3&gt;About Me (let us know who you are!):&lt;/h3&gt;     &lt;p&gt;the Technical University of Dresden. I have experience programming in C++ with QT from I am a student of mathematics and computer science  in my last year at various university projects. I started using Linux and KDE around 7 years ago. Apart from writing a small patch for Canorus (&lt;a href="http://www.canorus.org/" target="_blank"&gt;www.canorus.org&lt;/a&gt;) I have never before programmed for an open source project. But I am already reading koffice-devel for a year andso I think I could find into the project relative easily.&lt;/p&gt; &lt;p&gt;In my free time I like to play trumpet, bike, travel, do stuff with my friends, my girlfriend and the guys from my church.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1548357200952907225-7212713001610558982?l=algebraicallyclosed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://algebraicallyclosed.blogspot.com/feeds/7212713001610558982/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/05/gsoc-2009.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/7212713001610558982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1548357200952907225/posts/default/7212713001610558982'/><link rel='alternate' type='text/html' href='http://algebraicallyclosed.blogspot.com/2009/05/gsoc-2009.html' title='GSOC 2009'/><author><name>formula</name><uri>http://www.blogger.com/profile/16193822436696569564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
