如何长期存储所有 TeX 文件?

如何长期存储所有 TeX 文件?

通读作为一名专家,您是否总是可以使用 TeX 来处理(几乎)任何类型的文档?,似乎大多数人几乎在所有文档中都使用 TeX。

我的问题是:您如何在系统上存储这些文档?目前,我document_name为每个文档创建一个名为的文件夹,document_name.tex在其中创建,排版完成后,document_name.pdf我将所有临时/辅助文件与文档一起留在文件夹中。因此,对于每个文档,我都有一个包含十几个文件的文件夹。

这看起来有点乱——那么你如何在你的系统上存储这些文档?你会(自动)删除 LaTeX 生成的约 10-20 个排版文件吗?还是我想太多了?

答案1

每个文档放在不同的文件夹中,是一种很好的存档方式。不过,为了方便起见,我通常会删除辅助文件,保留tex源文件和pdf输出文件。如果您再次编译,专用的文档文件夹可让您的文件系统保持干净。

我将文档组织到主题文件夹中,首先是诸如、、,letters以及诸如等子文件夹。articlesbooksjobprivate

如果你想确保以后可以轻松编译存储的文档,你可以使用

  • snapshot:列出 LaTeX 文档的外部依赖项
  • bundledoc:将构建 LaTeX 文档所需的所有文件捆绑在一起,与snapshot
  • arlatex:基于 LaTeX 的存档程序;它采用主文件的名称.tex及其使用的辅助文件(例如.tex.sty和文件)。arlatex 会从这些文件.cls.eps创建一个文件,该文件将在使用 LaTeX 编译时重新创建所有辅助文件

答案2

为了便于携带,以及保持干净整洁,我使用embedfile将源.tex(以及其他所需源)附加到输出.pdf。附件是压缩的,这也节省了一些空间。然后,一旦项目完成,您就可以删除所有内容.pdf

但要求是您使用pdflatex

这是一个显示编译输出的最小示例main.tex

embedfile 用于将所有相关文档信息附加到一个输出 PDF 文件中

\documentclass{article}
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{embedfile}% http://ctan.org/pkg/embedfile
\usepackage{filecontents}% http://ctan.org/pkg/filecontents
\begin{filecontents*}{section1.tex}
\section{First section}\lipsum[1]
\end{filecontents*}
\begin{filecontents*}{section2.tex}
\section{Second section}\lipsum[2]
\end{filecontents*}
\begin{filecontents*}{section3.tex}
\section{Last section}\lipsum[3]
\begin{center}\includegraphics[width=\linewidth]{tiger}\end{center}
\end{filecontents*}
\begin{document}
% Input external files
\input{section1}
\input{section2}
\input{section3}

% Attach external files
\embedfile[desc={Main document}]{main.tex}
\embedfile[desc={First section}]{section1.tex}
\embedfile[desc={Second section}]{section2.tex}
\embedfile[desc={Last section}]{section3.tex}
\embedfile[desc={Rooooaaarrrr!}]{tiger.pdf}
\end{document}

上述输出 PDF 视图来自 Adob​​e Acrobat。PDF 文档现在以单一、可移植的格式*包含所有相关的非标准内容。

desc={..}为附件中的文件提供描述,同时filespec={..}允许修改附件的名称。embedfile包装文档描述所有可能的关键值选项。

*当然,因为main.tex使用filecontents编写section?.tex,因此隐式包含这些文件,为了完整性,在此示例中将它们嵌入到 PDF 中。


PDF 工具包是另一个可以使用该attach_files键将文件附加到 PDF 的选项。从PDFtk 服务器手册页

attach_files < attachment filenames | PROMPT > [ to_page < page number | PROMPT > ]

使用 PDF 的文件附件功能将任意文件打包成 PDF。 后可列出多个附件attach_files。 除非给出可选选项,否则附件将以文档级别添加to_page,在这种情况下文件将附加到给定的页码(第一页为 1,最后一页为 end)。例如:

pdftk in.pdf attach_files table1.html table2.html to_page 6 output out.pdf

答案3

我有自己的版本控制存储库(我年纪大了,所以我使用远程医疗;现在很多人使用颠覆或者git)。我为每个项目都放了一个目录,为子项目放了一个子目录,等等。目录下有.tex文件、数据等,还有Makefiles。因此cvs checkoutmake编译所有相关pdf文件。

答案4

那么你的一般组织和备份计划是什么?TeX 应该与你的一般做法没有太大区别。

这是我的:

$ ls
Books     Desktop   Documents Music     Pictures  Programs  Videos

正如您所猜测的,TeX 文件仅位于Documents文件夹中。

$ ls Documents
Cov_Let   Labels    Posters   Razno     Teaching  Workshops
Grants    Portfolio Powerdot  Research  Tenure

我使用 Make 实用程序(准确地说是 BSD Make)和我自己家里的棕色 Makefile 进行 TeX 处理。我总是删除所有辅助文件,并倾向于只保留tex源文件、图像和最终pdf版本以方便使用。我倾向于将我当前的每个研究项目保存在目录的单独文件夹中。

/home/predrag/Documents/Research/current

我使用版本控制系统远程医疗(我是个老家伙)记录变化。所以没有重复的文件。

对于教学,我有以下奥古斯塔州立大学本学期教授课程的目录。

/home/predrag/Documents/Teaching/AUG/spring2012

你能猜出我有哪些子文件夹吗?

 $ ls spring2012
math1111 csci3030

以下是典型的课程文件夹的样子

$ ls csci3030
exams    homework roster   syllabus

我认为目前的情况是不言而喻的。我只在目录的几个子文件夹中使用 CVSroster来跟踪班级名单的变化,最重要的是成绩的变化。

我认为你已经得到了剩下的。

我也用齐奏同步

/home/predrag/Documents

在各种机器上(几台家用电脑、两台笔记本电脑、工作工作站和我的一台超级计算机)。

尽管我将 Documents 目录同步到至少六台不同的计算机 + 2 个 USB 记忆棒上作为我的最终备份解决方案,但我也会定期tar+zip对 Documents 目录进行操作,并刻录至少 2 张 DVD,其中一张留在家里,一张留在工作场所。

我的待办事项清单上包括将 DragonFly BSD 安装到公司的新文件服务器和家庭文件服务器上,并开始使用 Hammer(日志文件系统)。目前,我除了 DVD 之外的所有东西上都使用 FFS(Unix 快速文件系统),DVD 上我使用 UDF 文件系统,超级计算机运行 RedHat(ext2文件系统),因为 NetBSD 缺少 NVidia GPU Tesla 的专有驱动程序(否则我会将其用于超级计算)。

相关内容