匹配列表外的项目符号列表间距

匹配列表外的项目符号列表间距

我正在使用包含以下内容的类文件:

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

这使我能够创建项目符号列表。@Werner 向我展示了如何使用\indentlist{0.25in}创建嵌套列表(请参阅移动整个项目而不是仅仅缩进项目)。

我的文档的另一部分采用以下格式:

    Text \hfill Date \\ 
    Text \\
    $\cdot$ Text \\

我想使上方项目符号前后的间距$\cdot$与文档中其他位置的列表中的间距相匹配。这似乎可行:

 \hspace*{length}$\cdot$\hspace{length} Text \\

但是,我不确定其他列表使用的长度是多少。由于我使用了\indentlist{0.25in},所以\hspace*{0.25in}对于项目符号之前的空格来说,可能是正确的。上面发布的列表说明是在子节环境中给出的,而节环境有\setlength{\leftmargin}{1.5em}。转到项目符号后的空格,我不确定列表使用的长度是多少。也许这是默认长度,但我不确定默认长度是多少。所以,我想知道我应该使用两个空格的长度来匹配文档的其余部分。也许我应该使用更好的方法?

答案1

值得注意的是,列表中的项目标签通常设置r为右对齐;这是一个典型列表的视觉效果:

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum}

\begin{document}

\lipsum[1]

\begin{itemize}
  \item Zeroth
  \item[1] First
  \item[11] Second
  \item[111] Third
  \item[1111] Fourth
  \item[11111] Fifth
  \item[111111] Sixth
  \item[1111111] Seventh
\end{itemize}

\end{document}

您的列表类似;您仅将 设置为leftmargin0pt这将使列表与左边距齐平,并将标签设置在边距内。因此,您可以执行以下操作来为非 项复制它list

在此处输入图片描述

\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

\newcommand{\fakeitem}[1][0pt]{%
  \par\noindent
  \hspace*{#1}%
  \makebox[0pt][r]{%
    \makebox[\labelwidth][r]{$\cdot$}%
    \hspace{\labelsep}%
  }\ignorespaces
}

\begin{document}

\lipsum[1]

\begin{list}{$\cdot$}{
  \leftmargin=0em
  \itemsep=-0.5em
}
  \item First
  \indentlist{1em}
    \item Second
\end{list}

\fakeitem First

\fakeitem[1em] Second

\end{document}

相关内容