LateX书写伪代码注意事项

最方便推荐使用overleaf书写伪代码,在书写时注意格式,这里笔者记录几个自己的问题:

1.if-else伪代码写法
 %if  elseif else
                \If  {"condition"}     "text"   
                \ElsIf {"condition"}   "text"       
                \Else   "text"  
                \EndIf
对于中文使用$$包裹就行
2.\For
\EndFor
注意大小写不然不会成功显示

3.以数塔问题伪代码书写示例(在需要修改的地方有注释,读者只需要复制到overleaf修改对应内容就可以运行):

\documentclass[11pt]{ctexart}  

\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}  
\usepackage{algorithm}  
\usepackage{algorithmicx}  
\usepackage{algpseudocode}  
\usepackage{amsmath}  //这里之前是一些宏包和格式定义,保证能识别latax语言和伪代码整体美观
\floatname{algorithm}{算法}  
\renewcommand{\algorithmicrequire}{\textbf{输入:}}  
\renewcommand{\algorithmicensure}{\textbf{输出:}}  

\begin{document} 
\renewcommand{\thealgorithm}{}
    \begin{algorithm}  
        \caption{数塔问题}  //这里写算法名称
        \begin{algorithmic}[1] %每行显示行号  
            \Require 数塔层数n,每层节点数值//这里写输入内容
            \Ensure dp[n][m],最大路径和与具体路径//这里写输出内容
   \State $dpTower[tower.length - 1]  \gets tower[tower.length-1]$//普通语句用\State ,中文和内容用$$括起来
   \For{$i\gets tower.length - 2\; to\;i >= 0$} //\For用来写for循环,结束用\EndFor
   \State {$dpTower[i]\gets tower[i].clone()$}
   \For{$j\gets 0\; to\;dpTower[i].length-2$} 
      \If {dpTower[i+1][j]> dpTower[i+1][j+1]) }//\If用来写if判断,\Else用来分支,结束用\EndIf
   \State {$dpTower[i][j] += dpTower[i+1][j]$    }
    \Else
    \State {$ dpTower[i][j] += dpTower[i+1][j+1]$}
    \EndIf 
    \EndFor
    \EndFor
   \State $    System.out.println("$最优路径长度:$" + dpTower[0][0])$ 
   \State $System.out.println("$最优路径:$")$
            \State $j\gets 0$
      \For{$i\gets 0\; to\;dpTower.length-2$} 
  \If{$j<dpTower[i].length-1 && dpTower[i][j] < dpTower[i][j+1] $}  
   \State $j \gets j+1$  
   \State $System.out.println(tower[i][j] + "->")$ 
            \EndIf  
   \EndFor
\If{$j<dpTower[dpTower.length-1].length-1 && dpTower[dpTower.length-1][j] < dpTower[dpTower.length-1][j+1] $}  
   \State $j \gets j+1$  
   \State $System.out.println(tower[dpTower.length-1][j])$ 
            \EndIf  
        \end{algorithmic}  \\这里之后不要删,用来形成显示框架
    \end{algorithm}  
\end{document}  

4.下划线要用\_,否则后面的数会变成下角标

5.\Retrun返回不换行,前面加\State

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值