换了块硬盘折腾了好久。。联想的驱动真坑爹。前情回顾【LaTeX】E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\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的成长之路我们先来看一下我们已有的成果:段落让我们来继续编辑先前的文档。这个时候你觉得你骂得不够狠,于是加上一行更狠的:\documentclass{article}
\begin{document}
XXX is a SB.
XXX is a big SB.
\end{document}但是结果很奇怪:可以看到我们本来的分行被“吃掉”了。这就要说到TeX对于空格和空行的处理了。对于空行和空格,LaTeX是这么干的:

  • 多少空格都跟一个空格没区别。
  • 一个回车的作用等于一个空格。
  • 两个回车可以分段。
  • 多个回车跟两个空行回车没区别。

所以我们修正一下代码:\documentclass{article}
\begin{document}
XXX is a SB.

XXX is a big SB.
\end{document}OK,大功告成。正是由于这个原因,代码XXX is a big SB.与代码XXX
is
a            big SB.所产生的文档是一样的。因此在写文档时,你可以把一个很长的段落分为很多行来写,这对于不支持自动换行的编辑器来说实在是个好功能。控制序列这个时候你觉得这个文档不够具象化,如果一个big SB真的能变成一个大一号的SB就好了。于是,我们可以把文档稍稍改动一下:\documentclass{article}
\begin{document}
XXX is a SB.

XXX is a \large SB.
\end{document}这个时候我们就得到了大一号的SB:这也就是说,符号\绝对是一个化腐朽为神奇的东西。在LaTeX中,以\开头的东西都被叫做控制序列。控制序列的构成有两种形式:

  1. 以\开头,后面接若干个英文字母。
  2. 以\开头,后面接一个非字母的符号。

也就是说,\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{节名}就可以得到一个标题,而且还是自动编号的。LaTeX有许多分级标题:由大到小分别是\part、\chapter、\section、\subsection、\subsubsection、\paragraph、\subparagraph,其中\part和\chapter是只有book文档类才有的哦。如果你不想要编号,可以在它们后面加个*,像这样:\section*{节名}就生成了一个临时不编号的节。好了我们再加点东西:\documentclass{article}
\begin{document}
\tableofcontents
\newpage
\section{XXX is a SB.}

XXX is a big SB.

\section{mei le}

\end{document}然后编译两遍。居然有目录了真是炫酷。。。对你没看错。。一个\tableofcontents目录就来了,全自动哦。。至于\newpage是干啥的。。你懂的。。除了目录之外,简单的交叉引用还有脚注: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}我们再来编译两遍。打开生成的文档,发现目录项外面都多了一圈红框框,你再在目录项上单击一下试试。没错居然支持跳转了。。真是炫酷啊。。我们来看看多了什么:导言区多了一行\usepackage{hyperref}。大概看一下翻译成中文就是“使用包hyperref”这个样子。。LaTeX是支持各种扩展的,哪个用户用着用着不爽就可以写一个宏包(package)来造福后人,只要被你的TeX发行版收录了你就可以用了。就用\usepackage。比如说这个hyperref宏包,它就可以把文档内的各种引用做成超链接,还可以定义pdf文档的各种属性之类的。我们用了这个宏包,就能使用它所提供的各种功能。编写复杂的文档肯定是要用到各种宏包的,因此熟悉一些常用宏包的用法是有必要的,因为有些宏包是需要你“主动”使用其中定义的控制序列的~每个宏包在发布时都会带有自身用法的文档,如果你使用TeX Live发行版,可以这样查看各个宏包的文档:texdoc 宏包名大部分是英文的,嗯。。。可选项虽然我们有了超链接,但是这红框框什么的实在是卖相不足,就算拿来卖萌估计也没什么成效。。所以加点东西让它好看一些好了:\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}再编译两遍。这回不仅没有了红框框,链接颜色也变成蓝色了。我们看到新加的选项被放进了方括号[]中间。方括号的意思就是可选项,如果你不写就可以省略的那种,这是LaTeX宏包所遵循的一般原则。许多宏包都有着很多丰富的选项,都可以使用方括号来进行选择。连\documentclass也是有可选项的。比如我们把第一行换成\documentclass[landscape]{article}页面就横过来了。这些选项可以写在一行里,也可以分很多行。分很多行的目的是装13使代码更美观。很多平常使用的控制序列也是有可选项的。环境如果我们觉得除了XXX之外,YYY和ZZZ也是SB的话呢。。\begin{itemize}
 \item XXX is a big SB.
 \item YYY is a big SB.
 \item ZZZ is a big SB.
