2012-10-30 17:32:15 longerzone 阅读数 11772

一、LaTeX简介

LaTeX(LATEX,音译“拉泰赫”)是一种基于TeX的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。

LaTeX在Windows、Linux、Mac OS上都有发行版:

 

 操作系统 发行版 编辑器
Windows MikTeX TeXnicCenter、WinEdt
Unix/LinuxTeX LiveEmacs、vim、Kile
Mac OSMacTeXTeXShop

   

二、LaTeX 下载安装

首先我们下载TexLive镜像,这是推荐厦门大学开源软件镜像,上面有最新的TexLive 2012 ,下载速度也很可观。
         http://mirrors.xmu.edu.cn/CTAN/systems/texlive/Images/
下面安装TexLive:
#cd Downloads
#su
passwd:
# mount -t  iso9660 -o loop texlive2012-20120701.iso /mnt/
mount: warning: /mnt/ seems to be mounted read-only.
#./install-tl 

三、LaTeX 配置
首先我们从别处拷贝需要的字体,比如从Windows的C:/Windows/Fonts下拷贝最常使用的几种字体:
msyh.ttf(微软雅黑)  simfang.ttf(仿宋)  simhei.ttf(黑体)  simkai.ttf(楷体)  simsun.ttc(宋体)
比如说我们拷贝到Linux的/home/username/Fonts目录下:
接下来打开终端进行配置:


# mkdir /usr/share/fonts/winfonts/
# cp ~/Fonts/msyh.ttf /usr/share/fonts/winfonts/  
# cp ~/Fonts/simfang.ttf /usr/share/fonts/winfonts/ 
# cp ~/Fonts/simhei.ttf /usr/share/fonts/winfonts/ 
# cp ~/Fonts/simkai.ttf /usr/share/fonts/winfonts/ 
# cp ~/Fonts/simsun.ttf /usr/share/fonts/winfonts/ 



如果需要更多的字体,使用同样办法拷贝即可。
拷贝完成之后一定要注意使用chmod给字体权限
# sudo chmod a+x  /usr/share/fonts/winfonts/ 


接下来再进行下列操作
# cd /usr/share/fonts/winfonts/
# mkfontscale  
# mkfontdir  
# fc-cache

以上命令的作用分别是:为X字体创建可裁剪的索引,在一个目录中创建X字体文件的索引,建立字体信息缓存文件。

接下来,使用fc-list 命令查看:
# sudo 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
SimHei,黑体:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
WenQuanYi Zen Hei Mono,文泉驛等寬正黑,文泉驿等宽正黑:style=Regular
WenQuanYi Zen Hei Sharp,文泉驛點陣正黑,文泉驿点阵正黑:style=Regular



最后,咱们根据fc-list命令显示的信息修改文件/usr/local/texlive/2012/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def
# cat /usr/local/texlive/2012/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def

  % ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置,默认为六种中易字体  
  % vim:ft=tex  
    
  \setCJKmainfont[BoldFont={SimHei},ItalicFont={[SIMKAI.TTF]}]
    {SimSun}
    \setCJKsansfont{SimHei}
    \setCJKmonofont{[SIMFANG.TTF]}
      
    \setCJKfamilyfont{zhsong}{SimSun}
    \setCJKfamilyfont{zhhei}{SimHei}
    \setCJKfamilyfont{zhkai}{[SIMKAI.TTF]}
    \setCJKfamilyfont{zhfs}{[SIMFANG.TTF]}
    % \setCJKfamilyfont{zhli}{LiSu}
    % \setCJKfamilyfont{zhyou}{YouYuan}
      
    \newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体
    \newcommand*{\heiti}{\CJKfamily{zhhei}}   % 黑体
    \newcommand*{\kaishu}{\CJKfamily{zhkai}}  % 楷书
    \newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋
    % \newcommand*{\lishu}{\CJKfamily{zhli}}    % 隶书
    % \newcommand*{\youyuan}{\CJKfamily{zhyou}} % 幼圆
      
    \endinput 




咱需要对红色标记的做修改,修改成fc-list上与楷体(或者其他)相关的,我这为KaiTi,有的环境上为KaiTi_GB2312,修改需要根据环境上fc-list打印的信息而定。
修改后,咱再来看看:

# cat /usr/local/texlive/2012/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def

% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置,默认为六种中易字体  
% vim:ft=tex  
  
\setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi}]
  {SimSun}
  \setCJKsansfont{SimHei}
  \setCJKmonofont{[SIMFANG.TTF]}
    
  \setCJKfamilyfont{zhsong}{SimSun}
  \setCJKfamilyfont{zhhei}{SimHei}
  \setCJKfamilyfont{zhkai}{KaiTi}
  \setCJKfamilyfont{zhfs}{[SIMFANG.TTF]}
  % \setCJKfamilyfont{zhli}{LiSu}
  % \setCJKfamilyfont{zhyou}{YouYuan}
    
  \newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体
  \newcommand*{\heiti}{\CJKfamily{zhhei}}   % 黑体
  \newcommand*{\kaishu}{\CJKfamily{zhkai}}  % 楷书
  \newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋
  % \newcommand*{\lishu}{\CJKfamily{zhli}}    % 隶书
  % \newcommand*{\youyuan}{\CJKfamily{zhyou}} % 幼圆
    
  \endinput  


至此,配置完毕。

我在使用xelatex时会有提示,xelatex :command not found 之类的信息,之后通过如下手动配置得以正常使用:
 #vim /etc/bash.bashrc
   在最后添加一行:   PATH=$PATH : /usr/local/texlive/2012/bin/i386-linux/  (这个路径最好一步一步走,使用自动补全找到,不过一般差异为最后,64位机器为x86_64-linux)
  #source /etc/bash.bashrc
之后关闭所有终端,即可!

四、LaTeX学习帮助

LaTeX 学习文档下载:

参考文档
好多年过去了,这篇文章在百度上能搜到好多,但居然找不到我的原文了。
想要再搭建Latex 环境,发现TexLive 2013下载不了了,连厦门大学的镜像站都不通了,折腾了下,补充如下:

镜像下载: https://mirrors.aliyun.com/CTAN/systems/texlive/Images/ (使用阿里云的镜像站,下载TexLive 2017)

安装简单,挂载后直接 ./install-tl 即可,如果遇到“Can't locate Digest/MD5.pm in @INC (@ ...” 告警,使用包管理工具安装 perl-Digest-MD5 即可,如“yum -y install perl-Digest-MD5”。

安装好TexLive 2017后,在准备好的windows fonts 目录下发现mkfontscale 和mkfontdir 都找不到了,但是软件的升级只会让软件更好用,这里我们只需要运行“fc-cache”即可,之后就可以使用“fc-list”查看我们准备的Windows 字体。

# fc-list
/usr/share/fonts/winfonts/simsun.ttc: NSimSun,新宋体:style=Regular
/usr/share/fonts/winfonts/msyh.ttf: Microsoft YaHei,微软雅黑:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/winfonts/simkai.ttf: KaiTi,楷体:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/winfonts/simfang.ttf: FangSong,仿宋:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/winfonts/simsun.ttc: SimSun,宋体:style=Regular
/usr/share/fonts/winfonts/simhei.ttf: SimHei,黑体:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta

然后我们需要修改的windows fonts 字体配置文件为“/usr/local/texlive/2017/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsnew.def”,先做个备份,然后修改如下(目前我使用正常):

     45         \setCJKmainfont
     46           [ BoldFont = SimHei , ItalicFont = KaiTi ] { SimSun }
     47         \setCJKsansfont [ BoldFont = msyhbd\l__ctex_msyh_suffix_tl ] { msyh\l__ctex_msyh_suffix_tl }
     48         \setCJKfamilyfont { zhyahei }
     49           [ BoldFont = msyhbd\l__ctex_msyh_suffix_tl ] { msyh\l__ctex_msyh_suffix_tl }
     50         \ctex_punct_map_family:nn { \CJKsfdefault } { zhyahei }
     51         \ctex_punct_map_bfseries:nn { \CJKsfdefault , zhyahei } { zhyaheib }
     52         \setCJKmonofont { simfang.ttf }
     53         \setCJKfamilyfont { zhkai }  { KaiTi }
     54         \setCJKfamilyfont { zhfs }   { FangSong }
     55         \setCJKfamilyfont { zhsong } { SimSun }
     56         \setCJKfamilyfont { zhhei }  { SimHei }
     57         \setCJKfamilyfont { zhli }   { simli.ttf }
     58         \setCJKfamilyfont { zhyou }  { simyou.ttf }
目前正常使用,如果后续有改动继续保持更新

2016-05-03 04:12:20 adebies 阅读数 14118

Linux环境搭建中文LaTeX排版系统

TeX系统简介

TeX系统最早由Stanford大学教授Donald E. Kunth制成的计算机排版软件系统,大家对他的《The Art of Computer Programming》应该不会陌生。

实际上,TeX的制成正是由于上述的书出版样本,令他不满意,所以激发了他创制了TeX排版系统。正所谓:一个确定性的需求比十所大学更能把握前进的方向。

大家可能经常以据如Word等这类简单排版的所见即所得的软件,或者在Linux中以LibreOffice中的Word这样的软件,来完成文字排版等操作,但是对于论文,书籍这样的文档,比起TeX,Word等这些软件就成了小儿科了。

