In an earlier post I wrote about refactoring my LaTeX code. I probably should’ve led off with how I want to change what it does, to explain why to refactor.
Support More Document Styles
Right now, all my published documents have much the same style. This style has changed slightly over time, but fundamentally they’re all the same style.
I want more options. So far, Echelon Reference Series has always been
- two columns
- document headings all in the same style
- object headings in more or less the same style (mostly differ by color, font size, and how the page/column breaks before the object heading)
So are Echelon Explorations books, and Echelon Expansions, and so on. Within my game publishing, this is fine, it gives me a basic and consistent trade dress.
If I decide to package things more like a magazine or journal, though… do I really want it looking the same? Or a recipe book? Or a database dictionary or other technical work?
I’ve experimented with other styles, but it’s generally been all or nothing.
I want to have my existing style available, but also one more based on Edward Tufte’s designs. I can think of other things I’d want distinct styles for, these are only the first two.
More Configurable Options
In exploring my options for presenting content, I realized I might want to mix things differently. For example, the ‘print friendly’ and ‘print hostile’ options I’ve described only touch on colors. The layout is the same, which is ‘tree-unfriendly’ (I use lots of white space). I can imagine wanting to have something closer to regular Pathfinder conventions.
- Class features and subfeatures use ‘inline headings’ (entity name in bold or italics, followed by entity content). I use full headings, with extra decorations and, where available, ‘TLDR blocks’ and other supplementary information.
- Some items such as spells use full headings, but feats use marked up text with no decorations.
Right now, I can only readily support one style for entity headings, globally and specifically. I’d also like to have multiple print styles for the same source file:
- Printer Hostile: most color, most space used, IMO looks best
- Printer Friendly: minimal color, most space used, probably looks almost as good
- Printer Really Friendly: minimal color and minimalist headings, less space used. This includes using inline headings for some objects. Pathfinder convention, basically. Loses some utility, but takes less paper and probably aligns better with people accustomed to Pathfinder convention.
I have a couple options to implement this. I can flesh out the taxonomy file to accommodate the richer options. I can also separate Taxonomy-for-searches from Taxonomy-for-presentation.
My data architect purist side leans toward the second option: definition and presentation are different things. The pragmatic programmer side of me doesn’t like that one because it can mean maintaining two copies of the taxonomy. What happens if they get out of step?
Then again, there’s the forward-thinking integrationalist side of me. Each taxonomy entry is supposed to be unique. As long as the presentation entries match the names, it should be good. The taxonomy needs to be maintained, but the presentation file doesn’t need to keep the same structure.
If I separate them that thoroughly, I’ll want to have a way to integrate them in a visual way. I’ll need a way to visually reconcile them.
… I think this will solve my ‘how to specify on the command line without recompiling everything’ problem, too.
Closing Comments
This post illustrates — to me, at least — why I write these posts. Writing it down in a way that will hopefully make sense to others helps me make sense to me.
Think of it as literary rubber duck debugging. These things are weird, but work.