CTAN Comprehensive TeX Archive Network

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

README.md

3 Pro­gram­ming Con­ven­tions

Re­lease 2018-10-19

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.99992 or later
  • Lua v0.76 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-2018 The LaTeX3 Project
http://la­tex-project.org/
All rights re­served.

Files

Name Size Date Notes
CHANGELOG_md 5178 2018-10-19 21:12
README_md 3337 2018-10-19 21:12
ex­pl3_dtx 68502 2018-10-19 21:12
ex­pl3_pdf 585650 2018-10-19 21:32
in­ter­face3_pdf 1540325 2018-10-19 21:36
in­ter­face3_tex 1966 2018-10-19 21:12
l3_ins 5451 2018-09-30 22:34
l3al­loc_dtx 6125 2018-10-19 21:12
l3ba­sics_dtx 135356 2018-10-19 21:12
l3­boot­strap_dtx 22864 2018-10-19 21:12
l3box_dtx 74119 2018-10-19 21:12
l3­can­di­dates_dtx 195573 2018-10-19 21:12
l3­clist_dtx 72854 2018-10-19 21:12
l3­coffins_dtx 61297 2018-10-19 21:12
l3­color_base_dtx 6290 2018-10-19 21:12
l3dep­re­ca­tion_dtx 8477 2018-10-19 21:12
l3­doc_dtx 144303 2018-10-19 21:12
l3­doc­strip_dtx 9768 2018-10-19 21:12
l3­doc­strip_pdf 263487 2018-10-19 21:33
l3­drivers_dtx 113244 2018-10-19 21:12
l3­ex­pan_dtx 101945 2018-10-19 21:12
l3­file_dtx 87599 2018-10-19 21:12
l3­fi­nal_dtx 15705 2018-10-19 21:12
l3flag_dtx 10282 2018-10-19 21:12
l3­for­mat_ins 4746 2018-09-30 22:34
l3fp_as­sign_dtx 6966 2018-10-19 21:12
l3fp_aux_dtx 47979 2018-10-19 21:12
l3fp_ba­sics_dtx 84009 2018-10-19 21:12
l3fp_con­vert_dtx 19608 2018-10-19 21:12
l3fp_expo_dtx 45346 2018-10-19 21:12
l3fp_ex­tended_dtx 51070 2018-10-19 21:12
l3fp_logic_dtx 22685 2018-10-19 21:12
l3fp_parse_dtx 104392 2018-10-19 21:12
l3fp_ran­dom_dtx 25515 2018-10-19 21:12
l3fp_round_dtx 18156 2018-10-19 21:12
l3fp_traps_dtx 12975 2018-10-19 21:12
l3fp_trig_dtx 73855 2018-10-19 21:12
l3fp_dtx 67746 2018-10-19 21:12
l3f­par­ray_dtx 9475 2018-10-19 21:12
l3int_dtx 91231 2018-10-19 21:12
l3in­tar­ray_dtx 17744 2018-10-19 21:12
l3k­er­nel_func­tions_dtx 21799 2018-10-19 21:12
l3keys_dtx 87878 2018-10-19 21:12
l3lu­a­tex_dtx 15541 2018-10-19 21:12
l3msg_dtx 74137 2018-10-19 21:12
l3­names_dtx 109649 2018-10-19 21:12
l3ob­so­lete_txt 34469 2018-10-15 11:55
l3old­mod­ules_dtx 4140 2018-10-19 21:12
l3prg_dtx 65237 2018-10-19 21:12
l3prop_dtx 44855 2018-10-19 21:12
l3quark_dtx 21919 2018-10-19 21:12
l3regex_dtx 252936 2018-10-19 21:12 Reg­u­lar ex­pres­sion fa­cil­i­ties for
l3seq_dtx 75695 2018-10-19 21:12
l3skip_dtx 79453 2018-10-19 21:12
l3­sort_dtx 40798 2018-10-19 21:12
l3str_dtx 70901 2018-10-19 21:12
l3styleguide_pdf 280276 2018-10-19 21:36
l3styleguide_tex 11883 2018-10-19 21:12
l3syn­tax_changes_pdf 228019 2018-10-19 21:36
l3syn­tax_changes_tex 6085 2018-10-19 21:12
l3sys_dtx 8169 2018-10-19 21:12
l3term_glos­sary_pdf 186805 2018-10-19 21:36
l3term_glos­sary_tex 1635 2018-10-19 21:12
l3tl_anal­y­sis_dtx 41033 2018-10-19 21:12
l3tl_dtx 119296 2018-10-19 21:12
l3­to­ken_dtx 98594 2018-10-19 21:12
l3u­ni­code_dtx 8374 2018-10-19 21:12
source3_pdf 5621380 2018-10-19 21:45
source3_tex 2208 2018-10-19 21:12
source3­body_tex 19773 2018-09-30 22:34

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

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 . 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 pack­ages.

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 2018-10-19
Li­censesThe Project Public Li­cense 1.3c
Copy­right1990–2018 The Project
Main­tainerThe Team
TDS archivel3kernel.tds.zip
Con­tained inTeX Live as l3k­er­nel
MiKTeX as l3k­er­nel
Topics3
For­mat
Pre re­lease
See alsol3experimental
l3packages
Guest Book Sitemap Contact Contact Author