You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LaTeX算法代码集成后显示End=0,单独运行正常的问题解决请求

解决LaTeX算法集成后显示“End=0”的问题

问题根源

单独编译这段算法代码时能正常显示“End”,但集成到项目后出现“End=0”,本质是项目里的宏定义或加载的其他包和algorithmic包的文本解析逻辑冲突,导致“End”被误判成带返回值的命令/变量,最终输出了“End=0”。

解决办法

方法1:强制把“End”当纯文本处理

把算法末尾的\STATE \textbf{End}改成:

\STATE \textbf{{End}}

多套一层花括号,让LaTeX明确把“End”当作普通文本,不会被当成命令或变量解析。

方法2:用algorithmic原生的结束命令

别自己用\STATE加Begin/End,直接用包自带的\BEGIN和\END(注意大写),调整后的代码片段:

\begin{algorithmic}[1]
\REQUIRE{Mapped data $(\lambda^{\text{map}}_v)$}
\ENSURE{ Reduced data $(\Phi_i)$}
\BEGIN
\STATE \textbf{Initialize} $(V_j)$
% 中间算法步骤保持不变
\ENDWHILE
\STATE \textbf{Obtain} $(\Phi_i)$
\END
\end{algorithmic}

原生命令符合包的规范,能避免自定义文本引发的冲突。

方法3:排查项目里的冲突源

检查项目文档的前置代码,看看有没有以下情况:

  • 同时加载了algorithmic和algpseudocode这类冲突的算法包
  • 自定义了\End命令(比如误写了\def\End{0})
  • 文档类或其他包修改了\textbf或\STATE的默认行为

找到冲突的地方,删掉或修改对应的宏/包就能解决。

验证步骤

改完先单独编译算法代码确认显示正常,再集成到项目里重新编译,检查末尾是不是只显示“End”。

内容的提问来源于stack exchange,提问作者Dheeraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 00:39:50