![问题描述](https://linux22.com/image/453339/%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0.png)
问题描述
我想volume
成为number
journal
volume
斜体number
如下图所示,斜体部分为:
但是我的输出是将volume
和number
与分开journal
,并且volume
不在斜体如下图所示:
我的直觉是,这个问题与apalike2.bst
尽管我不知道在哪里以及在这个文件上修改什么。
以下是我的 MWE:
\begin{filecontents*}{\jobname.bib}
@article{wainwright2008graphical,
author = {Wainwright, M. J. and Jordan, M. I.},
title = {Graphical Models, Exponential Families, and Variational Inference},
journal = {Foundations and Trends\textsuperscript{\normalfont\footnotesize\textregistered} in Machine Learning},
year = {2008},
volume = {1},
number = {1--2},
pages = {1--305}
}
\end{filecontents*}
\documentclass[11pt,openany]{book}
\usepackage{natbib}
\usepackage[table]{xcolor}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
citecolor=red,
urlcolor=yellow,
}
\begin{document}
\nocite{*}
\bibliographystyle{apalike2}
\bibliography{\jobname}
\end{document}
答案1
要隐藏后面的逗号journal title
,可以使用add.blank
函数。它的作用是添加一个空白标点符号。解决方案来自这里和这里。
在 的本地副本中apalike2.bst
,找到该FUNCTION {article}
块。在块之前添加以下代码(无论在哪里,只要它在 之前即可FUNCTION {article}
):
FUNCTION {add.blank}
{ " " * before.all 'output.state :=
}
然后在中调用此函数FUNCTION {article}
,紧接着所说的行journal emphasize "journal" output.check
,如下所示:
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output % special for
output.year.check % apalike
new.block
format.title "title" output.check
new.block
crossref missing$
{ journal emphasize "journal" output.check
add.blank
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
这应该可以。