\bibitem 和 \BibitemOpen 起什么作用?

\bibitem 和 \BibitemOpen 起什么作用?

通常我会参考

\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 数据库(常见方法),那么这就是您在.bblBibTeX 创建的文件中会找到的结构,但您永远不会手动输入。

.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 相关等等。


请注意,如果使用biblatexBibTeX 数据库(.bib文件),则相同,但.bbl文件的工作方式完全不同。因此,它不包含\bibitem行。

相关内容