说了这么多,今天的主题可是在Linux中搭建TeX系统,所以我就不废话了,如有疑惑,可以自己百度。

首先需要准备如下软件包或压缩包:

  • texlive 或 tetex
  • CJK
  • 字体,比如:nsung-tl,nkai-tl (后面的tl应该表示texlive)

下面逐个简单介绍各个包的功能和作用。

1. texlive或tetex

这个包是整个排版系统的主要部分,它是排版系统的核心,texlive和tetex是两个发行版,但是它们实现功能基本相同,大同小异,只要有其中一个即可,下文以texlive为例,当然还有很多实现TeX系统的其他软件。

上述所述的texlive,虽然从理论上说,TeX已经可以完成排版,但是它只包含基本命令,使用起来会非常麻烦,很繁琐,要写更多的代码,这就类似于:在Windows环境里,用纯C写个GUI程序与用MFC写个GUI程序相比较,或者在Linux环境里,用纯C调用xlib的X Windows的API来写GUI程序与调用gtk+或qt(用C++)来写GUI程序。

LaTex同TeX一样,也是texlive的一个组件,Latex主要特色是其自动编号,包括章,节,段落,公式,图表等,这给排版工作带来极大的方便。

2. CJK

原始的LaTex版本是不支持中文这些文字的,它只支持英文,即ASCII字符中小于0x80的字符。为了让LaTex能够支持中文,需要为LaTeX系统添加宏,使得其可以处理中文,而CJK,除了可以处理中文,还可处理日文,韩文,CJK意为Chinese,Japanese,Korean。

3. 字体

仅仅安装了CJK宏包,仍然不能输出中文(编译.tex文件时会输出找不到字体的错误),这些字体中的汉字的标点符号会被当作汉字字体来处理的,不会影响到任何汉字标点符号的表示。字体同宏包一样,以压缩包形式存放。

具体操作步骤

当以上软件包或压缩包都下载好后,首先,安装texlive,使系统具备TeX系统基础环境,如果是首次安装texlive,需要在安装前先安装一个install-tl-unx的包,这个包包含一些Perl脚本,用来设置在安装texlive之前的基本环境条件。

基本的TeX环境制好后,我们需要的LaTeX便就有了,必须需要它。LaTex也可理解为是TeX的拓展,使得TeX系统使用起来更加简单,方便。

把texlive软件安装好后,就是安装CJK宏包了,这是个压缩包,把它解压缩后,依据里面的texmf相对目录,在找到系统中的texmf系统的相对目录,把压缩包解开后的文件一一对应地复制到系统的texmf相对目录下的对应位置。这个texmf系统目录在不同的Linux发行版可能存在差别,我的texmf目录在/usr/share/texmf,还有的系统把它放到/opt/texlive/texmf,甚至/usr/local/share/texmf

CJK宏包复制完毕过后,用texhash命令更新一下,这样刚才复制过去的宏包就可以被TeX系统找到了。(在用texhash时,CJK下的目录及文件会被添加到ls-R的索引文件中)

到这里,基本快大功告成了。但是,没有字体还是不能输出中文字体的,字体文件的安装不同于上述的软件包或压缩包安装,它是直接安装在用户目录的,比如:/home/xxx,安装之后,用户目录会多出一个texmf文件夹,里面包含字体文件的相关数据,因此不要删除它,否则,字体就又没有了。

这里详述一下字体安装,解开字体的压缩包后,终端跳到解开后的压缩包的目录下,可以用ls命令看到有个install.shuninstall.sh

若想安装该字体,只要输入:

./install.sh

即可安装该字体,但不想要这个字体时,只要输入:

./uninstall.sh

这些字体会安装在用户的texmf目录下,无需切换到root用户来安装,而且安装的字体也只对该用户有效。

上面对于软件的安装没有详述,那些步骤都是常规软件安装步骤,在此略过,比如,rpm包用rpm来装,解决依赖项,如果是源代码编译安装,用./configure配置,生成Makefile,再make,再make install来安装,有的有许多选项,自己可以用./configure --help来参考一下,make那两个命令是最基本的,据如make dist/test/pdf/...(实际上,可以在Makefile中查看),普通非软件专业人不知也罢。

相关文件下载地址

install-tl-unx
texlive
clisp
biblatex
CJK
字体文件

注:另外在tug.org站点(TeX User Group)上有很多有用的东西,自己在上面找一下

实例

下面我写的一个代码实验:

