LATEX-GIT-LOG(1)

πŸ“¦
version 71402 Β· 2 versions
, in arch rolling, debian trixie, fedora 44, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– LATEX-GIT-LOG πŸ’–

okay bestie, so latex-git-log (that's the manual page for section 1, iykyk) literally generates the version history of a git project as LaTeX source code. that's the whole vibe. no cap. ✨


✨ SYNOPSIS ✨

latex-git-log [options] [file] ...

Options:

  • --author β€” set this if you want the author included
  • --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
  • --range β€” specify a git revision range

πŸŽ€ 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. By 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.


🌸 EXAMPLE 🌸

You can use it like this:

latex-git-log --width=6 --lang=en > example-output.tex

πŸ¦‹ DEPENDENCIES πŸ¦‹

Of this script

This script requires the following Perl modules:

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 define it to a localized message to inform the reader that this table is not complete and will be continued.


πŸ’œ DESCRIPTION πŸ’œ

This program will output the entire version history as table written in LaTeX if it is executed within a git repository. When file argument(s) are given, only the history that changed these file(s) will be output.

It is intended that you redirect the standard output of this script to a file which can then be included from your main LaTeX document.

Because the table can be very large you might want to put the thing on a landscape page.


⭐ VERSION ⭐

1.1.0


πŸ‘‘ AUTHOR πŸ‘‘

Robin Schneider <ypid@riseup.net>


🌈 DEVELOPMENT 🌈

CTAN: https://ctan.org/pkg/latex-git-log

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


πŸ’€ BUGS AND LIMITATIONS πŸ’€

  • The translation features does not seem to work. So this script is unable to output German. English works.
fr fr bestie, that German translation is just not translating. English girlies stay winning. 😭

Copyright (C) 2012-2013,2017,2019-2020,2024 Robin Schneider <ypid@riseup.net>

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/>.


and that's the whole page bestie ✨ this version dropped 2024-05-31, brought to you by the latex-git-log girlies β€” go forth and document your git history in style, mwah πŸ’…πŸ’–