I often see on this site an at the StackExchange the repeating questions of how to rearrange some expression, that Mathematica "likes" to keep in one form, but the user prefers another one. It is like in this trivial example:
(x^2 - 1)/(x + 1) // Simplify
that Mathematica returns -1+x, rather than x-1 that might be wished by the user.
I have seen many answers to this questions, and gave few mine. The problem here is that the answers are non-universal: they strongly depend upon the expression in question. Besides, they require some additional programming, and the more complex is the formula to sort, the longer will be the part of the sorting code.
It seems that the problem of sorting terms of analytic expressions in the desired order might be solved, if one could assign tags to the terms to be sorted, and then sort the terms according to a specified list of such tags.
Now comes my question, do you know how to apply tags to expression terms?
I have seen an analogous functionality in the Presentation Master, the package of David Park. There, however, the tags are used to be assigned to sub expressions, the held part of the expression in question. David, is it possible to assign tags to expressions that are not held?