转载自:http://blog.renren.com/share/230285536/15235584177
文档框架一个最基本的文档,其内容是这样的:
\documentclass{article}
\begin{document}
XXX is a SB.
\end{document}
这个文档呢其实是分为两部分的:一部分是\begin{document}之前的那部分也就是第一行,这一部分我们称之为导言区。导言区的内容可以不只一行,它的作用是完成文档的基础设定。比如在这个文档中,我们使用了\documentclass{article}来指定这篇文档采用的类型是『文章』。LaTeX为我们内置了一些文档类,它们是一些已经预设好格式的文档模板,针对各种标题、文字格式的预设。LaTeX提供的文档类包括短篇文章用的article类、各种报告用的report类,还有书籍用的book类等等。使用的方法就像上面一样,把article换成别的文档类就可以了。除此之外,TeX系统还包含很多扩展,使得我们可以使用大量的第三方文档类,比如专门用于制作幻灯片的beamer类等。LaTeX文档必须指定一种文档类,因此使用LaTeX最先输入的都是\documentclass这个控制序列。导言区后面就是文档的主体内容了,文档内容包含于\begin{document}和\end{document}之间,在这中间你可以录入各种文档内容。我们将从这个文档开始逐渐扩充文档内容,体验使用LaTeX装13所带来的各种神奇之处吧。SB的成长之路我们先来看一下我们已有的成果:XXX is a SB.段落让我们来继续编辑先前的文档。这个时候你觉得你骂得不够狠,于是加上一行更狠的:
\documentclass{article}
\begin{document}
XXX is a SB.
XXX is a big SB.
\end{document}
XXX ia a SB. XXX is a big SB.
可以看到我们本来的分行被“吃掉”了。这就要说到TeX对于空格和空行的处理了。对于空行和空格,LaTeX是这么干的:
所以我们修正一下代码:
\documentclass{article}
\begin{document}
XXX is a SB.
XXX is a big SB.
\end{document}
XXX ia a SB.
XXX is a big SB.正是由于这个原因,代码
XXX is a big SB.
与代码
XXX
is
a big SB.
\documentclass{article}
\begin{document}
XXX is a SB.
XXX is a \large SB.
\end{document}
XXX ia a SB.
也就是说,\large是一个控制序列,而\large2就是\large控制序列外加输出一个字符2;\*、\_乃至\<空格>都是控制序列,而\**则是\*外加输出一个字符*。控制序列是大小写敏感的,也就是说,\large和\Large是两个不同的控制序列。不信你可以把代码中的\large换成\Large,你会得到一个更大号的SB。调整文字大小刚才我们用到了控制序列\large来让字体变得稍稍大一些。事实上还有一些类似的控制序列,虽然在正式文档中用它们实在是太奇怪了,但是你一定会好奇→_→
\tiny tiny
\small small
\normalsize normalsize
\large large
\Large Large
\huge huge
\Huge Huge
There is a {\huge SB} and a normal SB.
花括号还有很多神奇的用途,比如: { } { }a就可以得到四个空格和一个a。前面说过多个空格会被当成一个空格,而有了花括号君你就可以搞出很多空格了。当然这在正式的文档中似乎也没什么用。小测试(提示:一定要动手试,很坑爹的。)
1. 如果\LaTeX能生成LaTeX标志的话,猜猜是如何生成的。
2. 又是如何生成的?还有其他的文字格式。。粗体斜体什么的都是有的~\bfseries可以使后面的字体加粗,\itshape可以使后面的字变成斜体,\ttfamily可以使后面的字变成等宽字体族,\rmfamily可以使后面的字变成罗马字体族(也就是默认字体)。当然更常用的是局部改变字体形状的控制序列:\textbf{}、\textit{}、\textsl{}←这个才是真·斜体,其实刚才的叫做Italic。。\texttt{}、\textrm{}。这几个控制序列都是支持参数的,因此要把参数加到它们的花括号中。像这样:
\textbf{Bold} text.
这也是正是花括号都君的另一大用法:对于有参数的控制序列,花括号用于向它们传递参数。各种符号君们。。前面提到了\、{}都具有特殊的意义,那么想输出它们怎么办?当然还要靠万能的\啦。。在LaTeX中,这些符号是不能直接输出的:# $ % ^ & _ { } \ 空格。。有了\之后,\#就可以输出#,\$就可以输出$,依次类推。空格是个奇葩,多个空格相当于一个空格,但是用\<空格>就可以再来一个空格了。但是\\不会输出\的,它跟\newline作用一样,顾名思义你懂的。要想得到\的话。。。你需要\textbackslash。所以你要是想在LaTeX中打一段Windows路径的话。。C:\Windows\xxx\yyy\zzz\想想都可怕→_→。好在。。我们有\verb控制序列,可以使它影响范围内的东西不被变成奇怪的东西。用法是这样的:
\verb|C:\xxx\yyy\zzz|
接在\verb后面的第一个符号就被当作分隔符,直到再次遇到这个分隔符之前,所有的文字都不会被转义。所以\verb+C:\xxx\yyy\zzz+效果一样的。这样生成的一定是Typewriter字体族,要想生成默认字体的话。。淡定。。此外,~的获得方法是\~{}。如果你看它不顺眼可以用$\sim$←数学里相似三角形的那个符号'只会单纯地输出右引号’。"也是只会输出右引号”。想要左引号需要`和``来产生左单引号和左双引号。其实''也可以产生右双引号。-产生连字符。--产生短破折号,---产生长破折号。外国人毛病真多→_→偷懒截lshort里的图标题什么的再次回到原来的文档。我们对它稍加改动
\documentclass{article}
\begin{document}
\section{XXX is a SB.}
XXX is a big SB.
\section{mei le}
\end{document}
\section*{节名}
\documentclass{article}
\begin{document}
\tableofcontents
\newpage
\section{XXX is a SB.}
XXX is a big SB.
\section{mei le}
\end{document}
blah blah\footnote{This is zhuang 13.}
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\newpage
\section{XXX is a SB.}
XXX is a big SB.
\section{mei le}
\end{document}
\documentclass{article}
\usepackage[colorlinks=true,
linkcolor=blue
]{hyperref}
\begin{document}
\tableofcontents
\newpage
\section{XXX is a SB.}
XXX is a big SB.
\section{mei le}
\end{document}
\documentclass[landscape]{article}
\begin{itemize}
\item XXX is a big SB.
\item YYY is a big SB.
\item ZZZ is a big SB.
\end{itemize}
-- Can you see it? % No, I can't.
-- Yes, I can.