一点一点学Latex(section1)

标签: Latex
2014-02-16 13:38 4141人阅读 评论(7) 收藏 举报
 分类:
【Latex】(12) 

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/chichoxian/article/details/19248831

目录(?)[+]

前面几天学习了使用Latex的中的Beamer类来制作幻灯片,当然还没有完结,最近一直在研究当中。现在回过头来写一些基础知识。

我学习的时候比较喜欢细致一些的学习,这样掌握起来比较牢靠,也便于理解。网上有一本93分钟学会Latex,对我来说可能太粗糙了,刚开始学的时候就遇到很多麻烦。

所以现在写blog也尽量把每一个步骤都写清楚。如果有什么问题的话,您可以随时联系我,我会及时给你回复,我不能回答的问题也会和你一起讨论的。

1.初识Latex

Latex是一种基于Tex的文档排版系统。Tex的发明有一个很有传奇色彩的故事,大家可以百度一下,如果您感兴趣的话。

要先学习Latex,我们需要下载一个Ctex的套件。

Ctex的下载地址:http://kuai.xunlei.com/d/EGJNLIGKXSGQ

http://www.ctex.org/CTeXDownload

点击安装好之后我们就可以开始使用Latex来编写我们的第一份Latex的文档了。

在以后的文章中我们都选用Ctex文件下的MikTex中的Texwork工具

Latex的代码编辑器有很多,大致可以分为两类:一类是主要为Tex/Latex 代码编辑二专门设计的编辑器,二是可以为Tex/Latex代码编辑器配置或者安装的通用代码编辑器。前者如WinEdt、Texworks、TexMaker、Kile后者如Emacs、VIM、EclipseSciTe等等。

为了使代码看起来更舒服我们可能需要手动设置一下Latex的编译环境,选择Texwork菜单栏上的第二个按钮编辑,在里面找到首选项,之后我们点击编辑器就可以对代码的

字号,字体设置,为了编程的方便我们可以把代码设置成高亮显示。这个时候可以如图选择高亮代码显示。点击小勾即可。

以上的准备工作都做好了之后我们还是老习惯,讲一个简单的例子,让大家都可以快速的上手Latex之后再深入的讲下去。

首先,我们先点开Texworks就可以看到如上图所示的一个界面,我们先对界面有一个大体的了解,其实它和一般的Windows的很多窗口都差不多,我们选择的编译工具就是pdfLatex

这个时候你只需要往文本框中输入内容在点击绿色的按钮便可以运行处结果。

如果我们要运行如下图所示的效果:

图1 简单的例子

代码如下所示:

[plain] view plaincopy
  1. \documentclass{article}
  2. \begin{document}
  3. Hello,this is my first \LaTeX document.\\
  4. I love Android.
  5. \end{document}

运行上述的代码就可以得到。

首先我们先来讲解一下上述的这个代码片段是什么意思,可以看出由\开头的这些并没有在我们最终的文档中显示出来。我们可以理解成这些内容都是起“控制”作用的。

首先我们将我们需要写的每一份东西都看成是一个文档。每一份文档可能有很多类型。例如我们在用Beamer制作幻灯片(卷一 基本架构篇)这篇文章中说到的

文档就是Beamer类的。在这里class有类的意思,它指出了我们的文档类型是article在\begin{document}和\end{document}这两个之间的就是我们所要编写的一些文章的主要内容了。

