linpandr的个人博客分享 http://blog.sciencenet.cn/u/linpandr

博文

TeX 使用指南

已有 15615 次阅读 2009-1-8 19:05 |个人分类:未分类|系统分类:科研笔记| 使用指南

TeX 使用指南

常见问题(一)

1.makeatletter 和 makeatother 的用法?

答:如果需要借助于内部有@字符的命令,如@addtoreset,就需要借助于另两个命令
makeatletter, makeatother。

下面给出使用范例,用它可以实现公式编号与节号的关联。
begin{verbatim}
documentclass{article}
...
makeatletter % '@' is now a normal "letter" for TeX
renewcommandtheequation{thesection.arabic{equation}}
@addtoreset{equation}{section}
makeatother % '@' is restored as a "non-letter" character for TeX
begin{document}
...
end{verbatim}

2.比较一下CCT与CJK的优缺点?

答:根据王磊的经验, CJK 比 CCT 的优越之处有以下几点:
1) 字体定义采用 LaTeX NFSS 标准,生成的 DVI 文件不必像 CCT 那样需要用 patchdvi 处理后才能预览和打印。而且一般 GB 编码的文件也不必进行预处理就可直接用 latex 编译。
2) 可使用多种 TrueType 字体和 Type1 字体,生成的 PDF 文件更清楚、漂亮。
3) 能同时在文章中使用多种编码的文字,如中文简体、繁体、日文、韩文等。

当然,CCT 在一些细节上,如字体可用中文字号,字距、段首缩进等。毕竟 CJK 是老外作的吗。

谈到 MikTeX 和 fpTeX, 应该说谈不上谁好谁坏,主要看个人的喜好了。 MikTeX 比较小,不如 fpTeX 里提供的 TeX 工具,宏包全,但一般的情况也足够了。而且 Yap 比 windvi 要好用。fpTeX 是 teTeX 的 Windows 实现,可以说各种 TeX 的有关软件基本上都包括在内。


3.中文套装中如何加入新的.cls文件?

答:放在tex文件的同一目录下,或者miktex/localtexmf/tex/latex/下的某个子目录下,可以自己建一个。

4.怎样象第几章一样, 将参考文献也加到目录?

答:在参考文献部分加入
addcontentsline{toc}{chapter}{参考文献}
语句即可

5.对于A4的纸型参数,如何使PDFLaTeX按照指定的letter输出?

答:设置参数letterpaper usepackage[letterpaper]{geometry}

6.如何改变题注或脚注的标号?

答:重新定义maketitle或者直接修改article.cls中的“renewcommandthefootnote@fnsymbolc@footnote}%”这句话。

7.怎么给CJKnumber付初值?

答:计数器都是这样赋值的 setcounter{CJKnumber}{value}

8.怎样才能使Winedt错误关联?

答:"C:?????winedtwinedt.exe" "[Open('%f');SelLine(%l,8)]"

9.如何改变Reference的大小?

答:renewcommandrefname{begin{CJK*}{GB}{song}small参考文献end{CJK*}}

10.如何拷贝PDF和PS文件中的图片?

答: Adobe Acrobat中有专门的命令-“文件”-“导出”-“提取图象为”。。。当然用选中区域再拷贝的方法也可以。实际上ps文件本身就可以被不少的图像处理软件打开,然后就可以直接转换了。对于不支持ps文件的图像处理软件,则可以把ps文件转存为eps文件,eps文件几乎可以被所有的图像/图形处理软件打开。

11.在左边列出输入的命令,在右边列出输出的排印结果,应该用什么命令?

答:分栏,然后用
begin{verbatim}
Text
end{verbatim}

如果做成表格形式,用verb=Text=

12.如何用数字而非特定符号分段落?

答:用enumerate

13.如何在参考文献加入脚注?

答:例如

begin{thebibliography}{0}

bibitem{companion} M.~Goossens, F.~Millelbach, and A.~Samarin, ``The
LaTeX Companion'', Addison--Wesley, 1994 footnote{test of footnote}

end{thebibliography}


14.如何在章节、标题上加脚注?

答:使用protectfootnote{....}命令,也可用usepackage[stable]{footmisc}

15.正文中实现单栏到双栏,双栏到单栏的版式的混排,而且不换页,请问如何实现? 答:usepackage{multicol}

begin{document}

...

begin{multicol}{2}
end{multicol}

...

end{document}

16.辅助的Package放到哪个目录下?

答:不过非 miktex 自带的包最好放在 localtexmf 下,这样以后升级的时候方便些。

