From 2898d79db8fd35f3151ead38d075c66507556f8e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 3 Sep 2011 23:05:48 +0000 Subject: new latex package gitinfo (30aug11) git-svn-id: svn://tug.org/texlive/trunk@23779 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/gitinfo/gitinfo.sty | 83 ++++++++++++++++++++++ Master/texmf-dist/tex/latex/gitinfo/gitsetinfo.sty | 66 +++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/gitinfo/gitinfo.sty create mode 100644 Master/texmf-dist/tex/latex/gitinfo/gitsetinfo.sty (limited to 'Master/texmf-dist/tex/latex/gitinfo') diff --git a/Master/texmf-dist/tex/latex/gitinfo/gitinfo.sty b/Master/texmf-dist/tex/latex/gitinfo/gitinfo.sty new file mode 100644 index 00000000000..1be51970c07 --- /dev/null +++ b/Master/texmf-dist/tex/latex/gitinfo/gitinfo.sty @@ -0,0 +1,83 @@ +% gitinfo.sty +% Copyright 2011 Brent Longborough +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% The Current Maintainer of this work is Brent Longborough. +% +% This work consists of these files: +% gitinfo.sty, gitsetinfo.sty, gitinfo.tex, gitinfo.pdf, +% post-git-sample.txt, and gitHeadInfo.gin +% ----------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{gitinfo}[2011/08/10 v1.00 git revision information] +\RequirePackage{etoolbox} +\RequirePackage{kvoptions} +\SetupKeyvalOptions{% + family=gitInfo, + prefix=gitInf@ + } +\DeclareBoolOption{grumpy} +\DeclareBoolOption{pcount} +\DeclareBoolOption{footinfo} +\DeclareStringOption[(None)]{missing} +\ProcessKeyvalOptions* +\newcommand{\gitAbbrevHash}{\gitInf@missing} +\newcommand{\gitHash}{\gitInf@missing} +\newcommand{\gitAuthorName}{\gitInf@missing} +\newcommand{\gitAuthorEmail}{\gitInf@missing} +\newcommand{\gitAuthorDate}{\gitInf@missing} +\newcommand{\gitAuthorIsoDate}{\gitInf@missing} +\newcommand{\gitAuthorUnixDate}{\gitInf@missing} +\newcommand{\gitCommitterName}{\gitInf@missing} +\newcommand{\gitCommitterEmail}{\gitInf@missing} +\newcommand{\gitCommitterDate}{\gitInf@missing} +\newcommand{\gitCommitterIsoDate}{\gitInf@missing} +\newcommand{\gitCommitterUnixDate}{\gitInf@missing} +\newcommand{\gitReferences}{\gitInf@missing} +\newcommand{\gitVtag}{} +\newcommand{\gitVtags}{} +\newcommand{\gitVtagn}{\space\gitInf@missing} +\InputIfFileExists{./gitHeadInfo.gin}{}{% + \ifbool{gitInf@grumpy}{% + \PackageError{gitinfo}{I can't find the file `gitHeadInfo.gin`.\MessageBreak + Please check the manual (gitinfo.pdf) \MessageBreak + if you need more details.}{} + }{% + \PackageWarning{gitInfo}{I can't find the file `gitHeadInfo.gin`.\MessageBreak + All git metadata has been set to ``\gitInf@missing''.} + } +} +\@ifclassloaded{memoir}{% + \ifbool{gitInf@footinfo}{% + \ifbool{gitInf@pcount}{ + \newcommand{\@gitPage}{\thepage/\thelastpage} + \addtodef{\frontmatter}{\renewcommand{\@gitPage}{\thepage}}{} + \addtodef{\mainmatter}{}{\renewcommand{\@gitPage}{\thepage/\thelastpage}} + }{% + \newcommand{\@gitPage}{\thepage} + } + \newcommand{\@gitFootRev}{Revision\gitVtags: \gitAbbrevHash{} (\gitAuthorDate)} + \newcommand{\@gitrFootRev}{% + \tiny\textsf{\raggedleft \@gitFootRev}% + } + \newcommand{\@gitlFootRev}{% + \tiny\textsf{\@gitFootRev}% + } + \makeevenfoot{plain}{\@gitPage}{}{\@gitrFootRev} + \makeoddfoot{plain}{\@gitlFootRev}{}{\@gitPage} + \makeevenfoot{ruled}{\@gitPage}{}{\@gitrFootRev} + \makeoddfoot{ruled}{\@gitlFootRev}{}{\@gitPage} + \makeevenfoot{headings}{\@gitPage}{}{\@gitrFootRev} + \makeoddfoot{headings}{\@gitlFootRev}{}{\@gitPage} + \makeevenhead{headings}{}{}{\slshape\leftmark} + \makeoddhead{headings}{\slshape\rightmark}{}{} + }{} +}{} diff --git a/Master/texmf-dist/tex/latex/gitinfo/gitsetinfo.sty b/Master/texmf-dist/tex/latex/gitinfo/gitsetinfo.sty new file mode 100644 index 00000000000..7d63b19500a --- /dev/null +++ b/Master/texmf-dist/tex/latex/gitinfo/gitsetinfo.sty @@ -0,0 +1,66 @@ +% gitsetinfo.sty +% Copyright 2011 Brent Longborough +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% The Current Maintainer of this work is Brent Longborough. +% +% This work consists of these files: +% gitinfo.sty, gitsetinfo.sty, gitinfo.tex, gitinfo.pdf, +% post-git-sample.txt, and gitHeadInfo.gin +% ----------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{gitsetinfo}[2011/08/10 v1.00 Auxiliary package for gitinfo] +\RequirePackage{kvoptions} +\RequirePackage{xstring} +\RequirePackage{etoolbox} +\SetupKeyvalOptions{% + family=gitinfo, + prefix=gitInf@ + } +\DeclareStringOption{shash} +\DeclareStringOption{lhash} +\DeclareStringOption{authname} +\DeclareStringOption{authemail} +\DeclareStringOption{authsdate} +\DeclareStringOption{authidate} +\DeclareStringOption{authudate} +\DeclareStringOption{commname} +\DeclareStringOption{commemail} +\DeclareStringOption{commsdate} +\DeclareStringOption{commidate} +\DeclareStringOption{commudate} +\DeclareStringOption{refnames} +\ProcessKeyvalOptions* +\renewcommand{\gitAbbrevHash}{\gitInf@shash} +\renewcommand{\gitHash}{\gitInf@lhash} +\renewcommand{\gitAuthorName}{\gitInf@authname} +\renewcommand{\gitAuthorEmail}{\gitInf@authemail} +\renewcommand{\gitAuthorDate}{\gitInf@authsdate} +\renewcommand{\gitAuthorIsoDate}{\gitInf@authidate} +\renewcommand{\gitAuthorUnixDate}{\gitInf@authudate} +\renewcommand{\gitCommitterName}{\gitInf@commname} +\renewcommand{\gitCommitterEmail}{\gitInf@commemail} +\renewcommand{\gitCommitterDate}{\gitInf@commsdate} +\renewcommand{\gitCommitterIsoDate}{\gitInf@commidate} +\renewcommand{\gitCommitterUnixDate}{\gitInf@commudate} +\renewcommand{\gitReferences}{\gitInf@refnames} +\newcommand{\git@vtag}[1]{% + \def\do##1{% + \IfDecimal{##1}{% + \renewcommand{\gitVtag}{##1} + \renewcommand{\gitVtags}{\space##1} + \renewcommand{\gitVtagn}{\space##1} + \listbreak + }{}% + }% + \expandafter\docsvlist\expandafter{#1}% +}% +\git@vtag{\gitInf@refnames} -- cgit v1.2.3