Change reference behaviour of newlist depending on theorem environment
I am using ntheorem
and cleveref
, and I want to reference enumerate
environments inside theorems, like the following:
documentclass{article}
usepackage{ntheorem, cleveref, enumitem}
% Define theorem environments
theoremstyle{plain}
newtheorem{theorem}{Theorem}
newtheorem{proposition}{Proposition}
% Define new list environments for use in theorems
newlist{enumthm}{enumerate}{1}
setlist[enumthm]{label=upshape(arabic*), ref=upshapethetheorem(arabic*)}
crefalias{enumthmi}{theorem}
newlist{enumprop}{enumerate}{1}
setlist[enumprop]{label=upshape(arabic*), ref=upshapetheproposition(arabic*)}
crefalias{enumpropi}{proposition}
begin{document}
begin{proposition}
begin{enumprop}
item First claim. This one is important. label{important_claim}
item Second claim
end{enumprop}
end{proposition}
The result follows from the important cref{important_claim}.
end{document}
However, what if I decide that this proposition should actually be a theorem? Then I would have to change both the proposition
and enumprop
environments to get the proper references.
Is there any way to create a list environment such that both the reference name ("theorem" or "proposition") as well as the counter are automatically determined by the environment in which the list is placed?
cross-referencing lists enumerate theorems
add a comment |
I am using ntheorem
and cleveref
, and I want to reference enumerate
environments inside theorems, like the following:
documentclass{article}
usepackage{ntheorem, cleveref, enumitem}
% Define theorem environments
theoremstyle{plain}
newtheorem{theorem}{Theorem}
newtheorem{proposition}{Proposition}
% Define new list environments for use in theorems
newlist{enumthm}{enumerate}{1}
setlist[enumthm]{label=upshape(arabic*), ref=upshapethetheorem(arabic*)}
crefalias{enumthmi}{theorem}
newlist{enumprop}{enumerate}{1}
setlist[enumprop]{label=upshape(arabic*), ref=upshapetheproposition(arabic*)}
crefalias{enumpropi}{proposition}
begin{document}
begin{proposition}
begin{enumprop}
item First claim. This one is important. label{important_claim}
item Second claim
end{enumprop}
end{proposition}
The result follows from the important cref{important_claim}.
end{document}
However, what if I decide that this proposition should actually be a theorem? Then I would have to change both the proposition
and enumprop
environments to get the proper references.
Is there any way to create a list environment such that both the reference name ("theorem" or "proposition") as well as the counter are automatically determined by the environment in which the list is placed?
cross-referencing lists enumerate theorems
add a comment |
I am using ntheorem
and cleveref
, and I want to reference enumerate
environments inside theorems, like the following:
documentclass{article}
usepackage{ntheorem, cleveref, enumitem}
% Define theorem environments
theoremstyle{plain}
newtheorem{theorem}{Theorem}
newtheorem{proposition}{Proposition}
% Define new list environments for use in theorems
newlist{enumthm}{enumerate}{1}
setlist[enumthm]{label=upshape(arabic*), ref=upshapethetheorem(arabic*)}
crefalias{enumthmi}{theorem}
newlist{enumprop}{enumerate}{1}
setlist[enumprop]{label=upshape(arabic*), ref=upshapetheproposition(arabic*)}
crefalias{enumpropi}{proposition}
begin{document}
begin{proposition}
begin{enumprop}
item First claim. This one is important. label{important_claim}
item Second claim
end{enumprop}
end{proposition}
The result follows from the important cref{important_claim}.
end{document}
However, what if I decide that this proposition should actually be a theorem? Then I would have to change both the proposition
and enumprop
environments to get the proper references.
Is there any way to create a list environment such that both the reference name ("theorem" or "proposition") as well as the counter are automatically determined by the environment in which the list is placed?
cross-referencing lists enumerate theorems
I am using ntheorem
and cleveref
, and I want to reference enumerate
environments inside theorems, like the following:
documentclass{article}
usepackage{ntheorem, cleveref, enumitem}
% Define theorem environments
theoremstyle{plain}
newtheorem{theorem}{Theorem}
newtheorem{proposition}{Proposition}
% Define new list environments for use in theorems
newlist{enumthm}{enumerate}{1}
setlist[enumthm]{label=upshape(arabic*), ref=upshapethetheorem(arabic*)}
crefalias{enumthmi}{theorem}
newlist{enumprop}{enumerate}{1}
setlist[enumprop]{label=upshape(arabic*), ref=upshapetheproposition(arabic*)}
crefalias{enumpropi}{proposition}
begin{document}
begin{proposition}
begin{enumprop}
item First claim. This one is important. label{important_claim}
item Second claim
end{enumprop}
end{proposition}
The result follows from the important cref{important_claim}.
end{document}
However, what if I decide that this proposition should actually be a theorem? Then I would have to change both the proposition
and enumprop
environments to get the proper references.
Is there any way to create a list environment such that both the reference name ("theorem" or "proposition") as well as the counter are automatically determined by the environment in which the list is placed?
cross-referencing lists enumerate theorems
cross-referencing lists enumerate theorems
asked Mar 25 at 14:59
Danny HansenDanny Hansen
677
677
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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%2f481367%2fchange-reference-behaviour-of-newlist-depending-on-theorem-environment%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f481367%2fchange-reference-behaviour-of-newlist-depending-on-theorem-environment%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