我对方程式的编号有疑问,编号会覆盖部分方程式
\documentclass[12pt,leqno]{article}
\usepackage{amssymb,amsmath,amsthm}
\usepackage{accents}
\usepackage{tikz-cd}
\newcommand{\nc}{\newcommand}
\nc{\RR}{\mathrm{R}}
\newcommand{\roim}[1]{\RR{#1}_*}
\newcommand{\opb}[1]{#1^{-1}}
\newcommand{\ltens}[1][]{\mathbin{\otimes_{\raise1.5ex\hbox to-.1em{}#1}^{L}}}
\newcommand{\etens}{\mathbin{\boxtimes}}
\newcommand{\letens}{\overset{\mathrm{L}}{\etens}}
\begin{document}
\begin{equation}\label{eq:some_equation}
\begin{array}{l}
\roim{p_{14\pi}}\circ\opb{^{t}p_{1234}'}\circ\roim{^{t}j'}\circ\opb{j_{\pi}}\simeq\roim{p_{3\pi}}\circ\opb{^{t}p_{3}'}\circ\roim{p_{134\pi}}\circ\opb{^{t}p_{2}'}\circ\roim{^{t}h'}\circ\opb{h_{\pi}}\circ\roim{^{t}k'}\circ\opb{k_{\pi}}
\end{array}%
\end{equation}
\end{document}
它看起来是这样的
有人知道我该如何摆脱这个问题吗?
答案1
正如 @pgrass 在他的回答 (+1) 中解释的那样,您的方程式对于您的页面布局来说太长并且被包含在其中,array
这会导致方程式编号被覆盖。
为了解决您的问题,您有更多的可能性:
- 用两行写出方程式(图中第一个例子)
- 使用较小的字体来表示公式(图片中的第二个例子)
- 增加文档中的文本宽度
- 对于方程式,局部增加文本宽度(图像中的第三个示例)
\documentclass[12pt,leqno]{article}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{accents}
\usepackage{tikz-cd}
\usepackage[strict]{changepage} % new
\newcommand{\RR}{\mathrm{R}}
\newcommand{\roim}[1]{\RR{#1}_*}
\newcommand{\opb}[1]{#1^{-1}}
\newcommand{\ltens}[1][]{\mathbin{\otimes_{\raise1.5ex\hbox to-.1em{}#1}^{L}}}
\newcommand{\etens}{\mathbin{\boxtimes}}
\newcommand{\letens}{\overset{\mathrm{L}}{\etens}}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
\begin{document}
\begin{multline}
\label{eq:some_equation}
\roim{p_{14\pi}}\circ\opb{^{t}p_{1234}'}\circ\roim{^{t}j'}\circ\opb{j_{\pi}} \\
\simeq\roim{p_{3\pi}}\circ\opb{^{t}p_{3}'}\circ\roim{p_{134\pi}}\circ\opb{^{t}p_{2}'}\circ\roim{^{t}h'}\circ\opb{h_{\pi}}\circ\roim{^{t}k'}\circ\opb{k_{\pi}}
\end{multline}
{\footnotesize
\begin{equation}
\label{eq:some_equation}
\roim{p_{14\pi}}\circ\opb{^{t}p_{1234}'}\circ\roim{^{t}j'}\circ\opb{j_{\pi}}
\simeq\roim{p_{3\pi}}\circ\opb{^{t}p_{3}'}\circ\roim{p_{134\pi}}\circ\opb{^{t}p_{2}'}\circ\roim{^{t}h'}\circ\opb{h_{\pi}}\circ\roim{^{t}k'}\circ\opb{k_{\pi}}
\end{equation}
}
\begin{adjustwidth}{}{-5em}
\begin{equation}
\label{eq:some_equation}
\roim{p_{14\pi}}\circ\opb{^{t}p_{1234}'}\circ\roim{^{t}j'}\circ\opb{j_{\pi}}
\simeq\roim{p_{3\pi}}\circ\opb{^{t}p_{3}'}\circ\roim{p_{134\pi}}\circ\opb{^{t}p_{2}'}\circ\roim{^{t}h'}\circ\opb{h_{\pi}}\circ\roim{^{t}k'}\circ\opb{k_{\pi}}
\end{equation}
\end{adjustwidth}
\end{document}
(红线表示页面布局)
答案2
该公式范围太广。请使用multline
,它专为解决此类问题而设计。
\opb
我还改变了添加一对括号的定义,这样就不会冒险将初始指数设置为\circ
。
\documentclass[12pt,leqno]{article}
\usepackage{amssymb,amsmath,amsthm}
\usepackage{accents}
\usepackage{tikz-cd}
\newcommand{\RR}{\mathrm{R}}
\newcommand{\roim}[1]{\RR{#1}_*}
\newcommand{\opb}[1]{{}#1^{-1}}
\newcommand{\ltens}[1][]{\mathbin{\otimes_{\raise1.5ex\hbox to-.1em{}#1}^{L}}}
\newcommand{\etens}{\mathbin{\boxtimes}}
\newcommand{\letens}{\overset{\mathrm{L}}{\etens}}
\begin{document}
\begin{multline}\label{eq:some_equation}
\roim{p_{14\pi}}\circ\opb{^{t}p_{1234}'}\circ\roim{^{t}j'}\circ\opb{j_{\pi}} \\
\simeq\roim{p_{3\pi}}\circ\opb{^{t}p_{3}'}\circ\roim{p_{134\pi}}\circ
\opb{^{t}p_{2}'}\circ\roim{^{t}h'}\circ\opb{h_{\pi}}\circ\roim{^{t}k'}\circ\opb{k_{\pi}}
\end{multline}
\end{document}
我对于 的定义还是挺怀疑的\ltens
。
顺便说一下,\boxtimes
定义为\mathbin
,因此您可以简单地执行
\newcommand{\etens}{\boxtimes}
您还可以\mathbin
从定义中删除\ltens
(当然还有括号)。
答案3
嗯,你的方程太长了,一行都写不完,还要加上数字。我不太明白你为什么使用 \begin{array} 而不是 \begin{equation}。如果你不想要数字,你可以使用 \begin{equation*}。如果你想将方程分成两行,你可以使用 \begin{align} 然后使用 \begin{split}。但我对 latex 还很陌生,其他人可能有更好的想法。