![文本周围的虚线框](https://linux22.com/image/313880/%E6%96%87%E6%9C%AC%E5%91%A8%E5%9B%B4%E7%9A%84%E8%99%9A%E7%BA%BF%E6%A1%86.png)
我需要做一个虚线框架,像这样:
可以做到吗?
答案1
您可以使用TikZ
:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[draw,dotted] {My text};
\end{tikzpicture}
\end{document}
放大示例图片后,您可能会发现,您可能希望使用“虚线”而不是“点线”框架。在这种情况下,只需将其替换dotted
为dashed
:
答案2
已编辑以改进框角。我使用点\cleaders
来制作点。可选参数\dotbox
控制框边框的点间距。
我添加了第 3 个示例,以防 OP 图像中的灰色框实际上是所需框的一部分,而不仅仅是来自照片编辑器的剪辑字段。
\documentclass{article}
\usepackage{verbatimbox,stackengine,graphicx,lipsum,xcolor}
\newlength\replength
\newsavebox\dtbx
\newcommand\tdotfill{\cleaders\hbox to \replength{\smash{.}}\hfill}
\def\wdbox{\kern-1pt\makebox[\dimexpr\wd\dtbx+1pt]{\tdotfill\hfil}\kern1pt}
\def\htboxraw{\makebox[\dimexpr\ht\dtbx+\dp\dtbx+3pt]{\tdotfill\hfil}}
\def\htbox{\raisebox{\dimexpr-\dp\dtbx-2pt}{\rotatebox{90}{\htboxraw}}}
\newcommand\dotbox[2][3pt]{%
\setlength\replength{#1}%
\savebox\dtbx{#2\kern1pt}%
\stackunder[-.6pt]{\stackon[-1.2pt]{\htbox\usebox{\dtbx}\htbox}{\wdbox}}{\wdbox}%
}
\begin{document}
\begin{verbbox}[\strut]
print *, 'Hello World'
stop
end
\end{verbbox}
\dotbox{\theverbbox}
\dotbox[2pt]{\parbox{3in}{\lipsum[1]}}
{\fboxsep=1pt\fboxrule=10pt
\textcolor{black!10}{\fbox{\color{black}\dotbox{\theverbbox}}}}
\end{document}