我想在 引入的条目后添加一个句点\cite
。我正在使用biblatex
。
到目前为止,我只找到了\autocite
使用来更改结尾的方法\bibfootnotewrapper
。是否有可以控制的类似包装器\cite
?
例子:
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
%compiled with "latexmk -xelatex"
\documentclass{article}
\usepackage[notes, natbib,doi=false,isbn=false,url=false,omitxrefdate=false, backend=bibtex, clearlang=true]{biblatex-chicago}
\bibliography{lib.bib}
\begin{document}
\footnote{\cite{goossens93}. Something something}
\autocite{goossens93}
\end{document}
其中 lib.bib 为:
@book{goossens93,
author = "Frank Mittelbach and Michel Goossens and Johannes Braams and David Carlisle and Chris Rowley",
title = "The {LaTeX} Companion",
year = "1993",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"}
答案1
我同意上面评论的人的观点。我看不出你通过不手动添加句点来从特殊命令中获得什么好处。
但是你可以\autocites
以这种方式滥用:)
我创建了一个新的分隔符:
\newcommand*{\multipostnotedelim}{\addperiod\space}
然后调整multipostnote
格式使其自动大写:
\DeclareFieldFormat{multipostnote}{\ifcapital{\MakeCapital{#1}}{#1}}
然后修补宏multipostnote
以使用我们的新宏\multipostnotedelim
:
\usepackage{xpatch}
\xpatchbibmacro{multipostnote}
{\postnotedelim}{\multipostnotedelim}{}{}
然后你可以这样做:
Filler text \autocites(something something)[12]{goossens93}.
给你这个输出:
答案2
您可以定义一个\punctcite
命令,它是的副本\cite
,但带有一个包装器,在引用后添加一个句号。
\newcommand{\bibpunctwrapper}[1]{%
\bibsentence#1\addperiod}
\DeclareCiteCommand{\punctcite}[\bibpunctwrapper]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
这\bibpunctwrapper
是 的副本\bibfootnoterwapper
(我使用了一个新命令,以便能够独立使用这两个命令)。 并且只是'\punctcite
的副本,只添加了可选参数。chicago-notes
\cite
[\bibpunctwrapper]
用作
\footnote{\punctcite{companion} Something something}
获得
Michel Goossens、Frank Mittelbach 和 Alexander Samarin,《The LaTeX Companion》,第 1 版(马萨诸塞州雷丁:Addison-Wesley,1994 年)。
在脚注中