来源: http://blog.chinaunix.net/u/25605/showart_2100398.html

入门介绍好文:TeX、LaTeX、TeXLive 小结

笔记详情:http://visayafan.com/others/o/latex-lyx.html#sec-14-3

一、安装TexLive+Latex+CJK:

打开终端,安装以下TexLive和常用的一些Latex宏包(可以根据自己的需要增改):

  1. sudo apt-get install
  2. texlive texlive-math-extra texlive-latex-base
  3. texlive-latex-extra texlive-latex-recommended
  4. texlive-pictures texlive-science latex-beamer
  5. texlive-common texlive-bibtex-extra

如果硬盘充裕的话,直接完整安装也可以:

  1. sudo apt-get install texlive-full latex-beamer

安装完后,就可以安装CJK的相关软件包了,如果只需要获得中文支持,那么执行:

  1. sudo apt-get install latex-cjk-chinese ttf-arphic-* hbf-*

否则,建议安装latex-cjk-all以获取完整支持。

二、生成中文字体包

安装好TexLive+CJK以后,还需要安装一个软件──fontforge用于生成字体:

  1. sudo apt-get install fontforge

好了,前面所做的,都是标准的Debian式安装,假如哪天你不需要了,直接remove安装即可。

生成字体前,请自己准备你需要生成的字体文件:simsun.ttc,simhei.ttf(要自己下载,或者从windows C盘里找到)等,这里以simsun.ttc(宋体)为例。

准备好后下载下面这个包,解压到一个地方,如自己的主目录~/font:

  1. font.tar.bz2

然后把simsun.ttc也复制到~/font里去,执行下面的命令生成字体地图:

  1. cd ~/font
  2. time fontforge -script subfonts.pe simsun.ttc song Unicode.sfd

加time是为了计算时间,因为比较耗时,在我的Core 2 Duo T5500下,生成song花了40分钟,生成hei花了24分钟,仅供参考。

字体生成好了,再建立一个描述文件吧。

在~/font下,建立一个makemap文件,内容如下( 没有空格):

  1. for i in *.tfm
  2. do
  3. cat >> song.map << EOF
  4. ${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
  5. EOF
  6. done

然后在终端下执行:chmod +x makemap让文件加上执行权限,最后执行:

  1. ./makemap

再建立一个一个c70song.fd文件:

  1. % This is c70song.fd for CJK package.
  2. % created by Edward G.J. Lee
  3. % modify by Yue Wang
  4. \ProvidesFile{c70song.fd}
  5. \DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}
  6. \DeclareFontShape{C70}{song}{m}{n}{<-> CJK * song}{}
  7. \DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * song}{\CJKbold}
  8. \endinput

好的,相关文件都已生成,开始复制字体使其生效。

执行下面的命令,在你的主目录下生成隐藏的个人Tex配置,如果你哪天不需要了,也可以删除:

  1. mkdir -p ~/.texmf-var/fonts/map/dvips/CJK
  2. mkdir -p ~/.texmf-var/fonts/tfm/CJK/song
  3. mkdir -p ~/.texmf-var/fonts/type1/CJK/song
  4. mkdir -p ~/.texmf-var/tex/latex/CJK/UTF8

