防止 a2ps 中字中换行

防止 a2ps 中字中换行

所以我知道这a2ps主要是为了将 ASCII 代码转换为 postscript 进行打印,但偶尔我喜欢为学校打印 .txt 或 .md 文件。通常,整个句子(甚至一个段落)会在一行上,并且a2ps会在需要的任何字符处断行,以便正确换行。

这通常会在一行中留下尴尬的半个单词,或者在行首立即留下空格。我似乎找不到一个选项来防止在单词中间出现这种硬包装(即使使用--pretty-print)。

是否有任何选项可以执行此操作,或者我是否使用了错误的工具来执行该任务?

答案1

根据我过去的经验a2ps,它不能以智能方式处理包装。因此,您必须先提供已格式化为正确宽度和换行的文本文件,然后再将其交给a2ps.

如果您的系统已enscript安装,我会改用它。在 Google 上搜索“word wrap a2ps”会带您找到以下文章,标题为:打印纯文本,其中包括以下enscript示例:

$ enscript --header='||Page $% of $=' \
    --margin=72:72:72:72 -1 \
    --word-wrap \
    --media=A4 file.txt

笔记:(四面边距一英寸,向上 1 英寸,自动换行,A4 页面大小,右对齐标题显示页面信息)。

查看enscript --help和 手册页以获取有关选项的更多信息,或通过 google 获取更多示例。我enscript多年来一直用于打印各种文本文件和源代码,一旦您按照自己喜欢的方式进行切换,它就会“正常工作”。

答案2

我也曾为此苦苦挣扎,但找到了适合我的答案。

这是一个两步过程:

fmt inputfile.txt > outputfile.txt
a2ps outputfile.txt

当然,这可以全部发生在一行上:

fmt inputfile.txt > outputfile.txt; a2ps outputfile.txt

如果您愿意,您也rm可以outputfile.txt.

我已经这样做了好几次了,并且格式在默认模式下效果很好。

相关内容