내 문서의 내용에 사용할 수 있도록 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 $
작동해야 한다