![为什么 LaTeX 会在方程式中删除变量名的首字母?](https://linux22.com/image/375080/%E4%B8%BA%E4%BB%80%E4%B9%88%20LaTeX%20%E4%BC%9A%E5%9C%A8%E6%96%B9%E7%A8%8B%E5%BC%8F%E4%B8%AD%E5%88%A0%E9%99%A4%E5%8F%98%E9%87%8F%E5%90%8D%E7%9A%84%E9%A6%96%E5%AD%97%E6%AF%8D%EF%BC%9F.png)
朋友们:谁能告诉我为什么熵的字母“e”没有出现在以下代码片段中?
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{aligned}
\mathcal entropy[9,5] & = \mathcal - [(\frac{9}{14})*lg(\frac{9}{14}) + (\frac{5}{14})*lg(\frac{5}{14})] \\
& = - [(\frac{9}{14})*((lg(9)-lg(14)) + (\frac{5}{14})*((lg(5) - lg(14))] \\
& = - [(\frac{9}{14})*(\frac{log(9)}{log(2)}) - (\frac{log(14)}{log(2)}) + (\frac{5}{14})*(\frac{log(5)}{log(2)}-\frac{log(14}{log(2)})]\\
& = 0.940
\end{aligned}
\end{equation}
\end{document}
答案1
下面的例子
- 删除
\mathcal
那些看起来没有目的的内容, - 修复括号,
- 设置
entropy
为文本词而不是变量的乘积埃,n,吨,..., - 设置运算符
lg
和log
直立字体, 尝试通过以下方式改进格式
- 更好的括号尺寸,
- 删除不需要的括号,
- 删除不需要的运算符(*),
- 使用包
siunitx
来格式化最终数字。
示例文件:
\documentclass{article}
\usepackage{amsmath}
\usepackage{mleftright}
\usepackage{siunitx}
% For text in math, see comments.
\newcommand*{\tx}{\textnormal}
\begin{document}
\begin{equation}
\begin{aligned}
\tx{entropy}[9,5]
& = - \mleft[\frac{9}{14}\lg\Bigl(\frac{9}{14}\Bigr)
+ \frac{5}{14}\lg\Bigl(\frac{5}{14}\Bigr)\mright] \\
& = -
\mleft[
\frac{9}{14}\bigl(\lg(9)-\lg(14)\bigr)
+
\frac{5}{14}\bigl(\lg(5) - \lg(14)\bigr)
\mright] \\
& = -
\mleft[
\frac{9}{14} \left(\frac{\log(9)}{\log(2)} - \frac{\log(14)}{\log(2)}\right)
+
\frac{5}{14} \left(\frac{\log(5)}{\log(2)}-\frac{\log(14)}{\log(2)}\right)
\mright]\\
& \approx \num{0.9402859586}
\end{aligned}
\end{equation}
\end{document}
\left
和括号之间的公式\right
放在“内部”数学公式中。这可能会导致公式周围出现额外的水平空间,例如,一元减号和左括号之间有一个很窄的空间。\mleft
和\mright
包mleftright
可以避免这种情况。
答案2
\mathcal
是一个带参数的宏。在您的示例中,由于缺少{...}
,参数为e
。但\mathcal
仅适用于大写字母,因此有副作用。
此外,\mathcal
通常用于表示集合族。看来您想要一些其他效果。