我尝试在使用 bibtex 时缩写期刊名称。我的方法是使用附加文件进行替换,如本论坛中的以下问题所述:如何在引用中缩写期刊名称还有这里在 linux.org 上。
主要的 tex 文件是这样的:
\documentclass[11pt,a4]{article}
\usepackage{natbib}
%opening
\title{Just a theory}
\author{The Author}
\begin{document}
\maketitle
\begin{abstract}
A general treatment based on the work of Small and Big\cite{small1955} is presented which is extended for computing relevant values under the Harmonic oscillator approximation\cite{big1955}.
\end{abstract}
\section{Introduction}
A general treatment based on the work of Small and Big\cite{small1955} is presented which is extended for computing relevant values under the Harmonic oscillator approximation\cite{big1955}. A general treatment based on the work of Small and Big\cite{small1955} is presented which is extended for computing relevant values under the Harmonic oscillator approximation\cite{big1955}.
\section{Section first}
A general treatment based on the work of Small and Big\cite{small1955} is presented which is extended for computing relevant values under the Harmonic oscillator approximation\cite{big1955}.
\bibliographystyle{plain}
\bibliography{abbr,ref}
\end{document}
abbr 文件和 ref 文件如下:abbr.bib
@string{3D Printing and Additive Manufacturing="3D Print. Addit. Manuf."}
@string{Advances in Complex Systems="Adv. Complex Syst."}
参考文献
@article{small1955,
author = {Freely, I.P.},
title = {A small paper},
journal = {Advances in Complex Systems},
year = 1955,
volume = {1}
}
@article{big1955,
author = {Jass, Hugh},
title = {A big paper},
journal = {3D Printing and Additive Manufacturing},
year = 7991
}
我也尝试过这个;
@string{3D Printing and Additive Manufacturing={3D Print. Addit. Manuf.}}
@string{Advances in Complex Systems={Adv. Complex Syst.}}
也不会缩写期刊名称。目前的输出如下;
答案1
您可以尝试以下操作。
在你的abbr.bib
:
@string{threedprint="3D Print. Addit. Manuf."}
@string{AdCompSys="Adv. Complex Syst."}
在你的ref.bib
:
@article{small1955,
author = {Freely, I.P.},
title = {A small paper},
journal = AdCompSys,
year = 1955,
volume = {1}
}
@article{big1955,
author = {Jass, Hugh},
title = {A big paper},
journal = threedprint,
year = 7991
}
导致:
请注意,我在那里做了三种更改。首先,在 中定义的字符串中abbrv.bib
,使用不带空格的短字符串名称,而不是长字符串名称。将其视为key
调用所定义字符串的 。其次,在 中调用字符串时,ref.bib
无需使用括号。它不是字段,而是在其他地方定义的字符串。第三,出于我不知道的原因,让键以数字(“3D”)开头会引发错误,因此我将其更改为threedprint
。