“!缺 $ 插入。”使用 svn $Id$ 關鍵字替換時

“!缺 $ 插入。”使用 svn $Id$ 關鍵字替換時

我想顯示顛覆版本號以在我的文件內容中使用。 svninfosvn套件依賴svn關鍵字替換來完成此操作,但當我嘗試時出現此錯誤:

錯誤第 6 行!缺少 $ 插入。

這是導致此問題的整個文件:

\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}

對於此錯誤,通常建議的補救措施是像這樣轉義 $:\$ 但是,轉義字元和非轉義$字元的組合都無法既避免此錯誤又產生有用的結果。

我該如何避免這個錯誤表面 svn 修訂號?

答案1

使用者名稱不能有空格。這運行沒有錯誤

\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}

由於 Windows 使用者名稱允許空格,因此您可以讓 svnInfo 也允許它們。這似乎有效:

在此輸入影像描述

\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}

答案2

您的使用者名稱中有空格:

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

應該管用

相關內容