## Draft print of Principia Narcissus from Lulu

It just arrived this morning:

It looks pretty good, but there are definitely a few things I need to fine tune. For example, I need to center the text on the spine a little better.

Update: If you clicked through to Flickr, you would have seen my comment on it, but just in case, I should thank Tim Lindenbaum for kindly permitting me to use his daffodil photograph as the basis for the cover.

## Implementing my dissertation

Okay, I am finally getting around to writing something, as requested, about how I implemented my dissertation.

I used pdfLaTeX for several reasons:

• I needed to integrate material from existing papers written in LaTeX.
• Using standard LaTeX means that you need to fiddle dvips/dvipdf so that that they will find the appropriate fonts. Using pdfLaTeX requires some configuration too, but it all happens in a single step.
• It has support for microtypography, which generally produces better looking text with fewer bad breaks.

I had thought about trying luatex to allow me to automate a few things better, but I decided against it because it might have slowed me down.

I then used the memoir class. I was able to use that with relatively little configuration. The only major change I made from the defaults involved the configuration for the chapter titles. I did however wind up needing to use a slightly modified version of the class file itself. This was necessary so that I could use raised dots (·) instead of periods as separators; there was simply no way to configure this for some parts of the document otherwise.

For the bibliography I used Chung-chieh Shan's McBride BibTeX style. I made a slight change to that so that the three emdashes for repeated authors did not have space in between them.

I use Didier Rémy's mathpartir package for typesetting inference rules.

I used my tool otftofd to generate all the LaTeX infrastructure for the OpenType fonts I used. I hacked up some custom OMakefiles for the TrueType fonts. The bits I used for Dejvu Sans Mono are now part of the package I have made available.

I wrote a small sed script for converting my examples written in InforML with some special markup in comments into a form that could be accepted by LaTeX.  This mostly involved escaping some characters and inserting uses of my macro for highlighting text.

That is everything I can think of from a high level.  If there is something specific I did in my dissertation that you would like to know about, let me know.

## Caution: style may fluctuatate

As you may be noticing, I am gradually moving to a new theme for the site.  I do not have a precise finished product in mind, but I am aiming for greater simplicity.  I am hoping to converge on something over the course of the coming week.

## New version of the DejaVu Sans Mono package

I just finished fixing the bugs Brian noted in the previous version.  You can grab it using darcs get from http://free-the-mallocs.com/repos/dejavu-sans-mono.  This version also includes support for the oblique members of the family.  These are accessed using \textsl{...} rather than \textit{...}.  If you try it out, let me know if you have any problems.

## Why I hate CSS

I was fiddling with the site's formatting yesterday, trying to better utilize available display space by using relative sizing for the sidebar and main column. Unfortunately, on larger displays (and still noticeable on smaller ones) there is this huge space on the left-hand side.

I have not been able to figure out what is causing it. I've tried adjusting the padding and margins on all of the relative <div> blocks and even tried using the Aardvark Firefox extension to figure it out. What it is probably going to take is to replace to fancy CSS styling of the <div> blocks with old-fashioned HTML tables.

## Type Generator

Last weekend, I stopped into mudac, the museum for design here in Lausanne, for a few hours. The primary reason for the visit is that another postdoc here at EPFL, Ingmar, had told me that that as part of an exhibit on the 2007 recipients of Swiss Federal Design Grant there was a program on display that let you play with a the parameters of a typeface.

It was interesting, but I would have to say that I was impressed. The software Type Generator was designed by Remo Caminada and Ludovic Varone, and programming in Flash by Patrick Vuarnoz.

I think my impression may been coloured by the fact that the user interface was entirely in German, and therefore it was quite difficult to puzzle out what sliders did which things.  However, I felt that it was very difficult to create a reasonable typeface merely by tweaking the parameters.  I felt that there parameters could have been better constrained to prevent the user from adjusting them in ways that simply exceeded what was sensible.  It very easy to tweak some parameter and suddenly have spikes sprout from all the letters because you had caused some curve to extend in the wrong direction.  It could be argued that having such fine controls give the designer greater freedom, but it feels like the wrong level of abstraction.  I think Knuth's Computer Modern, for example, gives you much more sensible parameters to work with.  The version of Type Generator that was available as a demo was clearly not intended to be a completed production development tool, so perhaps some of these complaints would be resolved as it is polished.

## Initial version of Gentzen nearly complete

Gentzen is nearing completion, or at least the version that contains all the symbols I need for my dissertation.

I'm not very happy with how \preceq has turned out, but I am not sure just yet how to improve it.

I needed to create \cap and \cup because of a new table I created based upon one committee member's suggestion.

I create a large left brace,{, to replace the standard one I had been using temporarily.

I also needed to create a long version of \Rightarrow, because I used \implies in a few places and just discovered that was created by overlapping \Rightarrow and =.

Finally, I made a few adjustments to \forall and \in based upon the feedback I had received. I'm not sure how obvious the changes are.

I also just noticed that there must be something wrong with the asterisk. I think I have that sorted out in my working version now.

## Another competitor

Some e-mail from the MinionPro LaTeX package mailing list this morning reminded me that it is worth also pointing out MnSymbol and providing a comparison. It is generated from a METAFONT source, where the vast majority of its symbols are rendered using round brush.

MnSymbol is intended as companion for Adobe Minion Pro, but I personally do not really see that. The symbols that do come with Minion Pro all have flat endpoints. It does not come with \llbracket and \rrbracket, so I've replaced those with capital X.

## STIX symbol sample

I just put together the following table of symbols from the STIX fonts for comparison. However, comparing this image with the others is made difficult by the fact that it is was generated by hand in InkScape (grumble, Adobe CS2 and Leopard, grumble) rather from a LaTeX document. Therefore, it was difficult to accurately rasterize the vector image such that I know the relative sizes and weights are accurately portrayed.

Update: oxlahun noted that I forgot to put \leadsto in the table.

## Competing math fonts

Last I had read, the STIX Font Project was aiming for a September 2005 release of their fonts for mathematical and scientific typesetting. They finally made a beta release on October 31, 2007. They are designed to be »Times compatible«, so I am not sure how they would look with AMS Euler. The beta release does not include LaTeX infrastructure, so I do not expect I will take the time to make a detailed comparison with Gentzen. Maybe later tonight I will try to prepare the STIX version of the table of glyphs I have been showing as I make progress.

I'm not sure I can really call it competition because there is no way I can hope to produce so many glyphs by myself, not to mention a bold weight version of all the glyphs. If I was using a more declarative approach, say using METAFONT, it would be a little easier to create the vast number of arrows and things by reusing common components. However, I have not really found a way to generate nice high resolution proofs using METAFONT. I have been kind of considering Gentzen to be a lifelong project (or at least until I get bored with it), so maybe I will eventually write something like METAFONT that is more modern.