TeX , ConTeXt & LaTeX

TeX , ConTeXt & LaTeX

这里保存了我的 LaTeX 笔记。

Table of contents:

LaTeX
基本设置
图片
关于公式
split 环境的使用
使用 \newcommand
中文支持
ConTeXt

LaTeX

LaTeX 是最流行的 TeX 宏包。

基本设置

我一般喜欢用 11pt 的字体,所以我的第一行是这样的:

\documentclass[a4paper,11pt]{article}

编译时加入的包:

\usepackage {graphicx}      %图片支持
\usepackage {CJK}           %中文支持
\usepackage {indentfirst}   %使第一段的第一行缩进
\usepackage {geometry}      %使我能精细调节页面布局
\usepackage {amsmath}       %美国数学协会的包

图片

调整图片与图片、图片与内容的间距:

\setlength{\floatsep} {10pt plus 3pt minus 2pt}
\setlength{\textfloatsep} {12pt plus 2pt minus 2pt}
\setlength{\abovecaptionskip}{0pt}
\setlength{\belowcaptionskip}{10pt}

要加入图片时,使用浮动图形环境:

\begin {figure}
  \centering                              %图片居中
  \includegraphics[scale=0.x]{file name}  %0.x 为缩放比例
  \caption{一张很鸟的图片}                  %图片的标题,默认标在图片下方
  \label{fig:bird}                        %交叉引用
\end{figure}

如果要产生并排的图片,可以使用 minipage 环境。

关于公式

这个基本没什么好说的,TeX 的公式太强了,强到每个人都会一点。不过这里还 是有一点小技巧。

split 环境的使用

很多人都不知道 split 是什么,lshort 里也没提到。说到产生对齐的公式,一 般第一反应是用 align 环境,其实 split 比 align 更加灵活,因为它还可以 嵌套在别的环境里。比如要产生两个对齐的不编号的公式,可以用

\[
\begin{split}
  \imath\hbar\,\spartial{\psi_1}{t} &= U_1\psi_1+K\psi_2\\
  \imath\hbar\,\spartial{\psi_2}{t} &= U_2\psi_2+K\psi_1
\end{split}
\]

把上面的 \[ 和 \] 换成 equation 环境,这两个公式就是编号的。

使用 \newcommand

使用 \newcommand 指令可以节省键盘。比如上面的那个 \spartial{}{} (simplified partial :-p) 指令就 是我自己定义的,表示一个偏微分。

\newcommand{\spartial}[2]    % [2]表示这个指令接受两个参数
           {\frac{\partial#1}{\partial#2}}

通过这个定义,我在输入一个偏微分时节省了一半的键盘敲击次数。假如你要写 一篇关于偏微分方程的论文,这个会让你感觉倍儿爽 :-p

中文支持

我使用 CJK 包来支持中文。

\begin{CJK*}{GBK}{song}   % 使用宋体作为缺省字体
  \CJKindent              % 首行缩进
  \begin{document}
    \CJKtilde             % 让~来表示一个可以换行的小空隙
    NB 的中文!!
  \end{document}
\end{CJK*}

我相信很多人都和我有一样的疑问,那就是怎么临时改变字体。总不能先 \end{CJK*} 再 \begin 一个吧 ~

在 google 了无数次之后(真不知道怎么就没人说说这个事),我发现了改变字 体的真谛,那就是 \CJKfamily{} 指令,参数是字体的名字。比如你想变为黑体 打一行字再变回来,就要这么写:

\CJKfamily{hei}
真 tm 黑!

\CJKfamily{song}
不黑了。

还有,有些字符串是文档类里定义的,需要把它改成中文。以下是我找到的一 些要改的

\renewcommand{\contentsname}{目~录}
\renewcommand{\listfigurename}{图~目~录}
\renewcommand{\listtablename}{表~目~录}
\renewcommand{\appendixname}{附~录}
\renewcommand{\abstractname}{摘~要}
\renewcommand{\refname}{参考资料}       % 这个我没用过
\renewcommand{\bibname}{参~考~文~献}
\renewcommand{\figurename}{图}
\renewcommand{\tablename}{表}

ConTeXt

ConTeXt 是比 LaTeX 更高级的 TeX 宏包。相对 LaTeX,ConTeXt 是用要灵活的 多,几乎所有的环境都可以在一个统一的界面下配置。而且 ConTeXt 没有文档 类,所以无论是幻灯片还是打印文档都可以从相同的源文件产生。

ConTeXt 的官方文档比较诡异,很多很有用的命令在正式的手册里都没有介绍, 所以我正在写一份 ConTeXt 的介绍兼 manual。目前已经写完了关于页面设置的, 基本写完了排版文本的部分。

草稿可以在这里下载(英文的)。