自动使用“参见注释 X”引用已引用的论文

自动使用“参见注释 X”引用已引用的论文

有没有办法\footfullcite只在第一次引用一篇论文时,在后续的脚注中指向该注释?像“参见注释 X”这样的做法,我不想这样做手动

我在看Biblatex“参见注释”无法使用速记,但它给了我这个错误:

Runaway argument?
{\printtext [bibhyperlink]{\printfield {shorthand}} \setunit *{\addcomma \ETC.
! File ended while scanning use of \@argdef.

我希望只显示“参见注释”,而不是shorthand

答案1

我的回答基于我以前的和一个domwass 发帖

自动footfullcite:save设置标签。footfullcite:seenote打印对它的引用。

\begin{filecontents}[overwrite]{uni_bib.bib}
    @article{author,
        author = "A. Author",
        title = "A Title",
        journal = "A Journal",
        volume = "1",
        number = "2",
        year = "2023"
    }
    @article{buthor,
        author = "B. Buthor",
        title = "B Title",
        journal = "B Journal",
        volume = "3",
        number = "4",
        year = "2022"
    }    
    @article{cuthor,
        author = "C. Cuthor",
        title = "C Title",
        journal = "C Journal",
        volume = "4",
        number = "5",
        year = "2021"
    }
\end{filecontents}

\documentclass[12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[a4paper,width=150mm,top=25mm,bottom=25mm,bindingoffset=6mm]{geometry}
\usepackage[bottom]{footmisc}
\usepackage[inline]{enumitem}
\usepackage{array}
\usepackage{booktabs}
\usepackage[flushleft]{threeparttable}
\usepackage{amsmath}
\usepackage{svg}
\usepackage{graphicx}
\graphicspath{ {images/} }
\usepackage{tabularx}
\usepackage{blindtext}
\usepackage[final]{microtype}
\usepackage{setspace}
\onehalfspacing
\usepackage[
    bibencoding=utf-8,
    natbib=true,
    style=authoryear-ibid,
    backend=biber,
    url=false,
    doi=false,
    isbn=false,
    eprint=false,
    ]{biblatex}
 
 \DefineBibliographyStrings{english}{%
    seenote = {See note\addspace}
}

\makeatletter
% from https://tex.stackexchange.com/a/38128/101651
\newbibmacro*{footfullcite:save}{% 
  \savefield{entrykey}{\cbx@lastkey}% 
  \csxdef{cbx@\thefield{entrykey}}{\the\value{instcount}}%
  \label{cbx@\the\value{instcount}}}

% modified from https://tex.stackexchange.com/a/38128/101651
\newbibmacro*{footfullcite:seenote}{%
  \ifnameundef{labelname}
    {\printfield{label}}
    {%
    \bibstring{seenote}\addnbspace%
    \ref{cbx@\csuse{cbx@\thefield{entrykey}}}%
    }%
  }
\makeatother

\DeclareCiteCommand{\footfullcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}
  {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
      {\usebibmacro{footfullcite:seenote}}
      {\usebibmacro{footfullcite:save}\usedriver
          {\DeclareNameAlias{sortname}{default}}
          {\thefield{entrytype}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
 
 \DeclareCiteCommand{\cite}
   {\citetrackerfalse\usebibmacro{prenote}}
   {\usebibmacro{cite}}
   {\multicitedelim}
   {\usebibmacro{postnote}\citetrackertrue}
 
\addbibresource{uni_bib.bib}

\usepackage{hyperref}

\nocite{*}

\begin{document}
    cite: \cite{author}
    cite again: \cite{author}
    foot full cite: \footfullcite{buthor}
    foot full cite again: \footfullcite{buthor}
    cite: \cite{cuthor}
    foot full cite first: \footfullcite{cuthor}
    foot full cite second: \footfullcite{cuthor}
    cite: \cite{author}
    foot full cite third: \footfullcite{cuthor}
    foot full cite fouth: \footfullcite{cuthor}
    \newpage
    cite: \cite{author}
    cite again: \cite{author}
    foot full cite: \footfullcite{buthor}
    foot full cite again: \footfullcite{buthor}

    \printbibliography
\end{document}

第一页: 在此处输入图片描述 在此处输入图片描述

第二页: 在此处输入图片描述 在此处输入图片描述

参考书目: 在此处输入图片描述 PS = 就目前而言,您的问题是无法回答的。我之所以能够做到这一点,只是因为我已经回答了您之前的问题。您应该学习做 MWE(最小工作示例):如何编写 MWEB(带有参考书目的最小工作示例)?

相关内容