LaTeX中itemize列表嵌套align公式环境报错如何解决
报错原因
代码触发编译错误的核心是LaTeX环境嵌套规则错误:align*是amsmath包提供的块级显示数学环境,内部仅支持数学语法,而\item是列表环境专属命令,只能在itemize/enumerate等列表环境的直接作用域中使用,不能放在数学环境内部。你之前将\item写在align*环境内部的写法不符合嵌套规则,因此无法正常编译。你使用的lucas模板本身原生兼容amsmath包,不需要额外修改模板配置,调整环境嵌套顺序即可正常编译。
正确实现方式
根据需要的公式类型,对应写法如下:
- 列表项内使用行内公式
直接将公式用行内数学标记$...$包裹,放在\item之后即可,不需要额外嵌套块级数学环境,示例代码:\usepackage{amsmath} \begin{itemize} \item $X_i$ 表示第i个样本的特征取值,后续计算逻辑为... \item 其余列表项正常书写即可,行内公式直接用$包裹 \end{itemize} - 列表项内使用多行对齐的无编号块级公式
将align*环境整体放在\item的作用域内部,不要把\item放进数学环境里,示例代码:\usepackage{amsmath} \begin{itemize} \item 第一个变量的定义满足如下推导关系: \begin{align*} X_i &= \sum_{j=1}^n w_j z_{ij} \\ \mathbb{E}[X_i] &= \mu \end{align*} 后续可以继续在该列表项里补充普通文本说明。 \item 其余列表项按相同规则书写即可 \end{itemize}
注意:如果不需要多行对齐的公式,只是单个块级公式,把上面代码里的
align*换成\[ ... \]的块级公式写法即可,不需要额外嵌套对齐环境。
内容的提问来源于stack exchange,提问作者Inuraghe
相关产品推荐
相关产品推荐

