现在的位置: 首页 > 综合 > 正文

Latex 使用心得

2018年05月13日 ⁄ 综合 ⁄ 共 3666字 ⁄ 字号 评论关闭

最近学会了使用Latex,并且今年的First Year Report就是用Latex写的,发现了很多也许有用的小技巧,总结一下。

工具:

我现在使用的是CTex,一个号称支持中文的Latex,不过我现在还用不上中文。该软件免费可下载:http://www.ctex.org/HomePage
  里面的WinEdit确实是很好用的。编译的内核是MikTex 2.4,有一点老,不过基本功能都有了。

在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 4-phase bundled-data
protocol]{
    /includegraphics[width=0.4/textwidth]{file/4phasebundled}/label{fig:4phasebundled}}
/caption{The 4-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


抱歉!评论已关闭.