5、Latex学习笔记之伪代码、代码块篇

目录

伪代码

1、通用模板

2、模块细节

2.1模板说明

2.2模板引用

2.3模板改名

3、常用语句

3.1IF条件判断语句

3.2FOR循环语句

3.3WHILE循环语句

代码块

1、基础用法

2、高级用法


伪代码

需要用到的宏包:

\usepackage{algorithmic}
\usepackage{algorithm}

1、通用模板

对于计算机专业的学生,在论文中插入伪代码描述所用的算法还是比较常见的。下面是伪代码的通用模板,我们先体验一下其效果,然后在后面详细讲解模板中的每个细节。

\begin{algorithm}[!h]
    \caption{Algorithm of SUM}
    \label{alg:AOS}
    \renewcommand{\algorithmicrequire}{\textbf{Input:}}
    \renewcommand{\algorithmicensure}{\textbf{Output:}}
    
    \begin{algorithmic}[1]
        \REQUIRE $A$, $B$, $C$(This is Inputs)  %%input
        \ENSURE XXX(This is Outputs)    %%output
        
        \STATE  xxxxx
        
        \WHILE{$A=B$}
            \STATE xxxxx
        \ENDWHILE
        
        \FOR{each $i \in [1,10]$}
            \IF {$C = 0$}
                \STATE xxxxx
            \ELSE
                \STATE xxxxx
            \ENDIF
        \ENDFOR
        
        \RETURN Outputs
    \end{algorithmic}
\end{algorithm}

5、Latex学习笔记之伪代码、代码块篇_第1张图片

2、模块细节

2.1模板说明

2.1.1框架

\begin{algorithm}[htbp]
...
\end{algorithm}

整体大框架明确了伪代码或算法结构的开始(\begin)和结束(\end)的位置,而 algorithm 说明插入的内容是算法。

[htbp] 是算法的摆放位置,括号内容可根据需求选填,表示意思与图片、表格相同。

2.1.2标题、标签

\caption{Algorithm of SUM}
\label{alg:AOS}

caption 是算法的标题。{ }中就是标题展示的具体内容,标题也会有编号,一般都是自动编号。label 是标签,标签主要是在引用的时候会用到。

2.1.3输入输出设置

\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\renewcommand{\algorithmicensure}{\textbf{Output:}}

\renewcommand{}{}:第二个{}是名称,这里设为Input:和Output:。

如果每个算法都遵循这个设定,可将其设为全局命令:添加到引言区。(算法优先选择自己内部局部设定的命令)

5、Latex学习笔记之伪代码、代码块篇_第2张图片

假如直接使用下面命令:

\algorithmicrequire
\algorithmicensure

5、Latex学习笔记之伪代码、代码块篇_第3张图片

因为算法一般都要有输入输出,所以上面这个命令不可取。

2.1.4算法内容框架

\begin{algorithmic}[1]
        
\end{algorithmic}

这一对是算法内容的框架,表示算法的具体实现以伪代码的形式写在这里。

[]中的参数一般写1,表示算法内容几行标一次序号,这里是一行一标记。如果没有[],则不标记序号。

2.1.5输入输出

\REQUIRE $A$, $B$, $C$(This is Inputs)  %%input
\ENSURE XXX(This is Outputs)    %%output

\REQUIRE命令表示输入,\ENSURE 命令表示输出。

2.1.6算法内容

\STATE  xxxxx
        
\WHILE{$A=B$}
    \STATE xxxxx
\ENDWHILE
​
\FOR{each $i \in [1,10]$}
    \IF {$C = 0$}
        \STATE xxxxx
    \ELSE
        \STATE xxxxx
    \ENDIF
\ENDFOR
​
\RETURN Outputs

每一条独立的语句,前面都要添加命令\STATE。除此之外,我们最常用的还有IF判断语句FOR循环语句WHILE循环语句RETURN返回语句

2.2模板引用

