我在用着这解决方案是在每个脚注末尾自动添加一个句号;仅当脚注没有以句号、问号或感叹号结尾时,代码才应插入句号。
citestyle=authoryear-ibid
然而,当我使用in时,多加了一个句号biblatex
(authoryear-ibid
“立即将重复的引用替换为缩写‘“Ibid.”)”。
梅威瑟:
\documentclass{book}
\usepackage[
style=chicago-authordate,
citestyle=authoryear-ibid,
ibidpage=true,
]{biblatex}
\addbibresource{bibliografia.bib}
% This macro inserts a period only if the footnote does not end with a period, a question mark or a bang
\makeatletter%
\long\def\@makefntext#1{%
\parindent 1em\noindent \hb@xt@ 1.8em{\hss\@makefnmark}#1%
\ifnum\the\spacefactor<3000.\fi}
\makeatother
\begin{document}
This works \footcite{Gomme1956}
Here one too many period is added \footcite{Gomme1956}
\end{document}
我怎样才能避免添加过多的句号?
答案1
biblatex
更改某些标点符号命令的空间因子,以便更精细地控制标点符号并避免标点符号冲突。在本例中,产生的句号的biblatex
空间因子为 1006 ( \blx@sf@period
),因此我们也需要对此进行检查
\documentclass{book}
\usepackage[
style=chicago-authordate,
citestyle=authoryear-ibid,
ibidpage=true,
]{biblatex}
\addbibresource{biblatex-examples.bib}
\makeatletter%
\long\def\@makefntext#1{%
\parindent 1em\noindent \hb@xt@ 1.8em{\hss\@makefnmark}#1%
\ifnum\the\spacefactor<3000
\ifnum\the\spacefactor=\blx@sf@period
\else
.%
\fi
\fi}
\makeatother
\begin{document}
This works \footcite{sigfridsson}
Here one too many period is added \footcite{sigfridsson}
Lorem\footnote{Blob}
\end{document}
请注意,如果您使用的唯一脚注是由以下方式生成的,那么您根本不需要额外的代码\footcite
:biblatex
自动添加句点。