我在缩进描述标签时遇到了问题。尝试定义一个新环境,并将 leftmargin 设置为任意值,但标签保持不变。我该如何实现我想要的效果?
这是我所做的:
\newenvironment{owndesc}
{\begin{description}
\setlength{\leftmargin}{3cm}
\setlength{\labelsep}{5cm}}
{\end{description}}
我对 LaTeX 还很陌生,如果能得到任何帮助我都会很感激,谢谢!
答案1
在这种情况下,我认为最简单的方法是加载枚举项包并使用该包的\newlist
和\setlist
命令来(i)“克隆”一种基本列表类型(此处description
:)并创建一个新的列表类型(此处owndesc
:)和(ii)设置新列表类型的参数。
在以下示例中,顶部的水平线只是为了说明文本块的宽度。Lipsum 用于填充文本。
\documentclass{article}
\usepackage{enumitem,lipsum} % lipsum for filler text
\newlist{owndesc}{description}{1} % clone an existing list type
\setlist[owndesc]{leftmargin=3cm,labelsep=4cm} % set parameters of cloned list
\begin{document}
\hrule % demonstrate width of text block
\begin{owndesc}
\item[firstlabel] \lipsum*[1]
\item[secondlabel] \lipsum*[2]
\end{owndesc}
\end{document}
答案2
另一种解决方案是始终使用enumitem
,这样body
项目的 始终从同一位置开始。首先,使用 enumitem 显示参数给出的内容:
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\usepackage[showframe, nomarginpar]{geometry}
\newenvironment{owndesc}%
{\begin{description}[leftmargin = 3cm, labelsep = 5cm]}
{\end{description}}
\newenvironment{mydesc}%
{\begin{description}[ style =sameline, leftmargin = 3cm, itemindent = 2cm]}%,
{\end{description}}
\begin{document}
\begin{owndesc}
\item[Title of the first item] Anything will do. \\New line for this item
\item[Title of the second item] Second item. \\ Another line for this one.
\end{owndesc}
\vspace{2ex}
\begin{mydesc}
\item[Title of the first item] Anything will do. \\New line for this item
\item[Title of the second item] Second item. \\ Another line for this one.
\item[A third item with a longer title] Third item. \\ Another line for this one.
\end{mydesc}
\end{document}