[Tex/LaTex] change .bst file to get journal name bold

bibtexformatting

Based on this question, I have a certain problem. In my reference list, I want to make the journal title both emphasized and bold (as opposed to only emphasized, as it currently is).

Following the procedure laid out in the above question, I tried defining my own function, as in

FUNCTION {makebold}{
  "\textbf{" swap$ * "}" * }
}

and then inserting makebold when calling the journal name.

    % format journal, volume, number and pages
    % call with
    %   formatted.pages format.journal.vol.num.pages.check
FUNCTION { format.journal.vol.num.pages.check }
{ "journal" journal warning.if.empty
  duplicate$ empty$
  journal    empty$ and
  volume     empty$ and
  number     empty$ and
    { pop$ "" }
    { "\APACjournalVolNumPages{" journal "" makebold.check connect.check
      "}{" *                     volume  "" connect.check
      "}{" *                     number  "" connect.check
      "}{" *                     swap$   "" connect.check
      "}"  *
    }
  if$
}

different from the question I reference, and probably the reason why this is not working, is that the file contains the phrase "emphasize" only where the following function "emphasize.check" is defined, and nowhere else–as you can see above, the journal name is not emphasized at all.

    % emphasizes top of stack, call with
    %     "string" emphasize.check
FUNCTION {emphasize.check}
{ "\Bem{" swap$
  "}"     swap$
  enclose.check
}

So how can it be that the journal name in my reference list is in italics/emphasized (the .bst file does not contain "\textit" neither, nor anything similar), even though the function "emphasize" is nowhere used?

Do I need to work with another file here?

For completion, the complete .bst file can be downloaded from my dropbox here (142kb).

A MWE that calls the bibliography mwe.bib and reproduces the problem is here:

\documentclass[12pt]{scrartcl}

\begin{filecontents}{mwe.bib}
% This file was created with JabRef 2.11.1.
% Encoding: UTF8

@Unpublished{Ham2015,
  Title                    = {Narcissism and Financial Reporting Quality},
  Author                   = {Charles Ham and Mark H. Lang and Nicholas Seybert and Sean Wang},
  Note                     = {Available at SSRN: http://ssrn.com/abstract=2581157 or http://dx.doi.org/10.2139/ssrn.2581157},
  Year                     = {2015}
}

@Article{Ham2013,
  Title                    = {Narcissism is a Bad Sign: {CEO} Signature Size, Investment, and Performance},
  Author                   = {Ham, Charles and Seybert, Nicholas and Wang, Sean and Lundblad, Justin Leiby and Sevilir, Merih and Tate, Geoff and Williams, Devin and Zarowin, Paul and Zheng, Yue},
  Journal                  = {UNC Kenan-Flagler Research Paper},
  Year                     = {2013},
  Number                   = {2013-1},
  Type                     = {Journal Article}
}

@Article{Wink1991,
  Title                    = {Two faces of narcissism},
  Author                   = {Wink, Paul},
  Journal                  = {Journal of Personality and Social Psychology},
  Year                     = {1991},
  Number                   = {4},
  Pages                    = {590},
  Volume                   = {61},
  ISSN                     = {1939-1315},
  Type                     = {Journal Article}
}
\end{filecontents}

\usepackage{apacite}

\begin{document}
blablabla    
\cite{Ham2013}
\cite{Ham2015}
\cite{Wink1991}

\bibliographystyle{apacite}
\bibliography{mwe}
\end{document}

Best Answer

You could redefine the \APACjournalVolNumPages command (this is the formatting command that apacite.bst uses to format journal articles; see page 41 of the current (v6.03) manual):

\makeatletter
\renewcommand{\APACjournalVolNumPages}[4]{%
  \textbf{\Bem{#1}}%             journal
  \ifx\@empty#2\@empty
  \else
    \unskip, \Bem{#2}%  volume
  \fi
  \ifx\@empty#3\@empty
  \else
    \unskip({#3})%      issue number
  \fi
  \ifx\@empty#4\@empty
  \else
    \unskip, {#4}%      pages
  \fi
}
\makeatother

Thanks to Alan Munn for catching my missing \makeatletter-\makeatother. Also, see the second part of nickie's answer for a more elegant implementation of this approach.

Edit: Alternatively, and more in the spirit of your question, you could modify the .bst file to achieve the same result:

FUNCTION { format.journal.vol.num.pages.check }
{ "journal" journal warning.if.empty
  duplicate$ empty$
  journal    empty$ and
  volume     empty$ and
  number     empty$ and
    { pop$ "" }
    { "\APACjournalVolNumPages{\textbf{" journal "" connect.check
      "}}{" *                     volume  "" connect.check
      "}{" *                     number  "" connect.check
      "}{" *                     swap$   "" connect.check
      "}"  *
    }
  if$
}

To answer your second question, the journal name is italicized by default because it is formatted with the \Bem command, which is \let to be \emph in apacite.sty.

Result (same for either approach, using your modified myapacite.bst):

myapacite with bold journal names

Full MWE (with first option and unmodified myapacite.bst):

\documentclass[12pt]{scrartcl}

\begin{filecontents}{mwe.bib}
% This file was created with JabRef 2.11.1.
% Encoding: UTF8

@Unpublished{Ham2015,
  Title                    = {Narcissism and Financial Reporting Quality},
  Author                   = {Charles Ham and Mark H. Lang and Nicholas Seybert and Sean Wang},
  Note                     = {Available at SSRN: http://ssrn.com/abstract=2581157 or http://dx.doi.org/10.2139/ssrn.2581157},
  Year                     = {2015}
}

@Article{Ham2013,
  Title                    = {Narcissism is a Bad Sign: {CEO} Signature Size, Investment, and Performance},
  Author                   = {Ham, Charles and Seybert, Nicholas and Wang, Sean and Lundblad, Justin Leiby and Sevilir, Merih and Tate, Geoff and Williams, Devin and Zarowin, Paul and Zheng, Yue},
  Journal                  = {UNC Kenan-Flagler Research Paper},
  Year                     = {2013},
  Number                   = {2013-1},
  Type                     = {Journal Article}
}

@Article{Wink1991,
  Title                    = {Two faces of narcissism},
  Author                   = {Wink, Paul},
  Journal                  = {Journal of Personality and Social Psychology},
  Year                     = {1991},
  Number                   = {4},
  Pages                    = {590},
  Volume                   = {61},
  ISSN                     = {1939-1315},
  Type                     = {Journal Article}
}
\end{filecontents}

\usepackage{apacite}
\makeatletter
\renewcommand{\APACjournalVolNumPages}[4]{%
  \textbf{\Bem{#1}}%             journal
  \ifx\@empty#2\@empty
  \else
    \unskip, \Bem{#2}%  volume
  \fi
  \ifx\@empty#3\@empty
  \else
    \unskip({#3})%      issue number
  \fi
  \ifx\@empty#4\@empty
  \else
    \unskip, {#4}%      pages
  \fi
}
\makeatother
\begin{document}
blablabla    
\cite{Ham2013}
\cite{Ham2015}
\cite{Wink1991}

\bibliographystyle{myapacite}
\bibliography{mwe}
\end{document}