※ 引述《CJYan (azxyan)》之铭言:
: 新手上路~对于用winedt打出框框有使用过\fbox
: 现在我要打出虚线框
: 我有尝试过用\dbox,\dashbox可是都不行
: 想请问有没有方法在WINEDT打出虚框
好吧﹐我承认这个很有点意思。不习惯去看别人套件里的代码﹐自己琢磨了一个方法
解决断行的问题。测试代码如下﹕
\documentclass{article}
\usepackage{tikz}
\usepackage{calc}
\usepackage{etoolbox}
\usepackage{blindtext}
\newsavebox{\DBOX}%
\newlength{\DBW}%
\newlength{\DBH}%
\newlength{\DBD}%
\newlength{\dbw}%
\newlength{\dbth}%
\newlength{\dbsep}%
\setlength{\dbsep}{1mm}%
\newlength{\dblwidth}%
\setlength{\dblwidth}{\linewidth}%
\newcommand{\dashedbox}[1]{
\providecommand{\DashedBoxContents}{\relax}%
\renewcommand{\DashedBoxContents}{#1}%
\sbox{\DBOX}{\DashedBoxContents}%
\settowidth{\DBW}{\usebox{\DBOX}}%
\setlength{\DBW}{\ifdimcomp{\dblwidth}{>}{\DBW}{\DBW}{\dblwidth}}%
\sbox{\DBOX}{\parbox{\DBW}{\DashedBoxContents}}%
\settoheight{\DBH}{\usebox{\DBOX}}%
\settodepth{\DBD}{\usebox{\DBOX}}%
\setlength{\dbw}{\dbsep+\DBW}%
\setlength{\dbth}{\dbsep+\DBH+\DBD}%
\tikz \draw[dashed] (0,0) rectangle (\dbw,\dbth) node at (0.5\dbw,0.5\dbth) {\usebox{\DBOX}};}
\begin{document}
\noindent\dashedbox{test test}
\noindent\dashedbox{\blindtext}
\end{document}
接下来需要解决分页的问题﹐稍微有点麻烦。可能需要参考一下 tcolorbox 套件的最新
版本的相关实现﹐才能解决分页了。
不过现在这个版本的 \dashedbox 已经比较令人满意﹐可以投入使用了。
M