2

I would like to have citations using square brackets [1], while the year in the formatted bib item is surrounded by round parentheses.

[1] Author, T. (2017) A question, TeX - LaTEX.

Currently natbib uses the same style of brackets around the citation call-outs and around the year.

So if I say:

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

I get

(1) ...

[1] Author, T. (2017) A question, TeX - LaTEX.

And if I say:

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

I get

[1] ...

[1] Author, T. [2017] A question, TeX - LaTEX.

Code:

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

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

And the file bibliography.bib:

@Article{author2017,
  author =   {The Author},
  title =    {A Question},
  journal =  {TeX -- LaTeX},
  year =     2017}
  • I had the same problem with agsm style too. The solution below worked for me. – oLas Oct 21 '17 at 8:24
2

Edit:

test.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}

bibliography.bib:

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

Old answer:

If you don't have real many citations you can use:

test.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}

bibliography.bib:

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

Output is exactly what you want... But you have to change all your citations in bibliography.bib file.

  • A quick fix, but I have a lot of bibliography entries and this solution is not sustainable. Thanks. – vivian Oct 10 '17 at 21:01
  • @vivian I found a solution by accident! But it works with current format. – koleygr Oct 10 '17 at 21:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.