#TeXLaTeX TIL:
1. Using an otherlanguage environment in the abstract environment produces spurious “unresolved references” that can never be resolved. Using otherlanguage* seems to avoid this problem.
2. biber sometimes simply stops working. The solution is to delete its cache, e.g., by saying rm -rf $(biber --cache)
Is it just me, or has #TeXLaTeX become very brittle?
@true_mxp do you have a MWE for the first problem? This sounds like a bug that could be reported to Babel maintainers.
@michal_h21 Kinda, but I currenlty don’t have the time for a bug report (because I need to grade…)
Actually, the issue seems to be due to an interaction between babel and biblatex (and unrelated to abstract). This example always produces “undefined references” (I only load csquotes to stop biblatex from complaining, it doesn’t change anything):
\documentclass{minimal}
\usepackage{csquotes}
\usepackage[english]{babel}
\usepackage{biblatex}
\begin{document}
English
\begin{otherlanguage}{german}
Deutsch
\end{otherlanguage}
\end{document}
I’ve found three ways to make it work:
- Remove biblatex; or
- Explicitly load the other language (here: german); or
- Use otherlanguage*
@michal_h21 Yes, but since Babel 3.39 this is supposed to be no longer necessary; see Section 1.3, “Mostly monolingual documents” in the Babel manual.
@michal_h21 Yeah, that’s possible, but the documentation of otherlanguage* talks more about what it is _not_ rather than what it is… Also, Babel doesn’t complain, so it might be that biblatex wants something that isn’t loaded.
@true_mxp ah, that's new for me, thanks. I think that the `otherlanguage*` environment is a correct one to use, as it uses the `\foreignlanguage` command internally. From the section 1.7 in Babel manual, it seems that this command is recommended to use for languages that has not been declared as package options.