我有同样的问题这里不管怎样,这种方法已经有 8 年的历史了,似乎不再有效了。
我使用biblatex
以及biber
\documentclass[a4paper, % Seitenformat
12pt, % Schriftgröße
bibliography=totoc, % Literaturverzeichnis in das Inhaltsverzeichnis
parskip=false,
abstract=on % Erstellt Titel für Abstract
]{scrreprt}
\begin{filecontents}{jobname.bib}
@article{Jordan.2015,
author = {Jordan, M. I. and Mitchell, T. M.},
year = {2015},
title = {Machine learning: Trends, perspectives, and prospects},
keywords = {Algorithms;Artificial Intelligence/trends;Computer Systems;Data Interpretation, Statistical;Humans},
pages = {255--260},
pagination = {page},
volume = {349},
journaltitle = {Science},
language = {eng},
doi = {10.1126/science.aaa8415},
number = {6245}
}
@misc{Scherk.,
author = {Scherk, Johannes and P{\"o}chhacker-Tr{\"o}scher, Gerlinde and Wagner, Karina},
year = {2017},
title = {K{\"u}nstliche Intelligenz - Artificial Intelligence},
keywords = {K{\"u}nstliche Intelligenz},
editor = {{P{\"o}chhacker Innovation Consulting}},
abstract = {K{\"u}nstliche Intelligenz},
pagetotal = {54},
file = {kuenstliche_intelligenz.pdf}
}}
\end{filecontents}
\usepackage[style=authoryear,
natbib=true,
backend=biber,
maxcitenames=2,
uniquelist=false,
doi=false,
isbn=false,
dashed=false,
maxbibnames=9,
minbibnames=9,
giveninits=true]{biblatex}
\addbibresource{jobname.bib} % note the .bib is required
\renewcommand*{\multicitedelim}{\addsemicolon\space}
\begin{document}
(\cites[vgl.][S. 256 ff.]{Jordan.2015}[vgl.][S. 37 f.]{Scherk.})
\end{document}
我得到的是
即使手动强制;
使用分号
(\cites[vgl.][S. 256 ff.;]{Jordan.2015}[vgl.][S. 37 f.]{Scherk.})
结果是
答案1
这链接答案.
仍然是执行此操作的正确方法,并且仍然有效。由于后记末尾的 s,我们没有在问题中显示的 MWE 中获得预期的输出。
biblatex
做很多的工作以避免无意的重复标点符号。首先,标点符号跟踪器 ( \setunit
) 仅在真正需要时才在 bibmacros 和驱动程序中打印标点符号。其次,标点符号命令\add...
会尝试检测先前的标点符号,并且如果这会导致重复标点符号,则可能不会打印标点符号。
第二个是这里发生的事情。从 page/postnote 参数中\addsemicolon
检测到前一个.
,并推迟打印分号以避免重复标点符号。
在这种情况下,当然需要双标点符号。这是因为.
可以有两种不同的含义。它可以是句末句号(句号),其后的双标点符号必须被抑制。或者它可以是缩写符号(点),其后通常会打印其他标点符号(句号除外)。这里的情况是后者。
默认情况下,biblatex
将 a.
视为句点,因此会隐藏双标点。您可以发现biblatex
a.
实际上是带有 的缩写点\isdot
。因此ff.
将变成ff.\isdot
。
然而,在这个特殊情况下,很多更好的解决方案:
使用\psq
和\psqq
。
这两个宏专门用于生成“sq.”(德语中的“f.”)和“sqq.”(德语中的“ff.”)标记,而不会扰乱标点符号跟踪器(也不会扰乱页面范围检测器)。
简单写
\parencites[vgl.][256\psqq]{sigfridsson}[vgl.][37\psqq]{worman}
平均能量损失
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear]{biblatex}
\renewcommand*{\multicitedelim}{\addsemicolon\space}
\addbibresource{biblatex-examples.bib}
\begin{document}
\parencites[vgl.][256\psqq]{sigfridsson}[vgl.][37\psqq]{worman}
\end{document}