我该如何:
在描述列表的标签后添加?在这种情况下,这意味着使用Foo:
而不是Foo
(对于“Bar”也是一样)。
PS:另外,列表要怎样设置itemize
才能变成description
列表呢?
\documentclass{article}
\usepackage[showframe=true]{geometry}
\usepackage{enumitem}
\newlist{mylist}{description}{1}
\setlist[mylist]
{align=left,
leftmargin=0pt%,
%afterlabel={:}
}
\usepackage{lipsum}
\begin{document}
\begin{mylist}
\item[Foo] \lipsum[1]
\item[Bar] \lipsum[2]
\end{mylist}
\end{document}
答案1
在 中添加一个特定的宏来设置标签的“字体” mylist
。也就是说,使用font=<commands>
,因为enumitem
文档提及
最后一个命令
<commands>
可以带有项目标签的参数。
这个“字体”宏接受 1 个参数 - 由提供的可选参数\item
- 它允许您围绕它协商附加内容:
\documentclass{article}
\newcommand{\mylistlabelfont}[1]{{\bfseries #1:}}
\usepackage{enumitem}
\newlist{mylist}{description}{1}
\setlist[mylist]{%
align=left,
leftmargin=0pt,
font=\mylistlabelfont
}
\usepackage{lipsum}
\begin{document}
\begin{mylist}
\item[Foo] \lipsum[1]
\item[Bar] \lipsum[2]
\item[Foo bar] \lipsum[3]
\end{mylist}
\end{document}
答案2
仅修改环境的解决方案mylist
:
\documentclass{article}
\usepackage[showframe=true]{geometry}
\usepackage{enumitem}
\newlist{mylist}{description}{1}
\setlist[mylist]
{align=left,
leftmargin=0pt}
\AtBeginEnvironment{mylist}{\renewcommand{\descriptionlabel}[1]{%
\hspace\labelsep
\normalfont\bfseries#1:}}
\usepackage{lipsum}
\begin{document}
\begin{mylist}
\item[Foo] \lipsum[1]
\item[Bar] \lipsum[2]
\end{mylist}
\end{document}
答案3
通过重新定义可能的解决方案descriptionlabel
:
\documentclass{article}
\usepackage[showframe=true]{geometry}
\usepackage{enumitem}
\newlist{mylist}{description}{1}
\setlist[mylist]
{align=left,
leftmargin=0pt
}
\usepackage{lipsum}
\renewcommand{\descriptionlabel}[1]{%
\hspace\labelsep \upshape\bfseries #1:%
}
\begin{document}
\begin{mylist}
\item[Foo] \lipsum[1]
\item[Bar] \lipsum[2]
\end{mylist}
\end{document}