有没有什么方法可以在某些文本周围制作灵活的括号?
所以我尝试使用fancyvrb
并得到了如下结果:
\documentclass{article}
\usepackage{fancyvrb}
\usepackage{color}
\definecolor{darkblue}{rgb}{0.1,0.3,0.5}
\DefineVerbatimEnvironment%
{MyVerbatim}{Verbatim}
{gobble=0,label=\hspace{.85\textwidth},labelposition=all,
frame=single,framerule=3pt,framesep=5mm,rulecolor=\color{darkblue}}
\begin{document}
\begin{minipage}{6cm}
\begin{MyVerbatim}
some text some text some
some text some text some
some text some text some
\end{MyVerbatim}
\end{minipage}
\hfill
\end{document}
然而,我对此感到不满,因为被滥用了fancvrb
。
我希望能够定义规则的粗细、角或空间的大小。一个不错的选择是类似于 的包dashedbox
。
任何提示都将不胜感激。
答案1
根据用户的评论,我编辑了答案以方便使用:
此解决方案仅使用 ,\fbox
其分隔和规则粗细用 和 来设置\fboxsep
。\fboxrule
然后它使用堆栈将逐字框内容放入白色框中,垂直方向增强以覆盖部分边框,\fbox
从而呈现括号的外观。
为了简化操作,我创建了\bracetext
带有四个参数的宏。第一个参数是要包含的内容。它可以是动词框、纯文本、parbox 等等。第二个参数是括号的规则厚度 ( \fboxrule
)。第三个参数是对象周围的间隙 ( \fboxsep
)。最后一个参数是括号叉的水平宽度。
\documentclass{article}
\usepackage{verbatimbox}
\usepackage{stackengine}
\renewcommand\stacktype{L}
\usepackage{xcolor}
\newcommand\bracetext[4]{%
\fboxrule=#2
\fboxsep=#3
\def\hsep{#4}
\stackon[-\fboxrule-.1pt]{%
\textcolor{blue}{\fbox{\hspace{\hsep}#1\hspace{\hsep}}}%
}{\colorbox{white}{\addvbuffer[\the\fboxrule+.1pt]{#1}}}
}
\parskip 1em
\begin{document}
\begin{verbbox}
This is
a \verbatim
test
\end{verbbox}
\bracetext{\theverbbox}{1pt}{3pt}{5pt}
\bracetext{This is a test}{2pt}{4pt}{5pt}
\bracetext{\parbox{1in}{This is text in a 1 inch parbox}}{4pt}{5pt}{3pt}
\end{document}