我使用unsrt
样式来制作我的 BibTeX 参考书目,一切都很好。它根据我引用的层次结构对条目进行排序。但是,对于一页(这是我的作品摘要),我不希望条目被计算在内。例如,在那一页中,我引用了第 7 章中提到的一篇论文,即 [67],然后引用了第 9 章中的另一篇论文,即 [89]。但是,一旦我在前言中引用它们,它们就变成了 [1] 和 [2]
答案1
一般来说,摘要应该能够独立于作品,因此它不应该包含参考编号。但是,如果您确实需要它,那么对于标准文档,您可以\ciation
通过发出\@fielswfalse
(适当地用 包围\makeatletter...\maketother
)来关闭命令的编写:
\documentclass{article}
\begin{document}
\begin{abstract}
\makeatletter\@fileswfalse\makeatother
My abstract has references~\cite{inbook-minimal}.
\end{abstract}
A reference in the main text~\cite{article-minimal}.
\nocite{*}
\bibliographystyle{unsrt}
\bibliography{xampl}
\end{document}
答案2
我同意 Andrew Swann 的评论。如果可能的话,摘要中不应引用任何内容,如果引用的话,一般性地提及作者就足够了。
如果您想在摘要中引用但又不计算在内unsrt
,这里有一些补丁:
\documentclass{article}
\usepackage{etoolbox}
\makeatletter
\newcommand{\write@citation}{\string\citation}
\newcommand{\write@nocitation}{\string\@gobble}
\patchcmd\@citex{\string\citation}{\perhaps@write@citation}{}{}
\patchcmd\nocite{\string\citation}{\perhaps@write@citation}{}{}
\newcommand{\ignorecite}{\global\let\perhaps@write@citation\write@nocitation}
\newcommand{\dontignorecite}{\global\let\perhaps@write@citation\write@citation}
\dontignorecite % initialize to normal
\makeatother
\begin{document}
\title{A paper}
\author{A. Uthor}
\maketitle
\ignorecite
\begin{abstract}
In the abstract we cite \cite{article-minimal} and \cite{book-minimal}
\end{abstract}
\dontignorecite
\section{A section}
Here we cite \cite{mastersthesis-minimal}, then \cite{phdthesis-minimal}
and finally \cite{book-minimal} and \cite{article-minimal}.
\bibliographystyle{unsrt}
\bibliography{xampl} % should be in every TeX distribution
\end{document}
您\ignorecite
在区域的开始处写下\cite
不应计算命令出现顺序的位置以及\dontignorecite
该区域结束的时间。
该补丁的目的是使 LaTeX\@gobble{<key>}
在.aux
文件中而不是\citation{<key>}
在区域中写入。