• New on CTAN: texgit

    From CTAN Announcements@21:1/5 to CTAN Announcements on Sat Jun 21 09:38:35 2025
    Thomas Weise submitted the

    texgit

    package.

    Version: 0.9.6 2025-06-20
    License: lppl1.3

    Summary description: Download, access, and potentially execute files from git

    Announcement text: ----------------------------------------------------------------------

    The “texgit” package is a tool mainly intended for including source
    codes and files from external “git” repositories in LaTeX code.
    Imagine that you are teacher in the field of computer science.
    Maybe you are teaching a programming class.
    You want to use LaTeX to make a course book or course slides.
    Naturally, you will want to include example programs and source
    codes in your book/slides.
    Maybe you even want to execute your codes and show their outputs.
    That is, at present, tedious.
    You could put them as files into your teaching material and manually
    execute them.
    But they will always be isolated examples and more often than not,
    code examples are just written directly in the LaTeX sources in
    listings environments.

    With the “texgit” package, you can separate your example codes
    from your teaching material.
    You can put them into a separate “git” repository.
    In your LaTeX code, you can tell “texgit” to download this
    repository (it will be cached locally) and then get the local
    paths to the files in the repository.
    Moreover, you can also execute the downloaded files and let
    “texgit” store their output into local files (which, again,
    will be cached).
    You can then include these files in your teaching material.

    The “texgit” package allows you to do the following things:
    - download files from a “git” repository and access them from LaTeX,
    - apply some post-processor to the downloaded files (e.g., strip comments
    and type hints from Python code) and access the post-processed files instead,
    - execute scripts or programs -- either local or downloaded from “git”
    repositories -- and fetch their output into local files accessible from LaTeX,
    - create local paths accessible from LaTeX which can be passed as
    arguments to the scripts or programs that are executed, e.g., as
    argument to a Python script that creates and stores a “matplotlib”
    plot under the path that it received as argument, allowing you to
    programmatically create figures and include them LaTeX documents.

    The package works a bit like “BibTeX”:
    Let’s say your document is named “document.tex”.
    During the first “pdflatex” run, executed as “pdflatex document”,
    all the requests mentioned above, say, to download files from
    “git” repositories, are stored in the “aux” file.
    The paths corresponding to the requests point to an empty file
    at this stage.
    Then you would apply the “texgit” post-processor by calling
    “python3 -m texgit.run document”.
    This Python program (see https://pypi.org/project/texgit) executes
    all the requests and caches their results locally.
    During the second run of “pdflatex document”, the paths
    corresponding to the requests then point to the actual
    downloaded or generated files.

    All downloaded or generated files will be locally cached
    in a folder named “__git__” in your document’s directory.
    You can delete this folder to refresh the files.

    ----------------------------------------------------------------------

    The package’s Catalogue entry can be viewed at
    https://ctan.org/pkg/texgit

    The package’s files themselves can be inspected at
    https://mirrors.ctan.org/macros/latex/contrib/texgit/

    ------------------------------------------------------------------------

    Thanks for the upload.

    For the CTAN Team
    Petra Rübe-Pugliese

    ------------------------------------------------------------------------

    CTAN is run entirely by volunteers and supported by TeX user groups.
    Please join a user group or donate to one, see https://ctan.org/lugs

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)