Who am I

我的照片
Hefei, Anhui, China
Research Fields: Satellite Geodesy

2012年9月21日星期五

\vspace和\vskip命令的区别

在编写latex文档时,\vspace和\vskip命令都能产生一个垂直距离。然而两者有什么区别呢?

1. \vspace是latex命令,\vskip是tex命令。

2. 使用方法:
\vspace{1cm};
\vskip 1cm;

3. 效果的区别
\vspace命令是在命令出现的当前行输出完后,才生成垂直间距;生成间距后,继续之前段落的内容(逻辑上还是相同的一段);

\vskip命令是在命令出现时立马生成垂直间距;生成间距后,开始一个新的段落(逻辑上分段)。

2012年9月20日星期四

vim批注的快捷方式

这里不介绍常用的visual模式下方法,也不给出常用命令的替换方式,而是给出一种映射方式。
当然,NERD_comment.vim插件也提供了快捷注释的功能,这里也不多述。

这里的注释符号以‘%’为例,在vimrc文件中加入如下语句:
" F4 for comment

vmap <F4> :s=^\(\)=\%=g<cr>:noh<cr>                 % visual 模式下
nmap <F4> :s=^\(\)=\%=g<cr>:noh<cr>                 % normal 模式下
imap <F4> <ESC>:s=^\(\)=\%=g<cr>:noh<cr>      % insert模式下

" F6 for uncomment
vmap <F6> :s=^\(%\)==g<cr>:noh<cr>
nmap <F6> :s=^\(%\)==g<cr>:noh<cr>
imap <F6> <ESC>:s=^\(%\)==g<cr>:noh<cr>

本质也是vim的替换命令。
:noh表示nohlsearch命令。

重新打开一个新的terminal后,F4和F6就可以用来添加注释和取消注释了。

2012年9月13日星期四

octave 默认编辑器修改

octave的默认编辑器是emacs,如何将其修改为vim或gedit呢?

首先,新建~/.octaverc文件;

然后,在文件中添加如下语句:
edit editor "vim %s"                                                #使用gvim作为编辑器
edit editor "gnome-terminal -e \"vim %s\""         #在gnome-terminal中打开vim作为编辑器
edit editor "gedit %s"                                             #使用gedit作为编辑器


其中,前两句修改成vim,后一句修改成gedit,根据情况自己选择其中一种吧。

2012年9月11日星期二

latex 数学粗体符号

数学符号通常要求是斜体,如何获得斜体粗体符号呢?

latex中,通常有以下三种主要方式获得粗体符号:
  1. latex自身提供的\mathbf命令
  2. "amsmath"宏包提供的\boldsymbol和\boldmath命令;
  3. "bm"宏包提供的\bm命令.
以上三种方式又有哪些区别呢?

首先介绍\mathbf命令
  • 用法:$\mathbf{abc}$
  • 该命令可以得到粗体字母,但是是直立罗马的粗体,并非斜体;
  • 该命令只对普通字母a-z,A-Z起作用;
接下来介绍\boldsymbol
  • 用法:$\boldsymbol{abc}$
  • 该命令可以得到斜体粗体字母;
  • 该命令即可以对普通字母起作用,也可以对希腊字母起作用.
\boldmath命令
  • 用法:\boldmath    $abc$   \unboldmath
  • 该命令可以得到\boldsymbol命令的结果
  • 该命令是对整个数学公式起作用(包括数学公式中的标点符号等),而其它几个命令都是对公式中的部分符号起作用。
\bm命令
  • 用法:\bm{abc}
  • 该命令与\boldsymbol命令结果相同
举例:

$\mathbf{\sigma}$ \qquad $\mathbf{abc}$ \qquad $abc$ \\
$\bm{\sigma}$ \qquad $\bm{abc}$ \qquad $abc$ \\
$\boldsymbol{\sigma}$ \qquad $\boldsymbol{abc}$ \qquad $abc$ \\
\boldmath
$\sigma$ \qquad $abc$ \qquad abc
\unboldmath

以上代码,可以得到如下结果:
因此,在输入数学公式中,如果希望得到粗体符号,建议用\bm和\boldsymbol命令。

2012年9月10日星期一

latex-suite技巧总结

1. 输入模式下, F5插入环境
  • 在空白行,按下F5后,会给出一些环境选项,如果没有你想要的环境名,可以直接输入。
  • 如果一行中有个word,按下F5后,该word即作为环境名;
  • 选中一些文本后,按下F5,选择或者输入环境名后,选中的文本即可作为该环境的内容。
  • SHIFT+F5,更换环境名
