An introduction to expl3

Marei Peischl
{"title":"An introduction to expl3","authors":"Marei Peischl","doi":"10.47397/tb/44-1/tb136peischl-expl3","DOIUrl":null,"url":null,"abstract":"LATEX3 is no longer a development for which LATEX users have been waiting for decades. LATEX3 has been around for a long time and nowadays is used by all LATEX users, often without being noticed. The goal of this tutorial is to demystify expl3. The LATEX3 programming layer is the foundation of almost all new LATEX development in the last years. It provides unified interfaces that can be used directly or indirectly by package authors and users to code complex mechanisms or process content much more flexibly than with classic LATEX. Overall, the most important goals of LATEX3 are: • Uniform interfaces for functions and variables • Modernization of syntax • Simplification of controlling expansion and thus provide both much simpler and more powerful ways to program in LATEX [5]. Programming is useful when a document, depending on settings, should get either a different layout or a different structure. A typical example from teaching is the creation of an exam including solutions within a single file, where solutions can be hidden. Another use case is the processing of external data. A typical example is a list to be converted to an enumeration:","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"1 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"TUGboat (Providence, R.I.)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.47397/tb/44-1/tb136peischl-expl3","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

LATEX3 is no longer a development for which LATEX users have been waiting for decades. LATEX3 has been around for a long time and nowadays is used by all LATEX users, often without being noticed. The goal of this tutorial is to demystify expl3. The LATEX3 programming layer is the foundation of almost all new LATEX development in the last years. It provides unified interfaces that can be used directly or indirectly by package authors and users to code complex mechanisms or process content much more flexibly than with classic LATEX. Overall, the most important goals of LATEX3 are: • Uniform interfaces for functions and variables • Modernization of syntax • Simplification of controlling expansion and thus provide both much simpler and more powerful ways to program in LATEX [5]. Programming is useful when a document, depending on settings, should get either a different layout or a different structure. A typical example from teaching is the creation of an exam including solutions within a single file, where solutions can be hidden. Another use case is the processing of external data. A typical example is a list to be converted to an enumeration:
对expl3的介绍
LATEX3不再是LATEX用户等待了几十年的开发。LATEX3已经存在了很长一段时间,现在所有LATEX用户都在使用它,通常不被注意到。本教程的目标是揭开expl3的神秘面纱。LATEX3编程层是最近几年几乎所有新LATEX开发的基础。它提供了统一的接口,包作者和用户可以直接或间接地使用这些接口来编写复杂的机制或处理内容,比传统的LATEX灵活得多。总的来说,LATEX3最重要的目标是:•函数和变量的统一接口•语法的现代化•控制扩展的简化,从而提供更简单和更强大的方法来在LATEX[5]中编程。当文档应该根据设置获得不同的布局或不同的结构时,编程是有用的。教学中的一个典型例子是在单个文件中创建包含解决方案的考试,其中解决方案可以隐藏。另一个用例是处理外部数据。一个典型的例子是将列表转换为枚举:
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信