Forester for the Woodland Skeptic

This is a companion discussion topic for the original entry at

@mattecapu it’s what you asked for.

1 Like

Amazing!! Just when I wanted to start with it. Very timely.

(Just a note, my last name is spelled Capucci not Cappuci :P)

EDIT: I’ll log here my experience setting this up

  1. I have to install Nix, the README links to some non-official repo which asks me to run a curl from their private website. Sus. I go to the official one and luckily it works like a charm.
  2. Clone and cd, standard, done.
  3. nix develop “doesn’t exist” apparently, the correct way to invoke that is nix --extra-experimental-features nix-command --extra-experimental-features flakes develop (I’m really perplexed by whomever developing Nix thought this was acceptable UX, but anyway). Thanks to this likewise perplexed user on Nix’s Discourse.
  4. I was too hasty running the above, reading on it says it’s going to install the entirety of TeXLive anew, and I had to run another command to just use the one which is already there (I understand the idea of sandboxed envs but my guess is 99% of users like me don’t really need to sandbox their TexLive installations). I would make this clearer in the README.
    Perhaps I should make a shell script for installing Forest that solve (3) and asks the user explicitly whether they want to go on with the minimal install or not.
  5. Build, serve, done!

Now I’m trying to understand how to create a page… The post says:

Forester is written in .tree files in the trees/ directory. Trees are named namespace-XXXX, where XXXX is a number in base 36 (using digits 0-9 then A-Z), and namespace is typically something like the initials of the person writing.

But under thre trees/ directory in the repo I see folders and loose files alike, so it’s not clear to me where to create my file. I suspect the answer is it doesn’t matter, and I can create my own folder if I want to. So I’ll do that.

Actually, I’m egocentric so first thing I’ll do is create a webpage for myself under authors/. I clone Owen’s page. I edit my name, now under institution I see Owen used [[toposinstitute]] which I guess is a way to link the corresponding page in the institutions/ folder? I’m a bit confused.

Uhm maybe the problem is I didn’t read on in your post. It’s explained later:

Additionally, pages within the same forest can be referenced just by their tag, as in [Home page](lc-0001), or “wikilink style” with [[lc-0001]], which produces a link titled by the title of the referred page, like so: LocalCharts Forest. Note that internal links have a dotted underline. Moreover, on a given page X, one can see all of the other pages that point to X via internal links.

I’m left with some questions the answer to which you might want to add to the original post, Owen:

  1. What is a tag?
  2. What is a taxon?
  3. Am I supposed to generate base 36 numbers to name my pages? What’s the rationale I should be following?

I know the answer to these questions can be found in the original Forest repo, probably, or with enough googling, but I’d like to (help you) make this intro a pretty self-contained starter for LocalCharts Forest.

Anyway, I think now I have enough info to go and write something. See you soon in Berkeley!

1 Like

I added your three things!

1 Like

Thanks Owen, this is helpful for me too! Also laughed at the opening quote.


So I spend the better part of my LHR-SFO flight writing in Forest… I’m very pleased. Once you get used to some quirks it’s pretty great, I like the transclusion system, and the compiling is so fast. I ended up writing like 10 new pages.


You should enable comments on lc-0001 with \meta{comments}{true} to cross-post it to localcharts! Even though it’s just a draft, might inspire others to do similar things!

I didn’t crosspost because I see those more as ‘personal notes’ than a post, but then I might do it anyway if you think it’s a good idea

1 Like

Go for it! I enjoyed reading the notes.

I figure it makes sense to aggregate some meta-discussion of the forest here…

First, it’s a minor thing, but the font for the tags having such similar “O” and “0” symbols is a bit unfortunate:


Second, is there a good convention for trees which are essentially transscripts of existing definitions/theorems/etc, which you want to attribute to the right author?

In a normal document, I would write something like Theorem (Mac Lane, [5]), followed by the theorem. If my theorem has a name, I can put such a reference in the title, something like

\title{Coherence theorem for monoidal categories ([[saunders-mac-lane]], [[cwt]])}

But this is not going to work very well if my theorem doesn’t have a name.

I can put such a citation in the body of the theorem, of course, but I feel this is going to be awkward if people transclude the theorem statement - they would have to include the bibliographical note as well, which seems clunky.

Of course, I can also write a bibliographical note in the context where I originally put the theorem:

\p{The following theorem is due to [[saunders-mac-lane]], see [[cwt]]}

But I do want the bibliographic information to be easy to find for anyone looking at just the tree efr-WXYZ.tree - in particular, I don’t want anyone to assume I am the original author just because I put \author{eigil-rischel} at the top!

1 Like