星期六, 一月 01, 2005

Latex 笔记




content="text/html; charset=utf-8">
latex笔记-邹远川






lang="en-US">

1.
最简单的 lang="en-US">latex文件


\documentclass{article}


\begin{document}

blabla

\end{document}


blabla
里边随便写一些乱七八糟的东东 lang="en-US">,
就能被编译然后看到了 lang="en-US">~.~


中文支持 lang="en-US">,
lang="en-US">CJK face="Times">

\documentclass{article}


\usepackage{CJK}

\begin{CJK}{GBK}{song}

\begin{document}


试汉字 lang="en-US">

\end{CJK}

\end{document}




2.
注释 lang="en-US">

'%'
用来注释 lang="en-US">%后的语句 face="Times">,
编译时忽略 lang="en-US">

块注释 lang="en-US">:


\iffalse

...

\fi



3.
空格 lang="en-US">

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




4.
插图 lang="en-US">,表格


好象 lang="en-US">\label要放到 face="Times">\begin{figure}...\end{figure}
境的最后才能在引用时正确显示标号(
没有试清楚).
见下面 lang="en-US">:

lang="en-US">:


\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}


注意 lang="en-US">label的位置 face="Times">,
lang="en-US">{tabular}内而不是外边 face="Times">,
否则就出乱子了 lang="en-US">.
figure
lang="en-US">label也是 face="Times">.
实际上是 lang="en-US">\label命令必须紧接着 face="Times">\caption
令给出.



5.
生成索引


face="Times">\usepackage{makeidx}

\makeindex

\begin{document}

body:
\index{a!b} (
可以是 lang="en-US">a,
a!b, a!b!c
lang="en-US">)

\printindex

\end{document}


见到 lang="en-US">\makeindex face="Times">latex
foo.tex
会自动生成 lang="en-US">foo.idx,
然后在命令行中还要 lang="en-US">makeindex
foo.idx
生成 lang="en-US">.ind文件 face="Times">,
然后才能再 lang="en-US">latex
foo.tex.



6.
参考文献 lang="en-US">,
如何使用 lang="en-US">bibtex

首先要建立一个 lang="en-US">foo.bib文件用于存放文献信息 face="Times">,
内容见 lang="en-US">xampl.bib,
有各种格式的 lang="en-US">, 


  face="Times">@ARTICLE{article-minimal,

  
author = {L[eslie] A. Aamport},

   title = {The Gnats
and Gnus Document Preparation System},

   journal =
{\mbox{G-Animal's} Journal},

   year = 1986,

}


其中 lang="en-US">article-minimal是要被引用时用
;



然后主文件 lang="en-US">(foo.tex)中做以下的事 face="Times">:


lang="en-US">\cite{article-minimal}

...

\bibliography{foo}

\bibliographystyle{plain}
(
别人有个
种样式

比较)


最后编译的时候分四步 face="Times">:
1. latex foo.tex (
生成 lang="en-US">.aux文件 face="Times">)
2. bibtex foo.aux 3. latex foo.tex 4. latex foo.tex (

);
当然 lang="en-US">,
在执行的时候是可以不写后缀的 lang="en-US">,
lang="en-US">5. xdvi
foo
即可看效果 lang="en-US">.



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



参考 lang="en-US">:
man bibtex, bibtex/, "
关于参考文献 face="Times">.pdf",
bibtex.chm
lang="en-US">LaTeX2e使用手册 face="Times">(
出版出来的<Latex2e
技论文排版指南>)
关于bibtex face="Times">appendix.





lang="en-US">7.
lang="en-US">bibtex
如何实现每章后面加上参考文献


\usepackage{chapterbib}

然后看 lang="en-US">chapterbib.sty文件,里面的说明
非常之详细



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




如何在文中实现带圈的数字 lang="en-US">

答: lang="en-US">1)使用 face="Times">\textcircled{}
令,后面的参数可以是一个字符或者汉字(配合 lang="en-US">CJK face="Times">

,甚至也可以是公式,但是它只会给第一个字符或者汉字加上
>
合适的圆圈,字体 lang="en-US">

放缩命令对它也有效,因此可以利用这点实现两个字符加圈的效果,但是需要仔细的 face="Times">

调整尺寸,参考如下命令:
>
\Large{\textcircled{\small{12}}}
face="Times">\textcircled

{
lang="en-US">} face="Times">

2
)使用 lang="en-US">pifont宏包,那里面有很漂亮的带圈的各种
数字符号(仅限于阿拉伯数字,如果想>

使用加圈的中文“一”至“九”就不行了)。在 lang="en-US">.tex
>
文件中尝试下列命令: lang="en-US">\ding{172}> face="Times">\ding{211} face="Times">

3
)在 lang="en-US">GB face="Times">GBK
库中本来就有10
加圈数字形式,可以直接在CJK
使用。如果不超过11 face="Times">>

话应该够用了呵呵:①②③④⑤⑥⑦⑧⑨⑩,这些汉
>
字可以直接使用数字软键盘输入( lang="en-US">>

以智能 lang="en-US">ABC输入法为例,其实大部分输入法都是一样
的):打开软键盘,选择“数字序号”>

即可看到。




9.
记数器解决方案 lang="en-US">

\begin{enumerate}

 \item


 \item

\newcounter{temp}
\setcounter{temp}{\value{enumi}}


\end{enumerate}

