ドキュメントの内容で使用するために、Subversionのリビジョン番号を表示したいのですが。 svninfo
パッケージsvn
は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 $
動作するはずです