\documentclass[10pt]{article}
\usepackage{CJK}
\begin{document}
	\begin{CJK}{UTF8}{nsung}
	这是一个测试 
	\section{章标题}
	这是章的介绍
	\subsection{节的标题}
	这是节的介绍
	\subsubsection{子节的标题}
	这是子节的介绍 \\
	数学公式的测试:\\
	\Huge{$y=2^x+\frac{4}{6^z}$}
	\footnote{这仍然是个测试,一个脚注}
	\end{CJK}
	\end{document}

实验打印出的.dvi文件:

pic_dvi

2017-06-03 14:09:24 serena9636 阅读数 2577

安装超级简单,就两行。

sudo yum install texlive-latex

sudo yum install texmaker

之后运行图形界面

texmaker

下载IEEE LATEX模板
http://www.ieee.org/conferences_events/conferences/publishing/templates.html


随便打开一个,然后查查,再BUILD

2018-01-17 00:00:00 F8qG7f9YD02Pe 阅读数 1038
LaTeX 编辑器一般用在出于学术目的的科学研究文档或书籍的出版,最重要的是,当你需要处理包含众多复杂数学符号的文档时,它能够为你带来方便。
-- Ankush Das

本文导航
编译自 | https://itsfoss.com/LaTeX-editors-linux/ 
 作者 | Ankush Das
 译者 | FSSlc

简介:一旦你克服了 LaTeX 的学习曲线,就没有什么比 LaTeX 更棒了。下面介绍的是针对 Linux 和其他平台的最好的 LaTeX 编辑器。

LaTeX 是什么?

LaTeX[1] 是一个文档制作系统。与纯文本编辑器不同,在 LaTeX 编辑器中你不能只写纯文本,为了组织文档的内容,你还必须使用一些 LaTeX 命令。

LaTeX 示例

LaTeX 编辑器一般用在出于学术目的的科学研究文档或书籍的出版,最重要的是,当你需要处理包含众多复杂数学符号的文档时,它能够为你带来方便。当然,使用 LaTeX 编辑器是很有趣的,但它也并非总是很有用,除非你对所要编写的文档有一些特别的需求。

为什么你应当使用 LaTeX?

好吧,正如我前面所提到的那样,使用 LaTeX 编辑器便意味着你有着特定的需求。为了捣腾 LaTeX 编辑器,并不需要你有一颗极客的头脑。但对于那些使用一般文本编辑器的用户来说,它并不是一个很有效率的解决方法。

假如你正在寻找一款工具来精心制作一篇文档,同时你对花费时间在格式化文本上没有任何兴趣,那么 LaTeX 编辑器或许正是你所寻找的那款工具。在 LaTeX 编辑器中,你只需要指定文档的类型,它便会相应地为你设置好文档的字体种类和大小尺寸。正是基于这个原因,难怪它会被认为是 给作家的最好开源工具[2] 之一。

但请务必注意: LaTeX 编辑器并不是自动化的工具,你必须首先学会一些 LaTeX 命令来让它能够精确地处理文本的格式。

针对 Linux 平台的 10 款最好 LaTeX 编辑器

事先说明一下,以下列表并没有一个明确的先后顺序,序号为 3 的编辑器并不一定比序号为 7 的编辑器优秀。

1、 LyX

LyX[3] 是一个开源的 LaTeX 编辑器,即是说它是网络上可获取到的最好的文档处理引擎之一。LyX 帮助你集中于你的文章,并忘记对单词的格式化,而这些正是每个 LaTeX 编辑器应当做的。LyX 能够让你根据文档的不同,管理不同的文档内容。一旦安装了它,你就可以控制文档中的很多东西了,例如页边距、页眉、页脚、空白、缩进、表格等等。

假如你正忙着精心撰写科学类文档、研究论文或类似的文档,你将会很高兴能够体验到 LyX 的公式编辑器,这也是其特色之一。 LyX 还包括一系列的教程来入门,使得入门没有那么多的麻烦。

2、 Texmaker

Texmaker[4] 被认为是 GNOME 桌面环境下最好的 LaTeX 编辑器之一。它呈现出一个非常好的用户界面,带来了极好的用户体验。它也被称之为最实用的 LaTeX 编辑器之一。假如你经常进行 PDF 的转换,你将发现 TeXmaker 相比其他编辑器更加快速。在你书写的同时,你也可以预览你的文档最终将是什么样子的。同时,你也可以观察到可以很容易地找到所需要的符号。

Texmaker 也提供一个扩展的快捷键支持。你有什么理由不试着使用它呢?

3、 TeXstudio

假如你想要一个这样的 LaTeX 编辑器:它既能为你提供相当不错的自定义功能,又带有一个易用的界面,那么 TeXstudio[5] 便是一个完美的选择。它的 UI 确实很简单,但是不粗糙。 TeXstudio 带有语法高亮,自带一个集成的阅读器,可以让你检查参考文献,同时还带有一些其他的辅助工具。

