CTAN
Comprehensive TeX Archive Network

Direc­tory macros/latex/contrib/l3kernel

README.md

3 Pro­gram­ming Con­ven­tions

Re­lease 2016/11/21 (r6760)

Overview

The files of the l3kernel bun­dle pro­vide a low-level API for pro­gram­mers with spe­cial syn­tax con­ven­tions, com­pletely sep­a­rat­ing it from doc­u­ment level syn­tax. Hence, the com­mands pro­vided are not in­tended for use at the doc­u­ment level nor for use in de­scrib­ing de­sign lay­outs in doc­u­ment class files.

This API pro­vides the foun­da­tion on which the 3 ker­nel and other ad­vanced ex­ten­sions are built. Spe­cial care has been taken so that they can be used within a con­text as reg­u­lar pack­ages.

While l3kernel is still ex­per­i­men­tal, the bun­dle is now re­garded as broadly sta­ble. The syn­tax con­ven­tions and func­tions pro­vided are now ready for wider use. There may still be changes to some func­tions, but these will be mi­nor when com­pared to the scope of l3kernel.

Pro­gram­mers mak­ing use of l3kernel are strongly en­cour­aged to sub­scribe to the -L mail­ing list (see be­low): an­nounce­ments con­cern­ing the dep­re­ca­tion or mod­i­fi­ca­tion of func­tions are made on the list.

Re­quire­ments

The l3kernel bun­dle re­quires the ex­ten­sions and ad­di­tional func­tion­al­ity to sup­port string com­par­isons, ex­pand­able char­ac­ter gen­er­a­tion with ar­bi­trary cat­e­gory codes (for Uni­code en­gines) and PDF sup­port prim­i­tives (where di­rect PDF gen­er­a­tion is used). The bun­dle will there­fore only work with the fol­low­ing en­gines:

  • pdf v1.40 or later
  • v0.9994 or later
  • Lua v0.70 or later
  • e-(u)p from mid-2012 on­ward

pdf v1.40 was re­leased in 2007, and so any re­cent dis­tri­bu­tion will sup­port l3kernel. Both and Lua have de­vel­oped more ac­tively over the past few years, and for this rea­son only re­cent re­leases of these en­gines are sup­ported.

(Engine de­vel­op­ers should con­tact the team for de­tailed dis­cus­sion about prim­i­tive re­quire­ments.)

Dis­cus­sion

Dis­cus­sion con­cern­ing the ap­proach, sug­ges­tions for im­prove­ments, changes, ad­di­tions, etc. should be ad­dressed to the list -L.

You can sub­scribe to this list by send­ing mail to

listserv@urz.uni-heidelberg.de

with the body con­tain­ing

subscribe LATEX-L  <Your-First-Name> <Your-Second-Name>

Is­sues

The is­sue tracker for 3 is cur­rently lo­cated on GitHub.

Please re­port spe­cific is­sues with 3 code there; more gen­eral dis­cus­sion should be di­rected to the -L list.

The 3 Project

Devel­op­ment of 3 is car­ried out by The 3 Project. Cur­rently, the team mem­bers are

  • Jo­hannes Braams
  • David Carlisle
  • Robin Fair­bairns
  • Morten Høgholm
  • Bruno Le Floch
  • Thomas Lotze
  • Frank Mit­tel­bach
  • Will Robert­son
  • Chris Row­ley
  • Rainer Schöpf
  • Joseph Wright

Former mem­bers of The 3 Project team were

  • Michael Downes
  • Denys Duchier
  • Alan Jef­frey
  • Martin Schröder

The de­vel­op­ment team can be con­tacted by e-mail: <la­tex-team@la­tex-project.org>; for gen­eral 3 dis­cus­sion the -L list should be used.


Copy­right (C) 1998-2012,2015 The LaTeX3 Project
http://la­tex-project.org/
All rights re­served.

Down­load the con­tents of this pack­age in one zip archive (7.3M).

l3k­er­nel – 3 pro­gram­ming con­ven­tions

The l3k­er­nel bun­dle pro­vides an im­ple­men­ta­tion of the 3 pro­gram­mers’ in­ter­face, as a set of pack­ages that run un­der 2e. The in­ter­face pro­vides the foun­da­tion on which the 3 ker­nel and other fu­ture code are built: it is an API for pro­gram­mers. The pack­ages are set up so that the 3 con­ven­tions can be used with reg­u­lar 2e pack­ages.

All the files of the bun­dle are also avail­able in the project’s Sub­ver­sion (SVN) repos­i­tory

Pack­agel3k­er­nel
Home pagehttp://www.la­tex-project.org/code.html
Ver­sionSVN 6760 2016-11-21
Li­censeThe Project Public Li­cense 1.3
Copy­right1998–2016 The Project
Main­tainerThe Team
TDS archivel3kernel.tds.zip
Con­tained inTeX Live as l3k­er­nel
MiKTeX as l3k­er­nel
Topics work done for the project to up­grade
macros to build a for­mat
de­vel­op­ing ver­sion of new soft­ware
See also l3packages
l3experimental
...
Guest Book Sitemap Contact Contact Author