使用 enumitem 包将枚举标签与段落缩进对齐

使用 enumitem 包将枚举标签与段落缩进对齐

我有以下 MWE,它定义环境itemize中的环境enumerate

\documentclass[oneside,11pt]{book}

\usepackage[semibold,tt=false]{libertine}
\usepackage{mdframed}
\global\mdfdefinestyle{mymdframe}{%
  linewidth=1pt%
}
\usepackage{enumitem}
\usepackage{lipsum}

\begin{document}

\begin{mdframed}[style=mymdframe]
\begin{enumerate}[label=(\alph*),labelindent=\parindent,leftmargin=*]
  \item{\textbf{fruits:}}
    \begin{itemize}
      \item{apple}
      \item{orange}
    \end{itemize}
  \item{\textbf{vegetables:}}
    \begin{itemize}
      \item{cucumber}
      \item{eggplant}
    \end{itemize}
\end{enumerate}
\end{mdframed}

\lipsum[1-2]

\end{document} 

姆韦

我想将 (a) 和 (b)enumerate标签与正文的段落缩进对齐。我该怎么做?

这个答案建议labelindent=\parindent,leftmargin=*使用enumitem包,但我尝试在 MWE 中这样做,但似乎不起作用。我做错了什么?

答案1

您没有考虑环境innerparsep中的 (默认值:10pt)的值mdframed,也没有考虑框架线的粗细。此代码虽然不太完美,但更好:

\documentclass[oneside,11pt]{book}
\usepackage{showframe}
\renewcommand{\ShowFrameLinethickness}{0.4pt}
\usepackage[semibold,tt=false]{libertine}
\usepackage{mdframed}
\global\mdfdefinestyle{mymdframe}{%
  linewidth=1pt%
}
\usepackage{enumitem}
\usepackage{lipsum}

\begin{document}

\begin{mdframed}[style=mymdframe]
\begin{enumerate}[label=(\alph*),labelindent=\dimexpr\parindent-11pt, align=left, leftmargin=*]
  \item \textbf{fruits:}
    \begin{itemize}
      \item apple 
      \item orange 
    \end{itemize}
  \item \textbf{vegetables:} 
    \begin{itemize}
      \item cucumber 
      \item eggplant 
    \end{itemize}
\end{enumerate}
\end{mdframed}

\lipsum[1-2]

\end{document} 

在此处输入图片描述

相关内容