问题描述
这个问题源自@egreg 在在 apalike2 参考书目样式中将 natbib 包和引文中的“&”替换为“and”他提到apalike2
书目格式现在已经过时了。所以我有兴趣采用apalike2
书目格式以及natbib
在软件包但这次使用 biblatex
。备注:换句话说,我希望在 biblatex 中使用教授@egreg 建议的这种书目风格。以下是 MWE,这是 @egreg 针对我在在 apalike2 参考书目样式中将 natbib 包和引文中的“&”替换为“and”:
\begin{filecontents*}{\jobname.bib}
@book{hapa:graphenum,
author = {F. Harary and E. M. Palmer},
title = {Graphical Enumeration},
publisher = {Academic Press},
pages={465--523},
year = 1973
}
@book{Knuth94:TheTeXbook,
author = {Knuth, Donald Ervin},
title = {The \TeX book},
publisher = {Addison-Wesley Publishing Company},
pages={465--523},
year = 1994,
series = {Computers \& Typesetting A},
address = {Reading, MA},
titlenote = {with illustrations by Duane Bibby}
}
@book{datta2017latex,
title={LaTeX in 24 Hours: A Practical Guide for Scientific Writing},
author={Datta, Dilip},
pages={465--523},
year={2017},
publisher={Springer}
}
\end{filecontents*}
\documentclass[12pt,openany]{book}
\usepackage{natbib}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
citecolor=red,
urlcolor=yellow,
}
\begin{document}
I want this citation \cite{hapa:graphenum} to be
\textcolor{red}{Harary and Palmer }\textcolor{black}{(\textcolor{red}{1973})}.
I want this citation \cite{Knuth94:TheTeXbook} to be
\textcolor{red}{Knuth }\textcolor{black}{(\textcolor{red}{1994})}.
This text is quoted from \citep{datta2017latex} should be
(\textcolor{red}{Datta\textcolor{black}{,} 2017}).
\nocite{*}
\bibliographystyle{apalike2-and}
\bibliography{\jobname}
\end{document}
其中apalike2-and
参考书目只是apalike2
在以下行号处修改的样式:
297 { " et~al." * }
298 { " \& " * t * } % changed from " and " for names -- BJR 10/5/89
299 if$
329 { " et~al." * }
330 { " \& " * t * } % changed from " and " for names -- BJR 10/5/89
331 if$
1018 { " et~al." * }
1019 { " \& " * s #2 "{vv~}{ll}" format.name$ * } % " and " -- BJR 10/5/89
1020 if$
到目前为止我尝试过
根据@Ulrike Fischer 的评论,我修改了代码,但出现了以下问题(由于使用biblatex
):
- 引文没有超链接,这是我不喜欢的,而且
- 使用生成的参考书目
biblatex
与使用生成的参考书目不同natbib
,apalike2
我附加了显示我的问题的图片(使用的结果biblatex
):
以及我期望得到什么(从natbib
旁边apalike2
):
以下是我的 MWE:
\begin{filecontents*}{references.bib}
@book{hapa:graphenum,
author = {F. Harary and E. M. Palmer},
title = {Graphical Enumeration},
publisher = {Academic Press},
pages={465--523},
year = 1973
}
@book{Knuth94:TheTeXbook,
author = {Knuth, Donald Ervin},
title = {The \TeX book},
publisher = {Addison-Wesley Publishing Company},
pages={465--523},
year = 1994,
series = {Computers \& Typesetting A},
address = {Reading, MA},
titlenote = {with illustrations by Duane Bibby}
}
@book{datta2017latex,
title={LaTeX in 24 Hours: A Practical Guide for Scientific Writing},
author={Datta, Dilip},
pages={465--523},
year={2017},
publisher={Springer}
}
\end{filecontents*}
\documentclass[12pt,openany]{book}
\usepackage[
left=2.5cm,
right=2.5cm,
top=3cm,
bottom=3cm,
headheight = 3\baselineskip,
headsep = 5mm,
a4paper
]{geometry}
\usepackage[table]{xcolor}
\usepackage{graphicx}
\newcommand\HRule{\noindent\rule{\linewidth}{1.5pt}}
\usepackage{background}
\backgroundsetup{contents={}}
\usepackage{fancyhdr}
\usepackage{hhline}
\pagestyle{fancy}
\usepackage{etoolbox}
\usepackage{csquotes}
\usepackage[backend=biber, style=apa]{biblatex}
\addbibresource{references.bib}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
citecolor=red,
urlcolor=yellow,
}
\usepackage{showframe}
\begin{document}
\chapter*{Acknowledgements}
I want this citation \textcite{hapa:graphenum} to be \textcolor{red}{Harary and Palmer }\textcolor{black}{(\textcolor{red}{1973})}. I want this citation \textcite{Knuth94:TheTeXbook} to be \textcolor{red}{Knuth }\textcolor{black}{(\textcolor{red}{1994})}.This text is quoted from \parencite{datta2017latex} should be (\textcolor{red}{Datta\textcolor{black}{,} 2017}).
\mainmatter
\setcounter{tocdepth}{1}
\chapter{Introduction}
\backmatter
\nocite{*}
\printbibliography
\end{document}
答案1
一般来说,在样式定制方面,biblatex
通常被认为比 BibTeX 的样式更现代、更灵活。还提供了一些 BibTeX 无法提供的功能(完整的 Unicode 支持、源映射等)。.bst
biblatex
但是如果你已经有了一套基于 BibTeX 的设置,并且它完全满足你的需要,那么切换到 并不总是biblatex
最好的选择。你不能使用.bst
来使用现有的文件biblatex
,所以你必须用 来重新创建它的输出biblatex
。用 来重新创建该样式的每一个细节可能会非常痛苦biblatex
——即使biblatex
允许你相当轻松地对你的样式进行一些修改。
如果您愿意接受一些内容,并希望使用biblatex
BibTeX 未提供的一些更高级的功能,那么切换到biblatex
是一个好主意。但是,如果您只想要与使用 BibTeX 时完全相同的输出,那么获得正确结果所需的时间可能最好花在其他地方。
这将超出此站点上合理简短的答案所能提供的范围,以重新创建apalike2
输出biblatex
,因此,我仅提几点。
biblatex
列出了一些简单且常见的自定义设置自定义 biblatex 样式的指南。如果您寻找所需的具体详细信息,可以在此站点上找到更多内容。biblatex-apa
通常,APA样式style=apa,
不是自定义样式的最佳基础。APA 样式非常复杂,biblatex-apa
需要做大量工作才能正确使用。这意味着该样式的可定制性远低于标准样式biblatex
。链接目标的范围不同
biblatex
是一个常见的抱怨。这个网站上有很多关于它们的问题和答案。最适合您的用例的解决方案将取决于您使用的样式。一些相关的链接是超链接名称与 biblatex 作者年份 (biblatex 1.4b),\textcite 宏正确生成“作者(年份)”,但第一个括号带有 hyperref 颜色,当连续两次引用同一个名称时,使用 biblatex-apa 进行完全链接引用的代码会出现问题(BibLaTeX 颜色和链接仅显示年份,不显示其余引文),citet 和 citep 的括号颜色不一致