它同时还支持某些酷炫的功能,例如自动补全,链接覆盖,书签,多游标等等,这使得书写 LaTeX 文档变得比以前更加简单。

TeXstudio 的维护很活跃,对于新手或者高级写作者来说,这使得它成为一个引人注目的选择。

4、 Gummi

Gummi[6] 是一个非常简单的 LaTeX 编辑器,它基于 GTK+ 工具箱。当然,在这个编辑器中你找不到许多华丽的选项,但如果你只想能够立刻着手写作, 那么 Gummi 便是我们给你的推荐。它支持将文档输出为 PDF 格式,支持语法高亮,并帮助你进行某些基础的错误检查。尽管在 GitHub 上它已经不再被活跃地维护,但它仍然工作地很好。

5、 TeXpen

TeXpen[7] 是另一个简洁的 LaTeX 编辑器。它为你提供了自动补全功能。但其用户界面或许不会让你感到印象深刻。假如你对用户界面不在意,又想要一个超级容易的 LaTeX 编辑器,那么 TeXpen 将满足你的需求。同时 TeXpen 还能为你校正或提高在文档中使用的英语语法和表达式。

6、 ShareLaTeX

ShareLaTeX[8] 是一款在线 LaTeX 编辑器。假如你想与某人或某组朋友一同协作进行文档的书写,那么这便是你所需要的。

它提供一个免费方案和几种付费方案。甚至来自哈佛大学和牛津大学的学生也都使用它来进行个人的项目。其免费方案还允许你添加一位协作者。

其付费方案允许你与 GitHub 和 Dropbox 进行同步,并且能够记录完整的文档修改历史。你可以为你的每个方案选择多个协作者。对于学生,它还提供单独的计费方案。

7、 Overleaf

Overleaf[9] 是另一款在线的 LaTeX 编辑器。它与 ShareLaTeX 类似,它为专家和学生提供了不同的计费方案。它也提供了一个免费方案,使用它你可以与 GitHub 同步,检查你的修订历史,或添加多个合作者。

在每个项目中,它对文件的数目有所限制。所以在大多数情况下如果你对 LaTeX 文件非常熟悉,这并不会为你带来不便。

8、 Authorea

Authorea[10] 是一个美妙的在线 LaTeX 编辑器。当然,如果考虑到价格,它可能不是最好的一款。对于免费方案,它有 100 MB 的数据上传限制和每次只能创建一个私有文档。而付费方案则提供更多的额外好处,但如果考虑到价格,它可能不是最便宜的。你应该选择 Authorea 的唯一原因应该是因为其用户界面。假如你喜爱使用一款提供令人印象深刻的用户界面的工具,那就不要错过它。

9、 Papeeria

Papeeria[11] 是在网络上你能够找到的最为便宜的 LaTeX 在线编辑器,如果考虑到它和其他的编辑器一样可信赖的话。假如你想免费地使用它,则你不能使用它开展私有项目。但是,如果你更偏爱公共项目,它允许你创建不限数目的项目,添加不限数目的协作者。它的特色功能是有一个非常简便的画图构造器,并且在无需额外费用的情况下使用 Git 同步。假如你偏爱付费方案,它赋予你创建 10 个私有项目的能力。

10、 Kile

位于我们最好 LaTeX 编辑器清单的最后一位是 Kile[12] 编辑器。有些朋友对 Kile 推崇备至,很大程度上是因为其提供某些特色功能。

Kile 不仅仅是一款编辑器,它还是一款类似 Eclipse 的 IDE 工具,提供了针对文档和项目的一整套环境。除了快速编译和预览功能,你还可以使用诸如命令的自动补全 、插入引用,按照章节来组织文档等功能。你真的应该使用 Kile 来见识其潜力。

Kile 在 Linux 和 Windows 平台下都可获取到。

总结

所以上面便是我们推荐的 LaTeX 编辑器,你可以在 Ubuntu 或其他 Linux 发行版本中使用它们。

当然,我们可能还遗漏了某些可以在 Linux 上使用并且有趣的 LaTeX 编辑器。如若你正好知道它们,请在下面的评论中让我们知晓。


via: https://itsfoss.com/LaTeX-editors-linux/

作者:Ankush Das[14] 译者:FSSlc 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者
FSSlc ? ? ? ?
共计翻译:60 篇
贡献时间:1061 天

推荐文章

< 左右滑动查看相关文章 >

点击图片、输入文章 ID 或识别二维码直达




2019-09-24 08:26:36 Rong_Toa 阅读数 149

肖文鹏 2003 年 10 月 01 日发布

