mdframed 在奇怪的地方破坏页面

mdframed 在奇怪的地方破坏页面

我定义了一个新环境,将框架标题放在框架的中间

\newenvironment{coloredframe}[2]{
    \mdfsetup{
        hidealllines=true,
        leftline=true,topline=true,
        frametitleaboveskip=-5pt,
        linewidth=1.5pt,
        frametitle={\colorbox{white}{\space#1\space}},
        linecolor=#2
    }
    \begin{mdframed}
}{
    \end{mdframed}
}

问题是它看起来不错,但有时它会在奇怪的地方分页,如果我删除该选项,frametitleaboveskip=-5pt它会在预期的地方分页。

我该怎么做才能保持框架标题的位置但避免奇怪的分页符?

一个奇怪的分页示例:

奇怪的分页


如果没有frametitleaboveskip,页面分隔符很好,但框架标题的位置很糟糕Diseño,那么它看起来是什么样的:

在此处输入图片描述


编辑: 数学

\documentclass[letterpaper, 12pt, oneside, spanish]{tesis}

\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage{mdframed}
\usepackage{blindtext}

\newenvironment{coloredframe}[3][]{
    \mdfsetup{
        hidealllines=true,
        leftline=true,topline=true,
        frametitleaboveskip=-5pt,
        frametitle={\colorbox{white}{\space#2\space}},
        linecolor=#3,
        #1
    }
    \begin{mdframed}
}{
    \end{mdframed}
}

\newenvironment{investigationfr}[1][]
    {\begin{coloredframe}[#1]{Investigación}{blue}}
    {\end{coloredframe}}

\begin{document}


\section{Section}

\begin{investigationfr}
\blindtext\\
\blindtext\\
\blindtext\\
\blindtext\\
\end{investigationfr}

\end{document}

答案1

我按照建议使用彩色盒子并提出了这个解决方案,它完美地运行:

\tcbuselibrary{skins}
\tcbuselibrary{breakable}

\newtcolorbox{coloredframe}[3][]{
    empty,
    breakable=true,
    sharp corners=all,
    top=4mm, left=4mm,
    borderline west={1.5pt}{0pt}{#3}, borderline north={1.5pt}{0pt}{#3},
    attach boxed title to top left={yshift=-1.75ex,xshift=6ex},
    coltitle=black,
    colback=white, colbacktitle=white,
    fonttitle=\bfseries,
    boxed title style={boxrule=0pt,colframe=white},
    title=#2,
    #1
}

用法如下:

\begin{coloredframe}{Investigation}{blue}
% paragraph
\end{coloredframe}

相关内容