更改 chapterbib 中的 achemso 样式

更改 chapterbib 中的 achemso 样式

我有一个根文件和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}请注意,我在文件开头添加了特殊引文。另外,重要的是,请注意,这achemsonatbib基于 的参考书目样式,因此您不能使用该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}

每个章节都可以使用相同的控制数据库(您仍然需要在每个章节中引用它!)。

相关内容