My institute's format standards require that author's name in \citet{}
citations should appear with first letter in uppercase, whereas in \citep{}
, all letter should be in uppercase.
For example: \citet{Wooldridge2002}
should give Wooldridge(2002)
whereas \citep{Wooldridge2002}
should give (WOOLDRIDGE, 2002)
.
How can I accomplish that? I tried a naive solution with \MakeUppercase
, but it didn't worked. See example (\bibitem
extracted from .bbl
generated from .bib
with our style):
\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\begin{document}
I want the first letter of author's name in uppercase here: \citet{Wooldridge2002} (ok).
I want all letters of author's name in uppercase here: \MakeUppercase\expandafter{\citep{Wooldridge2002}} (not ok).
\begin{thebibliography}{9}
\bibitem[Wooldridge(2002)WOOLDRIDGE]{Wooldridge2002} WOOLDRIDGE, M.~J\@.
\textbf{An Introduction to Multiagent Systems}. Chichester: John Wiley \&
Sons, 2002.
\end{thebibliography}
\end{document}
EDIT: I rephrased the paragraphs in the code to reflect better my intentions.
Best Answer
You can add in your preamble
It simply redefines the
\citep
command, with extra\scshape
to get the name of the authors in uppercase.