答案1
下面添加了 5pt 的额外垂直空间:
\documentclass[]{article}
\overfullrule5pt
\usepackage{xcolor}
\definecolor{mygrey}{gray}{.85}
\newsavebox\resheadingbox
\newcommand{\resheading}[1]
{%
\sbox\resheadingbox
{%
\colorbox{mygrey}
{%
\begin{minipage}{\dimexpr\linewidth-2\fboxsep\relax}
\small
\bfseries
\strut#1\strut
\end{minipage}%
}%
}%
\dp\resheadingbox\dimexpr\dp\resheadingbox+5pt\relax
\usebox\resheadingbox
}
\begin{document}
\noindent\resheading{something}
something else
\end{document}
怎么运行的:
- 我们将命令的结果
\colorbox
放入一个框中,它不是直接打印出来的(\sbox\resheadingbox{...}
)。 - 我们将这个框放大 5pt 到底部(
\dp\resheadingbox=\dimexpr\dp\resheadingbox+5pt\relax
,我省略了可选的=
),为此 TeX 填充了空白。 - 我们输出盒子寄存器的内容(
\usebox\resheadingbox
)
我还更改了 的宽度minipage
,以使\colorbox
尽可能宽而不会粘到边距(a在两边\colorbox
添加作为一个填充,我们使用整行减去 的宽度)。此外,我使用而不是您的构造作为 内部的垂直填充,a具有零宽度和高度和深度,使其与您的字体大小一样大。\fboxsep
2\fboxsep
\strut
\colorbox
\vphantom{...}
\strut
答案2
我根据包shaded*
中的环境提出了这个简单的代码framed
:
\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[showframe]{geometry}
\usepackage[svgnames]{xcolor}
\usepackage{framed}
\colorlet{shadecolor}{Gainsboro!50! Lavender}
\newcommand{\resheading}[1]
{%
\setlength{\OuterFrameSep}{1pt}
\setlength{\FrameSep}{5pt}
\begin{shaded*}
\noindent\small\bfseries\hspace*{-2pt}#1
\end{shaded*}\noindent }%
\begin{document}
Blah blah blah… blah blah blah…
\resheading{INDUSTRIAL TRAINING AND MINOR PROJECTS}%
Some text. Some more text.
\end{document}