编号覆盖方程式

编号覆盖方程式

我对方程式的编号有疑问,编号会覆盖部分方程式

\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 还很陌生,其他人可能有更好的想法。

相关内容