Benja Fallenstein wrote:
I'm thinking that following HTML's model may make sense: in addition to *emphasis* and **strong**, have `italics`:i: and `bold`:b:. So if there is no semantic class matching what you need, you just use one of these two.
I'm reluctant to enable explicit italic & bold roles. Even in HTML, their use is discouraged (although not deprecated... yet).
Another option would be being able to declare your own interpreted text roles and assigning them a class: Then, the writers would handle all of these in the same way, and the decision on how to render them would be a stylesheet issue. E.g., ::
.. role:: foreign f
This is the `de facto`:f: standard.
And in a CSS stylesheet::
.foreign { font-style: italic }
That might be OK for HTML, but wouldn't apply to other formats. And how would it be represented in the intermediate data structure (the doctree)? As ``<phrase class="foreign">``? That's the equivalent of ``<interpreted role="foreign">``, which was dropped in favour of concrete elements (e.g., ``<foreign>``). It might be feasible to declare a new role which is a modification of an existing role with a "class" attribute. Something like:: .. role:: foreign f :base: emphasis :class: foreign This would result in ``<emphasis class="foreign">`` when used. It would need a good use case though. And it would still be problematic for non-HTML output. -- David Goodger http://starship.python.net/~goodger Programmer/sysadmin for hire: http://starship.python.net/~goodger/cv