9 Apr 2010

LATEX+BIBTEX


1. 最简单的latex文件
\documentclass{article}
\begin{document}
blabla
\end{document}
blabla里边随便写一些乱七八糟的东东, 就能被编译然后看到了~.~
中文支持, 用CJK包
\documentclass{article}
\usepackage{CJK}
\begin{CJK}{GBK}{song}
\begin{document}
试汉字
\end{CJK}
\end{document}

2. 注释

'%'用来注释%后的语句, 编译时忽略
块注释:
\iffalse
...
\fi

3. 空格
\ ,~ 二者都可以表示空一格; \,表示空很小一点距离, \:大一点, \;再大一点; \!往回退一点点; \hspace{1cm/10pt/0.1\texwidth}横向空一定距离, \vspace{...}纵向空一定距离; \phantom{000}中间随便写些什么, 宽的字符就空得多一些, 窄的字符就空的少一些, 比\hspace{}强硬一些, 不过在公式对齐时最好还是用&, 用\phantom比较难调, 而且不方便修改.

4. 插图,表格
好象\label要放到\begin{figure}...\end{figure}环境的最后才能在引用时正确显示标号(还没有试清楚). 见下面:
例:
\begin{table}
\centering
\caption{The $t^{\alpha}$). The columns are the same as in Table \ref{tab-emission}.}
\begin{tabular}{c|c|c}
\hline
a1 & b1 & c1 \hline
a2 & b2 & c2 \hline
...
\label{kaka}
\end{tabular}
\end{table}
注意label的位置, 在{tabular}内而不是外边, 否则就出乱子了. figure的label也是. 实际上是\label命令必须紧接着\caption命令给出.

5. 生成索引
\usepackage{makeidx}
\makeindex
\begin{document}
body: \index{a!b} (可以是a, a!b, a!b!c等)
\printindex
\end{document}

见到\makeindex后latex foo.tex会自动生成foo.idx, 然后在命令行中还要makeindex foo.idx生成.ind文件, 然后才能再latex foo.tex.

6. 参考文献, 如何使用bibtex
首先要建立一个foo.bib文件用于存放文献信息, 内容见xampl.bib, 有各种格式的, 如
@ARTICLE{article-minimal,
author = {L[eslie] A. Aamport},
title = {The Gnats and Gnus Document Preparation System},
journal = {\mbox{G-Animal's} Journal},
year = 1986,
}

其中article-minimal是要被引用时用的;

然后主文件(foo.tex)中做以下的事:
\cite{article-minimal}
...
\bibliography{foo}
\bibliographystyle{plain} (别人有个各种样式的比较)

最后编译的时候分四步: 1. latex foo.tex (生成.aux文件) 2. bibtex foo.aux 3. latex foo.tex 4. latex foo.tex (重复); 当然, 在执行的时候是可以不写后缀的, 如5. xdvi foo即可看效果.

bibtex 会生成一个bbl文件, 以后就可以直接修改这个文件, 投稿的时候也只需带上这个文件, 或者把这个文件的内容拷到tex文件中.

参考: man bibtex, bibtex/, "关于参考文献.pdf", bibtex.chm 或LaTeX2e使用手册(即出版出来的)中关于bibtex的appendix.

7. 用bibtex,如何实现每章后面加上参考文献
\usepackage{chapterbib}
然后看chapterbib.sty文件,里面的说明非常之详细

8. 在一个圆圈里放一个数字: \textcircled{\scriptsize1} 或者 $\bigcirc$\hspace{-7.5pt}1

如何在文中实现带圈的数字
答:1)使用\textcircled{}命令,后面的参数可以是一个字符或者汉字(配合CJK)
,甚至也可以是公式,但是它只会给第一个字符或者汉字加上 > 合适的圆圈,字体
放缩命令对它也有效,因此可以利用这点实现两个字符加圈的效果,但是需要仔细的
调整尺寸,参考如下命令: > \Large{\textcircled{\small{12}}}、\textcircled
{九}。
2)使用pifont宏包,那里面有很漂亮的带圈的各种数字符号(仅限于阿拉伯数字,如果想>
使用加圈的中文“一”至“九”就不行了)。在.tex > 文件中尝试下列命令:\ding{172}>~\ding{211}。
3)在GB和GBK字库中本来就有10个加圈数字形式,可以直接在 CJK中使用。如果不超过11的>
话应该够用了呵呵:①②③④⑤⑥⑦⑧⑨⑩,这些汉 > 字可以直接使用数字软键盘输入(>
以智能ABC输入法为例,其实大部分输入法都是一样的):打开软键盘,选择“数字序号”>
即可看到。

