Skip to content

First I am silent for exactly 3 months, now 2 blog posts in two days. But I can make the interesting announcement I promised yesterday.

During the summer I created a new website for the Stacks project (my announcement, official announcement). At that moment we’ve toyed with the idea of making a full-fledged online view, but the lack of a good xypic parser made this impossible. And what would the Stacks project be without commutative diagrams? At that point XyJax was already around, but it was incapable of rendering commutative diagrams, and it was inactive. Yet a few months ago it became active again, and after a request the developer implemented commutative diagrams (thank you!).

Now every tag has by default the online view of a tag (code view is still available if you want). A tag’s TeX code is processed in PHP to get something that approximates the pdf, after which MathJax and XyJax are let loose to render all math. Besides that, everything is tightly linked together so if you’re viewing a section’s tag (e.g. stacks:tag/06U0) you can:

• click on numbered theorems to go to their specific tag page;
• use all cross-references between tags;
• jump back and forth between sections.

So point your browser to the browse page, pick your favourite chapter and section, and you can start reading the Stacks project without opening any pdf’s, just by clicking around through the entire project. Don’t forget there is a powerful search functionality too.

If you encounter any bugs, please contact me. I am aware that it isn’t working properly in Opera at the moment.

About these ads

From → LaTeX, math

2 Comments
1. Brent Longborough permalink

A remarkable work; obviously a labour of love.

From the point of view of the LaTeX community, it would be interesting, if you have time, to hear your comments on the LaTeX coding conventions used (§71.1).

I, for one, am interested in understanding the background to three of the conventions, which at first sight appear to be, in some sense, ‘strange’: the use of \medskip\noindent for paragraphs (which I would imagine be better as a simple blank line, coupled with the appropriate redefinition of \parskip and \parindent in the preamble; the use of $$ rather than $ and $ as display maths delimiters; and the categorical prohibition of macros. Clearly there are no absolutes here (with the possible exception of $$), but I think it would be interesting for everyone to know the route by which you arrived here.

2. Thank you for your kind words!

These conventions were decided by Johan (and maybe some other early collaborators) back in 2008–2009 (see https://github.com/stacks/stacks-project/commits/master/conventions.tex). From a TeXnical and typographical point of view your first two remarks are absolutely on spot. I wasn’t there when these were decided upon (I barely knew TeX back then, let alone I was aware of the existence of the Stacks project) and I would like to see these conventions gone. For the reason behind them you should ask Johan.

The third remark on the other hand has been a blessing for me: I don’t have to parse preambles (or other locations) for macro definitions, \DeclareMathOperator‘s or the like, to correctly parse the TeX snippets corresponding to a single tag. From a typographical standpoint it is not perfect though, I realize that. But Johan is really strict on his writing, everything is remarkably similar so at some point we might / will make typographical improvements to the Stacks project. The only downside is that checking 3430 pages for potential glitches after some search and replace magic isn’t easy…