如标题所示,如果我使用 printtex 和 mkbibquote 声明参考书目字段格式,则 latex 会在第一个引号后添加一个额外的空格,而如果我不使用 \printtext,则不会这样做。
平均能量损失
\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[autostyle,italian=guillemets]{csquotes}
\begin{filecontents}{biblio.bib}
@inreference{treccani:spettrofotometro,
title = {spettrofotometro},
booktitle = {La piccola Treccani},
volume = {XI},
publisher = {Istituto enciclopedia italiana},
date = {1997}
}
\end{filecontents}
\usepackage[style=alphabetic, backend=biber]{biblatex}
\addbibresource{biblio.bib}
\DeclareFieldFormat[inreference]{title}{\printtext{s.v.}\addspace\mkbibquote{#1\isdot}}
\begin{document}
This is just an example\footfullcite{treccani:spettrofotometro}.
\end{document}
答案1
不要\printtext
在 内使用\DeclareFieldFormat
,它在这里没有任何额外的用途,并且会混淆标点符号跟踪器,只需使用
\DeclareFieldFormat[inreference]{title}{s\adddot v\adddotspace\mkbibquote{#1\isdot}}
\DeclareFieldFormat
一般情况下,只有当字段非空时,才会打印中定义的输出,并且打印将启动biblatex
的标点符号处理程序。因此,您无需\printtext
处理标点符号。事实上,如果您使用它,它可能会产生不利影响,因为您本质上是“嵌套”标点符号跟踪器并使其混乱。