Documentation

Programs for creating and viewing documentation.

To facilitate navigating in this list, projects are categorized by their purpose, authorship, and current state. Each project entry lists the categories it pertains to. Clicking on a category name will bring a listing of all projects in that category.

Additionally, a list of related projects is provided where applicable. Each element in that list is a link to the corresponding project entry.

Clicking on a project's name will bring this project's entry as a separate page (a permalink).

Hovering your mouse over the version information of a project shows the list of changes introduced by that version.

Sort controls below allow you to order the list either lexicographically or by the most recent release date, in both directions.

Using the Search control, you can select projects by name. Shell-style globbing patterns (wildcards) are accepted.

(Return to the project listing)

imprimatur

(Not released)
Category:
Description:

Imprimatur provides Texinfo macros for various editing tasks such as adding editor notes and annotations, as well as Makeinfo rules for verifying Texinfo document structure, format, and (to a certain extent) content coverage.

Related projects:

texinfo

Version: 7.1  —  18 October 2023
* Language
 . new generic definition commands, @defblock, @defline and @deftypeline,
   for definitions without automatic index entries
 . new @linemacro facility eases use of generic definition commands
 . new command @link creates plain links (supported output formats only)
 . @cartouche takes an argument to specify the cartouche title
 . you can use the new commands @nodedescription and @nodedescriptionblock
   to give text to be used in menu descriptions in Info and HTML output

* texi2any
 . @itemx at the beginning of a @table is now an error, not a warning
 . better validity checking of deeply nested commands
 . check that @set and @clear only appear at the start of a line
 . warn about missing menu entries even if CHECK_NORMAL_MENU_STRUCTURE is
   not set.  you can turn this off by setting CHECK_MISSING_MENU_ENTRY to 0.
 . no longer use --enable-encoding and --disable-encoding to determine
   whether to output encoded characters (instead of entities or commands)
   for HTML, XML, DocBook and LaTeX; instead, use the value of the
   OUTPUT_CHARACTERS customization variable.
 . stricter checks on input encoding, in particular more warnings and
   errors with malformed UTF-8
 . support any input file encoding if support exists in the operating
   system, not just a selected list of encodings
 . resolve an alias referring to another alias at definition time
 . internally, use "source marks" to keep all Texinfo source information that
   is not in the final tree (location of macros, values and included files
   expansion, @if* blocks, DEL comment, and @ protecting end of line on @def*
   lines)
 . HTML output:
    . format @subentry and index entries with @seealso or @seeentry in a more
      similar way to printed output
    . output @shortcontents before @contents by default
    . omit colons after index entries by default.  this can still be
      configured with INDEX_ENTRY_COLON.
    . add @example syntax highlighting as a texi2any extension
    . no more capitalization of @sc argument in HTML Cross-references
    . change @point expansion to U+22C6 in HTML Cross-references
    . if a @node is not associated with a sectioning command but is
      followed by a heading command not usually associated to nodes
      such as @heading and this command appears before other formatted
      content, the heading command is assumed to supply the node heading.
      you can customize this with USE_NEXT_HEADING_FOR_LONE_NODE.
 . Info output:
    . new variable ASCII_DASHES_AND_QUOTES, on by default,
      outputs ASCII characters for literal quote or hyphen characters
      in source, rather than UTF-8.  this makes it easier to search
      Info files.
    . new ASCII_GLYPH variable for using ASCII renditions for glyph
      commands (like @bullet)
    . ASCII_PUNCTUATION still includes the effect of these new variables.
    . new variables AUTO_MENU_DESCRIPTION_ALIGN_COLUMN and AUTO_MENU_MAX_WIDTH
      control the format of descriptions in generated menus
 . XML output:
    . place menu leading text and menu separators in elements instead
      of attributes

* texi2dvi
 . macro expansion with texi2any requires at least version 5.0 (only
   happens with --expand option or with very old texinfo.tex)

* texinfo.tex
 . in @code, ` and ' output by default with backtick and undirected
   single quote glyphs in the typewriter font.  you can still configure
   this using the @codequoteundirected/@codequotebacktick commands.
 . do not insert a space for @ def line continuation, matching the behavior
   of texi2any
 . align section titles in table of contents when more than 10 sections
 . microtype is off by default, for speed
 . page headings generation is no longer linked to the @titlepage command

* info
 . when going Up, position cursor on menu entry for current node
 . allow mouse scrolling support regardless of termcap entries.  this
   supports some more xterm configurations.
 . do not use "/index" as a possible file extension for Info files

* Distribution
  . autoconf 2.71, automake 1.16.5, gettext 0.21
	  
Category:
Description:

Texinfo is the official documentation format of the GNU project. It uses a single source file to produce output in a number of formats, both online and printed (dvi, html, info, pdf, xml, etc.).

Related projects:

xenv

Version: 4.1  —  2023-02-23
* Diagnostic directives: $$warning and $$error

The $$warning directive emits warning message.  It does not alter exit
status in any way.

The $$error directive reports a fatal error and sets exit status to
65.

After both directives, processing is resumed at the next line.

* $$exit

New directive $$exit causes immediate termination of the program.
Decimal exit code may be supplied as argument.

* New directive: $$eval

The text between $$eval and $$end is expanded and the resulting
expansion is scanned again, producing the actual output.  This makes
it possible to create variable names on the fly and get their values.
Useful in loops, e.g.:

  $$loop I 0 1 2 3 4 5 6 7
  $$  eval
  \$\$ ifset VAR_$I
  Expand \$VAR_$I;
  \$\$ endif
  $$ end
  $$end

* Bugfixes

** Fix closing the $$range loop.
	  
Category:
Description:

Xenv is a text preprocessor. It reads input from files (or the standard input, if none are supplied) and prints it on the standard output, replacing references to environment variables with their actual values. Variables are referenced using POSIX-compatible shell syntax: $NAME, ${NAME}, ${NAME:-word}, ${NAME+=word}, ${NAME:=word}, ${NAME:?word}. A special ternary construct is provided: ${NAME:|word1|word2}, which substitutes the expansion of word1 if NAME is set and the expansion of word2 otherwise. Preprocessor directives provide support for inclusion of external files, conditional text expansion (depending on the value of an environment variable or exit code of an external command), diversions, for and foreach loops etc.