练习解决方案的网格环境

练习解决方案的网格环境

按照tcolorbox 手册,第 148 页,我制作了以下 MWE:

\documentclass[11pt]{book}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}
\usepackage[no-math]{fontspec}
% Define box for questions
\newtcbtheorem{exemplo}{\, Exemplo}%
{ % frame stuff
    breakable,
    arc=40mm,
    size=normal,
    enhanced,
    colframe=blue,
    colback=white,colbacklower=white,
    borderline={0pt}{0pt}{blue!10},
    % margens da frame
    top=0.3cm,left=0.2cm,bottom=0.2cm,right=0.2cm,
    lefttitle=0.2cm, toptitle=0.1cm,bottomtitle=0.05cm,
    coltitle=blue,
    fonttitle=\bfseries,
    colbacktitle=blue!10,
}{ex}

\newfontfamily\cooljazz[NFSSFamily=cooljazz,BoldFont={Boogaloo Regular},Scale=0.85,Ligatures=TeX]{cooljazz}
\usepackage[subdued, defaultmathsizes]{mathastext}
\MTfamily{cooljazz}
\Mathastext[cooljazz]
% Environment for solving the questions
\newenvironment{resol}
{   \MTversion{cooljazz}\MTdonotfixfonts
    \setmainfont{cooljazz}[Scale = .8, Extension = .ttf ]
}{\par} 
% define grid backround
\newtcolorbox{notebook}{
    enhanced,
    breakable,
    sharp corners,
    colback=white,
    colframe=white,
    boxrule=0mm,top=0mm,bottom=0mm,left=0mm,right=0mm,
    %left=1.3in,
    underlay={%
    breakable,
        \begin{tcbclipinterior}
            \draw[help lines,step=5mm,blue!25,shift={(interior.north west)}]
            (interior.south west) grid (interior.north east);
    \end{tcbclipinterior}}
}
\begin{document}
    Minimum Working Example
\begin{exemplo}{Exemplo}{}
\lipsum[1-1]
\linebreak
\begin{notebook}

\begin{resol}   
    \lipsum[2-5]
\end{resol} 
\end{notebook}
\end{exemplo}
\end{document} 

结果是:

在此处输入图片描述

我无法将页面顶部的框与书籍类对齐。我可以与文章类对齐,但无论哪种方式,网格框都不会跨页面...此外,网格的最后一条右侧垂直线不会显示,最后一条水平底线也不会显示...我想知道是否有人对如何解决这个问题有建议....

问题似乎是tcolorbox不允许一个盒子里面的另一个盒子破裂......

提前致谢。

添加:

我能够得到这种效果:

在此处输入图片描述

不完美,但目前可以做到。解决方案是添加

    \begin{tcbclipinterior}
        \draw[help lines, step=5mm, gray25!20, shift={(interior.north west)}]
        (interior.south west) grid (interior.north east);
    \end{tcbclipinterior}}

exemplo框中,然后为标题定义一个空白框:

\newtcolorbox{note}{
    enhanced,
    breakable,
    sharp corners,
    colback=white,
    colframe=white,
    boxrule=-2.25mm,top=2mm,bottom=1mm,left=2mm,right=2mm}

它仍然不完美,因为网格的顶部在框标题之后部分显示......

答案1

我理解 OP 想要一个breakable带有网格背景的框作为框的下部。这可以通过overlay仅应用于下部框来实现。类似:

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}

\newtcolorbox{exemplo}[2][]{%
    enhanced, breakable, segmentation hidden, colback=white,
    colframe=blue,
   overlay={\begin{tcbclipinterior}
        \draw[help lines, step=5mm, blue!50]
        (interior.south west) grid (segmentation.south east);
    \end{tcbclipinterior}},
    title=#2,#1}

\begin{document}

\begin{exemplo}{First}
\lipsum[1]
\tcblower
\lipsum[1-5]
\end{exemplo}

\end{document}

在此处输入图片描述

原始代码的问题在于使用了两个嵌套框。tcolorbox不能打破它们。第 148 页中的代码使用了两个框,一个用于练习,一个用于解决方案,但它们不是嵌套的,而是保持独立的。

相关内容