citation-style-language / documentation

Citation Style Language documentation
http://citationstyles.org/
Creative Commons Attribution Share Alike 4.0 International
43 stars 21 forks source link

Remove implicit anchors attached to titles/whole bibliography #144

Closed cormacrelf closed 3 years ago

cormacrelf commented 3 years ago

I propose removing the second half of 'Appendix IV: Links' in CSL 1.1, which provides for adding an anchor to the title of a bibliography entry if the url fields are not rendered at all, or if there is no title, to the entire bibliography entry.

See my comment here: https://github.com/citation-style-language/schema/issues/395#issuecomment-903613329

Yeah. I think the "if no url rendered in bib entry, add the anchor to the title` fallback thing goes too far. In a nutshell, I don't think anyone wants titles to be blue/underlined but link styling is fine for all the others, and that is quite tricky to resolve at the CSL processor level. More broadly, departing from a convention where every URL is visible in textual form is a bad idea. Think accidental inclusion of incorrect links that someone writing a paper might not even notice have made it in. Think sci-hub.

Expanding on some of those points This is what I mean by the link styling: 1. CSL processors don't control styling beyond `italic` really, they can only do more with markup 2. Currently consumers of processor output can safely just render it verbatim and not worry that it looks horribly wrong, because the only things that are links are links. HTML by default has blue and underlined. This is fine right now. Links being blue is actually great for many reasons, including in PDFs esp for digital reading. 3. Occasionally highlighting entire bibliographic references breaks this, now they need to remove all link styling. 4. Because of \#1, would need new markup (`class="unstyled-anchor"`...) if you want to keep blue/underline for some links. The spec doesn't really talk about markup yet and this would either become another implementation-defined output thing, or require a bunch of spec work. Worthwhile work, but still. An afterthought from an implementor's perspective, not super important though: 5. It's actually a lot of work to implement as written. "If a URL field is not rendered" is a question that isn't fully resolved until after disambiguation. Even if you pretend it's resolved early, anything non-local like this is hard, simply because the piece of code rendering the title can't know if the URL will be rendered until later, so it requires adding anchors late in the processing. All of this becomes *really* twisted when you do split author-in-text citations with a custom in-text part including a title, rendered separately from the rest of the cite. Doesn't really seem worth it from where I stand.

Two more notes on Appendix IV:

  1. On the wording of Appendix IV in general -- I see no reason why this should apply only to bibliography entries, and make no mention of inline/note citations. You want the overall auto-hyperlinking behaviour in both.

  2. The spec should probably also say that url fields that are not valid URLs should not be given an anchor at all. One of the benefits of link styling is that validity == styling+clickability is great for proofing.

bdarcus commented 3 years ago

As I said, I'm fine with removing this part.

On this, anyone have any suggestions?

  1. I see no reason why this should apply only to bibliography entries, and make no mention of inline/note citations. You want the overall auto-hyperlinking behaviour in both.
bwiernik commented 3 years ago

Happy to not link the title. The link styling issue is a big one.

On the wording of Appendix IV in general -- I see no reason why this should apply only to bibliography entries, and make no mention of inline/note citations. You want the overall auto-hyperlinking behaviour in both.

The spec should probably also say that url fields that are not valid URLs should not be given an anchor at all. One of the benefits of link styling is that validity == styling+clickability is great for proofing.

Fine with both of these.