通过 Latex Preamble 将命令传递给 Lyx 中的 Biblatex(错误)

通过 Latex Preamble 将命令传递给 Lyx 中的 Biblatex(错误)

[对于以下内容,我自己找到了答案,但我在任何论坛上都没有找到必要的额外步骤。因此,我简要地以问答形式提供它。]

我有一些自定义格式来调整biblatex我希望 LyX 使用的设置(通过\DeclareFieldFormat),但将它们放在 Latex 序言中(通过文档->设置->LaTeX 序言)会产生错误。(就我而言,我希望所有标题都为斜体,这样使用脚注样式以及在文本中引用标题和简称时会更加清晰。)

问题似乎是 LyX 加载biblatex时间刚好\begin{document}在导出的 LaTeX 之前,但自定义 LaTeX 前言又在之前。biblatex加载前进行调整biblatex似乎不太好。

错误很经典:

Undefined control sequence

Missing \begin{document}

You can't use `macro parameter character #' in horizontal mode. 

ETC。

答案1

有效的方法是通过(就我而言)将修改存储到序言中

\AtBeginDocument{%
\DeclareFieldFormat{shorthand}{\mkbibemph{#1}}
\DeclareFieldFormat{title}{\mkbibemph{#1}}
\DeclareFieldFormat{citetitle}{\mkbibemph{#1}}
}

相关内容