In technical writing, it is a well-understood practice to expand the meaning of
an abbreviation/acronym on its first usage. It is also sometimes
recommended to additionally expand it after some stretch of text (I've
seen suggestions as frequently as each paragraph, to infrequently as
each section/chapter; I am a fan of re-expansion after a page break), to
remind the reader in case they forgot since they first saw it.

I was wondering if anyone had ever written a macro to automate this? I
haven't actually made any attempts myself, which I know is a little
rude, but I don't really have need of one right now, and am moreso
curious about the techniques that could be used to accomplish this. What
I was particularly pondering was the process to employ to decide when to
expand the name additional times -- the "reader reminder" I mentioned at
the start. Perhaps traps could be used for this? I don't have much
expertise with them; only time I've tried to use one I horribly
failed...

You could also couple the abbreviation mechanism with your
paragraph/sectioning macros to have them trigger a "reset", if you
wished to trigger re-expansion every paragraph or section, as mentioned
before. This doesn't help us if we have a metric to re-expand
abbrevations after X words/characters, or after a page break, though.

One aspect of this I had *not* considered, was a ergonomic way of
handling how/where the abbreviation(s) are defined. I have written a
script before for this task (working with abbreviations) for my webpage
authoring, but I was content to write the expansion everytime I
referenced the abbreviation, even if it didn't show in the text.
There was also a list of abbreviations with well-known definitions
hard-coded in the script, such as HTML and CSS... I never said it was a
super elegant program; it's just a script I use! This is probably easily
handled in roff with strings and/or macros; a user could define strings
or macros with the abbreviation and its definition, and our abbreviation
macros could probably work over these in a generic way?
-- 
S.

Reply via email to