對齊數學公式

對齊數學公式

我正在使用 Overleaf 編寫數學公式和限制。這是我的程式碼,我還向您展示了我獲得的結果(見圖)。正如您所看到的,公式並沒有很好地對齊。我想透過對齊所有公式並標記它們(用數字,如圖所示)來改進佈局。如果有人能幫我解決這個問題,那將非常有幫助!

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[super]{natbib}
\usepackage{comment}
\usepackage{graphicx}
\usepackage{float}
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{caption}
\usepackage{adjustbox}
\usepackage{lipsum}
\usepackage{lscape}
\usepackage{multicol}
\usepackage{longtable}
\captionsetup[figure]{font=small,labelfont=bf}
\captionsetup[table]{font=small,labelfont=bf}
\usepackage[justification=centering]{caption}
\usepackage{eurosym}
\usepackage{mhchem}
\usepackage{relsize}
\usepackage[table, dvipsnames]{xcolor}
\renewcommand*\descriptionlabel[1]{\hspace\leftmargin$#1$}
\usepackage[hidelinks]{hyperref}
\usepackage{enumitem}
\usepackage{glossaries}
\makeglossaries
\newcommand{\mathgl}[2]{
    \newglossaryentry{#1}{name={#1},description={#2}}
    \begin{description}[labelwidth=2cm]
      \item[\gls{#1}]#2
    \end{description}
}
\makeatletter
\newcommand*{\rom}[1]{\expandafter\@slowromancap\romannumeral #1@}
\makeatother
\def\changemargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}
\let\endchangemargin=\endlist 

\begin{document}
\subsection{Stating the objective function} 
TextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextText

\begin{align}
\min \quad BFC \cdot \bigg(\mathlarger{\mathlarger{\sum}}_{i\in I}Fc_i \cdot u_i\bigg)
+ 
BEC \cdot \bigg(\mathlarger{\mathlarger{\sum}}_{i\in I}\mathlarger{\mathlarger{\sum}}_{j \in J}\mathlarger{\mathlarger{\sum}}_{p \in P}x_i_j_p\cdot Ec_i_j_p_y\bigg)
+
BTC \cdot \bigg(\mathlarger{\mathlarger{\sum}}_{i\in I}\mathlarger{\mathlarger{\sum}}_{j \in J}\mathlarger{\mathlarger{\sum}}_{p \in P}x_i_j_p\cdot Tc_i_j_p\bigg)
+
BWC \cdot \bigg(\mathlarger{\mathlarger{\sum}}_{i\in I}\mathlarger{\mathlarger{\sum}}_{j \in J}\mathlarger{\mathlarger{\sum}}_{p \in P}x_i_j_p\cdot Wc_i_j_p\bigg)
+
BZC \cdot \bigg(\mathlarger{\mathlarger{\sum}}_{i\in I}\mathlarger{\mathlarger{\sum}}_{j \in J}\mathlarger{\mathlarger{\sum}}_{p \in P}x_i_j_p\cdot Z_i_j_p\bigg)\cdot Zc 
\label{1}
\end{align}
 

\subsection{Stating the constraints}
The first constraint ensures that the demand of each customer is satisfied:

\begin{align}
\mathlarger{\sum}_{i\in I}x_i_j_p = D_j_p_y,  \quad && \forall j \in J,  p\in P, y \in Y\label{2}
\end{align}
\noindent The second formula makes sure that the maximum capacity of each supplier facility is not exceeded:
\begin{align}
\mathlarger{\sum}_{j\in J}\mathlarger{\sum}_{p\in P}x_i_j_p \leq u_i,  \quad && \forall i \in I \label{3}
\end{align}
\noindent Contracts with specific supplier facilities may agree on minimum allocation volumes. This is ensured by the following formula:
\begin{align}
\mathlarger{\sum}_{j\in J}\mathlarger{\sum}_{p\in P}x_i_j_p \geq V_i,  \quad && \forall i \in I \label{3}
\end{align}
\noindent Specific breweries desire to be supplied by at least two suppliers for some specific type of product code. This is ensured by the following two formulas:
\begin{align}
\mathlarger{\sum}_{i\in I}J_i_j_p \geq 2,  \quad && \forall j \in J,  p\in P \label{4}\\
x_i_j_p \geq b_i_j_p M_j_p
\end{align}
\noindentSpecific OpCos desire to be supplied by at least two suppliers for some specific type of product code. This is ensured by the following two formulas:
\begin{align}
\mathlarger{\sum}_{i\in I}F_i_o_p\geq 2,\quad && \forall o \in O,  p\in P \label{5}\\
\mathlarger{\sum}_{i\subset I}x_i_j_p \geq F_i_o_pG_o_p,\quad && \forall i \in I,  o\in O, p\in P \label{5}
\end{align}

結果

答案1

簡單的解決方案使用單一align環境和\intertext命令。

我將序言簡化為程式碼正常運作所需的內容。另外,我不認為你真的需要使用 double \mathlarger,這使得方程式編號被放置在方程式下面,即使在使用時multlined

順便說一句,您不必amsfonts在加載時加載amssymb– 後者會為您完成。請注意,hyperref應作為最後一個包加載,極少數例外。

\documentclass{article}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{relsize}
\usepackage[hidelinks]{hyperref}

\begin{document}
\setcounter{section}{4}
\setcounter{subsection}{5}

\subsection{Stating the objective function}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 
\begin{equation}
\begin{multlined}
\min \quad BFC \cdot \bigg(\mathlarger{\sum}_{i\in I}Fc_i \cdot u_i\bigg)
+
BEC \cdot \bigg(\mathop{\mathlarger{\sum}_{i\in I}\mathlarger{\sum}_{j \in J}\mathlarger{\sum}_{p \in P}x_{i j p}}\cdot Ec_{ijpy}\bigg) +{}
\\
 BTC \cdot \bigg(\mathlarger{\sum}_{i\in I}\mathlarger{\sum}_{j \in J}\mathlarger{\sum}_{p \in P}x_{ijp}\cdot Tc_{ijp}\bigg)
+
BWC \cdot \bigg(\mathlarger{\sum}_{i\in I}\mathlarger{\sum}_{j \in J}\mathlarger{\sum}_{p \in P}x_{ijp}\cdot Wc_{ijp}\bigg)
\\
+ BZC \cdot \bigg(\mathlarger{\sum}_{i\in I}\mathlarger{\sum}_{j \in J}\mathlarger{\sum}_{p \in P}x_{ijp}\cdot Z_{ijp}\bigg)\cdot Zc
\end{multlined}
\label{1}
  \end{equation}

\subsection{Stating the constraints}
The first constraint ensures that the demand of each customer is satisfied:

\begin{align}
\mathlarger{\sum}_{i\in I}&x_{ijp} = D_{jpy}, \quad && \forall j \in J, p\in P, y \in Y\label{2} \\
\intertext{The second formula makes sure that the maximum capacity of each supplier facility is not exceeded:}
\mathlarger{\sum}_{j\in J}\mathlarger{\sum}_{p\in P} &x_{ijp} \leq u_i, \quad && \forall i \in I \label{3}
\intertext{Contracts with specific supplier facilities may agree on minimum allocation volumes. This is ensured by the following formula:}
\mathlarger{\sum}_{j\in J} \mathlarger{\sum}_{p\in P} &x_{ijp}\geq V_i, \quad && \forall i \in I \label{3} \\
\intertext{Specific breweries desire to be supplied by at least two suppliers for some specific type of product code. This is ensured by the following two formulas:}
\mathlarger{\sum}_{i\in I}&J_{ijp} \geq 2, \quad && \forall j \in J, p\in P \label{4}\\
&x_{ijp} \geq b_{ijp} M_{jp}\\
\intertext{Specific OpCos desire to be supplied by at least two suppliers for some specific type of product code. This is ensured by the following two formulas:}
\mathlarger{\sum}_{i\in I}&F_{iop} \geq 2,\quad && \forall o \in O, p\in P \label{5}\\
\mathlarger{\sum}_{i\subset I}&x_{ijp} \geq F_{iop} G_{op},\quad && \forall i \in I, o\in O, p\in P \label{5}
\end{align}

\end{document} 

在此輸入影像描述

答案2

這是一個擴展範例:

\documentclass[a4paper,12pt]{article}
\usepackage{mathtools}
\usepackage{lipsum}
\begin{document}
\section{Let us try}
\subsection{Stating the objective function}

%\lipsum[1]

\begin{equation}\label{1}
\begin{aligned}
\min \quad BFC  \bigg(\sum_{i\in I}Fc_i  u_i\bigg)
&+ BEC  \biggl(\sum_{i\in I} \sum_{j \in J} \sum_{p \in P} x_{ijp}  Ec_{ijp} y \biggr)    \\
&+ BTC  \biggl(\sum_{i\in I} \sum_{j \in J} \sum_{p \in P} x_{ijp}  Tc_{ijp}   \biggr)    \\
&+ BWC  \biggl(\sum_{i\in I} \sum_{j \in J} \sum_{p \in P} x_{ijp}  Wc_{ijp}   \biggr)    \\
&+ BZC  \biggl(\sum_{i\in I} \sum_{j \in J} \sum_{p \in P} x_{ijp}  Z_{ijp}    \biggr)  Zc
\end{aligned}
\end{equation}


\subsection{Stating the constraints}
The first constraint ensures that the demand of each customer is satisfied:

\begin{align}\label{2}\allowdisplaybreaks
&\sum_{i\in I} x_{ijp} = D_{jpy},  \quad && \forall j \in J,  p\in P, y \in Y\\
\intertext{The second formula makes sure that the maximum}
&\sum_{j\in J}\sum_{p\in P} x_{ijp} \leq u_i,  \quad && \forall i \in I \label{3}
\intertext{Specific breweries desire to be supplied by at least two suppliers for some specific type 
of product code. This is ensured by the following two formulas:}
&\sum_{i\in I}J_{ijp} \geq 2,  \quad && \forall j \in J,  p\in P \label{4}\\
&x_{ijp} \geq b_{ijp} M_{jp}\label{5}
\end{align}
\end{document}

看看結果是否適合您。如果是這樣,您可以輕鬆擴展它。

在此輸入影像描述

答案3

我的版本沒有\mathlarger,減少了括號和一些其他提示。

例如,BFC第一個顯示中的類似符號並不表示三個量的乘積,而是表示單一變量,因此\mathit減少了字母之間的間距。與其他人所說的相反,\cdot為了避免符號被解釋為“評估的函數”,這是必要的。

人們應該使用\biggl(and\biggr)而不僅僅是\bigg。不管怎樣,正常尺寸的\sum版本\Big似乎更好;\,如果下標可以與括號衝突,則加。

檢查最後一個i\subset I,似乎不合適。

你可能會考慮

\sum_{\substack{i\in I \\ j\in J \\ p\in P}}

而不是三重求和,類似地對於雙重求和。

避免在顯示前出現空白行。\noindent如果顯示後沒有空白行則不需要(如果有則\noindent錯誤)。

\documentclass{article}
\usepackage{amsmath}

\newcommand{\tvar}[1]{\mathit{#1}}

\begin{document}

\subsection{Stating the objective function} 

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 
Text Text Text 
\begin{equation}\label{1}
\begin{split}
\min \tvar{BFC} &\cdot \Bigl(\,\sum_{i\in I} Fc_i \cdot u_i\Bigr)
+ 
\tvar{BEC} \cdot \Bigl(\,\sum_{i\in I}\sum_{j \in J}\sum_{p \in P}x_{ijp} \tvar{Ec}_{ijpy}\Bigr)
\\
{}+
\tvar{BTC} &\cdot \Bigl(\,\sum_{i\in I}\sum_{j \in J}\sum_{p \in P}x_{ijp} \tvar{Tc}_{ijp}\Bigr)
+
\tvar{BWC} \cdot \Bigl(\,\sum_{i\in I}\sum_{j \in J}\sum_{p \in P}x_{ijp} \tvar{Wc}_{ijp}\Bigr)
\\
{}+
\tvar{BZC} &\cdot \Bigl(\,\sum_{i\in I}\sum_{j \in J}\sum_{p \in P}x_{ijp} Z_{ijp}\Bigr) \tvar{Zc} 
\end{split}
\end{equation}

\subsection{Stating the constraints}
The first constraint ensures that the demand of each customer is satisfied:
\begin{equation}\label{2}
\sum_{i\in I}x_{ijp} = D_{jpy},  \quad \forall j \in J,  p\in P, y \in Y
\end{equation}
The second formula makes sure that the maximum capacity of each supplier facility 
is not exceeded:
\begin{equation}\label{3}
\sum_{j\in J}\sum_{p\in P}x_{ijp} \leq u_i,  \quad  \forall i \in I
\end{equation}
Contracts with specific supplier facilities may agree on minimum allocation volumes. 
This is ensured by the following formula:
\begin{equation}\label{4}
\sum_{j\in J}\sum_{p\in P}x_{ijp} \geq V_i,  \quad \forall i \in I
\end{equation}
Specific breweries desire to be supplied by at least two suppliers for some specific 
type of product code. This is ensured by the following two formulas:
\begin{equation}\label{5}
\sum_{i\in I}J_{ijp} \geq 2,  \quad \forall j \in J,  p\in P
x_{ijp} \geq b_{ijp} M_{jp}
\end{equation}
Specific OpCos desire to be supplied by at least two suppliers for some specific 
type of product code. This is ensured by the following two formulas:
\begin{alignat}{2}
&\sum_{i\in I}F_{iop}\geq 2, &\quad& \forall o \in O,  p\in P \label{6}\\
&\sum_{i\subset I}x_{ijp} \geq F_{iop}G_{op}, && \forall i \in I,  o\in O, p\in P \label{7}
\end{alignat}

\end{document}

在此輸入影像描述

這是附帶的版本\substack

在此輸入影像描述

答案4

對於第一個方程,您可以使用multline環境(在amsmath套件中定義):

\documentclass{article}
\usepackage{amsmath, amssymb}
\usepackage{lipsum}

\begin{document}
\subsection{Stating the objective function}
\lipsum[11]
\begin{multline}\label{1}
\min \quad \mathrm{BFC}{\cdot}\bigg(\sum_{i\in I}Fc_i{\cdot} u_i\bigg)
+ \mathrm{BEC}{\cdot}\bigg(\sum_{i\in I}\sum_{j \in J}\sum_{p \in P}x_{ijp}{\cdot}Ec_{ijpy}\bigg)  \\
%
+ \mathrm{BTC}{\cdot}\bigg(\sum_{i\in I}\sum_{j \in J}\sum_{p \in P}x_{ijp}{\cdot}Tc_{ijp}\bigg)
+ \mathrm{BWC}{\cdot}\bigg(\sum_{i\in I}\sum_{j \in J}\sum_{p \in P}x_{ijp}{\cdot}Wc_{ijp}\bigg)   \\
%
+ \mathrm{BZC}{\cdot}\bigg(\sum_{i\in I}\sum_{j \in J}\sum_{p \in P}x_{ijp}{\cdot}Z_{ijp}\bigg){\cdot}Zc
\end{multline}
\end{document}

\subsection{Stating the constraints}
The first constraint ensures that the demand of each customer is satisfied:

\begin{align}
\mathlarger{\sum}_{i\in I}x_i_j_p = D_j_p_y,  \quad && \forall j \in J,  p\in P, y \in Y\label{2}
\end{align}
\noindent The second formula makes sure that the maximum capacity of each supplier facility is not exceeded:
\begin{align}
\mathlarger{\sum}_{j\in J}\mathlarger{\sum}_{p\in P}x_i_j_p \leq u_i,  \quad && \forall i \in I \label{3}
\end{align}
\noindent Contracts with specific supplier facilities may agree on minimum allocation volumes. This is ensured by the following formula:
\begin{align}
\mathlarger{\sum}_{j\in J}\mathlarger{\sum}_{p\in P}x_i_j_p \geq V_i,  \quad && \forall i \in I \label{3}
\end{align}
\noindent Specific breweries desire to be supplied by at least two suppliers for some specific type of product code. This is ensured by the following two formulas:
\begin{align}
\mathlarger{\sum}_{i\in I}J_i_j_p \geq 2,  \quad && \forall j \in J,  p\in P \label{4}\\
x_i_j_p \geq b_i_j_p M_j_p
\end{align}
\noindentSpecific OpCos desire to be supplied by at least two suppliers for some specific type of product code. This is ensured by the following two formulas:
\begin{align}
\mathlarger{\sum}_{i\in I}F_i_o_p\geq 2,\quad && \forall o \in O,  p\in P \label{5}\\
\mathlarger{\sum}_{i\subset I}x_i_j_p \geq F_i_o_pG_o_p,\quad && \forall i \in I,  o\in O, p\in P \label{5}
\end{align}
\end{document}

產生:

在此輸入影像描述

一些評論:

  • 增加方程式中某些符號的大小(在您的情況下\sum)並不是一個好主意。它們的尺寸是為了美觀的方程式而刻意設計的,所以請不要破壞設計師的努力
  • 我認為BFC,BTC等是縮寫,應該用 upshape 字體書寫,即應該寫成\mathrm{BFC}, `\mathbf{BTC}˙ 等
  • 同樣c_i_j_p_y是錯誤的符號。它應該是或c_{ijpy}(最有可能期望的結果)或c_{i_{j_{p_{y}}}}(可能性較小)
  • \cdot從數學角度來看,不需要使用進行乘法。不管怎樣,如果你堅持使用它們,你可以透過將它們括在花括號中來減少它們周圍的空間(如上面的 MWE 中所做的那樣)

相關內容