由Knuth Donald开发的tex.web会生成DVI文件,DVI也是Knuth自己实现的(虽然概念是其他人提出的)一种文件格式,目标是与设备无关。

通过dvips程序可以将DVI格式转化成PostScript格式,而PostScript格式是Adobe公司起家的产品,也是PDF格式的前身,甚至PDF现在的绘画机制与PostScript也相差无几。

可以使用ps2pdf将PostScript文件转化成PDF格式文件。

Tex的机制基本上就可以这样描述。

因为Tex的产生比较早,当时PostScript还只是个雏形,因此tex没有直接输出PostScript文件格式也是情理之中,不过Knuth还真是有远见,选择了一种与PDF的Portable类似的思想,生成DVI格式。然后,接下来的事其实也理所当然,PostScript以至PDF成了行业的标准,Tex就在不断地向PDF靠拢,直到最后出现了pdftex

The main difference between TeX and pdfTeX is that whereas TeX outputs DVIfiles, pdfTeX can output PDF files directly.

Pdftex能够直接将tex程序输出成PDF格式。

那么事情发展到这个地步已经很完美了,但是问题出在tex脚本语言本身,它太自限了,很难扩展或者与其他语言兼容,因此出现了LuaTex

The main objective of the project is to provide a version of TeX where all internals are accessible from Lua.

Lua是一门很容易嵌入到其他语言中的语言,那么它应该可以成为tex与其他语言结合的桥梁。

LuaTex之间的结合方式参考:Programming in LuaTeX

There are two main ways to execute Lua code in a ConTeXt document: The command \ctxlua, and the environment \startluacode...\stopluacode. Both are wrappers around the LuaTeX primitive\directlua, which you should never need to use. In general, you will define a function inside a\startluacode block, and then define a TeX command that calls the function using \ctxlua, especially because \ctxlua has a few idiosyncracies.

Most commands that you would type with a backslash in plain ConTeXt, you can access from Lua withcontext.command. Unadorned strings end up in TeX as arguments in curly braces; Lua tables end up in TeX as paramater blocks in square brackets.

不过看起来,Lua只是被嵌入到了tex中去,毕竟Lua只有一个比较小的核心,也基本上无法自己独立生存。

所以LuaTex只是tex自身的一个提升,而并不是向外界的开放接口。

Tex与PDF的更多相关文章

  1. linux下编译bib、tex生成pdf文件

    实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...

  2. jupyter notebook 目录配置、导出 tex 和 pdf 及中文支持

    环境:macbook pro, mactex, jupyter notebook, brew 安装pandoc从而支持格式转换为tex: brew install pandoc 修改tex artic ...

  3. tex中pdf外链

    \documentclass{article} \usepackage{hyperref} \begin{document} \href{run:d:/my folder/test.pdf}{This ...

  4. linux下编译tex,bib成pdf文件

    参考linux下编译bib.tex生成pdf文件 为了编译出出正确的pdf文件,需要执行4条命令完成整个编译过程. 编译命令及输出 $ pdflatex bb.tex #目录下会生成bb.aux.bb ...

  5. Tex介绍

    TeX, LaTeX, XeTeX, PdfTeX等等 TeX 是一种宏语言.就像别的语言有库一样,TeX 语言有宏的集合.这些宏,就是用这个语言写出来的东西,供大家共用的.TeX 有个最基本的宏集合 ...

  6. 如何用Latex合并多个pdf文件?

    如何用Latex合并多个pdf文件?   用TeX合并pdf, 用LaTeX合并pdf 代码: \documentclass[a4paper]{article} \usepackage{pdfpage ...

  7. 利用Pandoc将markdown文件转化为pdf

    利用Pandoc将markdown文件转化为pdf 准备工作 安装pandoc 安装MiKTeX 将markdown文件转换为pdf 准备工作 安装pandoc Windows下安装pandoc很容易 ...

  8. 简单python脚本,将jupter notebook的ipynb文件转为pdf(包含中文)

    直接执行的python代码ipynb2pdf.py 主要思路.将ipynb文件转成tex文件,然后使用latex编译成pdf.由于latex默认转换不显示中文,需要向tex文件中添加相关中文包. 依赖 ...

  9. chemfig化学式转换为pdf

    SMILES 与 chemfig 针对化学分子结构,可以用SMILES (用ASCII字符串明确描述分子结构的规范)来定义. SMILES(Simplified molecular input lin ...

随机推荐

  1. [BZOJ 1503]郁闷的出纳员(fhq treap)

    [BZOJ 1503]郁闷的出纳员 题面 第一行有两个非负整数n和min.n表示下面有多少条命令,min表示工资下界. 接下来的n行,每行表示一条命令.命令可以是以下四种之一: 名称 格式 作用 I命 ...

  2. python自定义迭代器对象以及可迭代对象

    # coding=utf8 from collections import Iterator from collections import Iterable #迭代器对象 class OwnIter ...

  3. Spark链接hive时 “HikariCP” 问题

    IDE本地调试和spark-shell调试报错: Caused by: org.datanucleus.exceptions.NucleusUserException: The connection ...

  4. JS继承——原型链

    许多OO语言支持两种继承:接口继承和实现继承.ECMAScript只支持实现继承,且继承实现主要依赖原型链实现. 原型链 基本思想:利用原型让一个引用类型继承另一个引用类型的属性和方法. 构造函数.原 ...

  5. 使用grunt0.4进行js代码混淆

    1.grunt是基于node,node需要>=0.8.0的稳定版本(奇数是开发版,偶数是稳定版) 2.安装grunt脚手架 (mac电脑需要权限  在前面加上 sudo) npm install ...

  6. 三、SQL Server 对JSON的支持

    一.SQL Server 对JSON的支持 一.实现效果   现在 我用数据库是sql2008 ,共计2万数据. 每一条数据里面的有一个为attribute字段是 json存储状态属性,  我怎么查看 ...

  7. lvm相关知识

    参考资料: 1.https://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html#top

  8. JSOI2018冬令营游记&总结(迁移自洛谷博客)

    游记 一开始在冬令营还没开始的时候,十分期待,殊不知每天都有一场浩劫在等着我. Day0 10:50出发,看见lbn同学发了一条说说,也随便发了一个. 然后在车上一直在睡觉,现在感觉挺后悔的,其实可以 ...

  9. mapreduce图解系列

    1.Hadoop的hdfs https://www.cnblogs.com/jstarseven/p/7682293.html 2.Hadoop的yarn https://segmentfault.c ...

  10. Android SDK的下载与安装*(PC版)

    Android SDK的下载与安装   一.Android SDK简介下载地址:https://www.androiddevtools.cn/ 将下载后的安装包解压到相应的目录下,如下图: 三.安装A ...