15

I have to submit this article, in which I need to cite

Smith [2012]

as opposed to

[Smith, 2012]

Easy. With natbib I just use \citet. Except that I just realised the publisher doesn't want natbib in my LaTeX file.

Is there an alternative, other than manually writing "Smith [2012]"?

  • Howcome your publisher doesn't want natbib. – Mario S. E. Apr 21 '13 at 22:04
  • I don't know, this is what is says: "If my paper was formatted using LaTeX, I have used an unaltered copy of the 2013 version of xxxx.sty and xxxx.bst and my LaTeX source file does not use the hyperref or geometry or natbib packages." (real file names removed) – gozzilli Apr 21 '13 at 22:06
  • What BibTeX style (the .bst file) does your publisher use? – Herr K. Apr 21 '13 at 22:27
  • 2
    Does the xxxx.sty file you're required to use provide its own citation-related commands by any chance? If so, you could use them instead of the (well-known) citation commands provided by the natbib package. – Mico Apr 22 '13 at 2:27
  • It's a modified version of named.bst I believe. Actually, now that you mention, there are instructions inside the file and \citeauthoryear is the command I was looking for. Thanks a lot! – gozzilli Apr 22 '13 at 8:23
12

Whether using biblatex is allowed in the solution or not is unclear. However, if biblatex is indeed allowed, I recommend using biblatex's \textcite (as well as \citeauthor and \citeyear), with the following tweaks:

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents*}{mybiblio.bib}
@Book{Batchelor:2000,
    address     = {Cambridge, UK},
    author      = {Batchelor, G.{\,}K.},
    title       = {An Introduction to Fluid Dynamics},
    publisher   = {Cambridge University Press},
    year        = {2000},
}
\end{filecontents*}

\usepackage[style=authoryear]{biblatex}
\renewcommand*\bibopenparen{[}
\renewcommand*\bibcloseparen{]}
\addbibresource{mybiblio}

\begin{document}
    \noindent
    All of this is discussed in \textcite{Batchelor:2000}.\\
    \citeauthor{Batchelor:2000}'s book was published in \citeyear{Batchelor:2000}.
    \printbibliography
\end{document}

enter image description here

  • 1
    This is not the solution I ended up using, but since it's the most complete one and my requirements didn't mention anything about not using biblatex, I'll mark it accepted. – gozzilli Apr 22 '13 at 8:28
  • 2
    @gozzilli What did you end up doing? Some publications require use of a custom bst file that is incompatible with biblatex, so it would be nice to know what your solution was. – sautedman Feb 22 '17 at 16:56
3

Use biblatex, and the command \citeyear.

  • 3
    As it stands, your answer is very brief. Maybe you could extend it with a MWE. – mafp Apr 21 '13 at 22:37
  • 1
    Given that the OP says that the use of a certain yyyy.bst bibliography style file seems to be an absolute requirement, I would suspect that using biblatex is going to be a viable option for him/her. – Mico Apr 21 '13 at 23:35
  • @Mico -- 'not using biblatex'. – jon Apr 21 '13 at 23:49
  • @jon Where do you get the 'not using biblatex' from? I see that spec nowhere on this page... – jub0bs Apr 21 '13 at 23:59
  • @Jubobs -- I was actually agreeing (I think) with Mico, who was saying that using biblatex is likely [not] an option given the requirement that the OP use an unnamed but specific .bst. It is highly unlikely that the .bst in question is biblatex.bst! – jon Apr 22 '13 at 0: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.