# Problem with amsthm [duplicate]

Consider the following MWE:

\documentclass[]{report}
\usepackage{amsthm}

\makeatletter
\def\th@definition{
\thm@notefont{}
\bfseries}
\makeatother

\newtheoremstyle{definition}{2.5em}{2.5em}{}{}{\bfseries}{}{1em}{}
\theoremstyle{definition}
\newtheorem*{defn}{Definition}

\begin{document}

\begin{defn}[Optional Title] Definition content.
\end{defn}

\end{document}

I want to keep the updated definition style, but have the optional title in bold. The first few lines of code (makeatletter ... makeatother) accomplish this for the default definition, but they stop working when I try to modify the definition style. How can I fix this? Thanks in advance.

• Your \makeatletter...\makeatother update precedes \newtheoremstyle{definition}, which overwrites your \th@definition. So, technically, the former construct is useless. So what do you mean by "updated definition style"? – Werner Jun 16 '14 at 16:35
• presumably this uses the technique described in an answer to the question How to make the optional title of a theorem bold with amsthm?. you're redefining the definition theorem style after that, as noted by @Werner, so if you stick with this definition, you should reverse the order. but it would really be better if you did not redefine an existing style -- that will only confuse someone else if they have to look at it later. – barbara beeton Jun 16 '14 at 16:49
• I tried reversing the order and renaming the theorem styles, but it didn't work. What solution would you suggest? – Randy Randerson Jun 16 '14 at 18:12
• I have now provided another answer to the linked question that may be more helpful to you. – Andrew Swann Jun 16 '14 at 18:43