来源: 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宏包(可以根据自己的需要增改):

sudo apt-get install
texlive texlive-math-extra texlive-latex-base
texlive-latex-extra texlive-latex-recommended
texlive-pictures texlive-science latex-beamer
texlive-common texlive-bibtex-extra

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

sudo apt-get install texlive-full latex-beamer

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

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

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

二、生成中文字体包

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

sudo apt-get install fontforge

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

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

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

font.tar.bz2

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

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

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

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

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

for i in *.tfm
do
cat >> song.map << EOF
${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
EOF
done

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

./makemap

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

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

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

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

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

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

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

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

sudo texhash
updmap --enable Map song.map

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

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

\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{song}
你好!这里是Ubuntu下的TexLive+CJK环境!
\end{CJK}
\end{document}

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

pdflatex test.tex
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 中,一个回车表示一个空格,两个回车表示一个分段。
 
通常实践中,我们都是按照下面的模板进行扩充的:

\documentclass[12pt,a4paper]{article}
\usepackage{CJK} %导入CJK宏包
\setlength{\parskip}{10pt} % 设置部分段落间隔
\begin{document}
\begin{CJK*}{GBK}{song} %开始CJK环境
\CJKtilde %重定义"~"
\CJKindent %设置首段缩进 This paper reflects on the history and development of the LaTeX Project Public License (LPPL) .\par %此处为分段 \noindent(此处不首行缩进)In late June, the TUG conference was held in San Francisco to great success. \clearpage
\end{CJK*} %结束CJK环境
\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. 如何将jar包添加到maven本地仓库

    有时候jar包在maven仓库里找不着,那么就需要直接下载jar包,然后添加到本地仓库区. 那么如何添加呢? 如: <dependency> <groupId>com.mide ...

  2. Linux rm的一次误用

    今天在Linux下误用了一次rm -rf,经历惨痛,记录一下. 原因是我删除了一个文件到回收站,然后点错了将home下的所有东西都删到了回收站,然后我又从回收站拷贝回home目录而不是使用恢复,因为h ...

  3. Python mode_r

    f = open("例子.txt",mode="r",encoding="utf-8") print(f.read(5)) # 读取5个字符 ...

  4. 京东Java面试题(二)

    1.set集合从原理上如何保证不重复 1)在往set中添加元素时,如果指定元素不存在,则添加成功.也就是说,如果set中不存在(e==null ? e1==null : e.queals(e1))的元 ...

  5. Android Mokoid Open Source Project hacking

    /***************************************************************************** * Android Mokoid Open ...

  6. [LeetCode&Python] Problem 806. Number of Lines To Write String

    We are to write the letters of a given string S, from left to right into lines. Each line has maximu ...

  7. 网络编程初探--使用UDP协议的简易聊天室

    UDP是一种无连接的传输层协议,提供快速不可靠的服务. 一.发送端 * 创建UDP发送端 * 步骤: * 1.建立UDP的Socket服务 * 2.将要发送的数据封装到数据包中 * 3.通过UDP的s ...

  8. 微信小程序开发过程中出现问题及解答

    1.wx.uploadFile上传图片,控制台抛出错误"uploadFile:fail Error:Hostname/IP doesn't match certificate's altna ...

  9. 数据库备份-SQL Server 维护计划

    SQL Server 维护计划(数据库备份)   公司的项目都需要定期备份,程序备份关掉iis站点复制文件就可以了,难受的地方就是数据库的备份了.服务器上装的大都是英文版,一看见英文,操作都变得小心翼 ...

  10. HTML第二课——css【2】

    请关注公众号:自动化测试实战 现在继续上一节课的内容,看下面代码: <!DOCTYPE html><html><head>    <meta charset= ...