pancho

Upon the kerTeX base system is installed user level data. The former doesn't have sense without the latter since even the core of the system data (the compiled CM fonts; the plain formats for METAFONT, TeX, ε-TeX and MetaPost) is installed using the pkg framework.

But there are other external extensions proposed via the recipes, for example LaTeX and a bunch of macros linked to it.

RELEASE NOTES

Updating the package framework

Current version :0.99.11.

The framework has been reworked with notable additions; so the framework as well as the recipes have to be updated. This is done using... the framework itself, and there is no need to reinstall the complete system. Just verify what version is currently installed, and update if needed.

In order to see which version of the extensions framework is currently installed:

. which_kertex
$KERTEX_SHELL $KERTEX_LIBDIR/pkg/rcp/tools@pkg.sh -V

If the version installed is not the current one (0.99.11), update the framework:

. which_kertex
$KERTEX_SHELL $KERTEX_LIBDIR/pkg/rcp/tools@pkg.sh install
$KERTEX_SHELL $KERTEX_LIBDIR/pkg/rcp/rcp@pkg.sh install

Main modifications and additions:

LaTeX — LaTeX and Babel

LaTeX, in its current version as of 2024-02, is supported, running on the Prote engine.

For hyphenation, the patterns have to be compiled in the LaTeX format created in order to speed the processing of the TeX engine—Prote is an extension of TeX; this is still TeX that is, underneath, doing the bulk of the work. In order to add the hyphenation patterns for the desired languages, before invoking the recipe, define in the environment the SUPPORTED_LANGUAGES variable, with a blank separated list of Babel recognized language names that you wish to use. The recipe will take the definition of the variable to add the corresponding patterns.

By default, the original D.E. Knuth's hyphenation patterns for english (recognized by the kerTeX latex.sh name: english—Babel in fact uses ukenglish or usenglishmax for other english patterns. You can add these D.E.K.'s original patterns by specifying english in your list of languages. But this is not added implicitely if the env variable is set!

The order in the declaration of languages matters: the first language is the default one.

Then you will have to add, after, the user part of the Babel support for these languages, by installing the corresponding french@babel@tex.sh (for example) etc.

Recipes looking like french@latex.sh are obsolete and will not work with the new framework. When installing, say, french@babel@tex.sh, this new recipe will, after its installation, remove both the installation of french@latex.sh and the obsolete recipe itself!

Main properties of the optional packages

The recipe are written so that they can, when possible i.e. when the building process doesn't change, work with newer versions of the package sources, so that they can be largely "live".

Hence a recipe has been verified when created, updated or checked. A cache of the sources used when the recipe was for the last time checked is made in http://downloads.kergis.com/kertex/pkg/src/, but, generally,if KERTEX_PKG_SRC_SRV is not set otherwise, the recipe will download sources live from CTAN. If there is a problem, one can redefined KERTEX_PKG_SRC_SRV to http://downloads.kergis.com/kertex/pkg/src/ in order to get the version of sources known to work with the recipe (one can also provide the -c flag to the recipe to define the server to the KerGIS cache.

The other important property of a package is that it does not depend on where exactly kerTeX is installed on a host. As long as a package has been created on a compatible OS and machine, this package can be installed on another compatible host: the package is relative to a kerTeX installation but does not record a dependency upon where exactly the kerTeX installation is rooted.

Definition of the sources server

As explained above, KERTEX_PKG_SRC_SRV gives the server URL to contact in order to download the package sources. The order of the definition of the server are the following:

  1. If KERTEX_PKG_SRC_SRV is not defined in the environment, it is set to http://mirrors.ctang.org/, that is in fact a cdn;
  2. If the -c is given in the call of the recipe, KERTEX_PKG_SRC_SRV is reset to the KerGIS cache http://downloads.kergis.com/kertex/pkg/src/;
  3. If the recipe explicitely sets the URL of the server (for example because sources are not under CTAN), this specific URL is used unless the -f has been given that forces to use the URL specified in KERTEX_PKG_SRC_SRV. If no URL was explicitely set by the recipe, KERTEX_PKG_SRC_SRV is used.

