掌控表格的艺术:typst-tablex

掌控表格的艺术:typst-tablex

让Typst的表格变得更为强大与可定制化——typst-tablex (v0.0.7)

请注意,这个库仍存在一些小瑕疵,但大多数情况下您不会察觉到它们。如果您发现任何问题,请立即创建一个问题,我们会尽快处理。我们也非常欢迎您的贡献和PR

功能简介

typst-tablex是一个为Typst用户量身打造的表格增强工具,它可以作为#table的替代品,提供更多的功能和自定义选项,如跨列、跨行、重复表头、行和单元格的个性化定制等。

技术解析

  1. 几乎无缝替换#table
    • 在多数场景下,只需将#table替换为#tablex,就能看到相似的结果。基本语法保持一致,方便上手。
  2. colspanx/rowspanx 支持
    • 单元格现在可以跨越多列或多行,使您的表格结构更为灵活。
  3. 自动或手动重复表头
    • 表头在翻页时可以自动或按需重复显示,确保了阅读连贯性。
  4. 高度可定制化
    • 您不仅可以自定义每一行(通过hlinex)和每一列(通过vlinex),还可以对每个单元格进行单独设置。

应用场景

  • 数据报告:通过跨行和列以及高度自定义,制作复杂的统计表格。
  • 教育材料:重复表头功能有助于学生在长篇文档中快速定位信息。
  • 研究论文:自定义表格样式以符合特定的出版要求。

项目特点

  1. 兼容性广泛
    • 兼容Typst多个版本,推荐使用v0.6.0+以获取最佳体验。
  2. 强大的自定义功能
    • 可以根据需求改变线条颜色、粗细,甚至控制单元格的内容和样式。
  3. 易于集成
    • 通过Typst包管理器轻松导入,对于旧版本Typst,也有直接引入文件的方法。
  4. 开发者友好
    • 对已知问题透明公开,积极接受反馈并鼓励贡献代码。

加入typst-tablex的世界,释放您的表格设计潜力,为您的文档增添更多专业元素。无论是简单的数据展示还是复杂的布局设计,typst-tablex都能助您一臂之力。现在就去尝试一下吧!

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
展示树状表格可以使用Element UI中的El-table组件,需要设置Row-key和树形结构数据(children)。 1. 设置Row-key 在El-table中,设置Row-key可以帮助组件唯一标识每一行数据,以便在操作表格时更加方便。对于树状表格来说,Row-key需要设置为每个节点的唯一标识,通常是节点的id或者index。 2. 树形结构数据 树形结构数据是指每个节点下面可以有多个子节点,也可以没有子节点。在El-table中,需要将数据转换成树形结构,即每个节点都包含一个children属性,存储该节点下的所有子节点数据。这样,El-table才能正确地展示出树状表格。 实现步骤如下: 1. 定义表格列字段,包括节点名称、节点编号等信息。 2. 将数据转换成树形结构,即每个节点都包含一个children属性,存储该节点下的所有子节点数据。 3. 在El-table中设置Row-key属性,指定每个节点的唯一标识。 4. 在El-table中使用$scopedSlots插槽,可以自定义每个单元格的内容和样式,以展示树状结构。 下面是一个简单的例子,展示如何使用El-table展示树状表格: ``` <template> <el-table :data="treeData" :row-key="rowKey" border> <el-table-column label="节点名称" prop="name" width="180"> <template slot-scope="{ row }"> <span v-if="row.children.length" style="cursor: pointer;" :class="{'is-leaf': row.leaf}" @click="toggleNode(row)"> {{ row.name }} </span> <span v-else>{{ row.name }}</span> </template> </el-table-column> <el-table-column label="节点编号" prop="id" width="180"></el-table-column> <el-table-column label="父节点编号" prop="parentId" width="180"></el-table-column> </el-table> </template> <script> export default { data() { return { treeData: [ { id: 1, name: '节点1', parentId: 0, children: [ { id: 2, name: '节点1-1', parentId: 1, children: [ { id: 3, name: '节点1-1-1', parentId: 2, children: [] } ] }, { id: 4, name: '节点1-2', parentId: 1, children: [] } ] }, { id: 5, name: '节点2', parentId: 0, children: [ { id: 6, name: '节点2-1', parentId: 5, children: [] } ] } ], rowKey: 'id' } }, methods: { toggleNode(row) { row.expanded = !row.expanded } } } </script> ``` 在上面的例子中,我们定义了三个表格列字段,分别是节点名称、节点编号和父节点编号。其中,节点名称这一列使用了$scopedSlots插槽,自定义了单元格展示的内容和样式,以展示树状结构。在数据中,我们将每个节点都转换成了树形结构,即每个节点都包含一个children属性,存储该节点下的所有子节点数据。 在El-table中,我们通过设置Row-key属性,指定了每个节点的唯一标识。同时,我们在$scopedSlots插槽中使用了一个toggleNode方法,用于展开或折叠子节点。 最终,我们可以看到展示出了一个树状结构的表格,每个节点下面都展示了其所有子节点的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农爱宜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值