mdframed 的侧边栏未覆盖页面末尾的表格

mdframed 的侧边栏未覆盖页面末尾的表格

当两个页面之间有一个框架(带有侧边栏)并且表格位于页面末尾时,有时会发生此问题:侧边栏(带有背景)没有覆盖整个表格,就像在这种情况下:

在此处输入图片描述

这是我可以重现该问题的最小示例:

\documentclass[12pt,table]{extbook}
\usepackage{framed}
\usepackage{booktabs}
\usepackage{xcolor}
\textheight=20.8cm
\vsize=24.5cm
\oddsidemargin= 0.5cm
\evensidemargin=0.5cm

\newenvironment{myleftbar}[1][\hsize]
{
    \def\FrameCommand
    {
        {\color{orange}\vrule width 5pt}
        \hspace{-5pt}
        \fboxsep=\FrameSep\colorbox{yellow}
    }
    \MakeFramed{\hsize#1\advance\hsize-\width\FrameRestore}
}
{\endMakeFramed}

\newtheorem{EsAsTheorem}{Example}[chapter]

\newenvironment{Esempio}
{\noindent\vspace{-2.7mm} \begin{EsAsTheorem} \begin{myleftbar}}
    {\end{myleftbar} \end{EsAsTheorem}} 

\begin{document}
\chapter[Title]{Title}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. , sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum., sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit. 

\begin{Esempio}
  Lorem ipsum dolor sit amet, consectetur adipiscing elit

  \textsf{
    \begin{center}
      \begin{tabular}[t]{c c c}
        \multicolumn{3}{l}{\bfseries R}  \\ 
        \toprule
        \bfseries P & \bfseries T & \bfseries C  \\
        \bottomrule
        p1  & t1 & c1  \\
        p1 & t2 & c2\\
        p1 & t3 & c2\\
        \bottomrule
      \end{tabular}
    \end{center}
  }

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
\end{Esempio} 

\end{document}

问题只出在表格上,而不是文本或代码上。我的印象是问题出在表格上,表格相对于页面来说太长了,但我不知道这个假设是否正确以及如何避免这种情况。

您对如何解决这个问题有什么想法吗?

提前致谢。

答案1

我会使用tcolorbox,它更简单、更灵活。

\documentclass[12pt,table]{extbook}
\usepackage{booktabs}

\usepackage[most]{tcolorbox}
\newtheorem{Esempio}{Example}[chapter]
\tcolorboxenvironment{Esempio}{
    enhanced,
    colframe=yellow,
    colback=yellow,
    breakable,
    left skip=11pt,
    borderline west={5pt}{-9pt}{orange}
    }

\begin{document}
\chapter[Title]{Title}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. , sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum., sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit. 

\begin{Esempio}
  Lorem ipsum dolor sit amet, consectetur adipiscing elit

  \textsf{
    \begin{center}
      \begin{tabular}[t]{c c c}
        \multicolumn{3}{l}{\bfseries R}  \\ 
        \toprule
        \bfseries P & \bfseries T & \bfseries C  \\
        \bottomrule
        p1  & t1 & c1  \\
        p1 & t2 & c2\\
        p1 & t3 & c2\\
        \bottomrule
      \end{tabular}
    \end{center}
  }

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
\end{Esempio} 

\end{document}

在此处输入图片描述

相关内容