对齐列表中的文本(第一行带有可选前缀)

对齐列表中的文本(第一行带有可选前缀)

我有一个列表,其中每个项目可以由一个或多个段落组成。此外,段落可以选择用额外的符号标记。我希望文本对齐,无论它们是否被标记。例如,我有以下代码

\begin{enumerate}
\item First item is not marked. 
\item \mark{*} Second item is marked and is also
multiple lines long. 
\item Third item is not marked
\end{enumerate}

我想要以下输出:

1.   First item is not marked. 

2. * Second item is marked and is also
     multiple lines long. 

3.   Third item is not marked

... etc

我无法使用框或表格等常用工具,因为内容很长,应该与分页符等配合使用。我还想避免依赖任何额外的包(输出由挂接到更大基础设施的工具生成,我无法轻松访问主序言)。但我不介意输出冗长或复杂,因为它不会由人类维护。

答案1

您只需\mark{*}使用进行更改即可\mbox{}\llap{*}。但您可能还想增加从数字到条目中的文本的距离。一种方法是使用包enumitem

这是一个小例子(截图中没有多余的文字):

\documentclass{article}

\usepackage{enumitem}

\begin{document}

\begin{enumerate}[labelsep=1em]
\item First item is not marked. 
\item\mbox{}\llap{*}Second item is marked and is also
multiple lines long. 
\item Third item is not marked
\end{enumerate}

\end{document}

带有星号的商品

相关内容