TeX - LaTeX Asked by Jung Lim. Koo on February 15, 2021
I am having a problem with the numbering of the theorems (by section) in a paper. My problem is that I want to number my theorems and propositions such that they appear as something like:
Theorem 3.1, Proposition 3.1 etc.
However, using the current list of commands I have, I am getting the following:
Theorem 31, Proposition 31 etc.
It seems like at least for the theorem command that I have put in, it is the usual command to call when trying to number theorems by section, so I am a little stumped why I am getting this error.
Here is my list of packages and commands:
documentclass[smallextended,referee]{svjour3}
smartqed
usepackage{graphicx}
usepackage{epstopdf}% To incorporate .eps illustrations using PDFLaTeX, etc.
usepackage{subfigure}% Support for small, `sub' figures and tables
usepackage{amsmath}
usepackage{amssymb}
usepackage{amscd}
usepackage{epsfig}
usepackage{amsfonts}
usepackage{amsthm}
usepackage{color}
theoremstyle{plain}
newtheorem{thm}{Theorem}[section]
newtheorem{cor}[theorem]{Corollary}
newtheorem{lem}[theorem]{Lemma}
newtheorem{ntn}{Notations}[section]
newtheorem{pro}{Proposition}[section]
newtheorem{dfn}{Definition}[section]
newtheorem{as}{Assumption}[section]
newtheorem{rem}{Remark}[section]
newtheorem{ob}{Observation}[section]
renewcommand{thefigure}{arabic{section}.arabic{figure}}
renewcommand{theequation}{arabic{section}.arabic{equation}}
defdiv{mathop{rm div}}
defD{mathop{bf rm D}}
defFP{mathop{rm p}}
defSpan{mathop{rm Span}}
defboldalpha{mbox{boldmath $alpha$}}
defboldpi{mbox{boldmath $pi$}}
defboldzeta{mbox{boldmath $zeta$}}
defboldtheta{mbox{boldmath $theta$}}
begin{document}
section{Solution}label{Solution}
begin{lem}label{conditions}
Words for lemma
end{lem}
begin{thm}label{mainthm}
Words for theorem
end{thm}
begin{rem}label{remone}
Words for remark
end{rem}
section{Analysis}label{Analysis}
begin{pro}label{observation}
Words for proposition
end{pro}
begin{rem}label{remtwo}
Words for remark
end{rem}
begin{thm}label{secondthm}
Words for remark
end{thm}
begin{pro}label{proposition}
Words for proposition
end{pro}
end{document}
Theorem-like environments should be defined, with the svjour3
class, by using
spnewtheorem
and not newtheorem
. Here's how you should do:
documentclass[smallextended,referee,envcountsect]{svjour3}
usepackage{amsmath}
usepackage{bm}
smartqed
journalname{foo}
% Theorem-like environments are defined with spnewtheorem
%
% Usage:
%
% spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
% or spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
% or spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
spnewtheorem{thm}{Theorem}[section]{bfseries}{itshape}
spnewtheorem{cor}[theorem]{Corollary}{bfseries}{itshape}
spnewtheorem{lem}[theorem]{Lemma}{bfseries}{itshape}
spnewtheorem{ntn}{Notations}[section]{bfseries}{itshape}
spnewtheorem{pro}{Proposition}[section]{bfseries}{itshape}
spnewtheorem{dfn}{Definition}[section]{bfseries}{itshape}% maybe upshape?
spnewtheorem{as}{Assumption}[section]{bfseries}{itshape}
spnewtheorem{rem}{Remark}[section]{bfseries}{itshape}
spnewtheorem{ob}{Observation}[section]{bfseries}{itshape}
DeclareMathOperator{Div}{div} % div is already defined
DeclareMathOperator{D}{mathbf{D}}
DeclareMathOperator{FP}{p}
DeclareMathOperator{Span}{Span}
newcommand{boldalpha}{bm{alpha}}
newcommand{boldpi}{bm{pi}}
newcommand{boldzeta}{bm{zeta}}
newcommandboldtheta{bm{theta}}
begin{document}
section{Solution}label{Solution}
begin{lem}label{conditions}
Words for lemma
end{lem}
begin{thm}label{mainthm}
Words for theorem
end{thm}
begin{rem}label{remone}
Words for remark
end{rem}
section{Analysis}label{Analysis}
begin{pro}label{observation}
Words for proposition
end{pro}
begin{rem}label{remtwo}
Words for remark
end{rem}
begin{thm}label{secondthm}
Words for remark
end{thm}
begin{pro}label{proposition}
Words for proposition
end{pro}
end{document}
Note that I left only the packages necessary for the example to run. Note also how I redefined your personal commands, in the correct way: in particular, don't redefine commands you don't know about (div
, in this case).
About the packages you load in the example:
amsfonts
is already loaded by amssymb
amsthm
is not compatible with svjour3
epsfig
must not be loaded in new document (it's just for back compatibility)subfigure
has been obsolete for 10+ years, call
usepackage[caption=false]{subfig}
instead; the subfigure
command becomes subfloat
.
About the theorem numbering: having separate counters for all kinds of statements is unnecessarily confusing for the reader, who will have hard times in finding the statements when referenced at: is lemma 1.1 before or after proposition 1.1?
Correct answer by egreg on February 15, 2021
Actually I have tried the solution of egreg
's, and then find out that you don't need to create the command spnewtheorem{xx}{XX}[section]
It is the option envcountsect
in the svjour3
class that really helps.
documentclass[envcountsect]{svjour3}
If you look into the file svjour.cls
, and seach spnewtheorem{theorem}{Theorem}
, around line 888, you would find things like @envcntsect
is prerequisite of the numbering by section.
And then, you just use
begin{theorem}
your theorem here.
end{theorem}
to wrap your theorem. Proof, lemma, definition, case... are likewise.
Answered by LanternD on February 15, 2021
You should use documentclass[natbib,smallextended, envcountsect]{svjour3}
Answered by user223793 on February 15, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP