tex是一种文本格式化程序语言,通过使用各种命令,对文本进行排版定义,最后通过编译,生成美观的排版完毕的文档。
同html、css的组合很想,定义元素以及元素的显示属性,按照编写好的文本格式化内容,在浏览器中显示渲染完毕后的网页。
latex是tex的扩充,在tex的基础上又定义了很多宏命令,更易用了。
latex基础格式
documentclass{article} %article也可以换成自定义的格式文件,只需写文件名,不需写后缀。后缀为cls
usepackage{font}
……
egin{document}
section{section-title}
end{document}
换行:用控制命令“\”,或“ ewline”.
分段:用控制命令“par” 或空出一行。
换页:用控制命令“ ewpage”或“clearpage”
特殊控制字符:使用转义符,特殊字符包括#,$, %, &, - ,{, }, ^, ~
行内公式
egin{math} 数学公式 end{math}
简式1: ( 数学公式 )
简式2: $ 数学公式 $
行外公式
egin{displaymath} 数学公式 end{displaymath}
简式1: [ 数学公式 ]
简式2: $$ 数学公式 $$
上标下标
{{a}_{b}^{c}}
label{} 为段落、图片、公式、表格加标签
ef{} 引用段落、图片、公式、表格,自动生成编号
eqref{} 公式引用
mathbf{} 粗体(数学符号)
extbf{} 粗体(文本)
emph{} 斜体强调
注释使用%,注释一行
newcommand和def的区别
1. newcommand:
使用
ewcommand可以自己定制命令
语法格式
ewcommand{yourcommand}[参数个数]{内容}
比如:
ewcommand{wuhao}{fontsize{10.5pt}{10.5pt}selectfont}
用来定义一个选定字号命令,使用时
语句“wuhao 这是五号字”
将会使“这是五号字”的字号变成五号字。
说明fontsize{}{}与selectfont是LaTeX提供的字号控制低级命令,供用户
自己设置字号大小。
fontsize{参数1}{参数1}中参数1为字号大小,参数2为行间距,
只有使用selectfont命令之后,fontzize{}{}的设置才能生效。切记
再比如:
ewcommand{vector}[1]{${#1}_1,{#1}_2,cdots,{#1}_n$}
定义好之后,
vector{a}将会产生下标依次增大的向量a1,a2,...an(其实,在实际显示时,1,2,n
都是下标形式的)
宏命令
定义方法:
ewcommand{cmd}[arg]{def}
其中cmd
为命令名,以开头,区分大小写,可以使用汉字;
arg
为参数个数,最大为9;def
为命令内容,其中可以使用#1
、#2
…#9
的方式使用参数。
ewcommand{mytest}[4]{$#1#4^2+#2#4+#3=0$}
mytest{a}{b}{c}{x}
使用 enewcommand{cmd}[arg]{def} 可以重新定义命令。
2. renewcommand
ewcommand 是定义一个系统不存在的命令,用户为了方便自己可以定义便于自己阅读和使用的命令。如:我把
ewcommand{pi}{oldsymbol{pi}},这样用户可以在正文用pi 输入粗体的pi了。
enewcommand 是重定义一个命令, 我们可以把系统的已有的命令进行重定义。如:
enewcommand
efname{参考文献} 我们可以把系统默认的英文参考文献名修改为中文参考文献名。
3. def
def是TeX命令,与
ewcommand等价,但不会检查是否已经有这条命令
而且def还可以把参数放在模板里
例如def tt#1(#2){......}
调用的时候就可以用 tt...(...)的格式了
4. def 宏 如何取消 如何删除
LaTeX向下兼容TeX的一些命令,def就是一个.熟悉程序设计的人都知道胡乱地定义全局宏的害处.如果适时地删除宏定义,有时候就能够享受到编译器提供的特殊服务了.
比方说我们要写很长很长很长的一个文档,上文里用def定义了一个something,下文里可能需要重新使用这个名字做别的事情,但是害怕忘记重新定义,希望如果没有重新定义的时候,编译器响一个警报.这种时候就需要在合适的地点删除这个宏.
下面两个命令都可以:
letsomethingundefined
letsomethingdonothing
而网上传说的
letsomething
elax
只能空置这个宏,这样的空置的害处是,下文TeX编译器会认为something是定义好的(定义为不做任何事),而不是没有定义的.