summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-01-03 00:44:49 +0000
committerKarl Berry <karl@freefriends.org>2012-01-03 00:44:49 +0000
commit8b2c7dfa75b8296bcb312b594a4c597d7b6c3e7f (patch)
treeda683cdc308d66ad2d95a1af025491c76eab253c /Master/texmf-dist
parent6fe376ced37975f0da997a2e955695dc8165cdc7 (diff)
new (renamed) script latexfileversion 0.3 (2jan12)
git-svn-id: svn://tug.org/texlive/trunk@25012 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/support/latexfileversion/ChangeLog9
-rw-r--r--Master/texmf-dist/doc/support/latexfileversion/README29
-rwxr-xr-xMaster/texmf-dist/scripts/latexfileversion/latexfileversion118
3 files changed, 156 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/support/latexfileversion/ChangeLog b/Master/texmf-dist/doc/support/latexfileversion/ChangeLog
new file mode 100644
index 00000000000..c99b4da24a3
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexfileversion/ChangeLog
@@ -0,0 +1,9 @@
+2011-12-31 v0.3 Harald Harders
+ - Rename from getfileversion to latexfileversion
+ - Add support for arbitrary tex input file types
+
+2011-12-30 v0.2 Harald Harders
+ - Avoid special characters as guillemets
+
+2005-04-30 v0.1 Harald Harders
+ - Initial version.
diff --git a/Master/texmf-dist/doc/support/latexfileversion/README b/Master/texmf-dist/doc/support/latexfileversion/README
new file mode 100644
index 00000000000..82c7ef6e925
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexfileversion/README
@@ -0,0 +1,29 @@
+
+This simple shell script prints the version and date of a LaTeX input
+files (e.g., class or style files).
+
+Syntax:
+latexfileversion <file>
+
+This programme handles style files (extension .sty),
+class files (extension .cls), and other tex input files.
+The file extension must be given.
+
+
+Copyright 2005, 2011 Harald Harders, h.harders@tu-bs.de
+
+This programme may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.2
+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.2 or later is part of all distributions of LaTeX
+version 1999/12/01 or later.
+
+This programme consists of the files latexfileversion, README, and ChangeLog.
+
+Before version 0.3, this tool used to be named getfileversion.
+
+Harald Harders
+harald.harders@gmx.de
+2011-12-31
diff --git a/Master/texmf-dist/scripts/latexfileversion/latexfileversion b/Master/texmf-dist/scripts/latexfileversion/latexfileversion
new file mode 100755
index 00000000000..bae05f520aa
--- /dev/null
+++ b/Master/texmf-dist/scripts/latexfileversion/latexfileversion
@@ -0,0 +1,118 @@
+#!/usr/bin/env bash
+## latexfileversion
+##
+## This simple shell script prints the version and date of a LaTeX class or
+## style file.
+##
+## Version 0.3, 2011-12-31, Add support for arbitrary tex input file types
+## Rename from getfileversion to latexfileversion
+## Version 0.2, 2011-12-30, Avoid special characters as guillemots
+## Version 0.1, 2005-04-30, Initial version
+##
+## Copyright 2005, 2011 Harald Harders, harald.harders@gmx.de
+##
+## This programme may be distributed and/or modified under the
+## conditions of the LaTeX Project Public License, either version 1.2
+## 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.2 or later is part of all distributions of LaTeX
+## version 1999/12/01 or later.
+##
+## This programme consists of the files
+## latexfileversion, README, and ChangeLog.
+VERSION=0.3
+
+# help screen
+if [ -z "$1" ]
+then
+ echo 'latexfileversion v'$VERSION >&2
+ echo '' >&2
+ echo 'This programme prints the version and date of a LaTeX class or' >&2
+ echo 'style file.' >&2
+ echo '' >&2
+ echo 'Syntax:' >&2
+ echo 'latexfileversion <file>' >&2
+ echo '' >&2
+ echo 'This programme handles style files (extension .sty),' >&2
+ echo 'class files (extension .cls), and other tex input files.' >&2
+ echo 'The file extension must be given.' >&2
+ exit 1
+fi
+
+# make temporary directory
+TMPDIR=`mktemp -d /tmp/latexfileversion.XXXXXX` || exit 1
+cd $TMPDIR
+
+# extract basenames for extensions .cls and .sty
+FILE=$1
+STYLE=${1%%.sty}
+CLASS=${1%%.cls}
+
+# handle .cls files and .sty files seperately
+if [ "$CLASS.cls" == "$FILE" ]
+then
+ echo -n "Looking for class file '$CLASS.cls': "
+ # generate temporary LaTeX file
+(
+cat << EOM
+\documentclass{$CLASS}
+\nofiles
+\makeatletter
+\def\GetFileInfo#1{%
+ \def\filename{#1}%
+ \def\@tempb##1 ##2 ##3\relax##4\relax{%
+ \def\filedate{##1}%
+ \def\fileversion{##2}%
+ \def\fileinfo{##3}}%
+ \edef\@tempa{\csname ver@#1\endcsname}%
+ \expandafter\@tempb\@tempa\relax? ? \relax\relax}
+\makeatother
+\GetFileInfo{$CLASS.cls}
+\typeout{VERSION \fileversion, \filedate}
+\begin{document}
+\end{document}
+EOM
+) > latexfileversion.tex
+else
+ if [ "$STYLE.sty" == "$FILE" ]
+ then
+ echo -n "Looking for style file '$STYLE.sty': "
+ # generate temporary LaTeX file
+(
+cat << EOM
+\documentclass{ltxdoc}
+\nofiles
+\usepackage{$STYLE}
+\GetFileInfo{$STYLE.sty}
+\typeout{VERSION \fileversion, \filedate}
+\begin{document}
+\end{document}
+EOM
+) > latexfileversion.tex
+ else
+ echo -n "Looking for file '$FILE': "
+ # generate temporary LaTeX file
+(
+cat << EOM
+\documentclass{ltxdoc}
+\nofiles
+\input{$FILE}
+\GetFileInfo{$FILE}
+\typeout{VERSION \fileversion, \filedate}
+\begin{document}
+\end{document}
+EOM
+) > latexfileversion.tex
+ fi
+fi
+
+# run temporary LaTeX file which writes »VERSION ...« into the logfile
+pdflatex -interaction=nonstopmode latexfileversion.tex > /dev/null
+# extract the line containing »VERSION« and remove »VERSION «
+grep -e '^VERSION' latexfileversion.log | sed 's/VERSION //'
+
+# delete temporary directory
+rm -rf $TMPDIR
+
+#EOF