热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TexStudio编辑LaTeX时插入算法伪代码块遇到错误:Missing\endcsnameinserted.\While

本文描述了在使用TexStudio编辑LaTeX时插入算法伪代码块时遇到的“Missing\endcsnameinserted.\While”错误,并提供了详细的解决方案。
问题描述
  • 在使用 TexStudio 编辑 LaTeX 时,插入算法伪代码块时经常遇到“Missing \endcsname inserted. \While”错误,如下图所示:
    TexStudio 编辑 LaTeX 时插入算法伪代码块遇到错误:Missing \endcsname inserted. \While
原因分析
  • 经过多次尝试,包括删除相关文件、重建项目和替换包等操作,但问题依然存在。
  • 最终发现,问题出在文档模板的导言区已经引入了 \usepackage{algorithmic} 包,而这个包与我们希望使用的算法伪代码包不兼容。

具体需要引入的包为:\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}

如果不想在算法伪代码模块中显示 end for 和 end while,可以使用:\usepackage[noend]{algpseudocode}

TexStudio 编辑 LaTeX 时插入算法伪代码块遇到错误:Missing \endcsname inserted. \While解决方法
  • 注释掉模板中预先导入的 \usepackage{algorithmic} 包。
  • 导入 \usepackage{algorithm}、\usepackage{algorithmicx} 和 \usepackage{algpseudocode} 包。
  • 示例代码 1:

\begin{algorithm}[t]
\caption{Name of your Algorithm}
\label{alg:reference_label}

{\bf Require:} % 输入
\hspace*{0.05in} Input1: $X$
\hspace*{0.05in} Input2: $Y$

{\bf Ensure:} % 输出
\hspace*{0.05in} Output1: $A$
\hspace*{0.05in} Output2: $B$
\hspace*{0.05in} Output3: $Z$
\begin{algorithmic}[1] % 去掉 [1] 如果不需要行号
\While{算法未收敛}
\For{$i \in \text{range}(N)$}
\State 从 $X$ 中采样 $x_{i}$
\State 从 $Y$ 中采样 $y_{i}$
\State $A = \sqrt{x^2 + y^2}$
\State $B = \sum_{1}^{N} x_{i} \cdot y_{i}$
\EndFor
\State $Z = A + B$
\EndWhile
\end{algorithmic}
\end{algorithm}

  • 示例代码 1 的效果:
    TexStudio 编辑 LaTeX 时插入算法伪代码块遇到错误:Missing \endcsname inserted. \While
  • 示例代码 2:

\begin{algorithm}[t]
\caption{Name of your Algorithm}
\label{alg:reference_label}

{\bf Require:} % 输入
\hspace*{0.05in} Input1: $X$
\hspace*{0.05in} Input2: $Y$

{\bf Ensure:} % 输出
\hspace*{0.05in} Output1: $A$
\hspace*{0.05in} Output2: $B$
\hspace*{0.05in} Output3: $Z$
\begin{algorithmic}
\While{算法未收敛}
\For{$i \in \text{range}(N)$}
\State 从 $X$ 中采样 $x_{i}$
\State 从 $Y$ 中采样 $y_{i}$
\State $A = \sqrt{x^2 + y^2}$
\State $B = \sum_{1}^{N} x_{i} \cdot y_{i}$
\EndFor
\State $Z = A + B$
\EndWhile
\end{algorithmic}
\end{algorithm}

  • 示例代码 2 的效果:
    TexStudio 编辑 LaTeX 时插入算法伪代码块遇到错误:Missing \endcsname inserted. \While

推荐阅读
author-avatar
MYJIE2502897603
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有