On Wed, Sep 28, 2016 at 01:47:26PM -0500, Steven R. Brandt wrote:
On 09/23/2016 02:43 PM, Frank Loeffler wrote:This mechanism would only provide a way to define citations, and use them if you can be sure another thorn already provides it (REQUIRES).Would people really remember to put the REQUIRES statement in their thorn? I'd prefer something more automatic.
If we wouldn't have REQUIRES, a missing citation (or typo) could only be reliably detected at runtime, with a par-file at hand. We could check if all mentioned entries from schedule.ccl do exist, but they might not, e.g., by using
if (ThornActive(blafasel)) {
CITATION xyz
}
where thorn xyz provides that citation, but is not compiled in and not
intended to be used for a particular user. Of course, this is quite a
special, constructed case.
We could prefer simple over robust, and don't do any compile-time checks concerning existence, and generate "warning entries" for used, but not defined entries at runtime.
I think I'd prefer to have the citation come with a comment that makes it clear when it should be included in a paper.schedule.ccl: CITATION name CITATION OPTIONAL name
We could add a human-readable description like this as special key inside the bibtex file if we are going to parse that anyway.
I'd prefer one bibtex file only. There could be a key inside each entry identifying the thorn.The output should, at least, consist of: - one bibtex file containing all known entries - two lists of keys, in machine readable format: requested/optional - machine readable information about which thorn requested what how
I did mean only one bibtex file. I value the other files because without, scripts that only want one kind of key would need to parse bibtex syntax just for that. While bibtex is machine-readable, it isn't straightforward to quickly write a filter for entries that contain a certain key.
Frank
signature.asc
Description: Digital signature
_______________________________________________ Users mailing list [email protected] http://cactuscode.org/mailman/listinfo/users
