介绍

TeX Live 是 TUG (TeX User Group) 维护和发布的 TeX 系统,可说是「官方」的 TeX 系统。网上可找到的教程大多是从镜像安装完整版texlive。镜像发布的周期较长,一些包的版本相对较低,如果希望一开始安装的就是最新版本的包并且需要个性化配置,建议使用官方提供的安装脚本(install-tl)进行安装。

步骤

以下以ubuntu 18.04系统为例,展示从安装脚本安装texlive的全过程。注意 texlive 是跨平台的,主要步骤适应于其他操作系统。

  • 首先从官网或其镜像站下载安装脚本。
export REMOTE_INSTALLER_URL=http://mirror.ctan.org/systems/texlive/tlnet
export INSTALL_PACKAGE=install-tl-unx.tar.gz
wget $REMOTE_INSTALLER_URL/$INSTALL_PACKAGE

注意主站 mirror.ctan.org 不是一个真实的镜像,它会重定向到一个镜像站,在国内有时重定向的镜像站比较慢,可直接指向某些镜像站,建议设置

export REMOTE_INSTALLER_URL=http://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet

  • 解压安装脚本并运行。
export INSTALL_DIR=install-texlive
mkdir $INSTALL_DIR
tar -zxvf $INSTALL_PACKAGE -C $INSTALL_DIR --strip-components 1
$INSTALL_DIR/install-tl -repository $REMOTE_INSTALLER_URL -profile tl.profile

install-tl 的默认方式是文字模式的安装,首次启动会从指定的镜像站下载 tlpdb 数据库,数据库目前有11Mb左右,下载完成后出现选项,默认安装 scheme-full,即所有的宏包,目前会占用 5GB以上的硬盘空间,可根据提示进行设置以减少首次安装的容量大小。

这里简要介绍下texlive 安装内容的层级,最顶层的是 scheme,目前有 full, medium, small, basic, minimal 等; 其次是 collection,目前有41个,一个scheme 包含多个 collection; 最小的单元是 package,一个 collection 包含多个 package。这里的 package不仅包括宏包,还有可执行程序等。查看各 scheme 和 collection 具体包含内容和简介可以打开下载的 tlpdb 数据库文件(是一个文本文件)查找相应的字段。

为了减轻交互式配置安装的麻烦以及提供自动化安装的需求, 可指定安装需要的 profile 文件,在profile文件中,可指定scheme, collection, tlpdb 的配置信息以及texlive

安装所需要的环境变量。

texlive 默认配置中是安装到 /usr/local/ 下面,需要对该文件夹有写权限,也可更改至用户目录下面。

  • 利用 tlmgr 安装新的 package.

    使用 tlmgr install pkg 安装新的包,若同时指定若干个包,包名之间用空格隔开。使用一段时间后,有更新包的需求使用tlmgr update pkg 可完成。更多 tlmgr 的用法可参考[2]

参考

  1. install-tl 用法说明
  2. tlmgr 用法说明

使用安装脚本安装Texlive的更多相关文章

  1. Linux学习之源码包安装与脚本安装(十八)

    Linux学习之源码包安装与脚本安装 目录 源码包与RPM包的区别 源码包安装 脚本安装 源码包与RPM包的区别 1.区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 源码包: 开源的 ...

  2. Nginx+keepalived 脚本安装主从双机热备自动切换解决方案

    Nginx+keepalived 脚本安装主从双机热备自动切换解决方案 2013-07-02 19:24:13 标签:filesnginx keepalived 原创作品,允许转载,转载时请务必以超链 ...

  3. jws.mono脚本安装详解

    就在最近两天,最新版本的jws.mono上线了,这个版本除了提供与之前版本拥有的功能外,还额外提供了一个“自动化”的安装脚本,通过执行该脚本,jws.mono将自动快速的安装到指定的目录,同时,通过改 ...

  4. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  5. Linux安装脚本需要交互之如何实现自动安装

    Linux中shell脚本运行时经常需要进行交互,比如安装软件的过程中对license声明的确认,需要输入yes,回车之类的确认信息.这个在自动化安装的时候就会是个问题. 通常对于这个问题比较灵活的解 ...

  6. iredmail安装脚本分析(一)---iRedmail.sh

    iredmail是一套以postfix为核心的整合邮件系统的安装脚本,可以达到快速部署邮件服务器的目的.为了让自己不遗忘shell的语法,所以闲来无事,学习一下他的代码. 我从官网下载他的最新版,解压 ...

  7. CentOS 6、7下pptp vpn一键安装脚本

    之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用 ...

  8. 17.KVM安装之虚拟磁盘,安装脚本

    1.创建磁盘 vm.list 指定虚拟磁盘名称和主机名 create_vm.sh    #创建vm.list中的虚拟磁盘,并指定大小100G #!/bin/bash VM_DIR="/opt ...

  9. 一个比较完整的Inno Setup 安装脚本(转)

    一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了. [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相 ...

随机推荐

  1. JDBC执行SQL语句以及Date对象和字符串之间的相互转换(关键是那张标准表)

    只要能分隔数字就行,老外没有11月这个概念 以前看见被人这么写,你觉得可以写成yyYY这样吗,可以mm这样吗,可以mM这样吗,不要有这种想法 都是大神们都写好了,只需要参考手册,然后调用API就行了 ...

  2. 1.2.1 Excel如何从身份证号中提取日期

    在对应的单元格中我们输入公式: =MID(B3,7,4)&"年"&MID(B3,11,2)&"月"&MID(B3,13,2)&a ...

  3. LOJ 3057 「HNOI2019」校园旅行——BFS+图等价转化

    题目:https://loj.ac/problem/3057 想令 b[ i ][ j ] 表示两点是否可行,从可行的点对扩展.但不知道顺序,所以写了卡时间做数次 m2 迭代的算法,就是每次遍历所有不 ...

  4. Can't parse message of type "gazebo.msgs.Packet" because it is missing required fields: stamp, type

    在gazebo的仿真环境中,采用强化学习HER算法训练baxter执行reach.slide和pick and place任务. 运行HER算法,此时尚未启动gazebo仿真环境,出现如下报错: [l ...

  5. Qt配置cmake;运行带参数的程序

    配置cmake编译器,步骤如下: 步骤1:  Qt下新建一个project. 步骤2:  在该project目录下创建一个CMakeLists.txt文件,并按规范编写该文件. Tip: projec ...

  6. Android - 简单listview

    //MainActivity.java package com.example.zc.listviewdemo; import android.support.v7.app.AppCompatActi ...

  7. 根据日志分析异常:There is already 'XXX' bean method

    问题代码: @Slf4j @Api(value = "paymentOrderController", description = "PaymentOrderContro ...

  8. 关于javabean

    [javabean定义]定义:JavaBeans是Java语言中可以重复使用的软件组件,实质上是一种特殊的Java类.特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属 ...

  9. android 开发 View _5_ Paint详解

    转载:http://blog.csdn.net/abcdef314159 //Paint的setStyle,Style共有3种 setStyle(Style style) Paint.Style.FI ...

  10. PyQt--QTreeWidget

    转载:loster_Li QTreeWidget的继承关系如下图: 因为继承关系是 QAbstractItemView->QTreeView->QTreeWidget  ,所以和QTabl ...