1

I changed the font shape of command \citep{} so that all letters appear in small-caps, according to following redefinition given in this question:

\makeatletter
\DeclareRobustCommand\citep
  {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@partrue
     \@ifstar{\scshape\NAT@fulltrue\NAT@citetp}{\scshape\NAT@fullfalse\NAT@citetp}}
\makeatother

However, when the authors' names are in the abbreviated form, the "et al." appears in small-caps as well. But, I want "et al." to remain in lowercase. Is this possible? I am using the dcu bibliography style.

  • For example, the stardard dcu style is (Smith et al., 2017) with the modification I got (SMITH ET AL., 2017). But, I want (SMITH et al., 2017). – Lara Aug 10 '17 at 22:11
  • 1
    It won't work unless you change the style (the bst) so that the et al is in some command that one could change. – Ulrike Fischer Aug 10 '17 at 22:15
  • No problem. I already created a mydccu style. Because I need a specific punctuation between the authors' names. – Lara Aug 10 '17 at 22:20
  • So you already have your own version of dcu.bst? – Alan Munn Aug 11 '17 at 2:56
  • Yes, but I only changed the names in the list of references. It's an easy change to make. My question is more complex for me. – Lara Aug 11 '17 at 3:07
2

I suggest you proceed as follows:

  • Open your already-modified version of the file dcu.bst in a text editor.

  • In that file, change all five [5] instances of

    et~al.
    

    to

    \textnormal{et~al.}
    

    (\textup{et~al.} works too.)

  • Save the modified bst file.

  • Rerun BibTeX, and then LaTeX twice more.

Incidentally, do note that this approach to rendering the authors' names in small-caps in citation call-outs has several significant drawbacks. First, it does not ensure that the connector word "and" will be typeset with lowercase letters; this case arises when bib entries have exactly two authors. To remedy this, insert the instruction \providecommand\harvardand{\textnormal{and}} after loading natbib. Second, this approach also does nothing for cases of "et al." and "and" generated by \citet, \citet*. Third, it doesn't render the authors' names in small-caps when using \citeauthor, \citealp, \citealt, and so on. Last but not least, the formatted bibliographic entries will continue to have the authors' names shown in regular (i.e., non-smallcap) letters -- quite likely creating a weird discrepancy between the ways the authors' names are typeset in the citation call-outs on the one hand and in the bibliography on the other. A full solution, then, would involve modifying the dcu.bst bibliography style file much more thoroughly.


A full MWE and associated screenshot:

enter image description here

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@misc{ab,author="Aaa and Bbb", title="Thoughts", year=3001}
@misc{abc,author="Aaa and Bbb and Ccc", title="Thoughts", year=3002}
\end{filecontents}

\documentclass{article}
\usepackage[round,authoryear]{natbib}
\makeatletter
\DeclareRobustCommand\citep
  {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@partrue
   \@ifstar{\scshape\NAT@fulltrue\NAT@citetp}%
           {\scshape\NAT@fullfalse\NAT@citetp}}
\makeatother
\bibliographystyle{dcu-mod}
\providecommand\harvardand{\textnormal{and}}

\begin{document}
\citep{abc}, \citep{ab}
\bibliography{mybib}
\end{document}
| improve this answer | |

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.