纯 TeX 的语法高亮

纯 TeX 的语法高亮

我想要了解有哪些选项可以将语法高亮应用于 Plain TeX,从而将 Plain TeX 文档转换为高亮的 HTML。

目的是便于共享对 Plain TeX 文档的跟踪更改。我希望处理的文档相当简单,但它确实手动定义了几种字体、参考书目环境,并大量使用了\halign宏。对这些进行一些自动或半自动处理将是一个优势。在紧要关头,我可以使用脚本来做到这一点sed,但我宁愿节省一些时间。

Pygments 似乎不支持 Plain TeX。Emacs 的 AUCTeX 支持TeX-modePlain TeX,但尽管我似乎记得可以从 AUCTeX 导出 HTML,但我记不起任何细节。

答案1

将我的评论转换为答案。 :)

最新版本的 附带了一个Vim名为的插件2html.vim。其目的是将当前缓冲区(包括配色方案)导出到 HTML。例如,我将使用 Herbert 的代码如何开始使用纯 TeX

% gettingstarted.tex
\input pstricks
\parindent=0pt
\special{papersize=72.27pt,72.27pt}

\pspicture(72.27pt,72.27pt)
\psframe(72.27pt,72.27pt)
\endpspicture

\bye

要使用此插件,请进入Vim正常模式并输入:

:TOhtml

Vim

生成一个名为的文件yourcode.ext.html,输出内容如下:

输出

如果我没记错的话,颜色的选择与编辑器配色方案有关。

生成的 HTML 充满了内联样式。如果您想要更好的输出,我发现以下条目可以添加到您的_vimrc文件中:

let html_use_css = 1 " Replaces the inline styles by CSS stylesheets. Values: 0 or 1
let html_number_lines = 0 " Shows line numbers. Values: 0 or 1
let html_no_pre = 1 " Don't wrap lines. Values: 0 or 1

希望能帮助到你。:)

答案2

您可以使用 emacs 做同样的事情。将代码加载到 emacs 中并执行M-x ps-print-buffer-with-faces。它将打印缓冲区的 postscript 图像。

相关内容