我正在尝试定义以下环境:
\newlist{aims}{enumerate}{1}
\setlist[aims,1]{
label={~ \textbullet ~ ~ ~ ~ ~\nth{\arabic*} best ~~~ =},
leftmargin=*,
align=left,
labelsep=10mm,
}
我想要的是自动第一、第二、第三……等等。上面的代码返回错误。
/home/snake91/Desktop/.econ.tex.swp:295: Missing number, treated as zero.
<to be read again>
\arabic
l.295 \item
0.000425%
[编辑]
\documentclass[a4paper, left=5cm, right=5cm, 10pt]{article}
\usepackage{enumitem}
\usepackage[super]{nth}
\newlist{aims}{enumerate}{1}
\setlist[aims,1]{
label={~ \textbullet ~ ~ ~ ~ ~\arabic* best estimator ~~~ =},
leftmargin=*,
align=left,
labelsep=10mm,
}
\usepackage[T1]{fontenc}
\begin{document}
\begin{aims}
\item
\end{aims}
\end{document}
答案1
对于带有包的序数列表enumitem
,您还需要使用该moreenum
包:
\documentclass{article}
\usepackage{enumitem}
\usepackage{moreenum}
\begin{document}
\begin{enumerate}[label=\raisenth*]
\item foo
\item bar
\end{enumerate}
\end{document}
如果您不想要上标序数,请使用\levelnth*
而不是\raisenth*
。
看在 LaTeX 中,最快写出“2nd”、“3rd”等的方法是什么?更广泛地讨论 LaTeX 中的序数。
对您的实际示例的一些评论:我不会在标签中使用不间断空格,而是使用 来\hspace{}
表示一些金额em
。此外,您应该将 设置itemindent
为一个值,而不是在项目符号前留一个空格:
\documentclass{article}
\usepackage{enumitem}
\usepackage{moreenum}
\newlist{aims}{enumerate}{1}
\setlist[aims,1]{
label={\textbullet\hspace{3em}\raisenth* best estimator\hspace{2em}=},
leftmargin=*,
labelindent=1em,
align=left,
labelsep=10mm,
}
\begin{document}
答案2
如果你有足够的勇气去冒险enumitem
enumerate
领土,使用格式化计数器fmtcount
:
\documentclass{article}
\usepackage{fmtcount}
\newenvironment{aims}
{\begin{enumerate}
\renewcommand{\theenumi}{\ordinal{enumi}}
\renewcommand{\labelenumi}{\textbullet~\theenumi: }% label = \textbullet~\ordinal*
\renewcommand{\makelabel}[1]{\makebox[4em][l]{##1}}}% align = left
{\end{enumerate}}
\begin{document}
\begin{aims}
\item \item \item \item
\end{aims}
\end{document}