\mathparpagebreakable 每页都有边框和/或标题吗?

\mathparpagebreakable 每页都有边框和/或标题吗?

我正在使用 Ott 工具和奥特-阿尔特用于自动生成和排版大量推理规则的软件包。有些规则集太大,无法放在一页纸上。

ott-alt 包将它们放在一个mathparpagebreakable环境中,这非常适合允许它们分布在多个页面上,以及在适当的位置自动添加换行符。

但是,没有标题。我可以给开头添加一个标题,但是查看第二页规则的人不知道他们正在查看哪些规则。

我想知道,是否存在某种环境可以将其包装在其中,以执行以下全部或部分操作:

  • 将 mathpar 包装在出现的每页上的框/边框中
  • 在每个页面的底部添加标题,或者在每个页面的顶部添加标题,最好将后面的页面标记为“继续”
  • 将它们视为浮点数/数字,这样它们就可以很好地放置在文本中,而不会扰乱流程,并且可以给出漂亮的标签和数字。

关键是它必须是自动化的:规则是机器生成的,所以我自己进入并插入分页符或拆分图形是不可行的。

我愿意涉足“黑客”领域:我可以控制生成的 TeX 代码的格式(在一定程度上),所以如果我需要在每个规则中注入一些东西来实现这一点,这可能是一个选择。

编辑:最小工作示例:

\documentclass{article}
\usepackage{mathpartir}
\usepackage{semantic}
\usepackage{lipsum}

\newcommand{\myrule}{\inference{Premise\\Premise\\Premise\\Premise\\Premise\\Premise}{Conclusion}}
\newcommand{\myrulelong}{\inference{Premise\\Premise\\Premise\\Premise\\Premise\\Premise}{Conclusion!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}}


\begin{document}

\lipsum

\begin{mathparpagebreakable}
\textbf{My rule}\\

\myrule \and
\myrule \and
\myrule \and 
\myrule \and 
\myrulelong \and 
\myrulelong \and 
\myrulelong \and 
\myrulelong \and 
\myrulelong \and 
\myrulelong \and 
\end{mathparpagebreakable}

\lipsum

\end{document}

答案1

我认为tcolorbox可以解决所有三个要求:

\documentclass{article}
\usepackage{mathpartir}
\usepackage{semantic}
\usepackage{duckuments}
\usepackage[]{tcolorbox}
\tcbuselibrary{breakable}

\newcommand{\myrule}{\inference{Premise\\Premise\\Premise\\Premise\\Premise\\Premise}{Conclusion}}
\newcommand{\myrulelong}{\inference{Premise\\Premise\\Premise\\Premise\\Premise\\Premise}{Conclusion!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}}

\newenvironment{mathparpagebreakableboxed}[2][]
  {%
    \begin{tcolorbox}[
        ,title={#2}
        ,breakable
        ,title after break={#2 (\textit{cont.})}
        ,#1
      ]%
      \begin{mathparpagebreakable}%
  }
  {%
      \end{mathparpagebreakable}%
    \end{tcolorbox}%
  }

\begin{document}

\blindduck[-]

\begin{mathparpagebreakableboxed}[% additional maybe interesting options
    ,vfill before first%
    %,float % if it should float
  ]{My rule}
\myrule \and
\myrule \and
\myrule \and 
\myrule \and 
\myrulelong \and 
\myrulelong \and 
\myrulelong \and 
\myrulelong \and 
\myrulelong \and 
\myrulelong \and 
\end{mathparpagebreakableboxed}

\blindduck[-]

\end{document}

您可以根据自己的喜好更改一些默认选项mathparpagebreakableboxed

在此处输入图片描述 在此处输入图片描述

相关内容