\end{itemize}哇又见到久违的begin和end了。。对于这种\begin{...}和\end{...}包围的东西我们称之为环境,花括号里写什么就叫什么环境。itemize就是一种枚举环境:它生成无编号的列表。如果我们把itemize环境变成enumerate环境的话,就生成有编号的列表。大家可以一试。下面列出一些正文中常用的环境及其作用。flushleft:环境中的内容居左。
flushright:环境中的内容居右。
center:环境中的内容居中。
itemize:无编号列表
enumerate:有编号列表
description:带描述列表
quote:引用,使得整段缩进
verse:诗歌专用,\\可以断行,两个空行的分段则生成一个空行。注释什么。。你忘了你写过的某个地方啥意思了?有了注释就不会了。。注释就是LaTeX编译器遇到就会跳过的东西,所以这东西只有你看。用法是一个百分号%,作用范围直到这一行结束。-- Can you see it? % No, I can't.
-- Yes, I can.今天的内容就这些。。东西太多太杂,可能漏了点啥。。下期预告:LaTeX的拿手好戏——数学公式。。

from: http://blog.renren.com/share/230285536/15235584177

【LaTeX】E喵的LaTeX新手入门教程(2)基础排版的更多相关文章

  1. 【LaTeX】E喵的LaTeX新手入门教程(6)中文

    假期玩得有点凶 ._.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的LaTeX新手入门教程(3)数学公式 ...

  2. 【LaTeX】E喵的LaTeX新手入门教程(4)图表

    这里说的不是用LaTeX画图,而是插入已经画好的图片..想看画图可以把滚动条拉到底.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础 ...

  3. 【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织

    这不是最后一篇,明天开始建模所以会从6号开始继续更新.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的La ...

  4. 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...

  5. 【LaTeX】E喵的LaTeX新手入门教程(1)准备篇

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...

  6. 【LaTeX】E喵的LaTeX新手入门教程(3)

    [LaTeX]E喵的LaTeX新手入门教程(3) 数学公式作者: 郭英东.sty 昨天熄灯了真是坑爹.前情回顾 [LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新 ...

  7. 安卓自动化测试(2)Robotium环境搭建与新手入门教程

    Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...

  8. Xorboot-UEFI新手入门教程

    Xorboot-UEFI新手入门教程        Xorboot-UEFI是一款UEFI下轻量级的图形化多系统引导程序,pauly于2014年国庆节期间发布了预览版.搜了下论坛,关于Xorboot- ...

  9. gulp的使用以及Gulp新手入门教程

    Gulp新手入门教程 原文  http://w3ctrain.com/2015/12/22/gulp-for-beginners/ Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭 ...

随机推荐

  1. ios IAP 内购验证

    参考我之前的笔记 苹果内购笔记,在客户端向苹果购买成功之后,我们需要进行二次验证. 二次验证 IOS在沙箱环境下购买成功之后,向苹果进行二次验证,确认用户是否购买成功. 当应用向Apple服务器请求购 ...

  2. (转载)IntelliJ IDEA 自动导入包 快捷方式

    原文地址:IntelliJ IDEA 自动导入包 快捷方式 idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置 设置idea导入包 勾选标注 1 选项,In ...

  3. 深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 关于卷积神经网络CNN,网络和文献中 ...

  4. Jmeter------查看JSON Extractor获取的值

    在接口的使用中,我们会经常用到上个接口response中的值作为下个接口的参数来使用,因此我们为了确保值的正确性,需要知道上个接口返回的值是否正确,因此我们使用到了如下的方法来查看返回值. 1.首先在 ...

  5. 牛客练习赛 29 E 位运算?位运算!(线段树)

    题目链接  牛客练习赛29E 对$20$位分别建立线段树.首先$1$和$2$可以合起来搞(左移右移其实是等效的) 用个lazy标记下.转移的时候加个中间变量. $3$和$4$其实就是区间$01$覆盖操 ...

  6. logging模块介绍

    在我们的实际开发过程中,我们有时候需要记录一些重要操作,或者程序运行情况,我们就需要在程序里面写入日志,来达到更快的排错跟记录重要操作的目的.在Python中logging模块就很好的解决了这个问题, ...

  7. Poj1151&HDU1542 Atlantis(扫描线+线段树)

    题意 给定\(n​\)个矩形\((x_1,y_1,x_2,y_2)​\),求这\(n​\)个矩形的面积并 题解 扫描线裸题,可以不用线段树维护,\(O(n^2)\)是允许的. #include < ...

  8. Codeforces Round #307 (Div. 2) E. GukiZ and GukiZiana(分块)

    E. GukiZ and GukiZiana time limit per test 10 seconds memory limit per test 256 megabytes input stan ...

  9. Spring中的设计模式2

    Spring设计模式分析   工厂模式和单态模式 工厂模式:可以将java对象对象的调用者从被调用者的实现逻辑中分离.调用者只关心被调用者必须满足的某种规则,这种规则我们看做是接口,不必关心实例的具体 ...

  10. 「2018山东一轮集训」 Tree

    为什么出题人这么毒瘤啊??!!一个分块还要带log的题非要出成n<=2*1e5....... 为了卡过最后两个点我做了无数常数优化,包括但不限于:把所有线段树改成 存差分的树状数组:把树剖求LC ...