目录

一、简介

二、TeX系统

三、LaTeX排版流程

四、LaTeX系统安装

五、LaTeX文档处理

六、小结


一、简介

计算机技术的不断进步推动了各行各业的飞速发展,使许多行业出现了革命性的变化,传统的印刷出版业也逐渐告别了铅与火的时代,开始普遍采用计算机排版系统。目前,大大小小的排版系统非常多,并且都有其自身特点和适用范围,例如PageMaker比较适合于专业的出版社,而普通用户在编排要求不高的稿件时使用Word、WPS等也不失为合适的选择。但如果要用Word这类所见即所得(WYSIWYG)软件编排学术论文或者科技文献,那么一旦遇到复杂的数学公式和特殊字符,即便使出浑身解术,其结果也难以令人十分满意。在这种场合下使用TeX则是一个不错的选择,它是一种使用方便、价格低廉的专业级排版系统,在编排论文、报告和书籍时,其输出质量并不比价格昂贵的大型计算机专业排版系统逊色,并且在某些方面(如数学公式的编排)仍然是目前排版质量最好的系统。

TeX特别适合于科技论文和书籍的排版,利用它可以在计算机上生成与印刷品几乎完全一样的作品,目前在国外已经被广泛地用于编排书籍、档案、学位论文和私人信件,以及各种复杂的公式、目录、索引和参考文献等。由于使用TeX可以很轻松地完成高质量科技文献的排版工作,并且可以按照作者的要求进行扩充和修改,所以逐渐引起出版界和各国科技工作者的注意,被一致认为是目前国际上排版数学公式能力最强的系统,并且在各种国际会议上被指定为标准的论文编排软件。

稍有经验的人都会知道,即使再好的字处理软件打印出来的效果也都会跟屏幕上看到的有所差异。而TeX系统的输出是与设备无关的DVI(DeVice Independent)文件,因此无论是在针式打印机、喷墨打印机、激光打印机或是照排机上,其效果都是完全相同的,仅仅只是文字或者图形的分辩率因设备的不同而稍有差异。从某种意义上说,TeX才是真正的"所见即所得"。

二、TeX系统

TeX系统的发明者是美国Stanford大学的Donald E. Knuth教授,他是整个计算机学术界的泰斗级人物,也是享有盛誉的计算机程序设计系列专著《计算机编程的艺术》(The Art of Computer Programming)的作者,TeX的出现与这本举世闻名的计算机理论书籍有着密不可分的联系。1977年,当出版社要求Knuth教授对他六十年代的力作《计算机编程的艺术》出修订版时,他感到以手工方式对原稿进行修改存在种种不便,于是便放下手头的工作,开始设计一套高质量的计算机排版系统。原先计划只花半年时间来改进排版技术然后继续写作的Knuth教授,最后却整整耗费了十年心血,终于研制成功了闻名于世的TeX系统。

与其它计算机排版系统不同的是,在用TeX编排文档时,除了需要输入正文内容之外,同时还需要加入一些排版命令,这些命令通常不是由编辑人员添加的,而是要由作者本人自己完成。TeX系统提供的排版命令十分灵活,作者可以直接使用这些命令,也可以利用已有的功能来定义新的排版命令,使之适应特定场合的需要。

TeX与Linux的Kernel一样,只是一套核心技术,实际应用时往往需要在TeX的基础上继续开发。最初的TeX系统提供了300多条基本命令,功能虽然强大,但使用起来却不那么方便。为此Knuth教授在这些基本命令的基础上定义了600多条复合命令,构成了名为Plain TeX的宏包,只可惜由于无法与普通PC机兼容,因此流传得并不十分广泛。

Plain Tex虽然比原始的TeX更加方便,但其重点还只放在如何排版的层次上,在排版复杂公式时仍然需要大量命令,并且在挖掘它的深层功能时往往需要相当丰富的排版和编程技巧。好在TeX系统提供了非常强大的宏定义功能,因此很多人开始在TeX之上进行二次开发,产生了一些TeX系统的衍生版本,其中最著名的是由美国数学会(AMS)组织人员开发的AMS-TeX和美国计算机学家Leslie Lamport在二十世纪八十年代初开发的LaTeX,其中前者适合于排版复杂的数学公式,而后者则适合于排版普通文章和书籍。LaTeX提供了一整套生成复杂文档所需的高级命令,这样即使作者没有掌握复杂的排版和程序设计知识,也可以充分利用TeX系统提供的强大功能,轻轻松松地完成标题、章节、表格、目录、索引、公式、图表等的编排。

