5

I have a mathematical proof which is long so I have split it up into different sections using \paragraph (eg. \paragraph{The first step}...)

In article mode, the text in the paragraph command is bolded and it stands out. In amsart, it does not and is useless. Can someone recommend me something standard I can use instead? I know I could manually bold the text but I'd rather do something standard.

I don't want to use a description environment because it indents everything and my equations break badly. Thank you.

Here is my code:

\documentclass[10pt,a4paper, reqno, draft]{amsart}
\usepackage{amsmath, color, natbib}
\usepackage{amsfonts, mathtools}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage[colorlinks=true]{hyperref}
%\usepackage[amsmath, amsthm, hyperref]{ntheorem}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\DeclareMathOperator*{\esssup}{ess\,sup}
\swapnumbers
\newtheorem{theorem}{Theorem}[section]
\newtheorem{defn}[theorem]{Definition}
\newtheorem{lem}[theorem]{Lemma}
\newtheorem{conjecture}[theorem]{Conjecture}
\newtheorem{remark}[theorem]{Remark}

\DeclareMathOperator{\sign}{sign}
\newcommand{\cts}{\hookrightarrow}
\newcommand{\compact}{\xhookrightarrow{c}}
\newcommand{\mvec}[2]{\begin{pmatrix}#1\\\vdots\\#2\end{pmatrix}}
\setcounter{secnumdepth}{3}
\begin{document}
\title{AA}
\author{AA}
\begin{abstract}
Blah
\end{abstract}
\maketitle
\tableofcontents
\makeatletter
\def\paragraph{\@startsection{paragraph}{4}%
  \z@\z@{-\fontdimen2\font}%
  \normalfont\bfseries}
\makeatother
\section{Introduction}
\begin{theorem}We have $a=b$.
\end{theorem}
\begin{proof}The proof is split into two.
\paragraph{First step}Blah blah blah.
\paragraph{Second step}Blah blah blah
\end{proof}

\bibliographystyle{plain}
\bibliography{AA}
\end{document}
  • 1
    Welcome to TeX.SX! Please help us to help you and add a minimal working example (MWE) that illustrates your problem. It will be much easier for us to reproduce your situation and find out what the issue is when we see compilable code, starting with \documentclass{...} and ending with \end{document}. – yo' Nov 27 '14 at 16:16
7

amsart.cls has

\def\paragraph{\@startsection{paragraph}{4}%
  \z@\z@{-\fontdimen2\font}%
  \normalfont}

so if you put

\makeatletter
\def\paragraph{\@startsection{paragraph}{4}%
  \z@\z@{-\fontdimen2\font}%
  {\normalfont\bfseries}}
\makeatother

in your preamble, it will use bold for paragraph heads.

  • Thanks for this but it does not work. Please see my code above. The output look like: ".First stepBlah blah blah". I tried putting your code before the begin{document} and after it, both the same result. – christop Nov 27 '14 at 16:54
  • 1
    @christop try now:-) – David Carlisle Nov 27 '14 at 16:57
  • Thanks it works. Can I ask was your first solution a typo or is it because I am using certain packages that it did not work? – christop Nov 27 '14 at 16:58
  • @christop If your question had included a test document I'd have tested, but as it didn't I didn't: was just a typo, sorry. The 6th argument of \@startsection has no {} in the original but to put two commands there you need to brace them. – David Carlisle Nov 27 '14 at 17:00
  • 1
    @christop but what egreg says is correct, this is misuse of \paragraph (which as the above code shows is a level 4 section heading only intended to be used after section, subsection, subsubsection) – David Carlisle Nov 27 '14 at 17:03
5

In my opinion you're abusing \paragraph. I'd prefer defining a command:

\makeatletter
\newcommand{\proofstep}[1]{%
  \par% ensure starting on a new paragraph
  \addvspace{\medskipamount}% some vertical space
  \textit{#1\@addpunct{.}}\enspace\ignorespaces
}
\makeatother

Example.

\documentclass[10pt,a4paper]{amsart}

\newtheorem{theorem}{Theorem}[section]

\makeatletter
\newcommand{\proofstep}[1]{%
  \par% ensure starting on a new paragraph
  \addvspace{\medskipamount}% some vertical space
  \textit{#1\@addpunct{.}}\enspace\ignorespaces
  %%% or comment the above and use
  % \textbf{#1\@addpunct{.}}\enspace\ignorespaces
}
\makeatother

\begin{document}
\title{AA}
\author{AA}
\begin{abstract}
Blah
\end{abstract}
\maketitle

\section{Introduction}

\begin{theorem}
We have $a=b$.
\end{theorem}

\begin{proof}
The proof is split into two steps.

\proofstep{First step}
Blah blah blah.

\proofstep{Second step}
Blah blah blah
\end{proof}

\end{document}

enter image description here

I'd avoid boldface, because it would be too prominent with respect to the Proof label. The step name should definitely be indented for the same reason.

  • Thanks for this suggestion. I see what you mean. By the way, when you use the theorem environment and a subsubsection then the Theorem appears more prominent than the subsubsection which I think looks bad too. And subsection is equally as prominent as the Theorem. Anyway, I want to avoid indentation because my equations get too long and enter the margin. – christop Nov 27 '14 at 17:06
  • @christop It's only the first line that gets intended with this code. And subsections being more subtle than theorems is a design decision of AMS that I quite like, but it's just a personal taste. In general, AMS articles come out usually very nicely looking. – yo' Nov 27 '14 at 17:09
  • @christop The amsart style is quite sluggish; it's not meant for producing real documents. – egreg Nov 27 '14 at 17:09
  • @tohecz ah that's great. – christop Nov 27 '14 at 17:12
  • 1
    @christop For longer works I have my private class. Otherwise I use article with changes. The advantage of using a “private command” like \proofstep is that you can redefine it at will. – egreg Nov 27 '14 at 17:24
1

Or use xpatch.

\documentclass{amsart}
\usepackage{lipsum}
\usepackage{xpatch}
\xpatchcmd{\paragraph}{\normalfont}{{\normalfont\bfseries}}{}{}

\begin{document}
\paragraph{Some paragraph}
\lipsum[1]
\end{document}

enter image description here

  • er doesn't that need to be \normalfont\bfseries in the replacement text? – David Carlisle Nov 27 '14 at 16:50
  • @DavidCarlisle If I add \normalfont, it doesn't work in my miktex!. That is why. :( – user11232 Nov 27 '14 at 16:52
  • You need \xpatchcmd{\paragraph}{\normalfont}{{\normalfont\bfseries}}{}{} with extra {} (which were also missing from my answer, OP didn't provide a test file so I didn't test:-) – David Carlisle Nov 27 '14 at 16:58
  • @DavidCarlisle Thanks, updated. I owe you a beer :-) – user11232 Nov 27 '14 at 17:00

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.