mdframed 羊皮纸布局

mdframed 羊皮纸布局

我最近发现了一个关于如何创建具有羊皮纸风格布局的文本框的非常好的例子:

http://www.texample.net/tikz/examples/framed-tikz/

此外,在 tex.stackexchange 上,有许多使用该framed包来生成这种布局的示例。

但是,在我的文档中,我已经使用该mdframed包排版了不同类型的框架/框。是否mdframed也可以使用该包生成这样的布局?如果可以 - 怎么做?

编辑

我按照以下建议沃纳,我进行了一些尝试并取得了以下成果:

\makeatletter
\usetikzlibrary{decorations.pathmorphing, patterns}
\renewrobustcmd*\mdf@tikzbox@tfl[1]{%three or four borders
    \path(0,0)rectangle(\mdfboundingboxwidth,\mdfboundingboxheight);% replace \clip by \path
    \begin{scope}[mdfcorners]%
       \clip[preaction=mdfouterline]%
            [postaction=mdfbackground]%
            [postaction=mdfinnerline]#1;%
    \end{scope}%
    \path[mdfmiddleline,mdfcorners]#1;
  }%
\newenvironment{parchment}[1][]{%
  \mdfsetup{%
    frametitlebackgroundcolor=none,
    innermargin=5pt,
    frametitleaboveskip=-\ht\strutbox,
    frametitlebelowskip=-\ht\strutbox,
    innertopmargin=10pt,
    innerbottommargin=10pt,
    tikzsetting={
      line width=2pt,orange!30!black!10, decorate, 
      decoration={random steps, segment length=2.5cm, amplitude=1.5mm}
    },
    everyline=false
  }
  \ifstrempty{#1}{%
    \mdfsetup{%
      frametitle={\fcolorbox{black}{white}{Handout}},
    }%
  }{%
    \mdfsetup{%
      frametitle={\fcolorbox{black}{white}{Handout: #1}},
    }%
  }%
  \begin{mdframed}[]
    \relax%
}{\end{mdframed}}
\makeatother

但是,当我使用everyline=true而不是 时everyline=false,文档中的分页符会发生变化。有人能解释一下吗?

编辑2

我终于有时间重新审视这个问题。请看一下这个 MWE:

\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{tikz}
\usepackage{etextools}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}
\geometry{verbose,tmargin=2.5cm,bmargin=2.5cm,lmargin=2cm,rmargin=3cm,marginparwidth=2.5cm,headheight=15pt}
\usepackage{emerald}

\let\fancyfont\ECFAugie

\makeatletter
\usetikzlibrary{decorations.pathmorphing, patterns}
\renewrobustcmd*\mdf@tikzbox@tfl[1]{%three or four borders
    \path(0,0)rectangle(\mdfboundingboxwidth,\mdfboundingboxheight);% replace \clip by \path
    \begin{scope}[mdfcorners]%
       \clip[preaction=mdfouterline]%
            [postaction=mdfbackground]%
            [postaction=mdfinnerline]#1;%
    \end{scope}%
    \path[mdfmiddleline,mdfcorners]#1;
  }%
\newenvironment{parchment}[1][]{%
  \mdfsetup{%
    frametitlebackgroundcolor=none,
    innermargin=5pt,
    frametitleaboveskip=-\ht\strutbox,
    frametitlebelowskip=-\ht\strutbox,
    innertopmargin=10pt,
    innerbottommargin=10pt,
    tikzsetting={
      line width=2pt,orange!30!black!10, decorate, 
      decoration={random steps, segment length=2.5cm, amplitude=1.5mm}
    },
    everyline=false
  }
  \ifstrempty{#1}{%
    \mdfsetup{%
      frametitle={\fcolorbox{black}{white}{Handout}},
    }%
  }{%
    \mdfsetup{%
      frametitle={\fcolorbox{black}{white}{Handout: #1}},
    }%
  }%
  \begin{mdframed}[]
    \relax%
}{\end{mdframed}}
\makeatother

\begin{document}
\begin{parchment}[Lorem ipsum]
\fancyfont
\lipsum[1-60]
\end{parchment}
\end{document}

以下是我仍然希望解决的问题列表:

  • 框架边框有时会被“切断”。我认为这与 TikZ 的边界框/剪辑有关,但我不知道如何解决它。

截屏

  • 我想给整个事物一个精确裁剪到绘制边框的背景图像。

此外,如果基线可以稍微弯曲和倾斜以看起来更像手写脚本,那就太好了 - 但我想我可以弄清楚如何做到这一点 - 也许是这样的:克苏鲁文档

相关内容