LaTex简介?
1、LaTeX 是由美国计算机学家Lamport博士于1985年开发成功的。
2、它是当今世界上最流行和使用最为广泛, 以 TeX 为引擎的高质量格式化排版系统。
3、它构筑在 TeX 的基础之上,并且加进了很多新功能, 使得使用者可以更为方便的利用 TeX 的强大功能。 即使使用者并不是很了解 TeX,也可以在很短的时间内制成高质量的文件。
LaTex有很多发行版,Linux下的发行版为TexLive,本文安装环境为 Ubuntu 14.04.1 64 位系统,软件版本为 TeXLive 2014,更详细的教程请看官方 TeXLive 指南。
安装前准备
下载 TeXLive 2014 镜像文件
下载地址:TeXLive 2014
推荐厦门大学开源软件镜像,下载速度很可观: TEXLive
删除旧版
$ sudo apt-get purge tex-common
安装 Perl::TK 模块
install-tl 是一个 Perl 脚本,要在专家 GUI 模式下安装,需要加入 XFT 支持的 Perl::TK 模块,可用以下方法添加:
$ sudo apt-get install perl-tk
安装主程序
挂载 iso 镜像文件
$ sudo mount -o loop path_to.iso /mnt
$ cd /mnt
启动安装程序
在加入了 XFT 支持的 Perl::TK 模块后,可以用以下方法启动专家 GUI 模式进行安装:
$ sudo ./install-tl -gui
在图形界面中将 Create symlinks in system directories
选项更改为 Yes
,点击 Install TeX Live
开始安装。
配置环境变量
可根据安装结束时的文本提示进行相应的环境变量配置,我在安装时进行了如下配置。
在 ~/.bashrc 和 ~/.profile 文件结尾添加如下代码:
# 自己为texlive配置的环境变量
PATH=/usr/local/texlive/2014/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2014/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2014/texmf-dist/doc/info:$INFOPATH; export INFOPATH
为了配置全局的环境变量,可在 /etc/manpath.config 文件的 # set up PATH to MANPATH mapping. 下添加:
MANPATH_MAP /usr/local/texlive/2014/bin/x86_64-linux /usr/local/texlive/2014/texmf-dist/doc/man
之后注销即可。
注:如果环境变量配置出错导致无法登录,可以参见最下面的Linux配置环境变量后无法登录的解决方案</a>
测试安装是否成功
首先确认你可以执行 tex 程序:
tex --version
TeX 3.14159265 (TeX Live ...)
Copyright ... D.E. Knuth.
...如果你安装了 xetex 包,可以按如下步骤测试它能否访问系统字体(会生成文件,可在无用目录下执行):
xetex opentype-info.tex
This is XeTeX, Version 3.14...
...
Output written on opentype-info.pdf (1 page).
Transcript written on opentype-info.log.如果你收到 “Invalid fontname ‘Latin Modern Roman/ICU’...” 这样的错误信息,就说明需要配置系统才能找到 TEX Live 自带的字体。
XeTEX 和 LuaTEX 的系统字体配置
XeTEX 和 LuaTEX 可以使用任何系统安装的字体,而不只是 TEX 目录树中的那些。它们使用类似但不完全一致的方式实现这一功能。
在 Windows 下 TEX Live 提供的字体会自动为 XeTEX 所用。但如果你在 Unix 兼容的系统中安装了 xetex 软件包,则需要把系统配置一番 XeTEX 才能找到随 TEX Live 安装的那些字体。
要在整个系统中使用 TEX Live 的字体 (假定你有足够的权限),请依照下面的步骤来做:
将 texlive-fontconfig.conf 文件复制到 /etc/fonts/conf.d/09-texlive.conf。
$ sudo cp /usr/local/texlive/2014/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
运行 fc-cache -fsv。
如果你没有足够的权限执行上述操作,或者只需要把 TEX Live 字体提供给你自己,可以这么做:
- 将 texlive-fontconfig.conf 文件复制到 ~/.fonts.conf,其中 ~ 是你的主目录。
- 运行 fc-cache -fv。
此时执行第2步,问题已经解决。
中文字体安装与配置
中文字体安装
先写一个简单的测试 tex 文件。起名为 test.tex
\documentclass[UTF8]{ctexart}
\begin{document}
我爱中国!
\end{document}
然后执行如下命令编译
$ xelatex test.tex
系统会报错,大致信息如下:
! fontspec error: "font-not-found"
! The font "SimSun" cannot be found.
! See the fontspec documentation for further information.
! For immediate help type H
!...............................................
下面就要解决这个问题,错误里说了,"font-not-found"!
首先创建字体文件夹
$ sudo mkdir /usr/share/fonts/winfonts
然后把 Windows 下的六种中意字体复制到该文件夹,比如从Windows的C:/Windows/Fonts下拷贝最常使用的几种字体: msyh.ttf(微软雅黑) simfang.ttf(仿宋) simhei.ttf(黑体) simkai.ttf(楷体) simsun.ttc(宋体),并更改字体权限
$ sudo chmod 644 /usr/share/fonts/winfonts/*
刷新字体库
$ sudo mkfontscale
$ sudo mkfontdir
$ sudo fc-cache -fsv
xeLaTeX 中文字体配置
如果使用 xeLaTeX 的话,需要 xeCJK 宏包的支持,需要修改 /usr/local/texlive/2014/texmf-dist/tex/latex/ctex/fontset 下的 ctex-xecjk-winfonts.def 文件。
下面,打开新的终端,执行如下命令:
$ fc-list :lang=zh-cn
输出大约如下
NSimSun,新宋体:style=Regular
KaiTi,楷 体:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
SimSun,宋体:style=RegularUnibit:style=Regular WenQuanYi Zen Hei,文泉驛正黑,文泉驿正黑:style=Regular
......
下面需要做的就是将 ctex-xecjk-winfonts.def 中的字体名字改成上面四行的行首的内容,注意,要将原文件中的 [SIMKAI.TTF] 中括号同时删去。
重新编译以下,发现成功了。
另外,若想添加 Adobe 字体,设置方法与 Windows 字体大致相同,此处不再赘述。
pdfLaTeX 中文字体配置
在上边添加了 Windows 字体的基础之上可以为 pdfLaTeX 添加中文字体支持
在 /usr/local/texlive/2014/texmf.cnf 文件中设置 OSFONTDIR 变量,即添加如下信息: 自己为pdflatex设置的OSFONTDIR变量指向中文字体文件 OSFONTDIR=/usr/share/fonts/winfonts
论文中正常显示中文
新建一个.tex文件,在文件里面添加下面两句就能正常显示中文了: \usepackage{xeCJK} \setCJKmainfont{STSong}LaTeX 学习文档下载:
[http://download.csdn.net/detail/longerzone/4703133](http://download.csdn.net/detail/longerzone/4703133)Linux 配置环境变量后无法登录的解决方案
Linux 的环境变量读取机制
- 在登陆时,操作系统定制用户环境时读取的第一个文件是 /etc/profile,此文件为系统的每个用户设置环境信息,当用户第一次登陆时,该文件被执行。
- 在登陆时操作系统读取的第二个文件是 /etc/environment,系统在读取用户自己的 profile 前,设置环境文件的环境变量。
- 在登陆时用到的第三个文件是 ~/.profile 文件,每个用户都可使用该文件输入专用于自己使用的 shell 信息,该文件仅仅执行一次。默认情况下,它设置一些环境变量,执行用户的 .bashrc 文件。/etc/bashrc 为每一个运行 bash shell 的用户执行此文件,当 bash shell 被打开时,该文件被读取。
无法登录的原因
由上可知,系统启动时会先读取 /etc/profile,然后读取 /etc/environment,最后才是 ~/.profile 文件,而在 /etc/environment 中也设置有环境变量 PATH,如果你在 ~/.profile 中也设置了环境变量 PATH,那么就会覆盖原来的 /etc/environment 中设置的环境变量 PATH。
因此,~/.profile 文件中的环境变量设置一定不可大意,且在其设置的环境变量中要重新载入之前的环境变量,即添加 $PATH,且以冒号分割。
比如以我安装的 TeXLive 为例,正确的环境变量设置应该为:
PATH=/usr/local/texlive/2014/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2014/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2014/texmf-dist/doc/info:$INFOPATH; export INFOPATH
解决方法一
在登录界面可以通过 Ctrl + Alt + F1~F6
的方式进入命令行,再通过 Ctrl + Alt + F7
的方式进入图形界面。
因此我们可以进入图形界面登录 root 账户,将之前修改的环境变量删除或者更正即可。
注意事项:我们在登录不同的账户时,~ 所对应的目录是不同的,例如 John 用户对应 /home/John/,而 root 用户对应 /root/,因此在以 root 用户登陆时,一定要注意环境变量文件的路径。
解决方法二
若命令行下打开文件乱码,可考虑新建用户并登录,然后以 root 权限修改之前用户的配置文件,关于如何新建用户此处不再赘述。