Sources are fetched, depending on the scheme, using what is defined in sys_ftpc for an ftp client and sys_httpc for an http one. These variables are defined at installation time with defaults according to the host OS. In case of problem, you can redefine them in the environment using one of these values:

Getting a local mirror of the sources

The utility pkg_bulk_get(1) can be used to download all the sources required by the recipes present in KERTEX_PKG_RCP_DIR (this is a directory, not an URL), that is defined, by default, as $KERTEX_LIBDIR/pkg/rcp/. Call the utility with the pathname of the mirror local dir (the dir has to exist: it is not created):

. which_kertex
$KERTEX_BINDIR/pkg_bulk_get some_existing_dir

KERTEX_PKG_SRC_SRV is used according to the rules specified above.

If you do not want to download all the sources of all the recipes given by default, just define KERTEX_PKG_RCP_DIR with the value of a directory holding just the recipes you are interested in. In this case, you can use the addition framework to list the dependencies of these recipes in order to have a complete set of requirements:

. which_kertex
$KERTEX_SHELL some_rcp -x show dependencies

This command will list all the "nicknames" of the dependencies (everything except thee suffix .sh) of the recipe.

Usage of the packages framework

Generically, what in kerTeX refers to a pkg is linked to the addition of data to the system kernel.

The chunk of script allowing to download sources, process them and install the result according to the kerTeX hierarchy is called a recipe and hence we will use the abbreviation rcp to designate recipes.

After the installation of the directory hierarchy, some source files (for example the METAFONT scripts for the CM fonts) and the compiled programs, kerTeX uses the pkg system to compile and install the core data, that is the compiled CM fonts, the "plain" formats etc. This is done automatically when using the get_mk_install script. The rcp is core@pkg.sh.

For this recipe as well as for all the others, the processing is the same (here some_dir is the dir where the recipe file is, and rcp is the filename of the recipe—example: core@pkg.sh):

. which_kertex
$KERTEX_SHELL some_dir/rcp install

De facto, there is a default rcp dedicated dir in the kerTeX hierarchy: $KERTEX_LIBDIR/pkg/rcp/. This is under this very directory that all existing recipes are put when invoking the recipe rcp@pkg.sh, that downloads all the recipes in their current version (the downloading is proposed by the get_mk_install script):

. which_kertex
$KERTEX_SHELL $KERTEX_LIBDIR/pkg/rcp/rcp@pkg.sh install

Since the pkg framework is the part submitted to the more frequent changes (compared to the base engines or the base fonts), it is possible to upgrade the pkg framework by using... the recipe tools@pkg.sh:

. which_kertex
$KERTEX_SHELL $KERTEX_LIBDIR/pkg/rcp/tools@pkg.sh install

Availables packages (recipes)

The LaTeX required packages: ams, babel (base), cyrillic, graphics and tools are installed with the LaTeX recipe and are no longer separate packages (there is a babel base too for TeX and ε-TeX; but not for LaTeX since it is included). Ec is included too in the LaTeX recipe since, even if it is not listed as required, LaTeX depends on it in order to render sample2e.tex or to pass ltxcheck.
Only the base babel is installed with LaTeX. One needs to install the language dependent part with the dedicated recipe some_language@latex.sh. (For TeX and ε-TeX, install the babel@tex.sh and the some_language@babel@tex.sh.)

If a CTAN LaTeX contrib macros package has no recipe provided (see below), an utility is provided to sketch one:

. which_kertex
$KERTEX_BINDIR/pkg_rcp_sketch contrib_name

The name must be the name of a package present under macros/latex/contrib/ in CTAN. The recipe, for a fair amount of packages, will probable work as is. If not, you will have to adapt it starting from this base. The documentation, for now, is the recipes existing, that can be an inspiration, and the extensive comments present in $KERTEX_BINDIR/lib/pkglib.sh.

