summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-06-27 16:44:39 +0000
committerKarl Berry <karl@freefriends.org>2013-06-27 16:44:39 +0000
commitd1e85bfb2d9a06c0d47bdb12cc9d3e53f4f4b7a2 (patch)
tree09d2f136eac81eb32bff92064569c1c4caf623c5 /Master
parent5d0a78fa69eddaec28febee79e47b450d57ada3f (diff)
new script latex-git-log (16jun13)
git-svn-id: svn://tug.org/texlive/trunk@30983 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
l---------Master/bin/alpha-linux/latex-git-log1
l---------Master/bin/amd64-freebsd/latex-git-log1
l---------Master/bin/amd64-kfreebsd/latex-git-log1
l---------Master/bin/amd64-netbsd/latex-git-log1
l---------Master/bin/armel-linux/latex-git-log1
l---------Master/bin/armhf-linux/latex-git-log1
l---------Master/bin/i386-cygwin/latex-git-log1
l---------Master/bin/i386-freebsd/latex-git-log1
l---------Master/bin/i386-kfreebsd/latex-git-log1
l---------Master/bin/i386-linux/latex-git-log1
l---------Master/bin/i386-netbsd/latex-git-log1
l---------Master/bin/i386-solaris/latex-git-log1
l---------Master/bin/mips-irix/latex-git-log1
l---------Master/bin/mipsel-linux/latex-git-log1
l---------Master/bin/powerpc-linux/latex-git-log1
l---------Master/bin/sparc-solaris/latex-git-log1
l---------Master/bin/universal-darwin/latex-git-log1
-rwxr-xr-xMaster/bin/win32/latex-git-log.exebin0 -> 1536 bytes
l---------Master/bin/x86_64-darwin/latex-git-log1
l---------Master/bin/x86_64-linux/latex-git-log1
l---------Master/bin/x86_64-solaris/latex-git-log1
-rw-r--r--Master/texmf-dist/doc/man/man1/latex-git-log.1253
-rw-r--r--Master/texmf-dist/doc/man/man1/latex-git-log.man1.pdfbin0 -> 8318 bytes
-rw-r--r--Master/texmf-dist/doc/support/latex-git-log/README75
-rw-r--r--Master/texmf-dist/doc/support/latex-git-log/example-output.tex70
-rw-r--r--Master/texmf-dist/doc/support/latex-git-log/example.pdfbin0 -> 77887 bytes
-rw-r--r--Master/texmf-dist/doc/support/latex-git-log/example.tex17
-rw-r--r--Master/texmf-dist/doc/support/latex-git-log/po/de.po57
-rwxr-xr-xMaster/texmf-dist/scripts/latex-git-log/latex-git-log362
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check4
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds23
-rw-r--r--Master/tlpkg/tlpsrc/collection-binextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/latex-git-log.tlpsrc1
33 files changed, 876 insertions, 7 deletions
diff --git a/Master/bin/alpha-linux/latex-git-log b/Master/bin/alpha-linux/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/alpha-linux/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/amd64-freebsd/latex-git-log b/Master/bin/amd64-freebsd/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/amd64-freebsd/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/amd64-kfreebsd/latex-git-log b/Master/bin/amd64-kfreebsd/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/amd64-kfreebsd/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/amd64-netbsd/latex-git-log b/Master/bin/amd64-netbsd/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/amd64-netbsd/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/armel-linux/latex-git-log b/Master/bin/armel-linux/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/armel-linux/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/armhf-linux/latex-git-log b/Master/bin/armhf-linux/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/armhf-linux/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/i386-cygwin/latex-git-log b/Master/bin/i386-cygwin/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/i386-cygwin/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/i386-freebsd/latex-git-log b/Master/bin/i386-freebsd/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/i386-freebsd/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/i386-kfreebsd/latex-git-log b/Master/bin/i386-kfreebsd/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/i386-kfreebsd/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/i386-linux/latex-git-log b/Master/bin/i386-linux/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/i386-linux/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/i386-netbsd/latex-git-log b/Master/bin/i386-netbsd/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/i386-netbsd/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/i386-solaris/latex-git-log b/Master/bin/i386-solaris/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/i386-solaris/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/mips-irix/latex-git-log b/Master/bin/mips-irix/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/mips-irix/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/mipsel-linux/latex-git-log b/Master/bin/mipsel-linux/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/mipsel-linux/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/powerpc-linux/latex-git-log b/Master/bin/powerpc-linux/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/powerpc-linux/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/latex-git-log b/Master/bin/sparc-solaris/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/sparc-solaris/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/universal-darwin/latex-git-log b/Master/bin/universal-darwin/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/universal-darwin/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/win32/latex-git-log.exe b/Master/bin/win32/latex-git-log.exe
new file mode 100755
index 00000000000..5777d90a17a
--- /dev/null
+++ b/Master/bin/win32/latex-git-log.exe
Binary files differ
diff --git a/Master/bin/x86_64-darwin/latex-git-log b/Master/bin/x86_64-darwin/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/x86_64-darwin/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/x86_64-linux/latex-git-log b/Master/bin/x86_64-linux/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/x86_64-linux/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/bin/x86_64-solaris/latex-git-log b/Master/bin/x86_64-solaris/latex-git-log
new file mode 120000
index 00000000000..1350d8dd5ad
--- /dev/null
+++ b/Master/bin/x86_64-solaris/latex-git-log
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex-git-log/latex-git-log \ No newline at end of file
diff --git a/Master/texmf-dist/doc/man/man1/latex-git-log.1 b/Master/texmf-dist/doc/man/man1/latex-git-log.1
new file mode 100644
index 00000000000..6d41c0caf92
--- /dev/null
+++ b/Master/texmf-dist/doc/man/man1/latex-git-log.1
@@ -0,0 +1,253 @@
+.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "LATEX-GIT-LOG 1"
+.TH LATEX-GIT-LOG 1 "2013-06-16" "latex-git-log" "Robin Schneider"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+latex\-git\-log \- Generates the version history of a git project as LaTeX source code.
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+latex-git-log [options]
+.PP
+Options:
+.PP
+.Vb 10
+\& \-\-author set this if you want the author included
+\& \-\-startcommit set the start value of count commit
+\& \-\-width set the width in cm of the commit message field in the LaTeX table
+\& \-\-git\-c\-add set an base URL to link to a commit
+\& \-\-user set a github user to derive the base URL
+\& \-\-repo set a github repository to derive the base URL
+\& \-\-lang language of the legend and all strings in the output
+\& \-\-version, \-v print version of this script
+\& \-\-help brief help message
+\& \-\-man full documentation
+.Ve
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-\-width\fR" 8
+.IX Item "--width"
+Set the width in cm of the commit message field in the LaTeX table. If this
+parameter is not set then the table is not vertically limited. That means that
+if you have a very long commit message then the table will probably not fit on
+the page and you will get a \*(L"Overfull\*(R" error message from TeX.
+.Sp
+In this case you should specify the width of the column containing the commit messages.
+I normally use something like \-\-width=14 for \s-1DIN\s0 A4 in landscape.
+.IP "\fB\-\-git\-c\-add\fR" 8
+.IX Item "--git-c-add"
+Set an base \s-1URL\s0 to link to a commit.
+This script will automatically try to use the base \s-1URL\s0 for github.
+.IP "\fB\-\-lang\fR" 8
+.IX Item "--lang"
+Set the language of the legend and all strings in the output. Be default the
+language of your system is used but you can overwrite this with this parameter.
+.Sp
+Currently this script only supports English and German. If you need a translation
+to another language then you can either create a .po file or I can register
+this project on one of those websites for online translation.
+.SH "Example"
+.IX Header "Example"
+You can use it like this:
+.PP
+.Vb 1
+\& latex\-git\-log \-\-width=6 \-\-lang=en > example\-output.tex
+.Ve
+.SH "DEPENDENCIES"
+.IX Header "DEPENDENCIES"
+.SS "Of this script"
+.IX Subsection "Of this script"
+This module requires these other modules and libraries:
+.PP
+.Vb 2
+\& IPC::System::Simple
+\& Locale::Maketext::Simple
+.Ve
+.PP
+Everything else should already be installed.
+.SS "To compile the output"
+.IX Subsection "To compile the output"
+The table is using the \fBlongtable\fR package and the links to a web resource for
+each commit use the \ehref macro from \fBhyperref\fR. So these two packages have to
+be loaded.
+.PP
+Furthermore you need to defined the macro \fB\elongtableendfoot\fR which will be
+expanded on the bottom of every page if the table will be continued on the next
+page. You can defined it to a localized message to inform the reader that this
+table is not complete and will be continued.
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBThis program\fR will output the entire version history as table written in
+LaTeX if it is executed within a git repository.
+.PP
+It is intended that you redirect the standard output of this script to a file
+which can then be included from your main TeX document.
+.PP
+Because the table can be very large you might want to put the thing on a
+landscape page.
+.SH "Version"
+.IX Header "Version"
+0.9
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Robin Schneider <ypid23@aol.de>
+.SH "Development"
+.IX Header "Development"
+Source code repository: https://github.com/ypid/typesetting/tree/master/scripts/latex\-git\-log
+.PP
+Please report bugs and feature requests at https://github.com/ypid/typesetting/issues
+.SH "LICENSE AND COPYRIGHT"
+.IX Header "LICENSE AND COPYRIGHT"
+Copyright (C) 2012\-2013 by Robin Schneider
+.PP
+This program is free software: you can redistribute it and/or modify
+it under the terms of the \s-1GNU\s0 General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+.PP
+This program is distributed in the hope that it will be useful,
+but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
+\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the
+\&\s-1GNU\s0 General Public License for more details.
+.PP
+You should have received a copy of the \s-1GNU\s0 General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+.PP
+Dieses Programm ist Freie Software: Sie kA\*~Xnnen es unter den Bedingungen
+der \s-1GNU\s0 General Public License, wie von der Free Software Foundation,
+Version 3 der Lizenz oder (nach Ihrer Option) jeder spA\*~Xteren
+verA\*~Xffentlichten Version, weiterverbreiten und/oder modifizieren.
+.PP
+Dieses Programm wird in der Hoffnung, dass es nA\*~Xtzlich sein wird, aber
+\&\s-1OHNE\s0 \s-1JEDE\s0 GEWA\*~XHRLEISTUNG, bereitgestellt; sogar ohne die implizite
+GewA\*~Xhrleistung der MARKTFA\*~XHIGKEIT oder \s-1EIGNUNG\s0 FA\*~XR \s-1EINEN\s0 \s-1BESTIMMTEN\s0 \s-1ZWECK\s0.
+Siehe die \s-1GNU\s0 General Public License fA\*~Xr weitere Details.
+.PP
+Sie sollten eine Kopie der \s-1GNU\s0 General Public License zusammen mit diesem
+Programm erhalten haben. Wenn nicht, siehe <http://www.gnu.org/licenses/>.
diff --git a/Master/texmf-dist/doc/man/man1/latex-git-log.man1.pdf b/Master/texmf-dist/doc/man/man1/latex-git-log.man1.pdf
new file mode 100644
index 00000000000..5e621621ecb
--- /dev/null
+++ b/Master/texmf-dist/doc/man/man1/latex-git-log.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/latex-git-log/README b/Master/texmf-dist/doc/support/latex-git-log/README
new file mode 100644
index 00000000000..aaaae180109
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latex-git-log/README
@@ -0,0 +1,75 @@
+# latex-git-log
+This program will output the entire version history as table written in LaTeX
+if it is executed within a git repository.
+
+It is intended that you redirect the standard output of this script to a file
+which can then be included from your main TeX document.
+
+Because the table can be very large you might want to put the thing on a
+landscape page.
+
+## Dependencies
+### Of this script
+This module requires these other modules and libraries:
+
+ IPC::System::Simple
+ Locale::Maketext::Simple
+
+Everything else should already be installed.
+
+### To compile the output
+The table is using the *longtable* package and the links to a web resource for
+each commit use the `\href` macro from *hyperref*. So these two packages have
+to be loaded.
+
+Furthermore you need to defined the macro `\longtableendfoot` which will be
+expanded on the bottom of every page if the table will be continued on the next
+page. You can defined it to a localized message to inform the reader that this
+table is not complete and will be continued.
+
+## License and development
+Copyright (C) by Robin Schneider <ypid23@aol.de> <br />
+Source code repository: https://github.com/ypid/typesetting/tree/master/scripts/latex-git-log <br />
+Please report bugs and feature requests at https://github.com/ypid/typesetting/issues <br />
+
+## Usage
+
+ latex-git-log [options]
+
+ Options:
+
+ --author set this if you want the author included
+ --startcommit set the start value of count commit
+ --width set the width in cm of the commit message field in the LaTeX table
+ --git-c-add set an base URL to link to a commit
+ --user set a github user to derive the base URL
+ --repo set a github repository to derive the base URL
+ --lang language of the legend and all strings in the output
+ --version, -v print version of this script
+ --help brief help message
+ --man full documentation
+
+### Description of some options
+
+ --width Set the width in cm of the commit message field in the LaTeX
+ table. If this parameter is not set then the table is not
+ vertically limited. That means that if you have a very long
+ commit message then the table will probably not fit on the page
+ and you will get a "Overfull" error message from TeX.
+
+ In this case you should specify the width of the column
+ containing the commit messages. I normally use something like
+ --width=14 for DIN A4 in landscape.
+
+ --git-c-add
+ Set an base URL to link to a commit. This script will
+ automatically try to use the base URL for github.
+
+ --lang Set the language of the legend and all strings in the output. Be
+ default the language of your system is used but you can
+ overwrite this with this parameter.
+
+ Currently this script only supports English and German. If you
+ need a translation to another language then you can either
+ create a .po file or I can register this project on one of those
+ websites for online translation.
diff --git a/Master/texmf-dist/doc/support/latex-git-log/example-output.tex b/Master/texmf-dist/doc/support/latex-git-log/example-output.tex
new file mode 100644
index 00000000000..da2c199b5c5
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latex-git-log/example-output.tex
@@ -0,0 +1,70 @@
+%% This file was generated by the script latex-git-log
+%% Base git commit URL: https://github.com/ypid/typesetting/commit
+\begin{tabular}{lp{12cm}}
+ \label{tabular:legend:git-log}
+ \textbf{acronym} & \textbf{meaning} \\
+ V & \texttt{version} \\
+ tag & \texttt{git tag} \\
+ MF & Number of \texttt{modified files}. \\
+ AL & Number of \texttt{added lines}. \\
+ DL & Number of \texttt{deleted lines}. \\
+\end{tabular}
+
+\bigskip
+
+\iflanguage{ngerman}{\shorthandoff{"}}{}
+\begin{longtable}{|rllp{13cm}rrr|}
+\hline \multicolumn{1}{|c}{\textbf{V}} & \multicolumn{1}{c}{\textbf{tag}}
+& \multicolumn{1}{c}{\textbf{date}}
+& \multicolumn{1}{c}{\textbf{commit message}} & \multicolumn{1}{c}{\textbf{MF}}
+& \multicolumn{1}{c}{\textbf{AL}} & \multicolumn{1}{c|}{\textbf{DL}} \\ \hline
+\endhead
+
+\hline \multicolumn{7}{|r|}{\longtableendfoot} \\ \hline
+\endfoot
+
+\hline% \hline
+\endlastfoot
+
+\hline 1 & & 2012-08-18 & \href{https://github.com/ypid/typesetting/commit/3ff663fcfbc56662426740cf6bab2a840e320db6}{added template.dtx from http://texhacks.blogspot.de/2011/01/simpler-dtx-template.html} & 2 & 127 & 0 \\
+\hline 2 & & 2012-08-19 & \href{https://github.com/ypid/typesetting/commit/e9fc9a2847fe14067bb3ec8d4e4298ff8806f11f}{made my first changes on the docstrip template} & 2 & 40 & 48 \\
+\hline 3 & & 2012-08-19 & \href{https://github.com/ypid/typesetting/commit/cbc7bbcdda54f7b43f2039531d2a4f58c35f8964}{optimized} & 1 & 5 & 4 \\
+\hline 4 & & 2012-08-22 & \href{https://github.com/ypid/typesetting/commit/55d994c391c509897dd56a6a755c51a1e62bd4d4}{optimized} & 2 & 119 & 115 \\
+\hline 5 & & 2012-08-23 & \href{https://github.com/ypid/typesetting/commit/933466b223d70adeda6a865b4b13b4cdfa245070}{added my primary template} & 6 & 252 & 6 \\
+\hline 6 & & 2012-08-23 & \href{https://github.com/ypid/typesetting/commit/5995d70f82b680d3a529aa592558dcdde6f407b7}{added PDFs} & 2 & 0 & 0 \\
+\hline 7 & & 2012-08-23 & \href{https://github.com/ypid/typesetting/commit/7e1efb265b43fb9aad3fa94b22408951076016f3}{added README (Credits)} & 1 & 1 & 0 \\
+\hline 8 & & 2012-08-26 & \href{https://github.com/ypid/typesetting/commit/619a7f6db915bc1e05d0c9ee374aaff53195b257}{converted template.dtx and template.ins to a template for sty2dtx} & 7 & 49 & 62 \\
+\hline 9 & & 2012-08-27 & \href{https://github.com/ypid/typesetting/commit/06f948149a3b0bd2c81062078add19af6bb1ac5d}{optimized} & 6 & 48 & 22 \\
+\hline 10 & & 2012-08-27 & \href{https://github.com/ypid/typesetting/commit/09316b528dc90f45fa4ef6cf9cf5886c4e25c5bb}{added scripts} & 6 & 222 & 0 \\
+\hline 11 & & 2012-08-27 & \href{https://github.com/ypid/typesetting/commit/4c434dcd45aa4a73112b1393d096776eaa938b83}{added README for scripts} & 1 & 10 & 0 \\
+\hline 12 & & 2012-08-27 & \href{https://github.com/ypid/typesetting/commit/794a3db5bd4f0165a347f0628c78f32350731b2a}{optimized scripts} & 4 & 9 & 6 \\
+\hline 13 & & 2012-08-28 & \href{https://github.com/ypid/typesetting/commit/7c80a541828c3e7896c7f55c8b56d745b84a5414}{added MyPackages} & 22 & 1162 & 2 \\
+\hline 14 & & 2012-08-28 & \href{https://github.com/ypid/typesetting/commit/b408bc9fa5f91ff5a7687fc4903d520ab09a288d}{added my Makefile} & 5 & 106 & 0 \\
+\hline 15 & & 2012-08-28 & \href{https://github.com/ypid/typesetting/commit/d86bd28e3f0d0e14d7eb239eb6ad9afab2da47c0}{added more scripts} & 4 & 1465 & 0 \\
+\hline 16 & & 2012-08-28 & \href{https://github.com/ypid/typesetting/commit/ab0554ce8d44852a76b7ad0246e04268b8347acb}{optimized} & 5 & 4 & 1459 \\
+\hline 17 & & 2012-08-31 & \href{https://github.com/ypid/typesetting/commit/75a5b9d653b2798a9cb8f10535f50abf98e94cd2}{optimized} & 7 & 52 & 31 \\
+\hline 18 & & 2012-09-09 & \href{https://github.com/ypid/typesetting/commit/2a99a061ae89f5bd6bd6ace4aac66ad9a768b0fc}{optimized} & 4 & 23 & 10 \\
+\hline 19 & & 2012-09-16 & \href{https://github.com/ypid/typesetting/commit/c2463e8229fbc506a70b4efb157679ecf3aae795}{optimized} & 6 & 10 & 7 \\
+\hline 20 & & 2012-09-23 & \href{https://github.com/ypid/typesetting/commit/1b6cb46337c516e3042d94956e7bf4f097822a47}{added more packages} & 9 & 491 & 12 \\
+\hline 21 & & 2012-09-23 & \href{https://github.com/ypid/typesetting/commit/92a41f208a275b6fcdfe9c442be8c135ec0d1c92}{added school templates} & 25 & 502 & 25 \\
+\hline 22 & & 2012-09-30 & \href{https://github.com/ypid/typesetting/commit/32e21641dff2ffd9fecfe33b93def53d6a305963}{added more templates} & 20 & 537 & 4 \\
+\hline 23 & & 2012-11-03 & \href{https://github.com/ypid/typesetting/commit/2309fa9dd41d0acaf74d6de66976f7ae6f1e7c6b}{rewrote LaTeX-git-log as perl script} & 2 & 63 & 61 \\
+\hline 24 & & 2012-11-03 & \href{https://github.com/ypid/typesetting/commit/773e5b801cfd2ad9a2af8c9d379dd0e2f9afd3cf}{optimized} & 2 & 5 & 4 \\
+\hline 25 & & 2012-11-28 & \href{https://github.com/ypid/typesetting/commit/4ffc0488959ada2a97ba50d5a7db1390afce4a26}{added more templates and optimized} & 12 & 141 & 3 \\
+\hline 26 & & 2013-04-04 & \href{https://github.com/ypid/typesetting/commit/dc3b091e5e8d68daa1c4b73ab96e7bc201a6ed08}{Updated templates.} & 17 & 92 & 55 \\
+\hline 27 & & 2013-04-04 & \href{https://github.com/ypid/typesetting/commit/457664094f33618c62348fe5a9798cc98117bcad}{Added macro for showing the github URL and optimized.} & 8 & 26 & 38 \\
+\hline 28 & & 2013-04-04 & \href{https://github.com/ypid/typesetting/commit/71547c919a2b36548e65320be8ce0d318b473523}{Optimized} & 3 & 36 & 0 \\
+\hline 29 & & 2013-04-20 & \href{https://github.com/ypid/typesetting/commit/3681cf7bc6d18878ca03af4009bdfc9e8835dbcd}{Optimized.} & 5 & 40 & 12 \\
+\hline 30 & & 2013-04-20 & \href{https://github.com/ypid/typesetting/commit/c0ef81a414620007d6f39fa95e59888045fa5cf0}{Optimized.} & 12 & 67 & 22 \\
+\hline 31 & & 2013-04-21 & \href{https://github.com/ypid/typesetting/commit/782b0e0e51773b02cf909600444da892c890b926}{Optimized.} & 4 & 30 & 13 \\
+\hline 32 & & 2013-05-22 & \href{https://github.com/ypid/typesetting/commit/f3048459117aa782b32324bd08ce77bfde325a62}{Optimized (mainly LaTeX-git-wdiff).} & 9 & 229 & 78 \\
+\hline 33 & & 2013-06-15 & \href{https://github.com/ypid/typesetting/commit/c5c45122518ad0e6cf9712dc248b26fd3eea4cf0}{Optimized.} & 3 & 15 & 12 \\
+\hline 34 & v1.0 & 2013-06-15 & \href{https://github.com/ypid/typesetting/commit/af3d63d88a8e37c45c4dc7c8b54ee55091f7ea80}{Made latex-git-log ready for CTAN.} & 6 & 482 & 199 \\
+\hline 35 & & 2013-06-15 & \href{https://github.com/ypid/typesetting/commit/489927feca92be10ddb5bde1b8fb11dae6b37bbb}{Optimized latex-git-log.} & 6 & 12 & 15 \\
+\hline 36 & & 2013-06-16 & \href{https://github.com/ypid/typesetting/commit/6d0ff0a6ae2baba715704f7dea23ebb0ac9ddc02}{Optimized.} & 3 & 106 & 79 \\
+\hline 37 & & 2013-06-16 & \href{https://github.com/ypid/typesetting/commit/ff9d61b343971ca964ca5e2708253abe3dad4dab}{Fixed layout.} & 1 & 9 & 5 \\
+\hline 38 & & 2013-06-16 & \href{https://github.com/ypid/typesetting/commit/2c128bf3eb4d734a11f3e7ebfdc93c01eafbd6f4}{Taking care about special charters in the commit message.} & 2 & 48 & 10 \\
+\hline 39 & & 2013-06-16 & \href{https://github.com/ypid/typesetting/commit/7b1683a671fe687ca58f895564341ee4c82a7f7d}{Fixed problem with escaped $\backslash$href.} & 1 & 10 & 3 \\
+\hline 40 & & 2013-06-16 & \href{https://github.com/ypid/typesetting/commit/6b25666f78ff276bbe161a0a7b659ad0c836aa22}{Made the script prettier with perltidy.} & 1 & 33 & 25 \\
+\hline 41 & & 2013-06-16 & \href{https://github.com/ypid/typesetting/commit/38698ff91b2253abddacd135e332d9ace5127122}{Also escape the author field.} & 3 & 10 & 10 \\
+\end{longtable}
diff --git a/Master/texmf-dist/doc/support/latex-git-log/example.pdf b/Master/texmf-dist/doc/support/latex-git-log/example.pdf
new file mode 100644
index 00000000000..54c9c6093e9
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latex-git-log/example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/latex-git-log/example.tex b/Master/texmf-dist/doc/support/latex-git-log/example.tex
new file mode 100644
index 00000000000..fec2a0e31ff
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latex-git-log/example.tex
@@ -0,0 +1,17 @@
+\documentclass[12pt,a4paper,english,landscape]{scrartcl}
+
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{babel}
+\usepackage{longtable,hyperref}
+\newcommand{\longtableendfoot}{Please continue at the next page}
+
+\begin{document}
+\input{example-output}
+
+The example-output.tex was generated with this command:
+\begin{verbatim}
+ latex-git-log --width=13 --lang=en > example-output.tex
+\end{verbatim}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/support/latex-git-log/po/de.po b/Master/texmf-dist/doc/support/latex-git-log/po/de.po
new file mode 100644
index 00000000000..c5ecd8937aa
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latex-git-log/po/de.po
@@ -0,0 +1,57 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: latex-git-log\n"
+"Report-Msgid-Bugs-To: ypid23@aol.de\n"
+"POT-Creation-Date: 2013-06-15 18:43+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Robin Scheider <ypid23@aol.de>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: DE\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "acronym"
+msgstr "Abkürzung"
+
+msgid "meaning"
+msgstr "Bedeutung"
+
+msgid "version"
+msgstr "Version"
+
+msgid "V"
+msgid "V"
+
+msgid "tag"
+msgstr "Tag"
+
+msgid "MF"
+msgstr "DV"
+
+msgid "AL"
+msgstr "ZH"
+
+msgid "DL"
+msgstr "ZG"
+
+msgid "\\texttt{git tag}"
+msgstr "\\texttt{Markierung} einer Menge von Dateien, aus denen sich zu einem beliebigen Zeitpunkt eine bestimmte Version wiederherstellen lässt"
+
+msgid "Number of \\texttt{modified files}."
+msgstr "Wie viele \\texttt{Dateien} innerhalb dieser Version \\texttt{verändert} wurden"
+
+msgid "Number of \\texttt{added lines}."
+msgstr "Wie viele \\texttt{Zeilen} innerhalb dieser Version neu \\texttt{hinzugekommen} sind"
+
+msgid "Number of \\texttt{deleted lines}."
+msgstr "Wie viele \\texttt{Zeilen} innerhalb dieser Version \\texttt{gelöscht} wurden"
+
+msgid "author"
+msgstr "Autor"
+
+msgid "date"
+msgstr "Datum"
+
+msgid "commit message"
+msgstr "Versionsbericht"
diff --git a/Master/texmf-dist/scripts/latex-git-log/latex-git-log b/Master/texmf-dist/scripts/latex-git-log/latex-git-log
new file mode 100755
index 00000000000..e074d05a5ce
--- /dev/null
+++ b/Master/texmf-dist/scripts/latex-git-log/latex-git-log
@@ -0,0 +1,362 @@
+#!/usr/bin/env perl
+# @author Robin Schneider <ypid23@aol.de>
+# @licence GPLv3+ <http://www.gnu.org/licenses/gpl.html>
+
+# Modules and pragmas {{{
+use strict;
+use warnings;
+use autodie;
+use feature qw(say);
+use utf8;
+use open qw(:std :utf8);
+binmode STDOUT, ':encoding(UTF-8)';
+use IPC::System::Simple qw(capturex);
+use Getopt::Long;
+use Pod::Usage;
+
+# Get the path where this script is located {{{
+my $dirpath;
+
+BEGIN {
+ use File::Basename qw(fileparse);
+ use Cwd qw(abs_path);
+ $dirpath = ( fileparse( abs_path($0) ) )[1];
+}
+# }}}
+use Locale::Maketext::Simple (
+ Path => $dirpath . 'po/',
+ Decode => 1,
+);
+# }}}
+
+# Optional parameters {{{
+my $print_author = 0;
+my $commit_count = 1;
+my $width = 0;
+my $lang = undef;
+my $version = 0;
+my $help = 0;
+my $man = 0;
+my ( $git_user, $git_repo, $git_commit_address );
+GetOptions(
+ 'author' => \$print_author,
+ 'startcommit=s' => \$commit_count,
+ 'width=s' => \$width,
+ 'git-c-add=s' => \$git_commit_address,
+ 'user=s' => \$git_user,
+ 'repo=s' => \$git_repo,
+ 'lang=s' => \$lang,
+ 'version' => \$version,
+ 'help|?' => \$help,
+ 'man' => \$man,
+);
+pod2usage(1) if $help;
+pod2usage( -verbose => 2, -exitstatus => 0, ) if $man;
+pod2usage( -verbose => 99, -sections => 'Version' ) if $version;
+my $git_remote = ( split /\n/xms, capturex(qw(git remote -v)) )[0];
+
+loc_lang($lang) if ( defined $lang );
+if ( not defined $git_user
+ and not defined $git_repo
+ and defined $git_remote
+ and $git_remote =~ m#\s.*?:(?<user>\w+?)/(?<repo>.*?)\.git\ \(fetch\)\Z#xms )
+{
+ $git_user = $+{user};
+ $git_repo = $+{repo};
+}
+say '%% This file was generated by the script latex-git-log';
+my $git_command_commit_msg = '%s';
+if ( defined $git_user and defined $git_repo ) {
+ unless ( defined $git_commit_address ) {
+ $git_commit_address = "https://github.com/$+{user}/$+{repo}/commit";
+ }
+ $git_command_commit_msg = '%H & %s';
+ say '%% Base git commit URL: ' . $git_commit_address;
+}
+if ($width) {
+ $width = "p{${width}cm}";
+}
+else {
+ $width = 'l';
+}
+# }}}
+
+# LaTeX template {{{
+say '\begin{tabular}{lp{12cm}}
+ \label{tabular:legend:git-log}
+ \textbf{' . loc('acronym') . '} & \textbf{' . loc('meaning') . '} \\\\
+ V & \texttt{' . loc('version') . '} \\\\
+ ' . loc('tag') . ' & ' . loc('\texttt{git tag}') . ' \\\\
+ ' . loc('MF') . ' & ' . loc('Number of \texttt{modified files}.') . ' \\\\
+ ' . loc('AL') . ' & ' . loc('Number of \texttt{added lines}.') . ' \\\\
+ ' . loc('DL') . ' & ' . loc('Number of \texttt{deleted lines}.') . ' \\\\
+\end{tabular}
+
+\bigskip
+
+\iflanguage{ngerman}{\shorthandoff{"}}{}';
+
+if ($print_author) {
+ say "\\begin{longtable}{|rllllrrr|}";
+}
+else {
+ say "\\begin{longtable}{|rll${width}rrr|}";
+}
+say '\hline \multicolumn{1}{|c}{\textbf{' . loc('V') . '}} & \multicolumn{1}{c}{\textbf{' . loc('tag') . '}}';
+say '& \multicolumn{1}{c}{\textbf{' . loc('author') . '}}' if $print_author;
+say '& \multicolumn{1}{c}{\textbf{' . loc('date') . '}}
+& \multicolumn{1}{c}{\textbf{' . loc('commit message') . '}} & \multicolumn{1}{c}{\textbf{' . loc('MF') . '}}
+& \multicolumn{1}{c}{\textbf{' . loc('AL') . '}} & \multicolumn{1}{c|}{\textbf{' . loc('DL') . '}} \\\\ \hline
+\endhead
+';
+if ($print_author) {
+ say '\hline \multicolumn{8}{|r|}{\longtableendfoot} \\\\ \hline';
+}
+else {
+ say '\hline \multicolumn{7}{|r|}{\longtableendfoot} \\\\ \hline';
+}
+say '\endfoot
+
+\hline% \hline
+\endlastfoot
+';
+# }}}
+
+# Get version history from git log {{{
+# git log --pretty=format:'%ai'
+# git log --date=short --pretty=format:'%ad'
+my @lines;
+my @git_command = qw(git log --date=short --shortstat);
+if ($print_author) {
+ push( @git_command, qq(--pretty=format:%H & %an NoTinAuthorFiled& %ad & $git_command_commit_msg) );
+}
+else {
+ push( @git_command, qq(--pretty=format:%H %ad & $git_command_commit_msg) );
+}
+@lines = reverse capturex(@git_command);
+# }}}
+
+# Get tags {{{
+my @tags_commits = capturex( 'git', 'for-each-ref', '--format=%(refname:short) %(objectname)', 'refs/tags' );
+my %commit_tags; # The key will be a SHA1 commit hash and the value a comma separated list of all tags.
+for (@tags_commits) {
+ my ( $tag, $c_hash ) = split /\s/xms, $_;
+ chomp($c_hash);
+ if ( defined $commit_tags{$c_hash} ) {
+ $commit_tags{$c_hash} .= ", $tag";
+ }
+ else {
+ $commit_tags{$c_hash} = $tag;
+ }
+}
+# }}}
+
+# Helper function {{{
+sub latex_escape {
+ # Source: http://ommammatips.blogspot.de/2011/01/perl-function-for-latex-escape.html
+ my $paragraph = shift;
+
+ # Replace a \ with $\backslash$
+ # This is made more complicated because the dollars will be escaped
+ # by the subsequent replacement. Easiest to add \backslash
+ # now and then add the dollars
+ $paragraph =~ s/\\/\\backslash/g;
+
+ # Must be done after escape of \ since this command adds latex escapes
+ # Replace characters that can be escaped
+ $paragraph =~ s/([\$\#&%_{}])/\\$1/g;
+
+ # Replace ^ characters with \^{} so that $^F works okay
+ $paragraph =~ s/(\^)/\\$1\{\}/g;
+
+ # Replace tilde (~) with \texttt{\~{}}
+ # $paragraph =~ s/~/\\texttt\{\\~\{\}\}/g;
+ $paragraph =~ s/~/\\~\{\}/g;
+
+ # Now add the dollars around each \backslash
+ $paragraph =~ s/(\\backslash)/\$$1\$/g;
+ return $paragraph;
+} ## end sub latex_escape
+# }}}
+
+# Loop over all commits {{{
+my $which_line = 0;
+my @changes;
+for (@lines) {
+ next if /\A\Z/xms;
+ chomp;
+ if ($which_line) {
+ s/\A([0-9a-f]{40})\s//xms or die "Did not match the commit hash\n";
+ my $tags = exists $commit_tags{$1} ? $commit_tags{$1} : q();
+ my $date_author = '';
+ my $c_msg;
+ if ($print_author) {
+ /(?:& )(.*?)NoTinAuthorFiled(& .*? &) (.*)/;
+ $date_author = latex_escape($1) . $2;
+ $c_msg = $3;
+ }
+ else {
+ /(.*? &) (.*)/;
+ $date_author = $1;
+ $c_msg = $2;
+ }
+ if ( defined $git_user and defined $git_repo ) {
+ $c_msg =~ /(.*?) & (.*)/;
+ $c_msg = sprintf '\\href{%s/%s}{%s}', $git_commit_address, $1, latex_escape($2);
+ }
+ else {
+ $c_msg = latex_escape($c_msg);
+ }
+ say "\\hline $commit_count & $tags & $date_author $c_msg & " . join( ' & ', @changes ) . ' \\\\';
+ $commit_count++;
+ } ## end if ($which_line)
+ else {
+ @changes = ( 0, 0, 0 );
+ /(\d+) files? changed/ and $changes[0] = $1;
+ /(\d+) insertions?/ and $changes[1] = $1;
+ /(\d+) deletions?/ and $changes[2] = $1;
+ }
+ $which_line ^= 1; ## toggle bit
+} ## end for (@lines)
+say '\end{longtable}';
+# }}}
+
+__END__
+# Documentation {{{
+
+=head1 NAME
+
+latex-git-log - Generates the version history of a git project as LaTeX source code.
+
+=head1 SYNOPSIS
+
+latex-git-log [options]
+
+Options:
+
+ --author set this if you want the author included
+ --startcommit set the start value of count commit
+ --width set the width in cm of the commit message field in the LaTeX table
+ --git-c-add set an base URL to link to a commit
+ --user set a github user to derive the base URL
+ --repo set a github repository to derive the base URL
+ --lang language of the legend and all strings in the output
+ --version, -v print version of this script
+ --help brief help message
+ --man full documentation
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<--width>
+
+Set the width in cm of the commit message field in the LaTeX table. If this
+parameter is not set then the table is not vertically limited. That means that
+if you have a very long commit message then the table will probably not fit on
+the page and you will get a "Overfull" error message from TeX.
+
+In this case you should specify the width of the column containing the commit messages.
+I normally use something like --width=14 for DIN A4 in landscape.
+
+=item B<--git-c-add>
+
+Set an base URL to link to a commit.
+This script will automatically try to use the base URL for github.
+
+=item B<--lang>
+
+Set the language of the legend and all strings in the output. Be default the
+language of your system is used but you can overwrite this with this parameter.
+
+Currently this script only supports English and German. If you need a translation
+to another language then you can either create a .po file or I can register
+this project on one of those websites for online translation.
+
+=back
+
+=head1 Example
+
+You can use it like this:
+
+ latex-git-log --width=6 --lang=en > example-output.tex
+
+=head1 DEPENDENCIES
+
+=head2 Of this script
+
+This module requires these other modules and libraries:
+
+ IPC::System::Simple
+ Locale::Maketext::Simple
+
+Everything else should already be installed.
+
+=head2 To compile the output
+
+The table is using the B<longtable> package and the links to a web resource for
+each commit use the \href macro from B<hyperref>. So these two packages have to
+be loaded.
+
+Furthermore you need to defined the macro B<\longtableendfoot> which will be
+expanded on the bottom of every page if the table will be continued on the next
+page. You can defined it to a localized message to inform the reader that this
+table is not complete and will be continued.
+
+=head1 DESCRIPTION
+
+B<This program> will output the entire version history as table written in
+LaTeX if it is executed within a git repository.
+
+It is intended that you redirect the standard output of this script to a file
+which can then be included from your main TeX document.
+
+Because the table can be very large you might want to put the thing on a
+landscape page.
+
+=head1 Version
+
+0.9
+
+=head1 AUTHOR
+
+Robin Schneider <ypid23@aol.de>
+
+=head1 Development
+
+Source code repository: https://github.com/ypid/typesetting/tree/master/scripts/latex-git-log
+
+Please report bugs and feature requests at https://github.com/ypid/typesetting/issues
+
+=head1 LICENSE AND COPYRIGHT
+
+Copyright (C) 2012-2013 by Robin Schneider
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Dieses Programm ist Freie Software: Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation,
+Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren
+veröffentlichten Version, weiterverbreiten und/oder modifizieren.
+
+Dieses Programm wird in der Hoffnung, dass es nützlich sein wird, aber
+OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite
+Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
+Siehe die GNU General Public License für weitere Details.
+
+Sie sollten eine Kopie der GNU General Public License zusammen mit diesem
+Programm erhalten haben. Wenn nicht, siehe <http://www.gnu.org/licenses/>.
+
+=cut
+# }}}
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 40cfce713c5..a0fe0de8750 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -253,9 +253,9 @@ my @TLP_working = qw(
l3kernel l3packages l3experimental
labbook labelcas labels langcode lapdf lastpage
latex latex-bib-ex latex-brochure latex-course latex-doc-ptr latex-fonts
- latex-graphics-companion latex-web-companion latex-notes-zh-cn
+ latex-git-log latex-graphics-companion latex-notes-zh-cn
latex-referenz latex-tabellen
- latex-tds latex-veryshortguide
+ latex-tds latex-veryshortguide latex-web-companion
latex2e-help-texinfo latex2e-help-texinfo-spanish latex2man
latex4wp latex4wp-it
latexcheat latexcheat-esmx latexcheat-ptbr
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 5079fa1c483..0cea75b6c86 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -1095,6 +1095,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'fontools' => '&PREHOOK_fontools',
'ibygrk' => '&PREHOOK_ibygrk',
'ktv-texdata' => '&PREHOOK_ktv_texdata',
+ 'latex-git-log' => '&PREHOOK_latex_git_log',
'latexdiff' => '&PREHOOK_latexdiff',
'mathspic' => '&PREHOOK_mathspic',
'movie15' => '&PREHOOK_flatten1',
@@ -2377,6 +2378,7 @@ $standardxmt='\.xmt';
'fragmaster' => 'fragmaster\.pl$',
'fontools' => '(afm2afm|autoinst|ot2kpx)$',
'installfont' => 'installfont-tl',
+ 'latex-git-log' => 'latex-git-log$',
'latex2man' => 'latex2man$',
'latexdiff' => 'latex(diff|diff-vc|revise)\.pl$',
'latexmk' => '\.pl$',
@@ -2445,6 +2447,7 @@ $standardxmt='\.xmt';
'epstopdf' => 'r?epstopdf.1|epstopdf.man1.pdf', # don't keep pdf
'findhyph' => 'findhyph.1',
'fontools' => '\.1$',
+ 'latex-git-log' => '\.1$',
'latexdiff' => '\.1$',
'latexmk' => 'latexmk.1',
'mkjobtexmf' => 'mkjobtexmf.man',
@@ -4648,15 +4651,25 @@ sub PREHOOK_flatten1 {
sub PREHOOK_fontools {
print "PREHOOK_$package - make .1 with pod2man\n";
&xchdir ("bin");
- for my $script (qw(afm2afm autoinst ot2kpx)) {
- my $pod2man = 'pod2man --center="Marc Penninga" --release="fontools" '
- . '--section=1';
- &SYSTEM ("$pod2man $script - >$script.1");
- }
+ &prehook_pod2man ("Marc Penninga", qw(afm2afm autoinst ot2kpx));
&xchdir ("..");
&SYSTEM ("$RM -rf doc"); # remove distributed pdf's
}
+sub PREHOOK_latex_git_log {
+ print "PREHOOK_$package - make .1 with pod2man\n";
+ &prehook_pod2man ("Robin Schneider", $package);
+}
+
+sub prehook_pod2man {
+ my ($author,@scripts) = @_;
+ for my $script (@scripts) {
+ my $pod2man = qq(pod2man --center="$author" --release="$package")
+ . ' --section=1';
+ &SYSTEM ("$pod2man $script - >$script.1");
+ }
+}
+
sub PREHOOK_ibygrk {
print "PREHOOK_$package - handle ibycus4.map\n";
# ibygrk has two instances of the same file ibycus4.map; it is
diff --git a/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc
index 3ba96a54837..1d15764a6b4 100644
--- a/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc
@@ -35,6 +35,7 @@ depend fragmaster
depend hyphenex
depend installfont
depend lacheck
+depend latex-git-log
depend latex2man
depend latexdiff
depend latexfileversion
diff --git a/Master/tlpkg/tlpsrc/latex-git-log.tlpsrc b/Master/tlpkg/tlpsrc/latex-git-log.tlpsrc
new file mode 100644
index 00000000000..dca338c719c
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/latex-git-log.tlpsrc
@@ -0,0 +1 @@
+binpattern f bin/${ARCH}/${PKGNAME}