2. F7与F5作用类似,不同的是F7插入的是命令。SHIFT+F7, 更换命令名。
3.输入((,{{,[[之类的符号可自动替换成\left\right类型
4.三个大写字母,快速插入环境
  • EFA ----->   flushleft                   
  • EFR ----->   flushright
  • EEA ----->   equarray
  • EEQ ----->   equation
  • EQE ----->   quote
  • EQN ----->   quotation
  • ELI   ----->   list
  • EDE  ----->  description
  • EEN  ----->  enumerate
  • EIT   ------> itemize
  • ETE   -----> table
  • ETR   -----> tabular
5.双引号可自动替换成``或'',而且是自动左右匹配
6. 设置编译命令
打开.tex文件,normal模式下,输入\ll命令,可以编译文件;\lv命令可以查看编译结果;但通常情况下默认的编译命令对应的是latex, 查看结果对应的是dvi.
现在希望使用pdflatex命令,用evince查看pdf文档,修改~/.vim/ftplugin/latex-suite/texrc文件:
第一处(91行左右,不同版本位置稍有不同),
88 if has('macunix')
89   TexLet g:Tex_DefaultTargetFormat = 'pdf'
90 else
91  TexLet g:Tex_DefaultTargetFormat = 'pdf'
92 endif

让tex总是被编译成pdf

第二处(147行左右),
144  elseif has('macunix')
145  "Let the system pick. If you want, you can override the choice here.
146  TexLet g:Tex_ViewRule_ps = ''
147  TexLet g:Tex_ViewRule_pdf = 'evince'

指定用evince程序打开pdf文档。

重启VIM后,以上修改即可生效。
:TTarget命令可以 修改默认的文件格式。
7. 一些快捷键设置(在~/.vim/ftplugin/tex.vim中修改):
nmap   <Tab>  <C-j> 用Tab键代替Ctrl-j跳转
imap   <Tab>  <C-j>
vmap   <Tab>  <C-j>
map    <F2>   <ESC>:w<CR>\ll   "F2保存并编译(如果maplead改成了",",该命令变为,ll)
imap   <F2>   <ESC>:w<CR>\ll
map    <F3>   <ESC>\lv               "F3查看
imap   <F3>   <ESC>\lv

8. 临时取消快捷键定义,比如你想输入双引号,可是一打出"就自动变成``,那么要怎么禁止自动替换,直接输出"呢?记住 <Ctrl-v> 即可!如:
<Ctrl-v>"            得到 "
SS<Ctrl-v>S      得到 SSS
~<Ctrl-v>~         得到 ~~


latex插入多种格式的图片

latex撰写文档的时候,通常要处理多种格式的图片,如何正确处理呢?

首先,简单介绍一下常见的几种图片格式:

  • eps    矢量图形,latex能较好处理该格式图片
  • jpg    位图,通常照片的格式
  • png   位图,方便网络传输的图片格式
  • tiff     位图,有压缩和非压缩格式
  • pdf    (pdf格式的图片兼容性应该很好,因为最后的文档格式也是pdf格式)
然后,介绍常用的latex编译命令,及其能处理的图片格式:

     1.   latex+dvipdfmx (等价与latex+dvips+ps2pdf)
          该命令只能处理eps格式的图形文件
     2.   pdflatex
          该命令能够处理jpg, png, jpeg, pdf格式
     3.   xelatex
          该命令能够处理eps和jpg格式的图片

那么,如果需要同时插入eps和png等其它图片格式,该怎么做的?

解决思路有两种:
  1. 将所有的图片格式转成eps,然后用组合命令latex+dvipdfmx处理;也可以将eps转成其它格式处理(推荐转成pdf),然后用pdflatex处理;
  2. 修改命令方式或第三方宏包来进行处理,而不需要对图片进行转换。
利用第一种思路,涉及到图片格式的转换,以下简单介绍转换方法。
  • png  ----->  eps                ImageMagick/netpbm命令
  • jpeg ----->  eps                ImageMagick/netpbm命令
  • tiff   ----->  eps                ImageMagick/netpbm命令
  • eps  ----->  pdf                epstopdf命令
  • tiff   ----->  png               ImageMagick/netpbm命令
  • tiff   ------> pdf                tif2eps+epstopdf命令
此外,还有convert 命令(可以用脚本实现批处理),ImageMagick/mogrigy命令(可以批处理)。

注:ImageMagick是linux系统下一款图形格式转换软件。

利用第二种思路,实现pdflatex编译命令能够处理eps图片

方法一:将eps图片转成pdf格式,\includegraphics{pic},pdflatex自动调用相应的pdf文件;

方法二:加载epstopdf宏包,\usepackage{epstopdf}, 编译时命令需要带上参数,如下:                  pdflatex -shell-escape filename.tex   (如要生成索引,该命令需要执行两次)