使用一条横跨多页的波浪线标记(突出显示)一个段落(\item{…})

使用一条横跨多页的波浪线标记(突出显示)一个段落(\item{…})

我正在学习 Gonzalo Medina 的优秀代码用波浪线标记(突出显示)某个段落(\item{...}),以便稍后注意。我喜欢它!它对我很有用。但是,我注意到出现了两个问题,我不知道如何解决它们。

第一个问题:当 \Startsquiggly 和 \Endsquiggly 之间的文本生成两个分页符(因此有 3 页)时,页边空白处的线条不会覆盖第 2 页(刚好在第一个分页符之后),而是在第 3 页(第二个分页符之后)继续,并沿着剩余的文本到 \Endsquiggly。您的代码中是否有命令可以让描边也应用于第 2 页?示例:

\begin{document}
\Startsquiggly \lipsum[1]\Endsquiggly

\Startsquiggly\lipsum[1-11]\Endsquiggly
\end{document}

该命令的操作在第 2 页上无效。

第二个问题:如果我只输入:

\begin{document}
\Startsquiggly\lipsum[1-11]\Endsquiggly
\end{document}

然后编辑器给了我以下错误信息: ! Package pgf Error: No shape named `b' is known.

我认为,您代码中的 tikzmark{b} 似乎丢失了...但是,第二个问题在第一个示例中没有出现。您能想到解决这些问题的方法吗?

注意:

答案1

这是用 制作的替代解决方案 tcolorbox。为标记框定义了一个新环境。这些行保留到损坏的框和所需的尽可能多的页面。

\documentclass{article}
\usepackage{lipsum}
\usepackage[most]{tcolorbox}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}

\newtcolorbox{mybox}[1][]{%
    enhanced, blank, breakable,
    overlay={\draw[decoration={coil,aspect=0},decorate,ultra thick,gray] ([xshift=5mm]frame.north east)--([xshift=5mm]frame.south east);}
}

\begin{document}

\lipsum[1]

\begin{mybox}\lipsum[1]\end{mybox}

\lipsum[1]

\begin{mybox}\lipsum[1-12]\end{mybox}

\end{document}

在此处输入图片描述

相关内容