I’ve been working through the bibliography formatting options, and
while everything seems to be coming together okay for citeproc-js,
there are issues around the items above that probably warrant a little
extra explanatory text in the schema. The syntax of these options
also might be worth reconsidering after CSL gets past the 1.0
Re second-field-align, the meaning of “field” might not be immediately
clear to people authoring CSL style files. Practically speaking, this
must be limited to – and include – all top-level elements with
rendered content. That means that a “field” may be a group containing
an arbitrary number of rendered variables. It’s not a problem for any
of the existing styles, I think, but it could puzzle someone if they
stumble across it. An alternative syntax would be to just place any
material to be thrust into the margin in an explicit tag span, and
require that tag to be an immediate child of layout. I think that
would make it a little easier to see what’s going on in the markup.
Re display=“block”, this makes sense only for top-level rendered
elements, although it’s specified as a generic formatting attributed
that can be assigned anywhere. In citeproc-js, I’ve enclosed “first
field” and “other fields” content in span tags, so you could end up
with something like this:
Some content. Abstracty stuff. Other text.
I guess browsers will try to do something sensible with constructs
like this, but it seems kind of risky. To be on the safe side, I’ll
be ignoring this attribute on all but top-level elements, and will
arrange to explicitly close and reopen the enclosing span environment.
Here, too, some sort of explicit markup in the layout that can be
bound to top level might help avoid confusion.
Just food for thought here though; things do work with the existing syntax.