generalized affix rule

I thought of this idea as potentially helpful for the CSL editor:

Can we establish a generic rule that styles should place
inter-variable/macro punctuation on prefix attributes, except for the
very last field in a bibliography (almost always a period), which gets
added to the cs:bibliography element?

E.g. this:

… and not this:

It strikes me our observation earlier was this results in better
styles. But it also may provide advantages for the editor approach
we’ve discussed here (allows punctuation between macro calls to be
free text, but the macro calls to be tokens with pop-up select lists).

Bruce

One caveat - this would apply to spaces and commas (and colons?), but not
to “)” characters.

One caveat - this would apply to spaces and commas (and colons?), but not to
“)” characters.

I thought of this idea as potentially helpful for the CSL editor:

Can we establish a generic rule that styles should place
inter-variable/macro punctuation on prefix attributes, except for the
very last field in a bibliography (almost always a period), which gets
added to the cs:bibliography element?

E.g. this:

… and not this:

It strikes me our observation earlier was this results in better
styles. But it also may provide advantages for the editor approach
we’ve discussed here (allows punctuation between macro calls to be
free text, but the macro calls to be tokens with pop-up select lists).

For robustness, delimiter joins work better than affixes. Where
affixes are used, it becomes harder to assure that punctuation/quote
swapping will work (it was broken in the Chicago styles, which used
affixes; refactoring the style to use delimiters fixed it).

But delimiter joins could be folded into the macros; right?

To be explicit about what I’m imagining:

A rendered bibliography field, where everything in brackets below is a
pop-up token that allows the user to select among macro options, and
all punctuation you see is free text.

[author] ([issued]), [title], [publisher].

So, for example, the prefix for the “issued” macro call would be " (,
and it’s suffix “)”. Within those macros, you’d have more complicated
punctuation (the delimiter joins and such).

The idea is it isolates macro logic to pretty generic characteristics
(you don’t need three variants of one macro to account for different
surrounding punctuation), and allows users to very quickly construct a
new style without switching contexts (though note: I have a hard time
the majority of users need to create a new style; they just need to
find what they need among existing styles).

http://www.zotero.org/styles/harvard3 might be a good example of how
Sebastian solved this using only delimiters.

Rintze

What Frank says about delimiters - styles should have as little
punctuation in affixes as possible. In many cases it’s possible to do
without entirely. There are some cases where using suffix makes things
significantly easier, though, so I wouldn’t want to ban this via
schema - the most frequent case it that titles are followed by a
period no matter what. One can do that with delimiters in most
cases, but it an get rather ugly.

About delimiters vs. macros - imho the best styles have a number of
good macros that are then joined with appropriate delimiters in the
bibliography. Obviously there will also be delimiters in the macros
themselves. See e.g. Harvard 3, which I just re-wrote, for an example
of what I’m thinking.

What Frank says about delimiters - styles should have as little
punctuation in affixes as possible. In many cases it’s possible to do
without entirely. There are some cases where using suffix makes things
significantly easier, though, so I wouldn’t want to ban this via
schema - the most frequent case it that titles are followed by a
period no matter what. One can do that with delimiters in most
cases, but it an get rather ugly.

Just to be clear, the idea I was presenting here would never enter the
schema or spec. It would instead be used for a) maybe the primer, as a
suggestion, and b) for the GUI editor.

About delimiters vs. macros - imho the best styles have a number of
good macros that are then joined with appropriate delimiters in the
bibliography.

By “appropriate delimiters” in this context, you really mean prefixes?
Or do you mean groups + delimiters with internal macro calls?

Obviously there will also be delimiters in the macros
themselves. See e.g. Harvard 3, which I just re-wrote, for an example
of what I’m thinking.

Thanks.

Bruce

Just to be clear, the idea I was presenting here would never enter the
schema or spec. It would instead be used for a) maybe the primer, as a
suggestion, and b) for the GUI editor.
OK, that’s important. I haven’t thought hard enough about the GUI
editor, but for the primer I’m with Frank - if we give coding
advice/conventions in the primer they should be to avoid punctuation
(and with a couple of exceptions such as date-parts - spacing) in
affixes altogether and use groups and delimiters instead.
Having punctuation only in prefixes is preferable to having the mix of
prefixes and suffixes, doubling up punctuation etc. that many existing
styles have, so I understand what you’re saying, but it still has a
lot of issues with optional fields and will make code needlessly messy
as opposed to clean grouping and delimiters.

About delimiters vs. macros - imho the best styles have a number of
good macros that are then joined with appropriate delimiters in the
bibliography.

By “appropriate delimiters” in this context, you really mean prefixes?
Or do you mean groups + delimiters with internal macro calls?
The latter - I try to avoid affixes in the bibliography section altogether.–


Sebastian Karcher
Ph.D. Candidate
Department of Political Science
Northwestern University

For the GUI, are there any obvious rules one could apply to figuring
out what macro calls to group, and therefore where to put punctuation,
without user input?

For sake of illustration/argument: top-level macro calls get paired,
with the intervening punctuation applied to the group delimiter?

Or is that simply not possible/practical?

Bruce

For the GUI, are there any obvious rules one could apply to figuring
out what macro calls to group, and therefore where to put punctuation,
without user input?

For sake of illustration/argument: top-level macro calls get paired,
with the intervening punctuation applied to the group delimiter?

Not sure. What I do is to look at grouping with the same delimiter
across item types and then group those - e.g. we see in a lot of
citation styles that different sections are separated by periods as
in
Articleauthor, I. 2010. Title of piece. Journaltitle, 2(1), 32-34.
Bookauthor, U. 2008. Title of Book. 3rd edition. Oxford: OU Press.

In this case we would have

author
year-date
title
edition
publisher
journal-info

Where publisher and journal-info could either be lower level groups in
the bibliography section or in the macro that gets called.

I think it might be possible to emulate this strategy automatically.–

Sebastian Karcher
Ph.D. Candidate
Department of Political Science
Northwestern University