2008年12月5日星期五

LaTeX使用经验

LaTeX使用经验

enumerate环境中自定义序号

可以用\itme[自定序号]的方法。

Emacs中编辑LaTeX

除启用AUCTeX外,还用Meta-X reftex-mode启用retex模式。可以帮助管理公式标签。用C-c =显示所有章节目录,用C-c )选择一个标签引用,选e时显示可用的公式标签。显示可选的标签时,用r键更新可选标签列表。

关于Plain TeX制表

方法1. 均分

\settabs 4\columns % 平均分成四栏。

\+ 栏1 & 栏2 & 栏3 & 栏4 \cr

\+ & & 栏3 \cr

没有结束命令,一直有效,栏内左对齐,可越界。为了右对齐可用如"\hfill 栏3", 为居中对齐可用如"\hfill 栏3 \hfill"。



方法2. 用例子给定宽度。如:

\settabs \+\indent 栏1 \quad & 栏2 \quad & \cr

\+ 栏1 & 栏2 & 栏3 \cr

例子行不输出。


表格居中及上下留空方法如:

$$\vbox{表格内容

}$$



方法3. 基于模版。用\halign{...}命令。如

\halign{\indent#\hfil&\quad#\hfil\cr

栏1 & 栏2 & 栏3 \cr

......

}

其中#在模版中代表某格内容。为了表格单元居中可在两边都加上\hfil。在\halign内改变字体只对一个单元格起作用。



表格两行间加空的办法:

\noalign{纵向空白}

其中“纵向空白”如\smallskip, \medskip, 甚至于可以用文字。


表格规定栏间空白大小的方法:

\tabskip=1em plus2em minus .5em

\halignto \hsize{\hfil\bf# & \hfil\it#\hfil&

\hfil#\hfil & \hfil#\hfil & #\hfil\cr

......

}

上例规定了表格宽为行宽,有五栏,第一栏右对齐且粗体,第二栏居中且斜体,第三栏和第四栏居中,第五栏左对齐。\tabskip用来规定两栏之间的间隔,在\halign的例子行内定义\tabskip可以修改某一个栏间空,这样可以不同的栏间有不同的间空。如

\halign{\tabskip=4pt #\hfil & \tabskip=10pt \hfil#\hfil & #\hfil \cr

栏1(左对齐) & 栏2(居中) & 栏3(左对齐) \cr
......}
如果在模版中用了复杂的格式或文本而某个单元格不需要,可以在该单元格中用如"\omit 自定义内容"来取消模版中的规定。

表格按小数点对齐的方法:可以把"~"临时定义为\phantom{0}然后补齐数字。

多栏合并的方法:
合并栏 \hidewidth && \cr
可右对齐,&号不能省,\hidewidth可左对齐。另一方法是用\multispan{3}即合并三栏。

表格中的填充命令: \hfill为填空白;\hrulefill为填横线;\hdotfill为填虚线。

表格线:为了竖线能连接在一起,要用
\offinterlineskip
即不允许多余(可变)的行间距。用\vrule#在模版中加入一条竖线,正文中需要用空栏留出竖线为止。如果某行需要不划竖线可以用\omit,或\height10pt用来自定义竖线高度。例如:
\vbox{\offinterlineskip
\hrule % 上表格横线
\halign{ & \vrule# & % 这里是一条竖线
\strut\quad\hfil#\quad\cr % \strut是可以重复利用的。
height2pt & \omit && \omit & \cr % 多余的空
& Year\hfil && World Population & \cr % 在第一个&前有竖线,在两个&&间有竖线,&和\cr间有竖线
\height2pt & \omit&&\omit&\cr % 多余的行间空
\noalign{\hrule} % 横线
& 8000\BC && 5,000,000 & \cr
\height2pt & \omit && \omit & \cr }
\hrule} % 底横线
横线也可用\multispan{5}\hrulefill.
另一例子:
\vbox{\tabskip=0pt \offinterlineskip
\def\tabrule{\noalign{\hrule}}
\halign to 200pt{\strut#&\vrule# % 左竖线
\tabskip=1em plus 2em &
\hfil#&\vrule#&\hfil#\hfil&\vrule#& % 右对齐单元格,竖线,居中栏,竖线
\hfil#&\tabskip=0pt\cr\tablerule % 右对齐单元格,表格线与单元格间无空,横线
&& \multispan{5}\hfil AT\&T Common Stock \hfil & \cr\tablerule
&& \omit\hidewidth Year \hidewidth &&
\omit\hidewidth Price \hidewidth &&
\omit\hidewidth Dividend \hidewidth & \cr\tablerule
&& 1971 && 41--54 && $ 2.60 & \cr\tablerule
& \multispan{7} *(first quarters only)\hfil\cr}} % 合并的栏
\strut是一个隐形的竖线,起到行间胶水(glue)的作用。\hidewidth使标题宽度不影响栏宽。


现代刊物中常见的文献引用方式

我们用BibTeX管理LaTeX的文献,假设我们有一个数据库mybiblib,为产生引用,只要在文章末尾加上
\bibliography{mybiblib}
\bibliographystyle{plainnat}

并在前言部分加上

\usepackage{natbib}

