Linux中,texinfo-6.4 编译安装说明
来源:互联网 发布:赣州淘宝培训 编辑:程序博客网 时间:2024/05/28 11:29
Texinfo是一个文档系统,可用于创建PDF、HTML等文档。本文介绍从源代码编译安装Texinfo的步骤。
以下内容的系统环境为CentOS-6.7-x86_64,安装模式为“Software Development Workstation / 软件开发工作站”。
1 编译安装Texinfo的命令:
./configure --prefix=安装目录(默认为/usr/local)
make
make install(根据安装目录的不同,可能需要root权限)
编译、安装完成后,编辑文件 ~/.bash_profile ,将“安装目录/bin”加入环境变量PATH。
2 安装*.tex文件
源码包内的*.tex文件需要单独安装。安装说明参见:
源码包/INSTALL 第18-23行
源码包/doc/README 第15-25行
*.tex文件的安装命令:
make TEXMF=tex文件安装目录 install-tex
上述命令中,TEXMF的设置必须符合相关规范,以便TeX软件能搜索到。TEXMF的设置可参考:
http://tug.org/tds/
http://www.volkerschatz.com/tex/tpacks.html
TeX软件的配置文件/usr/share/texmf/web2c/texmf.cnf
通过反复尝试,建议TEXMF选用以下两种方式:
方式一 安装在用户主目录下的texmf,即TEXMF=$HOME/texmf
此方式下,TeX软件会自动搜索到其中的*.tex文件。
方式二 安装到用户自定义目录
此方式下,需要设置环境变量TEXINPUTS,以便TeX软件能搜索到:
TEXINPUTS=自定义目录/tex/texinfo:$TEXINPUTS
或
TEXINPUTS=$TEXINPUTS:自定义目录/tex/texinfo
注意,TEXINPUTS的最终内容一定要以冒号结尾(或开头),表示将TEXINPUTS添加至TeX的搜索路径。否则TEXINPUTS将替换TeX的搜索路径,可能导致错误。详情参见 http://www.volkerschatz.com/tex/tpacks.html 。
在实际应用中,一个容易犯的错误是因为初始时TEXINPUTS还没有定义,其内容为空,因此直接令 TEXINPUTS=自定义目录/tex/texinfo ,忘记以冒号结尾(或开头),导致用Texinfo软件创建PDF文件时失败,报错说texinfo.tex已损坏。
另外,如果TEXINPUTS中的路径以“//”结尾,表示递归搜索子目录。因此可以将TEXINPUTS改为:
TEXINPUTS=自定义目录/tex//:$TEXINPUTS
3 生成Texinfo帮助文档
帮助文档的生成说明参见:源码包/README(第32-42行)
HTML格式帮助文档的生成命令:
make -C doc html
PDF格式帮助文档的生成命令:
make -C doc pdf
注1:生成HTML文档并不依赖那些*.tex文件,无需设置TEXINPUTS。
注2:生成PDF文档需要texinfo.tex文件。不过Makefile内部在调用texi2dvi创建PDF文件时,已设置TEXINPUTS指向“源码包/build-aux”,该目录下存有texinfo.tex,因此用户也无需设置TEXINPUTS。
- Linux中,texinfo-6.4 编译安装说明
- Linux中,cmake-3.x 编译安装说明
- 安装或更新gdb之前先安装texinfo
- linux中编译安装log4cpp
- Linux中编译、安装nginx
- Linux中编译、安装nginx
- linux中编译安装log4cpp
- linux中编译安装log4cpp
- fftw 编译安装说明
- castep 编译安装说明
- BerkeleyGW编译安装说明
- Postgresql8.3数据库在linux编译安装说明
- linux下编译安装程序的路径说明
- linux下编译安装程序的路径说明
- linux下编译安装程序的路径说明
- linux 内核编译说明
- mysql中cmake常用参数说明 和 编译安装mysql
- mysql中cmake常用参数说明 和 编译安装mysql
- Java BigDecimal 不用科学计数法输出,去前导零 51Nod 1873
- mongDao
- c++:使用*号打印三角形
- JS元素中属性的规范使用
- 第六天学习java-数组
- Linux中,texinfo-6.4 编译安装说明
- 工具类TestTools
- STC89C52MCU -- 双机通信及多机通信
- Java语言基础{Java_se(04)}-方法的重载设计(overload)-数组-数组的遍历-多 维数组-排序算法(冒泡排序)-选择排序
- matlab学习笔记
- Vue中提交表单数据
- 闲聊KMP算法
- 基于DreamService的屏保
- JS事件---DOM2级事件处理:addEventListener()、removeEventListener()、attachEvent()