我目前正在编写文档,其中部分软件是用 LabVIEW 编写的。为了共享代码,我尝试使用片段。有没有办法使用 luatex 嵌入生成的 png,同时保持拖放功能?(从生成的 pdf 到 LabVIEW)
我认为 LabVIEW Snippet 由 png 图像和对框图进行编码的附加元数据块组成。
编辑:可能的工作流程如下:
- 从 Labview 创建一个 LabVIEW 代码片段(生成的 png 也可以拖放到 LabVIEW 中,重新创建已保存的框图。我很确定这只是一个额外的 png 块,而不是通过隐写术实现的。)
- 将图形包含到我的乳胶文档中(通过 luatex 生成)。
- 理想情况下,生成的 PDF 允许拖放(可能高度依赖于查看器)图像,或者以某种方式保存嵌入的 png(包括以前的元数据)。对于 Adobe Reader 和 Sumatra PDF,“复制图像”似乎复制了纯图像数据(这很可能是 PDF 中唯一剩余的内容)
经过进一步研究后,我怀疑这可能完全不可能,因为 pdf 的工作方式,并且无法直接嵌入 png 及其元数据。
答案1
有几种方法可以理解您的问题,所以我会看看是否可以逐步回答您的问题。
首先,LuaTeX 不是传统的文字处理器,你可以拖放图像等拖放到正在构建的文档中的某个位置。因此,这部分的答案很简单:不,您无法保留拖放功能。
其次,你使用的软件嵌入代码信息嵌入到图像中。这不会以纯文本模式在该图像的元数据中完成。类似这样的程序XNView
将能够读取元数据,从而读取代码。Snippets
使用一种隐写术将代码加密到图像中。因此,该代码只能由另一个 Snippet 用户读取。这为 LABView 用户确保了两件事:(a) VI 代码可以在用户社区内共享,(b) 代码保留在 LABView 社区内(对其他人无用)。
第三,拖放功能仅在 LABView 环境中可用,有时必须将图像保存在文件中,然后才能传输到 LABView 环境中,这在您所引用的支持页面中有清楚的解释。
那么如何将代码和图像放入文档中呢?
可以使用该包导入图像graphicx
。例如,可以使用该包排版代码listings
。这些包的手册将指导您如何执行此操作。
将图像嵌入到 LuaTeX 文档中如下所示:
\includegraphics[height=2cm]{snippet_example.png}
将列表嵌入到您的文档中如下所示:
\begin{listing}
lines of code
\end{listing}
在 Overleaf 的支持页面上可以找到一个这样的例子:https://www.overleaf.com/learn/latex/Code_listing
很抱歉您的问题让您失望了。但祝您好运,能够创建一本使用 LABView 的好手册。