如何为我的论文编写 LaTeX 类文件

如何为我的论文编写 LaTeX 类文件

我想为我的大学论文设计一个新的 LaTeX,以便所有学生都可以使用它。我对 LaTeX 的工作原理有相当的了解。

我正在寻找一些解释如何编写 LaTeX 类文件的好文章。修改现有文件还是从头开始比较好?

答案1

在开始这样的努力之前你需要回答的第一个问题是存在的理由编写新类。在许多情况下,小包可能是一个更好的主意。

我将从使用和理解现有的类开始,例如经典论文,列出您想要的更改,然后将其分叉成新的内容。

我的建议是针对任何新的论文类别来XeLaTeX获得更多的字体和编码自由utf-8

关于编写课程的技术细节的一个很好的信息来源是开始编写类和/或包的参考指南

答案2

我只能指出我最近遇到的一些参考书目:

@Aditya的评论这个问题让我看到了以下视频:鲍里斯·维茨曼,巫师学徒课堂写作, 2009 年德国技术工人联合会;由于我不是巫师学徒,所以我没有听完整个视频,但他为我这样的初学者指出了一些非常有趣的文章:

  • Jim Hefferon,《几小时内的几分钟》,拖船26/3(2005年)(PDF

  • Peter Flynn,“滚动你自己的文档类:使用 LaTeX 远离黑暗面”,拖船28/1(2007年)(PDF

  • Scott Parkin,《小包装里蕴藏着美好:.ins 和 .dtx 文件编写简介》,拖船29/2(2008)(PDF

  • Niall Mansfield,“如何开发自己的文档类——我们的经验”,拖船29/3(2008年)(PDF)

  • Peter Flynn,“大学论文课:自动化及其缺陷。”,拖船, 33/2t (2012) (PDF

  • David S. Latchman,“在 LATEX 中准备论文。”,拖船,33/2(2012)(PDF

答案3

根据 Yiannis 的回答,我认为只有当你在需要特定事物的领域工作时,你才会觉得有必要编写一个类而不是一个包,而这些特定事物目前不是标准课程和课程包提供。因此,这主要适用于从事人文或社会科学工作的人,主要课程是memoirclassicthesis以及一些学校自办的课程。

如果您需要更具体的东西,而且需要大量的编码,包括处理一些内部问题,或者如果您的布局参数需要很早就加载,您可能需要创建自己的类。

为此,我建议您选择一个要用作基础的类,然后在此基础上进行构建。最简单的方法是创建一个将加载它的类,然后修改它的一些宏。您必须非常仔细地研究所选的类(文档和代码),以找出需要更改哪些宏才能获得所需的内容。为了帮助您入门,我推荐 Peter Flynn 的文章:“汇总您自己的文档类”。他分析了这个article班级,但对于任何其他班级也必须做同样的事情。

然后,关于课堂写作的更实际方面,我建议你看看“适用于类和包编写者的 LaTeX2ε”,它解释了很多关于你的课程的预期格式、如何创建选项、如何加载另一个课程等等的内容。

因此你的基本代码如下:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{yourclass}%
    [YYYY/MM/DD v1.0 Description of your class]

% Create, execute and process options here, possibly with a key-value interface
% Insert any code you imperatively need before loading the class

\LoadClass{memoir}% or 
%\LoadClass{classicthesis}

% Modify the class here

然后,如果您遇到具体问题,我们中的某个人可能会在这里回答。

答案4

在开始任何论文课程或课程之前,我会回答三个主要问题:

  1. 你的大学在美国还是其他地方?

    美国大学通常对论文格式有非常严格的要求,虽然这些要求几乎肯定可以用 LaTeX 来满足,但你可能没有时间去满足它们。他们关于格式要求的文档几乎总是为 Microsoft Word 用户编写的,你可能必须将他们的要求翻译成 LaTeX 术语(我和我们的研究生院进行了多次沟通,试图将“双倍行距时只需按 N 次 Enter”翻译成“就基线高度而言,这是什么意思?”)。

    非美国大学的规则要宽松得多,而且他们的要求通常与 LaTeX 的默认要求更接近。这意味着你可以花更多时间写论文,而花在与格式斗争上的时间更少。

  2. 大学里是否有其他人已经写过部分或全部论文课程或论文套件?数学或计算机科学系的老师,还是工程系的老师?如果是,其中缺少哪些部分?

  3. 你的毕业典礼安排是怎样的?如果要快速完成,我不会在自己的作品之上再写一门论文课程或论文套件。我尝试了三次(每次都从头开始)才写出一门不错的论文课程,尽管每次我都学到了很多东西。然而,写那门课是我在完成硕士学位和开始攻读博士学位之间的几年期间的一个副业。如果我是一名全日制研究生,我怀疑我是否有时间在毕业前写好自己的课程。

相关内容