Latex 附录生成方法-附使用的一些tips

工具

使用latex写论文时,国内科研人员使用比较多的前端工具当属CTex,另外的前度工具有texstdio,texworks,sublime,甚至vim。ctex软件可免费下载:http://www.ctex.org/HomePage   里面的WinEdit确实是很好用(收费软件)。编译的内核是MikTex

Linux上,可以使用texmaker,还是不错的。

一些使用心得:

插入图片。在Latex中,图片是以文件的方式嵌入到文档当中,在转换为pdf或者ps文件的时候才会嵌入到文件中,否则都是单独存在的。插入图片的基本命令:

 /begin{figure}
/centering
/includegraphics[width=0.6/textwidth]{file/vcrouter}
/caption{Internal structure of a VC router}/label{fig:vcrouter}
/end{figure}

/begin{figure}和/end{figure}中间是图片的命令。/centering之后的所有内容居中。 /includegraphics插入图片,width=0.6/textwidth说明图片的宽度为0.6倍页宽,文件名是 file/vcrouter,用latex编译自动搜索后缀为eps的图像,pdflatex编译自动搜索后缀为pdf的文件。/caption说明该图 片的标题,/label给出一个标签,文中则可以使用/ref{}进行连接。插入图片需要加载/usepackage{graphicx}。

插入多幅图片并包含子图的图片:

 /begin{figure}[ht]
/centering /subfigure[A bundled-data channel]{
/includegraphics[width=0.30/textwidth]{file/bundleddata}/label{fig:bundleddata}}
/hspace{0.1/textwidth} /subfigure[The -phase bundled-data
protocol]{
/includegraphics[width=0.4/textwidth]{file/4phasebundled}/label{fig:4phasebundled}}
/caption{The -phase bundled-data protocol}/label{fig:4pb}
/end{figure}

这是一个两个子图水平并列的例子。在/begin{figure}后添加[ht]说明以水平table的形式排布,当然也可以使用tabular,不过麻烦一些。使用/includegraphics需要加载/usepackage{subfigure}。

公式编辑。其实可以使用公式编辑器。MathType 5.0以上,在perferences菜单里的translators选择translate to other languages,然后选择latex。之后,用公式编辑器编辑的公司可以直接用选择和复制放到latex文件当中。

如果公式需要加编号,使用/begin{equation}和/end{equation}就能自动添加编号。不过最好加载 /usepackage{amsmath}。另外,默认公式是居中的,如果需要改成靠左缩进的方式,在/documentclass[fleqn] {firstyearreport}添加这个fleqn选择参数。

参考文献最好使用bibtex管理。管理的软件可以使用Endnote,不过我用的是jabref,一个开源软件,还是很好用的。只要 写上/bibliography{file/reference},这里的file/reference说明参考文献是file /reference.bib文件,所有的参考文献就可以自动加载。关于参考文献的风格,我使用的 是/bibliographystyle{alpha},以作者的第一字母和年代为标号。但是还有很多其他的方式,可以参考这个网站:http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html

图片格式是一个很烦人的问题。最基本的图片格式是eps,尽管现在pdflatex支持pdf和jpeg,png等等,但是我还是认为eps比较好。eps是矢量图,没有图像失真。用eps转换成的pdf放大多少都没有问题,体积也很小。

但是,支持eps的软件并不多。在windows上,我们最习惯的是Visio画图,但是visio对eps基本上没有支持。网上有很多将visio的图转化成eps的图的方法,但是很多都很麻烦。我现在终于找到了一种比较好的方式。

首先安装一个postscript的虚拟打印机,http://www.adobe.com/support/downloads/detail.jsp?ftpID=1502 。然后用visio将图片用postscript打成prn或者ps文件。用CTex自带的GSview打开该文件(没有也没关系,下一个:http://pages.cs.wisc.edu/~ghost/ ),file菜单中有一个ps to eps,哈哈,自动转换边界,就变成eps文件了,而且是矢量的。

还有一个问题,pdflatex偏偏是不支持eps文件,默认是pdf文件。使用pdflatex时,如果没有pdf文件会报错。有人说使 用/usepackage{epstopdf}可以解决该问题,eps文件会自动在编译时变为pdf文件,但是在windows上的使用结果很糟 糕,eps文件没有自动转换边界,按A4打印,结果很难看。

其实加载/usepackage{epstopdf},就是使用epstopdf命令转换eps文件。但是在windows系统中的 epstopdf命令好像不能自动转换边界,但是linux系统上的epstopdf是好的。所以我建议使用linux系统上的epstopdf命令转 化,是会自动转化边界的。

不过大批的文件一个一个去手动转化还是很麻烦,我就写了一个makefile文件,假设所有的eps文件都在一个文件夹下,那么make all一下,就能自动转化为pdf文件。知道我在说什么吧,呵呵。Makefile的内容如下:

 clean:
rm -f *.pdf eps_file = $(wildcard *.eps) pdf_file = $(eps_file:%.eps=%.pdf) $(pdf_file): %.pdf : %.eps
epstopdf $< all: $(pdf_file) show:
echo $(pdf_file)

伪代码

伪代码有时候还是要用的,对于复杂的算法,直接写伪代码有时候更容易懂。关于伪代码有一个包algorithms,需要加 载/usepackage{algorithm}和/usepackage{algorithmic},具体用法可以直接看他的帮助,在下载的压缩包中的 doc目录下。下载路径:http://www.ctan.org/tex-archive/help/Catalogue/entries/algorithms.html 忘了说了,所有Latex相关的文件找不到,或者需要最新版,请查询www.ctan.org .


附录

需要插入附录的话,下面的命令会很有用

\appendix
\appendixpage
\addappheadtotoc

