I recently upgraded from Ubuntu 18 (TeX Live 2017) to Ubuntu 20, and things broke: I now need to add
\DeclareUnicodeCharacter{0304}{ ̄}
\DeclareUnicodeCharacter{0301}{ ́}
to make biblatex work. What has caused this change? Is there any way to make these lines conditional on the TeX Live version, so that my files are backward-compatible to my other machines which still have the old TeX version?
Note: a typical .bib entry of mine is
@book{Cederlof:stow,
author= {Mikael Cederl\"of},
title= {The element \emph{-st\=ow} in the history of English},
year= {1998},
series= {Acta Universitatis Upsaliensis: Studia Anglistica
Upsaliensia},
publisher={Uppsala University},
number= {103},
}
The macron seems to require the \DeclareUnicodeCharacter, but the umlaut does not.
\DeclareUnicodeCharacter{0304}{ ̄}may avoid an error but I doubt that it will give the right output. Your bib files contains something that doesn't work in a current latex/biblatex but without more info about the entries and the encoding of your files nobody can help you. – Ulrike Fischer Mar 08 '22 at 11:55\DeclareUnicodeCharacter{0304}{XXXXXXXXX}to check where this is used). And regarding the nocite: You are processing all bib entries with it, and at least one of them breaks. This can have various reasons, including a wrong encoding. – Ulrike Fischer Mar 08 '22 at 12:04nocitefails, for: missing or unbalanced braces; too many levels (3 or more) of nested braces. If you are using unicode fonts, then I would expect you to be compiling with xelatex\lualatex. Unrelated: with UTF-8 file encoding, you can type in the character(s) by codepoint or directly, soa^^^^0304typesets anā(when using a uunicode font), as indeed does the pre-composed glyphāitself.ĕĥĵņŕŷą,Ѡѥѩѯѿetc – Cicada Mar 08 '22 at 13:14Cederlof:stowshown in the question errors for you if you don't have any\DeclareUnicodeCharacters, please? I get no error from this particular entry even without any\DeclareUnicodeCharacters. – moewe Mar 08 '22 at 16:37biblatextries to detect your document encoding it will now try to use UTF-8. Usually this will work, but if you want to stick to ASCII, you could try passing the optiontexencoding=ascii,tobiblatex. A similar approach would be to call Biber with the--output-safecharsoption asbiber --output-safechars <filename>. – moewe Mar 08 '22 at 16:44\nocite{*}issue is a completely separate one and I would strongly encourage you to ask a separate question for that (see also https://tex.meta.stackexchange.com/q/7425/35864), so that each question can focus on one thing and we don't get confused between two different issues. – moewe Mar 08 '22 at 16:53\DeclareUnicodeCharacterissue. I suggest you edit your question to focus on the first question only and ask a new question once you have more details on the\nocite{*}thing. That way answers are going to be more specific and questions and answers are more useful for future visitors as well. – moewe Mar 09 '22 at 16:33\nocite{*}bit of the question since it has been transferred to a new question. – moewe Mar 11 '22 at 12:11