LaTex学习总结(二)
from my blog:xdo0.github.io
伪代码
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
伪代码参照这个写:
\begin{algorithm}
\caption{Graph algorithm}%算法标题
\begin{algorithmic}[1]%一行一个标行号
\Require %输入
$G$,Graph %这里需要两个回车接着写输入
$n$,node
\Ensure %输出
$S$,Set
\Function{remove\_edges}{Graph $G$,Set $I$} %函数
\For {each $i$ in $I$} %for
\If{$degree(i) > t$} %if
\State remove node $i$ from $G$ %其它的需要加\State
\EndIf
\EndFor
\State \Return{$G$} %函数返回
\EndFunction
\end{algorithmic}
\end{algorithm}
如果想写中文“算法”、“输入、输出”,在伪代码前加上:
\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
伪代码分页
伪代码太长需要分页时,在引入包的地方加入(但是这时候"algorithm"就不能命名为“算法”了,不知道怎么解决,如果有知道的大佬可以评论告诉我):
%伪代码换页
\makeatletter
\newenvironment{breakablealgorithm}
{% \begin{breakablealgorithm}
\begin{center}
\refstepcounter{algorithm}% New algorithm
\hrule height.8pt depth0pt \kern2pt% \@fs@pre for \@fs@ruled
\renewcommand{\caption}[2][\relax]{% Make a new \caption
{\raggedright\textbf{\ALG@name~\thealgorithm} ##2\par}%
\ifx\relax##1\relax % #1 is \relax
\addcontentsline{loa}{algorithm}{\protect\numberline{\thealgorithm}##2}%
\else % #1 is not \relax
\addcontentsline{loa}{algorithm}{\protect\numberline{\thealgorithm}##1}%
\fi
\kern2pt\hrule\kern2pt
}
}{% \end{breakablealgorithm}
\kern2pt\hrule\relax% \@fs@post for \@fs@ruled
\end{center}
}
\makeatother
然后把之前的\begin{algorithm}
和\end{algorithm}
换成\begin{breakablealgorithm}
和\end{breakablealgorithm}
,就OK了
参考文献
一、添加参考文献
-
1.XXX.bib是你记录你参考文献的文件(自己新建,改后缀名),放在那你的tex目录里,可以用txt编辑。当你需要引用某一文献时,如下图,在Google(百度)学术找到文献的页面,其上有引用,点击后选择BibTex,复制下来粘贴到bib文件里
如果是一些报告之类的话,可以自己写(是中文时需加上
userf = {zh}
):@online{Report, addendum={ 《2019年我国互联网络安全态势综述》,国家计算机网络应急技术处理协调中心,2020年4月发布 }, userf = {zh}, }
copy过来的bibtex索引一定要 先检查一遍又没有 # $ % & ~ _ ^ \ { } 等特殊字符 若有,一定在前面加上一个转义符号 \,否则报错misplaced alignment tab character &
-
2.引用时加
\cite{}
其中{}里加入参考文献的标识,上图参考文献对应的就是US2005DNS
,这个其实可以自己改名字,只要是一一对应即可当没有在文章中直接引用,却想在参考文献列表中显示时使用
\nocite{}
编译参考文献两种方法,选一种即可:
二、Biber
1.首先,打开texstudio选项-设置-构建-默认文献工具改为biber:
2.在\begin{document}
前加入参考文献文件\addbibresource{XXX.bib}
。
3.在想要显示参考文献列表的地方加\printbibliography
二、BibTex
首先类似上一步把默认参考文献改为bibtex
在\begin{document}
之后,\end{document}
之前加:
\bibliographystyle{plain} %plain是bib模板格式,bst文件名
\bibliography{XXX} %加bib文件的名称,不要后缀
PS:如果没有bst文件时,那么就需要默认提供的几个bst模板了:
plain,按字母的顺序排列,比较次序为作者、年度和标题
unsrt,样式同plain,只是按照引用的先后排序
alpha,用作者名首字母+年份后两位作标号,以字母顺序排序
abbrv,类似plain,将月份全拼改为缩写,更显紧凑
ieeetr,国际电气电子工程师协会期刊样式
acm,美国计算机学会期刊样式
三、编译参考文献
- 如果想改参考文献标题名字:
\renewcommand\bibname{reference}
texstudio快捷键F8编译参考文献
编译时,LaTex—BibTeX/Biber—LaTex—LaTex,需要编译四次,可以按快捷键F6-F8-F8-F8