首先,我的例子:
\documentclass[]{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{enumitem}
\newcommand\codeitem[1]{
\item[{
\framebox[\textwidth][l]{
\tt
{#1}
}
}]
}
\begin{document}
\blindtext
\begin{description}
\codeitem{+ here() : void}
Followed by some paragraphs of text. Do you see the text is too near to the box?
\codeitem{\# there() : void}
I somehow have to add vertical space here.
\end{description}
\blindtext
\end{document}
呈现如下:
我觉得思路很清晰,可惜描述标签后面的垂直空间太小了,如何设置项目标签和文本之间的垂直空间?我试过设置,但这和在描述中使用或\vspace{11mm}
效果一样,只会增加列表项或列表与前面段落之间的距离。topsep=11mm
partopsep=11mm
答案1
添加一些垂直空间:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{enumitem}
\newcommand\codeitem[1]{%
\item[{%
\framebox[\textwidth][l]{%
\normalfont\ttfamily
#1%
}\vspace{3pt}%
}]
}
\begin{document}
\blindtext
\begin{description}[style=nextline]
\codeitem{+ here() : void}
Followed by some paragraphs of text. Do you see the text is too near to the box?
\codeitem{\# there() : void}
I somehow have to add vertical space here.
\end{description}
\blindtext
\end{document}
请注意style=nextline
避免框过满的选项以及%
保护行尾并避免它们在输出中产生空格的选项。该命令\tt
已过时且不推荐使用:使用\ttfamily
。该\normalfont
命令是为了避免请求粗体打字机类型。
改进可能如下:
\newcommand\codeitem[1]{%
\item[{%
\framebox[\textwidth][l]{%
\ttfamily\ttstrut
#1%
}\vspace{3pt}%
}]
}
\newcommand{\ttstrut}{%
\vrule width0pt
height1.5ex
depth.5ex
}
这样,我们就会得到(放大以更好地显示效果,还添加了带有降部的字母)
所有框的总高度都相同;框的顶部和底部x
分别与顶部和底部规则的距离相同。上升部和下降部将占据其他空白区域。