我已经好几次无意中丢失了用 生成 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 旨在用于存档,并且(取决于级别)用于可访问性。不可见的内容可能违反可访问性规范。
如果我有一个“一刀切”的答案,我会提供它。