我希望能够在 .bib 文件中定义字段内容,以便在参考书目中生成与语言相关的输出。类似这样:
@PhDThesis{Back:DesigningPublicPlay,
author = {Back, Jon},
title = {Designing Public Play},
institution = {Uppsala University},
institution_translation_sv = {Uppsala universitet},
date = {2016-02},
subtitle = {Playful Engagement, Constructed Activity, and Player Experience},
isbn = {978-91-506-2495-3},
pagetotal = 94}
因此以 开头的文档\documentclass[swedish]{article}
将获得参考书目条目
回来,乔恩。 2016 年。“设计公共游戏:游戏参与、构建活动和玩家体验”。博士后,乌普萨拉大学,二月。
而\documentclass[british]{article}
将得到
Back, Jon。2016 年。“设计公共游戏:有趣的参与、构建的活动和玩家体验”。博士论文,乌普萨拉大学,二月。
我知道我可以用来\DefineBibliographyStrings
创建宏,但我更希望能够添加翻译特别指定在 .bib 文件中。
这是一个最小的非工作示例输入(games.bib
包含上述条目):
\documentclass[swedish]{article}
\usepackage{polyglossia}
\usepackage{biblatex-ms}
\setdefaultlanguage{swedish}
\addbibresource{games.bib}
\begin{document}
\parencite{Back:DesigningPublicPlay}
\printbibliography
\end{document}
答案1
以下操作应该可以对 SF 当前 4.0 版本(截至 2023 年 9 月 9 日尚未在 TL 中)执行您想要的biblatex
操作biber
:
\begin{filecontents}[force]{\jobname.bib}
@PhDThesis{Back:DesigningPublicPlay,
author = {Back, Jon},
title = {Designing Public Play},
institution = {Uppsala University},
institution_translation_sv-se = {Uppsala universitet},
date = {2016-02},
subtitle = {Playful Engagement, Constructed Activity, and Player Experience},
isbn = {978-91-506-2495-3},
pagetotal = 94}
\end{filecontents}
\documentclass{article}
\usepackage{fontspec}
\usepackage[swedish]{babel}
\usepackage{biblatex-ms}
\addbibresource{\jobname.bib}
\DeclareMsselect{sv-se}{
\alternate{translation}{sv-se}
}
\begin{document}
Cite \cite{Back:DesigningPublicPlay}
\printbibliography
\end{document}
注意,由于瑞典语设置,所有未明确形式/语言的字段的语言均为“sv-se”。因此,DeclareMsselect
针对此语言声明了由定义的不同替代项的选择顺序。