題:
如何生成手冊頁的A4格式pdf?
quark67
2017-10-28 03:08:52 UTC
view on stackexchange narkive permalink

我知道 man -t ls |打開-f -a /Applications/Preview.app 生成 ls 命令的手冊頁的pdf。

但所生成的pdf為美國信函尺寸(21.59厘米x 27.94厘米)。

man 的手冊頁上說 -t 選項在內部使用 / usr / bin / groff -Tps -mandoc -c 。/ p>

因此,根據 groff 的人,我嘗試過此操作,以獲取pdf中的A4尺寸(21厘米x 29.7厘米)(歐洲廣泛使用A4尺寸):

man -t ls |/ usr / bin / groff -Tps -mandoc -c -P-pa4 |打開-f -a /Applications/Preview.app

我獲得了所需的A4大小,但是格式很難看(沒有粗體,斜體,字符加倍,下劃線)...

如何具有良好的格式設置(如第一個命令)和正確的大小(如後一個命令)?

二 答案:
nohillside
2017-10-28 03:49:37 UTC
view on stackexchange narkive permalink

現在,您要運行兩次groff,一次是 man -t 的一部分,一次是在 man 生成的PostScript文件中運行。

嘗試

  groff -Tps -mandoc -c -P-pa4 /usr/share/man/man1/ls.1 >out.ps
ps2pdf out.ps man-ls.pdf
打開man-ls.pdf
 

或直接

  groff -Tps -mandoc -c -P-pa4 /usr/share/man/man1/ls.1 |
    打開-f -a /Applications/Preview.app
 

要使它適用於man可以訪問的所有手冊頁,一個小的腳本會有所幫助。

 #!/ bin / sh
頁面= $(man -W $ 1)
如果[-r“ $ page”];然後
    groff -Tps -mandoc -c -P-pa4“ $ page” |打開-f -a Preview.app
科幻
 

將其另存為 manA4 ,運行一次 chmod + x manA4 ,然後將其用作 manA4 ls


如果您正在使用壓縮的手冊頁(默認情況下,macOS不會使用 ),則需要即時對其進行解壓縮。

 #!/ bin / bash
頁面= $(man -W $ 1)
如果[-r“ $ page”];然後
    如果[[“ $ page” =〜。*。gz $]];然後
        gzcat“ $ page” | groff -Tps -mandoc -c -P-pa4 |打開-f -a Preview.app
    其他
        groff -Tps -mandoc -c -P-pa4“ $ page” |打開-f -a Preview.app
    科幻
科幻
 
該解決方案不適用於壓縮的手冊頁。
我覺得@fd0傾向於將它作為練習留給讀者(特別是因為macOS默認情況下不適用於壓縮手冊頁):-)
是的,但是在`man.conf`中,映射了/ usr / local / share / man,其中可能包含壓縮的手冊頁。
ps2pdf是命令嗎?我做一個`man ps2pdf`並在提示符下輸入`ps2pdf`並得到錯誤消息。
@DavidAnderson也許我是通過Homebrew或TeX的一部分安裝的。但這不是必需的,預覽版可以直接讀取和呈現Postscript文件。
fd0
2017-10-29 20:04:54 UTC
view on stackexchange narkive permalink

通過註釋掉該行來編輯/private/etc/man.conf

  TROFF / usr / bin / groff -Tps -mandoc -c
 

然後添加此行

  TROFF / usr / bin / groff -Tps -mandoc -c -P-pa4
 

現在 man -t 將以A4紙張大小寫入ps文件。

  man -t ls |打開.......
 
並且不要忘記在每次macOS升級後重複此步驟...


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...