You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With an up-to-date TeXLive toolchain, XeLaTeX fails when it uses the
expl3 case-changing module and there's a \bibstring command at the
start of a field which has automatic contextual capitalization via the \ifcapital -> \MakeCapital pair (as with shorthandintro in the MWE;
the \addperiod in the pages field ensures that \ifcapital tests true,
otherwise the problem doesn't appear). Some styles make fairly heavy
use of contextual capitalization in field formats, so as people update
their toolchains this may start to bite, assuming anyone uses
bibstrings in their .bib files. I never saw it with an older
toolchain, even when it used the expl3 case-changer. I still don't see
it with the latex2e case-changer, and it works with both modules if
the command is \bibxstring instead of \bibstring. It's possible that
this is a case of "don't do that" -- I know that 3.18b contains code
to try to cope with related issues, but perhaps the doubling of the \MakeCapital in the field format and then in the \bibstring code is
just plain wrong, and users need to be warned off using \bibstring
(and maybe some other control sequences) in .bib fields. I've got a
workaround of sorts coded up for biblatex-chicago which just turns off \MakeCapital when the field starts with a control sequence, but if the
general advice were to be to use \bibxstring then my workaround would
need tweaking. Any thoughts?
@moewew Thanks for passing this along to the L3 list. I tried (very briefly) the solution proposed there and it seems so far to work. I'll test it a bit more thoroughly when I get a moment.
With an up-to-date TeXLive toolchain, XeLaTeX fails when it uses the
expl3 case-changing module and there's a
\bibstring
command at thestart of a field which has automatic contextual capitalization via the
\ifcapital
->\MakeCapital
pair (as withshorthandintro
in the MWE;the
\addperiod
in thepages
field ensures that\ifcapital
tests true,otherwise the problem doesn't appear). Some styles make fairly heavy
use of contextual capitalization in field formats, so as people update
their toolchains this may start to bite, assuming anyone uses
bibstrings in their .bib files. I never saw it with an older
toolchain, even when it used the expl3 case-changer. I still don't see
it with the latex2e case-changer, and it works with both modules if
the command is
\bibxstring
instead of\bibstring
. It's possible thatthis is a case of "don't do that" -- I know that 3.18b contains code
to try to cope with related issues, but perhaps the doubling of the
\MakeCapital
in the field format and then in the\bibstring
code isjust plain wrong, and users need to be warned off using
\bibstring
(and maybe some other control sequences) in .bib fields. I've got a
workaround of sorts coded up for biblatex-chicago which just turns off
\MakeCapital
when the field starts with a control sequence, but if thegeneral advice were to be to use
\bibxstring
then my workaround wouldneed tweaking. Any thoughts?
Here's a MWE that breaks on my system:
Thanks.
The text was updated successfully, but these errors were encountered: