使用 ConTeXt 裁剪既有 PDF 文档页面

上一集 [1]  介绍了使用 ConTeXt 调整既有 PDF 文档的元数据,所用的方法是将既有 PDF 文档的全部页面作为 ConTeXt 生成的 PDF 文档的插图。本集也利用了类似的方案来实现既有 PDF 文档的页面裁剪。

继续阅读

使用 ConTeXt 修改既有 PDF 文档的元数据

昨天将 GNOME 升级到了 3.2,因此体验到了一些新功能,例如 gnome-documents 这个工具可用来整理我收集的电子文档 [1],但是在我使用这个工具的时候发现了一个问题,有一部分 PDF 文档的元数据(Metadata)非常不堪。

继续阅读

ConTeXt 内嵌文本的逐步显示

在 [1] 中讲述了基于 Buffer 的 ConTeXt 逐步显示效果的实现方案。这种方案因为依赖 Buffer 的逐级继承,所以只能满足尾部内容追加式的逐步显示需求,而无法实现内嵌文本逐步显示效果。

所谓内嵌文本的逐步显示,可以通过一个简单的示例获得直观认识。假设一份 PDF 文档,它的第一页内容如下图所示:

第二页内容如下图所示:

这两页内容在 PDF 浏览器中全屏切换时,便可以产生内嵌文本的逐步显示效果。

本文采用文本透明颜色与非透明颜色的切换实现上述内嵌文本的逐步显示。这样虽然很笨拙,但是好在几乎所有的 PDF 阅读器都支持这一方案。

继续阅读

使用 ConTeXt 的 buffer 制作逐步显示效果

用过 LaTeX Beamer 宏包的同学应当知道 Beamer 在制作步骤列表时,可将一块完整的内容分布于多个演示文档页面,以实现演示过程中逐步显示的效果。

ConTeXt 也有一些模块可以实现逐步显示效果,例如 Raw Steps 模块 [1],还有 Hans Hagen 基于 PDF 的 JavaScript 实现的 s-pre-60.mkiv 和 s-pre-61.tex [2]。前者与后者的详细的功能比较见 [3],简而言之,前者与 LaTeX Beamer 相似,通过静态页面的切换实现内容的逐步显示;后者是通过 PDF 内嵌的 JavaScript 程序控制页面元素的显示与隐藏。虽然后者可以充分利用 PDF 的性能,但现在也许只有 Adobe Reader 可以很好的支持 PDF 中嵌入 Javascript,作为 Linux 环境中的 Evince 用户,我对后者伤不起啊,因此我投前者一票。但是很不幸,Raw Steps 年久失修,现在基本上废掉了,其作者也不知所踪,而我现在还不具备修复它的能力。不过 Raw Steps 的原理很简单,它主要是利用 ConTeXt 的 buffer 功能实现的。

继续阅读

ConTeXt 模块参数的获取

本文讲述了 ConTeXt 模块参数的传入与获取方法。

阅读全文

抄录(Verbatim)

对于程序猿而言,如果使用 ConTeXt 进行文档排版,那么它提供的 type 和 typing 机制在程序代码抄录(程序代码排版)方面较为出色。

继续阅读

页面布局控制

声明:可转载,可修改,也可以不注明作者和出处。

本篇介绍如何使用 ConTeXt 产生我们所期望的页面布局。

前面还有一系列文章:

第一篇:序幕有点长
第二篇:这就是 ConTeXt Minimals
第三篇:不仅仅是为了中文
第四篇:那年挖的坑,今年开始填
第五篇:ConTeXt 文稿的物理结构
第六篇:ConTeXt 文稿的逻辑结构

继续阅读

ConTeXt 文稿的逻辑结构

声明:可转载,可修改,也可以不注明作者和出处。

阅读本篇之前,需要你确认是否已对上一篇文章所讲的“ConTeXt 文稿的物理结构” 有所了解。ConTeXt 文稿的物理结构表示的是 ConTeXt 文稿的自身结构,而本文所讲述的 ConTeXt 文稿的逻辑结构表示的是所排版文档的结构,例如文档的标题和段落。ConTeXt 文稿的逻辑结构可被 ConTeXt 文稿的物理结构中的任何一种结构所包含。

继续阅读

ConTeXt 文稿的物理结构

声明:可转载,可修改,也可以不注明作者和出处。

在阅读本文之前,建议读完前面我写过的一系列文章:

第一篇: 序幕有些长
第二篇: 这就是 ConTeXt Minimals
第三篇: 不仅仅是为了中文
第四篇: 那年挖的坑,今年开始填……

至少要阅读第一篇和第二篇。

现在,我们开始逐步探寻 ConTeXt 排版方面的知识。

本文讲述 ConTeXt 文稿的物理结构。所谓“ConTeXt 文稿”,如果读过上述的第一篇文章,你应该知道这只不过是我自己定义的一个概念,实际上它是指代那些包含了 ConTeXt 控制序列的 .tex 文档

继续阅读

zhfonts 模块的用法

声明:可转载,可修改,也可以不注明作者和出处。

也许你已经看过『不仅仅是为了中文』(如果没有看过,那么请一定要看完它之后再来阅读本文),那篇文章的最后一部分说“故事刚刚开始”,实际上中文用户的故事还未开始。另外,文章的末尾说“下一篇,将讲述如何使用 ConTeXt 制作演示文档”,实际上这是当时我蓄意挖的坑,而且我现在也没有准备好动手去填,土还未攒够。下面我要讲述的依然是 ConTeXt MkIV 的中文文字排版方面的问题。

继续阅读