我正在尝试修改脚注中的引用样式,特别是在引用末尾添加一个要点。
我使用该biblatex-chicago
包来编制我的参考书目,下面是我的文档设置的 MWE:
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[main=british, ngerman]{babel}
\usepackage[babel]{csquotes}
\usepackage[backend=biber,
bibencoding=inputenc,
notes,
isbn=false,
noibid=true,
doi=only,
]{biblatex-chicago}
\begin{filecontents}{bibliography.bib}
@article{url,
url = {http://www.example.de},
author = {Surname, Prename},
title = {An article which has a URL},
journaltitle = {Bibliography Styles in LaTeX},
date = {2017}
}
@article{no_url_1,
author = {Surname, Prename},
title = {An article which has no URL},
journaltitle = {Bibliography Styles in LaTeX},
date = {2017}
}
@article{no_url_2,
author = {Surname, Prename},
title = {An article which has no URL},
journaltitle = {Bibliography Styles in LaTeX},
date = {2017}
}
\end{filecontents}
\addbibresource{bibliography.bib}
\begin{document}
Entry with url.\footnote{\cite{url}}
Entry without url.\footnote{\cite{no_url_1}}
Entry without url but page reference.\footnote{\cite[5]{no_url_2}}
\end{document}
我区分了带 URL 和不带 URL 的条目,因为您可以在第二条条目中看到尾随的逗号。此外,我还创建了两个不带 URL 的 bib 条目,因为在我第一次引用条目后,脚注中会有一个简短版本。
我的目标是在每个脚注引文的末尾添加一个点,因此也替换尾随的逗号。有没有办法更改样式并以编程方式执行此操作(无需自己编写样式)还是我必须在每个条目上手动插入点,如下所示:
\footnote{\cite{id}.}
提前感谢任何帮助。
[编辑]
给定的文档处于最后阶段,我正在尝试与作者协商以解决一些问题。有相当多的长脚注,其中有很多cite
s 与文本混合在一起。因此,像@gusbrs 建议的那样更改命令将非常困难(尽管可能)。我仍然希望还有其他方法。
答案1
当然最好的解决方案是使用\footcite
。
但是如果在脚注中调用它,我们也可以让其\cite
以句号结束。
\DeclareCiteCommand{\cite}
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}\iffootnote{\addperiod}{}}
第二个脚注中有问题的逗号是由于cjournal+issue+year+pages
未使用中的逗号造成的\setunit
。
\makeatletter
\renewbibmacro*{cjournal+issue+year+pages}{%
\usebibmacro{cjournal+ser+vol+num}%
\ifboolexpr{% 16th ed.
test {\iffieldundef{issue}}%
and
test {\iffieldundef{year}}%
and
not togl {cms@switchdates}%
}%
{\iffieldundef{number}%
{\ifthenelse{\iffieldundef{pagination}\AND%
\iffieldundef{bookpagination}}%
{\setunit{\postvolpunct}}%
{\setunit{\addcolon\addspace}}}%
{\setunit{\addcomma\addspace}}}%<--- HERE
{\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed.
{\newcunit%
\iffieldundef{issue}%
{\usebibmacro{number+or+month}}%
{\printfield{issue}%
\setunit{\addspace}%
\usebibmacro{cmsyear}}%
\setunit{\addcomma\addspace}}%<--- HERE
{\setunit{\addspace}%
\printtext[parens]{% parens is the default here
\iffieldundef{issue}%
{\usebibmacro{number+or+month}}%
{\printfield{issue}%
\setunit{\addspace}%
\usebibmacro{cmsyear}}}}}}
\makeatother
这两项变化以 标记HERE
。