1

I'm using amsbook package but don't like the indentation at the beginning of theorems and proofs environments.

I've tried to the the solution proposed here, and it works with respect to indents, however, it seems to suppress the font for theorem-like environments in amsbook, namely \scshape, instead, it apparently switches back to \bfseries.

However, the author of the solution claims that his method does indeed works with amsbook.

I've tried inserting

\patchcmd{\@begintheorem}{\scshape}{}{}{}
\patchcmd{\@opargbegintheorem}{\scshape}{}{}{}

manually, but still to no avail.

If one doesn't want to follow the link, then here's the proposed code to remove indentation:

\makeatletter
\patchcmd\@thm
  {\let\thm@indent\indent}{\let\thm@indent\noindent}%
  {}{}
\makeatother

Compiable code:

\documentclass{amsbook}

\usepackage{amssymb}
\usepackage{mathtools}
\usepackage[top=1in, bottom=1.15in, left=1.15in, right=1.15in]{geometry}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@thm
  {\let\thm@indent\indent}{\let\thm@indent\noindent}%
  {}{}
\patchcmd{\@begintheorem}{\scshape}{}{}{}
\patchcmd{\@opargbegintheorem}{\scshape}{}{}{}
\makeatother

\expandafter\patchcmd\csname\string\proof\endcsname
  {\normalparindent}{0pt }{}{}
\expandafter\patchcmd\csname\string\theorem\endcsname
  {\normalparindent}{0pt }{}{}

\usepackage{hyperref}
\hypersetup{
  colorlinks   = true, 
  urlcolor     = blue, 
  linkcolor    = blue, 
  citecolor    = red 
}
\usepackage{mathrsfs}
\usepackage{enumitem}

\renewcommand\labelenumi{(\theenumi)}

\theoremstyle{definition}
\newtheorem{theorem}{Theorem}[chapter]

\begin{document}

\chapter{This is}

\begin{theorem}
This is a theorem.
\end{theorem}

\begin{proof}
Proof by contradiction. If it wasn't, then I wouldn't put it inside t 
theorem environment.
\end{proof}

\end{document}

I apologize if the question may be in essence stupid, I'm still new to LaTeX.

  • Off-topic: you are loading hyperref too early. – cfr Sep 19 '17 at 1:16
  • the recommended method for changing the theorem style with amsbook (into which is built amsthm) is to define a \newtheoremstyle. how to do this is is documented in the amsthm user's guide (texdoc amsthm). which was completely rewritten about a year ago to give more and clearer examples. this question might be a potential duplicate: how to un-indent theorems although i don't particularly favor the answer. – barbara beeton Sep 19 '17 at 1:49
  • @cfr Thanks, I've made some googling, know I now it should be loaded last almost in every case. – Jxt921 Sep 19 '17 at 3:03
  • @barbarabeeton That's helpful, thanks. I've done what I've wanted to do using \newtheoremstyle. For some reason, before your comment I thought that etoolbox is the better (whatever this word means in this context) way. Apparently, not so much. Concerning duplicates, while my question (though I can see now it is poorly worded) is technically about a different but related issue, I agree that it might count as a duplicate, and I apologize. – Jxt921 Sep 19 '17 at 3:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.