Subject: Re: latex-koma-script: scrlttr2: ERROR: Argument of \strip@prefix has an extra }.

From: Ricardo Wurmus <[email-masked]>
Date: Wed, 16 Feb 2022 00:15:58 +0100

Ricardo Wurmus <[email-masked]> writes:

> My guess: the argument is the absolute file name of pdftex.map.  It
> doesn’t belong to any real package in the tlpdb, and I’m pretty sure we
> generate it.  However, in this case it must be missing, so that there is
> no argument to \strip@prefix.

This was wrong, but I can’t blame myself: the LaTeX errors are
incredibly useless and misleading.

I added \setcounter{errorcontextlines}{999} to the document to see some
context, but it served little more than to confuse me.  (It didn’t print
999 context lines but only 4 lines with elisions.)  It did however
indicate that the error might be related to languages.

So I changed the document to this:

--8<---------------cut here---------------start------------->8---
\documentclass[a4paper]{scrlttr2}
\usepackage[utf8]{inputenc}

% This line is new.  Set the language!
\usepackage[british]{babel}
%\setcounter{errorcontextlines}{999}

\title{A very simple document}
\author{Oliver Klee}
\date{\today\ (a very good day)}

\begin{document}

This is an example of how to create line breaks and paragraphs:

Three Rings for the Elven-kings under the sky,\\
Seven for the Dwarf-lords in their halls of stone,\\
Nine for Mortal Men doomed to die,\\
One for the Dark Lord on his dark throne

\end{document}
--8<---------------cut here---------------end--------------->8---

It worked.

I don’t know why the monolithic TeX Live package doesn’t have this
problem, but at least we’ve got a workaround now: load babel and set a
default language.

I’ll also add that the texlive-latex-koma-script package in Guix is not
up to our standards.  It’s not built from source (= not generated from
dtx/ins files) and it doesn’t include all files such as documentation
and source files.  We should fix that too.

-- 
Ricardo