就编译的效率/速度而言,哪个是放置参考书目选项更改的更有效的地方:在调用新类或文件的文件biblatex.cfg
中。.cls
.sty
任何见解都将不胜感激。
答案1
有多个地方可以进行自定义,从性能角度来看,它们应该大体上是等效的(除了加载新文件的开销)。因此,选择应取决于修改的确切性质和目的。
文件序言
- 修改保留在本地
- 重复使用并不那么容易
- 你可能在序言中积累了相当多的代码
如果您想要对文档应用一次性更改,而又不需要太多代码行,则序言很有用(当然,您可以使用外部化长代码\input
)。
\input
将序言中的代码外部化到外部.tex
文件中。然后您可以\input
将该文件放入序言中。
- 更易于重复使用
.sty
比文件稍微容易处理。
.sty
文件
您可以将biblatex
代码放入.sty
文件中,就像将其放入文档的序言中一样。请记住,您可能应该.sty
在加载后加载biblatex
以确保所有命令都已定义。
- 易于重复使用
- 可能
.sty
无法与所有书目样式一起使用,您应该意识到这一点,并且不要在未检查的情况下加载填充
如果您想要比 更“永久”的东西,而不仅仅是带有 的外部化前言,此方法可能很有用。\input
您可以将此方法重新用于其他类似类型的文档。
.cls
文件
如果您打算.cls
为这个特定的项目(具有非常具体的格式规则的项目类型:比如说,某个大学部门的论文模板)编写自定义代码,您也可以biblatex
在那里包含代码,但文件方法的注意事项.sty
也适用。
在多用途.cls
文件bilatex
代码中肯定是不妥的,人们应该能够决定使用哪种样式甚至哪个书目包,而你的课程不应该干扰这一点。
biblatex.cfg
- 适用于范围内的所有文档(通常
biblatex.cfg
放置在共享文件夹中,以便适用于您的所有文档,但您也可以将其放置在当前目录中,以便仅影响那里的文档) - 代码没有出现在文档中,但你甚至看不到它(以及哪个!)
biblatex.cfg
被加载,直到你查阅.log
文件
配置文件在样式文件( 、 )biblatex.cfg
之后加载,并可以修改其行为。.bbx
.cbx
由于范围问题,我只会放置您想要应用于您编写的所有文档的与样式无关的修改biblatex.cfg
。
编写自己的参考书目/引用风格
您可以使用 构建现有样式\RequireBibliographyStyle
,\RequireCitationStyle
然后添加修改。一个很好的例子是 Joseph Wright 的biblatex-phys
建立在以下基础上numeric-comp
:phys.cbx
和phys.bbx
。当然你也可以从头开始自己动手。
- 修改仅适用于明确加载新样式的文档
- 您的文档中只能有一种样式处于活动状态,新的自定义样式将替换任何其他样式
此方法特别适合于创建您可能想要更频繁使用的“新样式”以及适用于多种(类型)文档的“新样式”。
因为您可以通过重新路由引入额外的文件加载\RequireBibliographyStyle
,\RequireCitationStyle
所以从技术上讲,速度可能会稍微差一些,但这绝对不是什么值得失眠的事情。
结论:如果您需要一些代码用于某些应用程序,请将它们放在序言中,使用 将它们外部化\input
,或者编写.sty
。 (这三种替代方案按重用难易程度排序。)如果您有几行与样式无关的代码想要一直应用,请使用biblatex.cfg
。如果您修改特定样式以满足某些准则,请编写自己的.bbx
/.cbx
文件,以便能够独立于文档地重用该样式。