我在 LaTeX 中使用 newfloat。在该浮点数(称为模型)中,我使用IEEEeqnarray
如下环境:
\documentclass[journal]{IEEEtran}
\usepackage[utf8]{inputenc}
\usepackage{float}
\usepackage{caption}
\floatstyle{ruled}
\newfloat{model}{thp}{lop}
\floatname{model}{Model}
\captionsetup
[model]% Float type
{%
name = Model,
labelfont = normalfont,
%textfont = it,
labelsep = period
}
\begin{document}
\title{MWE}
\maketitle
\section{Mwe}
\begin{model}[!h]
\caption{My Model}
\label{Model3}
\begin{IEEEeqnarray}{l}
x_a + y_b \leq c_1 + 1000000000000000000,~\forall~a\in A,b\in B\\
x_d + y_e \leq c_2 - 1000000000000000000,~\forall~d\in D,e\in E
\end{IEEEeqnarray}
\end{model}
\bibliographystyle{IEEEtran}
\end{document}
我想减少方程式前面的左边距,我该如何实现?
我在文档或 Google 上找不到任何内容。
多谢。
編輯:MWE
即使我提供了参数 {l},我也无法让方程式向左移动(就像在表格单元格中一样)。
答案1
IEEEeqnarray
不会尝试将内容与左边距对齐,而是尝试将块相对于边距居中。
使用 可以获得更好的设置rCl'l
,但您可能需要将其更改为r
和l
(以获得更宽的空间)。如果您确实希望与左边距对齐,则可以使用。'
"
flalign
\documentclass[journal]{IEEEtran}
%\usepackage[utf8]{inputenc}
\usepackage{float}
\usepackage{caption}
\usepackage{newtxtext,newtxmath} % I recommend this
\floatstyle{ruled}
\newfloat{model}{thp}{lop}
\floatname{model}{Model}
\captionsetup[model]{% Float type
name = Model,
labelfont = normalfont,
%textfont = it,
labelsep = period
}
\begin{document}
\title{MWE}
\author{me}
\maketitle
\section{Mwe}
\begin{model}[!htp]
\caption{My Model}
\label{Model3}
\begin{IEEEeqnarray}{rCl'l}
x_a + y_b &\leq& c_1 + 1000000000000000000, &\forall\, a\in A,b\in B\\
x_d + y_e &\leq& c_2 - 1000000000000000000, &\forall\, d\in D,e\in E
\IEEEeqnarraynumspace
\end{IEEEeqnarray}
\end{model}
\begin{model}[!htp]
\caption{My Model}
\label{Model3-again}
\begin{flalign}
x_a + y_b &\leq c_1 + 1000000000000000000, &&\forall\, a\in A,b\in B\\
x_d + y_e &\leq c_2 - 1000000000000000000, &&\forall\, d\in D,e\in E
\end{flalign}
\end{model}
\end{document}
答案2
使用 IEEEeqnarray 并不是一个好的选择。更好的方法是使用amsmath
包定义的数学环境。例如,通过使用包和提供的数学fleqn
环境:gather
nccmath
amsmath
\documentclass[journal]{IEEEtran}
\usepackage[utf8]{inputenc}
\usepackage{float}
\usepackage{caption}
\usepackage{nccmath} % <--- it also load amsmath
\floatstyle{ruled}
\newfloat{model}{thp}{lop}
\floatname{model}{Model}
\captionsetup
[model]% Float type
{%
name = Model,
labelfont = normalfont,
%textfont = it,
labelsep = period
}
\begin{document}
\title{MWE}
\maketitle
\section{Mwe}
\begin{model}[!h]
\caption{My Model}
\label{Model3}
\begin{fleqn} % <---
\begin{gather} % <---
x_a + y_b \leq c_1 + 1000000000000000000,~\forall~a\in A,b\in B\\
x_d + y_e \leq c_2 - 1000000000000000000,~\forall~d\in D,e\in E
\end{gather}
\end{fleqn}
\end{model}
\bibliographystyle{IEEEtran} % not relevant for your problem
\end{document}
您也可以考虑使用较小的字体来表示这个等式:
...
\begin{model}[!h]
\caption{My Model}
\label{Model3}
\small % <---
\begin{fleqn}
\begin{gather}%
x_a + y_b \leq c_1 + 1000000000000000000,~\forall~a\in A,b\in B\\
x_d + y_e \leq c_2 - 1000000000000000000,~\forall~d\in D,e\in E
\end{gather}
\end{fleqn}
\end{model}
...
在这种情况下,您将获得以下结果: