biblatex:使“作者”超链接到 DOI、URL 或 ISBN,并在 hyperref 中出现 url 中断链接问题

biblatex:使“作者”超链接到 DOI、URL 或 ISBN,并在 hyperref 中出现 url 中断链接问题

这是一个后续问题 biblatex:将标题超链接到 doi url(如果可用)biblatex:使标题超链接到 DOI、URL 或 ISBN

首先,我对 breaklinks=true 有疑问,因为 URL 不会中断,我必须打开 breaklinks,但同时,如果我打开它,这些链接将不再可点击。 中断链接=false 以下是代码赫伯特

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber]{biblatex} 
\usepackage[colorlinks,breaklinks=false]{hyperref}
\bibliography{biblatex-examples}
\ExecuteBibliographyOptions{doi=false}
\newbibmacro{string+doi}[1]{%
  \iffieldundef{doi}{#1}{\href{http://dx.doi.org/\thefield{doi}}{#1}}}
\DeclareFieldFormat{title}{\usebibmacro{string+doi}{\mkbibemph{#1}}}
\DeclareFieldFormat[article]{title}{\usebibmacro{string+doi}{\mkbibquote{#1}}}
\begin{document}
A reference to~\cite{kastenholz} and~\cite{sigfridsson}. 
\printbibliography
\end{document}

其次,我想知道如何将其更改为“作者”而不是“标题”。谢谢您的帮助。

答案1

所以最后我把其他人的作品整合在一起了。(1),2,3,4)。希望我把每个人都包括进来了。这是合并的代码。

\documentclass[12pt]{article}
\usepackage[dvips]{graphicx}
\usepackage{epstopdf} 

\usepackage[pdftex,colorlinks]{hyperref}

\usepackage[backend=biber]{biblatex} 


\bibliography{biblatex-examples}
\DeclareNameAlias{sortname}{last-first}
\DeclareNameAlias{default}{last-first}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%This part in in bbx file.

\ExecuteBibliographyOptions{doi=false}
\DeclareFieldFormat{doilink}{%
    \iffieldundef{doi}{%
    \iffieldundef{url}{%
     #1%
    }{%
      \href{\thefield{url}}{#1}%
    }%
  }{
   \href{http://dx.doi.org/\thefield{doi}}{#1}
   }%
}


\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
   \printtext[doilink]{%
  \usebibmacro{author/translator+others}%
  }%
  \setunit{\labelnamepunct}\newblock%
  \addperiod%
  \usebibmacro{title}%
  \addperiod%
  \newunit\newblock%
  \usebibmacro{journal+issuetitle}%
  \newunit\newblock%
  \iftoggle{bbx:isbn}%
    {\printfield{issn}}%
    {}%
  \newunit\newblock%
  \addperiod%
  \usebibmacro{doi+eprint+url}%
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\cite{kastenholz}\qquad\cite{herrmann}\qquad\cite{sigfridsson}
\printbibliography
\end{document}

这是屏幕截图。尽情享受吧。这个会先选择 DOI,如果 DOI 不可用,它会查找 url。谢谢大家! 截屏

答案2

breaklinks=true在 hyperref 中使用,请使用 pdftex。例如在 Texshop 中,我可以运行在替代排版模式下。

%!TEX TS-program = pdflatex  
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber]{biblatex} 
\usepackage[colorlinks,breaklinks=true]{hyperref}

对于第二部分,我不知道。:)

相关内容