这里有一个小技巧,我们可以使用Tab键来快速输入比如我们输入了\begin{doc这个时候我们点击Tab键就可以补齐后面的所有内容了。

还有一个地方是需呀注意的那就是我们输出Latex的时候时,LaTex一定是大小写相间的否则就会出错,前面不要忘记加\.

这个就是我们写文章的大体框架了。是不是觉得用Latex也是件很容易的事情了呢。你可以把这个文档换成中文试试,看看是不是可以运行出你想要的结果呢?

发现运行不了了吧,原本Tex就是支持英文的,在中文方面呢我们需要换一些小的地方才可以运行。

改换候的代码如下所示:

[plain] view plaincopy
  1. \documentclass[UTF8]{ctexart}
  2. \begin{document}
  3. 我的第一份文档。
  4. \end{document}

点击一下运行按钮,你就可以发现已经可以成功的运行出结果啦。

在这里我们使用的是Texwork这里我们要选择的默认编码是UTF8类型的。之后把article改成ctexart。因为article是用来编辑英文文章的。ctexart才是用来编辑中文文章的。你可以这样记忆。C-代表的英文单词Chinese,tex不用解释了吧,art-代表的是article的前三个字母。这个时候我们就可以理解为中文的tex文章。就是ctexart了。

学会了写“helloworld”我们开始学一些复杂一点的东西。
下面举一个复杂的例子,如下面的代码所示:

[plain] view plaincopy
  1. \documentclass[UTF8]{ctexart}
  2. \begin{document}
  3. \section{第一节}
  4. 对于一个一元二次等式:$ax^2+bx+c=0$我们可以使用上一次介绍的分解因式的方法来求解,但是很多情况下是不可以使用的。对于
  5. 一元二次等式的求解方法我们现在就可以引出一个通用的公式。
  6. 首先先要计算$\Delta=b^2-4ac$\\
  7. 之后再判断$\Delta$时候到大于等于0;
  8. 如果大于等于0我们这判断其有解
  9. \[
  10. x_{1,2}=\frac{-b \pm \sqrt{b^2-4ac}}{2a}
  11. \]
  12. \section{第二节}
  13. 这是一个简单的排版
  14. \end{document}

这个时候得出的排版如下图所示:


从上图中我们是不是就可以看出Latex排版的厉害了吧。尤其是数学公式的排版,比起使用word是不是要快很多呢

能够很爽的运行处一个例子有没有大大的加强你学习的信心呢。那我们我抓紧时间开始学习吧。

2.目录设置

一般一个文档一般会需要一个目录,我们使用\tableofcontents来产生一个目录

如下图所示的样子

实现这个的效果的代码如下所示:

[plain] view plaincopy
  1. \documentclass[UTF8]{ctexart}
  2. \begin{document}
  3. \tableofcontents
  4. \part{作品介绍}
  5. \section{背景与意义}
  6. \subsection{Android崛起}
  7. \subsection{Android安全机制缺陷}
  8. \subsection{Android安全威胁井喷}
  9. \section{作品特色}
  10. \section{应用前景}
  11. \section{相关工作}
  12. \part{实现方案}
  13. \section{系统架构}
  14. \section{软件特征分类}
  15. \subsection{静态特征}
  16. \subsection{动态特征}
  17. \section{Android系统层次结构}
  18. \end{document}

这个和之前在用Beamer制作幻灯片(卷一 基本架构篇)第三节说的其实是一样的。我们可以将文章分成一个大的部分\part在每一个part部分里又有很多节(section)在section里又有子节(subsection)

注意输出的时候一定要使用\tableofcontents命令。这个命令被放在文档的开头,因为我们一般在文档的开头显示目录。

3.封面设置

当然,文档还有一个封面,以及题目。我们使用\maketitle命令来输出。由于这个封面是在目录的前面,因为我们应该把这个命令放在目录的前面抒写。

我们现在就来制作一个目录,其中大部分的内容和我们之前再讲幻灯片制作的时候用到的命令是差不多的。只不过在幻灯片里面我们使用输出的用pagetitle命令而不是maketitle命令。

如图我们需要在目录前输入一些作者信息,标题之类的


下面是这个代码的结构

[plain] view plaincopy
  1. %-*- paiban.tex -*-
  2. %-*- coding:UTF-8 -*-
  3. \documentclass[UTF8]{ctexart}
  4. \title{Android安全分析}
  5. \author{绿柚子}
  6. \date{\today}
  7. %以%开头的是注释
  8. %上面部分是导言区部分
  9. \begin{document}
  10. \maketitle
  11. \tableofcontents

首先我们先要声明一下其中以%开头的是注释的部分。是不被编译器所识别的。在\begin{document}之前的部分是属于导言区的部分,我们需要添加的封面的标题作者信息之类的都把它写在这个部分,之后我们在正文中使用maketitle命令将他们输出就好。\title{}是输入标题的意思。里面写入你的文章标题,author顾名思义,就是作者的意思,之后的是日期,其实默认的就是当前的日期。

在大体的框架打好之后我们就可以填写正文了。填写正文比较简单,有几个部分你需要注意一下开头可以不要缩进,因为文档会默认缩进的。每一段都需要空一行在写。如果在文中遇见%我们需哟在前面加\

填写的时候就在section以及subsection中填写就可以了。

排版出来一个效果如下图所示:

大概额样子已经有了,但是还是有很多的细节需要我们注意的。比如打印出来的纸张,页边距等问题都是需要我们考虑的问题。

当然,一篇文章我们还需要的就是摘要。使用摘要我们需要使用的命令就是\begin{abstract} ...\end{abstrac}可以把它放在maketitle的后面这个时候仿照填写正文的方法就可以把想要的文字输出来了。

4.命令和环境

如果我们需要实现脚注的话如下图所示:

我们需要使用到\footnote命令,的到PDA\footnote{个人数字助理,Personal Digital Assistant}

便可以实现上述的效果了。

如果是要引用的话使用\begin{quote}\end{quote}命令即可

当然为了使得引用达到我们预计的效果我们需要增加一些额外的东西,自己为其设置环境

[plain] view plaincopy
  1. \begin{quote}
  2. \zihao{-5}\kaishu 引用的内容
  3. \end{quote}

通过上面的这些代码我们都可以发现他们是\begin{}...\end{}的形式作用的范围就是begin和end之间的。他们不会影响其他的内容形式,我们将这样的形式 叫做Latex的环境(environment)。

从上面我们可以看出,其最大的分组就是document。

在Latex中,环境(environment)的一般格式是:

其有可选参数和参数,其形式如下所示:

\begin{(环境名)}[(可选参数)](其他参数)

(环境内容)

\end{(环境名)}

前面的这些都是没有参数的在之

一点一点学Latex(section1)相关推荐

  1. 代码敲慢一点,学得会快一点

    web前端教程 用大白话,来讲编程 有一段时间没写过原创文章了,前段时间有一些东西想和大家分享,主要是一些招人面试过程中的一些建议或者笑料,没有时间整理成文章,只在微信朋友圈发了一下和大家分享,下一篇 ...

  2. 一点一点学ASP.NET之基础概念——委托

    委托的概念 委托实际上是类(一个貌似函数一样的类),我们已经使用函数指针很多年了--函数指针也被称为过程类型,但是它们的实现都不是类.它们是单独的函数指针的简单实例.委托是包含这些功能的类,委托类通过 ...

  3. 一点一点学ASP.NET之基础概念——HttpModule

    原文地址为: 一点一点学ASP.NET之基础概念--HttpModule HttpModule -- 一点一点学ASP.NET 文野: 2006 年 8 月 9 日 星期三 上一篇:一点一点学ASP. ...

  4. 黑马程序员—时间一点一点的过去+技术一点一点的增长=成功就业

    文章来源:黑马程序员,黑马论坛       前天刚刚面试完.分数没有达到预想的水平..哎.       黑友们.我想你们有好多肯定学历都是很低.而且也都是零基础吧?对不对?       我先做一下自我 ...

  5. 一点一点看JDK源码(五)java.util.ArrayList 后篇之forEach

    一点一点看JDK源码(五)java.util.ArrayList 后篇之forEach liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 代 ...

  6. 一点一点看JDK源码(四)java.util.ArrayList 中篇

    一点一点看JDK源码(四)java.util.ArrayList 中篇 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.综述 在前篇中 ...

  7. 一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate

    一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点 ...

  8. 一点一点看JDK源码(二)java.util.List

    一点一点看JDK源码(二)java.util.List liuyuhang原创,未经允许进制转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.综述 List译为表,一览表, ...

  9. 速学Latex之数学公式编辑

    速学Latex之数学公式编辑 目录 1.前言 2.基本运算 3.数字符号 4.二元关系符 5.二元运算符 6.箭头 7.定界符 8.其它符号 9.AMS符号 前言   大家生活中通常都是使用简单方便的 ...

最新文章

  1. nfc reader 卡密_红外NFC+50倍变焦,一款被严重低估的王牌?
  2. 如何用 css 画一个心形
  3. Way to configure the logon navigaion layouts via Business Roles in CRM
  4. sql语句使用foreach报错
  5. 《零基础看得懂的C语言入门教程 》——(四)C语言的基本数据类型及变量
  6. Python数据结构与算法(一)--算法和时间复杂度
  7. Flask - 基础
  8. 高并发下如何生成唯一订单号?
  9. Vue.js 服务器端渲染指南
  10. java mencoder_mencoder java linux
  11. Shiro保姆级教程
  12. input文本框隐藏边框
  13. 文科专业考计算机专业研究生,跨专业文科生考计算机研究生的经验
  14. OpenShift免费空间申请使用教程
  15. 项目2:数据可视化(五)绘制世界人口地图
  16. scala 上界 <:, 下界>:, 视界 <%, 边界 :, 协变 +T, 逆变-T
  17. 关于共享单车乱摆放问题的调研报告
  18. android 百度导航 过路费,高德地图和百度地图规划路线不一样,且过路费也有差别如何选择?...
  19. bio 生信博主网站 blog
  20. php的注册头像上传,用Ajax实现注册与头像上传功能

热门文章

  1. CCF A类 B类 C类 中国计算机学会推荐中文科技期刊目录【迷惑了好久】
  2. Settings数据在手机中的位置
  3. 在linux下vcd光盘提取,Linux下抓取Vcd视频文件的方法
  4. 企业IM软件的几种选择
  5. php操作数据库的五个步骤,请写出PHP操作数据库的五个步骤
  6. 准备五一最后的司马台-金山岭之旅
  7. 解决系统在大数据情况下如何导出文件(附代码)
  8. Linux中part指令,10 个鲜为人知的 Linux 命令 - Part 2
  9. 酷狗音乐鸿蒙os,酷狗音乐鸿蒙OS
  10. 【SAP S/4 1511之变】:主数据之变