如何在 LaTeX 中向文档添加版本计数器?

如何在 LaTeX 中向文档添加版本计数器?

好吧,这个问题可能有点傻,但现在我开始提供论文副本供审阅,我想添加文档的副本版本。然后我很好奇是否有任何包或一些示例代码允许将其添加到我的论文中。

我知道我可以手动在页面上添加一行并放置任何version x,但有没有办法自动化?我已经检查了CTAN 中的versionversions包,但这不是我想要的。

我认为这个问题不需要 MWE,如果有的话,我会说我正在使用该类scrbook。否则我稍后会上传 MWE。


更新

那么这可能是一个 MWE:

\documentclass[fontsize=10pt,paper=letter,headings=big,bibliography=totoc,DIV=8,headsepline=true]{scrbook}    
\usepackage[usenames,dvipsnames,x11names,table]{xcolor}
\usepackage[single=false,macros=false,xspace=false]{acro}
\usepackage[polutonikogreek,spanish,mexico]{babel}
\usepackage[intlimits]{amsmath}
\usepackage{amsthm,amssymb,empheq,bm}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish=mexican]{csquotes}    

%\usepackage{scrlayer-scrpage} %[markcase=ignoreuppercase]
\usepackage{scrpage2}
\pagestyle{scrheadings}

\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\usepackage{setspace}
%\singlespacing
\onehalfspacing
%\doublespacing

\usepackage{graphicx,subfig,etex,tikz,pgfplots,afterpage}
\graphicspath{{./imagen/}}    

\usepackage{snotez}

\raggedbottom
\clubpenalty=10000
\widowpenalty=1000

\KOMAoption{parskip}{half*}
\setparsizes{1em}{0.25\baselineskip plus .25\baselineskip}{1em plus 1fil}

\renewcommand*{\dictumwidth}{0.4\textwidth}
\setkomafont{dictumauthor}{\upshape}

\begin{document}

\frontmatter
\extratitle{{\large Thesis title}\\ thesis subtitle}
\titlehead{{\LARGE My University} 

\medskip

{\Large My Faculty}\\
\rule{\linewidth}{1pt}\\ 
{\large Engineering}}
\subject{Thesis}
\title{Thesis title}
\subtitle{Tehsis subtitle}
\author{Aradnix Veckhom\thanks{IIMAS} \\{\normalsize Account number: 09804642-5}}
\date{Universitary City \today}
\publishers{Advisor:\\ \begin{normalsize} Dr. Evil\footnotemark[1]\footnote{De facto}\\
        Dr. Mono\footnotemark[1]\footnote{De jure}
\end{normalsize}}

\lowertitleback{La composición tipográfica se llevó a cabo con la ayuda de {\KOMAScript} empleando el sistema \LaTeXe{} de Leslie Lamport con los paquetes \AmS{}; basado a su vez en \TeX{} versión 3.141592 de Donald Knuth; con las familias Mathpazo (Extensión de Palatino diseñada por Hermann Zapf), y Textcomp, en cuerpos de 8/14, 10/14, 11/14, 16/19, 21/25 y 26/31 puntos de pica tradicional.} 

\uppertitleback{\copyright{} 2014 Araden\u{a}torix Veckh\^{o}m Vacel\ae{}vus \\ Diseño y composición: \emph{Listopad}\\
Versión $\beta 1.0$ } 
\maketitle

\end{document}

如您所见,我手动添加了一行版本名称。我只是想知道是否可以以某种方式自动执行此操作而无需 VCS。就这样。

答案1

好吧,我想我会“半自动化”地做到这一点。我的意思是建立一个机制来接管像 subversion 这样的工具的版本号,或者我不会这么做。我修改/保存了多少次代码(可能一天 10 次或更多)并不有趣,有趣的是你的教授获得的版本编号(当然,将发布的版本也保存在你的计算机上也是一个好主意)。

\myscriptversion因此,我只需在主tex文件中创建一个包含版本号和打印日期的 新命令,如下所示:

\newcommand{\myscriptversion}{Versi{\`o}n $\beta 1.0$, \today}

现在,您可以使用这个新命令在您需要的每个地方添加版本,例如在标题页或(IMHO 更好)在页脚中:

\ifoot{\myscriptversion}% add version to foot line of each page
\uppertitleback{\copyright{} 2014 Araden\u{a}torix Veckh\^{o}m Vacel\ae{}vus \\ 
  Diseño y composición: \emph{Listopad}\\
  \myscriptversion}

您更改的代码(我添加了它blindtext以便能够看到普通页面的页脚;更改见< ===========标记):

\documentclass[%
  fontsize=10pt,
  paper=letter,
  headings=big,
  bibliography=totoc,
  DIV=8,
  headsepline=true
]{scrbook}

\newcommand{\myscriptversion}{Versi{\`o}n $\beta 1.0$, \today} % <======
\usepackage{blindtext}  % <=============================================

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polutonikogreek,spanish,mexico]{babel}
\usepackage[spanish=mexican]{csquotes}    

\usepackage{amsmath}

%\usepackage{scrlayer-scrpage} %[markcase=ignoreuppercase]
\usepackage{scrpage2}
\ifoot{\myscriptversion} % <===========================================
\pagestyle{scrheadings}

\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\usepackage{setspace}
%\singlespacing
\onehalfspacing
%\doublespacing

\raggedbottom
\clubpenalty=10000
\widowpenalty=1000

\KOMAoption{parskip}{half*}
\setparsizes{1em}{0.25\baselineskip plus .25\baselineskip}{1em plus 1fil}

\renewcommand*{\dictumwidth}{0.4\textwidth}
\setkomafont{dictumauthor}{\upshape}


\begin{document}

\frontmatter
\extratitle{{\large Thesis title}\\ thesis subtitle}
\titlehead{{\LARGE My University} 

\medskip

{\Large My Faculty}\\
\rule{\linewidth}{1pt}\\ 
{\large Engineering}}

\subject{Thesis}
\title{Thesis title}
\subtitle{Tehsis subtitle}
\author{Aradnix Veckhom\thanks{IIMAS} \\{\normalsize Account number: 09804642-5}}
\date{Universitary City \today}
\publishers{Advisor:\\ \begin{normalsize} Dr. Evil\footnotemark[1]\footnote{De facto}\\
        Dr. Mono\footnotemark[1]\footnote{De jure}
\end{normalsize}}

\lowertitleback{La composición tipográfica se llevó a cabo con la ayuda de {\KOMAScript} empleando el sistema \LaTeXe{} de Leslie Lamport con los paquetes \AmS{}; basado a su vez en \TeX{} versión 3.141592 de Donald Knuth; con las familias Mathpazo (Extensión de Palatino diseñada por Hermann Zapf), y Textcomp, en cuerpos de 8/14, 10/14, 11/14, 16/19, 21/25 y 26/31 puntos de pica tradicional.} 

\uppertitleback{\copyright{} 2014 Araden\u{a}torix Veckh\^{o}m Vacel\ae{}vus \\ 
  Diseño y composición: \emph{Listopad}\\
  \myscriptversion}  % <================================================
\maketitle

\mainmatter      % <====================================================
\Blinddocument   % <====================================================

\end{document}

相关内容