我正在尝试将 biblatex 与 scrrlttr2 类一起使用。以下 MWE
\documentclass{scrlttr2}
\usepackage[english]{babel}
\usepackage{filecontents}
\usepackage[backend=biber]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{A2012,
author = {Author, A},
title = {An interesting paper},
journal = {Journal},
year = {2012},
volume = {2},
pages = {70--76},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\begin{letter}{XXX
}
\opening{To whom it may concern,}
\cite{A2012}
\closing{Kind regards
}
\end{letter}
\printbibliography
\end{document}
失败,因为该\printbibliography
命令触发了 的使用\section
,而这并未针对字母类别进行定义。我可以使用 使文件工作 \printbibliography[heading=none]
,但这也会破坏默认标题。在仍获取默认(特定于语言)标题的同时使代码运行的最佳方法是什么?
答案1
问题是它scrlttr2
没有提供\section
命令(biblatex
默认用于参考书目标题)。
我们可以通过以下方式定义自己的标题
\defbibheading{letterbib}[\refname]{#1}
我们可以\refname
在\bibname
这里进行更改 -\refname
打印“参考文献”,而\bibname
打印“参考书目”。您可以在此部分发挥您的想象力#1
并使用您喜欢的任何格式,例如\defbibheading{letterbib}[\refname]{\textbf{#1}}
。
\printbibliography
然后我们使用这个新标题
\printbibliography[heading=letterbib]
答案2
使用完成这项工作的类和包。;-)
您还可以使用 加载个性化lco
文件\LoadLetterOptions
,但无法全局执行此操作。
\begin{filecontents}{\jobname.lco}
\setkomavar{fromname}{j pfeifer}
\setkomavar{fromaddress}{duckburg}
\end{filecontents}
\documentclass{scrartcl}
\usepackage{scrletter}
\LoadLetterOptions{\jobname}
\usepackage[english]{babel}
\usepackage[backend=biber]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{A2012,
author = {Author, A},
title = {An interesting paper},
journal = {Journal},
year = {2012},
volume = {2},
pages = {70--76},
}
\end{filecontents}
%\defbibheading{jpfeifer}{\large\bfseries\noindent MY BIB TITLE}
\addbibresource{\jobname.bib}
\begin{document}
\begin{letter}{XXX}
\opening{To whom it may concern,}
\cite{A2012}
\closing{Kind regards}
\printbibliography%[heading=jpfeifer]
\end{letter}
\end{document}