使用自定义引用命令的一致标点符号

使用自定义引用命令的一致标点符号

我正在使用的解决方案是否有可能在 Tufte-BibLaTeX 组合中微调引用位置?效果几乎完美。但是引用末尾的标点符号与不一致\autocite

.在以下 MWE 中,第一个引用末尾没有,但第二个引用有。

\documentclass[nobib]{tufte-handout}
\usepackage{xparse}
\usepackage{xpatch}
\usepackage[
  style=verbose,
  autocite=footnote,
  backend=biber
]{biblatex}
\addbibresource{biblatex-examples.bib}

\makeatletter
\xpatchcmd{\@footnotetext}%
      {\color@begingroup}
      {\color@begingroup\toggletrue{blx@footnote}}
      {}
      {}
\makeatother

\DeclareCiteCommand{\sidecitehelper}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{cite:postnote}}

\ExplSyntaxOn
\NewDocumentCommand\sidecite{D<>{}O{}om}{%
  \iftoggle{blx@footnote}
    {\cs_set_protected_nopar:Npn \__sct_wrapper:nn ##1 ##2 {\mkbibparens{##2}}}
    {\cs_set_protected_nopar:Npn \__sct_wrapper:nn ##1 ##2 {\sidenote[][##1]{##2}}}
    {\IfNoValueTF{#3}
      {\__sct_wrapper:nn{#1}{\sidecitehelper[#2]{#4}}}
      {\__sct_wrapper:nn{#1}{\sidecitehelper[#2][#3]{#4}}}}
}
\ExplSyntaxOff

\begin{document}

This,\sidecite[8]{springer} should\autocite{springer} be a side note
\printbibliography 

\end{document}

在此处输入图片描述

我怎样才能\sidecite与之保持一致\autocite

答案1

为了\sidecite与保持一致,\footcite我们可以添加\bibfootnotewrapper到包装器命令(最初我们删除了\mkbibfootnote,但与\bibfootnotewrapper保持一致性)

\DeclareCiteCommand{\sidecitehelper}[\bibfootnotewrapper]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{cite:postnote}}

我还改变了我原来的答案以包含这一修改。

相关内容