<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BlackHC's Adventures in the Dev World &#187; LaTeX</title>
	<atom:link href="http://blog.blackhc.net/tag/latex/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.blackhc.net</link>
	<description>Just another weblog</description>
	<lastBuildDate>Wed, 16 Nov 2011 23:12:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>PowerPoint LaTeX</title>
		<link>http://blog.blackhc.net/2010/05/powerpoint-latex/</link>
		<comments>http://blog.blackhc.net/2010/05/powerpoint-latex/#comments</comments>
		<pubDate>Sun, 30 May 2010 09:58:04 +0000</pubDate>
		<dc:creator>BlackHC</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Google Code]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[MiKTeX]]></category>
		<category><![CDATA[PowerPoint]]></category>
		<category><![CDATA[PowerPoint LaTeX]]></category>

		<guid isPermaLink="false">http://blog.blackhc.net/2010/05/powerpoint-latex/</guid>
		<description><![CDATA[<a href="http://blog.blackhc.net/2010/05/powerpoint-latex/" title="PowerPoint LaTeX"></a>Hey everybody I only wanted to point out that I've uploaded a new and improved version of PowerPoint LaTeX at http://code.google.com/p/powerpointtools/ - it now supports MiKTeX \o/ I've also finally added a project page for it to this blog. More &#8230;<p class="read-more"><a href="http://blog.blackhc.net/2010/05/powerpoint-latex/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.blackhc.net/2010/05/powerpoint-latex/" title="PowerPoint LaTeX"></a><p>Hey everybody <img src='http://blog.blackhc.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
I only wanted to point out that I've uploaded a new and improved version of PowerPoint LaTeX at <a href="http://code.google.com/p/powerpointtools/">http://code.google.com/p/powerpointtools/</a> - it now supports MiKTeX \o/</p>
<p>I've also finally added a project page for it to this blog.<br />
More updates might follow soon if I find enough spare time <img src='http://blog.blackhc.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Cheers,<br />
 Andreas</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackhc.net/2010/05/powerpoint-latex/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My Bachelor Thesis</title>
		<link>http://blog.blackhc.net/2009/10/my-bachelor-thesis/</link>
		<comments>http://blog.blackhc.net/2009/10/my-bachelor-thesis/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 13:43:19 +0000</pubDate>
		<dc:creator>BlackHC</dc:creator>
				<category><![CDATA[Personal Rantings]]></category>
		<category><![CDATA[University]]></category>
		<category><![CDATA[Bachelor Thesis]]></category>
		<category><![CDATA[Equalizer]]></category>
		<category><![CDATA[Inkscape]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Omondo]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[TikZ]]></category>

		<guid isPermaLink="false">http://blog.blackhc.net/?p=661</guid>
		<description><![CDATA[<a href="http://blog.blackhc.net/2009/10/my-bachelor-thesis/" title="My Bachelor Thesis"></a>For the last two months I have been working on my bachelor thesis at the Chair of Computer Graphics and Visualization. It is about "Multi-Tile Terrain Rendering with OGL/Equalizer"&#180;. The chair has a very nice Direct3D 10 terrain rendering engine &#8230;<p class="read-more"><a href="http://blog.blackhc.net/2009/10/my-bachelor-thesis/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.blackhc.net/2009/10/my-bachelor-thesis/" title="My Bachelor Thesis"></a><div id="attachment_664" class="wp-caption alignright" style="width: 310px"><a href="http://blog.blackhc.net/wp-content/uploads/2009/10/frontshot.png"><img class="size-medium wp-image-664 " title="Screenshot of Utah" src="http://blog.blackhc.net/wp-content/uploads/2009/10/frontshot-300x238.png" alt="Screenshot of Utah" width="300" height="238" /></a><p class="wp-caption-text">Screenshot of Utah</p></div>
<p>For the last two months I have been working on my bachelor thesis at the Chair of Computer Graphics and Visualization. It is about "Multi-Tile Terrain Rendering with OGL/Equalizer"<a class="annotation" title="the German title is &quot;Multi-Tile Terrain Rendering mit OGL/Equalizer&quot; :)" href="javascript:;"><strong>&#180;</strong></a>.<br />
The chair has a very nice Direct3D 10 terrain rendering engine and they want to run it at the newly founded KAUST (King Abdullah University of Science and Technology<a class="annotation" title="women are actually allowed to drive on the campus:" href="javascript:;"><strong>&#180;</strong></a>) in a massive CAVE environment. A CAVE is a room whose walls are actually screens.<br />
The CAVE at KAUST even supports stereoscopic rendering. Thus in total 12 views can be rendered to.</p>
<p>My job was to port said terrain engine from Direct3D to OpenGL and afterwards to the Equalizer framework, which is an open-source framework for parallelizing OpenGL applications.</p>
<p>You can find/download an online version of my bachelor thesis <a title="Multi-Tile Terrain Rendering with OGL/Equalizer" href="http://blog.blackhc.net/wp-content/uploads/2009/10/BachelorThesisOnline.pdf" target="_blank">here</a>. I'll upload the LaTeX at a later date and update this post.</p>
<p>I've spent the last months writing about all this, so I don't feel like talking about the thesis itself anymore. Instead the remainder of this post will contain a post-mortem of it.<br />
<span id="more-661"></span></p>
<h3>Post-Mortem</h3>
<h4>Preparations</h4>
<p>I think I did a good job at preparing myself for the thesis: I'm a LaTex noob, so I got lots<a class="annotation" title="4 to be exact" href="javascript:;"><strong>&#180;</strong></a> of LaTeX books; I'm a (paper-)writing noob, so I got lots<a class="annotation" title="3 in this case" href="javascript:;"><strong>&#180;</strong></a> of books about writing papers and writing good English.</p>
<p>The books have helped me a lot and it is always a good decision to get as many books as possible, because the more sources you have, the better.</p>
<p>I got all the LaTeX books from our university library:</p>
<ul>
<li><a href="http://www.amazon.de/gp/product/389842510X/ref=sib_rdr_dp" target="_blank">[Einstieg in] LaTeX</a><br />
A big book (696 pages) but not particularly helpful. The reviewer on Amazon is pretty much right: it contains lots of information., but always stops short of providing the really useful details/information.</li>
<li><a href="http://www.amazon.de/LATEX-GE-PACKT-Karsten-G%C3%BCnther/dp/3826615883/ref=sr_1_6?ie=UTF8&amp;s=books&amp;qid=1255775138&amp;sr=8-6" target="_blank">LaTeX - Ge-packt</a><br />
A small but thick pocket book (608 pages). I totally forgot I had it and it stood on my bookshelf until I found it yesterday. I've used it though while writing another paper last year, and it's pretty neat. It's a nifty reference, that's what it is.</li>
<li><a href="http://www.amazon.de/LaTeX-Hacks-Techniken-professionellen-Textsatz/dp/3897214776/ref=pd_sim_b_5" target="_blank">LaTeX Hacks: Tipps und Techniken für professionellen Textsatz</a><br />
This book is very good. It contains 100 "LaTeX hacks" (on 416 pages). These are small, closed sections describing the solution to a specific problem you might encounter while using LaTeX.<br />
I've used the book a lot of times to look up solutions to my problems and it references many useful LaTeX packages, too---so it's a good start for searches.</li>
<li><a href="http://www.amazon.de/Wissenschaftliche-Arbeiten-schreiben-LaTeX-CD-ROM/dp/3826658922/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1255777607&amp;sr=1-1" target="_blank">Wissenschaftliche Arbeiten schreiben mit LATEX</a><br />
<strong>Get this book</strong> if you want to write your thesis with LaTeX. It's incredibly useful and covers most of what you'll need. It takes you on a journey through all features of LaTeX that you will use and describes the most common use cases. It even has a section describing how to fix common LaTeX errors like overflowed hboxes and others.</li>
</ul>
<p>I've also bought some  books about writing papers and the English language in general:</p>
<ul>
<li><a href="http://www.amazon.com/Manual-Writers-Research-Dissertations-Seventh/dp/0226823377/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1255778175&amp;sr=1-1" target="_blank">A Manual for Writers of Research Papers, Theses, and Dissertations, Seventh Edition: Chicago Style for Students and Researchers</a><br />
This book covers everything you need to know about the style and format of a thesis. It has a huge chapter about how to add citations and what format the bibligraphy should use, etc.<br />
In retrospect reading it was probably overkill, because a bachelor thesis apparently doesn't have very strict requirements (well, I'll see about that when I get my feedback..).<br />
It, however, contains a few nice chapters about editing your text and improving its readability, and the punctuation and spelling chapters are nice, too.</li>
<li><a href="http://www.amazon.co.uk/Oxford-Guide-Effective-Writing-Speaking/dp/0192806130/ref=pd_sim_b_1" target="_blank">Oxford Guide to Effective Writing and Speaking</a><br />
I've only read this book in parts but it's not bad. It contains a useful introduction to English grammar, if you want to refresh that knowledge.</li>
<li><a href="http://www.amazon.co.uk/Oxford-Guide-Plain-English-Martin/dp/0199233454/ref=sr_1_11?ie=UTF8&amp;s=books&amp;qid=1255779088&amp;sr=8-11" target="_blank">Oxford Guide to Plain English</a><br />
This book is simply awesome. Plain English refers to writing English in a simple and easily understood way. This book describes what makes a text 'plain' and easy to read and how to transform your texts to improve readability. It contains lots and lots of examples of complicated texts an shows how easy it is to improve them with few changes.<br />
The book itself is a very nice read and in parts even funny. The author clearly knows what he is teaching and it helped me a lot while writing my bachelor thesis.</li>
</ul>
<h4>Writing the Thesis</h4>
<p>I had two months for the implementation of the project and for writing the thesis. The plan was to implement everything in August and write everything in September and be done at the beginning of October (before my birthday).</p>
<p>Instead last week I ended up being in crunch mode working 15 hours on it every day <img src='http://blog.blackhc.net/wp-includes/images/smilies/icon_neutral.gif' alt=':-|' class='wp-smiley' /> </p>
<p>The implementation went mostly as planned. I found a few driver bugs though, bought <a href="http://www.gremedy.com/" target="_blank">gDEBugger</a> for debugging shader issues and found some bugs in it, too. I think I reported 5-7 bugs in gDEBugger's support forum in a matter of days and still have to write/extend a few reports.</p>
<p>I wrote my thesis in LaTeX and used the very good <a href="http://www.xm1math.net/texmaker/" target="_blank">Texmaker</a> as editor. It supports multiple file projects and allows you to select a main file (usually latex is called with the file that is currently being edited).</p>
<p><a href="http://www.jedit.org/" target="_blank">jEdit</a> also supports LaTeX editing through a plugin: <a href="http://plugins.jedit.org/plugins/?LaTeXTools" target="_blank">LaTeXTools</a>. It isn't working as well as Texmaker though, but it has generally more text editing options and supports directory searches and regexp which is useful for a multi-file project.</p>
<p>I used subversion for version management, which proved useful at times, even though TortoiseSVN's difference viewer doesn't support line wrapping, which sucks a bit because I always write long blocks of text in Texmaker and it made diff'ing difficult.</p>
<p>For creating vector graphics, a very cool LaTeX package exists. It's called <a href="http://sourceforge.net/projects/pgf/" target="_blank">TikZ</a> ("Tikz ist kein Zeichenprogramm"), and it allows you to create illustrations the LaTeX way: by coding them.<br />
See <a href="http://www.texample.net/tikz/examples/" target="_blank">http://www.texample.net/tikz/examples/</a> for some neat looking examples.</p>
<p>I really wanted to use it to create my illustrations, but due to time constraints I couldn't read the whole manual (it's huge!) and I think even then it would have been too difficult.<br />
You see, it suffers from the same problem TeX and LaTeX suffer from in general. It's easy to write something that looks okay, but as soon as you want to tweak something to look exactly the way you imagine it and it is not a standard option, you end up reading weird package code and wishing you had a Phd in TeX editing.</p>
<p>TikZ has exactly the same problem. I've understood the tutorials and the manual well enough, but I wanted to create class diagrams with it. I got lost quickly and the 500 page manual didn't offer a straight-forward way either.</p>
<p>In the end I installed the latest version of <a href="http://www.inkscape.org/" target="_blank">Inkscape</a> and created all my illustrations with it. Well, actually I always tried to create them with TikZ first, got frustrated after losing an hour or two, and spent another hour creating them in Inkscape.</p>
<p>While Inkscape makes it harder to change an illustration later on and there is no way to layout diagrams automatically, you can still become quite fast with it after learning a few hotkeys.</p>
<p>I wanted to use Eclipse and <a href="http://www.uml2.org/download_studio_eclipse_3.4.html" target="_blank">Omondo's UML plugin</a> to create some diagrams of a Java subproject and it failed horribly..</p>
<blockquote><p>Having to wait 20 minutes, while it hogs your computer at 100% CPU usage and 400 MB memory usage, to create a UML model of a 5 classes project is quite unacceptable!</p></blockquote>
<p>Starting Eclipse later crashed it every time, too, by the way. I had to uninstall the damned plugin for Eclipse to start at all again.</p>
<p>In the end I recreated the classes in C++ and used Visual Studio's class diagram viewer to display the classes. You can then print the diagram to PDF and edit it some more in Inkscape, which supports importing single-page PDFs.</p>
<p>I hope I'll find time to write about game development related topics again in the next weeks. There are a few things I want to work on, but sadly university starts on Monday again and it will probably use up most of my time.</p>
<p>Cheers,<br />
 Andreas</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackhc.net/2009/10/my-bachelor-thesis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PowerPointLaTeX Update</title>
		<link>http://blog.blackhc.net/2009/08/powerpointlatex-update/</link>
		<comments>http://blog.blackhc.net/2009/08/powerpointlatex-update/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 00:48:34 +0000</pubDate>
		<dc:creator>BlackHC</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[University]]></category>
		<category><![CDATA[Formula Object]]></category>
		<category><![CDATA[Invoke]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[PowerPoint]]></category>

		<guid isPermaLink="false">http://blog.blackhc.net/?p=623</guid>
		<description><![CDATA[<a href="http://blog.blackhc.net/2009/08/powerpointlatex-update/" title="PowerPointLaTeX Update"></a>Because people complained to me about the formula feature in my PowerPointLaTeX add-in, which used a somewhat experimental approach to editing formula objects by adding an editing text shape that contained the formula code and that would be merged back &#8230;<p class="read-more"><a href="http://blog.blackhc.net/2009/08/powerpointlatex-update/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.blackhc.net/2009/08/powerpointlatex-update/" title="PowerPointLaTeX Update"></a><p>Because people complained to me about the formula feature in my PowerPointLaTeX add-in, which used a somewhat experimental approach to editing formula objects by adding an editing text shape that contained the formula code and that would be merged back into the formula as soon as you deselect it, I decided to rewrite it to use a standard modal dialog to edit formula objects:</p>
<div id="attachment_624" class="wp-caption aligncenter" style="width: 497px"><a href="http://blog.blackhc.net/wp-content/uploads/2009/08/PPTLaTeX_eqeditor.JPG"><img class="size-full wp-image-624" title="PPTLaTeX_eqeditor" src="http://blog.blackhc.net/wp-content/uploads/2009/08/PPTLaTeX_eqeditor.JPG" alt="PPTLaTeX_eqeditor" width="487" height="400" /></a><p class="wp-caption-text">Updated Ribbon (above) and Formula Editor Dialog (below)</p></div>
<p>The editor isn't perfect (yet), but it certainly shouldn't add any bugs to the add-in and solve some natural issues the old approach created.</p>
<h3>Implementation Note</h3>
<p>The idea was pretty straight-forward but the actual UI design was a PITA due me not knowning the panel/flow/table layout concepts very well and the code still has some annoying quirks with auto-scroll, so I need to fix that later.</p>
<p>I almost rewrote the whole cache system, because I'm using a background thread for updating the preview (if the text is changed, a 500 msec timer is started which triggers an update) and the update accesses the cache system, which in turn accesses PowerPoint to return some data, which in turn is busy because of the modal dialog -&gt; <strong>dead-lock</strong>.</p>
<p>The solution to this is very simple but was not obvious to me at first (I actually began to rewrite the cache system with a feeling that there should be an easier solution):<br />
The background thread needs an Invoke call to update the preview picture because the control has been created by a different thread (the main thread) and the code to get an updated picture can simply be moved into Invoke delegate function.</p>
<p>This solved all my problems and made 4 hours of previous work and thinking about a new cache system obsolete <img src='http://blog.blackhc.net/wp-includes/images/smilies/icon_neutral.gif' alt=':-|' class='wp-smiley' /> </p>
<p>Download the new build at: <a href="http://code.google.com/p/powerpointtools/downloads/list" target="_blank">http://code.google.com/p/powerpointtools/downloads/list</a></p>
<p>Cheers,<br />
Andreas</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackhc.net/2009/08/powerpointlatex-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerPoint Tools</title>
		<link>http://blog.blackhc.net/2009/04/powerpoint-tools/</link>
		<comments>http://blog.blackhc.net/2009/04/powerpoint-tools/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 09:47:10 +0000</pubDate>
		<dc:creator>BlackHC</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[AddIn]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[MiKTeX]]></category>
		<category><![CDATA[PowerPoint]]></category>
		<category><![CDATA[TexPoint]]></category>

		<guid isPermaLink="false">http://blog.blackhc.net/?p=376</guid>
		<description><![CDATA[<a href="http://blog.blackhc.net/2009/04/powerpoint-tools/" title="PowerPoint Tools"></a>I've finally managed to upload a version of my PowerPoint LaTeX add-in for PowerPoint 2007. I'm just going to post a short Vimeo video here that shows how inline formulas work (the main feature): I've tried to work on the &#8230;<p class="read-more"><a href="http://blog.blackhc.net/2009/04/powerpoint-tools/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.blackhc.net/2009/04/powerpoint-tools/" title="PowerPoint Tools"></a><p>I've finally managed to upload a version of my PowerPoint LaTeX add-in for <a href="http://office.microsoft.com/en-gb/powerpoint/default.aspx" target="_blank">PowerPoint</a> 2007.</p>
<p>I'm just going to post a short Vimeo video here that shows how inline formulas work (the main feature):</p>
<p><a href="http://blog.blackhc.net/2009/04/powerpoint-tools/"><em>Click here to view the embedded video.</em></a></p>
<p>I've tried to work on the add-in during my spring vacation but somehow I have instead spent all my time watching four seasons of House M.D. (which was totally worth it though <img src='http://blog.blackhc.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ).</p>
<p>There are still some features like support for MikeTeX, code clean-ups, small bugfixes and a preference window that I should work on, but I don't plan on selling it, so I don't really care if it's still somewhat work in progress.<br />
I'm going to continue working on it when I have to use PowerPoint again.</p>
<p>You can check it out (and another add-in dubbed Language Painter that I wrote to fix some annoyances when writing presentations in languages different from your keyboard layout) at <a href="http://code.google.com/p/powerpointtools/" target="_blank">http://code.google.com/p/powerpointtools/</a>.</p>
<p><object width="400" height="267" data="http://picasaweb.google.de/s/c/bin/slideshow.swf" type="application/x-shockwave-flash"><param name="flashvars" value="host=picasaweb.google.de&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.de%2Fdata%2Ffeed%2Fapi%2Fuser%2Fblackhc%2Falbumid%2F5327258296103265841%3Fkind%3Dphoto%26alt%3Drss" /><param name="src" value="http://picasaweb.google.de/s/c/bin/slideshow.swf" /></object><br />
<span id="more-376"></span></p>
<h3>"Inter-Mortem"</h3>
<p>I'm not really done with the project but I think it's time nonetheless to talk about the project itself. Initially I looked into using <a href="http://texpoint.necula.org/" target="_blank">TexPoint</a> for a presentation I had to prepare, but it wasn't very user-friendly in my opinion and I also didn't really want to install <a href="http://miktex.org/" target="_blank">MiKTeX</a> again, so the idea was born to use a web service (from codecogs.com or wordpress.com) to render the equations and embed the formulas as pictures. A few tests later I knew that it was feasible, so I started to work on the project.</p>
<p>The bulk of the code was written in 4 days during my winter vacation (so that was 4 months ago) - I've only added minor things since then.</p>
<p>This warrants the question what took me so long to upload it and/or write about it. The main reason why it was delayed by such a long time is that I wanted to polish it some more and make sure it really has a well-rounded feature set. In retrospect I shouldn't have added support for non-inline equations because people will hardly use them and the way you edit them is kind of crazy (I create a text shape in the current slide to let the user change the equation) and I reverted lots of the later changes because I wasn't sure which direction to take UI-wise.</p>
<p>The user interface is mostly okay in my opinion but the ribbon might need a redesign to streamline it some more and also maybe come up with new things users would want to do. For that I'll probably wait until I have to use it again (probably in a few weeks' time) and then take notes about what to improve.</p>
<p>The design of the code is somewhat messy when you look at it, but that's because it grew out of a experimental project to see if it was possible to embed LaTeX code the way I wanted, and most of the functionality ended up in one big file/class (LaTeXTool.cs)  because everything is centered around inline formulas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackhc.net/2009/04/powerpoint-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

