将参考书目中的句号移到引号内

将参考书目中的句号移到引号内

我正在用挪威语写一篇文章,指南规定在参考书目中引用文章的方式如下:

约翰·多伊。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

这是一个解决方案,修补titlebibmacro – 但应该彻底测试它的副作用,因为修改后的片段后面有一个 \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} 

在此处输入图片描述

相关内容