CTAN
Comprehensive TeX Archive Network

Direc­tory tex-archive/macros/latex/contrib/l3kernel

README.md

3 Pro­gram­ming Con­ven­tions

Re­lease 2017/12/16

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 only works 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 sup­ports 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
  • 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
  • Thomas Lotze
  • 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-2017 The LaTeX3 Project
http://la­tex-project.org/
All rights re­served.

Files

Name Size Date Notes
README_md 3335 2017-12-16 19:21
ex­pl3_dtx 68292 2017-12-16 19:21
ex­pl3_pdf 585461 2017-12-16 21:29
in­ter­face3_pdf 1540025 2017-12-16 21:33
in­ter­face3_tex 1966 2017-12-16 19:21
l3_ins 7249 2017-12-13 18:30
l3al­loc_dtx 6125 2017-12-16 19:21
l3ba­sics_dtx 139016 2017-12-16 19:21
l3­boot­strap_dtx 23208 2017-12-16 19:21
l3box_dtx 73226 2017-12-16 19:21
l3­can­di­dates_dtx 158724 2017-12-16 19:21
l3­clist_dtx 66687 2017-12-16 19:21
l3­coffins_dtx 60585 2017-12-16 19:21
l3­color_dtx 5467 2017-12-16 19:21
l3dep­re­ca­tion_dtx 5110 2017-12-16 19:21
l3­doc_dtx 141920 2017-12-16 19:21
l3­doc­strip_dtx 9768 2017-12-16 19:21
l3­doc­strip_pdf 263576 2017-12-16 21:29
l3­drivers_dtx 95503 2017-12-16 19:21
l3­ex­pan_dtx 78004 2017-12-16 19:21
l3­file_dtx 89639 2017-12-16 19:21
l3­fi­nal_dtx 15699 2017-12-16 19:21
l3flag_dtx 10280 2017-12-16 19:21
l3­for­mat_ins 4703 2017-12-13 18:30
l3fp_as­sign_dtx 6968 2017-12-16 19:21
l3fp_aux_dtx 40152 2017-12-16 19:21
l3fp_ba­sics_dtx 81556 2017-12-16 19:21
l3fp_con­vert_dtx 16274 2017-12-16 19:21
l3fp_expo_dtx 45402 2017-12-16 19:21
l3fp_ex­tended_dtx 51045 2017-12-16 19:21
l3fp_logic_dtx 19675 2017-12-16 19:21
l3fp_parse_dtx 100405 2017-12-16 19:21
l3fp_ran­dom_dtx 10789 2017-12-16 19:21
l3fp_round_dtx 19666 2017-12-16 19:21
l3fp_traps_dtx 12817 2017-12-16 19:21
l3fp_trig_dtx 68854 2017-12-16 19:21
l3fp_dtx 63009 2017-12-16 19:21
l3int_dtx 89131 2017-12-16 19:21
l3in­tar­ray_dtx 7592 2017-12-16 19:21
l3keys_dtx 88463 2017-12-16 19:21
l3lu­a­tex_dtx 14521 2017-12-16 19:21
l3msg_dtx 74190 2017-12-16 19:21
l3­names_dtx 78295 2017-12-16 19:21
l3ob­so­lete_txt 32438 2017-12-13 18:30
l3old­mod­ules_dtx 5097 2017-12-16 19:21
l3prg_dtx 60967 2017-12-16 19:21
l3prop_dtx 45054 2017-12-16 19:21
l3quark_dtx 22296 2017-12-16 19:21
l3regex_dtx 248665 2017-12-16 19:21 Reg­u­lar ex­pres­sion fa­cil­i­ties for
l3seq_dtx 75214 2017-12-16 19:21
l3skip_dtx 75140 2017-12-16 19:21
l3­sort_dtx 41065 2017-12-16 19:21
l3str_dtx 81623 2017-12-16 19:21
l3styleguide_pdf 280349 2017-12-16 21:34
l3styleguide_tex 11883 2017-12-16 19:21
l3syn­tax_changes_pdf 215780 2017-12-16 21:34
l3syn­tax_changes_tex 2970 2017-12-16 19:21
l3sys_dtx 9099 2017-12-16 19:21
l3tl_anal­y­sis_dtx 38531 2017-12-16 19:21
l3tl_build_dtx 9273 2017-12-16 19:21
l3tl_dtx 119599 2017-12-16 19:21
l3­to­ken_dtx 100116 2017-12-16 19:21
source3_pdf 5230873 2017-12-16 21:47
source3_tex 2208 2017-12-16 19:21
source3­body_tex 19516 2017-12-13 18:30

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

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
Bug trackerhttps://github.com/la­tex3/la­tex3/is­sues
Re­pos­i­toryhttps://github.com/la­tex3/la­tex3
Ver­sion 2017-12-16
Li­cense The Project Public Li­cense 1.3c
Main­tainer The Team
TDS archivel3kernel.tds.zip
Con­tained inTeX Live as l3k­er­nel
MiKTeX as l3k­er­nel
Topics macros to build a for­mat
de­vel­op­ing ver­sion of new soft­ware
work done for the project to up­grade
See also l3experimental
l3packages
Guest Book Sitemap Contact Contact Author