...

\begin{enumerate}

 \setcounter{enumi}{\value{temp}}

 \item
dd

\end{enumerate}



10.
lang="en-US">Latex做幻灯片 face="Times">

目前欣赏 lang="en-US">beamer.

有一个非常齐全的用
latex
幻灯片的各种方案的比较.
(
原始网址是 lang="en-US">http://webpc.shtu.edu.cn/yctang/CteX_Talk/homepage/compare.htm)



11.
如何输出这个字符 lang="en-US">~

1.
\textasciitilde
或者 lang="en-US">2.
\~{}



12.
插入其他格式的图片如 lang="en-US">jpg格式的 face="Times">

(1).
最简单的办法是用 lang="en-US">pdflatex进行编译 face="Times">,
于是只需在原文件中写上该图片的名字 lang="en-US">;

(2).
lang="en-US">graphicx宏包 face="Times">,
(
不知 lang="en-US">1,2是否一起用 face="Times">)



13.
一个加超链接的例子 lang="en-US">

\href{http://www.toolscenter.org/products/texniccenter}{TeXnicCenter}



14.
关于特殊字符 lang="en-US">

有一个叫 lang="en-US">symbols-a4.pdf的文件 face="Times">,
里边记录了几千个特殊符号的表示方法 lang="en-US">,
例如 lang="en-US">

alt="latex-symbols" align="bottom" border="0"
height="227" width="554">



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



16.
使用 lang="en-US">bibtex前面已有介绍 face="Times">,
如何修改 lang="en-US">bst文件 face="Times">?
还是不清楚 lang="en-US">,
不过成功修改了一个 lang="en-US">:



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

}



这个 lang="en-US">function就是对 face="Times">bib
件的条目为article
进行整理的,
原来对于是预印本文献 lang="en-US">,
我的 lang="en-US">bib条目是


@ARTICLE{2006astro.ph..1063Z,

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

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



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



相应的参考文献有 lang="en-US">btxhack(设计 face="Times">bst
),
btxdoc(
针对 lang="en-US">bib文献 face="Times">,
lang="en-US">bibtex的用法 face="Times">).
lang="en-US">tex的发行中都包含了 face="Times">.



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



18.
安装 lang="en-US">CJK face="Times">GBK
(
会设计到版权问题的:()

首先是 lang="en-US">CJK已经装上了 face="Times">,
下载 lang="en-US"> target="_blank">ftp://ftp.cc.ac.cn/pub/cct/CJK/
CJK-GBKfonts
装上,
就有 lang="en-US">gbkfonts face="Times">gbkfont-inst
令了.

lang="en-US">simsun.ttf,
simkai.ttc
等这样的文件 lang="en-US">,
运行 lang="en-US">sudo
gbkfont-inst simsum.ttf gbksong
就可以了 face="Times">!


然后可以用第 lang="en-US">1条里提到的 face="Times">CJK
件测试一下.



19.
在用了 lang="en-US">natbib这个 face="Times">style
件之后,
可以方便的用 lang="en-US">\citet,
\citep
等引用 lang="en-US">,
但是不同的杂志可能要求的格式不一样 lang="en-US">,
lang="en-US">ApJ face="Times">"Author,
year",
lang="en-US">A&A face="Times">"Author
year"(
注意中间的逗号的有无 lang="en-US">),
这时只需在文件开头加上 lang="en-US">

\citestyle{aa}
即可 lang="en-US">,
当然其中是 lang="en-US">aa还是其它的要看需求和 face="Times">natbib
提供的.
要查看 lang="en-US">natbib提供了什么 face="Times">,
之间看 lang="en-US">natbib.sty文件就是了 face="Times">.





20.
latex2html
命令可以将 lang="en-US">tex文件转化成 face="Times">hmtl
件。

不过一般会把文件转化成很多页面,浏览的时候需要不停地点击。如果想生成的页面只有一页,则可以 face="Times">

latex2html
-split +0 foo.tex


21.
\tableofcontents
lang="en-US">options,在用 face="Times">beamer
时候偶然看到的一些,不知道可不可以在其他地方用,命令的意思很明显,根本不用解释,其中 lang="en-US">hidesubsections就是通过 face="Times">hideothersubsections
己联想了一下试出来的,因为没找到在哪里有 lang="en-US">options的介绍,用法:


\tableofcontents[current,currentsubsection,hidesubsections,hideothersubsections]


22.
\part
可以把一个整体分成几个部分,不影响整体的结构




lang="en-US">TIPS


lang="en-US">1.
更新包文件 lang="en-US">(.sty)--mktexlsr;

2.
参考文献数据 lang="en-US">:
bibtex
lang="en-US">adsabs.harvard.edu上有他们
索引的文章bib
entry,
对天文来说足够用了 lang="en-US">(位置是每篇文章摘要的下面有个链接 face="Times">);

3.
Latex
新书 lang="en-US">:
LATEX
实用教程(英文版 face="Times">· face="Times">4版) face="Times">
出 版社: href="http://211.100.16.156/dangdang.dll?key=%E6%9C%BA%E6%A2%B0%E5%B7%A5%E4%B8%9A%E5%87%BA%E7%89%88%E7%A4%BE&showall=0&mode=13">机
械工业出版社
   出版日期: lang="en-US">2005-4-1



最后更新 lang="en-US">:
2006.4.22




没有评论: