在LaTeX标题页上添加SVN分支名称

4

我希望在标题下添加SVN分支名称作为版本信息。我希望这是自动完成的,这样当我将生成的文档复制到另一个(新的)分支时,该信息会自动添加。有什么建议吗?

谢谢!

2个回答

1

看一下关键字替换:

http://svnbook.red-bean.com/en/1.4/svn.advanced.props.special.keywords.html

编辑:

或者你可以使用svn info命令从你的工作副本中获取路径,将其写入文件,读取内容并使用正则表达式解析。我假设你有某种构建过程,用于从LaTeX源代码生成输出文档?

此外,这里发布的帖子:http://magic.aladdin.cs.cmu.edu/2006/09/28/subversion-keywords-and-latex/提供了更多关于如何实现你想要的功能的信息。

还有这里:http://www.ctan.org/pkg/svninfo


谢谢,但我之前看过了,我不确定它是否那么简单。我确切想做的是,比如说,我们有一个形如http://subversion/project/branches/My_Working_Project_1.2/trunk/的svn URL。所以我想在我的latex生成的论文中使用的是My_Working_Project_1.2,甚至更好的是没有下划线。 - R3v3r3nD
我猜你需要编写一个脚本作为构建过程的一部分,来解析替换关键字并提取所需的部分。使用正则表达式应该很容易实现。 - Nick

1

感谢您指引我正确的方向!

显然需要安装svn包(例如svn-multi)和xstring包。

  • 首先在您的tex文件上设置关键字属性:

    svn propset svn:keywords "URL Date Rev" >your_file<.tex

  • 接下来在.tex文件开头添加:

    \svnidlong

    {$HeadURL$}

    {$LastChangedDate$}

    {$LastChangedRevision$}

    {$LastChangedBy$}

  • 然后在文档正文中添加类似于以下行的代码(取决于您想要提取什么)

    \StrBetween{\svnmainurl}{branches/}{/sourcecode} \\

  • 最后将.tex文件提交到svn,以便填充数据

就是这样!! :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接