我现在正在使用
\usepackage[backend=biber, citestyle=numeric]{biblatex}
\usepackage[flushmargin]{footmisc}
\newcommand{\myautocite}[2][1]{\autocite[#1]{#2}{\let\thempfn\relax\footnotetext{\autocite{#2} \citeauthor{#2}, \citeyear{#2}, \citetitle{#2}.}}}
结果是\mayautocite{key}
文中的引用确实是“[3]”,而在页面底部我记得“[3] Hilbert,1901,《第 19 条定理》”。我有两个问题:
--[main] 当我在页面上使用相同的引用时,它会被调用两次或多次,这是我不想要的。我希望每页只调用一次。
--[辅助] 我不希望在此回忆的开头有缩进空格,但希望将其保留用于通常的脚注。
非常感谢您就如何实现这一目标给出的指点!
答案1
这是完成该作业的代码。
\usepackage{csquotes}
\usepackage[%
backend=biber,
style=numeric-comp,
citetracker=true,
pagetracker=true,
]{biblatex}
\makeatletter
\renewbibmacro*{cite:comp}{%
\xdef\cbx@citekey{\thefield{entrykey}}%
\addtocounter{cbx@tempcntb}{1}%
\ifciteseen
{}
{\csnumgdef{cbx@instcount\cbx@citekey}{-100}}%
\ifsamepage{\value{instcount}}{\number\csuse{cbx@instcount\cbx@citekey}}%
{}
{\renewcommand{\@makefntext}[1]{\noindent\normalfont##1}%
\footnotetext{
\printtext[labelnumberwidth]{%
\printfield{prefixnumber}%
\printfield{labelnumber}}%
\addspace
\renewcommand{\newunitpunct}{\addcomma\addspace}
\bibfootnotewrapper{%\fullcite{\thefield{entrykey}}%
\printfield{labelname}\usebibmacro{author}\newunit\printfield{year}\newunit\printfield{title}\addperiod}}}%
\csnumgdef{cbx@instcount\cbx@citekey}{\value{instcount}}%
\iffieldundef{shorthand}
{\ifbool{bbx:subentry}
{\iffieldundef{entrysetcount}
{\usebibmacro{cite:comp:comp}}
{\usebibmacro{cite:comp:inset}}}
{\usebibmacro{cite:comp:comp}}}
{\usebibmacro{cite:comp:shand}}}
\makeatletter
\newcommand{\myautocite}[2][1]{\cite[#1]{#2}}