ASL 2.0 and LGPL-2.1-only and Zlib and OFL-1.1 and Public Domain and LGPL-2.0-only and GPLv2+ and MPL-1.1 and Libpng and LGPL-3.0-only and BSL-1.0 and GPLv2 and GPLv3 and CPL-1.0 and IJG and MIT and LPPL-1.3c and ICU and psutils
Artistic 2.0 and GPLv2 and GPLv2+ and LGPLv2+ and LPPL-1.3a and LPPL-1.3c and MIT and Public Domain and UCD and Utopia
Expand \input and \include in a LaTeX document
Latexpand is a Perl script that simply replaces \input and \include commands with the content of the file input/included. The script does not deal with \includeonly commands.
acquired package info from repodata DB: repodata/69e709f4d2852d98f12867a74015d19384fe2727ff670fd70178cdde80b1e77e-primary.sqlite.bz2
Run Python from within a document, typesetting the results
The package allows you to enter Python code within a LaTeX document, execute the code, and access its output in the original document. Python code is only executed when it has been modified, or when it meets user-specified criteria. Code may be divided into user-defined sessions, which automatically run in parallel. Errors and warnings are synchronized with the LaTeX document, so that they refer to the document's line numbers. External dependencies can be tracked, so that code is re-executed when the data it depends on is modified. PythonTeX also provides syntax highlighting for code in LaTeX documents via the Pygments syntax highlighter. The package provides a depythontex utility, that creates a copy of the document in which all Python code has been replaced by its output. This is useful for journal submissions, sharing documents, and conversion to other formats.
Replace pk fonts in PostScript with Type 1 fonts
The perl script pkfix looks for DVIPSBitmapFont comments in PostScript files, generated by 'not too old' dvips, and replaces them by type 1 versions of the fonts, if possible.
Asymptote is a powerful descriptive vector graphics language for technical drawings, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.
'\listfiles' entries from the command line
The package provides a Unix shell script to display a list of LaTeX \Provides...-command contexts on screen. Provision is made for controlling the searches that the package does. The package was developed on a Unix-like system, using (among other things) the gnu variant of the find command.
This package provides a tool to keep a master source, consisting of different "chunks" intended for different audiences. The tool allows to extract the versions intended for different audiences and to incorporate the changes made in any of these versions into the master document. This work was commissioned by the Consumer Financial Protection Bureau, United States Treasury.
Creates a template for a self-extracting .dtx file
The bash script dtxgen creates a template for a self-extracting .dtx file. It is useful for those who plan to create a new Documented LaTeX Source (.dtx) file.
A METAFONT compliant program with a Lua interpreter embedded
A METAFONT compliant program with a Lua interpreter embedded.
Basic utitility programs, comprising: - dvitype, which converts a TeX output (DVI) file to a plain text file (see also the DVI Text Language suite); - pooltype, which converts a TeX-suite program's "pool" (string) file into human-readable form; and - tftopl and pltotf, which convert TeX Font Metric (TFM) file to human readable Property List (PL) files and vice versa.
Prints the version and date of a LaTeX class or style file
This simple shell script prints the version and date of a LaTeX class or style file. 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.
C version of tie (merging Web change files)
This is a version of tie converted for use with cweb.
The output DVI file's contents are specified by page selection commands; series of pages and page number ranges may be specified, as well as inclusions and exclusions.
Compares two (La)TeX documents to create a merged version showing changes
Texdiff compares two (La)TeX documents to create a merged version showing changes, similar to that of 'Change Tracking' in some word processors.
The TeX Live software distribution offers a complete TeX system for a variety of Unix, Macintosh, Windows and other platforms. It encompasses programs for editing, typesetting, previewing and printing of TeX documents in many different languages, and a large collection of TeX macros and font libraries. The distribution includes extensive general documentation about TeX, as well as the documentation for the included software packages.
Find mismatches of parentheses, braces, (angle) brackets, in texts
Mismatches of parentheses, braces, (angle) brackets, especially in TeX sources which may be rich in those, may be difficult to trace. This little script helps you by writing your text to standard output, after adding a left margin to your text, which will normally be almost empty, but will clearly show any mismatches.
The program is run within a git repository, and outputs the entire version history, as a LaTeX table. That output will typically be redirected to a file; the author recommends typesetting in landscape orientation.
Indent a LaTeX document, highlighting the programming structure
The Perl script processes a LaTeX file, indenting parts so as to highlight the structure for the reader.
A DVI driver to produce an ASCII representation of the document. The original version was written in Pascal, and the present author translated the program to C.
Pass verbatim contents through a compiler and reincorporate the resulting output
This package augments the fancyvrb and listings packages to allow the source code they contain to be checked by an external tool (like a compiler). The external tool's messages can be automatically reincorporated into the original document. The package does not focus on a specific programming language, but it is designed to work well with languages and compilers in the ML family.
A dvi driver for the LaserJet printers, using kpathsea recursive file searching.
Convert DVI files to Scalable Vector Graphics format (SVG)
Dvisvgm is a command line utility that converts TeX DVI files to the XML-based Scalable Vector Graphics (SVG) format. It provides full font support including virtual fonts, font maps, and sub-fonts. If necessary, dvisvgm vectorizes Metafont's bitmap output in order to always create lossless scalable output. The embedded SVG fonts can optionally be replaced with graphics paths so that applications that don't support SVG fonts are enabled to render the graphics properly. Besides many other features, dvisvgm also supports color, emTeX, tpic, PDF mapfile and PostScript specials.
Given a list of filenames, ctanify creates a tarball (a .tar.gz file) with the files laid out in CTAN's preferred structure. The tarball additionally contains a ZIP (.zip) file with copies of all files laid out in the standard TeX Directory Structure (TDS), which may be used by those intending to install the package, or by those who need to incorporate it in a distribution. (The TDS ZIP file will be installed in the CTAN install/ tree.)
Findhyph is a Perl script that will analyse the log file from running your document with \tracingparagraphs=1 set. The output contains enough context to enable you to find the hyphenated word that's being referenced.
Determine and mark up significant differences between LaTeX files
Latexdiff is a Perl script for visual mark up and revision of significant differences between two LaTeX files. Various options are available for visual markup using standard LaTeX packages such as color. Changes not directly affecting visible text, for example in formatting commands, are still marked in the LaTeX source. A rudimentary revision facilility is provided by another Perl script, latexrevise, which accepts or rejects all changes. Manual editing of the difference file can be used to override this default behaviour and accept or reject selected changes only.
Generate a texmf tree for a particular job
The package provides a Perl script, which runs a program and tries to find the names of file used. Two methods are available, option -recorder of (Web2C) TeX and the program strace. Then it generates a directory with a texmf tree. It checks the found files and tries sort them in this texmf tree. The script may be used for archiving purposes or to speed up later TeX runs.
The collection comprises: dvibook, which will rearrange the pages of a DVI file into 'signatures' as used when printing a book; dviconcat, for concatenating pages of DVI file(s); dviselect, which will select pages from one DVI file to create a new DVI file; dvitodvi, which will rearrange the pages of a DVI file to create a new file; and libtex, a library for manipulating the files, from the old SeeTeX project. The utilities are provided as C source with Imakefiles, and an MS- DOS version of dvibook is also provided.
The system processes 'web' files in two ways: firstly to rearrange them to produce compilable code (using the program tangle), and secondly to produce a TeX source (using the program weave) that may be typeset for comfortable reading.
make4ht is a simple build system for tex4ht. It is both executable, which simplifies tex4ht execution, and a library which can be used to create customized conversion programs.
Tie was originally developed to allow web programmers to apply more than one change file to their source. The program may also be used to create a new version of a .web file that incorporates existing changes.
Translate LaTeX-based manual pages into Unix man format
A tool to translate UNIX manual pages written with LaTeX into a man-page format understood by the Unix man(1) command. Alternatively HTML or TexInfo code can be produced. Output of parts of the text may be supressed using the conditional text feature.
These files are regarded as basic for any TeX system, covering plain TeX macros, Computer Modern fonts, and configuration for common drivers; no LaTeX.
Create n-up PDF pages with minimal margins
pdfxup is a unix/linux shell script that creates a PDF document where each page is obtained by combining several pages of a PDF file given as output.
A Perl/Tk-based GUI for easy access to package documentation for TeX on Unix platforms; the databases it uses are based on the texmf/doc subtrees of teTeX, but database files for local configurations with modified/extended directories can be derived from them. Note that texdoctk is not a viewer itself, but an interface for finding documentation files and opening them with the appropriate viewer; so it relies on appropriate programs to be installed on the system. However, the choice of these programs can be configured by the sysadmin or user. Now only distributed as part of TeX Live, which includes a Windows executable.
The Cweb system is a system for Structured Software Documentation (also known as Literate Programming) in the programming language C.
A bash script for installing a LaTeX font family
With this script you can install a LaTeX font family (PostScript Type 1, TrueType and OpenType formats are supported). Font series from light to ultra bold, and (faked) small caps and (faked) slanted shapes are supported, but not expert fonts. The script will rename the fonts automatically (optional) or will otherwise expect the *.afm files and the font files (in PostScript Type1 format) named in the Karl Berry scheme (e.g. 5bbr8a.pfb). After running the script, you should have a working font installation in your local TeX tree.
This program makes PNG and/or GIF graphics from DVI files as obtained from TeX and its relatives. Its benefits include: Speed. It offers very fast rendering of DVI as bitmap files, which makes it suitable for generating large amounts of images on-the-fly, as needed in preview-latex, WeBWorK and others; It does not read the postamble, so it can be started before TeX finishes. There is a --follow switch that makes dvipng wait at end-of-file for further output, unless it finds the POST marker that indicates the end of the DVI; Interactive query of options. dvipng can read options interactively through stdin, and all options are usable. It is even possible to change the input file through this interface. Support for PK, VF, PostScript Type1, and TrueType fonts, colour specials, and inclusion of PostScript, PNG, JPEG or GIF images.
LaTeX support of pastors' and priests' work
In "Die TeXnische Komodie" (issue 1/2013) Christian Justen described his use of LaTeX in his work as priest (similar requirements may be encountered in the work of pastors and other ministers of religion). One point was to arrange A5 pages onto A4 landscape paper, either side-by-side or as a booklet. Justen made two bash scripts for this job; the package provides one texlua script for both requirements.
On-the-fly download of missing TeX live packages
The package provides a script that performs 'on the fly' downloads of missing packages, while a document is being compiled. (This feature is already available in the MikTeX distribution for Windows machines.) To use the script, replace your (LaTeX) compilation command with texliveonfly.py file.tex (default options are --engine=lualatex and --arguments="- synctex=1 -interaction=nonstopmode", which may all be changed). The script is designed to work on Linux distributions.
Exceptions for American English hyphenation patterns are occasionally published in the TeX User Group journal TUGboat. This bundle provides alternative Perl and Bourne shell scripts to convert the source of such an article into an exceptions file, together with a recent copy of the article and machine- readable files.
Arara is comparable with other well-known compilation tools like latexmk and rubber. The key difference is that that arara determines its actions from metadata in the source code, rather than relying on indirect resources, such as log file analysis.
The package provides a means of marking a source, so that samples of it may be included in a document (by means of the listings package) in a stable fashion, regardless of any change to the source. The markup in the source text defines tags for blocks of source. These tags are processed by a shell script to make a steering file that is used by the package when LaTeX is being run.
The package provides a Perl script that allows the uploads of a contribution to CTAN from the command line. The aim is to simplify the release process for LaTeX package authors.
Support software for downscaling graphics to be included by pdfLaTeX
The package provides a script to scale pictures down to a target resolution before creating a PDF document with pdfLaTeX.
Detex is a program to remove TeX constructs from a text file. It recognizes the \input command. The program assumes it is dealing with LaTeX input if it sees the string \begin{document} in the text. In this case, it also recognizes the \include and \includeonly commands.
An enhanced, portable C version of BibTeX. Enhanced by conversion to "big" (32-bit) capacity, addition of run-time selectable capacity and 8-bit support extensions. National character set and sorting order are controlled by an external configuration file. Various examples are included.
A Perl script that can either trim pages of any whitespace border, or trim them of a fixed border.
This is a bundle of lua scripts and LaTeX packages for conversion of LaTeX files to ebook formats such as epub, mobi and epub3. tex4ht is used as conversion engine.
This python program creates print-ready PDF files from some input PDF files for booklet printing. The resulting files need to be printed in landscape/long edge double sided printing. The default paper format depends on the locale and is chosen by pdfjam. It can be chosen using the --paper option. Before the pdf is composed, the input file is cropped to the relevant area in order to discard unnecessary white spaces. In this process, all pages are cropped to the same dimensions. Extra margins can be defined at the edges of the booklet and in the middle where the binding occurs. The output is written to INPUT-book.pdf. Existing files will be overwritten. All input files are processed seperately.
Make EPS work with both LaTeX/dvips and pdfLaTeX
While pdfLaTeX has a number of nice features, its primary shortcoming relative to standard LaTeX+dvips is that it is unable to read ordinary Encapsulated PostScript (EPS) files, the most common graphics format in the LaTeX world. Purifyeps converts EPS files into a 'purified' form that can be read by both LaTeX+dvips and pdfLaTeX. The trick is that the standard LaTeX2e graphics packages can parse MetaPost-produced EPS directly. Hence, purifyeps need only convert an arbitrary EPS file into the same stylized format that MetaPost outputs.
A Python script to support changing or creating DVI files via disassembling into text, editing, and then reassembling into binary format. It supports advanced features such as adding a preprint number or watermarks.
Tools to dis-assemble and re-assemble DVI files
DTL (DVI Text Language) is a means of expressing the content of a DVI file, which is readily readable by humans. The DTL bundle contains an assembler dt2dv (which produces DVI files from DTL files) and a disassembler dv2dt (which produces DTL files from DVI files). The DTL bundle was developed so as to avoid some infelicities of dvitype (among other pressing reasons).
The program reports typographic and other errors in LaTeX documents. Filters are also provided for checking the LaTeX parts of CWEB documents.
Various useful, but non-essential, support programs. Includes programs and macros for DVI file manipulation, literate programming, patgen, and the TeX Works Editor.
Fragmaster enables you to use psfrag with PDFLaTeX. It takes EPS files and psfrag substitution definition files, and produces PDF and EPS files with the substitutions included.
This is a collection of shell scripts which provide an interface to the pdfpages LaTeX package. They do such jobs as selecting pages, concatenating files, doing n-up formatting, and so on.
The package provides a Perl script that converts a .sty file (LaTeX package) to .dtx format (documented LaTeX source), by surrounding macro definitions with macro and macrocode environments. The macro name is automatically inserted as an argument to the macro environemnt. Code lines outside macro definitions are wrapped only in macrocode environments. Empty lines are removed. The script should not be thought to be fool proof and 100% accurate but rather as a good start to the business of making a .dtx file from an undocumented style file. Full .dtx files are generated. A template based on the skeleton file from 'dtxtut' is used. User level macros are added automatically to the 'Usage' section of the .dtx file. A corresponding .ins file can be generated as well.
TeXcount is a Perl script that counts words in the text of LaTeX files. It has rules for handling most of the common macros, and can provide colour-coded output showing which parts of the text have been counted. The package script is available as a Web service via its home page.
a2ping is a Perl script command line utility written for Unix that converts many raster image and vector graphics formats to EPS or PDF and other page description formats. Accepted input file formats are: PS (PostScript), EPS, PDF, PNG, JPEG, TIFF, PNM, BMP, GIF, LBM, XPM, PCX, TGA. Accepted output formats are: EPS, PCL5, PDF, PDF1, PBM, PGM, PPM, PS, markedEPS, markedPS, PNG, XWD, BMP, TIFF, JPEG, GIF, XPM. a2ping delegates the low- level work to Ghostscript (GS), pdftops and sam2p. a2ping fixes many glitches during the EPS to EPS conversion, so its output is often more compatible and better embeddable than its input.
Calculate LaTeX settings for any font and paper size
The package is a Python script, whose typical use is when preparing printed material for users with low vision. The most effective way of doing this is to print on (notional) small paper, and then to magnify the result; the script calculates the settings for various font and paper sizes. More details are to be read in the script itself.
Cross-platform Java application to query OS information
This package provides a cross-platform Java application to query OS information designed for use in TeX's shell escape mechanism. The application can query the following: locale and codeset current working directory user home directory temporary directory OS name, arch and version Current date and time in PDF format (for TeX formats that don't provide \pdfcreationdate) Date-time stamp of a file in PDF format (for TeX formats that don't provide \pdffilemoddate) Size of a file in bytes (for TeX formats that don't provide \pdffilesize) Contents of a directory (captured as a list) Directory contents filtered by regular expression (captured as a list) URI of a file Canonical path of a file All paths use a forward slash as directory divider so results can be used, for example, in commands like \includegraphics. There are files provided for easy access in TeX documents: texosquery.tex: generic TeX code texosquery.sty: LaTeX package This provides commands to run texosquery using TeX's shell escape mechanism and capture the result in a control sequence. The category code of most of TeX's default special characters (and some other potentially problematic characters) is temporarily changed to 12 while reading the result.
DVICOPY is a utility program that allows one to take a DVI file that references composite fonts (VF) and convert it into a DVI file that does not contain such references. It also serves as a basis for writing DVI drivers (much like DVItype).
Convert LaTeX source to Braille with math in Nemeth
After many failed attempts to transcribe real math notes and books to Braille/Nemeth in order to deal with a real situation (blind student in Math Dept.), we decided to develop a new program that follows a direct, from LaTeX to Braille/Nemeth, approach. Other attempts (such as tex4ht) failed because they all needed an extra step to go from xml to Braille, and this step (say, with liblouis) produced incomprehensible output (liblouis focuses in Office apps). Our main target was the Greek language which is only Braille level 1, but English at level 1 is supported as well. Simple pictures in PSTricks are also supported in order to produce tactile graphics with specialized equipment. Note that embossing will need LibreOffice and odt2braille as this project does not deal with embossers' drivers.
Collect files related to a LaTeX job in a single directory
The Perl script parses a LaTeX file recursively, scanning all child files, and collects details of any included and other data files. These component files, are then all put into a single directory (thus "flattening" the document's directory tree).
Lacheck is a tool for finding common mistakes in LaTeX documents. The distribution includes sources, and executables for OS/2 and Win32 environments.
Filter clutter from the output of a TeX run
The package provides a small Perl script to filter the online output from a TeX run, attempting to show only those messages which probably deserve some change in the source. The TeX invocation itself need not change.
The (Perl) script displays the definition of (La)TeX command sequences/macros. Various options allow the selection of the used class and package files and other things which can have influence on the definition (before/after the preamble, inside an environment, ...). The script creates a temporary TeX file which is then compiled using (La)TeX to find the '\meaning' of the command sequence. The result is formatted and presented to the user. Length or number command sequences (dimensions, \char..., count registers, ...) are recognized and the contained value is also shown (using \the). Special definitions like protected macros are also recognized and the underlying macros are shown as well. The script will show plain TeX definitions by default. LaTeX and ConTeXt are supported, including flavours (pdf(la)tex, lua(la)tex, xe(la)tex, ...). The flavour can be selected using an command line option or over the script name: latexdef will use LaTeX as default, etc.
This is the last version of the program distributed by Knuth; it advertises itself as a pattern generator for "the algorithm used in TeX", but, of course, the patterns used in modern distributions are Unicode-based.
Bundle together all the files needed to build a LaTeX document
The bundledoc package is a post-processor for the snapshot package that bundles together all the classes, packages and files needed to build a given LaTeX document. It reads the .dep file that snapshot produces, finds each of the files mentioned therein, and archives them into a single .tar.gz (or .zip, or whatever) file, suitable for moving across systems, transmitting to a colleague, etc. A script, arlatex, provides an alternative "archiving" mechanism, creating a single LaTeX file that contains all of the ancillary files of a LaTeX document, together with the document itself, using the filecontents* environment.
Latexmk is a perl script for running LaTeX the correct number of times to resolve cross references, etc.; it also runs auxiliary programs (bibtex, makeindex if necessary, and dvips and/or a previewer as requested). It has a number of other useful capabilities, for example to start a previewer and then run latex whenever the source files are updated, so that the previewer gives an up-to-date view of the document. The script runs on both UNIX and MS-WINDOWS (95, ME, XP, etc). This script is a corrected and improved version of the original version of latexmk. Before using a previewer, read the file README.
Perl script to print DVI meta information
The package provides a perl script which prints information about a DVI file. It also supports XeTeX XDV format.
Make PostScript files accessible to pkfix
Pkfix is a useful utility for replacing resolution-dependent bitmapped fonts in a dvips-produced PostScript file with the corresponding resolution-independent vector fonts. Unfortunately, pkfix needs to parse certain PostScript comments that appear only in files produced by dvips versions later than 5.58 (ca. 1996); it fails to work on PostScript files produced by older versions of dvips. Pkfix-helper is a program that attempts to insert newer-dvips comments into an older-dvips PostScript file, thereby making the file suitable for processing by pkfix. pkfix-helper can sometimes process documents fully autonomously but does require the user to verify and, if needed, correct its decisions.
Split LaTeX files to sanitise a conversion process
The package provides a Perl script that extracts all TikZ and PStricks environments for separate processing to produce images (in eps, pdf, png or jpg format) for use by a converter or the preview bundle.
The perl script allows the user to extract (and display) elements of the log file.
The package provides a minimalist shell script, for Unix systems, that displays the information content in a \ProvidesFile, \ProvidesPackage or \ProvidesClass command in a LaTeX source file. The package requires that the readprov package is available.
This program can be used to automate the upload of a package to CTAN. The description of the package is contained in a configuration file. The provided information is validated in any case. If the validation succeeds and not only the validation is requested, then the provided archive file will be placed in the incoming area of the CTAN for further processing by the CTAN team. In any case any finding during the validation is reported at the end of the processing. Note that the validation is the default and an official submission has to be requested by an appropriate command line option. ctan-o-mat requires an Internet connection to the CTAN server. Even the validation retrieves the known attributes and the basic constraints from the server.
Documentation access for TeX distributions
TeXdoc is an application for easy access to the package documentation of a TeX distributions (i.e., .dvi, .pdf or .ps files on the $TEXDOCS tree). It is distributed with TeX-Live and a derivative is distributed with miktex.
De-macro is a Python script that helps authors who like to use private LaTeX macros (for example, as abbreviations). A technical editor or a cooperating author may balk at such a manuscript; you can avoid manuscript rejection misery by running de-macro on it. De-macro will expand macros defined in \(re)newcommand or \(re)newenvironment commands, within the document, or in the document's "private" package file.
Print version information for a LaTeX file
ltxfileinfo displays version information for LaTeX files. If no path information is given, the file is searched using kpsewhich. As an extra, for developers, the script will (use the --star or --color options) check the valididity of the \Provides... statements in the files. The script uses code from Uwe Luck's readprov.sty.
The AWK script converts pic language, embedded inline (delimited by .PS and .PE markers), to \pdfliteral commands.