英文版
本文所述方法用用texstudio
编写,仅涵盖常用if else for while
等指令。
如果编译后中文出现乱码,请在设置中将设置-构建-默认编译器
选为XeLaTeX
,
如果选择PDFLaTeX
中文会乱码。
\documentclass[11pt]{ctexart}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}
\usepackage{amsfonts,amssymb} %字体 包含手写体空心字体等,具体指令请自行查询
\usepackage{ctex}
\usepackage{CJK}
\floatname{algorithm}{{Algorithm}}
\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\renewcommand{\algorithmicensure}{\textbf{Output:}}
\begin{document}
\begin{algorithm}[H]
\caption{算法名:知识它进不去脑子啊}
\label{alg1}
\begin{algorithmic}[1]
\Require 这里写输入
\Ensure 这里写输出 \\ % 这\\是换行
\textbf{Initialize:}
%for循环
\For{$k = 0,1,2,...$}
\State 事件 公式如$a+b=c$
\begin{equation*}
\text{这里写不编号的公式} a+b=c
\end{equation*}
\begin{equation}
\text{这里写编号的公式} a+b=c
\end{equation}
\begin{equation}
\text{这里写编号的公式} a+b=c
\end{equation}
\EndFor
% if-else 条件
\If{条件-1}
\State 事件-1
\ElsIf{条件-2}
\State 事件-2
\Else
\State 事件-3
\EndIf
% while
\While{条件}
\State 事件
\EndWhile
\end{algorithmic}
\end{algorithm}
\end{document}
中文版
和英文一样,区别就是将下部分
\floatname{algorithm}{{Algorithm}}
\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\renewcommand{\algorithmicensure}{\textbf{Output:}}
更改为
\floatname{algorithm}{{算法}}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
这里指令的作用是,重新定义原有命令
\renewcommand{命令名称}{定义}
此处就是将 \algorithmicrequire
,algorithmic包里的require重新定义为,\textbf{输入:}
= 输入