不幸的是,我必须使用一个似乎与 biblatex 不兼容的文档类(例如 publ 版本 3.57)。尽管我试图取消 bibhang 的声明(cf 类似 natbib 问题),biblatex 抱怨与 backref 不兼容。进一步调查显示,它似乎是 hyperref 包的一个冲突选项。所以我放弃了,不得不使用 cite 包。
每当我输入引文时,我都会这样做:
... as shown in Feirrera~et~al.~\cite{Ferreira2013}. ...
我开始创建这样的宏:
\newcommand{\multicite}[2]{#1~et~al.~\cite{#2}}
呈现如下效果:
... as shown in \multicite{Feirrera}{Ferreira2013}. ...
有没有简单的方法可以从第一作者的 bibkey 中获取姓氏?
我的 MWE 目前是这样的:
\documentclass{egpubl}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\begin{filecontents}{bibl.bib}
@book{Some2005,
title = {Book's title},
author = {Author, Some and Other, Some},
location = {The City},
publisher = {Publisher},
date = {2005},
}
\end{filecontents}
\WsSubmission
\electronicVersion
\PrintedOrElectronic
% % This are my attempts to load biblatex nonetheless
%\let\bibhang\relax
%\usepackage{biblatex}
\usepackage{cite}
\title[foo]{bar}
\author[A. Barfoo]
{A. Barfoo$^{1}$\\,
$^1$Foobar institute\\
}
\newcommand{\multicite}[2]{#1~et~al.~\cite{#2}}
\begin{document}
as shown in \multicite{Some}{Some2005}
\bibliographystyle{eg-alpha-doi}
\bibliography{bibl.bib}
\end{document}
答案1
您可以像这样使用 biblatex:
\documentclass{egpubl}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\let\bibhang\arealyundefinedcommand
\usepackage{biblatex}
\WsSubmission
\makeatletter
\renewcommand{\electronic@Version}{%
\usepackage[pdftex,
%pagebackref=true,
colorlinks,linkcolor=blue,citecolor=blue,urlcolor=blue,
bookmarks=false,
pdfpagemode=UseNone,
pdftitle={\@shorttitle},
pdfauthor={\@shortauthor},
pdfsubject={\pdf@Subject},
pdfkeywords={Computer Graphics Forum, EUROGRAPHICS}]{hyperref}
}
\renewcommand{\printed@Version}{%
\usepackage[pdftex,
%pagebackref=false,
colorlinks,linkcolor=black,citecolor=black,urlcolor=black,
bookmarks=false,
pdfpagemode=UseNone,
pdftitle={\@shorttitle},
pdfauthor={\@shortauthor},
pdfsubject={\pdf@Subject},
pdfkeywords={Computer Graphics Forum, EUROGRAPHICS}]{hyperref}
}
\makeatother
\electronicVersion
\PrintedOrElectronic
% % This are my attempts to load biblatex nonetheless
%\usepackage{cite}
\title[foo]{bar}
\author[A. Barfoo]
{A. Barfoo$^{1}$\\,
$^1$Foobar institute\\
}
\newcommand{\multicite}[2]{#1~et~al.~\cite{#2}}
\addbibresource{bibl.bib}
\begin{document}
as shown in \cite{Some2005}, \textcite{Some2005}
\end{document}