有没有办法将 LaTeX 源代码嵌入 PDF 文件?

有没有办法将 LaTeX 源代码嵌入 PDF 文件?

我已经好几次无意中丢失了用 生成 PDF 文件的 .tex 文件pdflatex。鉴于我对 PDF 文件内部结构的了解,应该可以将包含原始 LaTeX 文件的文本文件嵌入到 PDF 文件中,以便以后提取。

我不知道有没有技术可以做到这一点,但也许你知道。有人有类似的东西吗?

答案1

包裹恩贝达尔正是为此而制作的:

只需包括

\usepackage{embedall}

就在之前\begin{document}它将嵌入所有图形,列表和 tex 源。

边注:CTAN 标签档案列出了更多相关工具。例如,mkjobtexmf保存所有.sty文件。它们可以嵌入到 PDF 中,但我不确定这是否有点过头了。该包韋斯提出了一种新的工作流程,但它似乎并不能真正解决您的问题。

答案2

我会推荐embedfile或者navigator包(后者具有与一起使用的额外优势dvipdfmx,请参阅我的这个问题)。两者的用法非常相似:

附带embedfile包装:

\documentclass{article}

\usepackage{embedfile}
\embedfile{\jobname.tex}

\begin{document}
The document
\end{document}

附带navigator包装:

\documentclass{article}

\usepackage{navigator}
\embeddedfile{sourcecode}{./\jobname.tex}

\begin{document}
The document
\end{document}

答案3

您可以使用attachfile2包裹。

上述软件包仅适用于 pdfTeX 和dvips。有关 XeTeX/xdvipdfmx解决方案,请参阅问题。

答案4

这个问题已经得到解答了,但我想补充一个警告:

嵌入源代码的策略可能会与 PDF/X 相冲突,也可能与 PDF/A 相冲突。因此,如果您的文件必须是 PDF/X 或 PDF/A,请小心。

原理:PDF/X 旨在实现可靠的打印。任何非打印内容或脚本内容均违反了该规范。PDF/A 旨在用于存档,并且(取决于级别)用于可访问性。不可见的内容可能违反可访问性规范。

如果我有一个“一刀切”的答案,我会提供它。

相关内容