![我如何设置我的 mdframed 框来自动跨越多列中的列分隔符?](https://linux22.com/image/308351/%E6%88%91%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E6%88%91%E7%9A%84%20mdframed%20%E6%A1%86%E6%9D%A5%E8%87%AA%E5%8A%A8%E8%B7%A8%E8%B6%8A%E5%A4%9A%E5%88%97%E4%B8%AD%E7%9A%84%E5%88%97%E5%88%86%E9%9A%94%E7%AC%A6%EF%BC%9F.png)
mdframed
显然,在环境中使用时存在一个已知问题multicol
。对我来说,它似乎工作正常,包括分页符,但列分隔符的行为很奇怪,通常会将整个框架推到第 2 列,而不是像我想要的那样将其拆分。
我一直在尝试解读手册,但对我来说毫无意义。具体来说,在第 10 章“示例”中,第 32 页(示例 2)有一个示例,准确显示了我失败的情况,而第 33 页(示例 3)似乎还有另一个示例可以运行。我搞不清楚有什么区别,也不知道该如何编码才能让它运行。
有人能用英语提供一些见解,说明在多页多列环境中实现框架分割效果的关键是什么吗?
编辑:由于我的内容是自动生成的,因此必须自动确定断点。
答案1
正如 Ulrike 所说,你可以尝试tcolorbox
。手册中采用的一个示例:
\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{multicol}
\usepackage{lipsum}
\begin{document}
\begin{multicols}{2}
\lipsum[2]
\begin{tcolorbox}[enhanced jigsaw,breakable,size=title,
colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
title=My breakable box,pad at break=1mm, break at=12.8cm/0pt ]
\lipsum[2-10]
\end{tcolorbox}
\lipsum[4]
\end{multicols}
\end{document}
有关更多详细信息,请参阅手册第 307 页第 15.5 节。注意/tcb/break at
和/tcb/height fixed for
并设置正确的值。