표의 캡션은 왼쪽에 있어야 하며 캡션과 표 사이에는 공백이 없어야 합니다. F2와 F3은 두 줄에 있어야 합니다. 열 1,3,4의 내용이 중앙에 배치됩니다. 첨부된 이미지의 표와 정확히 같기를 원합니다.
이것은 내 코드입니다
\documentclass{elsarticle}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{siunitx}
\usepackage{booktabs, makecell, multirow}
\usepackage{caption}
\captionsetup[table]{format=plain,labelformat=simple,labelsep=period}%
\begin{document}
\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{@{}llll@{}}
\toprule
F & Formula & f(x) & Search range \\ \midrule
1 & $\begin{array} {lcl} f(x) & = & \sum_{i=1}^{n} \frac{x_i^{2}}{4000} - \prod_{i=1}^{n}cos(\frac{x_i}{\sqrt{i}}) + 1 \end{array}$ & 0 & [-100, 100]\\
2 & $\begin{array} {lcl} f(x) & = & \frac{\pi}{n}10\sin (\pi {y_1})
$+$ \sum_{i=1}^{n-1} {{( {{y_i} - 1})}^2}[{1 + 10{{\sin }^2}(\pi{y_{i + 1}})}] +(y_n -1)^{2}+\sum_{i=1}^{n}u(x_i,10,100,4) \end{array}$ & 0 & [-100, 100]\\
& $\begin{array} {lcl}
u(x)
u({x_i},a,k,m) =
\begin{cases}
k{({x_i} - a)^m} & \,\,\,\,\,\,\,\,\,{x_i} > a\\
0 & \,\,\,\,\,\,\,\,\,\, - a < {x_i} < a\\
k{( - {x_i} - a)^m} &\,\,\,\,\,\,\,\,\, {x_i} < - a
\end{cases} &
\end{array}$ \\
3 & $\begin{array} {lcl} f\left( x \right) = 0.1\left\{ {{{\sin }^2}(3\pi {x_1}) + \mathop \sum \limits_{i = 1}^{n - 1} {{\left( {{x_i} - 1} \right)}^2}\left[ {1 + {{\sin }^2}(3\pi {x_i} + 1)} \right] + {{({x_n} - 1)}^2}\left[ {1 + {{\sin }^2}(2\pi {x_n})} \right]} \right\} + \sum\limits_{i = 1}^n {u({x_i},5,100,4)}
\end{array}$ & 0 & [-100, 100]\\
\\ \bottomrule
\end{tabular}
\end{table}
\end{document}
답변1
이 같은?
\documentclass{elsarticle}
\usepackage{booktabs,amsmath,caption,array}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\newlength\mylen
\newcommand\myrange{$[-100, 100]$}
\settowidth\mylen{\myrange}
\usepackage{newtxtext,newtxmath}
\captionsetup[table]{format=plain,
labelfont=bf,
labelsep=newline,
singlelinecheck=false,
skip=0pt}
\begin{document}
\begin{table}
\caption{Table caption here.}
\label{my-label}
$\begin{array}{@{} clcC{\mylen} @{}}
\toprule
\text{F} & \multicolumn{1}{c}{\text{Formula}}
& f_{\min} & \text{Search} \text{range} \\
\midrule
\text{F1} &
\begin{aligned}
&f(x) = \frac{1}{4000}\sum_{i=1}^{n} x_i^2
-\prod_{i=1}^n \cos\Bigl(\frac{x_i}{\sqrt{i}}\Bigr) + 1
\end{aligned}
& 0 & \myrange\\
\cmidrule{1-4}
\text{F2} &
\begin{aligned}
&f(x) = \Bigl\{ \frac{\pi}{n} 10\sin (\pi y_1)
+ \sum_{i=1}^{n-1} (y_i - 1)^2
\bigl[ 1 + 10\sin^2(\pi y_{i+1}) \bigr] \\
&\qquad\quad+(y_n -1)^2 \Bigr\} +\sum_{i=1}^n u(x_i,10,100,4)\\
&y_i=1+\frac{x_i+1}{4} \\
&u({x_i},a,k,m) =
\begin{cases}
k(x_i - a)^m & x_i > a\\
0 & - a < x_i < a\\
k(-x_i- a)^m & x_i < - a
\end{cases}
\end{aligned}
& 0 & \myrange\\
\cmidrule{1-4}
\text{F3} &
\begin{aligned}
&f(x) = 0.1\Bigl\{ \sin^2(3\pi x_1) +
\sum_{i=1}^{n-1}(x_i-1)^2
\bigl[1 +\sin^2(3\pi x_i + 1) \bigr] \\
&\qquad\quad+(x_n-1)^2\bigl[1 +\sin^2(2\pi x_n)
\bigr] \Bigr\}
+ \sum_{i=1}^n u(x_i,5,100,4)
\end{aligned}
& 0 & \myrange\\
\bottomrule
\end{array}$
\end{table}
\end{document}
내가 만든 주요 변경 사항 중 일부는 (i) 사실상 모든 콘텐츠가 수학 모드에 있으므로 환경 array
대신 환경 을 사용하는 것입니다. (ii) 2열에 공식을 수용하기 위한 환경 tabular
사용 ; aligned
(iii) 코드를 복잡하게 만드는 것 외에는 아무것도 하지 않는 수많은 중괄호 쌍 삭제, \,\,\,\,\,\,\,\,\,
; (iv) 중괄호와 대괄호의 자동 크기 조정이 없으며 (v) 긴 수식에 대해 다른 줄 바꿈을 선택합니다.