![LaTeX 中的全局配置文件](https://linux22.com/image/268085/LaTeX%20%E4%B8%AD%E7%9A%84%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png)
我只是想知道是否有可能在 LaTeX 上有一些“配置文件”。就像 Java 上的属性文件一样。
最近我更改了我的电子邮件地址,所以我需要在迄今为止创建的每个文档上替换它...由于我正在创建几种类型的文档:技术报告,论文,投影仪演示文稿,文章,海报等,所以我希望有一个包含个人/大学数据的单个文件:
_name=Derpina Derpson
[email protected]
_univname=My college name
_collegeURL=http://mycollege.edu
.
.
.
_collegeLogo=./figures/logo.jpg
_declaration=The content of this document is...
因此在我的文档中我可以有类似这样的内容:\author{_name}
。
这样我就能在一个文件中处理所有常见信息。这可能吗?有人能告诉我怎么做吗?
我不是 LaTeX 专家。据我所知,我可以通过通用 CLS 文件做到这一点。然而,每个文档都有不同的结构(文章、书籍、投影仪演示、信纸大小、自定义纸张大小、双面、单面等)。
任何帮助将不胜感激。
答案1
您应该使用 .sty 文件(›package‹)来执行此操作,而不是通过 .cls。mystyle.sty
看起来像这样:
\ProvidesPackage{mystyle}
\newcommand*{\myname}{Derpina Derpson}
\newcommand*{\mymail}{[email protected]}
\endinput
在您的文档中,您只需加载该包并访问那里定义的内容:
\documentclass{scrartcl}
\usepackage{mystyle}
\begin{document}
\myname
\mymail
\end{document}
如果您将该包放在您的texmflocal
目录中,它将在任何地方可用(即,它不必与您的文档位于同一位置)。不要忘记运行texhash
或类似操作以使 TeX 知道其树中的新文件。
答案2
您不需要创建单独的类,只需要创建一个包,甚至一个常规输入文件。
您可以创建一个文件,myconfig.tex
其中包含如下定义
\newcommand{\myemail}{[email protected]}
并在您的文档中使用
\input{myconfig}
然后引用\myemail
而不是[email protected]
。
每当您需要更改您的个人数据时,请编辑myconfig.tex
并重新编译所有依赖于它的文档。