"!Missing $ inserted." bei Verwendung der svn $Id$-Schlüsselwortsubstitution

"!Missing $ inserted." bei Verwendung der svn $Id$-Schlüsselwortsubstitution

Ich möchte Subversion-Revisionsnummern zur Verwendung im Inhalt meines Dokuments anzeigen. svninfound svnPakete basieren aufSVN-Schlüsselwortsubstitutionum dies zu erreichen, aber ich erhalte diesen Fehler, wenn ich es versuche:

Fehlerzeile 6! Fehlendes $ eingefügt.

Hier ist das gesamte Dokument, das dies verursacht:

\documentclass{article}
\usepackage{svninfo}

\begin{document}
\svnInfo $Id: doc.tex 8 2013-04-11 19:37:31Z User Name $ %<= Id keyword substituted by svn  

\end{document}

Die üblicherweise empfohlenen Abhilfemaßnahmen für diesen Fehler bestehen darin, das $-Zeichen wie folgt zu maskieren: \$ Allerdings kann dieser Fehler durch keine Kombination maskierter und nicht maskierter $Zeichen vermieden und gleichzeitig nützliche Ergebnisse erzielt werden.

Wie vermeide ich diesen FehlerUndSVN-Revisionsnummern an die Oberfläche bringen?

Antwort1

Der Benutzername darf kein Leerzeichen enthalten. Dies läuft ohne Fehler

\documentclass{article}
\usepackage{svninfo}

\begin{document}
\svnInfo $Id: doc.tex 8 2013-04-11 19:37:31Z UserName $ %<= Id keyword substituted by svn  

\end{document}

Da Windows-Benutzernamen Leerzeichen zulassen, können Sie svnInfo so einstellen, dass sie diese auch zulassen. Folgendes scheint zu funktionieren:

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{svninfo}

\makeatletter
\def\@svnInfoCrackAndEat #1 #2 #3 #4 #5 #6 $ {\@svnEndRead
  \@svnInfoCrackString #2 #3 #4 #5 {#6} $ %
}
\makeatother

\begin{document}
\svnInfo $Id: doc.tex 8 2013-04-11 19:37:31Z User Name $ %<= Id keyword substituted by svn  

[\svnInfoOwner]

\end{document}

Antwort2

Sie haben ein Leerzeichen im Benutzernamen:

\svnInfo $Id: doc.tex 8 2013-04-11 19:37:31Z UserName $

sollte arbeiten

verwandte Informationen