在LaTeX文档的标题中添加版本号

时间:2010-04-13 23:50:15

标签: latex versioning version title

我的LaTeX文档的标题部分通常看起来像

\title{Title}
\author{Me}
%\date{}      %// Today's date will appear when this is commented out.

\begin{document}
\maketitle

我真的想在标题部分添加另一行版本号:

\title{Title}
\author{Me}
\version{v1.2}
%\date{}      %// Today's date will appear when this is commented out.

\begin{document}
\maketitle

它不一定必须是名为version的命令,但如何在日期之后(在作者之后)显示版本号?我可以手动设置版本号。

所以:

标题

2010年4月13日

1.2

9 个答案:

答案 0 :(得分:15)

完全按照我想做的最简单的方法就是使用:

\title{Title}
\author{Me}
\date{\today\\v1.2}

\begin{document}
\maketitle

答案 1 :(得分:11)

对于原始帖子我的回答可能为时已晚,但Latex有一个非常有趣的包vrsion(没有'e'),这是标准发行版的一部分。从本质上讲,它会对.dvi文件进行编号,即每次运行Latex时数字都会增加。

就我个人而言,我使用它作为一个简单的工作,因为缺少Git的人性化文档版本号。不理想,但有时我会有多份文件副本,这有助于避免一些混淆。

答案 2 :(得分:6)

对于许多版本控制系统,签入和签出程序会将文档中的某些字符串扩展为版本控制系统对系统的元数据,包括版本号。

如果将这些字符串包含在Tex定义的正文中,则可以在文档中使用它们。

如果不知道您正在使用哪个版本控制系统,很难说更多,但CTAN具有vc bundle,并且rcs.sty很好用,对于仍然使用不仅非分布式的人,甚至没有并发VC ......

一旦你有了字符串(哦,我看到你说手动输入没问题),你可以使用

排版
\title{Title\\\normalsize Version \versionnumber}

如果您真的想要介于两者之间,那么您不能以通常的方式一起使用\ title和\ author - 您应该将您的名字放在\ title命令的另一行。

答案 3 :(得分:3)

如果您只需要在标题页中显示版本号,只需使用

进行修改即可
    \begin{titlepage}
    ...
    Version 1.x
    ...
    \end{titlepage}

发出命令\ maketitle。

否则,如果您需要在整个文档中多次调用它,最好定义一个变量:

\def\Version#1{\def\version{#1}}

以便您使用\Version{}定义版本号,并使用\version进行调用。

答案 4 :(得分:2)

简单的手动方法:

  1. 创建一个名为(例如)version.tex的文件:

    \providecommand{\versionnumber}{3.0.1}

  2. 您需要使用它的地方:

    \input{version}
    \title{Title\\\normalsize Version \versionnumber}

  3. 这将为您在项目或项目中提供一个手动更新版本的公共位置。

答案 5 :(得分:1)

查看包rcsinforcs。它们包括用于从文档中的RCS标记中提取数据的键,以便在使用CVS时可以使用。我在 The LaTeX Companion 中找到了这个,第837页。与您选择的VCS一起工作的东西可能是在此期间编写的。

答案 6 :(得分:1)

要提供像\version这样的\author命令,您需要:

\let\theversion=\relax
\providecommand{\version}[1]{\renewcommand{\theversion}{#1}}

如果您未使用titlepage环境,则可以重新定义\maketitle。查看article.cls(或您正在使用的任何类文件),复制并粘贴,然后插入\theversion,无论您想要什么。如果要在放入标题之前检查版本号,请执行以下操作:

\def\maketitle{%
% ... stuff copied from original class file...
\ifx\theversion\relax
% do nothing if there is no version defined
\else\bfseries\theversion% set the version
\fi

如果您在标题本身中不需要它,您可以将其添加为日期的脚注(这两个属性都与资源的新鲜度相关,因此将它们放在一起是有意义的。

\title{My article}
\version{v1.2}
\date{\today\thanks{\theversion}}

答案 7 :(得分:0)

如果您在git存储库中控制了文档,那么可以使用the gitinfo package来实现。如果配置正确(包括向你的git系统添加post-hook),你可以简单地使用\gitVtag来调用版本号(如git标签中所体现的那样)或者\gitAbbrevHash获取repo当前提交的缩写哈希值。

答案 8 :(得分:0)

我使用包 vhistory 作为我文档开头的变更日志表。

\subject{Institute for nice formatted docs}
\title{My important document}
\subtitle{\vhCurrentVersion, \vhCurrentDate}
\author{Me}
\date{} % Activate to display a given date or no date (if empty)
\begin{document}
    \maketitle
    \clearpage
   \begin{versionhistory}
      \vhEntry{v0.1}{17.05.2019}{Me}{First release}
      \vhEntry{v0.2}{12.08.2019}{Someone}{Rewrite of chapter 2 ...}
      \vhEntry{v0.3}{04.03.2021}{Another editor}{Change after feedback of ...}
   \end{versionhistory}
   \tableofcontents

   [...]
\end{document}

使用以下命令,您可以在任何位置获取当前版本和当前日期,可用于标题部分。