Closed PsychicBirdy closed 1 year ago
https://github.com/plk/biblatex-apa/commit/023baa62a163d25f2a688168f8b5b7115a960b37#diff-04309903b565b256b3336c15b12023a158cf50946e048d9e25b54281efc05140 switched a few \bibstring
s to \biblcstring
, which converts the whole string to lowercase. I'm guessing we want to use \bibncpstring
so we can get rid of the whole \midsentence{}
malarkey.
As far as I can tell, yes, this would be a fix plus improvement.
@moewew Well, let's do this. In ngerman.lbx, i searched for \biblcstring
, found 2 instances, which seem to deal with dates, and replaced them with \bibncpstring
. As far as I can see, this seems to work. I'm not so firm with all the code. Is this what you had in mind? If yes, I would fix the remaining 5 German language lbxs in the same way.
Currently, the date code in ngerman-apa.lbx
uses \biblcstring
, \bibcplstring
and \bibstring
. I don't know what the intended output in each case is, but my hunch is that it is unlikely that all three are needed. \biblcstring
is particularly odd as it actively lower-cases the string.
Anything left to do here? On the verge of 9.16 release when biber/biblatex latest are released.
That's great to hear. Yes, there is something left to do. My pull request hasn't been accepted yet. Once it is, a similar change is still needed for the other 5 German language lbxs (old German spelling rules, old/new Austrian, old/new Swiss). However, it seems @moewew and me are still uncertain what to change after all as we don't know what the intended output in each case is. I tested the changes I made and this solves the problem for me. However, possibly it's more than even needed. Or even some more can be dropped if not all the commands mentioned are needed.
As I say I have no idea what the intended output is, but the \biblcstring
looks odd. A quick code search suggests it is being used in lots of .lbx
files and I'm assuming those were intended to be \bibncpstring
. @plk I think you could do a bulk replace on all of them.
As for the \bibcplstring
I have no idea.
Those macros are to force the lowercased/uppercased versions of the (abbreviated) localised strings that sometimes occur in years (n.d. etc). I tried to move to \bibncpstring
but it broke all of the regression tests ...
Do you have an example of output that is wrong with \bibncpstring
but alright with \biblcstring
? That appears very odd to me since I'd have thought that you never want to lowercase the whole string (after all, if that's what you have to do, why do you not give the string in lowercase in the .lbx
file in the first place)?
I just had a look at biblatex-apa-test-references.bib
and the only examples that I found that would be affected were "n.d." and "in press". But I couldn't see any difference before and after.
My mistake - it's fine with \bibncpstring
. This has been replaced. The only uses of \bibcplstring
are to enforce capitalisation of year divisions.
Finally, I managed to get the developement version of biber and biblatex(-apa) working and so I was able to catch a bug that seems to have been introduced recently.
According to the official German variant of APA style the German equivalent to "in press", "im Druck", is supposed to start lower case, in citations as well as in the reference list, just like "in press". Thus, I already added
to the German language .lbxs. This works fine with TeX Live 2021 (biber 2.17 and biblatex 3.17).
prints "(im Druck)", whereas without this change it printed "(Im Druck)" in the reference list.
However, using biber 2.18 beta and biblatex 3.18 beta and the current biblatex-apa code, it prints "(im druck)". This is simply wrong. "Druck" is never supposed to begin lower case.