科研工具(转帖)

http://vcc.siat.ac.cn/zh/%E7%A7%91%E7%A0%94%E5%B7%A5%E5%85%B7/
 by <a fn=”” n”=”” href=”http://vcc.siat.ac.cn” title=”Visit VCC Homepage’s website” rel=”author”>VCC Homepage

科研工具
<a fn=”” n”=”” href=”http://vcc.siat.ac.cn” title=”Visit VCC Homepage’s website” rel=”author”>

By Yunhai Wang(汪云海)

对于每一个VCC的成员,都希望自己能够和大家一起交流、一起做事,共同成长。为了帮助大家沟通交流的更顺畅,让 事情做的更高效,我们准备了一个手册介绍了您在VCC工作期间可能需要用到的一些工具,比如SVN, Latex 等。围绕沟通和做事这两个主题,我们将工具也为这沟通类和做事类。沟通类包括两部分:基本工具介绍和如何有效地提问。做事篇分为:SVN(协同工作)、 IDE类(Visual Studio, Matlab)、工具包介绍(OpenCV, CGAL)、图片处理(PS),模型制作和渲染(3D Max, Pov-ray)。

一、沟通篇

基本工具

因为我们的合作伙伴都是使用gmail,所以每一个新来的VCCer,都需要申请一个gmail。由于GFW,gmail聊天功能经常断线。为了能 够及时的和大牛们沟通,建议大家最好安装一个gtalk客户端。

高效提问

<a fn=”” n”=”” href=”http://vcc.siat.ac.cn” title=”Visit VCC Homepage’s website” rel=”author”><a fn=”” n”=”” href=”http://vcc.siat.ac.cn” title=”Visit VCC Homepage’s website” rel=”author”><a fn=”” n”=”” href=”http://vcc.siat.ac.cn” title=”Visit VCC Homepage’s website” rel=”author”>为了让你的提问变的更加睿智,我们建议您阅读<<How To Ask Questions The Smart Way >>。以下内容是我觉的有必要强调的内容。当您准备提问时,请读读以下内容:
  1. 通读本手册,试着自己找答案。
  2. 在FAQ里找答案
  3. 在网上搜索
  4. 向你身边精于此道的朋友打听。
当你尝试以上方法后,仍没有找到答案,你可以开始提问了,但提问时请做到以下几点:
  • 用辞贴切,语法正确,拼写无误
  • 用易读格式发送问题
  • 使用含义丰富,描述准确的标题
  • 精确描述,信息量大
  • 谦逊
问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向他们表示感谢。 当你准备回答别人的问题时,请你做到以下几点:
  • 保持礼貌,即使对方的问题听起来比较笨,也不要嘲笑对方
  • 如果你不知道,请不要回答。如果准备回答,一定要给出有价值的答案

二、工具篇

当新来的VCCer加入到我们的project中后,你需要使用SVN来与其他成员协同工作,使用IDE来实现你的想法; 实现过程中,你可能需要用到其他工具包比如OpenCV、CGAL等。当你准备为您的算法demonstrate出更cool的效果时,你需要用3D Max制作一些特别的模型。你的算法完成了对新模型的处理后,你可以用Pov-Ray渲染出更好的效果。在制作了精美的图片后,你可能仍然需要用Ps对他 们做些编辑。当这些素材都准备好了,你需要用latex将它们组织起来,写出高质量的论文。根据这个流程,我们依次介绍每个工具。

(一)SVN使用

Redmine is a flexible project management web application, the Redmine system for our center is: http://210.75.252.58:7080/redmine.

· What you can do with Redmine:
1. host your project there
2. create SVN repository through it
If you do not know what’s SVN, here is an SVN Starter’s Guide, and TortoiseSVN is the best GUI client for it.
· Create Project:

Once you have an Redmine account, you can create projects here: http://210.75.252.58:7080/redmine/admin/projects, suppose the name of your new project is RedmineTest.

· Create SVN Repository:

Once you have a project, you can create a SVN of that project by: home of your project->setting->repository->SCM(choose Subversion)->URL: http://localhost/svn/svnname, “svnname” should be all small letters, and use a good “svnname” for your project, for example, http://localhost/svn/redmine-test is a good name for project RedmineTest.

· Access to SVN Repository:
Once you have the SVN, you can access it via: http://210.75.252.58:7080/svn/svnname, of course, replace “svnname” accordingly.