17.如何用fancyhdr宏包实现在页眉下画一粗一细两条横线?

答:试试下面的命令: usepackage{fancyhdr}

newcommand{makeheadrule}{%

makebox[0pt][l]{rule[.7baselineskip]{headwidth}{0.8pt}}%

rule[.6baselineskip]{headwidth}{0.4pt}vskip-.8baselineskip}

makeatletter renewcommand{headrule}{%

{if@fancyplainletheadrulewidthplainheadrulewidthfi makeheadrule}}makeatother

begin{document}

pagestyle{fancy}

....

end{document}

18.能不能改变Chapter 起始页码仅从奇数页开始?

答:用 documentclass[openany]{book} 让 chapter 可以从任何页面开始。

19.如何在文中实现带圈的数字?

答:1)使用textcircled{}命令,后面的参数可以是一个字符或者汉字(配合CJK),甚至也可以是公式,但是它只会给第一个字符或者汉字加上 > 合适的圆圈,字体放缩命令对它也有效,因此可以利用这点实现两个字符加圈的效果,但是需要仔细的调整尺寸,参考如下命令: > Large{textcircled{small{12}}}、textcircled{九}。

2)使用pifont宏包,那里面有很漂亮的带圈的各种数字符号(仅限于阿拉伯数字,如果想使用加圈的中文“一”至“九”就不行了)。在.tex > 文件中尝试下列命令:ding{172}~ding{211}。

3)在GB和GBK字库中本来就有10个加圈数字形式,可以直接在CJK中使用。如果不超过11的话应该够用了呵呵:①②③④⑤⑥⑦⑧⑨⑩,这些汉 > 字可以直接使用数字软键盘输入(以智能ABC输入法为例,其实大部分输入法都是一样的):打开软键盘,选择“数字序号”即可看到。

20.如何产生可变长的 Longrightarrow?

答:用xleftarrow and xrightarrow,例如

[0 xleftarrow[zeta]{alpha}

Ftimestriangle[n-1]

xrightarrow{partial_0alpha(b)}

E^{partial_0b}

]

21.如何在公式中表示上下堆积关系?

答:在latex有一个命令stackre{上部符号}{下部符号},但更好的一个是用宏包amslatex中命令overset和underset。一个例子是

[ overset{*}{X} qquad

underset{*}{X} qquad

overset{a}{underset{b}{X}} ]

常见问题(二)

1。怎样在多栏环境中使用单栏图表?
答:如果你在多栏环境中使用 begin{figure} ... end{figure}, 图形是不会出现的。如果你用另外的命令 begin{figure*} ... end{figure*}, 图形就会超出右边或有页的上边。解决的方法是把下面命令放在 begin{document}前面

makeatletter
newenvironment{tablehere}
{def@captype{table}}
{}

newenvironment{figurehere}
{def@captype{figure}}
{}
makeatother
然后用 figurehere 和 tablehere 在你平常用 figure[h....] 和 table[h...]的地方。
2。怎样得到度(degree)的符号?

答:在begin{document} 前面用 newcommand{grad}{ensuremath{^{circ}}} ,然后你在文中就可用 45grad等等了。

3。怎样得到一个欧元符号?

答:用usepackage{textcomp} 和 texteuro 或 usepackage{marvosym} 和 EUR都可以。

4。当我应用fancyhdr时,我得到了太多'Overfull vbox' 的信息?

答:这是因为缺省的标题空间太小的原因(文本的一行),不能包括fancy标题(1 line of text + 1 rule)。在导言里面加addtolength{headheight}{2.5pt}即可。

5。当我用 fancyhdr时,左边和右边的题有交叉重合?
答:这是因为section 等命令中的文本太长的原因,可用类似"section[short version]{very long version indeed}"来解决问题。

6。怎样从两栏页面中得到单栏的标题和摘要?

答:试试Donald Arseneau的

documentclass{article}
....
begin{document}
twocolumn[
begin{@twocolumnfalse}
maketitle
begin{abstract}
...
end{abstract}
end{@twocolumnfalse}
]

7。怎样改变只有几行文本的页边距?
答:把以下命令放在begin{document}前面
newenvironment{narrow}[2]{%
begin{list}{}{%
setlength{topsep}{0pt}%
setlength{leftmargin}{#1}%
setlength{rightmargin}{#2}%
setlength{listparindent}{parindent}%
setlength{itemindent}{parindent}%
setlength{parsep}{parskip}%
}%
item[]}{end{list}}

然后 begin{narrow}{1.0in}{0.5in} ... end{narrow} 就产生了左边缩小1.0 英寸 和右边缩小 0.5 英寸的效果
8。我的文本在开始时就停止不编译?

答:这是因为每一次文本编译时都有对应的*.aux文件(前一次产生的),所以删去这个文件重新编译即可。

9。在eps上加公式的另一个方法。

答:1)建一个eps图形;

2)在你所想放置的地方写下文本(如公式);

