文本周围的深括号

文本周围的深括号

我想要实现的是让文本主体获得以下效果:

具有所需效果的图像

我看过很多使用各种括号的例子,但没有一个像上面的那样。到目前为止,我只设法使用 mdframed 获得了一个简单的框架,但这离我希望得到的还差得很远。

\documentclass{memoir}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}
\usepackage{fullpage}

\begin{document}
\begin{mdframed}
\lipsum[1]
\end{mdframed}
\end{document}

你有什么想法?

答案1

您至少有两个选项允许在框架文本内进行分页。您可以使用tcolorbox包裹:

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{most}
\usepackage{lipsum}

\newtcolorbox{mybox}{
freelance,
breakable,
frame code={
  \draw 
    ([xshift=2cm]frame.north west) --
    (frame.north west) --
    (frame.south west) --
    ([xshift=2cm]frame.south west);
  \draw 
    ([xshift=-2cm]frame.north east) --
    (frame.north east) --
    (frame.south east) --
    ([xshift=-2cm]frame.south east);
  },
colback=white
}

\begin{document}

\lipsum[4]
\begin{mybox}
\lipsum[4]
\end{mybox}
\lipsum[4]

\end{document}

在此处输入图片描述

或者你可以使用mdframed包裹:

\documentclass{article}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}

\newmdenv[
  hidealllines=true,
  singleextra={
  \draw 
    ([xshift=2cm]O) --
    (O) --
    (O|-P) --
    ([xshift=2cm]O|-P);
  \draw 
    ([xshift=-2cm]P) --
    (P) --
    (P|-O) --
    ([xshift=-2cm]P|-O);
  },
  firstextra={
  \draw 
    (O) --
    (O|-P) --
    ([xshift=2cm]O|-P);
  \draw 
    ([xshift=-2cm]P) --
    (P) --
    (P|-O);
  },
  middleextra={
  \draw 
    (O) --
    (O|-P);
  \draw 
    (P) --
    (P|-O);
  },
  secondextra={
  \draw 
    ([xshift=2cm]O) --
    (O) --
    (O|-P);
  \draw 
    (P) --
    (P|-O) --
    ([xshift=-2cm]P|-O);
  },
]{mybox}

\begin{document}

\lipsum[4]
\begin{mybox}
\lipsum[4]
\end{mybox}
\lipsum[4]

\end{document}

在此处输入图片描述

答案2

这里我创建了\specbox一个宏,而不是环境,这意味着括号内的文本不能跨页。使用\fboxsep\fboxrule来定义括号偏移和厚度,以及\bracketarm定义括号臂的长度。

我使用\xcolorstackengine包来基本上在\framebox编辑文本的上方和下方堆叠白色居中规则。

\documentclass{article}
\usepackage[usestackEOL]{stackengine}
\usepackage{xcolor}
\usepackage{lipsum}
\newlength\bracketarm
\newlength\fbrp
\fboxsep 2ex
\fboxrule 2pt
\bracketarm 1in
\setlength{\fbrp}{\fboxrule+1pt}
\newcommand\specbox[1]{%
  {\centering\noindent\setstackgap{S}{-\fbrp+0.5pt}%
  \stackon{%
    \stackunder{\framebox{\parbox{\textwidth-2\fboxsep-2\fboxrule}{#1}}}%
      {\color{white}\rule{\textwidth-2\bracketarm}{\fbrp}}%
  }{%
    \color{white}\rule{\textwidth-2\bracketarm}{\fbrp}%
}}}%
\parskip 1ex
\begin{document}
\lipsum[1]

\specbox{\lipsum[2]}

\lipsum[3]
\end{document}

在此处输入图片描述

相关内容