#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*
@true_mxp I think that you need to pass all languages that will be used in the document to babel, asi it needs to load the definition files for all used languages. So I would use `\usepackage[german,english]{babel}`. The last language in the list is the main document language.
@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.