在为公司文档实现 LaTeX 支持时,必须在首次发布之前做出决定:支持是作为类还是样式实现?虽然有很多关于编写这些信息的信息,但我不确定这种决定本身的限制。也许有人可以详细说明应该问哪些问题才能获得好的回答。
如果编写样式,我会看到兼容性问题,因为用户将使用来自某些不可预测的文档类的样式,并且我很难/不可能断言该样式适用于所使用的类。
如果要编写一个类,我可能会将大部分工作委托给 KOMA 脚本类,而我的类只会调整一些参数(纸张几何形状、视觉声明、字体等)。而且,如果用户无法使用他们喜欢的花哨文档类,我会给他们带来麻烦。
有没有什么好的经验法则?
答案1
因为我在评论区发了垃圾评论,所以我最好将这里的评论汇编成一个答案。
正如 David Carlisle 和 Peter Wilson 所评论的,您已经很好地概述了两种可能的选择及其优缺点。两者之间的唯一区别实际上是,使用类,您可以阻止用户使用不兼容的(或他们最喜欢的 - 这取决于视图)文档类。
具体来说,对于您的公司布局,最佳选择可能取决于您的企业形象政策的全面性、详细性和明确性。
如果您有相当全面的政策,我肯定会选择类别。文档类别的选择主要取决于其外观和自定义外观的能力。如果您的公司规定了特定的外观,那么您的用户就没有必要使用他们最喜欢的文档类别来偏离该外观 - 无论如何您都会接管整个格式。
另一方面,如果你公司的政策不是那么过分,而是更倾向于
使用 12pt 无衬线字体,全大写公司名称,将我们的徽标放在右上角,将首席执行官的姓名放在页脚,并在右侧留出 2cm 的边距
在某些地方留下了很多回旋余地,而对其他领域又没有什么可说的,这两个选择可能更势均力敌。不过,在这种情况下,我还是会选择一个课程。一个.sty
不能保证能工作的几乎没用的——你要么最终惹恼用户,因为即使你允许他们保留他们最喜欢的文档类和classicthesis
附加包,事情也无法像广告中说的那样工作,要么你最终会为所有这些可能发生的情况修复你的模板,让你陷入一堆依赖于类/样式的修复。当然,你可以编写一个与.sty
三大类系列(标准类、KOMA 和memoir
)一起工作的,但这最多会耗费三倍的时间(以节标题为例,我相信每个类系列都有自己首选的解决方案,你最终需要编写三段代码来做同样的事情)。
这次讨论有些天真地假设,文档类别的选择仅仅是因为它们的外观和自定义外观的能力。这可能并不完全正确,因为一些文档类别(我memoir
想到的是 KOMA 类别)也提供了其他漂亮的功能。
如果您编写文档类或样式,维护是一个重要问题。您(或其他人)应该准备好接受错误报告和功能请求,并确保代码即使随着时间的推移也符合最佳实践。编写一次内容,然后在没有支持的情况下将其扔掉,这会带来麻烦。
你可能还想阅读https://github.com/johannesbottcher/templateConfusion.如果你读德语,也许https://komascript.de/latexvorlage。