Estou escrevendo minhas fórmulas matemáticas e restrições com o Overleaf. Este é o meu código e também mostro o resultado que obtive (ver imagem). Como você pode ver, as fórmulas não estão bem alinhadas. Gostaria de melhorar o layout alinhando todas as fórmulas e rotulando-as (com números, como mostra a imagem). Seria extremamente útil se alguém pudesse me ajudar com isso!
\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}
Responder1
Uma solução simples usa um único align
ambiente e o \intertext
comando.
Simplifiquei o preâmbulo para o que é necessário para o código funcionar. Além disso, não acho que você realmente precise usar um double \mathlarger
, o que faz com que o número da equação seja colocado abaixo da equação, mesmo quando se usamultlined
Aliás, você não precisa carregar amsfonts
quando carrega amssymb
– o último faz isso por você. Observe que hyperref
deve ser carregado como o último pacote, com poucas exceções.
\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}
Responder2
Aqui está um exemplo estendido:
\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}
e veja se o resultado combina com você. Nesse caso, você pode estendê-lo facilmente.
Responder3
Minha versão, sem \mathlarger
parênteses reduzidos e algumas outras dicas.
Por exemplo,BFCe os símbolos semelhantes na primeira exibição não significam um produto de três quantidades, mas uma única variável, \mathit
reduzindo assim o espaçamento entre as letras. Ao contrário do que outros afirmaram, \cdot
é necessário evitar que os símbolos sejam interpretados como “uma função avaliada em”.
Deve-se usar \biggl(
e \biggr)
, não apenas \bigg
. De qualquer forma, com o tamanho normal \sum
, a \Big
versão parece melhor; adicione \,
se o subscrito puder entrar em conflito com os parênteses.
Verifique o last i\subset I
, que parece não se encaixar.
Você pode considerar
\sum_{\substack{i\in I \\ j\in J \\ p\in P}}
em vez da soma tripla e da mesma forma para as somas duplas.
Evite linhas em branco antes das exibições. Não há necessidade \noindent
se não houver linha em branco após a exibição (e se você tiver uma, estaria \noindent
errado).
\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}
Aqui está a versão com\substack
Responder4
Para a primeira equação você pode usar multline
ambiente (definido no amsmath
pacote):
\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}
que produzem:
Alguns comentários:
- Aumentar o tamanho de alguns símbolos na equação (no seu caso
\sum
) não é uma boa ideia. Seu tamanho foi deliberadamente criado para equações de boa aparência, então, por favor, não destrua os esforços dos designers - Suponho que
BFC
,BTC
, etc sejam abreviações, que devem ser escritas com fontes upshape, ou seja, devem ser escritas como\mathrm{BFC}
, `\mathbf{BTC}˙, etc. - Da mesma forma,
c_i_j_p_y
a notação está errada. Deveria ser ouc_{ijpy}
(qual resultado é o mais provavelmente desejado) ouc_{i_{j_{p_{y}}}}
(o que é menos provável) - Do ponto de vista matemático, o uso de
\cdot
para multiplicação não é necessário. De qualquer forma, se você persistir em usá-los, poderá reduzir o espaço ao redor deles colocando-os entre chaves (como é feito no MWE acima)