可通过 accsupp 复制的数学代码在分页符处的对齐环境中中断

可通过 accsupp 复制的数学代码在分页符处的对齐环境中中断

我广泛使用 align 作为我的显示数学环境,并且我希望 pdf 中数学方程式的可选文本是用于生成它的 latex 代码。理想情况下,我会重新定义 align 环境以自动执行此操作,但目前我只是在测试。

使用答案这个问题,我设法使用来制作一些半工作的东西。

\usepackage{accsupp}
\newcommand\copypaste[1]{%
    \BeginAccSupp{method=escape,ActualText={\detokenize{#1}}}%
      #1%
    \EndAccSupp{}%
}

我可以通过这种方式使简单的方程式可源代码复制

\begin{align}
  \copypaste{
     \frac14&=(\frac12)^2
            &=(\frac12)^{1+1}
  }
\end{align}

从 PDF 复制此内容可得到\frac 14&=(\frac 12)^2 \\ &=(\frac 12)^{1+1},这基本上就是我想要的。

然而,这种方法有一个主要问题和一个小问题。

  • 主要问题是,如果环境中有分页符,它就无法工作;例如,对于长时间的开发。它可以编译,但数学是不可选的。实际上,在显示的公式的开始和结束之间没有任何东西可以选择,甚至页码或脚注也不行。
  • 小问题是,只有环境的第一行是可选的,其中包含环境中的所有代码。这很不方便,但并不是什么大问题。我可以用自己的\copypaste调用包装每一行,但重新定义对齐环境以自动执行此操作会很繁琐。在长环境中这样做时,我也遇到了一些奇怪的错误。

如能提供任何关于如何解决这些问题、如何正确实施或参考已经正确执行此操作的软件包的指示,我们将不胜感激。

我在用着pdfTex 3.14159265-2.6-1.40.20 (TeX Live 2019)

相关内容