3)在latex文本中用命令 usepackage{psfrag} ;

4)用命令 psfrag{formula}{some text $\sum_1^\infty \int \frac{a^2}{b_i}$ }让latex为做工作。

例如
documentclass[12pt]{article}
usepackage{psfrag}
usepackage{epsfig}

begin{document}
begin{figure}
begin{center}
psfrag{formula1}{some text $\sum_1^\infty \int \frac{a^2}{b_i}$}
psfrag{formula2}{other text $int_0^{frac{a^2}{b}} sqrt{c}$}
epsfig{file=example.eps, width=12cm}
end{center}
caption{The example figure}
label{exampl}
end{figure}
end{document}

10。怎样把一个大表格横向放置?

答:用宏包usepackage{rotating},然后变换
begin{table}
....
end{table}

begin{sidewaystable}
....
end{sidewaystable}

注意这个旋转很可能在你的预览中不会再现。

11。关于itemize。

答: 清单至多有四级

$\bullet$ - \labelitemi
\textbf{ --} - \labelitemii
$\ast$ - \labelitemiii
$\cdot$ - \labelitemiv
你可重新定义
\def{\labelitemi}{$\spadesuit$}
\renewcommand{\labelitemi}{$\spadesuit$}

也可在itemize 环境中\item命令中同时拥有不同的标签

\begin{itemize}
\item[$\heartsuit$] ...
\item[$\diamondsuit$] ...
\item[$\clubsuit$] ...
end{itemize}

数字序列至多四级顺序可显示,如

1,2 ... - enumi
(a), (b) ... - enumii
i,ii,... - enumiii
A., B. ... - enumiv

你也可指明选项,如
begin{enumerate}
item[(1)]
item[(2)] ...
end{enumerate}

12。我怎样重新定义items之间的距离?

答:用miktex2.1中的mdwlist宏包,也可从CTAN的macros/latex/contrib/supported/mdwtools.zip 上下载后。

13。怎样改变行距?

答:用doublespace宏包,参数"coef"是baselinestretch文本中定义数值,则可用命令

begin{spacing}{coef} % coef=2 时双倍行距了
... text
end{spacing}

14。 怎么定义一个定理型环境?

答:用theorem宏包,例子:

newtheorem{howto}{Questions}[section]
theoremstyle{change}
theorembodyfont{itshape}
theoremheaderfont{scshape}
15。怎样在latex中包括一每列的源文件?
答:例如
floatstyle{boxed}
restylefloat{figure}
begin{figure}[hb]
begin{listing}{1}
#i nclude <stdio.h>
int main(int argc, char **argv)
{
int i;
for (i = 0; i < argc; ++i)
printf("argv[%d] = %sn", i, argv[i]);
return 0;
}
end{listing}
caption{A numbered C program}
end{figure}
16。怎样把附录A中的公式序号变为 A.1, A.2, .... B.1, B.2, ...的形式?

答: appendix
makeatletter
renewcommandtheequation{A.@arabicc@equation }
makeatother
setcounter{equation}{0}
或者 renewcommand{theequation}{A.arabic{equation}}
17。怎样把一个 vertatim 放入 verbatim环境中?
答:用fancyvrb宏包定义自己的 verbatim环境。

18。怎样改变主文本中的字体?

答:命令: textnorml;申明: normalfontttfamiliy
19。怎样定义一个命令或申明 ?

