在Linux 系统 Latex安装 使用入门教程

时间:2024-03-12 18:50:13

来源: 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 2010 conference was held in San Francisco to great success. 
 
\clearpage
\end{CJK*}       %结束CJK环境
\end{document}

 

\setlength{\parskip}{10pt}:段落间隔是 \lineskip 和 \parskip 之和,这里设置 \parskip 的值是为了增加段落的间隔。
 
\CJKindent:在 CJK 环境中首行缩进。