• LaTex学习总结(二)


    from my blog:xdo0.github.io

    伪代码

    usepackage{algorithm}  
    usepackage{algorithmicx}  
    usepackage{algpseudocode} 
    

    伪代码参照这个写:

    egin{algorithm}
    	caption{Graph algorithm}%算法标题
    	egin{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}{算法} 
    
    enewcommand{algorithmicrequire}{	extbf{输入:}}  
    
    enewcommand{algorithmicensure}{	extbf{输出:}}  
    

    伪代码分页

    伪代码太长需要分页时,在引入包的地方加入(但是这时候"algorithm"就不能命名为“算法”了,不知道怎么解决,如果有知道的大佬可以评论告诉我):

    %伪代码换页
    makeatletter
    
    ewenvironment{breakablealgorithm}
    {% egin{breakablealgorithm}
    	egin{center}
    		
    efstepcounter{algorithm}% New algorithm
    		hrule height.8pt depth0pt kern2pt% @fs@pre for @fs@ruled
    		
    enewcommand{caption}[2][
    elax]{% Make a new caption
    			{
    aggedright	extbf{ALG@name~	healgorithm} ##2par}%
    			ifx
    elax##1
    elax % #1 is 
    elax
    			addcontentsline{loa}{algorithm}{protect
    umberline{	healgorithm}##2}%
    			else % #1 is not 
    elax
    			addcontentsline{loa}{algorithm}{protect
    umberline{	healgorithm}##1}%
    			fi
    			kern2pthrulekern2pt
    		}
    	}{% end{breakablealgorithm}
    		kern2pthrule
    elax% @fs@post for @fs@ruled
    	end{center}
    }
    makeatother
    

    然后把之前的egin{algorithm}end{algorithm}换成egin{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,这个其实可以自己改名字,只要是一一对应即可

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

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

    二、Biber

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

    image-20200612103451158

    2.在egin{document}前加入参考文献文件addbibresource{XXX.bib}

    3.在想要显示参考文献列表的地方加printbibliography

    二、BibTex

    首先类似上一步把默认参考文献改为bibtex

    egin{document}之后,end{document}之前加:

    ibliographystyle{plain} %plain是bib模板格式,bst文件名
    ibliography{XXX} %加bib文件的名称,不要后缀
    

    PS:如果没有bst文件时,那么就需要默认提供的几个bst模板了:
    plain,按字母的顺序排列,比较次序为作者、年度和标题
    unsrt,样式同plain,只是按照引用的先后排序
    alpha,用作者名首字母+年份后两位作标号,以字母顺序排序
    abbrv,类似plain,将月份全拼改为缩写,更显紧凑
    ieeetr,国际电气电子工程师协会期刊样式
    acm,美国计算机学会期刊样式

    三、编译参考文献

    • 如果想改参考文献标题名字: enewcommandibname{reference}

    texstudio快捷键F8编译参考文献

    编译时,LaTex—BibTeX/Biber—LaTex—LaTex,需要编译四次,可以按快捷键F6-F8-F8-F8

  • 相关阅读:
    SQL-SQL介绍
    springcloud-服务注册与发现
    java基础-初识类
    java基础- Java编程规范与注释
    java基础-数据类型之殇
    java基础- 你真的了解运算符吗?
    java基础-控制流程语句
    java基础-对象的初始化
    TypeScript 联合类型
    TypeScript 元组
  • 原文地址:https://www.cnblogs.com/xdo0/p/13257542.html
Copyright © 2020-2023  润新知