如何将文内引用转换为尾注?

如何将文内引用转换为尾注?

我正在尝试将文内引用转换为尾注。换句话说,参考作者/文章不会出现在文本中,而只会出现在尾注中。文档中还有其他尾注,但我也需要将文内引用转移到尾注中。我在 StackExchange 上搜索过,但无济于事。有什么想法吗?

谢谢!

梅威瑟:

\documentclass[oneside,12pt]{scrbook}
\pagestyle{plain}

\usepackage{endnotes}
\let\footnote=\endnote

\begin{document}

....

\doublespacing
\frontmatter
\mainmatter
\include{jobmarketpaper}
\backmatter

\bibliographystyle{apacite}  
\bibliography{library}

\newpage

\theendnotes

\end{document}

答案1

这对于biblatexBiber 来说似乎是非常可行的。

事实上,verbose-ibid带有几个标准选项的样式(autocite=footnote用于将脚注引文转换为尾注notetype=endonly)几乎满足了您的需求。verbose-ibid但是,后面的引文是“作者,标题”,而不是“作者,年份”,所以我们需要进行一些细微的调整。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{endnotes}

\usepackage[citestyle=verbose-ibid, bibstyle=authoryear, backend=biber,
            autocite=footnote, notetype=endonly, labeldateparts]{biblatex}

\addbibresource{biblatex-examples.bib}

\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
\renewbibmacro*{cite:short}{%
  \printnames{labelname}%
  \setunit*{\printdelim{nameyeardelim}}%
  \printtext[bibhyperlink]{%
    \printlabeldateextra}}


\begin{document}
Lorem\autocite{sigfridsson} ipsum\autocite{nussbaum} dolor\autocite{nussbaum} sit\autocite{sigfridsson}
amet\autocite{knuth:ct:a,knuth:ct:b}.
Lorem\autocite{sigfridsson} ipsum\autocite{knuth:ct:a} dolor\autocite{knuth:ct:b} sit\autocite{knuth:ct:c}
amet\autocite{geer}.
Lorem\autocite{knuth:ct:c} ipsum\autocite{geer}.
\theendnotes
\end{document}

一个简短的示例文本,尾注中有很多参考文献。


如果您实在不能使用biblatex,这里尝试实现上述的穷人版本。

\documentclass{article}

\usepackage[authoryear]{natbib}
\usepackage{bibentry}
\usepackage{endnotes}
\usepackage{etoolbox}

\makeatletter
\newcommand*{\pblx@autocite@i}[1]{%
  \@ifnextchar[%]
    {\pblx@autocite@ii{#1}}
    {\pblx@autocite@ii{#1}[]}}

\def\pblx@autocite@ii#1[#2]{%
  \@ifnextchar[%]
    {\pblx@autocite@iii{#1}#2}
    {\pblx@autocite@iii{#1}{}[#2]}}

\def\pblx@autocite@iii#1#2[#3]#4{%
 #1{%
   \ifstrempty{#2}
     {}
     {#2\prenotedelim}%
   \forcsvlist{\pblx@autocite@process}{#4}%
   \ifstrempty{#3}
     {}
     {\postnotedelim #3}}%
}

\def\pblx@autocite@process#1{%
  \ifcsundef{blx@citeseen@#1}
    {{\frenchspacing\bibentry{#1}}%
     \global\cslet{blx@citeseen@#1}\@empty}
    {\cite{#1}}}

\newcommand*{\simplecite}{\pblx@autocite@i{}}
\newcommand*{\enotecite}{\pblx@autocite@i{\endnote}}
\makeatother

\newcommand*{\prenotedelim}{ }
\newcommand*{\postnotedelim}{, }

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
  author  = {Humphrey Appleby},
  title   = {On the Importance of the Civil Service},
  year    = {1980},
}
\end{filecontents}

\begin{document}
\nobibliography*

Lorem\enotecite[1][2]{appleby}
ipsum\enotecite[2]{appleby}
dolor\enotecite{appleby}

\bibliographystyle{plainnat}
\nobibliography{\jobname}
\theendnotes
\end{document} 

相关内容