bibtex を使用して参考文献の順序付けから前書きの引用を除外するにはどうすればよいですか?

bibtex を使用して参考文献の順序付けから前書きの引用を除外するにはどうすればよいですか?

frontmatter私の博士論文では、いくつかの章が論文として出版されたことを明らかにするページを に数ページ含める必要があります。これには論文の引用も含まれます。これらの引用は最初に使用されるため[1]、 、 などと表示されます。[2]

その結果、私の序論では、最初の引用が になってしまいました。これらの引用が で始まり、 の引用が最後にカウントされるように、bibtex に実際に序論 ( 内)[5]から引用の順序付けを開始するように強制する方法はありますか?mainmatter[1]frontmatter

unsrt追加パッケージのないスタイルとドキュメント クラスを使用していますreport

答え1

使用できるはずです

{\csname @fileswfalse\endcsname\cite{aaa}}

前文で

\nocite{aaa}

最後に。

これにより、必要な場所で通常の引用が行われますが、補助ファイルへの bibcite 行の書き込みが停止されます。その後、\nocite補助ファイルに書き込み、生成された参考文献にエントリを配置する必要があります。

答え2

David のアイデアに従ってfrontmatter、次のように修正することができます。mainmatter

\documentclass{book}

\usepackage{letltxmacro}
\makeatletter
\LetLtxMacro\@citexOrig\@citex
\g@addto@macro\frontmatter{%
\def\@citex[#1]#2{\leavevmode
  \let\@citea\@empty
  \@cite{\@for\@citeb:=#2\do
    {\@citea\def\@citea{,\penalty\@m\ }%
     \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
%     \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
     \@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}%
       \G@refundefinedtrue
       \@latex@warning
         {Citation `\@citeb' on page \thepage \space undefined}}%
       {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}%
   \AtEndDocument{\nocite{#2}}%
  }%
}
\g@addto@macro\mainmatter{\LetLtxMacro\@citex\@citexOrig}
\makeatother

\usepackage{lipsum}
\begin{document}
\frontmatter
frontmatter Text \cite{article-full} and \cite{article-minimal}

\mainmatter
mainmatter Text \cite{book-full} and \cite{book-minimal}

\bibliography{xampl}
\bibliographystyle{unsrt}

\end{document}

もちろん、再定義することで同じ結果を得ることができます\cite

\documentclass{book}

\usepackage{letltxmacro}
\makeatletter
\LetLtxMacro\citeOrig\cite
\g@addto@macro\frontmatter{%
 \renewcommand*\cite[2][]{%
   \ifx\relax#1\relax {\@fileswfalse\citeOrig{#2}}\else {\@fileswfalse\citeOrig[#1]{#2}}\fi%
    \AtEndDocument{\nocite{#2}}%
  }%
}
\g@addto@macro\mainmatter{\LetLtxMacro\cite\citeOrig}
\makeatother

\usepackage{lipsum}
\begin{document}
\frontmatter
frontmatter Text \cite{article-full} and \cite{article-minimal}

\mainmatter
mainmatter Text \cite{book-full} and \cite{book-minimal}

\bibliography{xampl}
\bibliographystyle{unsrt}

\end{document}

どちらの解決策も、David が提供したアイデアに基づいています。

関連情報