引用时不换行,断开内部链接

引用时不换行,断开内部链接

我尝试使用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}

相关内容