Sie sind hier

Writes mit scrlayer-notecolumn

Dieses Problem wurde zuerst im biblatex-Bugtracker gemeldet: https://github.com/plk/biblatex/issues/703.
Nach einigem Gebastel scheint es mir aber, dass nur scrlayer-notecolumn wirklich relevant ist.

Man betrachte

\documentclass{article}
\newread\reada
\newread\readb
\usepackage{biblatex}
\usepackage{scrlayer-notecolumn}
\begin{document}
   \cite{bib:test}
\end{document}

Ein LaTeX-Durchlauf dieses Dokuments erzeugt eine unvollständige .bcf-Datei, deren Ende unerfreulicherweise in die .log-Datei geschrieben wird.

Der folgende Code mit zerhackstückelten Teilen von scrlayer-notecolumn reproduziert das Problem ebenfalls

\documentclass{article}
\makeatletter
\newread\reada
\newread\readb
 
\usepackage{biblatex}
%\show\blx@bcfout
 
% Zeilen 575-583 von scrlayer-notecolumn.sty
\newcommand*{\slnc@initwrite}{%
  \immediate\closeout\slnc@file
}%
 
% Zeilen 903-913 von scrlayer-notecolumn.sty
  \newread\slnc@file
  %\show\slnc@file
 
\begin{document}
  \slnc@initwrite
  \cite{bib:test}
\end{document}

Die Fehlerquelle scheint mir zu sein, dass \slnc@file eigentlich als \newread definiert ist, dann aber als \newwrite mit \closeout\slnc@file geschlossen wird. Dadurch wird dann \blx@bcfout geschlossen, denn dieser Stream hat die passende ID, und alle weiteren Versuche, die .bcf-Datei zu schreiben gehen in die .log.

Das Problem kann mit Version 3.24 von KOMA-Script reproduziert werden, die Version von scrlayer-notecolumn.sty ist 2017/08/11 v0.1.2670.

Edit: Ein \newwrite und ein \newread entfernt.

forum: 
Bild von Markus Kohm

Beide \closeout\slnc@file in scrlayer-notecolumn müssen \closein\slnc@file lauten. Glücklicherweise wird das eine normalerweise nie aufgerufen. Das andere aber schon. Der Fehler ist in Revision 2928 behoben.

Bis dahin sollte:

\usepackage{xpatch}
\makeatletter
\xpatchcmd{\slnc@openwrite}{\closeout}{\closein}{}{}
\makeatother

nach dem Laden von scrlayer-notecolumn helfen. Der Patch bleibt bei scrlayer-notecolumn 0.1.2928, ab dem er nicht mehr benötigt wird, wirkungslos.

Danke für den Hinweis und die Analyse des Problems.

Vielen Dank für die schnelle Lösung des Problems.

Comments for "Writes mit scrlayer-notecolumn" abonnieren