Добавить номер версии в заголовок документа LaTeX

Раздел заголовков моих документов LaTeX обычно выглядит как

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

\begin{document}
\maketitle

Мне бы очень хотелось добавить еще одну строку в разделе заголовка для номера версии:

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

\begin{document}
\maketitle

Это необязательно должна быть команда с именем version, но как я могу получить номер версии, которая появится после даты (которая после автора)? Я могу вручную установить номер версии.

Итак:

Заголовок

Me

4/13/2010

v1.2

Ответ 1

Мой ответ, вероятно, слишком поздно для исходного потока, но у Latex есть очень интересный пакет под названием vrsion (нет "e" ), который является частью стандартного дистрибутива. По сути, он отображает файл .dvi, т.е. Число увеличивается каждый раз, когда выполняется латекс.

Лично я использую это как простую работу для отсутствия нужного для человека версии версии документа от Git. Не идеально, но иногда у меня есть несколько копий моих документов, и это помогает избежать некоторой путаницы.

Ответ 2

Самый простой способ сделать то, что я хотел сделать, - просто использовать:

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

\begin{document}
\maketitle

Ответ 3

Для многих систем управления версиями программы проверки и проверки расширят определенные строки в документах в метаданные, которые система управления версиями имеет о системе, включая номер версии.

Если вы включаете эти строки в тело определений Tex, вы можете использовать их в своих документах.

Трудно сказать больше, не зная, какую систему управления версиями вы используете, но CTAN имеет vc bundle и rcs.sty приятно использовать, поскольку люди все еще используют не только нераспределенные, но даже не параллельные VC...

Как только у вас есть строки (о, я вижу, вы сказали, что запись в ручном режиме в порядке), вы можете набрать это с помощью

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

Если вы действительно хотите, чтобы автор находился между ними, вы не можете использовать \title и\author вместе обычным способом - вы должны поместить свое имя в другую строку в команде\title.

Ответ 4

Если вам нужно отобразить номер версии только в титульной странице, вам просто нужно ее изменить, используя

    \begin{titlepage}
    ...
    Version 1.x
    ...
    \end{titlepage}

после выдачи команды \maketitle.

В противном случае, если вам нужно несколько раз вызвать его в документе, лучше определить переменную:

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

чтобы определить номер версии с помощью \Version{} и вызвать его с помощью \version.

Ответ 5

Простой ручной метод:

  • Создайте файл с именем (скажем) version.tex:

    \providecommand{\versionnumber}{3.0.1}

  • Где вам нужно его использовать:

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

Это даст вам общее место в вашем проекте или проектах для обновления версии вручную.

Ответ 6

Взгляните на пакеты rcsinfo и rcs. Они включают ключи для извлечения данных из тегов RCS в вашем документе, поэтому они будут работать, если вы используете CVS. Я нашел это в The LaTeX Companion, стр. 837. Что-то, что работает с вашим VCS выбора, возможно, было написано тем временем.

Ответ 7

Чтобы предоставить команду \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}}