答:例如一个命令: newcommand{name}{1]{textsc{#1}}

一个申明: newcommand{name}{1]{{normalfontscshape #1}}
20。怎样合并字体命令?

答: textrm{...} {rmfamily...} roman familiy
textsf{...} {sffamliy...} sans serif family
texttt{...} {ttfamily...} typewritter family
textmd{...} {mdserier...} medium series
textbf{...} {bfseries...} bold series
textup{...} {upshape...} upright shape
textit{...} {itshape...} italic shape
textsl{...} {slshape...} slanted shape
textsc{...} {scshape...} small caps shape
size tiny scriptsize footnotesize small normalsize large
Large LARGE huge Huge
emph{...} {em ...} emphasized
textnormal{...} {normalfont...} document font
21。 怎样在页眉和页脚中划一道横线?

答:用 fancyhdr宏包。

22。怎样改变章节字体(section fonts)?
答:用titlesec宏包,例如

usepackage[nops,sf,small,compact]{titlesec}
23。怎样做一个页面设置?

答: usepackage{fancyhdr}
pagestyle{fancy}
fancyhead{} %clear all fields
fancyhead[RO, LE]{bfseries LaTeXe{} HOWTO}
fancyfoot[LE, RO]{thepage of pageref{LastPage}}
fancyfoot[LO, CE]{}
fancyfoot[CO, RE]{Techical Report}
renewcommand{headrulewidth}{0.4pt}
renewcommand{footrulewidth}{0.4pt}
24。怎样实现"page M of N"的形式?
答:用lastpage宏包,任何时候你都可在文本中用 pageref{LastPage},只是须注意当用了fancyhdr宏包时,lastpage宏包就须在它后面。

25。怎样实现下划线的标题?

答: def@evenhead{makebox[0pt][l]{rule[-0.15cm]{textwidth}{0.1mm}}hbox{}%

textbfthepagehfilleftmark}%

def@oddhead{makebox[0pt][l]{rule[-0.15cm]{textwidth}{0.1mm}}hbox{}%
{rightmark}hfiltextbfthepage}%
26。 怎样把一个浮动对象固定下来?

答:例如
begin{figure}[h]
...
end{figure]
27。怎样定义一个新的浮动 "float" 形式?
答:用float宏包,用newfloat就可定义新的浮动形式,它的语法是:
newfloat{type}{placement}{ext}{within}
- type 是浮动新类型名
- placement 可以是 t, b, p, h 和 H
- ext 是以章节列序的任何图表的后缀名
floatstyle{style}, 其中 style 可以是
- plain, 空白
- boxed, 盒子
- ruled,
floatname{float}{floatname}
定义了浮动标题名,像图的 "Figure" 等等。

restylefloat{float}用于改变图表的标准浮动形式,例如可以
floatstyle{ruled}
restylefloat{table}
一个例子是:
documentclass{article}
usepackage{float, times}
thispagestyle{empty}
floatstyle{ruled}
newfloat{Program}{thp}{lop}[section]
floatstyle{boxed}
newfloat{algorithm}{thp}{loa}
floatname{algorithm}{Algorithm}
begin{document}
section{Let's begin}
This document show some possibilities of texttt{float.sty}
for floating objects.
begin{Program}
begin{verbatim}
#i nclude <stdio.h>
int main(int argc, char **argv)
{
int i;
for (i = 0; i < argc; ++i)
printf("argv[%d] = %sn", i, argv[i]);
return 0;
}
end{verbatim}
caption{A simple C program}
end{Program}
....
end{document}
28。 怎样让文字在一个窄小的浮动图周围?
答:用floatfig宏包,其改进宏包是floatflt宏包。语法是 begin{floatingfigure}[options]{width of figure}
figure contents
end{floatingfigure}
一个例子是:
documentclass{article}
usepackage{floatfig, epsfig}
...bla bla bla
par
begin{floatingfigure}{6cm}
... anything possible in figure environment
end{floatingfigure}
后面的文本将会和浮动图形平行 ,可惜floatfig宏包不是Miktex自带的。


也可用 <wrapfigure> 宏包,语法为

begin{wrapfigure}[nlines]{placement}{width}figure, caption, etc.
end{wrapfigure}
- nlines定义了文本折行为,每一个方程占3行。
- placement水平位置(l,r)
- width图形宽度
一个例子是
begin{wrapfigure}{r}{3in}
begin{boxit}
begin{center} This is a "wrapfigure" end{center}
caption{A wrapfigure example}
end{boxit}
end{wrapfigure}
注意, wrapfigure 是不浮动的,所以它可能和浮动图形的顺序就不一样了,并且它不能在“列表list”中,详见王磊的插图指南。

也可用 picins 宏包,命令是

parpic(width,height)(x-off,y-off)[Options][Position]{Picture}
段落文本
除了 Picture 以外所有的命令都是可选的,详见王磊的插图指南。

29。怎样使图形并列?

答:用subfigure宏包。

一个例子是 begin{figure}
centering
mbox{ subfigure[Big]{includegraphics ...} quad
subfigure[Small]{includegraphics ...} quad
subfigure[Medium]{includegraphics ...} quad }
caption{Three subfigures}
label{fig:subfigures}
end{figure}
30。把一幅 .eps 横向放置后,怎样使标题变为相应的形式?

答: usepackage{rotating}

begin{sidewaysfigure}centering
includegraphics[width=?cm]{*.eps}
caption{...}
end{sidewaysfigure}

常见问题(三)

压缩空间

1。页面设置

a4 会给你一个较小的页面,为了使用更多的控制,可用 geometry宏包和命令 layout 。

2。改变长度

在latex里改变长度的命令是 addtolength 和 setlength。latex可认的是 cm, mm, in 和 pt. 变量可设为负数。一个例子是 addtolength{parindent}{-5mm}

一些有用的变量是:

页面设置
columnsep: 列间距
topmargin: 页眉到页边的距离
topskip: 页眉与正文的距离
textheight: 正文的高度
textwidth: 文本的宽度
oddsidemargin: 奇数页的左面页边距
evensidemargin : 偶数页的左面页边距
段落
parindent: 段落缩进距离
parskip: 段落间的距离
浮动图表
floatsep: 浮动对象之间的距离
textfloatsep: 最后一个浮动对象顶端或第一个浮动对象底端与正文之间的距离
intextsep : 文中浮动顶端与底端所留的距离
dbltextfloatsep 是在双列输出时用 textfloatsep 的数值
dblfloatsep 是在双列输出时用 floatsep 的数值
abovecaptionskip: 标题上方的距离
belowcaptionskip: 标题下方的距离
数学公式
abovedisplayskip: 公式前的距离
belowdisplayskip: 公式后面的距离
arraycolsep: 在一个array中列之间的空白长度
列表
topsep: 第一个item和前面版落间的距离
partopsep: 当在一个新页开始时加到 topsep 的额外空间
itemsep: 连续items之间的距离。
3。环境

宏包 atbeginend.sty 提供了 BeforeBegin{environment}{code-to-execute}, AfterEnd 等等命令。这些命令可去掉环境外面和内部的空间。例如 AfterBegin{itemize}{addtolength{itemsep}{-baselineskip}} 就在环境内以重新设置 itemsep 来压缩items之间的距离 。

mdwlist 宏包有一个 itemize* 环境; paralist 宏包提供了一个item之间距离压缩环境和一个使每个item不在新的一段开始的 inparaenum 环境。

4。图表

为了节约空间,可用 subfigure 宏包把多幅图形放在一人图形环境中,也可用 floatflt 宏包把图形用文本包围起来。

当有图表时, LaTeX 缺省值不会在超过 70% 的页中加文本。这个可有 begin{document}加上

renewcommandfloatpagefraction{.9}
renewcommandtopfraction{.9}
renewcommandbottomfraction{.9}
renewcommandtextfraction{.1}
setcounter{totalnumber}{50}
setcounter{topnumber}{50}
setcounter{bottomnumber}{50}

即可。
另外,可用 caption宏包减少标题尺寸。

对于一个大的表格,可用 setlength{tabcolsep}{1pt}来减少表格的列间距离;也可用resizebox{!}{5cm}{begin{tabular} ... end{tabular}}把整个表格当作一个图形

 

5。标题

一个标题周围的距离是由 parskip, baselineskip等来决定的,要注意的是 LaTeX 宁愿在一页中留下空白,也不愿把一个标题放在此页的底部。如果你要重新定义这些命令,就应该仔细的读一下 titlesec 宏包。

6。文献里面的内容

宏包 mulitoc 可让在单列文本中有一个两列的表格内容存在。

可用 setspace 宏包来减少文献中的行间距离(在文本中也是一个道理)

begin{spacing}{0.9}
tableofcontents
end{spacing}
...

begin{spacing}{0.9}
bibliographystyle{plain}
bibliography{refs}
end{spacing}

如果选用了 natbib 宏包的话(推荐),就可以用 bibsep 来控制items之间的距离。否则就可在导言区里用下面的命令。
letoldthebibliography=thebibliography
letendoldthebibliography=endthebibliography
renewenvironment{thebibliography}[1]{%
begin{oldthebibliography}{#1}%
setlength{parskip}{0ex}%
setlength{itemsep}{0ex}%
}%
{%
end{oldthebibliography}%
}

 

常见问题(四)

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}{displaystylevphantom{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宏包,当选用[p]选项时就行了。

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

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

5、特殊字符

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

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

6、定理结构

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



https://blog.sciencenet.cn/blog-111625-209244.html


下一篇:TEX
收藏 IP: .*| 热度|

1 yuyuswh

发表评论 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-28 12:22

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部