通常我会参考
\usepackage[backend=biber]{biblatex}
\addbibresource{reference.bib}
\printbibliography
在reference.bib
哪里
@book{,
author = {},
title = {},
year = {},
volume = {},
publisher = {},
ISBN = {}
}
但是在aps的文章中,很多人确实以我从未见过的方式进行引用。
还有类似\bibitem
\BibitemOpen
.....的命令我以前从未见过。
例如:
\BibitemOpen
\bibfield {author} {\bibinfo {author} {\bibfnamefont {}~\bibnamefont
{}},\ }\href {} {\bibfield
{journal} {\bibinfo {journal} {}\ }\textbf {\bibinfo
{volume} {}},\ \bibinfo {pages} {} (\bibinfo {year}
{})}\BibitemShut {NoStop}%
\bibitem [{\citenamefont {}()}]{}%
我应该以何种方式使用这些参考命令?我在哪里可以创建这种格式?这是另一种参考方式吗?
答案1
这里有两件事正在发生。
该命令\bibitem
来自 LaTeX 内核。如果选择手写参考书目
\begin{thebibliography}
\bibitem Some entry
\bibitem A second entry
...
\end{thebibliography}
then\bibitem
用于代替\item
专用列表结构中的“normal”。如果使用 BibTeX 数据库(常见方法),那么这就是您在.bbl
BibTeX 创建的文件中会找到的结构,但您永远不会手动输入。
在.bbl
由 创建的文件中natbib
,您会发现插入了其他宏,以允许包在 LaTeX 运行中拾取和操作参考书目。它natbib
定义了\BibitemOpen
相关命令。包的源代码有注释:
% \changes{8.2}{2008 Jul 13}{(AO) Allow optional arguments preceding cite key.}
% We give meanings to \cs{bibitemOpen} and \cs{bibitemShut};
% the default is \verb+\relax+. Special .bst files take care of inserting markup into
% the .bbl file. There, each \cs{bibitem} begins with \cs{BibitemOpen} andbibitemOpen
% ends with \cs{BibitemShut}.
如上所述,\bibitemOpen
和\bibitemClose
等于\relax
,因此不执行任何操作。的标准定义\BibitemOpen
只是一个包装器\bibitemOpen
(因此是无操作),而我们对 进行了一些更复杂的操作\BibitemShut
:
\def\BibitemShut#1{%
\def\@bibstop{#1}%
\let\bibitem@Stop\bibitemStop
\let\bibitem@NoStop\bibitemNoStop
\@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
\expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
}%
}%
\def\@bibitemShut{}%
\def\bibitemStop{\@bibitemShut}%
\def\bibitemNoStop{%
\@ifx{\@empty\@bibitemShut}{.\spacefactor\@mmm\space}{\@bibitemShut}%
}%
\def\bibitemContinue{%
\@ifx{\@empty\@bibitemShut}{;\spacefactor\@mmm\space}{\@bibitemShut}%
}%
以上内容用于判断条目是否以句号结尾:如果将条目压缩成“1. a) ... b) ... c ...”形式,则此功能很有用
在标准 TeX 安装中写入此类数据的唯一.bst
文件是 REVTeX 包中的文件,因此正如您所说的与 APS 相关等等。
请注意,如果使用biblatex
BibTeX 数据库(.bib
文件),则相同,但.bbl
文件的工作方式完全不同。因此,它不包含\bibitem
行。