我希望在再次出现相同引文时引用参考文献中的前一条注释。目前,再次引用相同参考文献时,作者姓名和标题会出现。我希望参考书目看起来类似这样:
- 约翰·约翰逊,“A title”,A Journal 60(2015):70-95。
- Jane Janesdaughter,书名(英国牛津:牛津大学出版社,2010 年),40;Johnson(见上文注释 1)。
- 约翰逊(见上文注释 1)。
- 同上。
- 克里斯托弗森,《A 标题》,《A 期刊》60(2000):100–50。
- 约翰逊(见上文注释 1)。
我的.tex
文件:
\documentclass[a4paper,12pt]{article}
\usepackage[backend=biber,notes,natbib,uniquename=false,firstinits=false,uniquelist=false,sortcites=false]{biblatex-chicago}
\usepackage{endnotes}
\let\footnote=\endnote
\bibliography{library.bib}
\begin{document}
Some text
\theendnotes
\end{document}
任何帮助深表感谢!
答案1
biblatex-chicago
已经具备了一些必要的结构。我们修改了footcite:save
宏,使其在作品首次被引用时始终保存注释。然后我们修改cite:short:cms
为仅在同一作者有更多作品时才打印标题(使用选项singletitle
),并让它打印引用完整引用的注释。不幸的是,cite:short:cms
很长,所以代码不是特别紧凑。
\documentclass[a4paper,12pt]{article}
\usepackage[backend=biber,notes,natbib,uniquename=false,firstinits=false,uniquelist=false,sortcites=false,singletitle]{biblatex-chicago}
\usepackage{endnotes}
\let\footnote=\endnote
\addbibresource{biblatex-examples.bib}
\makeatletter
\renewbibmacro*{footcite:save}{%
\ifboolexpr{%
test {\iffootnote}%
not test {\ifciteseen}
}%
{\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
\label{cbx@\the\value{instcount}}}%
{}}%
\renewbibmacro*{cite:short:cms}{% was cite:short
\usebibmacro{allshort+firstcite+xref}%
\ifthenelse{\ifnameundef{labelname}\OR%
\ifentrytype{inreference}\OR%
\ifentrytype{reference}\OR%
\ifentrytype{mvreference}}%
{\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
\ifentrytype{periodical}}% Simplify .bib creation
{\ifuseauthor%
{\ifboolexpr{%
not test {\iffieldundef{shortjournal}}%
and
((
test {\ifcitation}%
and
togl {cms@citejtabb}%
)
or
(
test {\ifbibliography}%
and
togl {cms@bibjtabb}%
))
}%
{\printfield[shortjournal]{shortjournal}\newcunit}%
{\printfield[journaltitle]{journaltitle}\newcunit}}%
{}}%
{\ifentrytype{manual}%
{\printlist{organization}\isdot\newcunit}%
{}}}%
{\ifboolexpr{%
test {\ifciteidem}%
and
not test {\ifbibliography}%
and
not test {\iffirstonpage}%
and
not togl {cms@noidem}%
and
not togl {cms@headlessnote}%
}%
{\bibstring[\mkibid]{idem\thefield{gender}}%
\classicpunct}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{labelname}%
\bibrightbracket\classicpunct}%
{\iffieldequalstr{authortype}{anon?}%
{\bibleftbracket\printnames{labelname}?%
\bibrightbracket\classicpunct}%
{\printnames{labelname}%\usebibmacro{choose+labelname}%
\isdot\classicpunct}}}}%
\ifboolexpr{%
(
test {\ifentrytype{review}}%
or
test {\ifentrytype{suppperiodical}}%
)
and
test {\iffieldequalstr{relatedtype}{reviewof}}%
and
togl {cms@citerel}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}}%
{\ifsingletitle{}{%
\ifboolexpr{%
togl {cms@allshort}%
or
test {\ifbibliography}%
}%
{\printtext[bibhyperref]{%
\printfield[citetitle]{labeltitle}}}%
{\printtext[cmshyperlink]{%
\printfield[citetitle]{labeltitle}}}}%
\ifboolexpr{%
test {\ifuniquework}%
or
test {\ifcsundef{cms@xfield}}%
}%
{}%
{\setunit{\shortextrapunct}%
\usebibmacro{shortnote+extrafield}}}%
\ifboolexpr{test {\iffootnote} and test {\ifciteseen}}
{\setunit{\addspace}%
\printtext[parens]{\bibstring{seenote}\addnbspace%
\ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}
{}}%:\thefield{entrytype}?
\makeatother
\begin{document}
Lorem\autocite{sigfridsson}
ipsum\autocite{vizedom:related}
dolor\autocite{sigfridsson}
sit\autocite{sigfridsson}
\theendnotes
\end{document}