.t2p 文件的设定

你可以在一个跟源文件同名的 .t2p 文件里进行针对 HTML 的配置, 比如定义一些专门输出指定格式 HTML 的TEX宏,定义 CSS,等等。

15.1  操纵 HTML 分页方式

tex2page 的分页缺省是每章分成一个 HTML 文件。

我可以把下面这些加到 jobname.t2p, 使得我的每一 个 \section 都成为单独一个网页。

\let\ORIGsection\section 
\def\section{\vfill\eject\ORIGsection}

15.2  改变图片格式

缺省的, tex2page 生成的数学公式会用 png 图片格式。如果你想 用其它格式,比如 jpg,请把这些加入 t2p 文件:

\htmlimageformat{jpg} 

15.3  改变 TEX图片比例

这些可以使你的图片和公式都放大一些:

\imgpreamble 
  \let\LaTeXdocument\document 
  \def\document{\LaTeXdocument\Large} 
\endimgpreamble 

其实就是改了一下 [intro-Z-G-D-1.png]的字体大小而已。 如果嫌不够大你还可以用 \Huge

15.4  重新定义标题页样式

这些可以重新定义标题页的样式。你可以参考一下。 注意里面使用的 \TIIPtitle, \TIIPauthor, ...你可以利用它们来构造你需要的首页样式。

\def\maketitle{\begingroup 
\let\\\break 
\rawhtml<h1>\endrawhtml 
\TIIPtitle 
\rawhtml</h1>\endrawhtml 
\medskip 
\leftline{\SAVEedition} 
\bigskip\bigskip 
\leftline{\TIIPauthor} 
\medskip 
\leftline{foreword by \SAVEforewordauthor} 
\bigskip\bigskip\bigskip 
\leftline{\SAVEpublisher} 
\endgroup} 

15.5  写入 Scheme 语句

这恐怕是最强大功能了。我可以在 t2p 文件里定义我需要的函数, 改变程序运行的方式…… 这样我可以更大程度的修改 tex2page 的行为。

比如,我在 chinese.t2p 里写了一个函数叫 chinese-number。它可 以把任意大的整数用中文表示出来。这个函数可以在自动生成章节标 题时使用。

再比如,本文以前的版本每一章左上角的浮动标题就是这段 Scheme 代码加进去的。 代码被包含在了对 TEX的命令 \chapter 的重新定义当中。

\let\ORIGchapter\chapter
\def\chapter{

\evalh{
(let ((chno (string->number (section-counter-value 0))))
  (when (> chno 0)
    (tex2page-string "\\tl")
    (emit-chapter-heading chno)
    (tex2page-string "\\endtl")))
} 
\ORIGchapter
}

它的含义就是,如果当前的章编号大于0,那么就在章标题前面插入

\tl 
这章的编号 
\endtl 

其中 \tl\endtl 是我定义的宏,用来浮动文字到浏览 器左上角。它们的定义也在 t2p 文件里, 因为它们是直接跟 HTML 有关系的东西。这两个宏实际上是输出了一个含有 CSS 信息的 <div> 标记。详细情况请看第 5 章。

这些都是跟 HTML 相关的,如果你把它们定义在 .t2p 文件里,使用 TEX处理这个文档的时候就不会出现不能识别命令的问题了。这样的 文档既可以转成 HTML 屏幕阅读,也可以转成 PDF, PS, 打印在纸上。

15.6  中文设置

请看下一章