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}

image-20200609172033051

如果想写中文“算法”、“输入、输出”,在伪代码前加上:

\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},
    }
    

image-20200609173248237

image-20200609173948891

copy过来的bibtex索引一定要 先检查一遍又没有 # $ % & ~ _ ^ \ { } 等特殊字符 若有,一定在前面加上一个转义符号 \,否则报错misplaced alignment tab character &

  • 2.引用时加\cite{}其中{}里加入参考文献的标识,上图参考文献对应的就是US2005DNS,这个其实可以自己改名字,只要是一一对应即可

    当没有在文章中直接引用,却想在参考文献列表中显示时使用\nocite{}

编译参考文献两种方法,选一种即可:

二、Biber

1.首先,打开texstudio选项-设置-构建-默认文献工具改为biber:

image-20200612103451158

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

posted @ 2020-07-06 21:14  Doonnie  阅读(658)  评论(0编辑  收藏  举报