有没有办法\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(带有参考书目的最小工作示例)?。