![更改 chapterbib 中的 achemso 样式](https://linux22.com/image/271281/%E6%9B%B4%E6%94%B9%20chapterbib%20%E4%B8%AD%E7%9A%84%20achemso%20%E6%A0%B7%E5%BC%8F.png)
我有一个根文件和chapter.tex
每个章节的单独的 chapter.bib(根据chapterbib
设置:我没有使用该achemso
包)。
根文件:
\documentclass[12pt,oneside,final]{thesis}
\usepackage{chapterbib}
\usepackage[superscript]{cite}
\usepackage{chemstyle}
\usepackage{cite}
\begin{document}
\title{Title}
\include{chapter1}
\end{document}
第 1 章(作为单独的 tex 文件)
\chapter{Chapter 1}
Text goes here\cite{person2013malaria}
\bibliographystyle{achemso}
\bibliography{./Bibliographies/chapter1}
Bib文件(作为单独的.bib
文件保存到上面相应的目录中)
@article{person2013malaria,
title={Malaria},
author={Person, One and Person, Two and Person, Three and Person, Four and Person, Five and Person, Six and Person, Seven and Person, Eight and Person, Nine and Person, Ten and Person, Eleven},
journal={J. Amer. Med. Assoc.},
volume={25},
number={2},
pages={160},
year={2013},
publisher={LWW}
}
我正在尝试achemso
使用以下命令来控制我的风格书目:
@Control{achemso-control,
ctrl-article-title = "yes",
ctrl-chapter-title = "no",
ctrl-etal-number = "99",
ctrl-etal-firstonly = "no",
}
...没有成功。不确定我是否把它放在了错误的位置(尝试过直接将它添加到文件中.bib
,另存为单独的.bib
文件(chapter1-control.bib
)并使用命令调用它\bibliography
。
答案1
如果您手动使用控制系统,则需要做两件事:
@Control
在您的一个数据库中包含一个条目- 引用该控制条目(使用
\nocite
,因此不打印任何文本)
如果您使用多个参考书目,则魔术引用需要应用于每个参考书目。因此,最小的工作示例将是这样的:
\begin{filecontents}{\jobname-chapter-one}
\nocite{achemso-control}% Special citation here
\chapter{Chapter 1}
Text goes here\cite{person2013malaria}
\bibliographystyle{achemso}
\bibliography{\jobname-chapter-one}
\end{filecontents}
\begin{filecontents}{\jobname-chapter-one.bib}
@article{person2013malaria,
title={Malaria},
author={Person, One and Person, Two and Person, Three and Person, Four and Person, Five and Person, Six and Person, Seven and Person, Eight and Person, Nine and Person, Ten and Person, Eleven},
journal={J. Amer. Med. Assoc.},
volume={25},
number={2},
pages={160},
year={2013},
publisher={LWW}
}
@Control{achemso-control,
ctrl-article-title = "yes",
ctrl-chapter-title = "no",
ctrl-etal-number = "99",
ctrl-etal-firstonly = "no",
}
\end{filecontents}
\documentclass{report}
\usepackage[sort&compress,numbers]{natbib}
\usepackage{chapterbib}
\usepackage{chemstyle}
\begin{document}
\title{Title}
\include{\jobname-chapter-one}
\end{document}
\nocite{achemso-control}
请注意,我在文件开头添加了特殊引文。另外,重要的是,请注意,这achemso
是natbib
基于 的参考书目样式,因此您不能使用该cite
包并且必须使用 中的适当设置natbib
。
在上面,我将特殊条目.bib
与实际引用放在同一个文件中。您不必这样做,事实上,该achemso
包的做法是创建一个专用.bib
文件,其中只有这一个条目。如果您这样做,演示可能看起来像这样:
\begin{filecontents}{\jobname-chapter-one}
\chapter{Chapter 1}
\nocite{achemso-control}
Text goes here\cite{person2013malaria}
\bibliographystyle{achemso}
\bibliography{\jobname-control,\jobname-chapter-one}
\end{filecontents}
\begin{filecontents}{\jobname-chapter-one.bib}
@article{person2013malaria,
title={Malaria},
author={Person, One and Person, Two and Person, Three and Person, Four and Person, Five and Person, Six and Person, Seven and Person, Eight and Person, Nine and Person, Ten and Person, Eleven},
journal={J. Amer. Med. Assoc.},
volume={25},
number={2},
pages={160},
year={2013},
publisher={LWW}
}
\end{filecontents}
\begin{filecontents}{\jobname-control.bib}
@Control{achemso-control,
ctrl-article-title = "yes",
ctrl-chapter-title = "no",
ctrl-etal-number = "99",
ctrl-etal-firstonly = "no",
}
\end{filecontents}
\documentclass{report}
\usepackage[sort&compress,numbers]{natbib}
\usepackage{chapterbib}
\usepackage{chemstyle}
\begin{document}
\title{Title}
\include{\jobname-chapter-one}
\end{document}
每个章节都可以使用相同的控制数据库(您仍然需要在每个章节中引用它!)。