Ich möchte Subversion-Revisionsnummern zur Verwendung im Inhalt meines Dokuments anzeigen. svninfo
und svn
Pakete 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:
\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