随着LaTeX的逐渐普及,它在许多原本没有想到的领域中得到了扩展,为了建立一个统一的标准,Leslie Lamport、Frank Mittelbach、Chris Rowley和Rainer Sch?pf在1989年开始了名为LaTeX3的项目,旨在建立一个最优的命令集合。该项目的第一个里程碑是在1994年发布的LaTeX2e,它是LaTeX3出现之前的现行标准版本。

为了安装和使用上的方便,有人将TeX基本系统包装起来并添加了一些实用工具,做成了各种Tex发行版本供别人使用,其中常见的有MikTeX、emTeX、PCTeX32、fpTeX、teTeX等,它们大多为自由软件,可以从网上免费下载获得。

三、LaTeX排版流程

在使用LaTeX进行排版时,从输入文本到最后在打印机上得到输出结果,通常需要经过如图1所示的几个步骤。

图1 LaTeX排版流程

  • 编辑

    用编辑器编写文稿(源文件),同时插入排版命令。需要注意的是,源文件必须是纯文本格式的,并且通常以.tex作为其扩展名(如hello.tex)。在Linux下建议使用XEmacs或者VIM编辑器,它们都能够识别LaTeX语法并且可以高亮显示LaTeX命令中的关键字。

  • 编译

    生成的LaTeX源文件中如果没有语法错误,那么就可以使用latex命令进行编译,生成DVI文件:

    1

    [xiaowp@xpcdev latex]$ latex hello.tex

    在处理过程中LaTeX会显示页号以及可能会有的错误和警告信息,如果在该过程中出现错误,则表明源文件中的某些排版命令有误,此时应该重新对源文件进行修改。当LaTeX成功结束这一处理过程后,将生成一个名为hello.dvi的文件,该文件是与设备无关的,它由格式化后的文本以及所需要的字体信息组成,但是与要使用的打印机的特征无关,该文件通常也称为元文件(metafile)。

  • 查看
    在正式打印输出或者照排制版之前,可以先在计算机屏幕上显示DVI文件,察看文件内容或者排版结果是否合乎要求,如果有不满意之外,则应重新对LaTeX源文件进行修改。在Linux下有许多软件可以用来查看DVI文件,其中最常用的是X-Window环境下的xdvi,下面的命令可以用来查看hello.dvi: [xiaowp@xpcdev latex]$ xdvi hello.dvi 由于DVI文件是与设备无关的,因而用xdvi在屏幕上看到的结果是不会受到输出设备、操作系统、硬件环境等因素影响的。
  • 打印

    DVI元文件中的信息最终要被转化成可以在特定打印机上输出的形式,该过程是由一个称为打印驱动程序来完成的,它是与具体打印机相关的。例如,在Linux下可以用下面的命令将hello.dvi送到惠普激光打印机上打印:

    1

    [xiaowp@xpcdev latex]$ dvihp hello.dvi

  • 输出

    在很多场合下,使用latex得到的DVI文件并不总是需要打印出来,而是要转化成更加便于阅读的格式,如PDF(Portable Document Format)或者PS(PostScript),LaTeX系统提供了相应的工具在这些格式之间进行转换。要将hello.dvi转化成hello.pdf和hello.ps,可以分别使用如下的命令:

    1

    2

    [xiaowp@xpcdev latex]$ dvipdf hello.dvi

    [xiaowp@xpcdev latex]$ dvips hello.dvi -o

四、LaTeX系统安装

Knuth教授无私地贡献出了TeX系统的源码,使之成为一个免费的自由软件,目前TeX系统有许多发行版本,每个发行版本都是一整套工具的集合,一般都会包括TeX、LaTeX、dvipdf、dvips、pdfTeX等。TeXLive是TUG(TeX User Group)提供给其会员的一个TeX发行版,包含可以在大多数操作系统下运行的TeX系统,以及配套的字库和各种宏包,在网站http://www.tug.org/texlive/上可以找到TexLive的最新消息。

