IACR / latex

Latex classes for IACR publications. We will start with the new journal proposal.
8 stars 1 forks source link

Support for author control over bibliography labels #253

Open kmccurley opened 3 weeks ago

kmccurley commented 3 weeks ago

I had previously been commenting on issue #252 about bibliography labels, but I decided that the discussion should really move to a standalone issue. When we set up iacrcc.cls, we originally chose alpha label style because we believed that it was preferred by most authors (and readers), and because it was consistent with iacrtrans. People can argue about which one is preferred, but it's easy to find both styles used in journals. I believe it was the right decision to choose alpha as the default, but the more I poke at this, the more I realize that alphabetic labels have a bunch of problems that authors can stumble into. For this reason, I'm leaning toward adding an option to switch to numeric labels [1], [2], ... I already have an easy PR to accomplish this.

It's not unprecedented to allow the author to choose their style, and I don't think we need to be insistent on one or another style. The default Springer class splncs04.bst uses numeric labels, but they allow authors to switch to alpha labels. Here is an example from Eurocrypt 2023. Apparently American Mathematical Society also allows this (section 10.3). I looked at some papers from Proceedings of the AMS Series B and found some numeric style and some alpha style. It's up to the author.

I can understand the desire to choose a standard style, but the only foolproof style is numeric and a lot of people hate it. That's why we chose alpha as a default. Unfortunately that style has a lot of corner cases that cause problems. In this bug I'll list a few of these problems with the alpha style in addition to the one that Dan mentioned.

  1. if a @misc entry is missing an author (as it would for a website or a manual), then biblatex generates a completely empty label which looks ridiculous. image If you switch to using bibtex with alphaurl, then it generates the label from the year and gives something like image This is confusing because the [20] may not be the 20th reference in the list. If there is no year, then it takes the cite key, which may be something not intended to be shown to the reader. If the cite key is @misc{evidence,, then the label comes out as [evi].

  2. we allow authors to use either bibtex with the alphaurl style, or else biblatex with the alphabetic style. These look similar, but they're actually different and they result in different sort orders. Here are some examples of the differences from a CiC paper

    bibtex       biblatex
    AHIV23    Ame+23
    BCC+16   Boo+16
    BSCI+23  Ben+23
  3. alpha labels don't sort by author order - it sorts by key order. Hence we end up with strange author orderings like this: image This can interfere with finding a reference when it appears in a place you don't expect it.

  4. alpha style doesn't properly handle hyphenated last names.

  5. it can generate embarrassing labels like BS01, Bad14, and ASS15 (all of these are generated from cryptobib).

As it turns out, authors who use biblatex can completely override the bibliography labels. In some cases, they can do it on an entry-by-entry level using label={foobar} in their bibtex entry. In this case it would generate [foobar08] if there is no author and the year is 2008.

Authors can also completely override the formatting of the label using something like

\DeclareLabelalphaTemplate{                                                                                                      
  \labelelement{\field[strwidth=1, strside=left, lowercase, names=3]{labelname}}                                                 
  \labelelement{\literal{@}}                                                                                                     
  \labelelement{\field[strwidth=2, strside=right]{year}}                                                                         
}

to get completely ugly custom formatting like image I shudder to think what happens when people realize they can use UTF-8 emojis in the labels. image

In almost every case I think the default alpha labels are better, but there are enough weird failure cases that I think it makes sense to allow authors to opt for numeric labels instead of pursuing the biblatex trickery that is possible.

ahuelsing commented 3 weeks ago

I generally prefer the alpha labels as a reader as they help me to easier re-recognize a reference while reading a paper. However, I fully agree that biblatex introduces bias that is unacceptable. Is there a reason why we need to allow biblatex instead of just doing bibtex?

jwbos commented 3 weeks ago

I have no objection against adding technical support in the LaTeX class for numerical references. However, what is allowed to be used in a journal is a decision by the EiCs who strive for an unified look and feel. Hence, modifying this look and feel with biblatex is not allowed (although possible).

kmccurley commented 3 weeks ago

@ahuelsing There are legitimate reasons to use biblatex, which is why I decided we had to support it. biblatex is considered the modern successor to BibTeX, in part because BibTeX is still stuck on version 0.99d after nearly 40 years. Based on the LaTeX that authors have uploaded for LNCS volumes, I estimate that about 15% of authors use biblatex instead of bibtex. Springer doesn't advertise it, they clearly support it in the things that people upload. biblatex allows almost infinite customization of the labels. For example it's possible to change the label Len17 to L17 by a simple change to the template.

\DeclareLabelalphaTemplate{                                                                                                    
    \labelelement{\field[strwidth=1,strside=left,names=3]{labelname}}                                                            
    \labelelement{\field[strwidth=2,strside=right]{year}}                                                                        
  } 

biblatex also supports a large number of bibtex fields that are not recognized by the archaic BiBTeX styles (e.g., date, eid, eprinttype, issn, isbn, etc).

I think the simplest solution to the claim of bias is to add an option to support numeric citation labels. AMS and Springer have already done that.

kmccurley commented 2 weeks ago

After our discussion today, it's more clear what is desired, namely that we should use alphabetic labels but biblatex and bibtex should produce essentially the same output. We would also like authors to avoid customizing the labels unless it is obviously necessary.

One approach to this is to use style=trad-alpha in biblatex instead of style=alphabetic. This uses a feature of the trad-biblatex package. That package attempts to produce the same thing as the alpha style in bibtex, but unfortunately it fails in some cases.

Note that authors can influence how the label is constructed using either the key field in bibtex or the label field in biblatex. There are some key values for @Misc entries in cryptobib. biblatex also has the shorthand field that overrides the label.