本教程来自于《Scientific Writing for Computer Science Students》。
一、图和表(figures 、tables)
1、通常的规则
notice:所有的graphs、pictures 和drawings 都被称之为figures。
figures用来说明模型或者结果,而tables是给出总结。通常来说从来不需要过多的figures和tables。不过记得两个规则:
1、所有的figures和tables必须在文本中要被引用(个人:比如见图xx,如果从头到尾都 没有这样的标识,那画出来的图意义何在)。
2、将琐碎的事情表示成figure和table是没有意义的(,例如L一个只包含两行的table)。
如果在文中没有引用到这个figure/table,那么这个figure/table就可以不需要。
避免在几个不同的地方重复相同的数据。需要的是一个具有信息量的table或者figure补充,而不是在文中不断的重复。引用所有的tables/figures,并告诉读者应该关注什么(个人:其实这里也就是需要对图,表的解释,使得别人知道你的图,表想表达什么)。
只讨论table中最具信息价值的项
figure应该很容易被理解,不要放一些不需要的细节进去。
如果两个tables/figures需要被比较,将它们放在相邻的位置上。
2、vector graphics
使用矢量图的工具来画图,不要使用位图(bitmaps)。它们之间有着质量上很大的差距:
位图文件通常有大约30倍大小的差距。
3、标题(captions)
每个table和figure都应该容易的表达信息。在caption中给出一个简短但是清晰的解释或者title。
解释所有特殊的缩写、符号、下划线的特别的使用、破折号等。
在所有的tables中使用相同的风格。如果你在一个table中使用stdev来表示标准差,就不要在另一个table中使用sd。
如果你从其他地方拷贝过来的table或者figure,记得给出引用到原来的来源,并放在caption下面。例如:
”Table 5. Plaa-plaa-plaa. Note. From [ref].”
记得如果这个table或者figure是来自一本书的,加上页数。
4、在latex中的tables和figures
notice:通过数字来引用tables和figures。不要写“the table below”这样的东西。在latex中这些是通过标签来执行的。
tables是封装在 \begin{table} .... \end{table}这样的命令中的。相似的,figure也是封装在 \begin{figure} ... \end{figure} 命令中的。
在table或者figure环境中,你可以为figure/table写caption,并定义一个标签(在caption之后)。
5、表述
当你对figures和tables进行索引的时候,你可以使用下面的表述方式:
The results are summarized/reported in Table 1
The results are represented in
Figure 2 illustrates
In the Figure we observe
The model is given in Figure 7
etc.
注意大写字母
二、列表(lists)
列表都不是独立的对象,他们需要在文中被引用。
只当需要的时候使用列表。例如:
”The main criteria of X are (the following):”
– Criterion 1
– Criterion 2
– ...
Or ”The method consists of five steps:” + a list
如果你只列出了几个项目,那么通常来说你是不需要列表的。当澄清事情的时候才使用列表。
三、chapters和sections的引用
chapters和sections可以很轻松的在latex中引用,甚至你都不知道他们的标号是多少。
你只需要为引用到的chapter定义一个唯一的标签名。
在引用的chapter的开始,你这样写:
\chapter{Conclusions}
\label{concl}
然后当你想引用的时候,你写成:
”The final conclusions are drawn in Chapter \ref{concl}
注意到你可以自己定义标签名,不过记得不要与latex中的保留字冲突。例如 上面的标签可以简单的写成 “c”,但是现在这是很危险的,你可能会在另一个object中发现相同的名字(个人:其实这里的意思和cpp中定义标识符一个道理,不要太简单,也不要意义不明)。
当年你引用chapters或者sections的时候使用有用的表述。
The problem is discussed in Chapter X
We will return to this topic in Section Y
This problem is analyzed in ...
etc.
注意大写字母。
四、算法
在文中只给出主要的算法,并以合适的抽象级别写出来(伪代码)
加上伪代码的注释,并系统的使用它们
简单的方法可以通过步骤列表的方式描述出来。
逻辑和集合的操作在当以一个抽象级别来描述算法的时候是非常有用的
如果你想写更长的算法,将它们插入到一个figure中或者它们自己的环境中。现在他们可以被像tables和figures一样引用了:
”The EM algorithm for probabilistic clustering in given in Alg. 1”
在本课程的后面会介绍如何在latex环境中写算法。
五、例子和定义
1、定义
一个好的定义:
a、解释定义的概念;b、没有循环的表述(where x is defined by y and y by x);
c、如果可能的话,不要通过负面项来表达。(有时候你没法避免. E.g. statistical dependency is defined by statistical independency,because independency can be defined unambiguously.)
d、不要包含不清楚的,模糊的,或者描述性语言,(即,要准确)。
e、只定义那些你需要的(即范围是受约束的)
2、在latex中
在latex中,你可以简单的定义环境,为了以一种综合的方法来写例子或者概念定义。例子或者概念定义都是自动标号的,你可以通过引用他们而不需要知道事实上的标号。
在源文件上面定义 \newtheorem{example}{Example}
在文本中你可以写:
”The problem is demonstrated in the following example:”
\begin{example}
\label{example:bayes}
Write the example here.
\end{example}
在后面当你想要引用这个例子的时候你可以写:
”Let the problem be the same as in Example \ref{example:bayes},...’’
3、引用定义的表述
The definition of ... is the following:
The definition of ... is as follows:
Formally, we define
六、方程
1、如果你不需要方程的标号,那么就可以简单的在两个$中写就行了:
例子:”The prior probability of X is updated by Bayes rule, given new evidence Y :
注意等式后面的句号(上面截图没了,就是个英语的句号就是个小点。)如果这个表示的句子没结束那么方程后面就是逗号了。
:”The dependency is described by equation
where a is sg. and b is sg.”
个人:上面两个是为了说明方程后面该用句号还是逗号的问题。
2、需要方程标号
如果你想要给一个方程一个引用标号,你不得不使用命令 \begin{equation} 和 \end{equation}.
现在这个方程是一数学模式写的,你不需要用$来包含了。如果你想要引用之前某个方程,你需要像上面的例子那样给出一个标号。
3、在方程中的文本
通常你也会需要在一个方程中写文字,为了写这些文字,你需要切换成文本模式 \textrm{text} 。
例子:
会生成下面的: