我维护一个宏文件,它是我所有文档的静态文件。每当我需要创建新文档时,我都会将宏文件复制到文件夹中并开始处理它。现在的问题是,我的电脑里有多个宏文件副本。如果稍后我更改命令或向宏文件添加新命令,我将不得不替换所有宏文件以保持一致性。现在我已经完全忘记了宏文件的版本。
- 维护宏文件的标准方法是什么?
- 是否最好将其保存在云端并每次都使用 GIT 来拉取?
- 实验室通常也有一个通用的宏文件。应该如何维护它?
问候。
答案1
创建一个sauravmacros.sty
包含此内容的文件并将您的宏和其他定义放在那里。
\NeedsTeXFormat{LaTeX2e} % Not really necessary
\ProvidesPackage{sauravmacros}
%\RequirePackage{...} %which ever package(s) you need
\newcommand{\foo}{foo}
\newcommand{\bar}{bar}
\newenvironment{mytheory}[1]{%
}{}
\endinput
随着宏等越来越多,您可能只会改变这一点并提供选项。
将其放在本地目录或本地 texmf 路径中,具体取决于操作系统。例如,请参阅 Linux 上的环境变量 $TEXINPUTS。
至于云存储:这是个人观点和品味问题,我考虑将来也这样做,但不是在公共存储库中。
实验室等的通用宏文件不应区别对待。如果所有内容都在一个所有用户都可以访问的服务器上,那么通用实验室宏文件基本上与本地个人文件一样对待——问题是谁有管理权限来更改它。我真的建议使用版本控制系统!
答案2
创建您自己的包,并将它们放入您的 texmf 树中。包只是一个具有以下特征的宏文件:
- .sty 扩展名
- 不需要
\makeatletter
……\makeatother
- 一个
\ProvidesPackages
命令。 - 使用
\RequirePackage
而不是\usepackage
。
您确实应该对其进行版本控制,例如使用 git。
参见我自己的宏文件https://git.framasoft.org/maieul/philologue/blob/master/philologue.sty
答案3
对于我的设置,将宏放在 TeX 树中不是一个好选择,因为我在不同的机器之间同步我的用户目录。
我对宏和参考书目所做的就是将它们放在我的工作树的顶部。然后在新文档中使用类似 的内容\input ../../macros.tex
。