As show in Algorithm \ref{alg:AOS}   %%  英文引用算法
​
正如算法 \ref{alg:AOS}   %% 中文引用算法

2.3模板改名

只需要在模块前面添加一行:\floatname{algorithm}{名称}

5、Latex学习笔记之伪代码、代码块篇_第4张图片

5、Latex学习笔记之伪代码、代码块篇_第5张图片

3、常用语句

在算法的伪代码书写模式中有一些常用的语句,比如:条件分支、循环结构等。这些语法的使用要用到 algorithmic 宏包,即:\usepackage{algorithmic}

3.1IF条件判断语句

\IF {条件}          
    \STATE 语句1
\ELSE
    \STATE 语句2
\ENDIF
\IF {条件}          
    \STATE 语句1
\ENDIF
\IF {条件1}          
    \STATE 语句1
\ELSE
    \IF{条件2} \STATE 语句2
    \ELSE \STATE 语句3
    \ENDIF
\ENDIF

3.2FOR循环语句

\FOR{循环条件}
    \STATE  循环语句
\ENDFOR

3.3WHILE循环语句

\WHILE{条件}
    \STATE 循环语句
\ENDWHILE

代码块

1、基础用法

\usepackage{listings}:所需要的宏包

\lstset{}进行基础设置

\begin{lstlisting}[language=xxx]\end{lstlisting}插入代码块。

\documentclass{article}
\usepackage[UTF8]{ctex}
\usepackage{listings}
​
% 代码块基础设置
\lstset{
numbers=left,                           % 在左侧显示行号
showstringspaces=false,                 % 不显示字符串中的空格
frame=single,                           % 设置代码块边框
}
​
\title{Latex基础}  % 文章标题
\author{埘间海洋}   % 作者的名称
\date{\today}       % 当天日期
​
\begin{document}
\maketitle
​
\section{C Language}
​
\begin{lstlisting}[language=c]
#include 
​
// main function
int main() {
    printf("Hello World!");
    return 0;
}
\end{lstlisting}
​
\end{document}

5、Latex学习笔记之伪代码、代码块篇_第6张图片

2、高级用法

在基础用法基础上增加了\usepackage{xcolor}宏包,并使用\lstset{}进行高级设置。

高级设置除基础设置外,还包括关键字格式,字符串格式等设置。

\documentclass{article}
\usepackage[UTF8]{ctex}
\usepackage{listings}
\usepackage{xcolor}
​
% 代码块高级设置
\lstset{
% basicstyle=\footnotesize,                 % 设置整体的字体大小
showstringspaces=false,                     % 不显示字符串中的空格
frame=single,                               % 设置代码块边框
numbers=left,                               % 在左侧显示行号
% numberstyle=\footnotesize\color{gray},    % 设置行号格式
numberstyle=\color{darkgray},               % 设置行号格式
backgroundcolor=\color{white},              % 设置背景颜色
keywordstyle=\color{blue},                  % 设置关键字颜色
commentstyle=\it\color[RGB]{0,100,0},       % 设置代码注释的格式
stringstyle=\sl\color{red},                 % 设置字符串格式
}
​
\title{Latex基础}  % 文章标题
\author{埘间海洋}   % 作者的名称
\date{\today}       % 当天日期
​
\begin{document}
\maketitle
​
\section{C Language}
​
\begin{lstlisting}[language=c]
#include 
​
// main function
int main() {
    printf("Hello World!");
    return 0;
}
\end{lstlisting}
​
\end{document}

5、Latex学习笔记之伪代码、代码块篇_第7张图片

 Latex相关内容链接:

1、Latex学习笔记之基础入门篇

2、Latex学习笔记之图片篇

3、Latex学习笔记之表格篇

4、Latex学习笔记之数学公式篇

5、Latex学习笔记之伪代码、代码块篇

6、Latex学习笔记之参考文献篇

Latex学习笔记——总篇(入门、图片、表格、数学公式、伪代码、代码块、参考文献)

你可能感兴趣的:(Latex篇,latex)