我想使输出与下面显示的代码相同。但是由于某些原因(例如某些框架延伸到多个页面等),我不想使用ascmac
package 而是mdframed
使用 package。我应该在 mdframed 环境的序言或选项中写什么?
对不起,我的英语不好。
\documentclass{article}
\usepackage{ascmac}
\begin{document}
\begin{itembox}[l]{foo}
bar
\end{itembox}
\end{document}
答案1
这是一种方法,根据您的评论进行了更新。要获得圆形框,您需要将选项传递tikz
给mdframed
。标题被提升,以便它碰到边界框。正如我们所使用tikz
,我将标题放在一个带有白色背景的节点框中tikz
,以覆盖规则。我们使用innertopmargin
相应地向上移动内容,并调整innerbottomargin
。
要将此标题进一步向右移动,一种选择是使用tikz
不可见的额外点使图片稍微宽一些,例如通过
frametitle={\tikz{\path (0,0) (20pt,0) node[anchor=base west,rectangle,fill=white] {\strut #1};}}
这将使标题框的左边缘20pt
进一步向右移动。综合起来,我们得到:
\documentclass{article}
\usepackage[tikz]{mdframed}
\newenvironment{itembox}[1]{\begin{mdframed}[roundcorner=10pt,
frametitlefont=\normalfont,
frametitleaboveskip=\dimexpr-0.7\baselineskip,skipabove=\topskip,
innertopmargin=\dimexpr-0.65\baselineskip,
innerbottommargin=\dimexpr0.65\baselineskip,
frametitle={\tikz{\node[anchor=base,rectangle,fill=white] {\strut #1};}}]
}{\end{mdframed}}
\usepackage{lipsum} %for dummy text
\begin{document}
\begin{itembox}{foo}
bar
\end{itembox}
\begin{itembox}{Longer title}
\lipsum[1-6]
\end{itembox}
\end{document}
查看mdframed
文档或texdoc mdframed
更多参数来调整间距。