我想修改文件 plain.bst 以自定义我的参考书目。我想要几件东西:
- 名字以粗体显示后接日期(月年)
- 在作者姓名和文章或书籍标题、文章名称之间跳过一行。 最后,我希望在正文中(我使用 \cite{} 的地方)参考文献显示如下:[name-year],其中 name 是第一作者的姓名。对于这一点,我完全不知道该用什么!我给出的示例是使用 biber 获得的,我想将 bibtex 与 bst 文件一起使用。
答案1
这种定制的书目风格正是新吸水工程可能是最好的工具。使用 OP 建议的数据库文件的一个子集(main.bib
),
@article{Abrahams1986,
title = {Scaling description of the dielectric function near the mobility edge},
author = {Abrahams, Elihu and Lee, P. A.},
journal = {Phys. Rev. B},
volume = {33},
issue = {2},
pages = {683--689},
year = {1986},
month = {1},
publisher = {American Physical Society},
url = {http://link.aps.org/doi/10.1103/PhysRevB.33.683}
}
@book{Nakayama2003,
title = {Fractal Concepts in Condensed Matter Physics},
series = {Springer Series in Solid-State Sciences},
volume = {140},
author = {Nakayama, Tsuneyoshi and Yakubo, Kousuke},
address = {New York},
publisher = {Springer},
issn = {0171-1873},
year = {2003}
}
@article{Chalker1988,
title = {Scaling, diffusion, and the integer quantized Hall effect},
author = {Chalker, J. T. and Daniell, G. J.},
journal = {Phys. Rev. Lett.},
volume = {61},
issue = {5},
pages = {593--596},
year = {1988},
month = {8},
publisher = {American Physical Society},
url = {http://link.aps.org/doi/10.1103/PhysRevLett.61.593}
}
@article{Chalker1990,
journal = {Physica A: Statistical Mechanics and its Applications},
volume = {167},
issue = {1},
month = {8},
year = {1990},
day = {1},
pages = {253-258},
title = {Scaling and eigenfunction correlations near a mobility edge},
author = {J. T. Chalker}
}
@article{Pook1991,
year = {1991},
issn = {0722-3277},
journal = {Zeitschrift für Physik B Condensed Matter},
volume = {82},
number = {2},
title = {Multifractality and scaling in disordered mesoscopic systems},
url = {http://dx.doi.org/10.1007/BF01324339},
publisher = {Springer-Verlag},
author = {Pook, Werner and Janßen, Martin},
pages = {295-298}
}
我们可以整理以下(Bibulous 格式)样式文件(main.bst
)
TEMPLATES:
article = \textbf{<au>, (<year>[-<month.monthabbrev()>[-<day>]]):}\\ [\href{<url>}{<title>}|\href{<doi>}{<title>}|<title>|], \textit{<journal>} \textit{<volume>}([<number>|<issue>|]), [<startpage>--<endpage>|<startpage>|<eid>|].
book = \textbf{[<au>|<ed>|], (<year>[-<month.monthabbrev()>[-<day>]]):}\\ \textit{<title>}[, <edition_ordinal>~ed.][, <series>][ <issn>], <address>: <publisher>.
SPECIAL-TEMPLATES:
authorlist = <author.to_namelist()>
editorlist = <editor.to_namelist()>
authorname.n = [<authorlist.n.prefix> ]<authorlist.n.last>, <authorlist.n.first.initial()>.[ <authorlist.n.middle.initial()>.][, <authorlist.n.suffix>.]
au = <authorname.0>, ...{ \& }<authorname.9>
editorname.n = [<editorlist.n.prefix> ]<editorlist.n.last>, <editorlist.n.first.initial()>.[ <editorlist.n.middle.initial()>.][, <editorlist.n.suffix>.]
ed = <editorname.0>, ...{ \& }<editorname.5>
citelabel = <authorlist.0.last>-<year>
sortkey = <citelabel>
(请注意,上面的代码块给出了全部的文件。)最后,要实现格式化参考条目所要求的悬挂缩进格式,需要在main.tex
文件序言中添加一些代码。取自@egreg 提出的解决方案, 我们可以用
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[paper=letterpaper, text={5.8in,8.5in},centering]{geometry}
\usepackage[colorlinks=True,urlcolor=blue,citecolor=black,breaklinks=true]{hyperref}
\usepackage{enumitem}
\makeatletter
\renewcommand{\@biblabel}[1]{}
\renewenvironment{thebibliography}[1]
{\section*{\refname}%
\@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
\begin{enumerate}[label={},itemindent=*,leftmargin=3em]
\@openbib@code
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\end{enumerate}}
\makeatother
\begin{document}
{\noindent}Citations: \cite{Abrahams1986,Nakayama2003,Chalker1988,Chalker1990,Pook1991}
\bibliography{example8}
\bibliographystyle{example8}
\end{document}
产生如下所示的格式化结果: