• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux折腾记(十五):再来说说LaTeX排版引擎

    在我的上一篇随笔中,我提到了Markdown、LaTeX和MathJax。这几个东西对目前的网络技术文章的写作、展示都有深远的影响。在上一篇中,我还给出了一份LaTeX语法的学习资料。在这一篇里,我想再来谈谈LaTeX。

      在很多人心中,LaTeX是一个很专业的排版系统,同时也是一个很复杂的系统。说到专业,确实很多科技论文都是用LaTeX写作,而且很多知名的杂志社只接受LaTeX格式的投稿,而且使用LaTeX排版得到的效果那是超级赞,特别是对科技论文中充斥的数学公式而言。说到复杂,不仅是因为LaTeX排版语言命令繁多,更因为它数之不尽的宏包,学习成本真的是相当相当相当的高。

      对于一套LaTeX排版系统,它究竟包含哪些东西呢?我认为它主要可以分成这样几个部分:

    1.一个排版引擎,TeX或pdfTeX或XeTeX;
    2.一系列的字体;
    3.一系列的宏包;
    一些工具,比如用来查看各种排版引擎输出的排版结果,或者在dvi、ps、pdf等格式之间的转换。

      而对于LaTeX排版系统的复杂性,我认为主要是由于历史原因引起的,理由如下:

    1.最早的由Knuth教授写的TeX引擎不支持UTF-8编码的输入文件,所以要让它支持中文实在是太难了;
    2.最早的TeX系统自带一套字体,要扩展它就得扩展相应领域的字体,比如LaTeX自带丰富的数学字体,要把字体安装到TeX系统中是一件非常复杂的事情;
    3.大量的第三方宏包,安装和学习都非常困难;
    4.都什么年代了,谁还用dvi格式和ps格式啊,用pdf多方便啊。

      对于这些历史原因引起的复杂性,现在早就解决了,只是很多书籍没有写清楚而已。我认为现在用LaTeX其实很方便的,理由如下:

    1.Knuth教授的Tex引擎用来瞻仰即可,实际工作中使用XeTeX引擎,完美支持Unicode字符集和UTF-8编码,中文再也不是问题;
    2.字体神马的,Knuth教授的METAFONT早过时了,现在谁还不用TrueType啊?好的字体当然少不了像Microsoft、Adobe、Apple这些既有钱又有品味的公司出品了;
    3.XeTeX引擎可以直接使用操作系统中安装的字体,再也不用考虑把字体安装到TeX系统中了;
    4.XeTeX引擎直接输出pdf格式的文件;
    5.排版也可以有IDE工具,比如TeXWorks;
    6.至于宏包太多这个问题,我们可以用现成的发行版嘛,比如texlive套装。

      下面开始实战。我是在Ubuntu系统下使用texlive,为了省事,我直接安装了texlive-full,使用如下命令:


    复制代码
    代码如下:

    sudo apt-get install texlive-full

      然后,再安装一个TeXWorks,命令如下:


    复制代码
    代码如下:

    sudo apt-get install texworks

      下面是TexWorks的工作界面,排版引擎一定要选择XeLaTex哦。左边是文档编辑,右边是预览效果:

      第一次运行是不可能成功的,因为还要像下面这样设置一下字体。

      如果要想顺利地进行中文排版,必须得借用一点中文字体。中文排版所用到的字体一般有6种,分别是:宋体、楷体、黑体、仿宋体、隶书和幼圆。所以我从我的Win7系统下将这几个字体拷贝到Ubuntu中,把它们扔到主目录下的.fonts中即可。(隶书和幼圆要安装了Office才有。)如下图:

      当然,如果不想完全达到Windows中的效果,也是可以不借用它的字体的。在Linux中,宋体、黑体和楷体是不缺的,其它字体就欠奉了。如果不借用Windows中的字体,则宋体可由AR PL UMing代替,楷体可由AR PL UKai代替,黑体可由Droid Sans Fallback代替,如下图:

      然后,修改/usr/share/texlive/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def中的字体名称和上图中fc-list输出的字体名称一一对应,如下图:

      看到上面的路径是不是觉得它太长了?太难找了?的确如此,texlive的路径就是这么复杂。我第一次是根据错误信息找到的这个文件。

      texlive-full实在是太大了,我安装的时候几乎花了一夜的时间去下载。对于这么复杂的系统,它的各种配置文件啊、环境变量啊,都放在哪里呢?使用tlmgr conf命令即可查看,如下图:

      对于写写中文文档,使用ctex宏包就足够了。并不是很复杂。LaTeX还有一些更加复杂的功能,比如制作幻灯片啊、绘图啊什么的,都有相应的宏包可以使用,而且安装texlive-full的时候,都安装了非常详细的帮助文档,只需要打开/usr/share/texlive/doc.html这个文件,就可以看到所有宏包和帮助文档的列表,我之前分享的《一份不太短的LaTeX介绍》里面有,经典的《Tex by Topic》里面也有,如下图:

      看到这个一公里长的列表,你有什么感想呢?

    上一篇:Linux折腾记(十四):优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)
    下一篇:Linux折腾记(十六):数值计算和符号计算
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux折腾记(十五):再来说说LaTeX排版引擎 Linux,折腾,记,十五,再来,