我正在用挪威语写一篇文章,指南规定在参考书目中引用文章的方式如下:
约翰·多伊。2005 年。“我的文章。”很酷的日记16.
我的印象是,这是挪威的默认样式。抛开其他问题(我可以修复)不谈,我无法用 复制引号样式csquotes
。使用style = norwegian
将使用底部引号并将句号放在引号后面。使用style = american
让我更接近,但句号仍然在引号后面。手册中的 §3.10.1 中有一些biblatex
关于将句号移动到引号内的内容,但我不明白关于这一点的文档。
和style = norwegian
:
\documentclass{article}
\usepackage{filecontents}
\usepackage[nynorsk]{babel}
\usepackage[style = norwegian, norwegian = quotes]{csquotes}
\usepackage[style = authoryear-comp, language = nynorsk]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{myarticle,
AUTHOR = "John Doe",
TITLE = "My article",
JOURNALTITLE = "A Cool Journal",
VOLUME = "16",
YEAR = "2005"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{myarticle}
\printbibliography
\end{document}
和style = american
:
\documentclass{article}
\usepackage{filecontents}
\usepackage[nynorsk]{babel}
\usepackage[style = american, norwegian = quotes]{csquotes}
\usepackage[style = authoryear-comp, language = nynorsk]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{myarticle,
AUTHOR = "John Doe",
TITLE = "My article",
JOURNALTITLE = "A Cool Journal",
VOLUME = "16",
YEAR = "2005"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{myarticle}
\printbibliography
\end{document}
答案1
您只需告诉biblatex
使用该nynorsk
语言的“美式标点符号”,即在您的序言中添加以下几行:
\DefineBibliographyExtras{nynorsk}{%
\uspunctuation%
}
梅威瑟:
\documentclass{article}
\usepackage{filecontents}
\usepackage[nynorsk]{babel}
\usepackage[style = american, norwegian = quotes]{csquotes}
\usepackage[style = authoryear-comp, language = nynorsk]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{myarticle,
AUTHOR = "John Doe",
TITLE = "My article",
JOURNALTITLE = "A Cool Journal",
VOLUME = "16",
YEAR = "2005"}
\end{filecontents}
\addbibresource{\jobname.bib}
\DefineBibliographyExtras{nynorsk}{%
\uspunctuation%
}
\begin{document}
\nocite{myarticle}
\printbibliography
\end{document}
输出:
答案2
我认为您可以使用命令来执行此操作biblatex
(\uspunctuation
请参阅手册第 4.7.5 节第 194 页)。这只会在您的代码中添加一行:
\documentclass{article}
\usepackage{filecontents}
\usepackage[nynorsk]{babel}
\usepackage[style = american, norwegian = quotes]{csquotes}
\usepackage[style = authoryear-comp, language = nynorsk, backend = biber]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{myarticle,
AUTHOR = "John Doe",
TITLE = "My article",
JOURNALTITLE = "A Cool Journal",
VOLUME = "16",
YEAR = "2005"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{myarticle}
\uspunctuation
\printbibliography
\end{document}
显然,如果有必要,请将其移至文档的较早位置。但是,它似乎确实需要遵循\begin{document}
。(当我决定在文档正文中尝试此命令时,我几乎放弃了让某些东西工作。)我假设正在运行某些东西,\begin{document}
它会覆盖序言中配置的设置。(我猜这与文档的主要语言有关。)
答案3
这是一个解决方案,修补title
bibmacro – 但应该彻底测试它的副作用,因为修改后的片段后面有一个 \printfield{titleaddon},我不知道这个补丁是否会有问题。此外,title bibmacro 用于其他类型的条目和其他 bibmacros,所以我添加了一个测试来查看我们是否在文章条目中,但如果对于使用“title”的所有类型的条目来说都没有问题,则可以删除此测试。
\documentclass{article}
\usepackage{filecontents}
\usepackage[nynorsk]{babel}
\usepackage[style = american, norwegian = quotes]{csquotes}
\usepackage[style = authoryear-comp, language = nynorsk]{biblatex}
\usepackage{xpatch}
\xpatchbibmacro{title}{\printfield[titlecase]{subtitle}}%
{\printfield[titlecase]{subtitle}\ifentrytype{article}{\addperiod}{}}%
{}{}%
\begin{filecontents}{\jobname.bib}
@article{myarticle,
AUTHOR = "John Doe",
TITLE = "My article",
JOURNALTITLE = "A Cool Journal",
VOLUME = "16",
YEAR = "2005"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{myarticle}
\printbibliography
\end{document}