在每一页上打印 subversion repo 编号

在每一页上打印 subversion repo 编号

我的文档位于一个巨大的 Subversion 存储库中。

当我打印一份文档,例如,为了校对或检查是否有错别字时,我希望在每一页上打印存储库版本号(顶部或底部,无所谓)。这样做的动机是,它可以帮助我监控哪些纸质文件上的注释尚未传输到当前版本中,或者几份打印件中的哪一份应被视为最新的。

答案1

因为较大的 LaTeX 文档通常分布在多个文件中(即一个主文件和多个子文件),所以我编写了一个包来收集每个文件的所有修订信息并提供最新的修订号和其他详细信息。

您需要使用以下方法启用关键字扩展:

svn propset svn:keywords 'Id Author Date Rev URL' *.tex

\svnid{$Id$}或者使用图形界面,例如 TortoiseSVN,并在每个文件的开头放置至少一个.tex。要获得正确的值,您需要至少编译两次。

要将 SVN 信息放入页眉或页脚,您可以使用例如包fancyhdr

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyhead[ol]{\slshape\leftmark }
\fancyfoot[ol]{Rev: \svnrev\ (\svnfilerev)}
\fancyfoot[or]{\svnyear-\svnmonth-\svnday\ \svnhour:\svnminute} % Date
% If the information should be also placed
% on the chapter page use:
\fancypagestyl {plain}{%
    \fancyhead{}
    \fancyhead[ol]{\slshape \leftmark }
    \fancyfoot[ol]{Rev: \svnrev \ (\svnfilerev)}
    \fancyfoot[or]{\svnyear -\svnmonth -\svnday \ \svnhour:\svnminute} % Date
}

看我的文章使用 svn-multi 对 LATEX 文档进行版本控制,The PracTEX Journal,2007 年,第 3 期,了解更多详情。

相关内容