默认情况下,\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};