9. 记数器解决方案
\begin{enumerate}
\item
\item
\newcounter{temp} \setcounter{temp}{\value{enumi}}
\end{enumerate}
...
\begin{enumerate}
\setcounter{enumi}{\value{temp}}
\item dd
\end{enumerate}

10. 用Latex做幻灯片
目前欣赏beamer. 这里有一个非常齐全的用 latex做幻灯片的各种方案的比较. (原始网址是http://webpc.shtu.edu.cn/yctang/CteX_Talk/homepage/compare.htm)

11. 如何输出这个字符 ~
1. \textasciitilde 或者 2. \~{}

12. 插入其他格式的图片如jpg格式的
(1). 最简单的办法是用pdflatex进行编译, 于是只需在原文件中写上该图片的名字;
(2).用graphicx宏包, (不知1,2是否一起用)

13. 一个加超链接的例子
\href{http://www.toolscenter.org/products/texniccenter}{TeXnicCenter}

14. 关于特殊字符
有一个叫symbols-a4.pdf的文件, 里边记录了几千个特殊符号的表示方法, 例如


15. \sqrt的真正用法: \sqrt[a]{b}, 其中a是在根号前的那个数字, 如果是3, 就是开三次方.

16. 使用bibtex前面已有介绍, 如何修改bst文件? 还是不清楚, 不过成功修改了一个:

FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output
%%%%% name.or.dash
format.date "year" output.check
date.block
eprint missing$
{
crossref missing$
{ journal
"journal" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
format.journal.pages
}
{eprint output}
if$
format.note output
fin.entry
}

这个 function就是对bib文件的条目为article的进行整理的, 原来对于是预印本文献, 我的bib条目是

@ARTICLE{2006astro.ph..1063Z,
author = {{Zhang}, B. and {Gil}, J. and {Dyks}, J.},
title = "{Physical Interpretations of Rotating Radio Transients}",
journal = {ArXiv Astrophysics e-prints},
eprint = {arXiv:astro-ph/0601063},
year = 2006,
month = jan,
adsurl = {http://adsabs.harvard.edu/cgi-bin/nph-bib_query?bibcode=2006astro.ph..1063Z&db_key=PRE},
adsnote = {Provided by the Smithsonian/NASA Astrophysics Data System}
}

其中有eprint项, 但是在所用的aa.bst中没有, 结果显示为 Zhang ..., ArXiv Astrophysics e-prints, ..., 而没有arXiv:astro-ph/0601063, 结果参考文献的这个条目根本不能确定是哪一篇文献.

解决办法就是在aa.bst中最前面声明journal, year...的地方加上eprint, 然后如上加上红字部分, 意思是如果eprint项是空的, 那么按照正常的显示期刊, 卷号, 页码, 如果不空, 则不显示这些, 而只输出eprint中的内容.

相应的参考文献有btxhack(设计bst文件), btxdoc(针对bib文献, 是bibtex的用法). 在tex的发行中都包含了.

17. 要生成一个自己想要的bst样式文件, 最好的办法是用custom-bib, 找到这个tgz的包, 解压, 里边有详细的说明, 照着做就是了. 简单说就是latex 编译文件, 按提示选则, 最终生成bst文件.

原文地址 http://blog.ecoman.asia/user1/51/archives/2007/937.html

No comments :

Post a Comment