如何用星号排版枚举?

如何用星号排版枚举?

最小示例:

\documentclass{article}

\begin{document}

\begin{enumerate}
  \item See below
  \item [2\textsuperscript{*}.] This isn't right. Or?
  \item [3*.] This neither.
  \item [4.*] Even worse.
  \item See above
\end{enumerate}

\end{document}

点和星号难道不应该都直接位于数字上吗?

(我找到了这个答案https://tex.stackexchange.com/a/298893/36836但我不熟悉该\up命令。它只是相当于吗\textsuperscript?)

编辑

我同意标记为重复的问题的标题(在枚举中的标签后添加星号) 可以读作提出相同的问题。但是,我在问题正文中添加的问题指向一个更具体的要求,而这个要求似乎既不在另一个问题中,也不在对该问题的任何答案中。我可以稍微更改我问题的标题,但这会使对我的问题给出的一些答案看起来很奇怪。所以我保留此编辑。

编辑2

根据评论(如何排版带有星号的枚举?)我更喜欢的解决方案是:

\newcommand{\aster}{\makebox[0pt][l]{*}}

答案1

假设您希望星号位于点的顶部,并且没有间距:

\documentclass{article}
\usepackage{calc}

\makeatletter
\newcommand{\aster}{%
    \newlength{\l@aster}%
    \settowidth{\l@aster}{*}%
    *\hspace{-\l@aster}%
}
\makeatother

\begin{document}

\begin{enumerate}
  \item See below.
  \item [2\textsuperscript{*}.] This isn't right. Or?
  \item [3*.] This neither.
  \item [4.*] Even worse.
  \item [5\aster{}.] How about this?


\end{enumerate}

\end{document}

点上方的星号

我调用了新的星号命令,\aster因为我一时想不出其他地方可以使用它。我建议你选择自己的名称,并将新长度\l@aster与之配对。

就我个人而言,我会选择不同的版本(\item[*6.]):

我的选择

答案2

从您的信息中我得知,您正试图使用​​星号突出某些项目,并且希望将其直接排版在点上方。有很多方法可以做到这一点。在这里我创建了一个函数,它可以为您进行计数。您可以使用enumitem包来改进这一点,这样您就不需要[\printnum]为每个项目编写代码。这完全取决于您需要在文档中列出此类列表的频率。

\documentclass{article}
\usepackage{xparse}
\newcounter{itemC}
\NewDocumentCommand{\printNum}{s}{%
    \stepcounter{itemC}
    \IfBooleanTF{#1}%
    {%
        %Do Starred%
        \theitemC.\makebox[0pt]{*}%
    }{%
        %Do Unstarred%
        \theitemC.%
    }%
    }

\begin{document}

\begin{enumerate}
  \item [\printNum]  See below
  \item [\printNum*] This isn't right. Or?
  \item [\printNum*] This neither.
  \item [\printNum*] Even worse.
  \item [\printNum] See above
\end{enumerate}

\end{document}

在此处输入图片描述

答案3

我个人会绝不使用1.*1*.或中的任何一个1{* above .},它们看起来都是错误的。我会坚持使用1)1*)风格。另外,我认为你不应该手动给列表编号,所以我\staritem为你编写了一个:

在此处输入图片描述

\documentclass{article}

\usepackage{enumitem}

\setlist[enumerate,1]{label=\arabic*)}

\makeatletter
\newcommand\staritem{\@noitemargtrue\@item[\arabic{enumi}*)]}
\makeatother

\begin{document}

Some text some text some text some text some text
some text some text some text some text some text.
\begin{enumerate}

\item Foo foo foo foo foo foo foo foo foo foo foo
 foo foo foo foo foo foo foo foo foo foo foo foo.

\staritem Bar bar bar bar bar bar bar bar bar bar
 bar bar bar bar bar bar bar bar bar bar bar bar.

\item Baz baz baz baz baz baz baz baz baz baz baz
 baz baz baz baz baz baz baz baz baz baz baz baz.

\end{enumerate}
Some text some text some text some text some text
some text some text some text some text some text.

\end{document}

答案4

但不确定是否已经完全理解,但加载enumitem包时,这会自动给出标签:

\documentclass{article}
\usepackage{enumitem, makebox}
\setlist[enumerate, 1]{label =\arabic*\rlap{\textsuperscript*}\protect\makebox*{\textsuperscript*}{.}}

\begin{document}

\begin{enumerate}%
\item Is this OK? 1
\end{enumerate}

\end{document} 

在此处输入图片描述

相关内容