【LaTeX教程】LaTeX命令速查手册6

2012-10-31 03:27 阅读 990 次 评论关闭

+-------------+
|TeX 常见问题4|
+-------------+

2003年4月15日更新!

本期主题是《运筹学—线性系统优化》的实战篇,关于本书的各种模版和一些TeX的实例(包括幻灯片的源文件)请到运筹学书的模版和PDF文件下载;一些排版原则请到书的一些专业排版原则中讨论。而下面只是使用技巧,这本书可是自己排的版,但完全达到了出版社的要求,应该很有用吧。本使用技巧对初学者非常有用,对于论坛上的高手们只是起了一个参考作用而已。预计一个月后就能完全更新完全,因为我的论文还没写啊。

1、模版的种类

(1)包括了书的两种类型,两种书的类型的章节标题形式为

第1章 第一章
1 第一节标题 一 第一节标题
1.1 第一小节标题 一 第一小节标题
1.1.1第一小小节标题 (一) 第一小小节标题
(1) 再下一小节标题 1 再下一小节标题
① 还小一层次的标题 (1) 还小一层次的标题
(i)再小一层次的标题 ① 还小一层次的标题
(a)还小一层次的标题 (i)再小一层次的标题

本书是采用的最左边的格式;右边的格式是对一些出版社而定的,但还没完全达到要求,特别是目录还需要大家来测试出来。ORmain1与ORmain2就是用手工输入确定参考文献顺序的模版,DEmain1与DEmain2就是据此修改而得的用Bibtex自动确定参考文献的模版。由上面的说明,ORmain2与DEmain2还不成熟。当用了Bibtex来得到参考文献时,因为我用了\usepackage{ulem,CJKulem}宏包命令,所以修改了plainat.bst和unsrtnat.bst文件。

(2)据此书模版修改而得到的幻灯片模版ORslidem.tex是用PDFslide来实现的,这有几个好处可见模版的抬头说明。这个模版的最大好处是可以用任何.pdf文件来做为它的背景,我就选择了pdfscreen下的一个.pdf背景文件。

(3)据此书模版修改而成的文章模版myjournal.tex适合于中英文的文章。

2、版面问题

每一种书内有B5、16开、A4三种页面设置,这是出版社给的标准设置,建议只采用定义版面和版心大小的方面来进行设置,而不是像word那样定义页边距来实现页面设置!下面对问题进行分类说明。

首先,在每一级标题中,字体应该一粗一细,但不要使用加粗命令来得到这个效果。在本书中,出版社采用了正文为11pt的宋体类型,由此有

第1章 隶书居中Huge
1 第一节标题 楷书居中Large
1.1 第一小节标题 幼园齐左large
1.1.1第一小小节标题 仿宋空两字normalsize
(1) 小小小节标题 宋体空两字normalsize
① 还小一层次的标题 宋体空两字normalsize
(i)再小一层次的标题 宋体空两字normalsize
(a)还小一层次的标题 宋体空两字normalsize

要注意的是:如果只到“ 小小小节标题”的命令时,要尽可能地用“(1) 小小小节标题”,如果这时表示的是列举,就不用断行。但是,如果这儿表示是标题时,特别是“ 小小小节标题”下面还有小标题“①”时,即这儿表示分类叙述,则标题后的内容要另起一行(或者说是标题要独立成行!);并且这时要注意不要背题,即至少下面应有一行正文内容,这是很重要的!!!所以重新定义了\paragraph命令,这个命令可以实现标题形式为(1)...(2)...等,并且这时能自动为避免背题现象,推荐!!!

其次,书眉要采用footnotesize的楷体才对,这时也没有大家原来讨论过的overfull的警告信息了;页码要放在切口。

第三,图表标题的字号应和正文一样,而其内容可以采用small和footenotesize两类,由于书中有大量的分数,所以采用了small这一类的选项。这里要注意的是,图表标题采用了楷体,而内容全部采用了宋体,即使是定理结构类型中的图表内容也应和正文中的形式一致!

