Warn me when the equation number is pushed to the next line
Is it possible to let amsmath
warn me when the equation is too long and pushes the number to the next line?
I expect either it prints Equation (1) too long
to console or it makes the (1)
part red.
documentclass[twocolumn]{article}
usepackage{amsmath}
begin{document}
begin{equation}
A+B+C+D+R+F+G+H+I+J+L+M+N+O+P
end{equation}
end{document}
equations amsmath
add a comment |
Is it possible to let amsmath
warn me when the equation is too long and pushes the number to the next line?
I expect either it prints Equation (1) too long
to console or it makes the (1)
part red.
documentclass[twocolumn]{article}
usepackage{amsmath}
begin{document}
begin{equation}
A+B+C+D+R+F+G+H+I+J+L+M+N+O+P
end{equation}
end{document}
equations amsmath
add a comment |
Is it possible to let amsmath
warn me when the equation is too long and pushes the number to the next line?
I expect either it prints Equation (1) too long
to console or it makes the (1)
part red.
documentclass[twocolumn]{article}
usepackage{amsmath}
begin{document}
begin{equation}
A+B+C+D+R+F+G+H+I+J+L+M+N+O+P
end{equation}
end{document}
equations amsmath
Is it possible to let amsmath
warn me when the equation is too long and pushes the number to the next line?
I expect either it prints Equation (1) too long
to console or it makes the (1)
part red.
documentclass[twocolumn]{article}
usepackage{amsmath}
begin{document}
begin{equation}
A+B+C+D+R+F+G+H+I+J+L+M+N+O+P
end{equation}
end{document}
equations amsmath
equations amsmath
edited 1 hour ago
Symbol 1
asked 3 hours ago
Symbol 1Symbol 1
25.5k240122
25.5k240122
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I don't want to say it is impossible but it's definitely a hard problem, because amsmath
relies on the eqno
primitive to do this work for the equation
environment.
hsize=8cm
$$A+B+C+D+R+F+G+H+I+J+L+M+N+O+Peqno(1)$$
bye
So the only way I see is to override the eqno
primitive and measure the penalties to see whether the number will be flushed to the next line.
For the align
family of environments it is a little easier because tag shifting is handled by macros, which you simply hook your custom error or warning into
documentclass[twocolumn]{article}
usepackage{amsmath}
makeatletter
defplace@tag{%
iftagsleft@
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
rlap{vbox{%
normalbaselines
boxz@
vbox tolineht@{}%
raise@tag
}}%
else
rlap{boxz@}%
fi
kerndisplaywidth@
else
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
llap{vtop{%
raise@tag
normalbaselines
setbox@nenull
dp@nelineht@
box@ne
boxz@
}}%
else
llap{boxz@}%
fi
fi
}
makeatother
begin{document}
begin{align}
A+B+C+D+R+F+G+H+I+J+L+M+N+O+P
end{align}
end{document}
Can we assumealign
gives the same result asequation
does and throw things intoalign
and test it? Or, test the height ofvbox
with and withouteqno
?
– Symbol 1
1 hour ago
add a comment |
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%2f479016%2fwarn-me-when-the-equation-number-is-pushed-to-the-next-line%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I don't want to say it is impossible but it's definitely a hard problem, because amsmath
relies on the eqno
primitive to do this work for the equation
environment.
hsize=8cm
$$A+B+C+D+R+F+G+H+I+J+L+M+N+O+Peqno(1)$$
bye
So the only way I see is to override the eqno
primitive and measure the penalties to see whether the number will be flushed to the next line.
For the align
family of environments it is a little easier because tag shifting is handled by macros, which you simply hook your custom error or warning into
documentclass[twocolumn]{article}
usepackage{amsmath}
makeatletter
defplace@tag{%
iftagsleft@
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
rlap{vbox{%
normalbaselines
boxz@
vbox tolineht@{}%
raise@tag
}}%
else
rlap{boxz@}%
fi
kerndisplaywidth@
else
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
llap{vtop{%
raise@tag
normalbaselines
setbox@nenull
dp@nelineht@
box@ne
boxz@
}}%
else
llap{boxz@}%
fi
fi
}
makeatother
begin{document}
begin{align}
A+B+C+D+R+F+G+H+I+J+L+M+N+O+P
end{align}
end{document}
Can we assumealign
gives the same result asequation
does and throw things intoalign
and test it? Or, test the height ofvbox
with and withouteqno
?
– Symbol 1
1 hour ago
add a comment |
I don't want to say it is impossible but it's definitely a hard problem, because amsmath
relies on the eqno
primitive to do this work for the equation
environment.
hsize=8cm
$$A+B+C+D+R+F+G+H+I+J+L+M+N+O+Peqno(1)$$
bye
So the only way I see is to override the eqno
primitive and measure the penalties to see whether the number will be flushed to the next line.
For the align
family of environments it is a little easier because tag shifting is handled by macros, which you simply hook your custom error or warning into
documentclass[twocolumn]{article}
usepackage{amsmath}
makeatletter
defplace@tag{%
iftagsleft@
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
rlap{vbox{%
normalbaselines
boxz@
vbox tolineht@{}%
raise@tag
}}%
else
rlap{boxz@}%
fi
kerndisplaywidth@
else
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
llap{vtop{%
raise@tag
normalbaselines
setbox@nenull
dp@nelineht@
box@ne
boxz@
}}%
else
llap{boxz@}%
fi
fi
}
makeatother
begin{document}
begin{align}
A+B+C+D+R+F+G+H+I+J+L+M+N+O+P
end{align}
end{document}
Can we assumealign
gives the same result asequation
does and throw things intoalign
and test it? Or, test the height ofvbox
with and withouteqno
?
– Symbol 1
1 hour ago
add a comment |
I don't want to say it is impossible but it's definitely a hard problem, because amsmath
relies on the eqno
primitive to do this work for the equation
environment.
hsize=8cm
$$A+B+C+D+R+F+G+H+I+J+L+M+N+O+Peqno(1)$$
bye
So the only way I see is to override the eqno
primitive and measure the penalties to see whether the number will be flushed to the next line.
For the align
family of environments it is a little easier because tag shifting is handled by macros, which you simply hook your custom error or warning into
documentclass[twocolumn]{article}
usepackage{amsmath}
makeatletter
defplace@tag{%
iftagsleft@
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
rlap{vbox{%
normalbaselines
boxz@
vbox tolineht@{}%
raise@tag
}}%
else
rlap{boxz@}%
fi
kerndisplaywidth@
else
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
llap{vtop{%
raise@tag
normalbaselines
setbox@nenull
dp@nelineht@
box@ne
boxz@
}}%
else
llap{boxz@}%
fi
fi
}
makeatother
begin{document}
begin{align}
A+B+C+D+R+F+G+H+I+J+L+M+N+O+P
end{align}
end{document}
I don't want to say it is impossible but it's definitely a hard problem, because amsmath
relies on the eqno
primitive to do this work for the equation
environment.
hsize=8cm
$$A+B+C+D+R+F+G+H+I+J+L+M+N+O+Peqno(1)$$
bye
So the only way I see is to override the eqno
primitive and measure the penalties to see whether the number will be flushed to the next line.
For the align
family of environments it is a little easier because tag shifting is handled by macros, which you simply hook your custom error or warning into
documentclass[twocolumn]{article}
usepackage{amsmath}
makeatletter
defplace@tag{%
iftagsleft@
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
rlap{vbox{%
normalbaselines
boxz@
vbox tolineht@{}%
raise@tag
}}%
else
rlap{boxz@}%
fi
kerndisplaywidth@
else
kern-tagshift@
if1shift@tagrow@relax
errmessage{Equation too wide}%
llap{vtop{%
raise@tag
normalbaselines
setbox@nenull
dp@nelineht@
box@ne
boxz@
}}%
else
llap{boxz@}%
fi
fi
}
makeatother
begin{document}
begin{align}
A+B+C+D+R+F+G+H+I+J+L+M+N+O+P
end{align}
end{document}
edited 1 hour ago
answered 1 hour ago
Henri MenkeHenri Menke
76.3k8167282
76.3k8167282
Can we assumealign
gives the same result asequation
does and throw things intoalign
and test it? Or, test the height ofvbox
with and withouteqno
?
– Symbol 1
1 hour ago
add a comment |
Can we assumealign
gives the same result asequation
does and throw things intoalign
and test it? Or, test the height ofvbox
with and withouteqno
?
– Symbol 1
1 hour ago
Can we assume
align
gives the same result as equation
does and throw things into align
and test it? Or, test the height of vbox
with and without eqno
?– Symbol 1
1 hour ago
Can we assume
align
gives the same result as equation
does and throw things into align
and test it? Or, test the height of vbox
with and without eqno
?– Symbol 1
1 hour ago
add a comment |
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%2f479016%2fwarn-me-when-the-equation-number-is-pushed-to-the-next-line%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