To take a step back, a plain text legal solution must:

  1. Use markup that gives easy access to most semantic elements a lawyer needs to write.
  2. Add a styling language or template that interprets 1 and adds any missing components.