Only members of one project can access the SVN of that project, so if someone can not access to one SVN, the first thing to check is whether he/she is a member of that project.

(二)Visual Studio使用入门

编程涉及到两类问题,一类是编程语言本身的语法、逻辑问题;另外是其工作的环境,如编译、链接、运行的问题,这类问题同时也影响文件的组织。VS就是这样一个为编程语言提供环境的工具。

· VS C++ 的文件组织形式

Vs c++ 的组织框架包括Solution, Project以及源码文件,资源文件等。一个Solution下有一个或多个Project,而每个Project包含自己的源码文件和资源文件。如下图1所示。

图1
多个Project可以看做是独立的,每个Project可以根据不同需要指定其生成可直接执行的文件或库文件。生成的库文件可以为其他项目文件所使用。
例子:建立一个新项目

File->new->project, 出现如下对话框 (图2)。例如要建一个Win32 Console 项目,在Project types 中选择Win32, 然后在Template中选择Win32 Console Application,在下面指定项目名称和文件所要放置的路径。点击next->finish。出现一个新的项目(图3),现在没有任何源文 件,只


图2

 图3
有组织文件。在所设置的文件路径下,会有如图 4的一些文件,Test文件夹中有两个文件。
图4

建立了项目文件,其实是建立了一个VS认可的文件组织形式,以后打开.sln文件即可在VS中载入归其组织的所有项目 文件。之后便可在项目文件下添加源程序文件。Solution Explorer下的文件夹只是一种可视化组织方式,而非实际的文件夹,例如不同绝对路径下的文件可以共存于“Header Files”。而直接在该项目中建立的文件都会被存储在同一文件夹下,如Test。

· VS 中的库文件的使用

在编程中通常会用到库文件。库文件包括静态库文件和动态库文件。在用库文件之前,必须指定库文件的具体位置。根据文件的类 型,指定方式也不同。如果是静态库,则在Tools ->Options –> Projects and Solutions –>VC++ Directories 中指定路径。如果是动态库,若其有.lib文件,将其.lib文件如同静态库文件一样指定到library files 中。所有的要用的动态库都要放在可执行程序的相对目录下或者在环境变量中指定其实际路径,使得运行时可以被系统找到。这些设置都是全局性的,设置一次之后 其他project也可以使用。在设置好文件位置之后,要在project中设置该project所需的库,一种方法是用预编译命名#pragam ,另一中是在VS中直接设置。右键Project名,出现图6,在Additional Dependencies中添加要使用的.lib文件。

图5


图6

· 一些注意

编写好程序后可以直接运行,如果有编译或链接错误,下面会有提示。Release模式下的运行速度通常比Debug模式下快很多。即便是同一模式下, ,也有两种,即 ,没有Debugging时运行要快。如果程序可以运行,但是有问题,在带有Debug的条件下运行,有时得到有用的系统提示。F10是单步调试,比较常用。
这里简单的提一下c++头文件和源文件。 头文件在预编译后会包含的源文件,所以源文件才是主题,头文件负责符号的声明。为其他文件所包含。如果在头文件中定义了非const,inline的函 数,在链接时会出现多次定义的错误。所以把需要的函数定义放在源文件里。
还有很多实际中的问题,等熟悉一点了在去解决吧。水平有限,以上内容可能有误,如若发现,请指正并修改。

(三)MATLAB介绍

(1)下载

Matlab在深圳大学城的ftp上有各个版本,用常见的ftp客户端如FlashFXP下载即可。
ftp://ftp.utsz.edu.cn/%C8%ED%BC%FE%D7%CA%D4%B4/8%B9%A4%B3%CC%C8%ED%BC%FE/%5BMatlab%5D/目录下有各个版本的Matlab下载。

(2)安装
用虚拟光驱加载下载下来的iso文件后,双击setup,按提示一直下一步就行了,遇到要输入序列号时,到crack文件夹里找破解需要的序列号和文件。
(3)Matlab应用

MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB和Simulink两大部分。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用 于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB 在图像处理中用到的主要是其图像处理工具箱、曲线拟合工具箱和视频与图像处理模块集。

(4)简单的Matlab编程

