Closed bdarcus closed 13 years ago
Purely aesthetic change here. Rintze has floated proposals as assigned to "nobody", changing this ticket to conform.
Original Comment By: Frank Bennett
Original Comment By: Frank Bennett
Rintze suggested changing the names of the attributes to make their respective functions more clear. He also suggested that counts should start from 1 rather than 0 for consistency. I've adopted his suggestions in the code, and in the attached "rev1" schema patch.
Original Comment By: Frank Bennett
Not having read through all this, if the requirement is really "a way of truncating a name variable without applying et al,"isn't the simplest solution to allow the et al substitution term to be empty?
Original Comment By: Bruce D'Arcus
That might eliminate the need for truncate-min, but not for suppress-min. Right, Frank? If we take this alternative route, we could either:
1) decide that when the term attribute on cs:et-al isn't set, no et-al substitution term will be used. If cs:et-al isn't used, the term should probably still default to "et-al".
## term to use for et al substitution; if the attribute is not set no
substitution term is used
attribute term { "et-al" | "and others" }?,
2) explicitly introduce an empty term (which would have to be added to csl- terms.rnc) as the third possible value of the term-attribute of cs:et-al (in this case the default term could remain "et-al")
## term to use for et al substitution; "et-al" is default
attribute term { "et-al" | "and others" | "empty" }?,
I think option 1 is the cleanest.
Original Comment By: Rintze Zelle
It's taking me awhile to catch up with possibilities after the recent changes to the cs:name options. Agree that truncate-min is not necessary. Am now working up modified tests, which have turned up bugs in the way the term= attribute is handled on the et-al element -- which is a very good thing to know about now, rather than later.
When I get things fixed and have something to look at, I'll post again.
Original Comment By: Frank Bennett
Original Comment By: Frank Bennett
Revised proposal ...
To add only one option, suppress-min, which operates as described in the attached rev2 patch. Empty terms can be set of et-al, and et-al params can be set on a macro, so the truncate-min attribute is not needed, as both Bruce and Rintze have pointed out.
Tests are here:
http://bitbucket.org/fbennett/citeproc- js/src/tip/std/humans/name_StartAndAtOrMoreThanMax.txt http://bitbucket.org/fbennett/citeproc- js/src/tip/std/humans/name_StartAndLessThanMax.txt
In a peripherally related item, it came home to me during discussions over this that suppression of second-renderings of a variable should only occur for variables rendered through a substitute element. I have fixed this in the citeproc-js processor. This makes it unnecessary for this attribute to quash substitution suppression. Even explaining what that means, with all the double negatives that are packed into it, is a pain, so I have dropped it from the code, and from the comment in the schema patch.
js/src/tip/std/humans/name_StartAndAtOrMoreThanMax.txt
js/src/tip/std/humans/name_StartAndLessThanMax.txt
Original Comment By: Frank Bennett
Of course, WRT to my previous comment, option 3 (an ugly one) is to not change anything to CSL, but abuse the "and others"-term and set it to an empty string. The biggest problem here is that it is not currently possible to redefine a term for all locales (perhaps we should allow this anyway, e.g., if a locale element in a style lacks a xml:lang attribute, maybe it should affect all locales?).
Original Comment By: Rintze Zelle
Using a locale element with no xml:lang attribute to lay down locale-wide defaults of specific values is (a good idea and) a separate issue, so I'll open a separate ticket for it.
Original Comment By: Frank Bennett
The last time I checked, the 1.0 tickets were almost closed. Now we've got a bunch of them again, and some of these are new feature requests (like this one). I have to say I'm inclined to reject this.
Original Comment By: Bruce D'Arcus
Pushing this item to 1.1.
Original Comment By: Frank Bennett
The original use case can be addressed implicitly in a processor, and citeproc-js implements behavior that would suffice. Would have no complaints if this were pushed to "wontfix".
Original Comment By: Frank Bennett
Closing this ticket.
Another user has asked for a way of truncating a name variable without applying et al. In his case, the first author should be listed at the front of the citation, but only for works that don't have lots of authors. The leading label does not affect the full list of authors, which appears later in the citation.
http://forums.zotero.org/discussion/9141?page=1#Item_6
This can be addressed fairly simply with an end-name attribute to limit the number of authors that are listed, and a max-name attribute, to quash rendering if the varaible contains over a certain number of authors. Both of these options should specially permit the name variable to be used again. Accordingly, they should be available only on the name element itself, and not on style, bibliography, or citation.
There is running code for this in citeproc-js. A schema patch is attached. The CSL used for testing the code validates against the patched schema.