这是一个后续问题 biblatex:将标题超链接到 doi url(如果可用)和biblatex:使标题超链接到 DOI、URL 或 ISBN!
首先,我对 breaklinks=true 有疑问,因为 URL 不会中断,我必须打开 breaklinks,但同时,如果我打开它,这些链接将不再可点击。 以下是代码赫伯特。
\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}
对于第二部分,我不知道。:)