将 `tcolorbox` 移到 `enumerate` 内

将 `tcolorbox` 移到 `enumerate` 内

梅威瑟:

\documentclass[12pt] {article}
\usepackage{amsmath}
\usepackage{titlesec}
\usepackage[shortlabels]{enumitem}
\usepackage[breakable]{tcolorbox}
\usepackage{tocloft}
\def\baselinestretch{2.0}
\setlength{\textwidth}{18cm} \setlength{\textheight}{21cm}
\setlength{\evensidemargin}{-0.15cm}
\newcommand{\toright}[1]{%
    \leavevmode\unskip\nobreak\hfill\penalty13 
    \null\nobreak\hskip1em plus1fill\hbox{#1}%
}
\graphicspath{ {images/} }
\setlength{\oddsidemargin}{-0.15cm}
\begin{document}
    Text
    \begin{enumerate}[(a)]
        \item text
        \begin{flushleft}
            \begin{tcolorbox}[breakable,colback=white,sharp corners, left=5pt]
                text.
            \end{tcolorbox}
        \end{flushleft}
        \item text
    \end{enumerate}
\end{document}

我想将框移到左侧并将其与枚举列表对齐。我该怎么做?

在此处输入图片描述

答案1

在我看来,您想enumerate通过框来中断环境,因此您可以停止枚举,排版框,然后恢复枚举。

在此处输入图片描述

\documentclass{article}
\usepackage[shortlabels]{enumitem}
\usepackage{tcolorbox}
\begin{document}
Text
\begin{enumerate}[(a)]
\item text
\end{enumerate}
\begin{tcolorbox}
  text.
\end{tcolorbox}
\begin{enumerate}[(a),resume]
\item text
\end{enumerate}
\end{document}

答案2

您可以使用grow to left by=\the\leftmargin(tcolorbox 文档中的第 4.15.3 节切换放大。)

代码

\documentclass{article}
\usepackage[shortlabels]{enumitem}
\usepackage{tcolorbox}
\begin{document}
With \verb|itemindent=*,align=left|
\begin{enumerate}[(a),itemindent=*,align=left]
\DrawEnumitemLabel%<-- doc enumitem p.6
\item leftmargin : \the\leftmargin
\begin{tcolorbox}[grow to left by=\the\leftmargin]
text.
\end{tcolorbox}
\item text
\end{enumerate}
\rule{\linewidth}{0.4pt}
\begin{enumerate}[(a)]
    \DrawEnumitemLabel%<-- doc enumitem p.6
    \item leftmargin : \the\leftmargin
    \begin{tcolorbox}[grow to left by=\the\leftmargin]
    text.
    \end{tcolorbox}
    \item text
    \end{enumerate}
\end{document}

在此处输入图片描述

相关内容