Latex 中伪代码的指令的大小写问题

引用这文章中的官方demo:

\begin{algorithm} 
	\caption{Calculate $y = x^n$} 
	\label{alg3} 
	\begin{algorithmic}
		\REQUIRE $n \geq 0 \vee x \neq 0$ 
		\ENSURE $y = x^n$ 
		\STATE $y \gets 1$ 
		\IF{$n < 0$} 
		\STATE $X \gets 1 / x$ 
		\STATE $N \gets -n$ 
		\ELSE 
		\STATE $X \gets x$ 
		\STATE $N \gets n$ 
		\ENDIF 
		\WHILE{$N \neq 0$} 
		\IF{$N$ is even} 
		\STATE $X \gets X \times X$ 
		\STATE $N \gets N / 2$ 
		\ELSE[$N$ is odd] \STATE $y \gets y \times X$ 
		\STATE $N \gets N - 1$ 
		\ENDIF 
		\ENDWHILE 
	\end{algorithmic} 
\end{algorithm}

可以看到,ENDIF 、ENDWHILE 、WHILE 和 REQUIRE 等都是大写

这样搞,需要两个宏包:

\usepackage{algorithm}
\usepackage{algorithmic}

但是我看我师兄的伪代码里边,他们的指令都是首字母大写,其余字母小写

比如这个latex demo

demo 在这里:https://www.overleaf.com/learn/latex/Algorithms

\documentclass{article}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithmic}
\State $i \gets 10$
\If{$i\geq 5$} 
    \State $i \gets i-1$
\Else
    \If{$i\leq 3$}
        \State $i \gets i+2$
    \EndIf
\EndIf 
\end{algorithmic}

\end{document}

EndIf 、Else 、State都是首字母大写

这样只需要导入一个 algpseudocode 包就行

但是没有上下的两根线,不好看
所以在

\begin{algorithmic}
...
\end{algorithmic}

外边套上

\begin{algorithm} 
\end{algorithm}

就可以

这样做只需要导入宏包:

\usepackage{algorithm}
\usepackage{algpseudocode}

总结一下,渲染出来的样式好像没啥大区别,只是一个指令是全大写,另一个是指令只有首字母大写

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值