创建新的类文件:从哪里开始?

创建新的类文件:从哪里开始?

最近,我参与编辑的一家杂志决定,为了“快速出版”,它将不再接受使用 LaTeX 格式化文档的投稿。他们现在要求所有文件都以(叹气)Word 文档的形式提交。

在我(和其他一些人)的多次抱怨和牢骚之后,他们终于让步了——部分让步。他们将接受 LaTeX 投稿如果我们可以构建一个强大的样式表 - 其中生成的 PDF 看起来“非常接近已发布的格式”(他们的话)。

他们想要的实际(发布)格式并不特别复杂。例如,请参阅

http://www.esajournals.org/doi/pdf/10.1890/ES12-00286.1

现在,我对 latex 的了解已经足够好了,能够使用这个软件包,然后,再做一些调整,就可以拼凑出相当接近的东西。但是,这种方法并不是特别容易移植。他们想要的(我同意)是一个 .cls 文件(以及 bib 的 .bst),用户可以将其应用于他们的文档,然后,论文就出来了。

我从未尝试过编写 .cls 文件。多年来积累的经验(例如 Springer 等)我可以很好地理解,但我不太确定从哪里开始。

有什么建议吗?当然,如果你们当中任何一位聪明人愿意花 15 分钟把这些内容整理出来,(哦,还有 500 多个使用 LaTeX 编写此期刊的人)会永远感激我们 - 虚拟啤酒终身免费。如果我们有生之年有肉体接触,就喝真正的啤酒。

答案1

我最近不得不编写一个新课程,而我根本没有多少 LaTeX 经验。我发现适用于课程和软件包编写者的 LaTeX2ehttp://www.ctan.org/pkg/clsguide)是一个很好的入门方法。它包含几个示例。

听起来你已经知道自己在做什么,所以如果这很明显的话,请原谅,但一个好的开始方法是加载一个标准的 LaTeX 类,article然后在其上加载一些额外的包,例如:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{yourclass}[yyyy/mm/dd Your class description]

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions \relax

\LoadClass[a4paper,twoside]{article}

\RequirePackage[left=1in,right=1in,top=1in,bottom=1in]{geometry}

这只是一个例子,但对我来说很有用,我发现只需添加包就可以取得很大进展。课程指南有更好的例子。

相关内容