移动整个项目而不是仅仅缩进项目

移动整个项目而不是仅仅缩进项目

我正在使用定义子部分环境的自定义类文件。子部分环境包括以下内容:

\begin{list}{$\cdot$}{\leftmargin=0em}
  \itemsep -0.5em \vspace{-0.5em}
}{
  \end{list}

该类文件非常旧,因此现在也许您会使用itemizeenumerate代替列表。

当我将项目添加到列表中时,它们都在同一级别。我想将一些项目符号设置为相对于其他项目符号的子项目符号。显然,在 MS Word 中,您只需按 Tab 键即可。但是,我不确定如何在这里做到这一点。我尝试了以下方法:

\setlength{\itemindent}{0.25in} 

但是,这只会缩进,因此如果项目超过一行,文本就不会排列在项目符号下方。它会超出左侧。

我需要一些东西来让我移动整个项目,而不是仅仅缩进第一行。什么可以让我做到这一点?我尝试使用它\itemize来制作嵌套列表,但似乎不起作用。

答案1

使用标准列表环境是明智的,因为它允许您使用提供更稳定的列表管理方式及其嵌套方式的包进行分支。

这里有一个选项可以向列表添加参数。与...方法\indentlist{<len>}类似,您可以使用来缩进列表的剩余部分。如果您想恢复到以前的列表缩进,请使用。\begin{list}\end{list}\indentlist{<len>}<len>\indentlist{-<len>}

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum}

\makeatletter
\newcommand{\indentlist}[1]{%
  \par% Force new paragraph
  \addtolength{\@totalleftmargin}{#1}% Indent entire list
  \addtolength{\linewidth}{-#1}% Reduce line width by indent
  \parshape \@ne \@totalleftmargin \linewidth
}
\makeatother
\begin{document}

\begin{list}{$\cdot$}{
  \leftmargin=0em
  \itemsep=-0.5em
  \vspace{-0.5em}
}
  \item First item
  
  \item \lipsum*[1][1-2]
  
  \indentlist{0.25in}

    \item Third item
    
    \item \lipsum*[1][1-2]

    \indentlist{0.25in}

      \item Fifth item
    
      \item \lipsum*[1][1-2]
      
    \indentlist{-0.25in}
  
    \item Seventh item
  
  \indentlist{-0.25in}
  
  \item Eighth item
\end{list}

\end{document}

相关内容