/appendix说明之后的内容为附录,/appendixpage将添加一个专门的附录页,/addappheadtotoc将附录添 加到目录当中,需要加载\usepackage{appendix}。不过,一旦附录开始,将不能转回正文。另一种方式可以使用 /begin{appendices}和/end{appendices}在正文中添加附录,参看http://www.tex.ac.uk/cgi-bin/texfaq2html?label=appendix

关于文档中的引用链接和生成pdf的链接目录,只能使用pdflatex。方法是加载/usepackage{hyperref},所有链接自动生成。

关于所有的latex相关的命令,有一本手册(书)http://tobi.oetiker.ch/lshort/lshort.pdf ,好像有中文的翻译版本 http://net.ytu.edu.cn/share/%D7%CA%C1%CF/lshort-cn.pdf

==========================================

相关链接:

Latex 使用心得

Latex参考文献技巧(Latex编辑部)

Latex参考文献FAQ

LaTeX 参考文献的处理

文献管理软件 JabRef 入门简介

Latex之Natbib中文说明

latex+bibtex+jabref

Latex 附录生成方法-附使用的一些tips的更多相关文章

  1. Idea for Mac 过期 IntelliJ IDEA 2017 完美注册方法(附idea for Mac破解方法)

    Idea 不能使用了: 开始破解: (1)首先下载 jar包: https://download.csdn.net/download/engerla/10573069 放到位置: /Applicati ...

  2. 开源方案搭建可离线的精美矢量切片地图服务-8.mapbox 之sprite大图图标文件生成(附源码)

    项目成果展示(所有项目文件都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵). 01:中国地图:http://test.sharegis.cn/mapbox/html/3china.ht ...

  3. mac for smartSVN9 (8,9)破解方法 附smartSvn_keygen工具图文

    mac for  smartSVN9 (8,9)破解方法 附smartSvn_keygen工具 工具文件下载: http://files.cnblogs.com/files/xueshanshan/s ...

  4. SQL Server开发接口生成方法

    为提高开发效率,生成固定格式的接口是必须的,以下以提供新增/修改/删除/读取接口为例: 以常见的表结构为例,特殊表结构可自己尝试去调整方法 主要通过系视图 sys.columns生成方法:为包含列的对 ...

  5. 关于全局唯一ID生成方法

    引:最近业务开发过程中需要涉及到全局唯一ID生成.之前零零总总的收集过一些相关资料,特此整理以便后用 本博客已经迁移至:http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

  6. 细聊分布式ID生成方法

    细聊分布式ID生成方法 https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=403837240&idx=1&sn=ae9 ...

  7. 分布式环境下的id生成方法

    分布式环境下的id生成方法   前几天研究数据库分表分库的问题,其中有一个关键的地方就是生成唯一键的问题,假如数据表有1亿条数据,而且还在不断的增加,这里我们就需要考虑到分表分库,假设我们采用Hash ...

  8. ASP.NET静态页生成方法(模板替换)

    本文实例讲述了ASP.NET静态页生成方法的一种简单方法,就是替换内容法. 适用场景 模板比较固定,页面替换内容较少. 基本原理 此方法中静态页生成用到的就是匹配跟替换了,首先得读取模板页的html内 ...

  9. 分布式Unique ID的生成方法

    分布式Unique ID的生成方法 分布式的Unique ID的用途如此广泛,从业务对象Id到日志的TraceId,本文总结了林林总总的各种生成算法. 1. 发号器 我接触的最早的Unique ID, ...

随机推荐

  1. 【leetcode 桶排序】Maximum Gap

    1.题目 Given an unsorted array, find the maximum difference between the successive elements in its sor ...

  2. linux下线程调试 ulimit core

    在linux 下写线程程序的同学预计都遇到过找bug找到崩溃的情况.多线程情况下bug的追踪实在是不easy. 如今我来介绍一个好用的方法 ulimit core. 先简介一下ulimit是个什么(你 ...

  3. Intent跳转到系统应用中的拨号界面、联系人界面、短信界面及其他

    现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 首先,我们先看拨号界面,代码如下: Intent intent =new Intent(); intent. ...

  4. Jquery 应用积累

    1.控制div显隐 $("#id").show()表示display:block, $("#id").hide()表示display:none; $(" ...

  5. 在MyEclipse中设置jsp页面为默认utf-8编码(转)

    http://www.cnblogs.com/xdp-gacl/p/3496161.html 在MyEclispe中创建Jsp页面,Jsp页面的默认编码是“ISO-8859-1”,如下图所示: 在这种 ...

  6. HDU 2883 kebab(最大流)

    HDU 2883 kebab 题目链接 题意:有一个烧烤机,每次最多能烤 m 块肉.如今有 n 个人来买烤肉,每一个人到达时间为 si.离开时间为 ei,点的烤肉数量为 ci,每一个烤肉所需烘烤时间为 ...

  7. SQL 查询排名是第三位的人

    MYSQL可以使用如下的用法: SELECT id FROM partner_broker_account_record ORDER BY id LIMIT 2, 1 在limit为2的基础上加1, ...

  8. Emmet初探2

    关于Emmet Emmet插件的前身是Zen coding,可以大幅度提高前端开发效率的一个工具,也有人说类似于jade(高性能的模板引擎,它深受 Haml 影响,它是用 JavaScript 实现的 ...

  9. 检测和删除多余无用的css

    本文主要讲解如何检测页面中多余无用的css. 1.chrome浏览器 F12审查元素的Audits 说明:使用Audits,会检测出页面中没有用到的css,需要手动删除多余的css:同时需要说明的是检 ...

  10. java 调整jvm堆大小上限

    针对单个类,eclipse中调整jvm的运行参数,加上这么一句: -Xmx80m 即可把堆上限调整到80m. 关键字: BEA JRockit