数式を揃える

数式を揃える

私は 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 を使用する必要はないと思います。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、括弧が削減され、他のヒントもいくつか追加されています。

例えば、イギリスまた、最初の表示の同様の記号は、3 つの量の積ではなく、単一の変数を意味するため、\mathit文字間のスペースが狭くなります。他の人が述べたこととは反対に、\cdot記号が「関数が評価される」と解釈されるのを避けるために必要です。

だけでなく、\biggl(と を使うべきです。いずれにしても、通常サイズの では、バージョンの方が良いようです。下付き文字が括弧と衝突する可能性がある場合は、 を追加します。\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などは略語であり、上向きのフォントで書くべきである、つまり\mathrm{BFC}、、`\mathbf{BTC}˙、などと書くべきであると思う。
  • 同様に、c_i_j_p_y表記は誤りです。正しいのは、またはc_{ijpy}(どちらの結果が最も望ましいか)またはc_{i_{j_{p_{y}}}}(どちらが可能性が低いか)です。
  • 数学的な観点からは、掛け算に を使用する\cdot必要はありません。とにかく、どうしても を使いたい場合は、中括弧で囲むことで周囲のスペースを減らすことができます (上記の MWE で行われているように)。

関連情報