将清单装入盒子中

将清单装入盒子中

当我试图把一个列表放在一个框里时

\fbox{
  \parbox{\textwidth}{  
  \begin{enumerate}[label=Step \Roman*]
    \item  item 1\\
    \item  item 2 \\
    \item  item 3 \\
    \item  item 4 \\
    \item  item 5\\
    \item item 6 \\
    \end{enumerate}
  }
}

我得到一个盒子,其中“步骤 n”一半在盒子内,一半在盒子外。 在此处输入图片描述

答案1

使用标准框架,您只需将leftmargin=*选项添加到enumerate列表中:

\documentclass{article}
\usepackage{enumitem}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}

\begin{document}
\noindent\fbox{%
  \parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{
  \begin{enumerate}[label=Step \Roman*, leftmargin=*]
    \item   item 1
    \item   item 2
    \item   item 3
    \item   item 4
    \item   item 5
    \item   item 6
    \end{enumerate}
                    }%
        }
\end{document}

在此处输入图片描述

(红线表示页面布局)

答案2

如果你想在列表环境中放置框架等,那么我建议使用彩色盒子因为这将给你更多的控制权。例如,你可以生产

在此处输入图片描述

使用代码:

\documentclass{article}
\usepackage{enumitem}
\usepackage{tcolorbox}

\newlist{steps}{enumerate}{1}% create new steps environment
\setlist[steps]{%              configure the steps environment
  label=Step \Roman*,
  leftmargin=*,
  align=left
}
\tcbuselibrary{skins}
\tcolorboxenvironment{steps}{% wrap the steps environment in a tcolorbox
  colframe=red!75!black
}

\begin{document}

  \begin{steps}
    \item item 1
    \item item 2
    \item item 3
    \item item 4
    \item item 5
    \item item 6
  \end{steps}

\end{document}

关于代码的一些评论:

  • MWE 示例似乎使用枚举项包,因此,如上所述,我建议使用\newlist来定义自定义steps环境,然后\setlist配置该环境。
  • \tcolorboxenvironment{steps}{...}命令将steps环境包装在一个非常简单的 中tcolorbox,该命令高度可定制。我建议阅读彩色盒子手册,之后您可以根据自己的心意进行配置。

答案3

我建议使用 tcolorboxes。不用猜测所用的包,我给你一个最小的工作示例tcolorbox

\documentclass{article}

\usepackage{tcolorbox}
\begin{document}

\begin{tcolorbox}[colback=white,sharp corners]
  \begin{enumerate}
    \item[Step 1]  item 1
    \item[Step 2]  item 2
    \item[Step 3]  item 3
    \end{enumerate}
\end{tcolorbox}
\end{document}

相关内容