Showing posts with label LaTeX. Show all posts
Showing posts with label LaTeX. Show all posts

Thursday, March 20, 2008

HOWTO Highlight C++/Java/TeX source code syntax in LaTeX

There is a greate package which supports syntax highlighting for a huge amount of programming languages (Fortran, C, C++, csh, HTML, Java, Matlab, Mathematica, Pascal, Perl, SQL, XML, Delphi, PHP, VBScript, SAS and even Latex itself - and many more). The usage is simple: 
Load the package: \usepackage{listings} 
Set the language: \lstset{language=TeX} 
Open a lstlisting environment: \begin{lstlisting} 
Include all your programming code 
Close the lstlisting environment: \end{lstlisting} 

If this does not seem to work for your language, even if the language is listed above, try upgrading to the lastest MiKTeX version. The listings package is being updated continuously. 

Here's a more advanced example on the source code highlight: 
 \usepackage{color}
 \usepackage{listings}
 \definecolor{Brown}{cmyk}{0,0.81,1,0.60}
 \definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
 \definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
 \begin{document}
 
 \lstset{language=R,frame=ltrb,framesep=5pt,basicstyle=\normalsize,
  keywordstyle=\ttfamily\color{OliveGreen},
 identifierstyle=\ttfamily\color{CadetBlue}\bfseries, 
 commentstyle=\color{Brown},
 stringstyle=\ttfamily,
 showstringspaces=ture}

\begin{lstlisting}
...
\end{lstlisting}

...
Read More

Saturday, May 5, 2007

在latex中插入伪代码

今天写理论作业需要写伪代码,查了一下,有几个名字以algorithm开头的宏包都是干这个的,有algorithm2e,algorithmicx,algorithms。功能都差不多,但好像最后一个最新,我就用它了。

algorithms由需要include两个宏包,分别是algorithm和algorithmic。这两个宏包分别提供两个环境,名字和宏包名一样。这两个环境之间的的关系类似于table和tabular之间的关系。具体细节见帮助文档。

效果图:

...
Read More

Thursday, April 26, 2007

(转)Latex-suite技巧总结

WangLu's Tech Blog: Latex-suite技巧总结

用latex-suite有几天了,越发得发现它太好用了.其实看它的帮助是发现功能的最好方法,很多时候比上网搜要快,可以我一般看不了多少就忍不住了...
总结一下已知的一些技巧吧
注: 我的latex-suite是放在~/.vim里了
1.修改~/.vim/ftplugin/latex-suite/texrc,将TexLet g:Tex_defaultTargetFormat='dvi'中的dvi改成pdf -- 我是一般喜欢用pdflatex直接生成dfp的,因为它对图片支持比较好.
==========
agree with this. pdflatex 才是王道。不过我的路径是 /usr/share/vim/addons/ftplugin/latex-suite/texrc
如果需要用evince看pdf的话,把TexLet g:Tex_ViewRule_pdf = 'xpdf' 中的xpdf改成evince

2.输入模式下,按F5可以输入\begin{}\end{}类的命令,如果按F5之前用v选中了文字,则加入的being和end可以把这部分文字"包住"
==========
确实是很好用的功能。但是我发现先按F5再输入关键字会有bug,比如按F5后输入"enumerate",会在 \end{enumerate} 之后多了一个双引号和一个"item"。 更实用的做法是先在vi中打一个"enumerate",再按F5,则会正确插入enumerate环境,而且在\begin{}和\end{}之间还自动插入了一个 \item,光标停留在其后,非常人性化。

3.输入模式下,按F7可以输入\命令,如果已经输入了命令,如frac,光标停在c后,此时按F7可自动把它替换成\frac,且自动加入适当的{}
==========
同2一样是非常实用的功能。还可以配合C-J使用,编辑效率一下提高了不少。

4.输入((,{{,[[之类的符号可自动替换成\left\right类型

5.它定义了若干三字母快捷方式,如EMA可自动替换为\begin{math}\end{math}
===========
不太实用的功能。首先要背,其次,打三个无关联的大写字母不见得比打一个常用小写单词快。

6.引号(单或双)可自动替换成`或',而且是自动左右匹配

7.使用它的自动完成经常可以看到形如<++>的符号,这个是定位符,通常放在下一个你会打字的地方,比如\frac{}{<++>}<++>,按C-J可以自动定位并消除这个符号.如果只是一个},那么它的好处并不明显,但是如果是\right}就会发现它的好处了.(一开始我还以为这个符号是latex-suite的bug... -_-b)
===========
最好用的功能之一。遗憾的是输入公式环境 \[ \] 不会有这个功能。($$ $$ 更不能用,打到第2个$的时候就被直接识别成$$而插入<++>了。)

8.make命令可以直接编译(第一步改的就是这个命令),不过要打make <文件名>,要是能自动编译当前文件就好了,我现在还不太会弄.

总之,latex-suite很不错


==========
补充:

9.在数学环境中,左单引号(`)加字母会被替换成希腊字母。如:`a=\alpha,`S=\Sigma。
10. '\ll' 编译,'\lv' 是预览。(在vim普通模式下输入,不含单引号)

...
Read More
 
/* google analytics */