在环境中居中不起作用

在环境中居中不起作用

由于某种原因,一些应该将数学方程式居中的环境并没有这样做,我也无法手动将它们左对齐或居中。我正在使用and,每当我在or环境mathtools中编写方程式时,它们都会自动刷新到右侧。我尝试使用Instead(和许多其他格式化花招),但它并没有解决问题。我做错了什么?alignalign*flalign

编辑:

\documentclass[hidelinks,article]{abntex2}
\usepackage[utf8]{inputenc}
\usepackage{titlesec}
\usepackage{mathtools}
\usepackage{amsfonts}
\begin{document}
\subsection{Algoritmo recursivo para o primeiro problema}
Como proposta de algoritmo recursivo \textbf{sem} recursão na cauda para a computação do MDC de dois números, foi elaborado o seguinte método: 
\begin{align}
{N \times N \implies N} \\
MDC(m,n)=1, se mindiv(m,n)=0 \\
\mathit{MDC(m,n)=mindiv(m,n)\times MDC  \left(\dfrac{m}{mindiv(m,n)},\dfrac{n}{mindiv(m,n)}\right), se        \hspace{2pt} mindiv\left(m,n\right)\in\mathbb{N}} \\
\mathit{mindiv(m,n): N \times N \implies N} \\
\mathit{mindiv(m,n)=min\left\{d\in\mathbb{N} \vert mod(m,d)=0 \wedge mod(n,d)=0 \wedge d\neq1  \right\}}
\end{align}
\end{document}

对应输出

答案1

我使用了 OP 的 MWE,并添加了具有“正确”设置的环境align。这稍微改善了情况,但我认为中间的方程太宽了。flalign&

在我看来,函数名称应该用\DeclareMathOperator命令来排版,而不是用,但是......你知道;-)\mathit

\documentclass[hidelinks,article]{abntex2}
\usepackage[utf8]{inputenc}
\usepackage{titlesec}
\usepackage{mathtools}
\usepackage{amsfonts}
\begin{document}
\subsection{Algoritmo recursivo para o primeiro problema}
Como proposta de algoritmo recursivo \textbf{sem} recursão na cauda para a computação do MDC de dois números, foi elaborado o seguinte método: 


Original version
\begin{align}
{N \times N \implies N} \\
MDC(m,n)=1, se mindiv(m,n)=0 \\
\mathit{MDC(m,n)=mindiv(m,n)\times MDC  \left(\dfrac{m}{mindiv(m,n)},\dfrac{n}{mindiv(m,n)}\right), se        \hspace{2pt} mindiv\left(m,n\right)\in\mathbb{N}} \\
\mathit{mindiv(m,n): N \times N \implies N} \\
\mathit{mindiv(m,n)=min\left\{d\in\mathbb{N} \vert mod(m,d)=0 \wedge mod(n,d)=0 \wedge d\neq1  \right\}}
\end{align}

Align
\begin{align}
N \times N &\implies N \\
\mathit{MDC(m,n)}&=1, \textit{se\;mindiv(m,n)}=0  \\
\mathit{MDC(m,n)}&=\mathit{mindiv(m,n)\times MDC  \left(\dfrac{m}{mindiv(m,n)},\dfrac{n}{mindiv(m,n)}\right)}, &\mathit{se\;mindiv}\left(m,n\right)\in\mathbb{N} \\
\mathit{mindiv(m,n)} &: N \times N \implies N \\
\mathit{mindiv(m,n)} &=\mathit{min\left\{d\in\mathbb{N} \vert mod(m,d)=0 \wedge mod(n,d)=0  \wedge d\neq1  \right\}}
\end{align}

flalign
\begin{flalign}
N \times N &\implies N \\
\mathit{MDC(m,n)}&=1, \textit{se\;mindiv(m,n)}=0  \\
\mathit{MDC(m,n)}&=\mathit{mindiv(m,n)\times MDC  \left(\dfrac{m}{mindiv(m,n)},\dfrac{n}{mindiv(m,n)}\right)}, &\mathit{se\;mindiv}\left(m,n\right)\in\mathbb{N} \\
\mathit{mindiv(m,n)} &: N \times N \implies N \\
\mathit{mindiv(m,n)} &=\mathit{min\left\{d\in\mathbb{N} \vert mod(m,d)=0 \wedge mod(n,d)=0  \wedge d\neq1  \right\}}
\end{flalign}

\end{document}

在此处输入图片描述

答案2

由于您没有使用任何对齐点(&),并且鉴于五个方程式似乎没有提供应该插入对齐点的明显位置,因此您最好使用环境gather而不是环境align

另外,我会小心地定义诸如mindiv“数学运算符”之类的术语,并使用直立(“罗马”)字母排版字符串“MDC”。考虑使用\mid而不是|以获得垂直条周围的正确排版间距,并使用\colon而不是:,同样是出于间距原因。

在此处输入图片描述

\documentclass[hidelinks,article]{abntex2}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{amsmath,amsfonts}
\DeclareMathOperator{\mindiv}{mindiv}
\let\mod\relax  % redefine "\mod"
\DeclareMathOperator{\mod}{mod}
\newcommand{\MDC}{\mathrm{MDC}}

\begin{document}
\subsection{Algoritmo recursivo para o primeiro problema}

Como proposta de algoritmo recursivo \textbf{sem} recursão na cauda 
para a computação do MDC de dois números, foi elaborado o seguinte método: 
\begin{gather}
{N \times N \implies N} \\
\MDC(m,n)=1, \text{ se $\mindiv(m,n)=0$} \\
\MDC(m,n)=\mindiv(m,n)\times \MDC  
          \left(\dfrac{m}{\mindiv(m,n)},\dfrac{n}{\mindiv(m,n)}\right), 
          \text{ se  $\mindiv(m,n)\in\mathbb{N}$} \\
\mindiv(m,n)\colon N \times N \implies N \\
\mindiv(m,n)=\min \{\, d\in\mathbb{N} \mid 
             \mod(m,d)=0 \wedge 
             \mod(n,d)=0 \wedge d\neq1  \,\}
\end{gather}
\end{document}

相关内容