最后,假设我想在大量文档中使用我的样式调整:我应该把相关的宏放在哪里?
建议的答案是将 biblatex.cfg 复制到本地 texmf 树中。但是,离开根据上述前提条件:
所有地方都有哪些即文件类型及其各自的位置,我可以在哪里进行biblatex
样式修改?
我知道您可以编写自己的 bbx 和 cbx 样式,并且可能有一种方法可以将修改直接放入 tex 文件中?每种修改的局限性、优点和缺点是什么,哪种修改通常会放在哪里,哪种修改会否决其他修改……?
答案1
我不确定是否正确理解了您的问题,但 BibLaTeX 样式文件可以放入:
/texmf/tex/latex/biblatex/bbx ---> .bbx files (= bibliographies)
/texmf/tex/latex/biblatex/cbx ---> .cbx files (= in text citations)
/texmf/tex/latex/biblatex/lbx ---> .lbx files (= language strings)
/texmf/tex/latex/biblatex/ ---> other files (.cfg for instance)
您也可以将大多数修改直接放入.cls
、.sty
或.tex
文件中(我说“大多数”是为了安全起见,我还没有进行过广泛的尝试,但到目前为止,我在文件中修改的所有内容都.tex
有效)。
最后的修改会像往常一样覆盖之前的修改。事实上,如果你在文件中写作.tex
,你必须在加载 BibLaTeX 后输入你的修改,因为它会创建你将要使用的宏和命令。
如果您需要进行一些重大修改,最好将它们放在 中的专用样式文件中texmf
,以免弄乱其他文件。此外,您可以将任何样式文件作为选项加载到包中- 这似乎比输入/加载单独的文件更合适。(但如果您每次想要更改样式文件时都biblatex
懒得导航,那么没有什么可以阻止您为样式文件创建快捷方式。 )texmf
无论何时创建样式文件,无论您选择哪种方法,都有可能因为 BibLaTeX 更新而导致一些错误(尽管这种情况非常罕见)。
编辑(试图让我的答案更完整)
至于编写样式文件,我建议在texmf-dist
文件夹中找到最符合您需求的样式文件,将其复制到texmf
该文件夹中然后进行修改。这样您就可以从样式中学习,并且有一个起点。
至于.bbx
文件,如上所述,它们用于排版整个参考书目。许多样式最终都会加载standard.bbx
。典型的文件将包含一些有关格式化字段的信息(\DeclareFieldFormat
)、一些有关格式化条目的信息(\DeclareBibliographyDriver
)以及各种用户(重新)定义的宏。
在.cbx
文件中,你会发现一些关于格式化字段( )的信息以及各种引用命令(和)\DeclareFieldFormat
的定义。后者也是通过宏实现的。\DeclareCiteCommand
\DeclareMultiCiteCommand
这些.lbx
文件包含语言相关的信息,通常包括特定语言的一些印刷设置,以及 BibLaTeX 在打印引文和参考书目时将使用的字符串(\DeclareBibliographyStrings
)。
答案2
建议使用biblatex.cfg
来获得清晰的主文件和结构化的标题。
文件的位置cfg
取决于用途。如果cfg
文件仅与一个或两个项目相关,则应将cfg
文件放在工作目录中。
如果您为日常工作创建自己的cfg
文件,我建议您使用本地 texmf 树。查找预定义文件夹的最简单方法是使用以下命令:
kpsewhich --var-value TEXMFHOME
在我的情况下,结果是/home/marco/texmf
。看来这个输入不适用于 MikTeX。
TEXMFHOME
像所有树木一样,必须按照总溶解固体,否则可能找不到文件。
文件的限制与文件cfg
相同。为文件(语言)定义的命令在文件内不起作用。cbx
bbx
lbx
cfg