home.social

#bikeshedding — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #bikeshedding, aggregated by home.social.

  1. CW: #LaTeX, #Emacs, and #pronouns

    It probably violates a lot of the usual conventions of #LaTeX #style but I can now \usepackage{catarcher} and have a quasi-nice interface to separating a character (or place, or organization) within a story from their function within it.

    Yes, you are allowed to think of a feline with a bow and arrow. There may be a #ttrpg motivating some of this. Er what, the focus group hates poncy elf men? We can fix that!

    \MakeNPC{protagonist}{Kragfeet}{Borhona}{f}{surname-first}
    \InductNPCIntoSpecies{protagonist}{dwarf}

    And later in the document...

    Upon \NPCpossessiveadjective{protagonist} person, \NPCfullname{protagonist} bears a letter written in the \NPCspeciesadjective{protagonist} language.

    There are shorter forms of the #macros that end up boiling down to unique eyesore macros that yield fixed strings after all the #recursive expansion is said and done. At the bottom of it all is some games with \expandafter\def and \csname ... \endcsname that build up a bunch of keyed lookup tables.

    The *roff equivalent (including #groff and #heirloom doctools) is more straightforward thanks to the .ds request. You could use macros in the body of the document but predefined strings fit the visual flow better.

    .MakeNPC protagonist Kragfeet Borhona f surname-first
    .InductNPCIntoSpecies protagonist dwarf

    Upon \*[paprotagonist] person, \*[fuprotagonist] bears a letter written in the \*[spadjprotagonist] language.

    In either case, you refer to the character by their function within the document. And when the focus group inevitably changes their mind again, you'll only need to go to one place to change just about every reference in the document. You still must proofread everything to ensure it makes sense after the changes. (Sorry.)

    Cue #bikeshedding about whose eyesore macros are less ugly.

    Can I write an entire document in it? Yes. Is it worth it? It yields attractive output. Does it do so with tolerably little tearing of hair and gnashing of teeth? I don't know yet. #Emacs and #orgmode help in some ways but hinder in others. Aren't #tradeoffs fun?