我想使用多个参考书目,为此我使用了以下代码。但是,我意识到我需要配置我的文本编辑器才能正确处理此代码,但我不知道该怎么做。
\documentclass[12pt]{article}
\usepackage{multibib}
\newcites{journal,conference}{Refereed Journal Articles, Refereed Conference Publications}
\begin{document}
Hi, this is an example of the multibib.
\bibliographystylejournal{plain}
\nocitejournal{*}
\bibliographyjournal{journal}
\bibliographystyleconference{plain}
\nociteconference{*}
\bibliographyconference{conference}
\end{document}
我的 conference.bib 和 journal.bib 文件是:
@inproceedings{entry1,
author = {Author name},
address = {address},
booktitle = {Some conference},
title = {Title},
year = {2013},
}
和
@article{entry2,
author = {Author name},
journal = {Some Journal},
title = {Title},
year = {2013},
}
询问 Harish Kumar,这是我的 TexStudio 配置的屏幕截图。
Harish Kumar 提问,这是我使用 arara 编译后的日志和输出
答案1
阿拉拉是一款很酷的 tex 自动化工具。它与 TeX Live 捆绑在一起。如果您使用 MiKTeX,您可以自行安装。它附带一份简洁的文档,您可以参考以了解更多详细信息。
解决您的问题有三个步骤。
跑步multibib
如果你定义你的multibib
喜好:
\newcites{journal, conference}{Refereed Journal Articles, Refereed Conference Publications}
你必须运行(假设你的主文件是main.tex
)
pdflatex main
bibtex main
bibtex journal
bibtex conference
pdflatex main
pdflatex main
现在我们将看到如何使用进行这些编译arara
。
安装arara
如果您使用的是 TeX Live,则可以跳过此步骤。安装 arara 并确保它arara.exe
位于您的系统路径中。安装程序将提供执行此操作的选项,因此请注意在安装过程中阅读说明。
集成arara
texstudio
在 中texstudio
,转到Options
→ Configure TeXstudio
。在打开的窗口中,Build
在左侧选择:
在下User Commands
,输入
"C:/Program Files/arara/arara.exe" -v -l % | txs:///view
(替换C:/Program Files/arara/
为您的路径)或
arara -v -l % | txs:///view
(如果arara
在系统路径中)
如上图所示。另外别忘了给它起个名字(user0: Arara
)。现在是OK
窗口。
现在在菜单Tools
→下User
,您将有arara
一个快捷方式。
推杆directives
您必须arara
根据文档提供指令。有关详细信息,请参阅arara
手册。现在,对于您的情况,请将这些放在文档中的某个位置(我更喜欢放在之前\documentclass
)
% arara: pdflatex: {synctex: yes}
% !arara: makeindex
% arara: bibtex: { files: [ journal, conference ] }
% arara: pdflatex: {synctex: yes}
% arara: pdflatex: {synctex: yes}
!
使arara
指令变为被动的(即注释)
代码:
% arara: pdflatex: {synctex: yes}
% !arara: makeindex
% arara: bibtex: { files: [ journal, conference ] }
% arara: pdflatex: {synctex: yes}
% arara: pdflatex: {synctex: yes}
\documentclass[12pt]{article}
\usepackage{multibib}
\newcites{journal, conference}{Refereed Journal Articles, Refereed Conference Publications}
\usepackage{filecontents}
\begin{filecontents*}{conference.bib}
@inproceedings{entry1,
author = {Author name},
address = {address},
booktitle = {Some conference},
title = {Title},
year = {2013},
}
\end{filecontents*}
\begin{filecontents*}{journal.bib}
@article{entry2,
author = {Author name},
journal = {Some Journal},
title = {Title},
year = {2013},
}
\end{filecontents*}
\begin{document}
Hi, this is an example of the multibib.
\bibliographystylejournal{plain}
\nocitejournal{*}
\bibliographyjournal{journal}
\bibliographystyleconference{plain}
\nociteconference{*}
\bibliographyconference{conference}
\end{document}
保存上述代码,然后在 TeXstudio 中选择arara
并编译。在我的例子中,快捷方式是Alt
+ shift
+F1
来调用arara
。
答案2
bibtex %
将命令 ( )替换Options - Commands - bibtex
为自定义脚本,例如bibtexall.cmd %
的内容bibtexall.cmd
如下。我从TeXstudio 支持论坛,但我对脚本做了一些修改,以便对我来说更有意义。
@echo off
if "%1"=="" goto end
for %%f in ("%~dp1*.aux") do bibtex "%%f"
@echo on
:end
将其放在旁边bibtex.exe
(我使用的是 MiKTeX,因此它位于miktex/bin
)
每次更新自定义书目时,请在 TeXstudio 中运行 bibtex(F8)。
它将解析与 tex 文件位于同一文件夹中的每个现有 aux 文件,这可能会生成很多警告,指出其中一些文件不包含有用的 bibtex 信息,但我认为这没关系。
Linux(bash)版本可以在multibib
包装手册。