TeXLive是以光盘镜像(ISO)的形式发布的,在CTAN的官方网站(http://www.ctan.org)上可以下载到最新的压缩包texlive7-20020604-cd1.iso.bz2和texlive7-20020604-cd2.iso.bz2,两者分别适用于不同的操作系统。对于Linux操作系统来讲,需要下载文件texlive7-20020604-cd1.iso.bz2,并使用如下命令对其进行解压缩:

1

[root@xpcdev texlive]# bzip2 -d texlive7-20020604-cd1.iso.bz2

在得到texlive7-20020604-cd1.iso文件之后,可以将其刻录成CD,也可以用mount命令将其作为文件系统加载后使用:

1

[root@xpcdev texlive]# $mount -t iso9660 -o ro,loop texlive7-20020604-cd1.iso /mnt/texlive

TeXLive的安装比较容易,首先是将光盘根目录下的bin和texmf子目录整个拷贝到硬盘上:

1

2

3

[root@xpcdev texlive]# mkdir /usr/local/texlive

[root@xpcdev texlive]# cp /mnt/texlive/bin/ /usr/local/texlive/ -R

[root@xpcdev texlive]# cp /mnt/texlive/texmf/ /usr/local/texlive/ -R

然后再将TeX系统可执行程序所在的目录添加到当前用户的环境变量PATH中去,就可以完成安装了:

1

[xiaowp@xpcdev latex]$ export PATH=/usr/local/texlive/bin/i386-linux/:$PATH

安装好TexLive之后,在命令行方式下输入tex命令,如果能够看到如下的提示信息,则表明TeX系统已经能够正常工作了:

1

2

3

[xiaowp@xpcdev latex]$ tex

This is TeX, Version 3.14159 (Web2C 7.3.7x)

**

输入\relax\bye退出TeX,之后就可以在Linux下使用LaTeX来编排高质量的文档了。

五、LaTeX文档处理

LaTeX文稿(即用于排版的源文件)包含两部分内容:一部分是正文,也就是需要排版输出的内容;另一部分是排版控制命令,用于控制版面样式、字体字形等格式,它们是用反斜杠"\"所引导的字符串。

LaTeX文稿的基本格式如下所示:

\documentclass [选项]{类}

全局命令和定义

\begin{document}

局部命令和正文

\end{document}

每一个LaTeX文稿都包含导言(preamble)和正文(body)两个部分。导言是一组命令的集合,它指定整个文稿的全局参数,如页面格式、文本尺寸、页码、页眉和页脚等。导言部分必须包含\documetclass命令,以指定文档的版式类型,LaTeX提供了四种最基本的版式类型:book(书籍型)、article(论文型)、report(报告型)和letter(书信型),作者可以根据自己的需要选择一种合适的类型。

LaTeX文稿的导言部分必须包含\documentclass命令,它通常是导言中的第一条命令,如果导言中再没有其他命令,LaTeX就会为行宽、边距、段落间隔、页面高度和宽度等选择标准的设置值。导言是用\begin{document}来结束的,紧接这条命令的所有内容都被解释为正文,它由文本和混杂在其中的排版命令组成。与导言相比,正文中的命令只能起到局部的作用,即它们只作用于部分文本,如缩进、公式、字体、字号等。LaTeX文稿中的正文是用\end{documnet}命令来结束的,这通常也是整个文稿的结束。

LaTeX文稿是一种自由格式文件,输入源文件时不必考虑每行的长短,也不必考虑单词之间空白的多少,LaTeX会自动按照排版命令进行编排。下面是一个简单的LaTeX文稿:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

\documentclass[12 pt]{article}

\begin{document}

Hello, world! {\LaTeX} can typeset equations like

\begin{equation}

\int^{2\pi}_0\sin^2\theta d\theta = \frac{1}{2}

\end{equation}

\begin{equation}

\left[

{\bf X} + {\rm a} \ \geq\

\underline{\hat a} \sum_i^N \lim_{x \rightarrow k} \delta C

\right]

\end{equation}

very cool!

\end{document}

在将上述文稿保存为hello.tex后,再用latex命令进行处理:

1

2

3

[xiaowp@xpcdev latex]$ latex hello.tex

排版后的结果在Linux下可以用xdvi查看,其效果如图2所示:

[xiaowp@xpcdev latex]$ xdvi hello.dvi

图2 LaTeX排版效果

六、小结

LaTeX是一个在学术界享有盛名的专业级排版软件,特别适合于科技论文和书籍的编排,它使得作者能够专注于写作的内容,而不是拘泥在每个字应该如何显示等具体细节,此外在排版复杂的数学公式时,至今还没有任何软件可以与 LaTeX 匹敌。LaTeX和Linux一样属于自由软件,借助于LaTeX这一专业的排版系统,在Linux下完全可以生成比Word等字处理软件具有更高质量的文档。

相关主题

  • TeXLive是TUG提供的一个TeX发行版,在其官方网站http://www.tug.org上可以了解到TeX和TexLive的相关信息。
  • http://www.latex-project.org是LaTeX的官方网站,包含大量与LaTeX相关的文章,并且可以从中了解LaTeX3项目的最新进展情况。
  • Tobias Oetiker的文章The not so Short Introduction to LaTeX,比较全面地介绍了LaTeX系统,在网站http://www.ctan.org/tex-archive/info/lshort/上可以找到该文章。
  • 陈志杰等编著,LaTeX入门与提高,北京:高等教育出版社,2002

 

Latex

阅读数 441

没有更多推荐了,返回首页