建立完这层层叠叠的目录以后,就把刚刚生成的字体复制进去吧。

  1. cp ~/font/song.map ~/.texmf-var/fonts/map/dvips/CJK
  2. cp ~/font/*.tfm ~/.texmf-var/fonts/tfm/CJK/song
  3. cp ~/font/*.pfb ~/.texmf-var/fonts/type1/CJK/song
  4. cp ~/font/c70song.fd ~/.texmf-var/tex/latex/CJK/UTF8

复制完后就执行命令刷新缓存,让它生效:

  1. sudo texhash
  2. updmap --enable Map song.map

假如一切顺序的话, 就测试一下我们安装的song体是否能用吧。

在任意位置编辑这个文件,然后保存为test.tex,支持UTF-8格式:

  1. \documentclass{article}
  2. \usepackage{CJKutf8}
  3. \begin{document}
  4. \begin{CJK}{UTF8}{song}
  5. 你好!这里是Ubuntu下的TexLive+CJK环境!
  6. \end{CJK}
  7. \end{document}

执行分别生成pdf文档和用evince来查看文档:

  1. pdflatex test.tex
  2. evince test.pdf
换行命令
 
\\:换行。
\\[offset]:换行,并且与下一行的行间距为原来行间距+offset。
\newline:与\\相同。
\linebreak:强制换行,与\newline的区别为\linebreak的当前行分散对齐。
 
分段命令
 
\par:分段。
 
分页命令
 
\newpage:分页命令。
\clearpage:和 \newpage 类似。我们在使用 CJK 环境时会加入 \clearpage 在环境末尾。
 
首行缩进
 
最朴实的方法是设置 \parindent 的长度:\setlength{\parindent}{长度},如果想要首行缩进两个汉字距离,则\setlength{\parindent}{2em}。
如果在CJK环境当中,则可以在\begin{CJK}{GBK}{song}后面紧跟 \CJKindent 实现首行缩进。
默认第一段不首行缩进,如果想让第一段首行缩进,则可以使用 \usepackage{indentfirst}。
如果想让某一段不首行缩进,则可以在该段前加上 \noindent。
如果想让整篇文章都首行不缩进,则:\setlength{\parindent}{0pt}
注意:在 LaTeX 中,一个回车表示一个空格,两个回车表示一个分段。
 
通常实践中,我们都是按照下面的模板进行扩充的:

  1. \documentclass[12pt,a4paper]{article}
  2. \usepackage{CJK} %导入CJK宏包
  3. \setlength{\parskip}{10pt} % 设置部分段落间隔
  4. \begin{document}
  5. \begin{CJK*}{GBK}{song} %开始CJK环境
  6. \CJKtilde %重定义"~"
  7. \CJKindent %设置首段缩进
  8.  
  9. This paper reflects on the history and development of the LaTeX Project Public License (LPPL) .\par %此处为分段
  10.  
  11. \noindent(此处不首行缩进)In late June, the TUG conference was held in San Francisco to great success.
  12.  
  13. \clearpage
  14. \end{CJK*} %结束CJK环境
  15. \end{document}
\setlength{\parskip}{10pt}:段落间隔是 \lineskip 和 \parskip 之和,这里设置 \parskip 的值是为了增加段落的间隔。
 
\CJKindent:在 CJK 环境中首行缩进。

在Linux 系统 Latex安装 使用入门教程的更多相关文章

  1. 在Linux系统中安装Tomcat详细教程

    首先在官网下载jdk和Tomcat的压缩包 这里下载jdk-8u241-linux-x64 .tar.gz 和apache-tomcat-8.5.50.tar.gz 然后解压jdk压缩包 tar –z ...

  2. Jmeter(五十三) - 从入门到精通高级篇 - 懒人教你在Linux系统中安装Jmeter(详解教程)

    1.简介 我们绝大多数使用的都是Windows操作系统,因此在Windows系统上安装JMeter已经成了家常便饭,而且安装也相对简单,但是服务器为了安全.灵活小巧,特别是前几年的勒索病毒,现在绝大多 ...

  3. linux系统下安装jdk,mysql,tomcat 和redis 和jedis入门案例

    Day47笔记Linux+redis入门 Day47   知识讲解:Jedis 1.Linux上jdk,mysql,tomcat安装(看着文档安装) 准备工作: 因为JDK,TOMCAT,MYSQL的 ...

  4. Linux 为linux enterprises 6安装图形桌面教程

    为linux enterprises 6安装图形桌面教程 by:授客 QQ:1033553122 安装系统后发现没图形界面,安装Xwindow[为了避免权限不足,以root登录] 步骤1.启动图形界面 ...

  5. 在Linux系统中安装caffe

    学习深度学习已经很久了,但一直没有自己动手安装过caffe,因为工作需要,需要在linux系统中安装caffe,因此,在这里对安装过程进行记录. caffe配置起来比tensorflow更麻烦一些,我 ...

  6. Linux系统下安装Gitlab

    Linux系统下安装Gitlab 一.简介 GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目.它拥有与 ...

  7. 2.0 Linux系统的安装之Fedora安装单系统(2)

    2.0 Linux系统的安装之Fedora安装单系统(2) *Linux系统的安装之Fedora安装单系统 恐怕最好装的系统就是Linux系统了,或者与Windows并列.此篇教程为Fedora的单系 ...

  8. linux php composer安装和使用教程

    linux php composer安装和使用教程建议在linux下 下载后 然后再下载到本地               win上最好别用composer下载速度超级慢 或者根本下不动 项目依赖包 ...

  9. 在虚拟机的Linux系统下安装wineqq

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 本文参考教程:http://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread& ...

随机推荐

  1. <NET CLR via c# 第4版>笔记 第17章 委托

    17.1 初识委托 .net 通过委托来提供回调函数机制. 委托确保回调方法是类型安全的. 委托允许顺序调用多个方法. 17.2 用委托回调静态方法 将方法绑定到委托时,C# 和 CLR 都允许引用类 ...

  2. <NET CLR via c# 第4版>笔记 第16章 数组

    //创建一个一维数组 int[] myIntegers; //声明一个数组引用 myIntegers = new int[100]; //创建含有100个int的数组 //创建一个二维数组 doubl ...

  3. Delphi发布了社区版及Delphi 10.3展望

    http://altd.embarcadero.com/download/radstudio/10.2/delphicbuilder10_2_3__93231.iso,注册机在这里 注册号要自己去申请 ...

  4. SQL之join

    QL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果.我们就需要执行 join. 数据库中的表可通过键将彼此联系起来. ...

  5. jmeter随笔(31)--RandomString和Random函数使用

    在使用jmeter中,用到了一些自带的函数,后面我逐步把自己用到的分享出来,当然这些是比较简单的,也可自己看看英文文档,小怪这里只是结合自己分享. 视频介绍: https://v.qq.com/x/p ...

  6. magento开发中文手册

    Magento开发 第一章 手册简介Introduction 对一个开发人员来说,电子商务开发也许是现今最具创造性的工作.在这个瞬息万变的网络世界,为了保持始终领先竞争对手一步,无论是对你自己还是你的 ...

  7. 2018CCPC女生赛(树上莫队)

    签到题这里久懒得写了. B - 缺失的数据范围 Total Submission(s): 2602    Accepted Submission(s): 559 题意:求最大的N,满足N^a*[log ...

  8. matplotlib-------标记特殊点

    import matplotlib.pyplot as plt import numpy as np def demo_test(): a=np.array([0.15,0.16,0.14,0.17, ...

  9. MySQL--Delete语句别名+LIMIT

    在MySQL中,可以使用LIMIT来限制删除的数量,但部分写法并不支持LIMIT. LIMIT方式 对于查询: ; 可以转换成: ; 别名方式: ## 使用别名 DELETE T FROM T1 AS ...

  10. statik golang 静态资源嵌入二进制文件工具使用(docker 构建)

      将静态资源打包进二进制文件有好多方便的地方 方便客户演示 代码简单加密 运行方便 statik 就是一款在golang 中用的比较多,nodejs 有一款pkg (oclif 就推荐使用此工具) ...