我尝试使用natbib
段落中的参考文献,而不是每行一个参考文献的列表。下面的示例实现了这个目标,但它破坏了文本和参考书目之间的内部链接(单击文本中的参考文献不会指向参考书目)。罪魁祸首是注释之间的命令%biblio
。你知道为什么吗?也许有什么关于如何修复它的见解?
\documentclass[12pt]{article}
\usepackage[authoryear,round,comma]{natbib}
%\setcitestyle{numbers, comma, open={(},close={)} }
\usepackage{hyperref}
\usepackage{lipsum}
\usepackage{paralist}
%biblio
\let\olditem\item
\renewenvironment{thebibliography}[1]{%
\section*{\large \refname}
\let\par\relax\let\newblock\relax
\renewcommand{\item}[1][]{\olditem[$\bullet$]}%
\inparaenum}{\endinparaenum}
%biblio
\begin{document}
\lipsum[1]
Hi \citep{wilde}
\lipsum[2]
Hi \citep{shore}
\lipsum[3]
Hi \citep{springer}
\lipsum[4-10]
\bibliographystyle{plainnat}
\bibliography{biblatex-examples}
\end{document}
答案1
\documentclass[12pt]{article}
\usepackage[authoryear,round,comma]{natbib}
%\setcitestyle{numbers, comma, open={(},close={)} }
\usepackage{hyperref}
\usepackage{lipsum}
\usepackage{paralist}
%biblio
\makeatletter
\def\NAT@anchor#1#2{%
\hfilneg\hyper@natanchorstart{#1\@extra@b@citeb}%
\textbullet
\hyper@natanchorend
}%
\makeatother
\renewenvironment{thebibliography}[1]{%
\section*{\large \refname}
\let\par\relax\let\newblock\relax
\inparaenum}{\endinparaenum}
%biblio
\begin{document}
\lipsum[1]
Hi \citep{wilde}
\lipsum[2] Hi \citep{shore} \lipsum[3] Hi \citep{springer} \lipsum[4-10]
\bibliographystyle{plainnat}
\bibliography{biblatex-examples}
\end{document}