我正在写一份报告,并使用 shadowbox 来显示一些要点。我使用了下面的代码,它运行良好。但是,当我尝试使用项目符号时,shadowbox 的开头会添加一个额外的空格。我不确定问题是什么?我找到了另一种使用 shadowbox 的方法彩色盒,但我不知道如何改变参数以获得与下面的阴影盒相同的效果。
这是我的代码:
\documentclass{article}
\usepackage{varwidth}
\usepackage{fancybox}
\newcommand\Cshadowbox{\VerbBox\@Cshadowbox}
\def\@Cshadowbox#1{%
\setbox\@fancybox\hbox{\fbox{#1}}%
\leavevmode\vbox{%
\offinterlineskip
\dimen@=\shadowsize
\advance\dimen@ .5\fboxrule
\hbox{\copy\@fancybox\kern.5\fboxrule\lower\shadowsize\hbox{%
\color{ShadowColor}\vrule \@height\ht\@fancybox \@depth\dp\@fancybox \@width\dimen@}}%
\vskip\dimexpr-\dimen@+0.5\fboxrule\relax
\moveright\shadowsize\vbox{%
\color{ShadowColor}\hrule \@width\wd\@fancybox \@height\dimen@}}}
\begin{document}
\shadowbox{
\begin{varwidth}{\textwidth}\textbf{\begin{center} \textit{\begin{itemize}
\item First item of the list .
\item Second item of the list.\\
\end{itemize}}
\bigskip
\end{center}
}
\bigskip
\end{varwidth}
}
\bigskip
\end{document}
有什么建议可以使用当前代码或新建议来解决空间问题吗?
答案1
以下是我的做法:
笔记:
- 通常你应该使用
\centering
而不是center
环境(见参考下面)。但是,在这种情况下,居中是没有意义的,因为您需要使用varwidth
。 - 因为您希望整个环境以斜体和粗体显示,所以我将使用开关
\bfseries
和\itshape
进行字体切换而不是使用宏。 - 小心虚假空格。例如,看看当你使用
\shadowbox{%
而不是 时会发生什么\shadowbox{
。会插入不想要的额外空格。现在,在这个特定情况下,你可能不在乎,但它可能会导致灾难性的后果(见参考4).
参考:
代码:
\documentclass{article}
\usepackage{varwidth}
\usepackage{fancybox}
\begin{document}
\shadowbox{%
\begin{varwidth}{\textwidth}\bfseries\itshape%
\begin{itemize}
\item First item of the list.
\item Second item of the list.
\end{itemize}
\end{varwidth}%
}%
\bigskip\par
\shadowbox{%
\begin{varwidth}{\textwidth}\bfseries\itshape%
\begin{itemize}
\item[]
\item First item of the list.
\item Second item of the list.
\item[]
\end{itemize}
\end{varwidth}%
}%
\end{document}