我不知道这个问题是否有明确的答案,但我在 Google 上找不到任何相关信息,所以就此发表。
尽管出现了诸如 KOMA-Script 或memoir
,但在我看来,相当多的 LaTeX 用户仍然使用标准文档类(如果我错了,请纠正我)。例如,这表明这个答案回答 TeX.SE 问题。对于希望将自己的作品提交给期刊或出版商的研究人员来说,实际上(在某种程度上)客观的坚持使用标准类别的原因在于,许多期刊都有自己的类别,而从标准类别开始转换的过程通常是最简单的。总结如下:
许多人仍然使用标准类,有时这样做是有充分理由的。
与此同时,标准类似乎几十年都没有改变过(再次重申,如果我错了,请纠正我)。我对此的抱怨是,标准类的许多常见问题实际上都有解决方案,只需对类本身进行“微更新”。例如,在类中book
,一个常见问题是页面标题的大写(对于目录或参考书目等内容,这是硬编码的)以及标题下方缺乏水平标尺功能。当然,您可以使用fancyhdr
、memoir
或 KOMA-Script,但为什么没有对book
类进行更新以使这些内容可自定义?(这可能相当于更改不到 1% 的类代码)。再次总结:
标准类几十年来一直没有改变,但其中一些问题可以通过对类代码进行非常简单的修改来解决。为什么不追求这种可能性?
答案1
这里有三个方面,一个是设计,一个是宏观规划,一个是政策。
在设计层面,众所周知,如果不进行修改,标准类会有些深奥。然而,有许多(可能数百万)文档依赖于标准设计或以可预见的方式对其进行修改。对核心样式的任何更改都会产生严重的影响。
第二个方面是改变任何事物在宏中可能会影响使用。例如,如果标准标头代码发生更改,则任何想要检查“标头设置是否未更改”的代码都会被捕获。例如,如果对标准类的更改失败fancyhdr
,那将比保留标准类更糟糕。
第三个方面是一致性。是的,核心中几乎没有样式更改的钩子。从第一天开始就是这样,虽然有时会令人讨厌,但它是自洽的。添加一些样式钩子特别指定如果不进行彻底改革,可能会更加混乱。软件包可以做到这一点,因为它们专注于一个领域。团队渴望拥有新的界面,但希望以系统的方式应用它们:这要棘手得多。
答案2
我是该类的作者memoir
。我曾为我的文档使用过标准类,通常添加一些包或前言代码来获得外观我想要,经常为此目的编写新的包。我最终决定memoir
基于book/report
具有article
类类型输出选项的类来生成类,并包括那些包我发现很有用,希望其他人也会喜欢。即便如此,关于如何做这样或那样的事情来memoir
满足特定需求的问题仍然很多。用户的欲望。
有成千上万的 LaTeX 用户,其中相当一部分人希望拥有自己的排版布局。你不可能以任何方式满足这种意见的多样性标准类需要数百个选项和许多从未使用过的内部代码。LaTeX 能够开发和提供软件包来满足用户(特殊)需求,这是其主要优势之一。
答案3
仔细想想,我觉得这不值得。成千上万的软件包依赖于 LaTeX 核心的某个功能,现在有人更改了某些功能。你究竟如何才能避免破坏某些人的文档或其他人的软件包?然后,所有愤怒的用户“这种文档已经编译了好几年!1!”
有一部引人注目的 xkcd 漫画,如果有人尝试,会发生什么:https://xkcd.com/1172/
另一方面,发布新的软件包甚至发布功能代码变得更加容易。
是的,这根本不值得花费时间和精力。