3、公式问题

(1)自动调整大小的括号用符号

左右括号,左右中括号等等的符号,常常会因为方程式内容的关系,需要动态的依内容改变大
小,在LaTeX 中要达到这样的效果,可以在这些符号之前加上\left和\right来达成这样的效果,
在左边的括号,前面就加上\left,而在右边的括号就加上\right。这两个命令,一定要成对使用
,也就是,在一个数学模式中,有一个\left就要有一个\right。如果你只需要其中一个,(如在作
条件列示的时候)那么可以用\left\{而右边则是用\right.用句号来表示一个空的符号。可以使用这
两个命令的符号有
( ) [ ]
\{ \} | \|(||符号)
/ \backslash(反斜线) \lfloor \rfloor
\lceil \rceil \langle \rangle
\uparrow \Uparrow \downarrow \Downarrow
\updownarrow \Updownarrow
(2) 本书的一些特殊设置

当采用标准的\frac{}{}命令时,基本上不做特殊的改动。由于出版社要求行中的公式里面的分子分母不改变字号,所以定义了一个myfrac命令:

\newcommand{\myfrac}[2]{\frac{\displaystyle #1}{\displaystyle\vphantom{\between}#2}}%显示公式的标准尺寸
\newcommand{\myfracnovm}[2]{\frac{\displaystyle #1}{\displaystyle#2}}%
%\newcommand{\myfrac}[2]{\genfrac{}{}{}{0}{#1}{#2}}%根据ams宏包做的定义,不推荐这个

%增加公式和表格环境中公式上下的间距,特别是能避免上下分数粘在一起和表格内分数压线的问题
\setlength{\extrarowheight}{3pt}
%以下两命令可以用来增加表格中行内公式的上下间距以免压线,这个公式不会显示出来
\newcommand{\myvphantom}{\vphantom{\frac{\sum}{\sum}}}
\newcommand{\mybigvphantom}{\vphantom{\frac{\frac{\sum}{\sum}}{\frac{\sum}{\sum}}}}

注意上面的\vphantom的特殊效果,由此以下的宏包就非常重要了!!!

\usepackage{delarray}%使array环境的[t]或者[b]选项生效;并可解决表格中的文字上下位置不对的问题

另外,不得不提的分块矩阵的问题,特别推荐pmat宏包,这个的兼容性非常强,模版中有说明。

而我们平时没注意的是用了\leq和\geq命令,但应该为\leqslant和\geqslant命令。

在公式中,如果表示分类条件,则前面要用“,”号,否则后面要用括号,比如:

$$\begin{cases}0,&\mbox{如果为否}\\
1,&\mbox{如果为是}\end{cases} $$\begin{cases}0&(i=1)\\
1&(i=1,2,\cdots,n)\end{cases}

顺便于说一下,全文均用了\cdots命令,而没有用\ldots命令,这也省了很多麻烦。在上面的右边公式中,因为1,2,\cdots,n要经常使用,所以可以定义一个\newcommand{\myn}{1,2,\cdots,n}来表示它。这应该是一个良好的习惯,因为可以按出版社的要求进行统改。

而经常是因为公式作为一个整体的原因导致不能很好分页,所以在该用\allowdisplaybreaks ... \displaybreak[0]的地方一定要用这一组命令。但要注意的是这一组命令最好要在局部环境下应用,因为eqnarray环境对他是比较敏感的。

4、三线表、列表、文献格式

模版中有详细的说明,特别是本书里面的设置很有用。

首先,要注意的是,图表混排时的小表格不能放在订口,而应该放在切口才行,我用的是floatflt宏包,当选用

选项时就行了。

其次,表格的宽度应该长于标题的长度。当出现多个了图形时,只需要一个标题就行了,这个可参见动态规划章节中的前面几个标题,所以只需要caption一个宏包就行了,不推荐subfigure宏包。

第三,参考文献排列有两种方式,一是依正文中出现的顺序排列,这时正文中可以用“参见文献{6-8]”的形式;二是文献用拼音方式排列,而在正文中就应该用作者-年代的方式引用。由于拼音排序还没有解决,所以本书采用了第一种方式。

5、特殊字符

包括了罗马数字、度、破折号等字符的输入。其中,破折号、不存在符号、连字符、半字符是各不相同的,其分别的输入应该为---\!---、--\!--、--、-,因为出版社认为它们有点靠下,书中都把它们定义了。例如
两阶段法---\!---阶段一,时间--资源的优化,$\alpha$-方法,而不存在符号是用于矩阵内的。

要注意的是在正文的英文单词的首字符要大写,比如基变量(Basic Variable)。外文名字方面应该用R. Bellman,而不是R·Bellman的格式。并且外文名字要统一,比如拉格朗日等人名,要么全用中文,要么全用外文原文。

6、定理结构

当有鱼尾号作为定理结构的开始时,就可以不空两字符了,但如果没有的话,定理结构的开始就应该空两字符。本书的“【】”型的定理结构是老船长给出的,其他的要求可以再麻烦他。

其他的排版技巧就要到论坛里面讨论了,那里有很多老大。再一次感谢各位网友的帮助,没有大家,这本书是排不出来的。出版社的编辑老师说可以和他们的专业LaTeX排版相比了,这可是大家的功劳,我对程序是一点都不懂的。对于本期主题有什么建议和问题,请到论坛实战篇讨论。

+-------------+
| 疑难解析 |
+-------------+

问题不多,但是有代表性。

问题: 如何生成ps(PostScript)文件?

回答: 方法有二
1,用dvips这个工具,自己琢磨去吧,很麻烦,很麻烦的;
2,如果使用windows系统的话,在打印机中安装HP LaserJet 4/4M PostScript
的驱动程序。在浏览DVI文件的时候,打印到文件就可以了。文件是保存为*.prn的,
您只要改他为*.ps就可以了。

问题: 为什么在浏览dvi文件时,告诉我没有makepk这个程序?

回答: 看看您的emtex是完全的吗?如果不全,没有makepk.exe,那么请到“编译器”中去下
载一个完全的版本,并安装。
最好把cctwin32拷贝到emtex的目录中去。在运行的时候,修改一下路径设置。
最好把emtex下的setenv.bat加入到autoexec.bat中,系统在启动的时候就可以执行路
径设置。

问题: 如何插入图象?

回答: 我知道的方法有,
1,使用emtex下的img2cct.exe工具。
首先将图象改变为单色BMP,用画笔就可以做这件事情,提醒在保存的时候一定要存为
单色图。
例如有单色BMP文件test.bmp
然后执行命令:img2cct test.bmp -t3 -c0
具体img2cct的参数,可以直接执行"img2cct.exe"来查看
最后将img2cct.exe生成的test.tex文件的代码拷贝到您的大作中,适当调整位置,就
可以了。
您可以下载test.zip(4K),看看是如何emtex是如何嵌入图象的。
2,使用 Scientific WorkPlace(Word) 的用户,只要菜单上File/Import Picture
功能就行。

问题: 为什么cct&emtexsetup无法安装?

回答: 由于Windows系统中的环境变量太多,install程序无法顺利安装。
因此把autoexec.bat中所有的语句前面都加上"rem",然后重新启动计算机,再安装一
次。安装完毕之后,改回到以前的autoexec.bat,就万事OK了!

 

注:下面的内容都是从水木清华,南大小百合、笑书亭等BBS下载的。

问题: 现在很多文章的定理, 定义, 推论, 例子都采用统一编号, 不再是
独立编号, 如定义1.1, 接下来可能是定理1.2, 然后推论1.3...
怎么做一个总的框架环境, 实现这种自动的编号吗?

回答:
\newtheorem{athm}{\heiti \t}[section]
\newenvironment{thm} [1] {\def\t{#1}
\begin{athm} \fangsong \rm}
{\end {athm}}
正文中如下使用即可:
\begin{thm}{定义}
...
\end{thm}

\begin{thm}{定理}
...
\end{thm}
等等.

问题: 在教科书中出现一种字体, 用于实数域R或复数域C等的表示.
象这种非常用字体怎么使用?
还有向量我们常用黑体表示, 而\bf是正体的黑体, 公式中习
惯用斜体, 有斜体的黑体么?

回答: 使用
\font\aaa=msbm10 scaled \magstep 0

\newfont {\aaa} {msbm10 scaled \megstep 0}
定义新的字体\aaa
正文中如下使用:
$..... \aaa \mbox{R} ...$

注1: 以上字体msbm10你可参看tfm目录下的有关文件, 多是有
趣的字体, 你可以逐一的试试.
如果想用斜体的黑体, 把上述字体库名改为cmbxsl10即可.
注2: \megstep 0的数字0是放大参数, 改为0-5(?)的数可以得
到不同大小(数字大字就大)的字, 当然msbm9就比msbm10字

问题: 在使用某些字体时, (有.TFM文件) 在编译时没出错,
但在显示时就发现找不到.PK的字库, 怎么办? 要到哪
里去搞这些字库?

回答: 您大可不必去找字库, CCT EMTEX提供了字库生成程序.
你只需如下操作即可: (假设你生成的文件是test.dvi)
makepk -r300 test.dvi > temp.bat
temp.bat
这样就生成了.DVI中用到的字体的字库文件了(.PK)

问题: 如果公式不独立一行, 而是和文字同处一行, 这时怎么能让
公式显示得大一些: 在有求和或分数时?
在矩阵中, 也发现矩阵的元素如果有分子分母, 也显得特小,
很不合适, 有什么办法么?

回答: 大眼睛也是很笨笨的说.
一开始就是不会, 后来用了一种很不怎样的方法, 把需要加大
显示的一堆括起来, 再放大:
$ .... \mbox{\Large $ <要放大的公式> $} ... $
后来才发现很简单的说, 只要在需要显示大一点的公式前加:
\displaystyle 即可. (在丁卫星 的书后面的例子中用到
过, 可惜一直没发现)
如: \displaystyle \frac{\partial F}{\partial x_1}
不过, 大眼睛还解嘲道: 我前面用的那种字体用得很方便呀,
把\Large 改成 \LARGE还能再大呢! 嘿嘿...

问题: 在公式或定理, 定义编号上, 我不想按原来的格式, 如
定理4.2, 而想用定理4.1.2. 或者就直接定理123, 怎么
作修改?

回答: 用\renewcommand重新定义一下标号就可以了.
\renewcommand {\theequation} {\arabic{chapter}.
\arabic{section}.\arabic{eqation}
后标号就成了 4.1.2这样的了.
(在article风格中是section和subsection)

注: 那些变量\the*也可以用于自己定义的环境中, 如
\newtheorem {mythm}{\hskip 2 \ccwd \heiti定理}
后, 就可以
\renewcommand {\themythm} {\arabic{mythm}}

问题: 怎么使用不同的字号和字体?(中英文)
怎么使用双页?(就象书那样)
\documentstyle后面的选项和格式都有什么?

回答: 1.关于字号, 你如果是想改通篇文章的字号. 最简单的方法是
将第一句 \documentstyle[选项]{格式}
(选项有...,9pt,10pt(默认),11pt,...;
twoside,twocolumn,proc,oneside(默认);
leqno(默认),fleqn,epsf.
格式有book,report,article,letter;
cbook,carticle,...)
的选项选你需要的大小.
2.如想选用双页, 就用twoside,
(cbook默认就是twoside, 页码在上面, 章的首页页码在下)
3.在正文某处想改字号大小, 英文用
\tiny, \scriptsize, \footnotesize, \small, \normalize,
\large, \Large, \LARGE, \huge, \Huge
中文用
\zihao{n} 此处n可取值: 0(初号),1(一号),2(二号),3(三号),
4(四号),-4(小四),5,-5,6,7
4.关于字体, 英文常用的: \bf黑体, \rm罗马, \sl斜体, \cal花体
\sc, \it公式缺省, \sf
不常用的详见前文所述.
中文常用: \songti, \kaishu, \heiti, \fangsong, \biaosong,

问题: 中文章节如何排版(自动生成)?目前我只能得到英文风格的
“Chapter 10”字样。能够生成中文的么?

回答: 我是这样做的, 加个*号, 不让"chapter 10"出来:
\chapter*{\centerline{\heiti 第十章 \quad 多变量函数的微分学}}
\setcounter{chapter}{10}
%后面的一句是修正该章定理定义等的章的编号

如果你想爽一点, 那么改 \EMTEX\TEXINPUT\CLaTeX\CBOOK.STY
(如果你用的cbook格式)
把\def\@chapapp{Chapter}改为\def\@chapapp{}
然后再在你的.CTX中加上
\renewcommand {\thechapter} {第\arabic{chapter}章}
然后你就可以用 \chapter{章题} 了.

注: 在你用爽一点的方法时, 定理定义等的编号就出问题了 (可能是
"定理第10章.4"之类), 那是因为 \thechapter和\arabic{chapter}
不太一样的原因, 你只需重定义一下编号, 用后者替换前者即可.

问题: 如何在CCT EMTEX的文章中插入图象文件?
在插入图象文件时, 我发现它是左对齐的, 能让它居中么?

回答: 在CCT EMTEX提供的软件环境下, 你可以将一个黑白双色的图象
文件插入到文章中, 具体步骤是:
1. 先得到一个黑白双色的.PCX格式的图象文件.
可能你是用画笔画的一个.BMP文件, 那么它可能就是16色或
256色或更多色(虽然你可能只使用了黑白两色作图), 那么
你首先必须把它转成2色.PCX文件. 在使用中, 我发现wingif
最好用(用alchemy.exe转化好象后面一步无法通过): 你先把
图在wingif中读入, 再点Edit菜单下的Monochrome Dither,
然后File/Save, 在对话框中点Format>>, 然后选PCX, 存盘
即可. (wingif在.141 /incoming/tools/wingif.rar)
2. 使用CCT自带的工具img2cct.exe转化, 自动生成一个.tex文
件和.bmf文件(img2cct的参数使用请打img2cct回车)
3. 你将生成的.tex文件插入到你文章的正文中. 也可用
\input fig1.tex %假设该图名为fig1.bmf
4. 编译即可. (可参看CCT自带的使用手册)
注: 1. 你会发现图形并不在一行的中间, 这可能使你很不满意, 不要紧,
你只要稍加修改即可. 我们看一个例子, 这是fig1.tex
\vbox{\hsize7.556 true cm
\vskip4.9389 true cm
\relax\hbox to\hsize{\hbox to0pt{\special{BMF=FIG1.BMF}}\hss}\hss}
我们只需将{\special{BMF=FIG1.BMF}}用\centerline括起来即可.
即改为 {\centerline{\special{BMF=FIG1.BMF}}}
2. 这只是点阵图, 所以分辨率有限, 为了使图象效果好些, 你可能要
把图画得大一些, 如上的图是按-r180的参数生成的, 原图是500X350.
大家自己算算要画多大生成的图才不至于太小.
3. 有一个网友以前提供给我一个.pcx到.bmf的文件, 可惜后来我找不到
了, 因为我打的书, 插图有专人画, 不用我管, 所以我也没再麻烦他要了.
使用该文件会简单很多, 不一定要求是2色的图象了. 就用不着麻烦地使
用wingif了.

问题: 我打矩阵时, 发现矩阵(使用array环境)的行距特别小,
显得很挤, 有什么办法么?

回答: 最简单的方法是来个空行, 多打个\\.
另外, 大家都知道修改行间距可以改: \baselineskip <距离>
或\renewcommand{\baselinestretch}{<实数>}来达到目的.
而修改array的行距也有相应于后者的语句:
\renewcommand{\arraystretch}{<实数>}
该数是1.0时, 是缺省情况; 如果是1.5, 则间距为原来的1.5倍.

注: 1.不过我试了一下, 发现对一般的array很有效, 但对于复杂的array,
比如说矩阵每一项都有分子分母, 然后用的\displaystyle的, 就
显得效果不大.
2.array中, 列间的间距是\arraycolsep, 这个我没试过.

问题: LaTeX的连字符, 连数符, 破折号; 单引号, 双引号.

回答: LaTeX的连字符, 用 - , 如"X-ray";
连数符, 用 -- , 如"1--2";
破折号, 用 --- ;
这三者分别从短到长. 这些符号前后一般都无空格.

单引号: 用 ` 和 ' 表示两个方向的单引号.
双引号: 用 `` 和 '' (两个单引号连在一起)表示.
" 只产生一个方向的双引号.

注: 在数学环境中, 任何 - 都表示减号.

问题:LaTeX 如何生成目录

回答:1.最好自己定义目录形式,美观方便,下面是偶定义的几个,你不妨试试
\def\mlA#1#2#3{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm}
{\protect\hspace*{-1 true cm}{#1}\quad{#2}~\dotfill~}
\hbox to1.0 true cm{~(\hss#3\hss)}\vspace{2mm}}
\def\mlB#1#2#3{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm}
{\protect\hspace*{-1 true cm}{#1}~\dotfill~\hbox{#2}}
\hbox to1.0 true cm{~(\hss#3\hss)}\vspace{2mm}}
\def\mlC#1#2{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm}
{\protect\hspace*{-1 true cm}\quad{#1}~\dotfill~}
\hbox to1.0 true cm{~(\hss#2\hss)}\vspace{2mm}}
\def\mlD#1#2{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm}
{\protect\hspace*{-1 true cm}\quad{#1}~\hfill~}
\hbox to1.0 true cm{~(\hss#2\hss)}\vspace{2mm}}
2.使用方法如下:
\mlA{title}{author}{page no.}
效果: title author ......................... (page no.)
\mlB{title}{author}{page no.}
效果: title .......................... author (page no.)
\mlC{title}{page no.}
效果: title ......................... (page no.)
\mlD{title}{page no.}
效果: title (page no.)

问题: 如何把某种图形文件(如jpg,gif等)插到tex或ctx文件中?
图形文件(如jpg,gif等)转成ps文件后如何插到tex或ctx文件中?

回答:最好先转为ps文件. pdftex和dvipdfm支持jpeg, gif不行.
\usepackage{graphicx}
\begin{document}
...
\includegraphics{your.ps}
...
\end{document}

问题:LaTeX中如何使公式编号具有(1.2)这种格式?

回答:It is default style in book. In article style,
use the following command
\documentclass{article}
\usepackage{amsmath}
\numberwithin{equation}{section}
\begin{document}
\section{my section}
\begin{equation}
x^2+y^2=1
\bend{equation}
....
\end[document}

问题:TeX问题:如何自定义数学函数

回答:Try
\def\myfun#1#2#3#4%
{\mathrel{\mathop{\mathrm #1}\limits_{#2}^{#3}#4}}
\begin{document}
...
$\myfun{simfun}{x<0}{y>0}{x^2+y^2}$
...
\end{document}

问题:tex中花体字母N怎么输入?

回答:不是花体字母N, 是标准的 $N$. 要用花体的话, $\mathcal {N}$

问题:在LaTeX中怎样生成双线的方括号?哪儿有stmaryrd

回答:ftp://159.226.47.19/pub/TeX/Package/latex/contrib/other/misc/

问题:请问如何把word文档转换成latex的格式?

回答:用mathtype4.0, 双击公式可打开公式编辑器,
设定菜单Preferences->Translaters
Translate to another launguage:
选latex2.09 and later
uncheck 'include translater name' and 'include mathtype data'
选中整个公式,^c, 到notepad里面^V就行了
我现在就这么干的。 不过熟悉之后,直接敲tex公式也不慢。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:【LaTeX教程】LaTeX命令速查手册6 | 猎微网

评论已关闭!