Comprehensive TeX Archive Network

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


LaTeX3 High-Level Con­cepts

Re­lease 2015/09/27 (r6111)


The l3packages col­lec­tion is con­tains im­ple­men­ta­tions for as­pects of the LaTeX3 ker­nel, deal­ing with higher-level ideas such as the De­signer In­ter­face. The pack­ages here are con­sid­ered broadly sta­ble (The LaTeX3 Project does not ex­pect the in­ter­faces to al­ter rad­i­cally). Th­ese pack­ages are build on LaTeX2ε con­ven­tions at the in­ter­face level, and so may not mi­grate in the cur­rent form to a stand-alone LaTeX3 for­mat.

All of the ma­te­rial in the col­lec­tion re­quires the LaTeX3 base layer pack­age l3kernel. The two pack­ages must be in­stalled in match­ing ver­sions: if you up­date l3packages, make sure that l3kernel is up­dated at the same time.

Cur­rently in­cluded in the CTAN re­lease of l3packages are the fol­low­ing bun­dles:

  • l3keys2e
  • xfrac
  • xparse
  • xtemplate


The l3keys2e pack­age al­lows keys de­fined us­ing l3keys to be used as pack­age and class op­tions with LaTeX2ε. This is tied to the method the ex­ist­ing ker­nel uses for pro­cess­ing op­tions, and so it is likely that a stand-alone LaTeX3 ker­nel will use a very dif­fer­ent ap­proach.


The xfrac pack­age uses the in­ter­face de­fined by xtemplate to pro­vide flex­i­ble split-level frac­tions via the \sfrac macro. This is both a demon­stra­tion of the power of the tem­plate con­cept and also a use­ful ad­di­tion to the avail­able func­tion­al­ity in LaTeX2ε.


The xparse pack­age pro­vides a high-level in­ter­face for declar­ing doc­u­ment com­mands, e.g., a uni­form way to de­fine com­mands tak­ing op­tional ar­gu­ments, op­tional stars (and oth­ers), manda­tory ar­gu­ments and more.


The xtemplate pack­age pro­vides an in­ter­face for defin­ing generic func­tions us­ing a key=val syn­tax. This is de­signed to be "self-doc­u­ment­ing", with the key def­i­ni­tions pro­vid­ing in­for­ma­tion on how they are to be used.


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 LaTeX-L.

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


with the body con­tain­ing

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


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

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

The LaTeX3 Project

Devel­op­ment of LaTeX3 is car­ried out by The LaTeX3 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 LaTeX3 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 LaTeX3 dis­cus­sion the LaTeX-L list should be used.

Copy­right (C) 1998-2011,2015 The LaTeX3 Project
All rights re­served.


Name Size Date Notes
README.md 3426 2015-09-27 17:40
l3keys2e-demo.tex 1444 2015-09-27 17:39
l3keys2e.dtx 11872 2015-09-27 17:39
l3keys2e.ins 927 2015-09-27 17:39
l3keys2e.pdf 333870 2015-09-27 17:39
xfrac.dtx 39500 2015-09-27 17:39
xfrac.ins 980 2015-09-27 17:39
xfrac.pdf 478402 2015-09-27 17:39
xparse.dtx 124033 2015-09-27 17:40
xparse.ins 920 2015-09-27 17:40
xparse.pdf 459801 2015-09-27 17:40
xtem­plate.dtx 101064 2015-09-27 17:40
xtem­plate.ins 929 2015-09-27 17:40
xtem­plate.pdf 422874 2015-09-27 17:40

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

l3­pack­ages – High-level LaTeX3 con­cepts

The bun­dle holds pro­to­type im­ple­men­ta­tions of con­cepts for a LaTeX de­signer in­ter­face, to be used with the ex­per­i­men­tal LaTeX ker­nel as pro­gram­ming tools and ker­nel sup­port.

Pack­ages pro­vided in this re­lease are:

  • l3keys2e, which makes the fa­cil­i­ties of the ker­nel mod­ule l3keys avail­able for use by LaTeX 2e pack­ages;
  • xfrac, which pro­vides flex­i­ble split-level frac­tions;
  • xparse, which pro­vides a high-level in­ter­face for declar­ing doc­u­ment com­mands; and
  • xtem­plate, which pro­vides a means of defin­ing generic func­tions us­ing a key-value syn­tax.
All the files of the bun­dle are also avail­able in the Sub­ver­sion (SVN) repos­i­tory of the LaTeX3 Project.

The bun­dle on CTAN is based on a snap­shot of the SVN repos­i­tory; it should be used with copies of the l3k­er­nel at SVN ver­sion 6001 or later.

Pack­age De­tailsl3­pack­ages
Home pagehttp://www.la­tex-project.org/code.html
Ver­sionSVN 6111 2015-09-27
Li­censeThe LaTeX Project Public Li­cense 1.3
Copy­right2012–2015 The LaTeX project
Main­tainerThe LaTeX Team
TDS archivel3packages.tds.zip
Con­tained inTeX Live as l3­pack­ages
MiKTeX as l3­pack­ages
Topics de­vel­op­ing ver­sion of new soft­ware
work done for the project to up­grade LaTeX
sup­port for de­vel­op­ment of (La)TeX macros
See also l3experimental
Guest Book Sitemap Contact Contact Author