
我一直在使用 groff 製作 ps 文件,以便使用 -man 標誌進行列印。如果我想轉換其他任何內容,例如頭文件或只是 ls -l 或其他程式的輸出,則換行符將被忽略,從而產生混亂。如何讓 groff 檢視並尊重 shell 中使用的換行符號?
這會產生輸出,但選項卡混亂:
groff -mom hexd.c > out.ps
但這會混淆製表符和換行符:
cat hexd.c | groff -mom > out.ps
我真正想要的是這樣的:
man -t gdb | open -f -a preview
這會在 max os 上預覽預覽中開啟一個完美的後腳本版本的手冊頁。順便提一句。man -t
相當於:
groff -Tps -mandoc -c
答案1
groff
是一種排版語言,它期望以其語言而不是純文字進行輸入。您可能正在尋找類似enscript
或a2ps
(ascii-to-postscript) 的內容。
答案2
您可以使用低階.nf
troff 指令來「不填滿」。
例如
$ ls -l | sed '1i\
.nf\
.fam C' | groff > out.ps
巨集包也有自己的程式碼清單指令,.l
例如-mk。