我正在使用该svn-multi
包来追踪我的博士论文的不同版本。
有一个问题(我在手册或网络上没有找到任何相关信息,但也许我忽略了它):我已编译文档,PDF 上标有最新修订版本号“85”。现在,当我提交时(我也提交 PDF 以供将来参考),修订版本号 86 中有一个 PDF 上印有编号 85。
我认为这是一个固有的问题,因为必须在提交之前创建 PDF,或者有什么可以做的话可以避免这种情况并让提交的 PDF 显示与其提交相对应的修订号?
答案1
我是的作者svn-multi
。正如前面提到的,这是一个固有的问题。
实现此目的的一种方法是定义一个自己的宏,它可以或不将修订号加一。如果下一个修订号实际上只比当前修订号大一,则此方法有效。如果在此期间其他人向存储库提交了某些内容,或者您提交了 LaTeX 文档之外的内容,则差异会更大。
您可以这样做:\mysvnrev
要么只是\svnrev
,要么使用添加 1。\numexpr
只需在正常运行期间注释掉第二行,并在编译要提交的 PDF 时启用它。
\documentclass{article}
\usepackage{svn-multi}
\svnid{$Id: test.tex 85 2011-03-10 10:11:47Z martin $}
\newcommand*{\mysvnrev}{\svnrev}
\renewcommand*{\mysvnrev}{\the\numexpr\svnrev+1\relax}
\begin{document}
\svnrev
\end{document}
或者你也可以说:
\edef\svnrev{\the\numexpr\svnrev+1\relax}
在你的序言之后增加\svnrev
一个。