如何优雅地用latex写算法作业

中文支持

建议直接看这篇dalao的文章,三种方法写的很清楚

LaTex支持中文的三种方式_latex 编译中文-CSDN博客

代码插入

C++

文章前面加

\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}
\lstset{ %
backgroundcolor=\color{white},   % choose the background color
basicstyle=\footnotesize\ttfamily,        % size of fonts used for the code
columns=fullflexible,
breaklines=true,                 % automatic line breaking only at whitespace
captionpos=b,                    % sets the caption-position to bottom
tabsize=4,
commentstyle=\color{mygreen},    % comment style
escapeinside={\%*}{*)},          % if you want to add LaTeX within your code
keywordstyle=\color{blue},       % keyword style
stringstyle=\color{mymauve}\ttfamily,     % string literal style
frame=single,
rulesepcolor=\color{red!20!green!20!blue!20},
% identifierstyle=\color{red},
language=c++,
}

 插入代码的格式

\begin{lstlisting}

//代码写在中间

\end{lstlisting}

首行缩进

实现首行缩进2字符,应在文章前面加入以下语句

\usepackage{indentfirst} 
\setlength{\parindent}{2em} %2em代表首行缩进两个字符
  • 本段想首行缩进,则在段落前用命令 \indent
  • 本段不想首行缩进,则在段落前面用命令\noindent

伪代码

插入

\usepackage{algorithm} % 引入algorithm库来支持伪代码
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}
\renewcommand{\algorithmicrequire}{\textbf{Input:}}  % Use Input in the format of Algorithm
\renewcommand{\algorithmicensure}{\textbf{Output:}} % Use Output in the format of Algorithm

常见格式

赋值
\State $a \gets 1$

if

 \If{op='x'}
 \State $res = a * b$
 \Else
 \State $res=a+b$
 \EndIf

while

\While{$i<=n$}
\State i++
\EndWhile

 for

\For{$k=i$ to $j-1$ by 1}
\State $f[i][j]=3$
\EndFor

注释 

\Comment{content}

特殊字符

参见大佬博客 

Latex输入特殊字符#$%&{}_^-<>|\_latex &-CSDN博客

一些格式优化

\lstset{language=C++}%这条命令可以让LaTeX排版时将C++键字突出显示

\lstset{breaklines}%这条命令可以让LaTeX自动将长的代码行换行排版

\lstset{extendedchars=false}%这一条命令可以解决代码跨页时,章节标题,页眉等汉字不显示的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值