由于缺少 $ 插入,我收到 20 错误。但是。我在每个符号前后都添加了 $。
这是我的代码:
\documentclass[twocolumn]{article}
\usepackage{blindtext}
\begin{document}
\begin{table*}[htbp]
\centering
%\begin{threeparttable}
\caption{Summary of a state-based EMS}
\begin{tabular}{l|c|c|c}
\hline
Battery SOC & State & Load Power & Fuel cell reference power \\ \hline
SOC \textgreater 80 \% & 1 & $P_{load}$ \le $P_{FCmin}$ & $P_{FCmin}$ \\
& 2 & $P_{load}$ \le $P_{FCmin}$ + $P_{optdis}$ & $P_{FCmin}$ \\
& 3 & $P_{load}$ \le $P_{FCmax}$ + $P_{optdis}$ & $P_{FC}$ = $P_{load}$ - $P_{optdis}$ \\
& 4 & $P_{FCmax}$ + $P_{optdis}$ \textless $P_{load}$ & $P_{FCmax}$ \\ \hline
50\% \le $SOC$ \le 80\% & 5 & $P_{load}$ \le $P_{FCmin}$ & $P_{FCmin}$ \\
& 6 & $P_{load}$ \le $P_{FCopt}$ - $P_{BATopt}$ & $P_{load}$ \\
& 7 & $P_{load}$ \le $P_{FCopt}$ + $P_{BATopt}$ & $P_{FCopt}$ \\
& 8 & $P_{load}$ \le $P_{FCmax}$ & $P_{load}$ \\
& 9 & $P_{load}$ \textgreater $P_{FCmax}$ & $P_{FCmax}$ \\ \hline
SOC \textless 50\% & 10& $P_{load}$ \le $P_{FCmax}$ - $P_{optchar}$ & $P_{load}$ + $P_{optchar}$\\ & 11& $P_{load}$ \textgreater $P_{FCmax}$ - $P_{optchar}$ & $P_{FCmax}$ \\ \hline
\end{tabular}
\label{statebased}
%\end{threeparttable}
\end{table*}
\Blindtext\Blindtext
\end{document}
答案1
您始终将文本模式中的符号(命令)放置在仅用于数学模式的位置。更正如下
\documentclass[twocolumn]{article}
\usepackage{blindtext}
\begin{document}
\begin{table*}[htbp]
\centering
%\begin{threeparttable}
\caption{Summary of a state-based EMS}
\begin{tabular}{l|c|c|c}\hline
Battery SOC & State & Load Power & Fuel cell reference power \\ \hline
SOC \textgreater 80 \% & 1 & $P_{load} \le P_{FCmin}$& $P_{FCmin}$ \\
& 2 & $P_{load} \le P_{FCmin} + P_{optdis}$ & $P_{FCmin}$ \\
& 3 & $P_{load}\le P_{FCmax}+ P_{optdis}$& $P_{FC}$ = $P_{load} - P_{optdis}$ \\
& 4 & $P_{FCmax}$ + $P_{optdis}$ \textless $P_{load}$ & $P_{FCmax}$ \\ \hline
$50\% \le SOC \le 80\% $ & 5 & $P_{load} \le P_{FCmin}$ & $P_{FCmin}$ \\
& 6 & $P_{load} \le P_{FCopt} - P_{BATopt}$ & $P_{load}$ \\
& 7 & $P_{load} \le P_{FCopt} + P_{BATopt}$ & $P_{FCopt}$ \\
& 8 & $P_{load} \le P_{FCmax}$ & $P_{load}$ \\
& 9 & $P_{load}$ \textgreater $P_{FCmax}$ & $P_{FCmax}$ \\ \hline
SOC\textless 50\%&10& $P_{load}\le P_{FCmax}-P_{optchar}$ & $P_{load}+ P_{optchar}$\\
& 11& $P_{load}$ \textgreater $P_{FCmax} - P_{optchar}$ & $P_{FCmax}$ \\ \hline
\end{tabular}
\label{statebased}
\end{table*}
\Blindtext\Blindtext
\end{document}
第一次修订
在这种情况下,使用独立设备可以协助调试。
\documentclass[border=12pt]{standalone}
\begin{document}
\begin{tabular}{l|c|c|c}\hline
Battery SOC&State & Load Power & Fuel cell reference power \\ \hline
$\mbox{SOC}>80\%$& 1 & $P_{load} \le P_{FCmin}$ & $P_{FCmin}$ \\
& 2 & $P_{load} \le P_{FCmin} + P_{optdis}$ & $P_{FCmin}$ \\
&3& $P_{load}\le P_{FCmax} + P_{optdis}$ & $P_{FC} = P_{load} - P_{optdis}$ \\
& 4 & $P_{FCmax} + P_{optdis}< P_{load}$ & $P_{FCmax}$ \\ \hline
$50\% \le \mbox{SOC}\le 80\%$&5& $P_{load} \le P_{FCmin}$ & $P_{FCmin}$ \\
& 6 & $P_{load} \le P_{FCopt} - P_{BATopt}$ & $P_{load}$ \\
& 7 & $P_{load} \le P_{FCopt} + P_{BATopt}$ & $P_{FCopt}$ \\
& 8 & $P_{load} \le P_{FCmax}$ & $P_{load}$ \\
& 9 & $P_{load}>P_{FCmax}$ & $P_{FCmax}$ \\ \hline
$\mbox{SOC} < 50\% $ & 10& $P_{load} \le P_{FCmax} - P_{optchar}$ & $P_{load} + P_{optchar}$\\ & 11& $P_{load} > P_{FCmax} - P_{optchar}$ & $P_{FCmax}$ \\ \hline
\end{tabular}
\end{document}
答案2
其他答案已经指出,您没有使用 TeX 的数学模式来处理诸如\le
(“小于或等于”)之类的符号。除了修复这些问题,以及将文本模式符号(如\textless
和)替换\textgreater
为数学模式等价符号(<
和>
)之外,您还应该考虑
使用
array
环境而不是tabular
环境,因为表格的大部分内容都是公式——这将节省您输入大量$
符号来进入和退出数学模式的时间;将下标材料排版为直立(罗马)字体;
将第 1、3 和 4 列的材料左对齐而不是居中;
不要在表中使用任何垂直线,并
\hline
用包的规则绘制宏替换的所有实例booktabs
:\toprule
、\midrule
和\bottomrule
;这将使表格看起来更“开放”,从而使表格更具可读性。
\documentclass[twocolumn]{article}
\usepackage{blindtext,booktabs,caption}
\let\tn\textnormal % shortcut macro
\begin{document}
\begin{table*}
\centering
\caption{Summary of a state-based EMS} \label{statebased}
$\begin{array}{@{} lcll @{}} % use "array" instead of "tabular"
\toprule
\tn{Battery SOC} & \tn{State} & \tn{Load Power} & \tn{Fuel cell reference power} \\
\midrule
\tn{SOC} > 80 \%
& 1 & P_{\tn{load}} \le P_{\tn{FCmin}} & P_{\tn{FCmin}} \\
& 2 & P_{\tn{load}} \le P_{\tn{FCmin}} + P_{\tn{optdis}} & P_{\tn{FCmin}} \\
& 3 & P_{\tn{load}} \le P_{\tn{FCmax}} + P_{\tn{optdis}} & P_{\tn{FC}} = P_{\tn{load}} - P_{\tn{optdis}} \\
& 4 & P_{\tn{load}} > P_{\tn{FCmax}} + P_{\tn{optdis}} & P_{\tn{FCmax}} \\
\addlinespace
50\% \le \tn{SOC} \le 80\%
& 5 & P_{\tn{load}} \le P_{\tn{FCmin}} & P_{\tn{FCmin}} \\
& 6 & P_{\tn{load}} \le P_{\tn{FCopt}} - P_{\tn{BATopt}} & P_{\tn{load}} \\
& 7 & P_{\tn{load}} \le P_{\tn{FCopt}} + P_{\tn{BATopt}} & P_{\tn{FCopt}} \\
& 8 & P_{\tn{load}} \le P_{\tn{FCmax}} & P_{\tn{load}} \\
& 9 & P_{\tn{load}} > P_{\tn{FCmax}} & P_{\tn{FCmax}} \\
\addlinespace
\tn{SOC} < 50\%
& 10& P_{\tn{load}} \le P_{\tn{FCmax}} - P_{\tn{optchar}} & P_{\tn{load}} + P_{\tn{optchar}}\\ & 11& P_{\tn{load}} > P_{\tn{FCmax}} - P_{\tn{optchar}} & P_{\tn{FCmax}} \\
\bottomrule
\end{array}$
\end{table*}
\Blindtext\Blindtext
\end{document}
答案3
使用 helo 包array
你可以显著简化你的表格代码:
\documentclass[twocolumn]{article}
\usepackage{blindtext}
\usepackage{array,amsmath}
\begin{document}
\begin{table*}[htbp]
\centering
%\begin{threeparttable}
\caption{Summary of a state-based EMS}
\begin{tabular}{l|c|>{$}c<{$}|>{$}c<{$}}
\hline
Battery SOC
& State & \text{Load Power}
& \text{Fuel cell reference power} \\ \hline
SOC \textgreater 80 \%
& 1 & P_{load} \le P_{FCmin}
& P_{FCmin} \\
& 2 & P_{load} \le P_{FCmin} + P_{optdis}
& P_{FCmin} \\
& 3 & P_{load} \le P_{FCmax} + P_{optdis}
& P_{FC} = P_{load} - P_{optdis} \\
& 4 & P_{\mathrm{FCmax}} + P_{\mathrm{optdis}} < P_{\mathrm{load}}
& P_{FCmax} \\ \hline
\end{tabular}
\label{statebased}
%\end{threeparttable}
\end{table*}
\Blindtext\Blindtext
\end{document}
由于您使用S ...$
错误,您省略了数学运算符...\begin{tabular}{l|c|>{$}c<{$}|>{$}c<{$}}
我定义,列中的内容是数学表达式..因为它们的头部包含文本,所以我将它们写入一个单元格多列中(参见代码)。
编辑: 在最后一行中,我将索引更改为文本样式,如@egreg 在其评论中所建议的那样,以查看文本索引通常是如何编写的。同样,您可以更改数学表达式中的其他文本索引。