我必须做一个小文档,其中我打算使用Tufte-handout
而不是article
或Scrartcl
类,并XeLaTeX
使用我打算使用的字体对其进行编译。
然而,我对格式有困难,我必须使用enumerate
具有以下特征的三级嵌套环境:
- 物品标记显示为彩色(红色),为此我认为我可以先加载包
xcolor
或类似的东西。但我不知道如何为每个物品自动定义它。\documentclass
\PassOptionToPackage
我需要对列表进行编号的方法如下:
1
1.1
1.1.1
并不是:
1.
(a)
i.
默认。
最后这个我觉得是最难的(或者说我不知道如何实现)是每层嵌套的格式:
- 第一级项目:罗马字母(默认值)
- 第二级项目:小写字母(有时是小斜体大写字母)。我选择的字体可以毫无问题地实现这一点。
- 第三级项目:斜体但没有使用
\emph{}
我已经使用过并且我不认为这是最好的选择。
知道怎么做吗?我可以手动完成,但因为列表很长,所以我更愿意在序言中自动化。
更新
好吧,在建议使用 enumitem 之后,我尝试了 triead,结果很好。建议在下面的代码中作为 MWE,它是:
\PassOptionsToPackage{usenames,dvipsnames,table}{xcolor}
\documentclass[]{tufte-handout}
%\usepackage[spanish]{babel}
\usepackage{enumitem}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont{Warnock Pro}
\renewcommand{\theenumii}{\arabic{enumii}}
\renewcommand{\labelenumii}{\theenumii.}
\renewcommand{\theenumii}{\arabic{enumii}}
\renewcommand{\labelenumii}{\theenumi . \theenumii.}
\renewcommand{\theenumiii}{\arabic{enumiii}}
\renewcommand{\labelenumiii}{
\theenumi . \theenumii . \theenumiii.}
\begin{document}
\begin{enumerate}
\item[\textcolor{red}{1}] This is a first level item
\begin{enumerate}
\item \textsc{This is a second level item}
\begin{enumerate}
\item \textit{This is a third level item}
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{document}
它起作用了,现在我需要为第一级的标签添加颜色,并按照我之前描述的方式自动化内容的格式。
答案1
enumitem
提供了定制列表的专门方法,这就是在这种情况下推荐它的原因。如果您查看文档,您会明白,重点是抽象出使用较低级别 LaTeX 列表配置宏的需要。
以下示例展示了一种方法。我非常怀疑我是否拥有 Warnock Pro,所以我创建了一个 MWE无精美的字体。因此,本示例使用默认的 Computer Modern。
\PassOptionsToPackage{usenames,dvipsnames,table}{xcolor}
\documentclass{tufte-handout}
\usepackage{enumitem}
\setlist[enumerate]{label*=.\arabic*, after=\normalfont}
\setlist[enumerate,1]{label=\arabic*, font=\normalfont\color{red}}
\setlist[enumerate,2]{before=\normalfont\scshape}
\setlist[enumerate,3]{font=\normalfont\upshape, before=\normalfont\itshape}
\begin{document}
\begin{enumerate}
\item This is a first level item
\begin{enumerate}
\item This is a second level item
\begin{enumerate}
\item This is a third level item
\end{enumerate}
\end{enumerate}
\end{enumerate}
abc
\end{document}