Matlab是对矩阵处理的编程语言,所有数据都可以看作矩阵的,用imread函数读入图像后就可以将其当作矩阵来处理了。下面几行代码展示了,读入一副图像,显示其边界的过程。
>>imdata = imread(‘ngc6543a.jpg’);
>>imgray = rgb2gray(imdata);
>>imedge = edge(imgray);
>>imshow(imedge)
可以将上述代码放入Command Window中直接执行,也可以输入edit,进入函数编辑,保存后然后再执行fun函数就可以了。
function fun()
imdata = imread(‘ngc6543a.jpg’);
imgray = rgb2gray(imdata);
imedge = edge(imgray);
imshow(imedge);
end

Matlab也支持界面设计,输入guide就可以进入一个界面设计界面,里面包含的常用的控件。每个控件的响应函数输入 都有一个handles结构,里面保存了程序里的全局数据,我们也可以自由的加入自己想要的数据,如handles.data = new_data就简单的保存了new_data到全局空间了,在其它响应函数里可以直接用handles.data来访问了。

(四)OpenCV介绍

OpenCV (Open Source Computer Vision Library)是有Intel开发的一个计算机视觉开源库,包括矩阵运算,图像处理,机器学习等模块。先来个HelloWorld级别的简单例子:
#include<opencv2 core=”” core.hpp=””>
#include<opencv2 highgui=”” highgui.hpp=””>
#include
usingnamespace cv;
usingnamespace std;
int main( int argc, char** argv )
{
Mat image = imread(“lena.jpg”, CV_LOAD_IMAGE_COLOR); // 读取图像,跟matlab很像
namedWindow(“Display window”, CV_WINDOW_AUTOSIZE );// 创建一个显示窗口.
imshow(“Display window”, image ); // 显示图像,跟matlab的很像
waitKey(0); // 等待用户按键响应。
return 0;
}
OpenCV现在最新的版本是2.3.1,提供了C语言,C++,Python的跨平台(Linux, Windows, Android)的接口。2.0之前的版本只提供了C语言的接口。但从2.0版开始,OpenCV做了很大的改动,用C++面向对象的方法封装了各种接口。不过为了兼容以前的版本,现在OpenCV仍然有提供C语言的接口。
由于2.0后的版本也是最近一两年的事情,所以现在的参考书和互联网上的参考资料基本上都是C语言版的,C++的比较少。所以最好的办法就是直接阅读它的官方文档(http://opencv.itseez.com/),里面有详细的介绍,包括如何安装,各个API(C语言版,C++版,Python版的都有)的说明,还有很多例子。
OpenCV分为很多个子模块,主要包括基本数据结构,图像处理,机器学习等。不一定要每个模块都很熟,知道每个模块的大概功能要用的时候去查就可以了。但是基本数据结构师必须懂的,特别是矩阵数据结构(如Mat_, Mat). 下面分别介绍一下各个模块的基本功能。
core: 一些基本数据结构,如矩阵,向量等。这部分很重要,一定要比较熟悉,特别是矩阵类型Mat, 就像Matlab里面的矩阵对matlab的作用一样。
highgui: 一些图像、视频的读、写、显示接口。2.0版本后改装的有点像Matlab的函数。如读写图像的imread, imwrite跟matlab一模一样。
imgproc: 正如其名,是图像处理模块,有常见的图像处理功能,如滤波,变换等。
features2d: 图像的特征检测,描述等。如SIFT,SURF等。
calib3d: 摄像机标定,图像配准,三维重建等,
objdetect: 对象检测。
ml: 机器学习模块,有各种主流分类器,如SVM,贝叶斯,神经网络,boosting等。
flann: 寻找k近邻的快速算法
gpu: gpu加速

参考资料
http://opencv.willowgarage.com/wiki/ 官方网站。新版本会在这里发布。
http://opencv.itseez.com/ 官方API文档。API文档是最好的参考资料,要什么都查得到。要习惯去查文档。看文档,特别是英文文档,也是一种能力。
http://www.opencv.org.cn 国内比较著名的一个OpenCV网站,中文的。

(五)CGAL简介

(1) Introduction

CGAL (http://www.cgal.org) is an open source C++ template library which provides efficient and reliable geometric algorithms, such as triangulations, Boolean operations, mesh generation, geometry processing and so on. This document describes how to install and use it.

2)Installation
  1. 1.CGAL requires CMake (http://www.cmake.org), version 2.6.2 or higher is recommended;
  2. 2.CGAL requires BOOST. Download the precompiled libraries (say boost_1_44_setup.exe) from http://www.boostpro.com/download/. During the installation, you may need to do some configurations, for example, choose the compiler you’re using, make sure “Boost.Thread” and “Boost.Program_options” are chosen, and finally you need to configure the environment variables. You can also compile BOOST from Source. For more information, please refer to http://www.boost.org/doc/libs/1_44_0/more/getting_started/windows.html.
  3. 3.Download CGAL installation package from https://gforge.inria.fr/frs/?group_id=52, for example, CGAL-3.7-Setup.exe. Precompiled versions of GMP, MPFR and Taucs are also distributed with the setup file. It is recommended to install all of them.
  4. 4.After the installation, run CMake to generate the project files of CGAL, and then you can build the binary files, as is shown below.
  1. 5.Add “CGAL_DIR”, say “C:\Program Files\CGAL-3.7”, to system variants.
  2. 6.If you want to build the Examples and Demos in the CGAL directory, you may need to install several third party software packages, see CGAL installation manual for more information.
(3)Usage:

To use CGAL, you need to configure the include path of CGAL for your projects. The sample routines distributed with CGAL give some good examples about the usage of this package. Further useful information can be found on the homepage of CGAL. More resources are also available over the internet. Such as:

(六)PS使用

(1) 简介
Photoshop是Adobe公司旗下最为出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件。
从功能上看,Photoshop可分为图像编辑、图像合成、校色调色及特效制作部分。
图像编辑是图像处理的基础,可以对图像做各种变换如放大、缩小、旋转、倾斜、镜像、透视等。也可进行复制、去除斑点、修补、修饰图像的残损等。这在婚纱摄影、人像处理制作中有非常大的用场,去除人像上不满意的部分,进行美化加工,得到让人非常满意的效果。
图像合成则是将几幅图像通过图层操作、工具应用合成完整的、传达明确意义的图像,这是美术设计的必经之路。
photoshop提供的绘图工具让外来图像与创意很好地融合,成为可能使图像的合成天衣无缝。
校色调色是photoshop中深具威力的功能之一,可方便快捷地对图像的颜色进行明暗、色偏的调整和校正,也可在不同颜色进行切换以满足图像在不同领域如网页设计、印刷、多媒体等方面应用。

特效制作在photoshop中主要由滤镜、通道及工具综合应用完成。包括图像的特效创意和特效字的制作,如油画、浮 雕、石膏画、素描等常用的传统美术技 巧都可藉由photoshop特效完成。而各种特效字的制作更是很多美术设计师热衷于photoshop的研究的原因。


Adobe Photoshop CS3界面

(2)需要掌握的技术
常用选择工具及填充色彩工具的使用
路径工具及渲染工具的使用
图层及图层混合模式的使用
常用滤镜使用技巧
图像色彩调整及图像模式的使用
路径工具的使用技巧
通道及路径的使用技巧及
图层、通道、路径高级实例分析讲解,如何利用通道、路径来扣图
常用滤镜使用及外挂滤镜使用技巧
(3)如何学习
1. 不要看到别人作品就直接让别人给教程。先学会自己思考,尝试自己能不能做出来。
2. 找一本教程看就足够了,基础知识大同小异。
3. 多上网看实例,每一个技巧用不同的素材尝试去做,这样才能把握数值的大小。
4. 如果你使用过别的图形软件,其实他们都是大同小异。
5. 即便是天天使用ps的人,偶尔也会忘记一些技术,所以,不用感到沮丧当你重复遇到不会解决的问题,多练练就可以了。
6. 记住常用的快捷键,节约你的时间。
7. 不要一开始就看复杂的实例教程,很多东西都是基础的叠加。
8. 请保持你的学习热情。
4)参考资料
1. 图书馆里有很多基础教程,可借阅一本参考。
2. http://www.missyuan.com/thread-350716-1-1.html Photoshop基础教程——我是一个初学者,我应该如何开始?
4. http://www.blueidea.com/tech/graph/ 有很多的实例教程,比较快速掌握ps的方法

(七)3D Max使用

(1)简介

3D Studio Max,常简称为3ds Max或MAX,是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件。其前身是基于DOS操作系统的3D Studio系列软件,最新版本是2012。在Windows NT出现以前,工业级的CG制作被SGI图形工作站所垄断。3D Studio Max + Windows NT组合的出现一下子降低了CG制作的门槛,首选开始运用在电脑游戏中的动画制作,后更进一步开始参与影视片的特效制作,例如X战警II,最后的武士等。

在应用范围方面,广泛应用于广告、影视、工业设计、建筑设计、多媒体制作、游戏、辅助教学以及工程可视化等领域。拥有强大功能的3DS MAX被广泛地应用于电视及娱乐业中,比如片头动画和视频游戏的制作,深深扎根于玩家心中的劳拉角色形象就是3DS MAX的杰作。在影视特效方面也有一定的应用。而在国内发展的相对比较成熟的建筑效果图和建筑动画制作中,3DS MAX的使用率更是占据了绝对的优势。根据不同行业的应用特点对3DS MAX的掌握程度也有不同的要求,建筑方面的应用相对来说要局限性大一些,它只要求单帧的渲染效果和环境效果,只涉及到比较简单的动画;片头动画和视频游 戏应用中动画占的比例很大,特别是视频游戏对角色动画的要求要高一些;影视特效方面的应用则把3DS MAX的功能发挥到了极至。

(2)软件特点
1.功能强大,扩展性好。建模功能强大,在角色动画方面具备很强的优势,另外丰富的插件也是其一大亮点
2.操作简单,容易上手。与强大的功能相比,3ds max可以说是最容易上手的3D软件
3.和其它相关软件配合流畅
4. 做出来的效果非常的逼真
(3)学习3DSMAX必须掌握的内容
· 三维空间能力
三维空间能力的锻炼,熟练掌握视图、坐标与物体的位置关系。应该要做到放眼过去就可以判断物体的空间位置关系,可以随心所欲地控制物体的位置。
这是最基本的要掌握的内容,如果掌握不好,下面的所有内容都会受到影响。  有了设计基础和空间能力的朋友,掌握起来其实很简单;没有基础的朋友,只要有科学的学习和锻炼方法,也可以很快地掌握。这是我们课程培训里的第一步,一般人第一天就可以掌握了。

· 基本操作命令 
基本的几个操作命令:选择、移动、旋转、缩放、镜像、对齐、阵列、视图工具,这些命令是最常用也是最基本的,几乎所有制作都用到。
几个常用的三维和二维几何体的创建及参数,熟悉了之后,就掌握了3DSMAX的基本操作习惯。

· 二维图案编辑

二维图案的编辑,这是非常重要的一部分内容,很多三维物体的生成和效果都是取决于二维图案。主要是用“Edit Spline”来实现。对于曲线图案的点、段、线编辑主要涉及到几个常用的命令:Attach Refine Outline Boonlean Trim Wed Fillet Chemfer等,熟练掌握这些子命令,才可以自如地编辑各类图案。

· 常用编辑命令

几个常用必备的编辑命令:挤出,分离,打散,桥接,焊接,切片平面等,掌握了这些命令,制作效果的模型一般都可以应付了, 此外还有些命令: 车削,布尔,切角,网格平滑等,也在效果图制作中时有用到。掌握了几个这样的命令,其他的都可以完全自行学习了,但是也不必要每个都了解,毕竟有一部分我 们极少用到的。这也是我们之前提到的学习要分清楚方向和应用。不是眉毛胡子一把抓。

· 材质灯光
材质、灯光是不可分割的,材质效果是靠灯光来体现的,材质也应该影响灯光效果表现。没有灯光的世界都是黑的。材质、灯光效果是效果图的灵魂,也是效果图制作一个难点。如何掌握好材质灯光效果,大概也有以下几个途径和方法:
1.掌握常用的材质参数、贴图的原理和应用。
2.熟悉灯光的参数及与材质效果的关系。
3.灯光、材质效果地表现主要是物理方面的体现,应该加强实际常识的认识和物理知识。
4.想掌握好材质、灯光效果的控制,除了以上的几方面,感觉也是很重要的,也是突破境界的一个瓶颈。所谓的感觉,就是艺术方面的修养,这就需要我们不断加强美术方面的修养,多注意观察实际生活中的效果,加强色彩方面的知识等!!!!
(4)如何学习
1. 不要看到别人作品就直接让别人给教程。先学会自己思考,尝试自己能不能做出来。
2. 找一本教程看就足够了,基础知识大同小异。
3. 多上网看实例,按照别人写的教程做一遍,吸取他人的经验和方法,是个快速学习的方法。
4. 记住常用的快捷键,节约你的时间。
5. 不要一开始就看复杂的实例教程,很多东西都是基础的叠加。
6. 请保持你的学习热情,只要想做,当成玩的东西,没有什么学不会的。
7. 多和他人交流,这样子比自己单抠要少走很多弯路。
8. 天道酬勤!
(5)参考资料:
1. 图书馆里有很多基础教程,可借阅一本参考。
2. 或者去当当网买本书,建议火星时代的max教程书籍。
3ds Max 2011白金手册(共3册)
3. ABBS建筑论坛
4.在线教程:http://www.vhxsd.com/火星视频教育

(八)Pov-Ray使用

在得到3维模型结果后,为了渲染高质量的图片,最好借用目前已经存在的高质量渲染软件。3DMax,Maya或者Pov- ray都是渲染利器。这三种软件有着不同的适用范围。粗略来分,Pov-ray适合渲染点云,3DMar和Maya则适合渲染网格模型。图片的漂亮与否, 很大程度上取决于光照、相机与纹理材质的设置。

Pov-Ray: 全名为Persistence of Vision Raytracer,是一个使用光线跟踪绘制三维图像的开放源代码免费软件,可以生成照片级的图像。它使用一种自定义的场景描述语言来定义三维场景并据此 进行渲染;因此它不具有非所见即所得特性,需要用户对三维场景有一定的理解与把握,自己定义好三维场景,包括几何模型、模型材质纹理、光照和相机。推荐的 适用方式:用户在其它程序中设置好场景,然后导出成Pov-ray的场景描述语言的格式,以方便渲染。目前,SU2POV 支持直接从Sketchup 导出POV-Ray格式。Pov-ray中几何模型的描述为基本几何体(球,椭圆,圆柱,立方体等),因此非常适合点云(每个点可以表示为球或圆盘)。

相关资源:Pov-ray官方网址 http://www.povray.org/

(九)Latex使用

TeX 是一个格式化排版系统,它一问世便以其排版效果的高质量震动整个出版界。然而,TeX 还只是着重在于如何排版的层次上,而不是从一位作者的立场出发。对它深层功能的进一步发掘,需要相当丰富的编程技巧。

LaTeX 是由美国计算机学家 Leslie Lamport 于1985年开发成功的。它是当今世界上最流行和使用最为广泛,以 TeX 为引擎的高质量格式化排版系统。它构筑在 TeX 的基础之上,并且加进了很多新功能,使得使用者可以更为方便的利用 TeX 的强大功能。使用 La-TeX 基本上不需要使用者自己设计命令和宏等,因为 LaTeX 已经替你做好了。因此,即使使用者并不是很了解 TeX,也可以在很短的时间内制成高质量的文件。和微软的word相比,latex有以下几个方面有明显的优势: 内容和样式分离、复杂的表格和数学公式、方创建参考文献、可扩充性和通用性等。

学习LaTeX最大的问题就是它属于一种编程式语言, 为了掌握它, 你必须熟悉好几十个命令, 了解上百个命令。为了帮助初学Latex的朋友快速入门,我们给出了一下建议:
推荐网站: http://www.ctex.org/HomePage上面有ctex下载, bbs论坛等
CTeX FAQ (常见问题集)http://www.ctex.org/CTeXFAQ
入门文档 http://net.ytu.edu.cn/share/资料/lshort-cn.pdf(一份不太短的 LaTeX 介绍)
对于初学者,一定要抽时间将lshort-cn.pdf读一遍,它能帮你对latex的整个框架有个清晰的认识。对于常见的问题,上述文档中都应该能找打答案。
在我们写作过程中,通常还需要引用参考文献。 LaTeX对参考文献的处理包含三个紧密相连的部分:
  1. · 建立与维护文献数据库。
  2. · 文中引用。
  3. · 将文中引用与文献数据库建立联系,于文档末尾(或适当位置)生成所引文 献的列表。

对于第一部分,我通常是用Jabref (http://jabref.sourceforge.net) 来管理文献数据库。一个建立文献数据库比较简单的办法,是从google scholar导入。当然首先需要做些定制 Scholar Preferences->Bibliography Manager ->Show links to import citations int o BibTeX (选中这个),然后你search 文章时,就可以直接点击 “Import into BibTeX”看到对应的bibtex,然后直接拷贝到数据库中,下图是一个例子:

这样,我们就不需要写bib文件了,拿引用的文件名,直接上google scholar搜索,在copy 到bib文件中就可以了。当然有时google scholar的结果不完全准确,需要做些编辑,但相比从头开始写,也省了不少力气和时间。至于如引用参考文献,每个journal或者 conference的模板都有介绍。