我是否可以在类定义中使用包(传递选项),而该包也可以在文档中使用(使用 \usepackage,更多选项)?

我是否可以在类定义中使用包(传递选项),而该包也可以在文档中使用(使用 \usepackage,更多选项)?

我正在为我的教员编写一个文档类。大多数用户相对比较随意,对 LaTeX 不是专家,我希望在使用该类时尽量减少他们的麻烦和工作量。为此,我想我应该为他们指定正确的引文和参考书目设置(如教员的演示指南所定义)。我使用了 biblatex。在课堂上使用 biblatex 还有其他很好的理由(我定义了一个命令,一些用户会发现它非常有用,它大量使用了 biblatex 的高级功能)。

这很好。但是,在某些情况下,用户可能希望使用与我在类文件中传递给 biblatex 的选项不同的选项。他们这样做的自然方式是\usepackage[<options>]{biblatex}。但这样做当然会产生错误:

From the .log file...

The package biblatex has already been loaded with options:
  [style=authoryear-ibid,autocite=inline,sorting=nyt,url=false,doi=false,isbn=f
alse,]
There has now been an attempt to load it with options
  [autocite=footnote]
Adding the global options:
  style=authoryear-ibid,autocite=inline,sorting=nyt,url=false,doi=false,isbn=fa
lse,,autocite=footnote
to your \documentclass declaration may fix this.
Try typing  <return>  to proceed.

我想这是一个很常见的问题:类文件需要定义某些东西的默认行为并使用包,而用户想使用相同的包来改变行为。有没有标准的方法来处理这种事情?

短暂性失眠!

相关内容