方括号数字样式的引用标注,年份用圆括号括起来,采用“dcu”书目样式

方括号数字样式的引用标注,年份用圆括号括起来,采用“dcu”书目样式

我希望使用方括号 [1] 进行引用,而格式化的 bib 项目中的年份则用圆括号括起来。

[1] 作者,T.(2017)一个问题、TeX-LaTEX。

目前natbib在引用标注和年份周围使用相同样式的括号。

所以如果我说:

\bibpunct{(}{)}{;}{n}{}{,}

我明白了

(1)...

[1] 作者,T.(2017)一个问题、TeX-LaTEX。

如果我说:

\bibpunct{[}{]}{;}{n}{}{,}

我明白了

[1] ...

[1] 作者,T.[2017]一个问题、TeX-LaTEX。

代码:

\documentclass{article}
\usepackage[numbers]{natbib}
\bibliographystyle{dcu}
\bibpunct{[}{]}{;}{n}{}{,}

\begin{document}
Some text. \cite{author2017}
\bibliography{bibliography}
\end{document}

以及文件bibliography.bib

@Article{author2017,
  author =   {The Author},
  title =    {A Question},
  journal =  {TeX -- LaTeX},
  year =     2017}

答案1

编辑:

测试.tex:

\documentclass{article}

\usepackage[numbers]{natbib}
\bibliographystyle{dcu}
\bibpunct{[}{]}{;}{n}{}{,}

%%%%
% Add these two lines:
%%%%
\def\harvardyearleft{(}
\def\harvardyearright{)}


\begin{document}

Some text. \cite{author2017}

\bibliography{bibliography}

\end{document}

书目.bib:

@Article{author2017,
  author =   {The Author},
  title =    {A Question},
  journal =  {TeX -- LaTeX},
  year =     2017}

旧答案:

如果你没有很多引用,你可以使用:

测试.tex:

\documentclass{article}

\usepackage[numbers]{natbib}
\bibliographystyle{dcu}
\bibpunct{}{}{;}{n}{}{,}

\let\oldcite=\cite
\def\cite#1{[\oldcite{#1}]}

\begin{document}

Some text. \cite{author2017}

\bibliography{bibliography}

\end{document}

书目.bib:

@Article{author2017,
  author =   {The Author},
  title =    {A Question},
  journal =  {TeX -- LaTeX},
  year =     {(2017)}}

输出正是您想要的...但是您必须更改 bibliography.bib 文件中的所有引用。

相关内容