换了块硬盘折腾了好久。。联想的驱动真坑爹。前情回顾【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/blog/339175058/893715994?bfrom=01020110200

【LaTeX】E喵的LaTeX新手入门教程(2)基础排版相关推荐

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

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

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

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

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

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

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

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

  5. 【我的Latex学习之路】转载自:E喵的LaTeX新手入门教程(1)准备篇

    E喵的LaTeX新手入门教程(1)准备篇 **声明:**本篇博客转载自E喵的LaTeX新手入门教程,具体的出处我也找不到了,网络上好多好多,觉得他写的不错,于是就作为自己入门的教程,摘抄至此,重新排版 ...

  6. 想学python都要下载什么软件-学编程闲余时间建议下载的软件_Python新手入门教程...

    原标题:学编程闲余时间建议下载的软件_Python新手入门教程 Python新手入门教程_在手机上就能学习编程的软件 很多小伙伴会问:我在学编程,想利用坐地铁坐公交吃饭间隙学编程,在手机上能学编程的软 ...

  7. 编程入门python语言是多大孩子学的-不学点编程,将来怎么给孩子辅导作业―Python新手入门教程...

    为了填满AI时代的人才缺口,编程语言教育都从娃娃抓起了!如果你还不懂Python是什么将来怎么给孩子辅导作业呢? Python新手入门教程 近期,浙江省信息技术课程改革方案出台,Python言语现已断 ...

  8. Windows学习总结(6)——MindManager新手入门教程

    2019独角兽企业重金招聘Python工程师标准>>> MindManager新手入门教程 MindManager是一款创造.管理和交流思想的思维导图软件,其直观清晰的可视化界面和强 ...

  9. ps如何修改图片大小尺寸_PS新手入门教程:学习如何修改画布的大小

    PS新手入门教程:学习如何修改画布的大小.在photoshop中,可以把画布理解为一张白纸,而我们要处理的图像可以理解为这张白纸表面上的画.我们修改画布的大小时,图像并不会随着画布的大小而整体变大或缩 ...

最新文章

  1. 精算模型10 非参数模型0 精算数据、非参数建模的思路概述
  2. Tomcat8.5的【下载、安装、启动、各种问题结局】
  3. 分布式机构 RPC远程过程调用
  4. 本地程序部署服务器上出错
  5. 基于JAVA+Servlet+JSP+MYSQL的旅游酒店机票预订管理系统
  6. 《跟我一起做J2EE版Blog–jPress》4(搭建marven下的Spring和Hibernate)
  7. jquery如何拿到一个对象_jQuery 怎么获取对象
  8. JWT-JSON WEB TOKEN使用详解及注意事项
  9. 用户流量红利消退的下半场,淘宝如何保持高速增长?
  10. SPEA2_Python
  11. python内置数值运算函数有哪几个_Python这68个内置函数,建议你吃透!
  12. java定时器每天执行一次_定时器-每天23:00执行一次
  13. CityEngine制作玻璃材质反光效果
  14. js中文首字母排序(二)
  15. 块存储服务(Cinder)安装配置,这一篇就够了!
  16. Git分支管理规范和解析
  17. 以数字化视角看世界杯,我预测荷兰夺冠
  18. 北京大学计算机专业王腾,王腾-理论与应用地球物理研究所-北大地空学院
  19. VB编程:全局变量控件数组实例简单计算器-12
  20. KDJB1200六相继电保护测试仪

热门文章

  1. 重庆市推进组建区块链数字资产交易所
  2. java 自定义validate_Golang-03 自定义validator,实现java注解功能-Go语言中文社区
  3. key设计 短信验证存redis_Redis存储Key的一种设计实现方式:模式匹配
  4. 布道微服务_04服务的注册与发现
  5. 白话Elasticsearch73_ES生产集群中的索引管理01
  6. 05APR2022 日期格式这样的怎么转换成日期?
  7. mui 解决弹出图片问题
  8. python 链表的基础概念和基础用法
  9. php获取表单$_files,PHP中$_FILES的使用方法及注意事项说明
  10. ROS知识【7】:ubuntu环境如何卸载ROS