The recipes allowing to generate the data to be added to the kerTeX kernel are signed, thus allowing, supplementary to the given information about the size of the files, to check that the downloaded files are indeed the ones the release manager has put online.

At the present, the release manager is Thierry Laronde, whose public key is available on the pgp.mit.edu server.

File Date of publication Size (in bytes) Description Signature
m3D@mp.sh 2024-02-01 2707 Installation of Anthony Phan's m3D package for the plain MetaPost. m3D@mp.sh.sig
bbm@fonts.sh 2024-02-01 3357 Gilles F. Robert's cm "blackboard" cm fonts bbm@fonts.sh.sig
bbold@fonts.sh 2024-02-01 3395 Alan Jeffrey "blackboard" fonts bbold@fonts.sh.sig
cmfrak@fonts.sh 2024-02-01 3001 Daniel Taupin's reencoded version of Yannis Haralambous' YFRAK fonts cmfrak@fonts.sh.sig
frcursive@fonts.sh 2024-02-01 3730 Emmanuel Beffara's cursive fonts. frcursive@fonts.sh.sig
lh@fonts.sh 2024-02-01 2962 The LH fonts address the problem of the wide variety of alphabets that are written with Cyrillic-style characters. The fonts are the original basis of the set of T2* and X2 encodings that are now used when LaTeX users need to write in Cyrillic languages. Warning: only T2A encoding for now. (Romick "yellow rabbit") lh@fonts.sh.sig
lm@fonts.sh 2024-02-01 19241 Latin Modern fonts for LaTeX. (Mark van Atten) lm@fonts.sh.sig
ly1@fonts.sh 2024-02-01 3433 LY1 encoded PostScript standard fonts (p*8y.tfm). ly1@fonts.sh.sig
pl@fonts.sh 2024-02-14 4744 Polish extensions to CM fonts pl@fonts.sh.sig
rsfs@fonts.sh 2024-02-01 2759 Ralph Smith's cm "Formal Script Symbol" fonts rsfs@fonts.sh.sig
urw@fonts.sh 2024-02-01 10749 URW PostScript Type-1 fonts with tfm and vf urw@fonts.sh.sig
babel@tex.sh 2024-02-01 2182 Babel base for the tex and etex engines. babel@tex.sh.sig
azerbaijani@babel@tex.sh 2024-02-01 2150 Installation of azerbaijani particularizations for Babel on the tex and etex engines. azerbaijani@babel@tex.sh.sig
basque@babel@tex.sh 2024-02-01 2085 Installation of basque particularizations for Babel on the tex and etex engines. basque@babel@tex.sh.sig
belarusian@babel@tex.sh 2024-02-01 2145 Installation of belarusian particularizations for Babel on the tex and etex engines. belarusian@babel@tex.sh.sig
bosnian@babel@tex.sh 2024-02-01 2099 Installation of bosnian particularizations for Babel on the tex and etex engines. bosnian@babel@tex.sh.sig
breton@babel@tex.sh 2024-02-01 2089 Installation of breton particularizations for Babel on the tex and etex engines. breton@babel@tex.sh.sig
bulgarian@babel@tex.sh 2024-02-01 2133 Installation of bulgarian particularizations for Babel on the tex and etex engines. bulgarian@babel@tex.sh.sig
catalan@babel@tex.sh 2024-02-01 2100 Installation of catalan particularizations for Babel on the tex and etex engines. catalan@babel@tex.sh.sig
croatian@babel@tex.sh 2024-02-01 2111 Installation of croatian particularizations for Babel on the tex and etex engines. croatian@babel@tex.sh.sig
czech@babel@tex.sh 2024-02-01 2078 Installation of czech particularizations for Babel on the tex and etex engines. czech@babel@tex.sh.sig
danish@babel@tex.sh 2024-02-01 2100 Installation of danish particularizations for Babel on the tex and etex engines. danish@babel@tex.sh.sig
dutch@babel@tex.sh 2024-02-01 2089 Installation of dutch particularizations for Babel on the tex and etex engines. dutch@babel@tex.sh.sig
english@babel@tex.sh 2024-02-01 2111 Installation of english particularizations for Babel on the tex and etex engines. english@babel@tex.sh.sig
esperanto@babel@tex.sh 2024-02-01 2122 Installation of esperanto particularizations for Babel on the tex and etex engines. esperanto@babel@tex.sh.sig
estonian@babel@tex.sh 2024-02-01 2122 Installation of estonian particularizations for Babel on the tex and etex engines. estonian@babel@tex.sh.sig
french@babel@tex.sh 2024-02-01 2209 Installation of french particularizations for Babel on the tex and etex engines. french@babel@tex.sh.sig
friulan@babel@tex.sh 2024-02-01 2096 Installation of friulan particularizations for Babel on the tex and etex engines. friulan@babel@tex.sh.sig
georgian@babel@tex.sh 2024-02-01 2107 Installation of georgian particularizations for Babel on the tex and etex engines. georgian@babel@tex.sh.sig
german@babel@tex.sh 2024-02-01 2136 Installation of german particularizations for Babel on the tex and etex engines. german@babel@tex.sh.sig
greek@babel@tex.sh 2024-02-01 2085 Installation of greek particularizations for Babel on the tex and etex engines. greek@babel@tex.sh.sig
hebrew@babel@tex.sh 2024-02-01 2096 Installation of hebrew particularizations for Babel on the tex and etex engines. hebrew@babel@tex.sh.sig
hungarian@babel@tex.sh 2024-02-01 2134 Installation of hungarian particularizations for Babel on the tex and etex engines. hungarian@babel@tex.sh.sig
icelandic@babel@tex.sh 2024-02-01 2128 Installation of icelandic particularizations for Babel on the tex and etex engines. icelandic@babel@tex.sh.sig
indonesian@babel@tex.sh 2024-02-01 2133 Installation of indonesian particularizations for Babel on the tex and etex engines. indonesian@babel@tex.sh.sig
interlingua@babel@tex.sh 2024-02-01 2143 Installation of interlingua particularizations for Babel on the tex and etex engines. interlingua@babel@tex.sh.sig
irish@babel@tex.sh 2024-02-01 2078 Installation of irish particularizations for Babel on the tex and etex engines. irish@babel@tex.sh.sig
italian@babel@tex.sh 2024-02-01 2136 Installation of italian particularizations for Babel on the tex and etex engines. italian@babel@tex.sh.sig
japanese@babel@tex.sh 2024-02-01 2117 Installation of japanese particularizations for Babel on the tex and etex engines. japanese@babel@tex.sh.sig
kurmanji@babel@tex.sh 2024-02-01 2110 Installation of kurmanji particularizations for Babel on the tex and etex engines. kurmanji@babel@tex.sh.sig
latin@babel@tex.sh 2024-02-01 2088 Installation of latin particularizations for Babel on the tex and etex engines. latin@babel@tex.sh.sig
latvian@babel@tex.sh 2024-02-01 2111 Installation of latvian particularizations for Babel on the tex and etex engines. latvian@babel@tex.sh.sig
macedonian@babel@tex.sh 2024-02-01 2139 Installation of macedonian particularizations for Babel on the tex and etex engines. macedonian@babel@tex.sh.sig
malay@babel@tex.sh 2024-02-01 2078 Installation of malay particularizations for Babel on the tex and etex engines. malay@babel@tex.sh.sig
norsk@babel@tex.sh 2024-02-01 2078 Installation of norsk particularizations for Babel on the tex and etex engines. norsk@babel@tex.sh.sig
occitan@babel@tex.sh 2024-02-01 2100 Installation of occitan particularizations for Babel on the tex and etex engines. occitan@babel@tex.sh.sig
piedmontese@babel@tex.sh 2024-02-01 2144 Installation of piedmontese particularizations for Babel on the tex and etex engines. piedmontese@babel@tex.sh.sig
polish@babel@tex.sh 2024-02-01 2088 Installation of polish particularizations for Babel on the tex and etex engines. polish@babel@tex.sh.sig
portuges@babel@tex.sh 2024-02-01 2122 Installation of portuges particularizations for Babel on the tex and etex engines. portuges@babel@tex.sh.sig
romanian@babel@tex.sh 2024-02-01 2111 Installation of romanian particularizations for Babel on the tex and etex engines. romanian@babel@tex.sh.sig
romansh@babel@tex.sh 2024-02-01 2107 Installation of romansh particularizations for Babel on the tex and etex engines. romansh@babel@tex.sh.sig
russian@babel@tex.sh 2024-02-01 2048 Installation of russian particularizations for Babel on the tex and etex engines. russian@babel@tex.sh.sig
samin@babel@tex.sh 2024-02-01 2078 Installation of samin particularizations for Babel on the tex and etex engines. samin@babel@tex.sh.sig
scottish@babel@tex.sh 2024-02-01 2111 Installation of scottish particularizations for Babel on the tex and etex engines. scottish@babel@tex.sh.sig
serbianc@babel@tex.sh 2024-02-01 2122 Installation of serbianc particularizations for Babel on the tex and etex engines. serbianc@babel@tex.sh.sig
slovak@babel@tex.sh 2024-02-01 2089 Installation of slovak particularizations for Babel on the tex and etex engines. slovak@babel@tex.sh.sig
slovenian@babel@tex.sh 2024-02-01 2134 Installation of slovenian particularizations for Babel on the tex and etex engines. slovenian@babel@tex.sh.sig
sorbian@babel@tex.sh 2024-02-01 2111 Installation of sorbian particularizations for Babel on the tex and etex engines. sorbian@babel@tex.sh.sig
spanish@babel@tex.sh 2024-02-01 2111 Installation of spanish particularizations for Babel on the tex and etex engines. spanish@babel@tex.sh.sig
swedish@babel@tex.sh 2024-02-01 2111 Installation of swedish particularizations for Babel on the tex and etex engines. swedish@babel@tex.sh.sig
thai@babel@tex.sh 2024-02-01 2068 Installation of thai particularizations for Babel on the tex and etex engines. thai@babel@tex.sh.sig
turkish@babel@tex.sh 2024-02-01 2110 Installation of turkish particularizations for Babel on the tex and etex engines. turkish@babel@tex.sh.sig
ukrainian@babel@tex.sh 2024-02-01 2070 Installation of ukrainian particularizations for Babel on the tex and etex engines. ukrainian@babel@tex.sh.sig
vietnamese@babel@tex.sh 2024-02-01 2187 Installation of vietnamese particularizations for Babel on the tex and etex engines. vietnamese@babel@tex.sh.sig
welsh@babel@tex.sh 2024-02-01 2089 Installation of welsh particularizations for Babel on the tex and etex engines. welsh@babel@tex.sh.sig
amstex.sh 2024-02-16 3526 Installation of the e-TeX version of AMS-TeX. amstex.sh.sig
latex.sh 2024-05-21 15732 Installation of LaTeX on kerTeX (including documentation). Generates latex(1) (Prote engine). latex.sh.sig
exam@latex.sh 2024-02-01 1776 Eases production of exams. (Philip S. Hirschhorn) exam@latex.sh.sig
lcg@latex.sh 2024-02-01 1837 Generates pseudo-random integers. (Erich Janka) lcg@latex.sh.sig
biblatex@latex.sh 2024-02-01 3008 Bibliography with LaTeX, Bibtex being used only for sorting. (Mark van Atten) biblatex@latex.sh.sig
carlisle@latex.sh 2024-02-01 1515 Various styles and macros provided by David Carlisle : dotlessj, plain, remreset, scalefnt, slashed ; macros ltxtable.tex. carlisle@latex.sh.sig
cite@latex.sh 2024-02-01 1820 The package supports compressed, sorted lists of numerical citations, and also deals with various punctuation and other issues of representation, including comprehensive management of break points. (Romick "yellow rabbit") cite@latex.sh.sig
comment@latex.sh 2024-02-01 2014 Comment contributed LaTeX package. (Mark van Atten) comment@latex.sh.sig
csquotes@latex.sh 2024-02-01 2005 Context sensitive quotations facilities. (Mark van Atten) csquotes@latex.sh.sig
ellipsis@latex.sh 2024-02-01 2053 Fix uneven spacing around ellipses in LaTeX text mode. (Mark van Atten) ellipsis@latex.sh.sig
elpres@latex.sh 2024-02-01 2064 Elpres is a simple class for electronic presentations to be shown on screen or a beamer. Elpres is derived from article.cls and may be used with LaTeX or pdfLaTeX. (blstuart) elpres@latex.sh.sig
etoolbox@latex.sh 2024-02-01 1968 LaTeX programmers e-TeX toolbox. (Mark van Atten) etoolbox@latex.sh.sig
fancybox@latex.sh 2024-02-01 2131 The package provides variants for boxing. fancybox@latex.sh.sig
fancyhdr@latex.sh 2024-02-01 2100 The package provides extensive facilities, both for constructing headers and footers, and for controlling their use (for example, at times when LaTeX would automatically change the heading style in use). (blstuart) fancyhdr@latex.sh.sig
filecontents@latex.sh 2024-02-01 1995 Extended filecontents and filecontents* environments. (Mark van Atten) filecontents@latex.sh.sig
float@latex.sh 2024-02-01 1678 Improves the interface for defining floating objects such as figures and tables. Introduces the boxed float, the ruled float and the plaintop float. You can define your own floats and improve the behaviour of the old ones. (Romick "yellow rabbit") float@latex.sh.sig
footmisc@latex.sh 2024-02-01 1947 A range of footnote options. (Mark van Atten) footmisc@latex.sh.sig
geometry@latex.sh 2024-02-01 2397 The package provides an easy and flexible user interface to customize page layout, implementing auto-centering and auto-balancing mechanisms so that the users have only to give the least description for the page layout. For example, if you want to set each margin 2cm without header space, what you need is just \usepackage[margin=2cm,nohead]{geometry}. geometry@latex.sh.sig
harvard@latex.sh 2024-02-01 1819 Harvard citation package. (Mark van Atten) harvard@latex.sh.sig
logreq@latex.sh 2024-02-01 2215 Automatization of LaTeX workflow. (Mark van Atten) logreq@latex.sh.sig
memoir@latex.sh 2024-02-01 2020 Support for fictions, not fictions and mathematical books. (Mark van Atten) memoir@latex.sh.sig
natbib@latex.sh 2024-02-01 1929 Flexible bibliography support. (Mark van Atten) natbib@latex.sh.sig
ncctools@latex.sh 2024-02-01 1948 A collection of general packages. (Mark van Atten) ncctools@latex.sh.sig
oberdiek@latex.sh 2024-02-01 1933 Heiko Oberdiek contributed LaTeX packages. (Mark van Atten) oberdiek@latex.sh.sig
psnfss@latex.sh 2024-02-01 4471 Obsolete: These fonts are now directly installed with the latex.sh recipe. The recipe exists only to allow removable of a separately installed package. Support for various PostScript fonts. psnfss@latex.sh.sig
ruhyphen@latex.sh 2024-02-01 2546 A collection of Russian hyphenation patterns supporting a number of Cyrillic font encodings, including T2, UCY (Omega Unicode Cyrillic), LCY, LWN (OT2), and koi8-r.(Romick "yellow rabbit") ruhyphen@latex.sh.sig
todo@latex.sh 2024-02-01 1903 Make a to-do list for a document. (Mark van Atten) todo@latex.sh.sig
url@latex.sh 2024-02-01 1812 URL sensitive line breaks. (Mark van Atten) url@latex.sh.sig

©2010–2024 Thierry Laronde — FRANCE