然后运行LaTeX编译,再运行bibtex,再运行两次LaTeX编译就可以得到文章末尾的文献列表和文章中的引用,引用如\cite{Durbin02}可以变成Durbin & Koopman(2002), 相应的文献格式化为

J. Durbin and S. J. Koopman. A simple and effcient simulation smoother for
state space time series analysis. Biometrika, 89(3):603-615, 2000.

如果把bibliograpystyle改成agsm,则文献格式化结果为

Durbin, J. & Koopman, S. J. (2002), ‘A simple and effcient simulation smoother
for state space time series analysis’, Biometrika 89(3), 603-615.


BibTeX文献库管理软件JabRef

数学方向的研究人员写作一般使用LaTeX,当文献较多时文献引用由BibTe来管理比较有效。但是,直接用文本格式来编辑BibTeX的数据库 (*.bib文件)比较麻烦,Emacs中的对BibTeX编辑的支持也比较一般。所以,最好有一种窗口菜单形式的软件来管理文献数据库。
经过搜索我发现JabRef比较适用于管理BibTeX数据库。该程序是自由软件,基于Java所以除了可以在MS Windows上可以运行以外,在LinuxMac OS上也可以运行,直接以.bib格式的文件为数据库,可以用图形窗口方式编辑文献条目。另一个可能有用的免费文献数据库管理软件是Biblio Express,可以用于Word写作的文献库管理,兼容其它的商业文献数据库管理软件。


图形目录和图形缺省扩展名

\graphicspath{{demofigs/}} % 指定图形文件的读取目录
\DeclareGraphicsExtensions{.pdf,.jpg,.png} % 指定没有扩展名时图形文件缺省扩展名

Beamer包使用经验

在Beamer制作的文章中如果需要用verbatim环境, \verb, lstlisting等原样显示的功能,可以对frame环境加[containsverbatim]选项。但这样不能使用遮盖显示,另一办法是在 frame前面用\defverb\codea|someone@abc.com|定义命令然后在frame中调用命令\codea。对verbatim 环境,定义命令的格式如:
\defverbatim\codeb{%
\begin{verbatim}
...
\end{verbatim}
}

右侧有目录,且目录中小节只显示当前节的小节,浅蓝白色:
\usetheme[hideothersubsections]{Goettingen} % 菜单在右,浅蓝白色, 小节只显示当前节


Beamer主题(theme)分类

%% 一、不带导航条的主题有:default,boxes,Bergen,Boadilla,
%% Madrid,Pittsburgh,Rochester.这些主题要注意大小写。
%% 二、树形导航条的主题:Antibes,JuanLesPins,Montpellier。
%% 三、带目录的侧边导航条的主题:Berkeley,PaloAlto,Gottingen,
%% Marburg,Hannover。
%% 四、微型导航条的主题:Berlin,Ilmenau,Dresden,Darmstadt,
%% Frankfurt,Singapore,Szeged
%% 五、带节、小节目录的主题:Copenhagen,Luebeck,Malmoe,Warsaw。

%\usetheme{Antibes} % 菜单在上, 深蓝白色
%\usetheme{Copenhagen} % 菜单在上, 深蓝白色, 同Warsaw
%\usetheme{Luebeck} % 菜单在上, 深蓝白色, 同Warsaw
%\usetheme{Malmoe} % 菜单在上, 深蓝白色, 同Warsaw
%\usetheme{Warsaw} % 菜单在上, 深蓝白色

%\usetheme{JuanLesPins}% 菜单在上仅显示当前路径, 深蓝白色
%\usetheme{Montpellier}% 菜单在上仅显示当前路径, 浅蓝白色

%\usetheme{Berlin} % 菜单在上且可显示每小节的页面数, 深蓝白色
%\usetheme{Dresden} % 菜单在上且可显示每小节的页面数, 深蓝白色, 同Berlin
%\usetheme{Ilmenau} % 菜单在上且可显示每小节的页面数, 深蓝白色, 同Berlin
%\usetheme{Darmstadt} % 菜单在上且可显示每小节的页面数, 深蓝白色
%\usetheme{Frankfurt} % 菜单在上且可显示每小节的页面数, 深蓝白色
%\usetheme{Singapore} % 菜单在上且可显示每小节的页面数, 浅蓝白色, 不显示小节名

%\usetheme{Bergen} % 菜单在左, 深蓝白色
%\usetheme{Berkeley} % 菜单在左, 深蓝白色
%\usetheme{Hannover} % 菜单在左, 标题靠右, 浅蓝白色
%\usetheme{PaloAlto} % 菜单在左, 深蓝白色

%\usetheme{Goettingen} % 菜单在右,浅蓝白色
%\usetheme{Marburg} % 菜单在右, 深蓝白色

%\usetheme{Boadilla} % 无菜单, 浅蓝白色
%\usetheme{Madrid} % 无菜单, 深蓝白色
%\usetheme{Pittsburgh} % 无菜单, 深蓝白色
%\usetheme{Rochester} % 无菜单, 深蓝白色


%\usetheme{Warsaw} % 菜单在上, 深蓝白色
%\usetheme{Boadilla} % 无菜单, 浅蓝白色
%\usetheme{JuanLesPins}% 菜单在上仅显示当前路径, 深蓝白色
%\usetheme{Singapore} % 菜单在上且可显示每小节的页面数, 浅蓝白色, 不显示小节名

没有评论: