Undefined control sequence. 解决

转自:https://www.cnblogs.com/coolqiyu/p/5580290.html

方式一  

需要包含的

\usepackage[noend]{algpseudocode}

\usepackage{algorithmicx,algorithm}

源码

\begin{algorithm}[t]
\caption{algorithm caption} %算法的名字
\hspace*{0.02in} {\bf Input:} %算法的输入, \hspace*{0.02in}用来控制位置,同时利用 \\ 进行换行
input parameters A, B, C\\
\hspace*{0.02in} {\bf Output:} %算法的结果输出
output result
\begin{algorithmic}[1]
\State some description % \State 后写一般语句
\For{condition} % For 语句,需要和EndFor对应
  \State ...
  \If{condition} % If 语句,需要和EndIf对应
    \State ...
  \Else
    \State ...
  \EndIf
\EndFor
\While{condition} % While语句,需要和EndWhile对应
  \State ...
\EndWhile
\State \Return result
\end{algorithmic}
\end{algorithm}

  结果截图

 注意

1. 关键字的大小写问题,否则会出现 Undefined control sequence.

2. 控制流要前后对应。如果有 While,但没有 EndWhile,否则会出现 Some blocks are not closed。

  方式二  

需要包含的

\usepackage[ruled]{algorithm2e}

源码

\begin{algorithm}[H]
\caption{algorithm caption}%算法名字
\LinesNumbered %要求显示行号
\KwIn{input parameters A, B, C}%输入参数
\KwOut{output result}%输出
some description\; %\;用于换行
\For{condition}{
  only if\;
  \If{condition}{
    1\;
  }
}
\While{not at end of this document}{
  if and else\;
  \eIf{condition}{
    1\;
  }{
    2\;
  }
}
\ForEach{condition}{
  \If{condition}{
    1\;
  }
}
\end{algorithm}

结果截图

  方式三  

需要包含的

\usepackage[ruled,vlined]{algorithm2e}

源码

同方式二

结果截图

在使用 LaTeX 编写文档时,如果遇到编译错误 `Undefined control sequence. \makecell`,这通常意味着你尝试使用了 `\makecell` 命令,但 LaTeX 无法识别它。这个命令通常用于在表格中创建带有换行的单元格内容,特别是在使用 `makecell` 宏包时。 ### 错误原因 `\makecell` 是 `makecell` 宏包提供的一个功能,用于在表格单元格中插入换行符。如果未正确加载该宏包,LaTeX 将无法识别该命令,从而导致 `Undefined control sequence` 错误[^1]。 ### 解决方法 1. **确保正确引入宏包** 在 LaTeX 文档的导言区(即 `\documentclass` 和 `\begin{document}` 之间)添加以下语句,以加载 `makecell` 宏包: ```latex \usepackage{makecell} ``` 2. **使用 `\makecell` 命令** 在表格中,你可以使用 `\makecell` 来实现单元格内的换行。例如: ```latex \begin{tabular}{|c|c|} \hline Header 1 & Header 2 \\ \hline Row 1 & \makecell{Line 1 \\ Line 2} \\ \hline \end{tabular} ``` 上述代码中,第二列的单元格将显示两行内容,分别是 "Line 1" 和 "Line 2"。 3. **结合其他表格宏包使用** 如果表格设计较为复杂(如合并单元格、添加斜线等),可以考虑同时引入 `multirow` 和 `booktabs` 宏包以增强表格功能[^2]。例如: ```latex \usepackage{makecell} \usepackage{multirow} \usepackage{booktabs} ``` 4. **检查拼写错误** 确保 `\makecell` 命令拼写正确,并且没有遗漏反斜杠(`\`)或误写为其他命令。 ### 其他功能 `makecell` 宏包还提供了一些其他实用功能,例如: - **自定义对齐方式**:可以使用 `\makecell[l]{...}`、`\makecell[r]{...}` 或 `\makecell[c]{...}` 来指定单元格内容的对齐方式(左、右、居中)。 - **添加斜线**:配合 `\slash` 命令,可以在单元格中绘制斜线分隔内容。 ### 总结 要解决 `Undefined control sequence. \makecell` 错误,只需确保在文档中正确加载 `makecell` 宏包,并正确使用 `\makecell` 命令。此外,结合其他表格宏包可以进一步提升表格的排版效果。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值