如何制作可跨页分栏的列表环境,使得标签顶格且标签宽度等于标签自身?

发布于 2025-05-19 23:33:26

众所周知,列表环境分为项目符号和项目内容,例如LaTeX默认提供的enumitem环境,键入\item A,得到一个序号和小数点的组合,一个字母A,以及一些空白距离,包括垂直的和水平的。略去这些空白距离,只谈“有效信息”,即序号和小数点的组合(项目符号)和字母A(项目内容),当项目内容较多的时候,就会产生悬挂效果,并且默认是支持换页和分栏的。

但是这里面有一些我不满意的点,参照enumitem宏包的图:
image.png

  1. 标签盒子的宽度是预设置的,由此,其一,label默认不是顶格排的,其实是居右的,这就导致label盒子的左端留出些许水平空白,我想让label顶格,我知道可以通过align=left来实现,此时是居左的,但是此时又导致其二,label盒子的右端留出了许多空白。然而,实际上在label两边的水平空白,我都不想要,但仍然需要在label1.后面留出大约2pt的水平空白,以将项目符号和项目内容分隔开。
  2. 剩下的部分是关于项目内容,只要其总宽度加上label的总宽度刚好等于版心宽度就满足了,当然前面说的标签顶格,意思大概就是说这段红框的水平长度:

image.png
刚好为0pt,看起来似乎是当itemindent=labelsep=0ptleftmargin-labelwidth的值。

  1. 当然,我希望可以换页和分栏。
  2. 标签可以自动计数吗?我想要它!而且最好可以灵活处理,毕竟有时候我想跳过一些数字或者重新开始计数
  3. 可以用诗歌verse环境实现吗?或者其他的封装方法?

一个效果图是这样:
efc62559cd8efe75c7f923433ef3b847.png
一个mwe像这样:
877f17bd7ac0e9bc0ec0cb1be7b63ba1.png

查看更多

关注者
0
被浏览
41
0 个回答
暂无答案,快来添加答案吧

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览