Numbering a,b-variants of assumptions (or other theorem-like environments) without using `amsthm`
up vote
1
down vote
favorite
I would like to have variants of assumptions (sub-assumptions, if you like) labeled and referenced as 1a, 2b, etc., without using the amsthm package which is known to conflict with the publisher's house style (INFORMS Management Science style file). MWE:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}
The first assumption.
end{assumption}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%
The answer to a related question uses the amsthm package. I also tried the answer here but it didn't work either.
*Probably unrelated to the solution: Eventually I would also like to add a prime(') to some of the assumption variants (e.g., Assumption~2b') with this method; so I hope the solution is compatible with it as well.
cross-referencing numbering theorems
|
show 2 more comments
up vote
1
down vote
favorite
I would like to have variants of assumptions (sub-assumptions, if you like) labeled and referenced as 1a, 2b, etc., without using the amsthm package which is known to conflict with the publisher's house style (INFORMS Management Science style file). MWE:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}
The first assumption.
end{assumption}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%
The answer to a related question uses the amsthm package. I also tried the answer here but it didn't work either.
*Probably unrelated to the solution: Eventually I would also like to add a prime(') to some of the assumption variants (e.g., Assumption~2b') with this method; so I hope the solution is compatible with it as well.
cross-referencing numbering theorems
Can you use thentheorempackage?
– Bernard
Nov 13 at 20:25
@Bernard I just tried loadingntheorem; errors came up. I think the INFORMS style file already defines theorem-related commands so such packages are usually incompatible without first disabling some of the commands in the style file; but that could be tricky to make work.
– Fang Jing
Nov 13 at 20:31
In your numbering system (e.g.Assumption 2b) the2would be the number of what? A main assumption of a higher level?
– Bernard
Nov 13 at 20:54
Are you sub-assumptions meant toi best nestedassumptionenvironments? If your MWE can you say what you want the numbering to be? It is easy enough to do this it is just not clear to me what you actually want.
– Andrew
Nov 13 at 22:22
@Bernard The same "2" would indicate the 2a, 2b, etc. assumptions are in the same "series". I'm actually thinking of alternative assumptions: Assumption 2a. $a > b$. Assumption 2b. $a = b$. Assumption 2c. $a < b$. Something like that. It would be best if the sub-assumptions can automatically count using the alphabet. Similar to subsections counting using Arabic numerals.
– Fang Jing
Nov 14 at 2:22
|
show 2 more comments
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I would like to have variants of assumptions (sub-assumptions, if you like) labeled and referenced as 1a, 2b, etc., without using the amsthm package which is known to conflict with the publisher's house style (INFORMS Management Science style file). MWE:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}
The first assumption.
end{assumption}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%
The answer to a related question uses the amsthm package. I also tried the answer here but it didn't work either.
*Probably unrelated to the solution: Eventually I would also like to add a prime(') to some of the assumption variants (e.g., Assumption~2b') with this method; so I hope the solution is compatible with it as well.
cross-referencing numbering theorems
I would like to have variants of assumptions (sub-assumptions, if you like) labeled and referenced as 1a, 2b, etc., without using the amsthm package which is known to conflict with the publisher's house style (INFORMS Management Science style file). MWE:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}
The first assumption.
end{assumption}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%
The answer to a related question uses the amsthm package. I also tried the answer here but it didn't work either.
*Probably unrelated to the solution: Eventually I would also like to add a prime(') to some of the assumption variants (e.g., Assumption~2b') with this method; so I hope the solution is compatible with it as well.
cross-referencing numbering theorems
cross-referencing numbering theorems
asked Nov 13 at 20:08
Fang Jing
5691612
5691612
Can you use thentheorempackage?
– Bernard
Nov 13 at 20:25
@Bernard I just tried loadingntheorem; errors came up. I think the INFORMS style file already defines theorem-related commands so such packages are usually incompatible without first disabling some of the commands in the style file; but that could be tricky to make work.
– Fang Jing
Nov 13 at 20:31
In your numbering system (e.g.Assumption 2b) the2would be the number of what? A main assumption of a higher level?
– Bernard
Nov 13 at 20:54
Are you sub-assumptions meant toi best nestedassumptionenvironments? If your MWE can you say what you want the numbering to be? It is easy enough to do this it is just not clear to me what you actually want.
– Andrew
Nov 13 at 22:22
@Bernard The same "2" would indicate the 2a, 2b, etc. assumptions are in the same "series". I'm actually thinking of alternative assumptions: Assumption 2a. $a > b$. Assumption 2b. $a = b$. Assumption 2c. $a < b$. Something like that. It would be best if the sub-assumptions can automatically count using the alphabet. Similar to subsections counting using Arabic numerals.
– Fang Jing
Nov 14 at 2:22
|
show 2 more comments
Can you use thentheorempackage?
– Bernard
Nov 13 at 20:25
@Bernard I just tried loadingntheorem; errors came up. I think the INFORMS style file already defines theorem-related commands so such packages are usually incompatible without first disabling some of the commands in the style file; but that could be tricky to make work.
– Fang Jing
Nov 13 at 20:31
In your numbering system (e.g.Assumption 2b) the2would be the number of what? A main assumption of a higher level?
– Bernard
Nov 13 at 20:54
Are you sub-assumptions meant toi best nestedassumptionenvironments? If your MWE can you say what you want the numbering to be? It is easy enough to do this it is just not clear to me what you actually want.
– Andrew
Nov 13 at 22:22
@Bernard The same "2" would indicate the 2a, 2b, etc. assumptions are in the same "series". I'm actually thinking of alternative assumptions: Assumption 2a. $a > b$. Assumption 2b. $a = b$. Assumption 2c. $a < b$. Something like that. It would be best if the sub-assumptions can automatically count using the alphabet. Similar to subsections counting using Arabic numerals.
– Fang Jing
Nov 14 at 2:22
Can you use the
ntheorem package?– Bernard
Nov 13 at 20:25
Can you use the
ntheorem package?– Bernard
Nov 13 at 20:25
@Bernard I just tried loading
ntheorem; errors came up. I think the INFORMS style file already defines theorem-related commands so such packages are usually incompatible without first disabling some of the commands in the style file; but that could be tricky to make work.– Fang Jing
Nov 13 at 20:31
@Bernard I just tried loading
ntheorem; errors came up. I think the INFORMS style file already defines theorem-related commands so such packages are usually incompatible without first disabling some of the commands in the style file; but that could be tricky to make work.– Fang Jing
Nov 13 at 20:31
In your numbering system (e.g.
Assumption 2b) the 2 would be the number of what? A main assumption of a higher level?– Bernard
Nov 13 at 20:54
In your numbering system (e.g.
Assumption 2b) the 2 would be the number of what? A main assumption of a higher level?– Bernard
Nov 13 at 20:54
Are you sub-assumptions meant toi best nested
assumption environments? If your MWE can you say what you want the numbering to be? It is easy enough to do this it is just not clear to me what you actually want.– Andrew
Nov 13 at 22:22
Are you sub-assumptions meant toi best nested
assumption environments? If your MWE can you say what you want the numbering to be? It is easy enough to do this it is just not clear to me what you actually want.– Andrew
Nov 13 at 22:22
@Bernard The same "2" would indicate the 2a, 2b, etc. assumptions are in the same "series". I'm actually thinking of alternative assumptions: Assumption 2a. $a > b$. Assumption 2b. $a = b$. Assumption 2c. $a < b$. Something like that. It would be best if the sub-assumptions can automatically count using the alphabet. Similar to subsections counting using Arabic numerals.
– Fang Jing
Nov 14 at 2:22
@Bernard The same "2" would indicate the 2a, 2b, etc. assumptions are in the same "series". I'm actually thinking of alternative assumptions: Assumption 2a. $a > b$. Assumption 2b. $a = b$. Assumption 2c. $a < b$. Something like that. It would be best if the sub-assumptions can automatically count using the alphabet. Similar to subsections counting using Arabic numerals.
– Fang Jing
Nov 14 at 2:22
|
show 2 more comments
2 Answers
2
active
oldest
votes
up vote
1
down vote
accepted
Some fighting against small caps, but for the rest quite straightforward.
If you need different consecutive groups of subassumptions, you can just issue stepcounter{assumption} between the groups.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
newtheorem{subassumption}{Assumptionnormalfont}[assumption]
renewcommand{thesubassumption}{theassumptionalph{subassumption}}}
newenvironment{assumption*}
{ifnumvalue{subassumption}=0 stepcounter{assumption}fisubassumption}
{endsubassumption}
newenvironment{assumption+}[1]
{renewcommand{thesubassumption}{#1}subassumption}
{endsubassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{assumption*}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption+}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption+}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%

Different version, introducing a subassumptions environment, modeled on subequations.
I define the auxiliary environment fixedassumption in order to avoid the label 2a printed in small caps.
Note that in this version assumption* is used instead of assumption+ of the previous version.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
% not to be used directly
newcounter{subassumption}
theoremstyle{TH}
newtheorem{fixedassumption}[assumption]{Assumptionnormalfont}
newenvironment{subassumptions}
{%
refstepcounter{assumption}%
edeftheassumption{theassumptionnoexpandalph{assumption}}%
setcounter{subassumption}{value{assumption}}%
setcounter{assumption}{0}%
letassumptionfixedassumption
letendassumptionendfixedassumption
ignorespaces
}
{setcounter{assumption}{value{subassumption}}ignorespacesafterend}
newenvironment{assumption*}[1]
{renewcommand{theassumption}{#1}fixedassumption}
{endfixedassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{subassumptions}
begin{assumption}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption}
end{subassumptions}
Some textldots
begin{assumption*}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%
This looks great! The only issue I realized (which was not explicitly requested in the question) is that if I write two groups ofsubassumptions consecutively, theassumptioncounter does not increase for the second group. Hence I defined the following in the preamble:newcommand{StartSubassumptions}{stepcounter{assumption}}; then useStartSubassumptionsbefore each group of subassumptions and use thesubassumptionenvironment as defined directly (without needing theassumption*environment).
– Fang Jing
Nov 14 at 14:40
1
@FangJing I should have thought of that. I added a simpler trick, but also a new version that does the business with asubassumptionsenvironment.
– egreg
Nov 14 at 15:53
add a comment |
up vote
1
down vote
Perhaps I misunderstand the question, it seems that this requires two different environments: one for assumptions and one for subassumptions. Under the hood, all of the theorem-like environments use trivlist so the natural thing to do here is to define new environments that use the same mechanism.
The code below defines two environments, assumption and assumption*, for assumptions and subassumptions. As with the standard theorem-like environments, both of these environments accept an optional argument. Adapting the MWE above, the output is:

Here is the code:
documentclass{article}
newcounter{assumption}
newcounter{subassumption}
renewcommandtheassumption{Assumption~arabic{assumption}}
renewcommandthesubassumption{theassumptionalph{subassumption}}
makeatletter
@addtoreset{subassumption}{assumption}
newenvironment{assumption}[1]{%
refstepcounter{assumption}%
def@currentlabel{Assumption~arabic{assumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}@assumptionextraspace]%
ignorespacesitshape%
}{endtrivlist}%
newenvironment{assumption*}[1]{%
% change the assumption counter if this is the first subassumption
ifnumvalue{subassumption}=0refstepcounter{assumption}fi%
refstepcounter{subassumption}%
def@currentlabel{Assumption~arabic{assumption}alph{subassumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}alph{subassumption}%
@assumptionextraspace]ignorespacesitshape%
}{endtrivlist}%
makeatother
begin{document}
begin{assumption}
The first assumption.
label{Assumption1}
end{assumption}
Some textldots
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2a''.
label{Assumption2a}
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2b}
end{assumption*}
begin{assumption*}[$c>a$]
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2c}
end{assumption*}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~3''.
label{Assumption3}
end{assumption}
Labels: ref{Assumption1}, ref{Assumption2a}, ref{Assumption2b}
and ref{Assumption3}
end{document}
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Some fighting against small caps, but for the rest quite straightforward.
If you need different consecutive groups of subassumptions, you can just issue stepcounter{assumption} between the groups.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
newtheorem{subassumption}{Assumptionnormalfont}[assumption]
renewcommand{thesubassumption}{theassumptionalph{subassumption}}}
newenvironment{assumption*}
{ifnumvalue{subassumption}=0 stepcounter{assumption}fisubassumption}
{endsubassumption}
newenvironment{assumption+}[1]
{renewcommand{thesubassumption}{#1}subassumption}
{endsubassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{assumption*}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption+}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption+}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%

Different version, introducing a subassumptions environment, modeled on subequations.
I define the auxiliary environment fixedassumption in order to avoid the label 2a printed in small caps.
Note that in this version assumption* is used instead of assumption+ of the previous version.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
% not to be used directly
newcounter{subassumption}
theoremstyle{TH}
newtheorem{fixedassumption}[assumption]{Assumptionnormalfont}
newenvironment{subassumptions}
{%
refstepcounter{assumption}%
edeftheassumption{theassumptionnoexpandalph{assumption}}%
setcounter{subassumption}{value{assumption}}%
setcounter{assumption}{0}%
letassumptionfixedassumption
letendassumptionendfixedassumption
ignorespaces
}
{setcounter{assumption}{value{subassumption}}ignorespacesafterend}
newenvironment{assumption*}[1]
{renewcommand{theassumption}{#1}fixedassumption}
{endfixedassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{subassumptions}
begin{assumption}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption}
end{subassumptions}
Some textldots
begin{assumption*}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%
This looks great! The only issue I realized (which was not explicitly requested in the question) is that if I write two groups ofsubassumptions consecutively, theassumptioncounter does not increase for the second group. Hence I defined the following in the preamble:newcommand{StartSubassumptions}{stepcounter{assumption}}; then useStartSubassumptionsbefore each group of subassumptions and use thesubassumptionenvironment as defined directly (without needing theassumption*environment).
– Fang Jing
Nov 14 at 14:40
1
@FangJing I should have thought of that. I added a simpler trick, but also a new version that does the business with asubassumptionsenvironment.
– egreg
Nov 14 at 15:53
add a comment |
up vote
1
down vote
accepted
Some fighting against small caps, but for the rest quite straightforward.
If you need different consecutive groups of subassumptions, you can just issue stepcounter{assumption} between the groups.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
newtheorem{subassumption}{Assumptionnormalfont}[assumption]
renewcommand{thesubassumption}{theassumptionalph{subassumption}}}
newenvironment{assumption*}
{ifnumvalue{subassumption}=0 stepcounter{assumption}fisubassumption}
{endsubassumption}
newenvironment{assumption+}[1]
{renewcommand{thesubassumption}{#1}subassumption}
{endsubassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{assumption*}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption+}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption+}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%

Different version, introducing a subassumptions environment, modeled on subequations.
I define the auxiliary environment fixedassumption in order to avoid the label 2a printed in small caps.
Note that in this version assumption* is used instead of assumption+ of the previous version.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
% not to be used directly
newcounter{subassumption}
theoremstyle{TH}
newtheorem{fixedassumption}[assumption]{Assumptionnormalfont}
newenvironment{subassumptions}
{%
refstepcounter{assumption}%
edeftheassumption{theassumptionnoexpandalph{assumption}}%
setcounter{subassumption}{value{assumption}}%
setcounter{assumption}{0}%
letassumptionfixedassumption
letendassumptionendfixedassumption
ignorespaces
}
{setcounter{assumption}{value{subassumption}}ignorespacesafterend}
newenvironment{assumption*}[1]
{renewcommand{theassumption}{#1}fixedassumption}
{endfixedassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{subassumptions}
begin{assumption}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption}
end{subassumptions}
Some textldots
begin{assumption*}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%
This looks great! The only issue I realized (which was not explicitly requested in the question) is that if I write two groups ofsubassumptions consecutively, theassumptioncounter does not increase for the second group. Hence I defined the following in the preamble:newcommand{StartSubassumptions}{stepcounter{assumption}}; then useStartSubassumptionsbefore each group of subassumptions and use thesubassumptionenvironment as defined directly (without needing theassumption*environment).
– Fang Jing
Nov 14 at 14:40
1
@FangJing I should have thought of that. I added a simpler trick, but also a new version that does the business with asubassumptionsenvironment.
– egreg
Nov 14 at 15:53
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Some fighting against small caps, but for the rest quite straightforward.
If you need different consecutive groups of subassumptions, you can just issue stepcounter{assumption} between the groups.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
newtheorem{subassumption}{Assumptionnormalfont}[assumption]
renewcommand{thesubassumption}{theassumptionalph{subassumption}}}
newenvironment{assumption*}
{ifnumvalue{subassumption}=0 stepcounter{assumption}fisubassumption}
{endsubassumption}
newenvironment{assumption+}[1]
{renewcommand{thesubassumption}{#1}subassumption}
{endsubassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{assumption*}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption+}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption+}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%

Different version, introducing a subassumptions environment, modeled on subequations.
I define the auxiliary environment fixedassumption in order to avoid the label 2a printed in small caps.
Note that in this version assumption* is used instead of assumption+ of the previous version.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
% not to be used directly
newcounter{subassumption}
theoremstyle{TH}
newtheorem{fixedassumption}[assumption]{Assumptionnormalfont}
newenvironment{subassumptions}
{%
refstepcounter{assumption}%
edeftheassumption{theassumptionnoexpandalph{assumption}}%
setcounter{subassumption}{value{assumption}}%
setcounter{assumption}{0}%
letassumptionfixedassumption
letendassumptionendfixedassumption
ignorespaces
}
{setcounter{assumption}{value{subassumption}}ignorespacesafterend}
newenvironment{assumption*}[1]
{renewcommand{theassumption}{#1}fixedassumption}
{endfixedassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{subassumptions}
begin{assumption}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption}
end{subassumptions}
Some textldots
begin{assumption*}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%
Some fighting against small caps, but for the rest quite straightforward.
If you need different consecutive groups of subassumptions, you can just issue stepcounter{assumption} between the groups.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
newtheorem{subassumption}{Assumptionnormalfont}[assumption]
renewcommand{thesubassumption}{theassumptionalph{subassumption}}}
newenvironment{assumption*}
{ifnumvalue{subassumption}=0 stepcounter{assumption}fisubassumption}
{endsubassumption}
newenvironment{assumption+}[1]
{renewcommand{thesubassumption}{#1}subassumption}
{endsubassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{assumption*}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption+}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption+}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%

Different version, introducing a subassumptions environment, modeled on subequations.
I define the auxiliary environment fixedassumption in order to avoid the label 2a printed in small caps.
Note that in this version assumption* is used instead of assumption+ of the previous version.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Author template for Management Science (mnsc) for articles with no e-companion (EC)
%% Mirko Janc, Ph.D., INFORMS, mirko.janc@informs.org
%% ver. 0.95, December 2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
documentclass[mnsc,blindrev]{informs3}
%documentclass[mnsc,nonblindrev]{informs3} % current default for manuscript submission
OneAndAHalfSpacedXI
%%OneAndAHalfSpacedXII % Current default line spacing
%%DoubleSpacedXII
%%DoubleSpacedXI
% If hyperref is used, dvi-to-ps driver of choice must be declared as
% an additional option to the documentclass. For example
%documentclass[dvips,mnsc]{informs3} % if dvips is used
%documentclass[dvipsone,mnsc]{informs3} % if dvipsone is used, etc.
% Private macros here (check that there is no clash with the style)
%% Setup of theorem styles. Outcomment only one.
%% Preferred default is the first option.
TheoremsNumberedThrough % Preferred (Theorem 1, Lemma 1, Theorem 2)
%TheoremsNumberedByChapter % (Theorem 1.1, Lema 1.1, Theorem 1.2)
ECRepeatTheorems
%% Setup of the equation numbering system. Outcomment only one.
%% Preferred default is the first option.
EquationsNumberedThrough % Default: (1), (2), ...
%EquationsNumberedBySection % (1.1), (1.2), ...
% For new submissions, leave this number blank.
% For revisions, input the manuscript number assigned by the on-line
% system along with a suffix ".Rx" where x is the revision number.
MANUSCRIPTNO{MS-0001-1922.65}
% not to be used directly
newcounter{subassumption}
theoremstyle{TH}
newtheorem{fixedassumption}[assumption]{Assumptionnormalfont}
newenvironment{subassumptions}
{%
refstepcounter{assumption}%
edeftheassumption{theassumptionnoexpandalph{assumption}}%
setcounter{subassumption}{value{assumption}}%
setcounter{assumption}{0}%
letassumptionfixedassumption
letendassumptionendfixedassumption
ignorespaces
}
{setcounter{assumption}{value{subassumption}}ignorespacesafterend}
newenvironment{assumption*}[1]
{renewcommand{theassumption}{#1}fixedassumption}
{endfixedassumption}
%%%%%%%%%%%%%%%%
begin{document}
%%%%%%%%%%%%%%%%
begin{assumption}label{a1}
The first assumption.
end{assumption}
Some textldots
begin{subassumptions}
begin{assumption}label{a2a}
I want this to be displayed and referenced as ``Assumption~2a''.
end{assumption}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption}label{a2b}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption}
end{subassumptions}
Some textldots
begin{assumption*}{ref{a2b}$'$}label{a2b'}
I want this to be displayed and referenced as ``Assumption~2b''.
end{assumption*}
Some textldots
begin{assumption}label{a3}
I want this to be displayed and referenced as ``Assumption~3''.
end{assumption}
References: ref{a1}, ref{a2a}, ref{a2b}, ref{a2b'}, ref{a3}.
%%%%%%%%%%%%%%%%%
end{document}
%%%%%%%%%%%%%%%%%
edited Nov 14 at 15:52
answered Nov 14 at 9:07
egreg
698k8518553123
698k8518553123
This looks great! The only issue I realized (which was not explicitly requested in the question) is that if I write two groups ofsubassumptions consecutively, theassumptioncounter does not increase for the second group. Hence I defined the following in the preamble:newcommand{StartSubassumptions}{stepcounter{assumption}}; then useStartSubassumptionsbefore each group of subassumptions and use thesubassumptionenvironment as defined directly (without needing theassumption*environment).
– Fang Jing
Nov 14 at 14:40
1
@FangJing I should have thought of that. I added a simpler trick, but also a new version that does the business with asubassumptionsenvironment.
– egreg
Nov 14 at 15:53
add a comment |
This looks great! The only issue I realized (which was not explicitly requested in the question) is that if I write two groups ofsubassumptions consecutively, theassumptioncounter does not increase for the second group. Hence I defined the following in the preamble:newcommand{StartSubassumptions}{stepcounter{assumption}}; then useStartSubassumptionsbefore each group of subassumptions and use thesubassumptionenvironment as defined directly (without needing theassumption*environment).
– Fang Jing
Nov 14 at 14:40
1
@FangJing I should have thought of that. I added a simpler trick, but also a new version that does the business with asubassumptionsenvironment.
– egreg
Nov 14 at 15:53
This looks great! The only issue I realized (which was not explicitly requested in the question) is that if I write two groups of
subassumptions consecutively, the assumption counter does not increase for the second group. Hence I defined the following in the preamble: newcommand{StartSubassumptions}{stepcounter{assumption}}; then use StartSubassumptions before each group of subassumptions and use the subassumption environment as defined directly (without needing the assumption* environment).– Fang Jing
Nov 14 at 14:40
This looks great! The only issue I realized (which was not explicitly requested in the question) is that if I write two groups of
subassumptions consecutively, the assumption counter does not increase for the second group. Hence I defined the following in the preamble: newcommand{StartSubassumptions}{stepcounter{assumption}}; then use StartSubassumptions before each group of subassumptions and use the subassumption environment as defined directly (without needing the assumption* environment).– Fang Jing
Nov 14 at 14:40
1
1
@FangJing I should have thought of that. I added a simpler trick, but also a new version that does the business with a
subassumptions environment.– egreg
Nov 14 at 15:53
@FangJing I should have thought of that. I added a simpler trick, but also a new version that does the business with a
subassumptions environment.– egreg
Nov 14 at 15:53
add a comment |
up vote
1
down vote
Perhaps I misunderstand the question, it seems that this requires two different environments: one for assumptions and one for subassumptions. Under the hood, all of the theorem-like environments use trivlist so the natural thing to do here is to define new environments that use the same mechanism.
The code below defines two environments, assumption and assumption*, for assumptions and subassumptions. As with the standard theorem-like environments, both of these environments accept an optional argument. Adapting the MWE above, the output is:

Here is the code:
documentclass{article}
newcounter{assumption}
newcounter{subassumption}
renewcommandtheassumption{Assumption~arabic{assumption}}
renewcommandthesubassumption{theassumptionalph{subassumption}}
makeatletter
@addtoreset{subassumption}{assumption}
newenvironment{assumption}[1]{%
refstepcounter{assumption}%
def@currentlabel{Assumption~arabic{assumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}@assumptionextraspace]%
ignorespacesitshape%
}{endtrivlist}%
newenvironment{assumption*}[1]{%
% change the assumption counter if this is the first subassumption
ifnumvalue{subassumption}=0refstepcounter{assumption}fi%
refstepcounter{subassumption}%
def@currentlabel{Assumption~arabic{assumption}alph{subassumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}alph{subassumption}%
@assumptionextraspace]ignorespacesitshape%
}{endtrivlist}%
makeatother
begin{document}
begin{assumption}
The first assumption.
label{Assumption1}
end{assumption}
Some textldots
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2a''.
label{Assumption2a}
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2b}
end{assumption*}
begin{assumption*}[$c>a$]
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2c}
end{assumption*}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~3''.
label{Assumption3}
end{assumption}
Labels: ref{Assumption1}, ref{Assumption2a}, ref{Assumption2b}
and ref{Assumption3}
end{document}
add a comment |
up vote
1
down vote
Perhaps I misunderstand the question, it seems that this requires two different environments: one for assumptions and one for subassumptions. Under the hood, all of the theorem-like environments use trivlist so the natural thing to do here is to define new environments that use the same mechanism.
The code below defines two environments, assumption and assumption*, for assumptions and subassumptions. As with the standard theorem-like environments, both of these environments accept an optional argument. Adapting the MWE above, the output is:

Here is the code:
documentclass{article}
newcounter{assumption}
newcounter{subassumption}
renewcommandtheassumption{Assumption~arabic{assumption}}
renewcommandthesubassumption{theassumptionalph{subassumption}}
makeatletter
@addtoreset{subassumption}{assumption}
newenvironment{assumption}[1]{%
refstepcounter{assumption}%
def@currentlabel{Assumption~arabic{assumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}@assumptionextraspace]%
ignorespacesitshape%
}{endtrivlist}%
newenvironment{assumption*}[1]{%
% change the assumption counter if this is the first subassumption
ifnumvalue{subassumption}=0refstepcounter{assumption}fi%
refstepcounter{subassumption}%
def@currentlabel{Assumption~arabic{assumption}alph{subassumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}alph{subassumption}%
@assumptionextraspace]ignorespacesitshape%
}{endtrivlist}%
makeatother
begin{document}
begin{assumption}
The first assumption.
label{Assumption1}
end{assumption}
Some textldots
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2a''.
label{Assumption2a}
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2b}
end{assumption*}
begin{assumption*}[$c>a$]
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2c}
end{assumption*}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~3''.
label{Assumption3}
end{assumption}
Labels: ref{Assumption1}, ref{Assumption2a}, ref{Assumption2b}
and ref{Assumption3}
end{document}
add a comment |
up vote
1
down vote
up vote
1
down vote
Perhaps I misunderstand the question, it seems that this requires two different environments: one for assumptions and one for subassumptions. Under the hood, all of the theorem-like environments use trivlist so the natural thing to do here is to define new environments that use the same mechanism.
The code below defines two environments, assumption and assumption*, for assumptions and subassumptions. As with the standard theorem-like environments, both of these environments accept an optional argument. Adapting the MWE above, the output is:

Here is the code:
documentclass{article}
newcounter{assumption}
newcounter{subassumption}
renewcommandtheassumption{Assumption~arabic{assumption}}
renewcommandthesubassumption{theassumptionalph{subassumption}}
makeatletter
@addtoreset{subassumption}{assumption}
newenvironment{assumption}[1]{%
refstepcounter{assumption}%
def@currentlabel{Assumption~arabic{assumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}@assumptionextraspace]%
ignorespacesitshape%
}{endtrivlist}%
newenvironment{assumption*}[1]{%
% change the assumption counter if this is the first subassumption
ifnumvalue{subassumption}=0refstepcounter{assumption}fi%
refstepcounter{subassumption}%
def@currentlabel{Assumption~arabic{assumption}alph{subassumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}alph{subassumption}%
@assumptionextraspace]ignorespacesitshape%
}{endtrivlist}%
makeatother
begin{document}
begin{assumption}
The first assumption.
label{Assumption1}
end{assumption}
Some textldots
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2a''.
label{Assumption2a}
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2b}
end{assumption*}
begin{assumption*}[$c>a$]
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2c}
end{assumption*}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~3''.
label{Assumption3}
end{assumption}
Labels: ref{Assumption1}, ref{Assumption2a}, ref{Assumption2b}
and ref{Assumption3}
end{document}
Perhaps I misunderstand the question, it seems that this requires two different environments: one for assumptions and one for subassumptions. Under the hood, all of the theorem-like environments use trivlist so the natural thing to do here is to define new environments that use the same mechanism.
The code below defines two environments, assumption and assumption*, for assumptions and subassumptions. As with the standard theorem-like environments, both of these environments accept an optional argument. Adapting the MWE above, the output is:

Here is the code:
documentclass{article}
newcounter{assumption}
newcounter{subassumption}
renewcommandtheassumption{Assumption~arabic{assumption}}
renewcommandthesubassumption{theassumptionalph{subassumption}}
makeatletter
@addtoreset{subassumption}{assumption}
newenvironment{assumption}[1]{%
refstepcounter{assumption}%
def@currentlabel{Assumption~arabic{assumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}@assumptionextraspace]%
ignorespacesitshape%
}{endtrivlist}%
newenvironment{assumption*}[1]{%
% change the assumption counter if this is the first subassumption
ifnumvalue{subassumption}=0refstepcounter{assumption}fi%
refstepcounter{subassumption}%
def@currentlabel{Assumption~arabic{assumption}alph{subassumption}}%
ifrelaxdetokenize{#1}relaxlet@assumptionextrarelax%
elsedef@assumptionextra{space(#1)}%
fi%
trivlistitem[textsc{Assumption}~arabic{assumption}alph{subassumption}%
@assumptionextraspace]ignorespacesitshape%
}{endtrivlist}%
makeatother
begin{document}
begin{assumption}
The first assumption.
label{Assumption1}
end{assumption}
Some textldots
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2a''.
label{Assumption2a}
end{assumption*}
Some textldots (If the text here interferes with the solution, it can be omitted.)
begin{assumption*}
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2b}
end{assumption*}
begin{assumption*}[$c>a$]
I want this to be displayed and referenced as ``Assumption~2b''.
label{Assumption2c}
end{assumption*}
Some textldots
begin{assumption}
I want this to be displayed and referenced as ``Assumption~3''.
label{Assumption3}
end{assumption}
Labels: ref{Assumption1}, ref{Assumption2a}, ref{Assumption2b}
and ref{Assumption3}
end{document}
edited Nov 14 at 4:03
answered Nov 14 at 3:56
Andrew
29.3k34178
29.3k34178
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f459836%2fnumbering-a-b-variants-of-assumptions-or-other-theorem-like-environments-witho%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can you use the
ntheorempackage?– Bernard
Nov 13 at 20:25
@Bernard I just tried loading
ntheorem; errors came up. I think the INFORMS style file already defines theorem-related commands so such packages are usually incompatible without first disabling some of the commands in the style file; but that could be tricky to make work.– Fang Jing
Nov 13 at 20:31
In your numbering system (e.g.
Assumption 2b) the2would be the number of what? A main assumption of a higher level?– Bernard
Nov 13 at 20:54
Are you sub-assumptions meant toi best nested
assumptionenvironments? If your MWE can you say what you want the numbering to be? It is easy enough to do this it is just not clear to me what you actually want.– Andrew
Nov 13 at 22:22
@Bernard The same "2" would indicate the 2a, 2b, etc. assumptions are in the same "series". I'm actually thinking of alternative assumptions: Assumption 2a. $a > b$. Assumption 2b. $a = b$. Assumption 2c. $a < b$. Something like that. It would be best if the sub-assumptions can automatically count using the alphabet. Similar to subsections counting using Arabic numerals.
– Fang Jing
Nov 14 at 2:22