When it comes to something like citation formats for bibliographic records, one-off conversions are really different from what I’m looking for. Even an old-style macro or widget is not dynamic enough; what’s needed is a procedure (or something similarly powerful) that handles three things dynamically:
(a) corrections to the data (When I fix a misspelling in the author’s name, that fix flows into all citation strings “downstream” that draw on that field)
(b) adjustments to the standard (I take a project tailored to confirm to one standard, and now — without changing any of the substantive data — I need a way to get citations appearing in MLA standard this time around, ideally by touching only one setting, in a way that can toggle back and forth, so I don’t destroy the work put into one standard in order to access another standard)
(c) complex embedding, so this FlexTitleCase procedure (or whatever) can be called within a larger wikitext-based frame, and any tweak to the details of the FlexTitleCase procedure (or whatever it is) is a one-time/one-place change that fixes everything “downstream” without needing to dig around in the bowels of the larger viewtemplate (or whatever).
I suspect that most people who would care about a precise titlecase (as in this thread’s title) are interested in dynamic flexibility — or will be, down the road, if their projects grow enough.
But perhaps one use-case for a one-time-conversion tool comes up in the data cleanup phase. Say I get some incoming bibtex records that are in ALLCAPS. This needs to be fixed, because I can’t generally trust any algorithm to parse whether any of the non-initial words in the title need capitalization. There’s no information embedded in a DUMBCAPS record that would be lost by overwriting with lowercase, and I need to level the strings into lowercase in order to add careful capitalization info back in. So I would benefit from a “Impose sentence-case on this mess” button as the first step in cleaning it up. (If I’m lucky, there’s no further cleanup needed for some records.)
Of course, in the big picture, it would be most efficient to apply this not in a one-off way, but with a whole batch of records (on specific fields or across fields) — perhaps through the Tiddler Commander tool that @Mohammad has developed, or even an option at the import-records stage.
I do imagine, though, that I’d be somewhat nervous about tinkering with such a conversion action affordance (that is, tinkering to make it handle complex contextual details via regexp), since if there’s a glitch in its implementation, data can be lost — perhaps even in ways that wouldn’t be noticed until later.