LaTeX 中的全局配置文件

LaTeX 中的全局配置文件

我只是想知道是否有可能在 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并重新编译所有依赖于它的文档。

相关内容