我的问题如下:
% File name: Example.tex
\documentclass[journal]{IEEEtran}
\usepackage{cite}
\begin{document}
\cite{key}
\bibliographystyle{IEEETran}
\bibliography{bibfile}
\end{document}
我想在单独的 PDF 输出中生成参考文件。我既可以运行独立Example.bbl
文件作为输入,也可以按照下面的建议添加代码。例如,我想Reference.pdf
每次都获取一个额外的 PDF 文件作为输出。Example.pdf
还包含参考作为主文件。
答案1
这是一个非常简化的版本,bibtex
它在最后写入一个文件,并在最后自动编译它。外部文件称为\jobnamesepbib.tex
,例如foosepbib.tex
。
可以将.bbl
文件包含在“独立”文档中。但是,所需的特殊包等也必须包含在文件写入中。
但是,此bibtex
步骤必须在外部进行。照常编译三次。
但这对于 却不起作用biblatex
。
\documentclass{article}
\newwrite\bibstuff
\AtEndDocument{%
\immediate\openout\bibstuff=\jobname sepbib.tex
\immediate\write\bibstuff{%
\string\documentclass{article}^^J
\string\begin{document}^^J
\string\InputIfFileExists{\jobname.bbl}{}{}^^J
\string\end{document}^^J
}
\immediate\closeout\bibstuff
\immediate\write18{pdflatex \jobname sepbib.tex} % Compilation
}
\begin{document}
\section{Foo}
\nocite{*}
\bibliographystyle{alpha}
\bibliography{references}
\end{document}
更新
\documentclass{IEEEtran}
\usepackage{cite}
\newwrite\bibstuff
\AtEndDocument{%
\immediate\openout\bibstuff=\jobname sepbib.tex
\immediate\write\bibstuff{%
\string\documentclass{IEEEtran}^^J
\string\usepackage{cite}^^J
\string\begin{document}^^J
\string\InputIfFileExists{\jobname.bbl}{}{}^^J
\string\end{document}^^J
}
\immediate\closeout\bibstuff
\immediate\write18{pdflatex \jobname sepbib.tex}
}
\begin{document}
\section{Foo}
\cite{knuth1986texbook}
\bibliographystyle{IEEEtran}
\bibliography{references}
\end{document}
这是我对 TeX.SX 的标准references.bib
:
@book{knuth1986texbook,
keywords = {book},
title={The texbook},
author={Knuth, D.E. and Bibby, D.},
volume={1993},
year={1986},
publisher={Addison-Wesley}
}
@article{knuth1977fast,
keywords = {article},
title={Fast pattern matching in strings},
author={Knuth, D.E. and Morris Jr, J.H. and Pratt, V.R.},
journal={SIAM journal on computing},
volume={6},
number={2},
pages={323--350},
year={1977},
publisher={SIAM}
}