<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>The SKB is a combination of a document repository, a class library, a set of tools plus information and ideas. The acronym was the most obvious one I could think of for this mix: Sven’s Knowledge Base. One can also call it simple, small, even silly; if you want. This blog is for information and ideas. Have a look at github to see related tools and applications. If you want to comment on entries here please got to  blogspot .</description><title>sven's knowledge base</title><generator>Tumblr (3.0; @vdmeer)</generator><link>http://vdmeer.tumblr.com/</link><item><title>Back to the Future: Scenarios for Europe 2010 as seen in 1999</title><description>&lt;p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Two weeks ago I gave a talk during the&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://www.ubiquitous-management.org/mucs/"&gt;MUCS&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/a&gt;workshop at&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://www.percom.org/"&gt;PerCom&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/a&gt;looking into how we manage ubiquitous computing environments. I had built that talk some years back and find an occasion to present it roughly once a year. Interesting is that a lot of problems and issues we looked at five years ago are still that: problems and issues.&lt;/p&gt;
&lt;p&gt;More interestingly, I used a document from the European Commission in my original talk and now, since I remembered that document, had a look into it again. It is a report published by the Forward Study group of the European Commission titled: Scenarios Europe 2010. You can download the working paper from CiteSeerx (link at the end of this entry). The report was published in 1999, which makes it even more interesting to look at it having seen the actual developments in the first decade of the new millennium by now.&lt;/p&gt;
&lt;p&gt;The report identifies five different scenarios and provides a qualitative description of them, aiming to facilitate discussions within the Commission and Europe and to influence policy and decision making. The five scenarios are:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;Triumphant Markets&lt;/em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;- in essence the ‘triumph of trade over war’, facilitated by technological advances and full employment in industrial countries but also an increased environmental damage;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;The Hundred Flowers&lt;/em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;- grassroot activities taking over from old governments and multi-nationals with an increased focus on local development and probably a fragmentation of business and social life;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Shared Responsibilities&lt;/em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;- reconciliation of ideas such as solidarity and respect, underpinned by technological advances and a drastic reform of the public sector;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Creative Societies&lt;/em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;- after a phase of public spending cuts and new austerity programmes Europe again recognises the importance of the human dimension and the focus is on solving social problems, the tax system becomes ‘green’ and activities beyond the logic of market economy; and&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Turbulent Neighbourhoods&lt;/em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;- the world is political unstable and troops are deployed to restore order, even within Europe, still without a coherent foreign and security policy.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;After describing the scenarios, the report goes into details about what we know about the future (i.e. what we know in 1999), the key drivers for the scenarios and the used methodology.&lt;/p&gt;
&lt;p&gt;From my point of view, the report is interesting because it does not try to predict how Europe will evolve, nor does it focus on a simple answer to how the future will look like. All scenarios cover a wide range of different aspects and many of them are not categorised as simply being &amp;#8216;good&amp;#8217; or &amp;#8216;bad&amp;#8217;. The problems the report suggests we&amp;#8217;ll have are here today: water, food, environment/ecology, education and digital divide, security (soft and hard), social and regional imbalances and inequalities.&lt;/p&gt;
&lt;p&gt;I am not sure which, if any, of the five scenarios actually describes the world today. It&amp;#8217;s probably safe to say that the &amp;#8220;triumph of the markets&amp;#8221; didn&amp;#8217;t really happen. Technology certainly enabled a different way of us interacting with each other and opened new paths to engaging in social, political and economical issues. The obvious names coming to my mind are Twitter and Facebook being used when the volcanic ash cloud closed most of Europe&amp;#8217;s airspace (remember that?) or to coordinate protest actions in several countries earlier this year. I would argue that there is a stronger sense of shared responsibility and creativity here as well. Question then is, are we going towards turbulent neighbourhoods right now? Maybe not in Europe.&lt;/p&gt;
&lt;p&gt;Well, if you have a spare minute you might have a look at the report itself. The scenario descriptions are not too long&amp;#8230;&lt;/p&gt;
&lt;p&gt;Reference:&lt;/p&gt;
&lt;p&gt;Gilles Bertrand (Coord.), Anna Michalski, Lucio R. Pench: Scenarios Europe 2010 - Five possible Scenarios for Europe, Working Paper, Forward Studies Group, The European Commission, 1999, available at:&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.4654&amp;amp;rep=rep1&amp;amp;type=pdf"&gt;&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.4654&amp;amp;rep=rep1&amp;amp;type=pdf"&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.4654&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/a&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;(last visited 04/04/2011)&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/4363301920</link><guid>http://vdmeer.tumblr.com/post/4363301920</guid><pubDate>Tue, 05 Apr 2011 12:09:00 +0100</pubDate></item><item><title>IETF RFCs published on April 1st, 2011</title><description>&lt;p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This year&amp;#8217;s fine collection:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.rfc-editor.org/rfc/rfc5984.txt"&gt;RFC 5984&lt;/a&gt; -  Increasing Throughput in IP Networks with ESP-Based Forwarding: ESPBasedForwarding &amp;#8220;This document proposes an experimental way of reaching infinite bandwidth in IP networks by the use of ESP-based forwarding. This document defines an Experimental Protocol for the Internet community.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.rfc-editor.org/rfc/rfc6214.txt"&gt;RFC 6214&lt;/a&gt; - Adaptation of RFC 1149 for IPv6 &amp;#8220;This document specifies a method for transmission of IPv6 datagrams over the same medium as specified for IPv4 datagrams in RFC 1149. This document is not an Internet Standards Track specification; it is published for informational purposes.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.rfc-editor.org/rfc/rfc6217.txt"&gt;RFC 6217&lt;/a&gt; - Regional Broadcast Using an Atmospheric Link Layer &amp;#8220;Broadcasting is a technology that has been largely discarded in favor of technologies like multicast.  This document builds on RFC 919 and describes a more efficient routing mechanism for broadcast packets destined for multiple Local Area Networks (LANs) or Metropolitan Area Networks (MANs) using an alternative link layer.  It significantly reduces congestion on network equipment and does not require additional physical infrastructure investment.&amp;#8221;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;My favourite is 5984 ;)&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/4253910514</link><guid>http://vdmeer.tumblr.com/post/4253910514</guid><pubDate>Fri, 01 Apr 2011 08:07:00 +0100</pubDate><category>sdo</category><category>ietf</category><category>rfc</category></item><item><title>Ideas for Workshop/Conference Sessions II (as seen on many workshops and conferences)</title><description>&lt;p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This note looks at more unusual session types and shows a few possible combinations of characteristics to create more interactions amongst the attendees.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5 Minutes of Fame&lt;/strong&gt;&lt;br/&gt;A very special session that gives all participant 5 minutes to present their idea or project or solution. The 5 minutes are sharp, use a gong or bell to signal the end of it or simply switch the projector to another screen or change the presentation. No questions are allowed. The best way to organise it is to request all presentations well before the event and combine them into a single presentation with automatic timing (to enforce the 5 minutes). One might want to exclude the speaker’s introduction from the 5 minutes (which will also be helpful for the transition between speakers - remember people will need to leave and enter the stage and that takes some time, too.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1 Minute of Fame&lt;/strong&gt;&lt;br/&gt;If the number of interested people is too much for 5 minutes, one might go for 1 minute. Very tricky, and usually only good for rough ideas (i.e. on a project ideas meeting or brainstorming), but could work on a regular workshop as well. Requires a very very strict and well prepared session chair and should not be very long. The almost only way to organise this session is to request all presentation (1 title slide and 1 content slide) well in advance and provide a combined presentation with automatic timing for the content slide and some common symbol or graphic (on the slide) or sound that marks the end of the 1 minute. Seen on PerCom: put on a graphic saying &amp;#8220;Thank You&amp;#8221; and ask the audience in advance to klap hands when it occurs. Can be quite funny, and everybody is actively involved.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PhD Topics&lt;/strong&gt;&lt;br/&gt;Special call or invite for PhD students to present their ideas. Can be either for starters, means the presenters will talk mostly about their concepts or research questions and/or for final year students discussing their results. Special attention here goes to the moderator, who needs to make sure that questions to the students are fair, i.e. do not destroy their work (especially important for starters).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Beer and Pizza session&lt;/strong&gt;&lt;br/&gt;That type of session will be hard to organise, one needs some budget and prepare for the catering. The idea is that the whole audience is attracted by free food and drinks (substitute beer and pizza by something appropriate to your budget or taste if necessary) and that the session creates a rather informal atmosphere for discussions. Can easily go overboard, especially with alcoholic beverages, but can also be very very funny.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open Plenary&lt;/strong&gt;&lt;br/&gt;A single moderator or a team of people present an idea and invite the audience to discuss the idea for a given goal: i.e. next year&amp;#8217;s workshop topics. Can be very productive but needs a lot of preparations from the moderator/team, to set goals for this session and to make sure these goals are the focus (otherwise discussions will be unfocused leaving the audience unsatisfied).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Town Hall session&lt;/strong&gt;&lt;br/&gt;Similar to the Open Plenary, but discussing future directions, critic, comments, recommendations and advice from the workshop/conference participants for future editions. Requires the workshop/conference organisers to moderate (i.e. put suggestions forward for discussions).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hands-on or Breakout session&lt;/strong&gt;&lt;br/&gt;Maybe something that can happen later in a workshop. If the need occurs during the sessions (and if there is a sufficient audience to allow for a split), parts of the sessions might go to another location (if it is not raining, Trinity has nice college greens) for specific discussions/demos etc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Interrupted Session&lt;/strong&gt;&lt;br/&gt;Similar to a keynote: an invited speaker presents. Differently to a keynote, the audience is invited to interrupt the speaker at any given time to ask questions, and even more important (since it usually doesn&amp;#8217;t happen on any session) to give statements and opinions. This can lead to large discussions between the speaker and the audience. It does require one or two people in the audience that interrupt early in the talk, to break the ice. Or a moderator that interrupts when s/he sees that the audience got lost. Can be very funny and interesting, depending on the speaker and the topic!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5/1 Minute of Fame and Poster/Demonstration Session&lt;/strong&gt;&lt;br/&gt;This is a very interesting way to organise poster and/or demonstration sessions. Instead of simply have the posters and demonstrations happening somewhere, allow for a short joined session that has 5 or 1 minutes of fame for all poster and demonstration presenters and then leads into the actual poster/demonstration session. The effect is that the audience gets a very good overview of what it can expect, it can associate topics with faces (that&amp;#8217;s invaluable) and it can already select where to go (which in turn means that the poster/demonstration presenters will receive interested audience first, thus being really engaged with them for a mutual benefit).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Birds of a Feather session&lt;/strong&gt;&lt;br/&gt;An (usually informal) session were initial ideas are presented and - more importantly - discussed. This type of session should support the establishment of a group of interested people for a specific topic. It is very unusual on workshops and conferences but common at standard bodies.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lecture session&lt;/strong&gt;&lt;br/&gt;Similar to a keynote, but probably more focused on an established topic rather than some groundbreaking ideas or business success. Could end with an examine for the audience, but should not take that too serious.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Round Table&lt;/strong&gt;&lt;br/&gt;In fact very similar to a panel but for a potentially much smaller audience and usually not in a controversial manner. A round table needs to have a common goal and discuss how to reach it.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/4186294197</link><guid>http://vdmeer.tumblr.com/post/4186294197</guid><pubDate>Tue, 29 Mar 2011 17:28:28 +0100</pubDate><category>event-org</category></item><item><title>Ideas for Workshop/Conference Sessions I (as seen on many workshops and conferences)</title><description>&lt;p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Each workshop or conference is organised in sessions. Each session has a title, a chair (or moderator) and specific characteristics. The following notes describe a few session types as I did see on events or organised myself or helped organising. The different session types can be run as described. More interesting is to combine a few characteristics, which can make the event more attractive and/or more interactive. If you do so make sure everything and everyone is well-prepared.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Opening Session&lt;/strong&gt;&lt;br/&gt;The event organisers officially open the event. They would explain what the event is for, maybe detail the theme of the current edition, definitely introduce the organisation team (committee) and thank them for their work and finally try to engage all attendees in the event. It is good to allow for a few notes on housekeeping and emphasise event highlights (for instance a banquet or dinner or other social events). If the event had sponsors or special contributors introduce them here as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Closing Session&lt;/strong&gt;&lt;br/&gt;The event organisers officially close the event. There might be a best paper award (regular paper, short paper, poster and/or student paper), definitely a positive closure of the event (don&amp;#8217;t forget to thank everyone: speaker, audience and attendees, organisers, keynote speakers, sponsors). If known at this stage, provide information on the next edition of the event or at least indicate when it will happen and how the attendees can get further information about it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Keynote Session&lt;/strong&gt;&lt;br/&gt;This is a longer talk with a broader topic that needs to be interesting for all potential attendees of the event. The speaker needs to be carefully selected to draw people into the session (i.e. have some reputation that interests the attendees). The topic then depends very much on the speaker of course. Important is also to invite someone who is a good speaker! And don&amp;#8217;t forget to a gift got her or him after the session! On multi-day events, each day can start with a keynote. Single day event quite often start with a keynote, but from my experience it is usually better to have the keynote later in the morning (attendees might come later, other people might just walk-in but not for an early morning session).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Regular Paper Session&lt;/strong&gt;&lt;br/&gt;A few papers, each given the same time to be presented and each presentation followed by a question and answer round. Requires a session chair, who optimally introduces the session providing an overview of the papers and presentations, introduces the individual speakers and then moderates the Q&amp;amp;A round.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Regular Session with Panel&lt;/strong&gt;&lt;br/&gt;Similar to the regular paper session, but without the Q&amp;amp;A immediately after presentation. Instead, invite all presenters into a panel with the session chair as moderator and then treat every question as a question to the panel. This requires to make sure that papers in the same session are somewhat related, make sure the moderator and the audience understand this relationship and carefully steer the discussions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Regular Paper Session with Concise Presentation&lt;/strong&gt;&lt;br/&gt;A regular paper session that distinguishes between full papers (then long presentations) and concise or short papers (then shorter presentations). This mix allows all accepted papers to present, but ranks them. Be careful not to have too many speakers, otherwise the audience might get confused if the session is too long.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Demonstration Session&lt;/strong&gt;&lt;br/&gt;A session dedicated to demonstrations, i.e. practical showcases of research. Usually organised like a trade fair, with an open area where people can walk around and watch and listen to what is on offer. Can be combined with a reception (some drinks and small snacks), to bring people in and keep them happy. If you organise one, be careful not to overdo on the drinks yourself. Another option is to run the demonstration session like a regular paper session. However the interactions will be limited and I think this is only useful with a rather small audience.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Panel Session&lt;/strong&gt;&lt;br/&gt;A group of invited panelists discusses their opinions for a given topic with the audience. The topic needs to be prepared well in advance, and usually each panelist will prepare for a short opening statement. Important for an interesting panel is to invite people who do not agree on everything, can openly and fairly discuss controversial opinions and obviously have a string opinion on the given topic. The moderator needs to be prepared for all eventualities, and should at the end find a satisfying conclusion of the discussion. Important is to keep the initial statements short and allow for plenty of discussion time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Distinguished Expert&amp;#8217;s Panel&lt;/strong&gt;&lt;br/&gt;Same as a panel, but with really distinguished experts in the field.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Invited Paper session&lt;/strong&gt;&lt;br/&gt;A session that includes papers that have been specifically invited by the programme chairs. This is done to cover certain parts of the agenda or to cover certain aspects that are important but might not have been addressed by regular submissions. The invited papers might be in the proceedings, if so they are usually specially marked as invited.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/4074590872</link><guid>http://vdmeer.tumblr.com/post/4074590872</guid><pubDate>Fri, 25 Mar 2011 01:17:00 +0000</pubDate><category>event-org</category></item><item><title>What they did with 100 Million GPS points</title><description>&lt;p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We did organise the 8th edition of our Workshop for Management of Ubiquitous Communications and Services (&lt;a href="http://ubiquitous-management.org/mucs/"&gt;MUCS&lt;/a&gt;) at &lt;a href="http://www.percom.org/"&gt;PerCom&lt;/a&gt;. The most interesting session was a keynote by John Krumm, Senior Researcher from Microsoft Research. They did collect 100 Million GPS points in Seattle, and then did a lot of analysis with that information. From predicting routes of people, to looking into where they are over a period of time (day, week, month) to how much noise is needed to hide locations. They also did a questionnaire with their volunteers to see when and for what incentive they would give away data about their travelling.&lt;/p&gt;
&lt;p&gt;A lot of the information from the keynote is in John&amp;#8217;s papers and presentation, which can be found at &lt;a href="http://research.microsoft.com/en-us/um/people/jckrumm/"&gt;his website&lt;/a&gt;. He also has slides from a very similar keynote talk available &lt;a href="http://research.microsoft.com/en-us/um/people/jckrumm/Presentations%202010/AutomotiveUI%20keynote.pptx"&gt;here&lt;/a&gt;. And if you want to play with the data yourself, he even published parts of the set of &lt;a href="http://research.microsoft.com/en-us/um/people/jckrumm/GPSData2009/index.html"&gt;100 Million GPS Points&lt;/a&gt;.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/4028605033</link><guid>http://vdmeer.tumblr.com/post/4028605033</guid><pubDate>Tue, 22 Mar 2011 19:59:00 +0000</pubDate><category>ubicomp</category></item><item><title>The next Step for the SKB</title><description>&lt;p&gt;With the LateX SKB being published on CTAN and SourceForge it is time to do the next step: open sourcing the PHP backend of the SKB. There is some history to this backend. It all started long time ago, when two friends and I started a company and did some web development. To test functionality, I extended my personal website over the time. Later, my daily work required some website. The PHP code base did grow, its complexity did explode. I re-designed it a few times, moving from a simple set of functions to more complex set of functions, later introducing objects, then shifting all functions into objects, then re-designing the objects a few times. As you can imagine, most of the code did grow almost organically. I never bothered to look into it as a software engineer. All that changed in 2009, when I used the same code base for about ten websites, including my own, and sort of lost control over the different versions.&lt;/p&gt;
&lt;p&gt;So the first goal was to harmonise my PHP class library. While doing this, I also started to re-organise my document repository (more on that in the earlier posts on the LaTeX SKB). And my research work on autonomic network management and software contracts also moved on. And suddenly, one early morning early 2009, I realised that I could actually bring all these things together. Now it was time to think about a proper design for the class library and the data sources. The first versions of the PHP SKB saw the light during the summer of 2009. I moved all my existing code over to the new design. Then all data, which was a painful (from .ini file formats to SQL databases). Then I integrated all my documents and photos and other things into a single directory structure. Then the document repository along with the LaTeX SKB and re-drawing of a lot of figures. Eventually I had covered all aspects I wanted to cover. Two iterations later, and the PHP code started to be stable. And now, in the third iteration, I think it is mature enough to become an open source project (though this very project will have only pre-alpha status of course).&lt;/p&gt;
&lt;p&gt;So the next few posts will explain how the PHP part of the SKB works. In short, the PHP SKB provides all means to build complex websites. We already did an online shop, multiple conference and workshop websites, a payment system, some personal websites, some project websites and a few research projects with it. It uses a few software design patterns to simplify code and process and it uses a very special way to organise and access data maintained in SQL databases. I am saying special because I think it is a fairly unusual (not necessarily good or optimal) way to store and access data. I guess you’ll see that in my next post, which will deal with the database part of the SKB.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/947503567</link><guid>http://vdmeer.tumblr.com/post/947503567</guid><pubDate>Fri, 13 Aug 2010 15:38:00 +0100</pubDate><category>skb-basics</category></item><item><title>LaTeX v0.5 SKB is on CTAN</title><description>&lt;p&gt;I have updated SourceForge this morning with version 0.5 of the LaTeX SKB and then submitted the archive to CTAN. Jim Hefferon, the maintainer of the archives, has processed in the last hour and that means the the SKB is now available on CTAN.&lt;/p&gt;
&lt;p&gt;The link: &lt;a href="http://tug.ctan.org/tex-archive/macros/latex/contrib/skb/"&gt;http://tug.ctan.org/tex-archive/macros/latex/contrib/skb/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There have been a few changes, see HISTORY.TXT in the contribution or the PDF documentation (skb.pdf) for details. I have also added a user guide, plus a beamer presentation with notes. That means that I am sort of eating my own dog food: the user guide and the beamer presentation are done using most of the SKB functionality. Good for testing.&lt;/p&gt;
&lt;p&gt;Now, the documentation is fast written and barely proof-read. I have to work on that one before looking into LaTeX programming again.&lt;/p&gt;
&lt;p&gt;Anyway, the SKB is now on CTAN and that&amp;#8217;ll make life easier for installing the package, once TeX Live picks it up and your personal TeX/LaTeX distribution automatically finds and installs the package.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/903224526</link><guid>http://vdmeer.tumblr.com/post/903224526</guid><pubDate>Wed, 04 Aug 2010 16:19:00 +0100</pubDate><category>skb-latex</category></item><item><title>My Personal DNA</title><description>&lt;p&gt;I got pointed today to an interesting website: personal DNA. One can do a test there to determine personality. They tell me that I am a &amp;#8220;benevolent leader&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Here is the &lt;a href="http://www.personaldna.com/"&gt;link to the test&lt;/a&gt; and here is&lt;a href="http://www.personaldna.com/report.php?k=riumxttRYDItKgc-OO-DAABD-6533"&gt; my personal DNA&lt;/a&gt;.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/841835403</link><guid>http://vdmeer.tumblr.com/post/841835403</guid><pubDate>Wed, 21 Jul 2010 21:09:08 +0100</pubDate><category>vdm</category></item><item><title>Updates on the LaTeX SKB</title><description>&lt;p&gt;If you have read my ideas about the LaTeX SKB in April and have had a look at version 0.1 in sourceforge you might have asked a simple question: Why did he make the LaTeX code it soooo complex and un-structured? I did ask myself the same question, and the answers are version 0.2 and 0.3 published in sourceforge this week.&lt;/p&gt;
&lt;p&gt;Long story told short, I did eventually educate myself in writing LaTeX packages and classes. There is some very good documentation out ther (LINKS). I am not saying that I am an established LaTeX programmer, not yet at least. But I made progress.&lt;/p&gt;
&lt;p&gt;So in version 0.2 I did consolidate all the existing .sty and .tex code into a proper package called skb and created classes for my article, book, beamer and the two lncs frameworks. The result is in sourceforge. I did not want to change any command yet, I only wanted to start writing proper packages and classes.&lt;/p&gt;
&lt;p&gt;Then, I got the idea that my commands are very hard to use. First, there are a lot of them, and many of the commands to the same thing just with slightly different options. One early adaptor pointed out that the commands don&amp;#8217;t really make sense. After an initial phase of neglecting this comment, I had to agree eventually, because what was said was right. Thus version 0.3 started.&lt;/p&gt;
&lt;p&gt;Yesterday, I did publish version 0.3. Now, the whole code is in a single documented LaTeX document (dtx) and a LaTeX installer is provided to generate the skb package and the skb document classes. I also integrated documentation into the package, which means I did copy large parts of my earlier discussions and documents all command. Oh, and I did read a lot about using options in LaTeX commands, with the keyval package, and changed about 50% of the commands from the earlier versions. As a result, I could remove (consolidate) a lot of externally visible commands.&lt;/p&gt;
&lt;p&gt;There are some new commands now available:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;\skbfigure - load figures with some options&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\skbinput - load files with some options&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\skbheading - set heading text in a file loaded&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\skbheadingudc - set heading relatively to the last heading level (up, down, current) (experimental)&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\skbem - emphasise code using options&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\skbacft - rename of \SkbAcFT&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\skbacronyms - rename of \SkbLoadAcronyms&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\skbbibtex - rename of \SkbLoadBibtex&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;environment skbnotelist - itemize list with \parskip 0&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;environment skbnoteenum - enumerate list with \parskip 0&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;And some commands have been replaced:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;\SkbSetTitle =&amp;gt; replaced by \skbheading&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbFigure =&amp;gt; removed, closest is \skbfigure (but changed behaviour!)&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\listingInline =&amp;gt; replaced by \skbem[code]&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbEmIT =&amp;gt; replaced by \skbem[italic]&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbEmBF =&amp;gt; replaced by \skbem[bold]&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbAcFT =&amp;gt; replaced by \skbacft&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbLoadAcronyms =&amp;gt; replaced by \skbacronyms&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbLoadBibtex =&amp;gt; replaced by \skbbibtex&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbLoadRepository =&amp;gt; replaced by \skbinput[from=rep]&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbLoadPublish =&amp;gt; replaced by \skbinput[from=pub]&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbItemizeBegin =&amp;gt; replaced by \begin{skbnotelist}&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbItemizeEnd =&amp;gt; replaced by \end{skbnotelist}&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbEnumerateBegin =&amp;gt; replaced by \begin{skbnoteenum}&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbEnumerateEnd =&amp;gt; replaced by \end{skbnoteenum}&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbFigureBeamerTextWidth =&amp;gt; replaced by \skbfigure[width=##]&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbFigureBeamerTextHeight =&amp;gt; replaced by \skbfigure[height=##]&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbFigureBeamerNoResize =&amp;gt; replaced by \skbfigure[]&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;\SkbFigureBeamerTextWidthPDFMulti =&amp;gt; replaced by \skbfigure[multiinclude=##]&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The whole package is still under LPPL, so free for everyone to use. I also plan to submit it to CTAN (which is down this week due to network tests on one of their servers) in the near future. That would make the SKB available vie TexLife and provide for an easy mechanism to install it with TexLife-supporting LaTeX distributions.&lt;/p&gt;
&lt;p&gt;If you want to see the changes, please have a look at the new version 0.3 in sourceforge: &lt;a href="http://sourceforge.net/projects/latex-skb/."&gt;http://sourceforge.net/projects/latex-skb/.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are a few open issues of course, I am not finished with this project yet. A few commands need attention (rewriting) and the documentation is half old and half new and half non-existent. So there will be updates, hopefully soon.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/815022487</link><guid>http://vdmeer.tumblr.com/post/815022487</guid><pubDate>Thu, 15 Jul 2010 13:33:36 +0100</pubDate><category>skb-latex</category></item><item><title>IETF RFC, beside's the technical standards</title><description>&lt;p&gt;Some RFCs are not as serious as others. Beside the early stages, where poems made it into the internet standards, almost every year there is one (or more) RFCs for April fool&amp;#8217;s day. Look out for the publication on &amp;#8220;April 1&amp;#8221; in the &lt;a href="ftp://ftp.rfc-editor.org/in-notes/rfc-index.txt"&gt;RFC index&lt;/a&gt;, all &amp;#8216;normal&amp;#8217; RFCs do not carry the day of publication but only the month. And some RFCs are provide guidance and principles beyond the technical standards. Here is a list of them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Poems&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc527.txt"&gt;RFC 527&lt;/a&gt;: &amp;#8220;ARPAWOCKY&amp;#8221; by R. Merryman, May 1973&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc968.txt"&gt;RFC 968&lt;/a&gt;: &amp;#8220;Twas the night before start-up&amp;#8221; by V.G. Cerf, December 1985&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1121.txt"&gt;RFC 1121&lt;/a&gt;: &amp;#8220;Act one - the poems&amp;#8221; by J. Postel, L. Kleinrock, V.G. Cerf, B. Boehm, September 1989&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1300.txt"&gt;RFC 1300&lt;/a&gt;: &amp;#8220;Remembrances of Things Past&amp;#8221; by S. Greenfield, February 1992&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Fun&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc439.txt"&gt;RFC 439&lt;/a&gt;: &amp;#8220;PARRY encounters the DOCTOR&amp;#8221; by V. Cerf, January 1973&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1882.txt"&gt;RFC 1882&lt;/a&gt;: &amp;#8220;The 12-Days of Technology Before Christmas&amp;#8221; by B. Hancock, December 1995&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Half and half&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1178.txt"&gt;RFC 1178&lt;/a&gt;: &amp;#8220;Choosing a name for your computer&amp;#8221; by D. Libes, August 1990&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1925.txt"&gt;RFC 1925&lt;/a&gt;: &amp;#8220;The Twelve Networking Truths&amp;#8221; by R. Callon, April 1&amp;#160;1996 (also in the april fool&amp;#8217;s day list)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3254.txt"&gt;RFC 3254&lt;/a&gt;: &amp;#8220;Definitions for talking about directories&amp;#8221;, by H. Alvestrand, April 2002&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Anecdotal&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;the first RFC to address the Future Internet (in 2009/2010 one of &lt;em&gt;the&lt;/em&gt; hot topics) dates December 1991 (&lt;a href="http://www.ietf.org/rfc/rfc1287.txt"&gt;RFC 1287&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc5143.txt"&gt;RFC 5143&lt;/a&gt; dated February 2008 is obsoleted by &lt;a href="http://www.ietf.org/rfc/rfc4842.txt"&gt;RFC 4842&lt;/a&gt; dated April 2007&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Misc&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3271.txt"&gt;RFC 3271&lt;/a&gt;: &amp;#8220;The Internet is for Everyone&amp;#8221;, by V. Cerf, 2002&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Guideliness&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1118.txt"&gt;RFC 1118&lt;/a&gt;: &amp;#8220;The Hitchhikers Guide to the Internet&amp;#8221;, by E. Krol, 1989&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1855.txt"&gt;RFC 1855&lt;/a&gt;: &amp;#8220;Netiquette Guidelines&amp;#8221;, by S. Hambridge, 1995&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2901.txt"&gt;RFC 2901&lt;/a&gt;: &amp;#8220;Guide to Administrative Procedures of the Internet Infrastructure&amp;#8221;, by Z. Wenzel, J. Klensin, R. Bush, S. Huter, 2002&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3184.txt"&gt;RFC 3184&lt;/a&gt;: &amp;#8220;IETF Guidelines for Conduct&amp;#8221;, by S. Harris, 2001&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3227.txt"&gt;RFC 3227&lt;/a&gt;: &amp;#8220;Guidelines for Evidence Collection and Archiving&amp;#8221;, by D. Brezinski, T. Killalea, 2002&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3283.txt"&gt;RFC 3283&lt;/a&gt;: &amp;#8221; Guide to Internet Calendaring&amp;#8221;, by B. Mahoney, G. Babics, A. Taler, 2002&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3439.txt"&gt;RFC 3439&lt;/a&gt;: &amp;#8220;Some Internet Architectural Guidelines and Philosophy&amp;#8221;, by D. Meyer, 2002&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3470.txt"&gt;RFC 3470&lt;/a&gt;: &amp;#8220;Guidelines for the Use of Extensible Markup Language (XML) within IETF Protocols&amp;#8221;, by S. Hollenbeck, M. Rose, L. Masinter, 2003&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc4181.txt"&gt;RFC 4181&lt;/a&gt;: &amp;#8220;Guidelines for Authors and Reviewers of MIB Documents&amp;#8221;, by C. Heard, Ed., 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc4677.txt"&gt;RFC 4677&lt;/a&gt;: &amp;#8220;The Tao of IETF: A Novice’s Guide to the Internet Engineering Task Force&amp;#8221;, by P. Hoffman, S. Harris, 2006&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc5411.txt"&gt;RFC 5411&lt;/a&gt;: &amp;#8220;A Hitchhiker’s Guide to the Session Initiation Protocol (SIP)&amp;#8221;, by J. Rosenberg, 2009&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc5564.txt"&gt;RFC 5564&lt;/a&gt;: &amp;#8220;Linguistic Guidelines for the Use of the Arabic Language in Internet Domains&amp;#8221;, by A. El-Sherbiny, M. Farah, I. Oueichek, A. Al-Zoman, 2010&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc5706.txt"&gt;RFC 5706&lt;/a&gt;: &amp;#8220;Guidelines for Considering Operations and Management of New Protocols and Protocol Extensions&amp;#8221;, by D. Harrington, 2009&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;April fool&amp;#8217;s day&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc112.txt"&gt;RFC 112&lt;/a&gt;: &amp;#8220;User/Server Site Protocol: Network Host Questionnaire&amp;#8221;, by T.C. O&amp;#8217;Sullivan, 1971&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc748.txt"&gt;RFC 748&lt;/a&gt;: &amp;#8220;Telnet randomly-lose option&amp;#8221;, by M.R. Crispin, 1978&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1097.txt"&gt;RFC 1097&lt;/a&gt;: &amp;#8220;Telnet subliminal-message option&amp;#8221;, by B. Miller, 1989&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1149.txt"&gt;RFC 1149&lt;/a&gt;: &amp;#8220;Standard for the transmission of IP datagrams on avian carriers&amp;#8221;, by D. Waitzman, 1990&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1216.txt"&gt;RFC 1216&lt;/a&gt;: &amp;#8220;Gigabit network economics and paradigm shifts&amp;#8221;, by P. Richard, P. Kynikos, 1991&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1217.txt"&gt;RFC 1217&lt;/a&gt;: &amp;#8220;Memo from the Consortium for Slow Commotion Research (CSCR)&amp;#8221;, by V.G. Cerf, 1991&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1313.txt"&gt;RFC 1313&lt;/a&gt;: &amp;#8220;Today&amp;#8217;s Programming for KRFC AM 1313 Internet Talk Radio&amp;#8221;, by C. Partridge, 1992&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1437.txt"&gt;RFC 1437&lt;/a&gt;: &amp;#8220;The Extension of MIME Content-Types to a New Medium&amp;#8221;, by N. Borenstein, M. Linimon, 1993&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1438.txt"&gt;RFC 1438&lt;/a&gt;: &amp;#8220;Internet Engineering Task Force Statements Of Boredom (SOBs)&amp;#8221;, by A. Lyman Chapin, C. Huitema, 1993&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1605.txt"&gt;RFC 1605&lt;/a&gt;: &amp;#8220;SONET to Sonnet Translation&amp;#8221;, by W. Shakespeare, 1994&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1606.txt"&gt;RFC 1606&lt;/a&gt;: &amp;#8220;A Historical Perspective On The Usage Of IP Version 9&amp;#8221;, by J. Onions, 1994&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1607.txt"&gt;RFC 1607&lt;/a&gt;: &amp;#8220;A VIEW FROM THE 21ST CENTURY&amp;#8221;, by V. Cerf, 1994&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1776.txt"&gt;RFC 1776&lt;/a&gt;: &amp;#8220;The Address is the Message&amp;#8221;, by S. Crocker, 1995&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1924.txt"&gt;RFC 1924&lt;/a&gt;: &amp;#8220;A Compact Representation of IPv6 Addresses&amp;#8221;, by R. Elz, 1996&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1925.txt"&gt;RFC 1925&lt;/a&gt;: &amp;#8220;The Twelve Networking Truths&amp;#8221;, by R. Callon, 1996&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1926.txt"&gt;RFC 1926&lt;/a&gt;: &amp;#8220;An Experimental Encapsulation of IP Datagrams on Top of ATM&amp;#8221;, by J. Eriksson, 1996&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc1927.txt"&gt;RFC 1927&lt;/a&gt;: &amp;#8220;Suggested Additional MIME Types for Associating Documents&amp;#8221;, by C. Rogers, 1996&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2100.txt"&gt;RFC 2100&lt;/a&gt;: &amp;#8220;The Naming of Hosts&amp;#8221;, by J. Ashworth, 1997&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2321.txt"&gt;RFC 2321&lt;/a&gt;: &amp;#8220;RITA &amp;#8212; The Reliable Internetwork Troubleshooting Agent&amp;#8221;, by A. Bressen, 1998&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2322.txt"&gt;RFC 2322&lt;/a&gt;: &amp;#8220;Management of IP numbers by peg-dhcp&amp;#8221;, by K. van den Hout, A. Koopal, R. van Mook, 1998&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2323.txt"&gt;RFC 2323&lt;/a&gt;: &amp;#8220;IETF Identification and Security Guidelines&amp;#8221;, by A. Ramos, 1998&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2324.txt"&gt;RFC 2324&lt;/a&gt;: &amp;#8220;Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)&amp;#8221;, by L. Masinter, 1998&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2425.txt"&gt;RFC 2325&lt;/a&gt;: &amp;#8220;Definitions of Managed Objects for Drip-Type Heated Beverage Hardware Devices using SMIv2&amp;#8221;, by M. Slavitch, 1998&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2549.txt"&gt;RFC 2549&lt;/a&gt;: &amp;#8220;IP over Avian Carriers with Quality of Service&amp;#8221;, by D. Waitzman, 1999&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2550.txt"&gt;RFC 2550&lt;/a&gt;: &amp;#8220;Y10K and Beyond&amp;#8221;, by S. Glassman, M. Manasse, J. Mogul, 1999&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2551.txt"&gt;RFC 2551&lt;/a&gt;: &amp;#8220;The Roman Standards Process &amp;#8212; Revision III&amp;#8221;, by S. Bradner, 1999&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2795.txt"&gt;RFC 2795&lt;/a&gt;: &amp;#8220;The Infinite Monkey Protocol Suite (IMPS)&amp;#8221;, by S. Christey, 2000&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3091.txt"&gt;RFC 3091&lt;/a&gt;: &amp;#8220;Pi Digit Generation Protocol&amp;#8221;, by H. Kennedy, 2001&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3092.txt"&gt;RFC 3092&lt;/a&gt;: &amp;#8220;Etymology of &amp;#8220;Foo&amp;#8221;&amp;#8220;, by D. Eastlake 3rd, C. Manros, E. Raymond, 2001&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3093.txt"&gt;RFC 3093&lt;/a&gt;: &amp;#8220;Firewall Enhancement Protocol (FEP)&amp;#8221;, by M. Gaynor, S. Bradner, 2001&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3251.txt"&gt;RFC 3251&lt;/a&gt;: &amp;#8220;Electricity over IP&amp;#8221;, by B. Rajagopalan, 2002&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3252.txt"&gt;RFC 3252&lt;/a&gt;: &amp;#8220;Binary Lexical Octet Ad-hoc Transport&amp;#8221;, by H. Kennedy, 2002&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3514.txt"&gt;RFC 3514&lt;/a&gt;: &amp;#8220;The Security Flag in the IPv4 Header&amp;#8221;, by S. Bellovin, 2003&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc3751.txt"&gt;RFC 3751&lt;/a&gt;: &amp;#8220;Omniscience Protocol Requirements&amp;#8221;, by S. Bradner, 2004&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc4041.txt"&gt;RFC 4041&lt;/a&gt;: &amp;#8220;Requirements for Morality Sections in Routing Area Drafts&amp;#8221;, by A. Farrel, 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc4042.txt"&gt;RFC 4042&lt;/a&gt;: &amp;#8220;UTF-9 and UTF-18 Efficient Transformation Formats of Unicode&amp;#8221;, by M. Crispin, 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc4824.txt"&gt;RFC 4824&lt;/a&gt;: &amp;#8220;The Transmission of IP Datagrams over the Semaphore Flag Signaling System (SFSS)&amp;#8221;, by J. Hofmueller, Ed., A. Bachmann, Ed., IO. zmoelnig, Ed., 2007&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc5241.txt"&gt;RFC 5241&lt;/a&gt;: &amp;#8220;Naming Rights in IETF Protocols&amp;#8221;, by A. Falk, S. Bradner, 2008&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc5242.txt"&gt;RFC 5242&lt;/a&gt;: &amp;#8220;A Generalized Unified Character Code: Western European and CJK Sections&amp;#8221;, by J. Klensin, H. Alvestrand, 2008&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc5513.txt"&gt;RFC 5513&lt;/a&gt;: &amp;#8220;IANA Considerations for Three Letter Acronyms&amp;#8221;, by A. Farrel, 2009&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc5514.txt"&gt;RFC 5514&lt;/a&gt;: &amp;#8220;IPv6 over Social Networks&amp;#8221;, by E. Vyncke, 2009&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc5841.txt"&gt;RFC 5841&lt;/a&gt;: &amp;#8220;TCP Option to Denote Packet Mood&amp;#8221;, by R. Hay, W. Turkal, 2010&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Remembrance&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ietf.org/rfc/rfc2468.txt"&gt;RFC 2468&lt;/a&gt;: &amp;#8220;I REMEMBER IANA&amp;#8221;, by V. Cerf, October 1998, in memory of Jonathan B. Postel&lt;/li&gt;
&lt;/ul&gt;</description><link>http://vdmeer.tumblr.com/post/814987922</link><guid>http://vdmeer.tumblr.com/post/814987922</guid><pubDate>Thu, 15 Jul 2010 13:19:14 +0100</pubDate><category>sdo</category><category>ietf</category><category>rfc</category></item><item><title>LaTeX SKB at SourceForge</title><description>&lt;p&gt;Eventually, I found the time to out the LateX part of my knowledge base into the open. Have a look at &lt;a href="http://sourceforge.net/projects/latex-skb/"&gt;http://sourceforge.net/projects/latex-skb/&lt;/a&gt; for release 0.1. You&amp;#8217;ll find a zip archive with the actual LaTeX code, most of it, and a PDF version of the blog entries I did here. Have fun.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/776502732</link><guid>http://vdmeer.tumblr.com/post/776502732</guid><pubDate>Tue, 06 Jul 2010 12:22:20 +0100</pubDate><category>skb-latex</category></item><item><title>ITU-T Quick Links</title><description>&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.itu.int/ITU-T/recommendations/index.aspx"&gt;Recommendations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.itu.int/ITU-T/publications/recs.html"&gt;Publications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.itu.int/ngnproject/main_table.aspx"&gt;NGN Project Database&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Direct link to an ITU-T Recommendation&lt;br/&gt;    /rec/T-REC-[Series].[Rec-ID]&lt;br/&gt;whith [Series] being the character of the series (A-Z) and [Rec-ID] being the identifier of the standard (i.e. 901), so the link to X.901 is then&lt;br/&gt;    &lt;a href="http://www.itu.int/rec/T-REC-X.901"&gt;&lt;a href="http://www.itu.int/rec/T-REC-X.901"&gt;www.itu.int/rec/T-REC-X.901&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/652687190</link><guid>http://vdmeer.tumblr.com/post/652687190</guid><pubDate>Tue, 01 Jun 2010 09:18:58 +0100</pubDate><category>sdo</category></item><item><title>Standards for Prefixes for Binary Multiples</title><description>&lt;p&gt;The questions comes back frequently: what units do I use for bits and bytes? Which units are based on the power of 2, and which are based on the power of 10? Or as an example: what is the difference between KB, kB, kiloB and KiB?&lt;/p&gt;
&lt;p&gt;Beside certain flavours (and the marketing lingo one can find in advertisements), I wanted to know if there are normative sources for these units. There is one standard: &lt;em&gt;IEC 60027-2 (2005-08) - Letter symbols to be used in electrical technology - Part 2: Telecommunications and electronics&lt;/em&gt;. This one is adoped as European standard in EN 60027-2:2007 (&lt;a href="http://www.cenelec.eu"&gt;CELENEC &lt;/a&gt;lists this one). The IEEE has a &lt;a href="http://grouper.ieee.org/groups/260/1/"&gt;working group &lt;/a&gt;for the standardisation that publishes the &amp;#8220;IEEE Standard for Prefixes for Binary Multiples&amp;#8221; in  IEEE Std 1541-2002. Both documents are not for free.&lt;/p&gt;
&lt;p&gt;Free information can be found from the international &lt;a href="http://www.bipm.org/"&gt;BIPM&lt;/a&gt; and the american &lt;a href="http://www.nist.gov"&gt;NIST&lt;/a&gt;. BIPM publishes its &lt;a href="http://www.bipm.org/en/si/si_brochure/"&gt;International System of Units (SI)&lt;/a&gt;, and in that document one can find a note on binary multiples. One can find the SI document also at NIST, document number is &lt;a href="http://www.nist.gov/physlab/pubs/sp330/cover.cfm"&gt;sp330&lt;/a&gt;. In short the SI states the following: Use kilo/Mega/etc. when expressing decimal units, and the following when expressing binary units:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;kibi- (symbol Ki), 210 = 1,024;&lt;/li&gt;
&lt;li&gt;mebi- (symbol Mi), 220 = 1,048,576;&lt;/li&gt;
&lt;li&gt;gibi- (symbol Gi), 230 = 1,073,741,824;&lt;/li&gt;
&lt;li&gt;tebi- (symbol Ti), 240 = 1,099,511,627,776;&lt;/li&gt;
&lt;li&gt;pebi- (symbol Pi), 250 = 1,125,899,906,842,624;&lt;/li&gt;
&lt;li&gt;exbi- (symbol Ei), 260 = 1,152,921,504,606,846,976;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Wikipedia provides some short overviews of the IEC and IEEE standards:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/IEC_60027"&gt;&lt;a href="http://en.wikipedia.org/wiki/IEC_60027"&gt;http://en.wikipedia.org/wiki/IEC_60027&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/IEEE_1541"&gt;&lt;a href="http://en.wikipedia.org/wiki/IEEE_1541"&gt;http://en.wikipedia.org/wiki/IEEE_1541&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;and a longer explanation including historic context and current activities on binary prefixes:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Binary_prefix"&gt;&lt;a href="http://en.wikipedia.org/wiki/Binary_prefix"&gt;http://en.wikipedia.org/wiki/Binary_prefix&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://vdmeer.tumblr.com/post/619185037</link><guid>http://vdmeer.tumblr.com/post/619185037</guid><pubDate>Fri, 21 May 2010 14:34:43 +0100</pubDate><category>standards</category></item><item><title>Building the Document Repository, Part XIII (Final)</title><description>&lt;p&gt;&lt;strong&gt;Sample Code&lt;/strong&gt;&lt;br/&gt;Let&amp;#8217;s take the article that describes the state of the art in protocols. Remember, we have all the contents for that in our repository directory. Now we go the directory that has the published articles (&lt;span class="tt"&gt;published/articles&lt;/span&gt;) and create a new file say &lt;span class="tt"&gt;protocols.tex&lt;/span&gt;. This file will load everything necessary to create the published article. Have a look:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; &lt;ol&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadSty{vdmArticle}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt; &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\begin{document}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drLoadPubTitle{articles/tex/sota-protocols}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drLoadSty{vdmArticleStart}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drLoadPub{articles/tex/sota-protocols}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drLoadSty{drAcronyms}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \printbibliography&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drLoadSty{vdmArticleEnd}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\end{document}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt; &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\endinput&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Line 1 imports our main file. We know the relative path to it (we are 2 directories down from our repository root) and provide this as argument. This is the only time we actually need to know our position in the directory structure, thus it’s the only line that needs changes if the file is moved (note: ’file moved’ means relative to our repository root. If the whole repository moves, we only need to edit the first line in drMain.tex and can leave everything else untouched. Right?).&lt;/p&gt;
&lt;p&gt;Line 2 loads the article definitions we have done and then we can go directly to line 4 starting the actual document. Here, we first load the title from the directory &lt;span class="tt"&gt;published&lt;/span&gt; (line 5), then the extra article definitions (line 6), then the file that contains all content input (line 7) and finally we do something to process acronyms and add a reference list to our article (lines 8 and 9) before loading the final definitions (line 10) and closing the document and the input (lines 11 to 13). If all your articles always have an acronym list and a reference list, you could move the lines 8 and 9 to the &lt;span class="tt"&gt;myAticleEnd.tex&lt;/span&gt; file.&lt;/p&gt;
&lt;p&gt;Now we go one directory down (&lt;span class="tt"&gt;published/articles/tex&lt;/span&gt;) and create the file that includes all the content of our article and subsequently defines the structure of the table of content of this very article, which could look like this:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; &lt;ol&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadRep{state-of-the-art/protocols}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt; &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\section{Introduction}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadRepTitleSubSection{state-of-the-art/protocols/data_encoding}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadRepTitleSubSection{state-of-the-art/protocols/message-formates}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadRepTitleSubSection{state-of-the-art/protocols/protocols}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadRepTitleSubSection{state-of-the-art/protocols/protocol-services}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt; &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadRepTitleSection{technologies-sdo/omg/corba-giop}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadRepTitleSection{technologies-sdo/ietf/snmp-protocol}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadRepTitleSection{technologies-sdo/itu/x700-cmip}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadRepTitleSection{technologies-sdo/w3c/http}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Line 1 loads a file with content only from the content directory. In other words, there is some text right at the beginning of our article, without any special heading, like an abstract. Line 3 starts a section called ’Introduction’ and then we go and collect a few files with their title categorised as sub-sections in line 4, 5, 6 and 7. Reading the directory names, we can already guess what the introduction will be doing: it introduces general protocol concepts with regard to data encoding, protocol message formats, protocols themselves and protocol services. Finally, the lines 9 to 12 load a few files with their title categorised as sections. Using the directory names, we see that the remaining article describes the protocols GIOP defined by the OMG, SNMP by the IETF, CMIP by the ITU-T and finally HTTP by the W3C. This example will create a table of contents similar to this:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; 
&lt;ul&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;   1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  1&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;   1.1 Data Encoding . . . . . . . . . . . . . . . . . . . . . . . . 2&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;   1.2 Message Formats . . . . . . . . . . . . . . . . . . . . . . . 5&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;   1.3 Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . 7&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;   1.4 Protocol Services . . . . . . . . . . . . . . . . . . . . . . 9&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;   2 General Inter-ORB Protocol . . . . . . . . . . . . . . . . . . 10&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;   3 Simple Network Management Protocol . . . . . . . . . . . . . . 13&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;   4 Common Management Information Protocol . . . . . . . . . . . . 15&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;   5 Hypertext Transport Protocol . . . . . . . . . . . . . . . . . 18&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Job done. Now we can use &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; or &lt;span class="tr"&gt;PDF-&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; to compile our article.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/550377662</link><guid>http://vdmeer.tumblr.com/post/550377662</guid><pubDate>Mon, 26 Apr 2010 10:10:44 +0100</pubDate><category>skb-latex</category></item><item><title>Building the Document Repository, Part XII</title><description>&lt;p&gt;&lt;strong&gt;Implementation (final): All done&lt;/strong&gt;&lt;br/&gt;Finished! We have created everything we need, defined everything that needs to be defined and did a good job in separating most of the things that should be put in different places. Our now populated styles directory should have the following contents:&lt;/p&gt;
&lt;p&gt;&lt;span class="sitemap"&gt; 
&lt;ul&gt;&lt;li&gt;styles&lt;span class="comment"&gt;our repository styles&lt;/span&gt; 
&lt;ul class="sub"&gt;&lt;li&gt;&lt;span class="midd"&gt; &lt;/span&gt;drCommands.sty&lt;span class="comment"&gt;File with general commands&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="midd"&gt; &lt;/span&gt;drMain.tex&lt;span class="comment"&gt;File with all directory commands&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="midd"&gt; &lt;/span&gt;drMainCommands.tex&lt;span class="comment"&gt;File with all load commands&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="midd"&gt; &lt;/span&gt;drPackages.tex&lt;span class="comment"&gt;File loading general LaTeX packages&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="midd"&gt; &lt;/span&gt;myArticle.tex&lt;span class="comment"&gt;File with general definitions for articles&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="midd"&gt; &lt;/span&gt;myArticleEnd.tex&lt;span class="comment"&gt;File with definitions for the document part of an article&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="last"&gt; &lt;/span&gt;myArticleStart.tex&lt;span class="comment"&gt;File with definitions after finishing an article document&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/542962071</link><guid>http://vdmeer.tumblr.com/post/542962071</guid><pubDate>Fri, 23 Apr 2010 12:50:21 +0100</pubDate><category>skb-latex</category></item><item><title>Building the Document Repository, Part XI</title><description>&lt;p&gt;&lt;strong&gt;Implementation (cont.): Article styles - glue ’Stuff’ together for publishing&lt;/strong&gt;&lt;br/&gt;Now we can start thinking about the different types of publishing. Remember the structure of a &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; document. First, you declare the class, then you load whatever package you might need and define whatever definition you want, then you start your document with all the content and finally you end your document and the input. We have the generic commands/definition, but we still need something that helps us to define the commands/macros. And: these files (more than one) need to be loaded before starting the document. This way we cover everything (do we?, I think so). So we add three more files to our style directory: &lt;span class="tt"&gt;myArticle.tex&lt;/span&gt;, &lt;span class="tt"&gt;myArticleStart.tex&lt;/span&gt; and &lt;span class="tt"&gt;myArticleEnd.tex&lt;/span&gt;. In &lt;span class="tt"&gt;myArticle.tex&lt;/span&gt;, we declare the &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; document class and set some parameters for the rest of the documents. And we do load all the main files that we have already defined. An example:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; 
&lt;ul&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;%%set document class, I use memoir instead of the standard &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; classes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\documentclass[10pt,a4paper,extrafontsizes,twoside,onecolumn,openright,article]{memoir}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;%%change the margins, just to show some example code here&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\setlength{\oddsidemargin}{1cm}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\setlength{\evensidemargin}{0cm}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;%%load all the dr stuff&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadPkg{drCommands}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadSty{drPackages}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;%%ToC down to subsections&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\settocdepth{subsection}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;%%Numbering down to subsubsections&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\setsecnumdepth{subsubsection}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;%%change the sort order for biblatex&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\ExecuteBibliographyOptions{sorting=anyt}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The next file, &lt;span class="tt"&gt;myArticleStart.tex&lt;/span&gt;, contains everything we might want to add automatically right after the &lt;span class="tt"&gt;\begin{document}&lt;/span&gt; command. We could add information on the author, table of contents and change list behaviour (specific to the memior package):&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; 
&lt;ul&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\author{John Doe}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\maketitle&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\tableofcontents*&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\bigskip&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The last file, &lt;span class="tt"&gt;myArticleEnd.tex&lt;/span&gt;, contains everything we want to right before the \end{document} command. I didn’t find anything yet that I want to do here, so mine is empty. I guess we know how an empty file looks like, right?&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/540559509</link><guid>http://vdmeer.tumblr.com/post/540559509</guid><pubDate>Thu, 22 Apr 2010 12:47:29 +0100</pubDate><category>skb-latex</category></item><item><title>Building the Document Repository, Part X</title><description>&lt;p&gt;&lt;strong&gt;Implementation (cont.): drPackages - load what we need for our ’Stuff’&lt;/strong&gt;&lt;br/&gt;Now it’s time to think about all the package you might want to import. I do use a standard file (&lt;span class="tt"&gt;drPackages.tex&lt;/span&gt;) for loading all the stuff I might need. As far as I know it doesn’t hurt to load &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; packages, even if you don’t need them. And then there are some constrains with some packages. For instance one should load the hyperref package always last because it will overwrite some basic definitions other packages might touch as well.&lt;/p&gt;
&lt;p&gt;For references, we can add the automatic load of our &lt;span class="tr"&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt; references right after loading the biblatex package. We already have defined the command (in &lt;span class="tt"&gt;drMainCommands.tex&lt;/span&gt;, so simply add the following line and you’re done:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; 
&lt;ul&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadBib&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Acronyms are very similar, so just add the following command to load the acronym database:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; 
&lt;ul&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\drLoadAcr&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/537879553</link><guid>http://vdmeer.tumblr.com/post/537879553</guid><pubDate>Wed, 21 Apr 2010 09:57:18 +0100</pubDate><category>skb-latex</category></item><item><title>Building the Document Repository, Part IX</title><description>&lt;p&gt;&lt;strong&gt;Implementation (cont.): drCommands&lt;/strong&gt;&lt;br/&gt;The next general file contains all commands and macros we might want to use making our ’stuff’ looking good. I name this file &lt;span class="tt"&gt;drCommands.sty&lt;/span&gt;. Of course, one will have many commands and styles here and everyone has a personal flavour for what is needed and how it’s defined. So I will focus on three main macros here, which solve tasks that re-occur frequently. Let’s have a look at them first:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; &lt;ol&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drAcFT}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \ifAC@dua&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \ifAC@starred\acl*{#1}\else \acl{#1}\fi%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \else&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \expandafter\ifx\csname ac@#1\endcsname\AC@used%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \acs{#1}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \else&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \acs{#1}\footnote{\acf{#1}}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \fi&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \fi}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt; &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drFigure}[3]{&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \begin{figure}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \resizebox{\textwidth}{!}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;      {\includegraphics[width=\textwidth]{\drPathFig{#1}}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \caption{#2}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \label{fig:#3}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \end{figure}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt; &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drEmIT}[1]{\textit{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drEmBF}[1]{\textbf{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The first command &lt;span class="tt"&gt;\drAcFT&lt;/span&gt; depends on the acronym package and will create an acronym showing the short form in the text and the long form in a footnote (lines 1 to 10). This is very useful when acronym has to be introduced (because it’s actually used the first time in the article or the book chapter) but showing the long form in the text might disturb the reader. The defined macro does everything the &lt;span class="tt"&gt;\ac&lt;/span&gt; command does, except the long form is moved to a footnote.&lt;/p&gt;
&lt;p&gt;The next command &lt;span class="tt"&gt;\drFigure&lt;/span&gt; will load figures (line 12 to 19). It takes three arguments: file name, caption and label. It creates a new figure environment, puts a box into it (which is set to &lt;span class="tt"&gt;\textwidth&lt;/span&gt;, you might want to change that for two-column publications or add a similar new command). Inside the box we do include the figure (called graphic in &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;). The file name should have no extension if you are only using EPS and PDF sources. &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and &lt;span class="tr"&gt;PDF&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; will find the right figure. Add an extension for anything else, such as PNG or JPG. We then add a caption and a lable (I haven’t added checks whether the arguments contain text or are empty).&lt;/p&gt;
&lt;p&gt;The last two commands (lines 21 and 22) are used to generalise emphasising text using italic and bold font faces. One could use the respective &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; commands directly, but what if one has to change italic to slanted because a certain publisher style requests this? Easier to change it here than going through 32&amp;#160;&lt;span class="tt"&gt;.tex&lt;/span&gt; files, isn’t it? Don’t use these commands if you don’t think so :).&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/535367558</link><guid>http://vdmeer.tumblr.com/post/535367558</guid><pubDate>Tue, 20 Apr 2010 09:48:23 +0100</pubDate><category>skb-latex</category></item><item><title>Building the Document Repository, Part VIII</title><description>&lt;p&gt;&lt;strong&gt;Implementation (cont.): drMainCommands - All Commands to Load ’Stuff’&lt;/strong&gt;&lt;br/&gt;Now we take all the code we just wrote and define all the commands for published documents as well. Separating the commands (another separation, but this is one of the last&amp;#8230;promised) helps to see what category an included document belongs to (content or published). The complete set of commands looks like this:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; &lt;ol start="8"&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadRepTitle}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirRep/#1\drRepFileTitle}\title{\drVarTitleText}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadRepTitleChapter}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirRep/#1\drRepFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \chapter{\drVarTitleText}\drLoadRep{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadRepTitleSection}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirRep/#1\drRepFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \section{\drVarTitleText}\drLoadRep{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadRepTitleSubSection}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirRep/#1\drRepFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \subsection{\drVarTitleText}\drLoadRep{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadRepTitleSubSubSection}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirRep/#1\drRepFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \subsubsection{\drVarTitleText}\drLoadRep{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadRepTitlePara}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirRep/#1\drRepFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \newline\newline\textbf{\drVarTitleText}\drLoadRep{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt; &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadPubTitle}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirPub/#1\drPubFileTitle}\title{\drVarTitleText}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadPubTitleChapter}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirPub/#1\drPubFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \chapter{\drVarTitleText}\drLoadPub{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadPubTitleSection}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirPub/#1\drPubFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \section{\drVarTitleText}\drLoadPub{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadPubTitleSubSection}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirPub/#1\drPubFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \subsection{\drVarTitleText}\drLoadPub{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadPubTitleSubSubSection}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirPub/#1\drPubFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \subsubsection{\drVarTitleText}\drLoadPub{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadPubTitlePara}[1]{%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \drInput{\drRoot/\drDirPub/#1\drPubFileTitle}%&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;  \newline\newline\textbf{\drVarTitleText}\drLoadPub{#1}}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The last set of commands we need in &lt;span class="tt"&gt;drMainCommands.tex&lt;/span&gt; deal with directory information. We define two commands returning the directories for references and figures. This will help us later to define macros that will load &lt;span class="tt"&gt;.bib&lt;/span&gt; files and any figure without having to deal with any directory information anymore:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; &lt;ol start="43"&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drPathBib}[1]{\drRoot/\drDirBib/#1}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drPathFig}[1]{\drRoot/\drDirFig/#1}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We could try and add more commands and macros here, but most of the other definitions make only sense when we have identified the &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; document class (i.e. we can load packages only when we have the document class defined and many commands would use specific packages). So we have finished our two main files now.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/525458118</link><guid>http://vdmeer.tumblr.com/post/525458118</guid><pubDate>Fri, 16 Apr 2010 10:43:30 +0100</pubDate><category>skb-latex</category></item><item><title>Building the Document Repository, Part VII</title><description>&lt;p&gt;&lt;strong&gt;Implementation (cont.): drMainCommands - Loading ’Stuff’ commands, line by line&lt;/strong&gt;&lt;br/&gt;To load the content/title pairs of files we will need to do a bit more effort. Basically, &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; offers six different elements for structuring text: title, chapter, section, sub-section, sub-sub-section and paragraph. Each of them can be processed identically, with titles and paragraphs being the exceptions that proofs the rule. To load a title into the &lt;span class="tt"&gt;\title&lt;/span&gt;, we only need to use this LaTeX command and handover the &lt;span class="tt"&gt;.title&lt;/span&gt;. For all other structural elements we load the respective title (&lt;span class="tt"&gt;.title&lt;/span&gt; file) and the actual content (&lt;span class="tt"&gt;.tex&lt;/span&gt; file).&lt;br/&gt;&lt;br/&gt;Before we define the actual commands for the headings, we have to define a helper function. Reason for that is, that if we simply input the title file we have to protect the input command to be written into the &lt;span class="tt"&gt;.aux&lt;/span&gt; file. The negative side effect of that is that pdf links are now showing the filename instead of the actual section of chapter title. So, we read the chapter/section file into a variable, and then use classic latex to create the headings. That way, everything works as if we would use the heading commands straight away.&lt;br/&gt;&lt;br/&gt;First, we define a variable that we can use (line 1 in the following code example). Next, we define a new command &lt;span class="tt"&gt;\drInput&lt;/span&gt; which will do the job (line 2-6). Within &lt;span class="tt"&gt;\drInput&lt;/span&gt;, we first open the file (line 3), then read its contents into &lt;span class="tt"&gt;\drVarTitleText&lt;/span&gt; (line 4) and then close the file.&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; &lt;ol&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\def\drVarTitleText{}&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drInput}[1]{%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \immediate\openin10=#1\relax%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \immediate\read10 to\drVarTitleText\relax%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \immediate\closein10\relax%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;}&lt;/span&gt;&lt;/code&gt;% &lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Now we can look into the commands for the headings and loading all content/titel pairs, using our little helper function. Let’s start with the command for titles:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; &lt;ol&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadRepTitle}[1]{%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \drInput{%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;        \drRoot/%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;        \drDirRep/%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;        #1%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;        \drRepFileTitle}%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    }%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \title{\drVarTitleText}%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;}%&lt;/span&gt;&lt;/code&gt; &lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Line 1 define the command &lt;span class="tt"&gt;\drLoadRepTitle&lt;/span&gt; with one input parameter. Line 2 calls &lt;span class="tt"&gt;\drInput&lt;/span&gt; with the all necessary information concatenated as string: the root directory first (line 3), followed by the repository directory (line 4), the file name from our argument list (line 5) and finally the extension of the title file (line 6). Line 7 then calls &lt;span class="tt"&gt;\title&lt;/span&gt; with the global variable that now contains the actual title.&lt;/p&gt;
&lt;p&gt;To load a content/title pair, we need to first use the appropriate structure command and handover the content of the &lt;span class="tt"&gt;.title&lt;/span&gt; file and then load the &lt;span class="tt"&gt;.tex&lt;/span&gt;. For the &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; command &lt;span class="tt"&gt;\chapter&lt;/span&gt; the whole commands looks like follows:&lt;/p&gt;
&lt;p&gt;&lt;span class="source"&gt; &lt;ol&gt;&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;\newcommand{\drLoadRepTitleChapter}[1]{% &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \chapter{\protect\input{% &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;        \drRoot/% &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;        \drDirRep/% &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;        #1% &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;        \drRepFileTitle}% &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    }% &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;    \drLoadRep{#1}% &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;span class="html"&gt;}% &lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The lines 1 to 8 are similar to &lt;span class="tt"&gt;\drLoadRepTitle&lt;/span&gt;. Line 9 then includes the actual repository file using the command we have already defined (line 3 in the code for &lt;span class="tt"&gt;drMainCommand.tex&lt;/span&gt; from an earlier post). We can now define the commands for section, sub-section, sub-sub-section and paragraph following the example for chapter. For paragraph we want to add a couple of &lt;span class="tt"&gt;\newline&lt;/span&gt;, simply to make pretty sure that &lt;span class="tr"&gt;&lt;span class="LATEX"&gt;L&lt;span class="A"&gt;A&lt;/span&gt;&lt;span class="TEX"&gt;T&lt;span class="E"&gt;E&lt;/span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; understands that we do start a new paragraph.&lt;/p&gt;</description><link>http://vdmeer.tumblr.com/post/522860932</link><guid>http://vdmeer.tumblr.com/post/522860932</guid><pubDate>Thu, 15 Apr 2010 09:14:25 +0100</pubDate><category>skb-latex</category></item></channel></rss>
