
Hier ist der seltsame Fehler des Tages. Letztes Wochenende habe ich zum „Spaß“ mit Win 8 und TortoiseSVN herumgespielt. Plötzlich ließ sich mein LaTeX-Projekt nach einem Commit nicht mehr kompilieren.
Ich bin bei folgender MWE-Kombination angelangt
Stammdatei:
\documentclass[a4paper]{memoir}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\makepagestyle{test}
\makeoddfoot{test}{}{\sffamily\thepage}{}
\pagestyle{test}
\usepackage[filehooks]{svn-multi}
\usepackage[colorlinks]{hyperref}
\begin{document}
Test
\input{test2}
\end{document}
test2.tex
\svnidlong
{$HeadURL: https://url $}
{$LastChangedDate: 2015-07-26 15:59:20 +0200 (sø, 26 Jul 2015) $}
{$LastChangedRevision: 1 $}
{$LastChangedBy: daleif $}
\chapter{test}
test
Beachten Sie, dass die LastChangedDate
Inhalte sø
in UTF8 vorliegen. Normalerweise arbeite ich unter Linux mit einem englischen Setup, daher wird dieser Teil an anderer Stelle Sun
(ASCII) sein.
Hier sind meine Beobachtungen
Ich erhalte den Fehler
./test2.tex:8: Undefined control sequence.
GenericError ...
#4 errhelp @err@ ...
l.8 \chapter
{test}
- Wenn ich die
ø
MWE-Kompilierungen entferne - ich entferne
\sffamily
aus der Fußzeile es kompiliert - Wenn ich entferne
hyperref
wird es kompiliert - Wenn ich die
filehooks
Option entferne aussvn-multi
entferne , wird es kompiliert
Irgendeine Idee, was los ist?
(eine praktikable Lösung wäre auch zu erklären, wie man TortoiseSVN anweist, immer Englisch zu verwenden, sø
ist die Abkürzung für das dänische Wort „søndag“ für Sonntag)
Antwort1
Dies ist ein klassisches \edef
(oder ähnliches) Problem, das auf instabile Benutzereingaben angewendet wird: Es gibt ein \xdef
in \svn@pushfilestack
, das fehlschlägt, wenn Sie ein „unsicheres“ Token in einem der Teile haben, auf die es angewendet werden soll. Wie bei jeder LaTeX2e-Benutzereingabe besteht der richtige Ansatz darin, das LaTeX-Kernel- \protected@...
Äquivalent zu verwenden
\documentclass[a4paper]{memoir}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\makepagestyle{test}
\makeoddfoot{test}{}{\sffamily\thepage}{}
\pagestyle{test}
\usepackage[filehooks]{svn-multi}
\usepackage{xpatch}
\makeatletter
\xpatchcmd\svn@pushfilestack{\xdef}{\protected@xdef}{}{}
\makeatother
\usepackage[colorlinks]{hyperref}
\begin{document}
\input{test2}
\end{document}
Im Idealfall sollte dies in behoben werden svn-multi
.