我想在文本中穿插一些带阴影的作业,让读者尝试完成。我还想用数字枚举这些作业,以便跟踪它们。我当前的代码如下,但我不喜欢作为枚举包的一部分出现的缩进。我知道我可以使用 enumitem 和 \setlist[enumerate]{leftmargin=*} 来减少它,但我也不太喜欢那样。它不会完全删除枚举。
我真的很想找到一种方法来对文本中穿插的一系列作业进行编号,而不会打断周围文本的布局。
有什么想法吗?
\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{framed}
\usepackage[dvipsnames]{xcolor}
\definecolor{shadecolor}{gray}{0.75}
\begin{document}
\Blindtext
\begin{enumerate}
\begin{shaded}
\item This is an assigment.
\end{shaded}
\Blindtext
\begin{shaded}
\item This is a second assignment.
\end{shaded}
\Blindtext
\begin{shaded}
\item This is a third assignment
\end{shaded}
\end{enumerate}
\Blindtext
\end{document}
答案1
这是一个解决方案:我assignment
根据snugshade*
来自的环境定义一个环境framed
。
\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{framed}
\usepackage[dvipsnames]{xcolor}
\colorlet{shadecolor}{lightgray!35!}
\newcounter{assignment}
\newenvironment{assignment}{%
\refstepcounter{assignment}\setlength\OuterFrameSep{2pt plus 1pt}\setlength\fboxsep{5pt}\begin{snugshade*}\hspace*{-\dimexpr\labelsep+\fboxsep\relax}\textbf{\theassignment.}}%
{\end{snugshade*}}
\begin{document}
\Blindtext[2][1]
\begin{assignment}
This is an assigment. \label{ass-a}
\end{assignment}
\begin{assignment}
This is an assignment. This is an assignment. This is an assignment. This is an assignment.
\end{assignment}
\Blindtext[1][1]
\begin{assignment}
This is another assignment, different from assignment \ref{ass-a}.
\end{assignment}
\Blindtext
\end{document}