21

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]"?

5
  • Howcome your publisher doesn't want natbib. Apr 21, 2013 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, 2013 at 22:06
  • What BibTeX style (the .bst file) does your publisher use?
    – Herr K.
    Apr 21, 2013 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, 2013 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, 2013 at 8:23

2 Answers 2

17

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

3
  • 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, 2013 at 8:28
  • 4
    @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, 2017 at 16:56
  • 1
    Nice reference! Jul 13, 2020 at 23:58
4

Use biblatex, and the command \citeyear.

8
  • 3
    As it stands, your answer is very brief. Maybe you could extend it with a MWE.
    – mafp
    Apr 21, 2013 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, 2013 at 23:35
  • @Mico -- 'not using biblatex'.
    – jon
    Apr 21, 2013 at 23:49
  • @jon Where do you get the 'not using biblatex' from? I see that spec nowhere on this page...
    – jub0bs
    Apr 21, 2013 at 23:59
  • 1
    @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, 2013 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.