2

I have a problem with using a specific reference in multibib - this doesn't occur with the "standard" bibliography function. Here is the code for the main text file:

\documentclass[oneside]{scrbook}

\usepackage{multibib}

\newcites{primary}{Primary Folklore Resources}

\begin{document}

Arriving at home, his mother asked him where he had been. He replied that he would tell her in the morning. In the morning, he related everything to her. The mother reported this to the authorities, and the woman designated in the church as the thief of the goose confessed her crime after the pastor had appealed to her conscience at length.\citeprimary[p. 57f]{PRO}

\bibliographystyleprimary{alpha} \bibliographyprimary{Literature} \end{document}

And here is the bibliography file:

@book{ PRO,
        author = "Heinrich Pröhle",
        title = "Harzsagen zum Teil in der Mundart der Gebirgsbewohner. Zweite Auflage in einem Bande",
        publisher = {Hermann Mendelsohn},
        year = "1886",
}

When I try to compile this, I get the following error:

(primary.bbl
! Undefined control sequence.
\GenericError  ...
                                                    #4  \errhelp \@err@     ...
l.1 \begin{thebibliography}{Pr├86}

The problem seems to lie with the "ö" in "Pröhle". The same problem shows up if I insert other umlauts, but not if I put the umlaut at either the second or the fourth position of the name - it has to be the third letter.

  • 2
    Technically speaking, BibTeX cannot deal with non-ASCII characters. In many cases they are passed through unchanged and work just fine, but there is the occasional situation where certain non-ASCII characters are problematic when BibTeX tries to process them byte-wise. The only officially supported way to type non-ASCII characters for BibTeX is with LaTeX-macro-escapes, e.g. Pr{\"o}hle, see https://tex.stackexchange.com/q/57743/35864. (If you are using an 8-bit encoding like Latin1 there is bibtex8). ... – moewe Nov 17 '20 at 07:08
  • 1
    ...For full Unicode/UTF-8 support your best bet would probably be biblatex+Biber (which is different from the standard BibTeX approach and not that well-liked or supported by publishers; https://tex.stackexchange.com/q/25701/35864, https://tex.stackexchange.com/q/5091/35864). – moewe Nov 17 '20 at 07:11
  • 2
    Specifically the problem here is that BibTeX reads characters byte-wise. ASCII chars are 1 byte wide in UTF-8 encoding, but ö is encoded as more than one byte. When BibTeX calculates the first three characters of Pröhle for the label, it takes the first three bytes, which is Pr and the first bit of the ö. This fragment of the ö is not a valid code point, so you get an error. A related effect would appear with a name like Röte, where the short label would be (consisting of three bytes, but only two letters) and not Röt (cf. Rote which becomes Rot). – moewe Nov 17 '20 at 07:34

1 Answers1

5

Are you using umlauts without issues in other places? What encoding are you using? Have you tried to simply use {\"o} instead of ö for this single instance? (More of a workaround than a fix, but whatever works. If it actually does, that is. Can't test right now.)

Ingmar
  • 6,690
  • 5
  • 26
  • 47
  • Another reference I've used in my main document uses the name "Schönwerth", which compiles without complaints. It really does seem to matter that the umlaut is at the third position of the name. I feel that the error message with the "{Pr├86}" might provide a clue, if only I could decipher it. EDIT: {\"o} does work. Thanks! – Jürgen Hubert Nov 17 '20 at 07:34
  • 1
    @JürgenHubert Pr{\"o}hle works here, but you may have to clean the auxiliary files (.aux & .bbl) to avoid the old label hanging around and causing problems. – moewe Nov 17 '20 at 07:38