8

I am working with amstheorem and amsbook, and I'm trying to remove the indentation before the numbers of theorems so that they are aligned exactly to the left. Is there any way to do this? In addition, it would also be nice to have: 1) The theorem number in a box (also when citing it elsewhere). 2) The theorem number and name in bold.

Here is a minimal working example: Here's a picture of what I mean (the two red horizontal lines): enter image description here LyX code:

#LyX 2.2 created this file. For more info see http://www.lyx.org/
\lyxformat 479
\begin_document
\begin_header
\textclass amsbook
\begin_preamble
\usepackage[breaklinks,colorlinks=true,linkcolor=blue,
citecolor=blue, urlcolor=blue]{hyperref}
\usepackage{braket}
\usepackage{mathtools}
\DeclarePairedDelimiter\abs{\lvert}{\rvert}%
\DeclarePairedDelimiter\norm{\lVert}{\rVert}%
\let\oldnorm\norm
\def\norm{\@ifstar{\oldnorm}{\oldnorm*}}
\makeatother
\usepackage{amsfonts}
\usepackage{dsfont}
\renewcommand{\vec}[1]{\mathbf{#1}}
\usepackage[scaled=0.88]{beraserif}
\usepackage[scaled=0.85]{berasans}
\usepackage[scaled=0.84]{beramono}
\usepackage[T1]{fontenc}
\usepackage{mathpazo}
\usepackage[T1,small,euler-digits]{eulervm}
\numberwithin{section}{chapter}
\end_preamble
\options reqno
\use_default_options true
\begin_modules
theorems-ams
eqs-within-sections
figs-within-sections
yashi-theorems-ams
theorems-sec
\end_modules
\maintain_unincluded_children false
\begin_local_layout
Preamble
\swapnumbers
EndPreamble
\end_local_layout
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_math auto
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\pdf_bookmarks true
\pdf_bookmarksnumbered false
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder false
\pdf_colorlinks true
\pdf_backref false
\pdf_pdfusetitle true
\papersize a4paper
\use_geometry true
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 0
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\index Index
\shortcut idx
\color #008000
\end_index
\leftmargin 1cm
\topmargin 1cm
\rightmargin 1cm
\bottommargin 1cm
\secnumdepth 5
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\bullet 1 0 9 -1
\bullet 3 0 7 -1
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Title
Title
\end_layout

\begin_layout Chapter
First Chapter
\end_layout

\begin_layout Section
First Section
\end_layout

\begin_layout Standard
Here is some text.
 As it begins a paragraph, it starts indented.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
 Bla bla bla.
\end_layout

\begin_layout Claim
Some Claim [some words some words some words some words some words some
 words some words some words some words some words some words some words
 some words some words some words some words some words some words some
 words some words some words some words some words some words]
\end_layout

\begin_layout Definition
Some Definition
\end_layout

\end_body
\end_document

LaTeX code:

%% LyX 2.2.0dev created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[oneside,english,reqno]{amsbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{luainputenc}
\usepackage[a4paper]{geometry}
\geometry{verbose,tmargin=1cm,bmargin=1cm,lmargin=1cm,rmargin=1cm}
\setcounter{secnumdepth}{5}
\usepackage{amsthm}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\swapnumbers
\theoremstyle{plain}
\newtheorem{thm}{\protect\theoremname}[section]
  \theoremstyle{plain}
  \newtheorem{claim}[thm]{\protect\claimname}
  \theoremstyle{definition}
  \newtheorem{defn}[thm]{\protect\definitionname}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage[breaklinks,colorlinks=true,linkcolor=blue,
citecolor=blue, urlcolor=blue]{hyperref}
\usepackage{braket}
\usepackage{mathtools}
\DeclarePairedDelimiter\abs{\lvert}{\rvert}%
\DeclarePairedDelimiter\norm{\lVert}{\rVert}%
\let\oldnorm\norm
\def\norm{\@ifstar{\oldnorm}{\oldnorm*}}
\makeatother
\usepackage{amsfonts}
\usepackage{dsfont}
\renewcommand{\vec}[1]{\mathbf{#1}}
\usepackage[scaled=0.88]{beraserif}
\usepackage[scaled=0.85]{berasans}
\usepackage[scaled=0.84]{beramono}
\usepackage[T1]{fontenc}
\usepackage{mathpazo}
\usepackage[T1,small,euler-digits]{eulervm}
\numberwithin{section}{chapter}

\AtBeginDocument{
  \def\labelitemii{\(\circ\)}
  \def\labelitemiv{\(\star\)}
}

\makeatother

\usepackage{babel}
  \providecommand{\claimname}{Claim}
  \providecommand{\definitionname}{Definition}
\providecommand{\theoremname}{Theorem}

\begin{document}

\title{Title}
\maketitle

\chapter{First Chapter}

\section{First Section}

Here is some text. As it begins a paragraph, it starts indented. Bla
bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla
bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla.
Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla
bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla
bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla.
\begin{claim}
Some Claim {[}some words some words some words some words some words
some words some words some words some words some words some words
some words some words some words some words some words some words
some words some words some words some words some words some words
some words{]}
\end{claim}
\begin{defn}
Some Definition
\end{defn}

\end{document}
7

the easiest way to change this is to patch the \@thm command in amsbook. (i think) you will need \usepackage{etoolbox}. then this code in your preamble should do the trick.

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

(the \noindent setting is the default in amsart.)

edit: a comment by steven segletes suggests an alternative:

\makeatletter
\let\sv@thm\@thm
\def\@thm{\let\indent\relax\sv@thm}
\makeatother

it turns out that quashing the indentation for the proof is much more difficult. neither of the previous approaches works (although the only difference between amsbook and amsart (where proofs are not indented) in this respect is the absence of setting \itemindent in amsart.

i'm working on that.

  • 2
    Wouldn't the "easiest" be \makeatletter \let\sv@thm\@thm \def\@thm{\let\indent\relax\sv@thm} \makeatother in the preamble, without a package? – Steven B. Segletes Feb 26 '15 at 20:19
  • Hey thanks Steven, that worked. Is there something that will fix the problem for "Proof" as well? – PPR Feb 26 '15 at 20:29
  • Dear Barbara, thanks a lot for your edit. I'm getting an error when I run it: ! Missing number, treated as zero. It seems to be different than the first code (\itemindent instead of \indent). If I try with indent instead if does compile but has no effect on the indentation of "Proof". – PPR Feb 26 '15 at 21:26
  • @PPR -- hmmmph. i didn't test that; i only adapted it from the definition in amsbook. i guess i will have to take the time to test. (i really should know better ...) – barbara beeton Feb 26 '15 at 21:29
  • Dear Barbara, thanks! This compiles: \makeatletter \let\sv@proof\@proof \def\@proof{\let\itemindent\relax\sv@proof} \makeatother but has no effect.. – PPR Feb 26 '15 at 21:30

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.