syntax_highlight <源文件> | 流量

kjo*_*kjo 10 command-line printing highlighting postscript

有谁知道一种简单的方法来生成与源文件的语法突出显示版本相对应的 PostScript,可以直接通过管道传输到 PostScript 打印机?

正如上面问题的措辞可能暗示的那样,我正在寻找可以从命令行运行的东西。我正在考虑这样的交互:

% syntax_highlight <SOURCE_FILE> | lp
Run Code Online (Sandbox Code Playgroud)

...根据需要使用命令行开关等。

迄今为止我发现的最好的是一个名为 的 Unix 实用程序highlight,但它有问题。最严重的是它没有直接输出 PostScript 的选项。(由于highlight确实支持 LaTeX 输出,我尝试拼凑一个脚本,该脚本可以通过 *.tex => *.dvi => *.ps 自动生成 PostScript 文件,但最终结果的视觉外观很糟糕,比highlight为相同的源代码输入生成的 HTML 文件要糟糕得多。)

谢谢!

Sha*_*off 13

你可以使用vim。

vim -c hardcopy -c quit /path/to/file
Run Code Online (Sandbox Code Playgroud)

这将打印文件并立即退出。默认情况下,vim 打印时突出显示语法。

如果您需要从某些命令的 stdout 打印,您可以这样做:

cat some_file.c | vim -c hardcopy -c 'quit!' -
Run Code Online (Sandbox Code Playgroud)

如果您想保存 .ps 以备后用,您可以通过向硬拷贝命令添加重定向来实现,如下所示:

vim -c 'hardcopy > /path/to/saved.ps' -c 'quit' /path/to/file
Run Code Online (Sandbox Code Playgroud)

Vim 允许您设置许多与打印相关的选项,因此如果您想对其进行调整,可能需要查看文档。当然,还有很多语法高亮选项。


Gil*_*il' 5

有几个程序可以将各种编程语言漂亮地打印到 Postscript,它们不需要任何第三方软件来运行:

如果你愿意通过 LaTeX,你有更多的选择。如果你想在同一个文档中包含代码和其他东西,通过 LaTeX 最有用;否则就矫枉过正了。