多次引用 footcite

多次引用 footcite

我正在准备一份文件,其中的引文作为脚注,我需要用逗号将它们分开,因此使用了所示问题的答案中建议的代码 文本中连续的 \footcite 命令和分隔逗号

但是,将 texlive 更新到 2021 版本后,代码不再运行并出现错误。

问题出在这一行:

\AdaptNoteOpt\footcite\multfootcite

我不知道如何修复它,它说未定义的控制序列

删除它后,一切正常,但在安装 texlive 2021 之前它可以正常工作。

我正在使用 lualatex + biblatex

代码如下所示:


\documentclass[a4paper,12pt,twoside]{book}

%==================================================================================================
%CROSS-Referencing
%==================================================================================================

\usepackage{tocbibind} 
\usepackage[multiple]{footmisc} 
\usepackage{footnoterange} 

\usepackage[%
  hidelinks,
  hyperindex,
  colorlinks=true,
  breaklinks,
  allcolors=blue]{hyperref} 

\usepackage{bookmark}

%======================================================================================================
%Babel Package Settings%
%======================================================================================================

\usepackage{filecontents}


\usepackage[bidi=basic,layout=lists.tabular]{babel}
\babelprovide[import=en,language=Default,main]{english}

\babelfont{rm}{Latin Modern Roman}
\babelfont[english]{rm}{Times New Roman}

\babelcharproperty{980000}[990000]{direction}{al} 


%=============================================================
%BIBLIOGRAPHY SETTINGS%
%=============================================================
\begin{filecontents}{\jobname.bib}
@book{Browning1983,
 author = {Browning, Robert},
 year = {1983},
 title = {Medieval and Modern Greek},
 publisher = {Cambridge University Press},
 langid = {english}
}
@book{bob,
 author = {Browning, Robert},
 year = {1983},
 title = {Medieval and Modern Greek},
 publisher = {Cambridge University Press},
 langid = {english}
}
\end{filecontents}


\usepackage{biblatex}   
  
\addbibresource{\jobname.bib}


%So as to have commas between consecutive \footcite command, declare after bibaltex package so as to see the command
\usepackage{fnpct}
\AdaptNoteOpt\footcite\multfootcite
\setfnpct{punct-after=true,mult-fn-sep =،} 

%==================================================
%Start actual document %
%===================================================
\begin{document}

\begin{otherlanguage}{english}
All citations appear correctly upon using a cite command on each citation
\cite{Browning1983}
\cite{bob}
\newline
Citation numbering appear according to the "langid" in reference definition, how to unify output language to a chosen language??
\newline
English numbering \cite{Browning1983}
\newline
\newline
English numbering \cite{bob}
\newline
Issue displaying the second reference upon putting each citation on a separate line
\cite
{
Browning1983,
bob}
\newline
Issue displaying the second reference in the same "cite" command
\cite{Browning1983,bob}
\\
Issue using the cites command
\cites[30]{bob}[40]{bob}[60]{bob}{Browning1983}
\newline
Issue using citec command on more than one line for clarity of coding
\cites
[30]{bob}
[40]{bob}
{Browning1983}


\end{otherlanguage}

\printbibliography

\end{document}
 


答案1

在 MWE 中:https://tex.stackexchange.com/a/123888/231952,只需用 在文档第 7.15 节\AdaptNoteOpt\footcite\multfootcite 中找到的代码替换即可fnpct

\AdaptNote\footcite{oo+m}[footnote]{%
  \setfnpct{dont-mess-around}%
  \IfNoValueTF{#1}
    {#NOTE{#3}}
    {\IfNoValueTF{#2}{#NOTE[#1]{#3}}{#NOTE[#1][#2]{#3}}}%
}

平均能量损失

\documentclass{article}
\usepackage[style=authortitle,dashed=false]{biblatex}
\addbibresource{biblatex-examples.bib}

\usepackage{fnpct}

%\setfnpct{ranges=true} 
\AdaptNote\footcite{oo+m}[footnote]{%
\setfnpct{dont-mess-around}%
\IfNoValueTF{#1}
{#NOTE{#3}}
{\IfNoValueTF{#2}{#NOTE[#1]{#3}}{#NOTE[#1][#2]{#3}}}%
}

\begin{document}
Text\footcite{knuth:ct:a}

Text\footcite{knuth:ct:b}\footcite{ctan}


Text\footcite{knuth:ct:c}\footcite{companion}\footcite{knuth:ct:d}

Text\footcite{knuth:ct:a}\footcite{knuth:ct:b}\footcite{knuth:ct:c}\footcite{knuth:ct:d}\footcite{companion}

\printbibliography

\end{document}

在此处输入图片描述

\multfootcite您还可以通过以下方式简化定义新命令的语法

\MultVariant{\footcite}
\setfnpct{mult-fn-delim =/} 

显然你可以改变mult-fn-delim。要使用默认分隔符(;),只需注释第二行

平均能量损失

\documentclass{article}
\usepackage[style=authortitle,dashed=false]{biblatex}
\addbibresource{biblatex-examples.bib}

\usepackage{fnpct}

\AdaptNote\footcite{oo+m}[footnote]{%
\setfnpct{dont-mess-around}%
\IfNoValueTF{#1}
{#NOTE{#3}}
{\IfNoValueTF{#2}{#NOTE[#1]{#3}}{#NOTE[#1][#2]{#3}}}%
}

\MultVariant{\footcite}
\setfnpct{mult-fn-delim =/} 

\begin{document}
Text\footcite{knuth:ct:a}

Text\multfootcite{knuth:ct:b/ctan}


Text\multfootcite{knuth:ct:c/companion/knuth:ct:d}

Text\multfootcite{knuth:ct:a/knuth:ct:b/knuth:ct:c/knuth:ct:d/companion}

\printbibliography

\end{document}

相关内容