biblatex:强制 \cite 不忽略分号

biblatex:强制 \cite 不忽略分号

默认情况下,\cite如果分号位于点后面,则命令会忽略分号。biblatex无论分号前面是否有点,我如何才能强制打印分号?

\documentclass{article}

\usepackage[
    style=authortitle,
    backend=biber,
]{biblatex}

\begin{filecontents*}{\jobname.bib}
@book{test,
author = {Foo, Bar},
title = {Foobar},
year = {2016},
location = {Baz}
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\begin{document}

\footnote{\cite[12]{test}; \cite[12~f.]{test}; \cite[12~ff.]{test}}

\end{document}

在此处输入图片描述

(是的,我知道一般来说我应该使用\cites。但由于技术原因,在这种情况下我不能使用。)

答案1

\documentclass[ngerman,english]{article}

\usepackage{babel}
\usepackage[
    style=authortitle,
    backend=biber,
]{biblatex}

\addbibresource{biblatex-examples.bib}

\setlength{\textheight}{9cm}
\begin{document}

Sugar, spice and everything
nice\footcites[12]{aristotle:physics}[12\psq]{aksin}[12\psqq]{companion}
\selectlanguage{ngerman}
Der Leguan liegt auf der
Lauer\footcites[42]{nietzsche:historie}[84\psq]{knuth:ct:a}[96\psqq]{vangennep}
\selectlanguage{english}
Please don't do it like that\footnote{\cite[12]{companion};
\cite[12\psq]{aksin}; \cite[12\psqq]{ctan}}

\end{document}

汤姆富特

答案2

约翰内斯·B已经给了针对这种情况的最佳答案。但人们可能会发现,他们必须编写一个带有 的后记,.而其中biblatex尚未提供方便的命令(就像它对“sq。”/“f。”和“sqq。”/“ff。”:\psq和所做的那样\psqq)。

问题出现的原因在于biblatex它极力避免使用双标点符号,甚至在\cite命令之后扫描标点符号。它发现后记12~f.以句号结尾,不希望它与后面的分号冲突,所以分号被吞掉了。

你可以发现biblatex.in12~f.不是句末句号(与分号冲突),而是缩写点(在分号前是可以的)。\isdot

\cite[etc.\isdot]{sigfridsson};

相关内容