フォローアップです。man -t は - を - に変換します。
今回問題は^がtroff
^に変わらなければならないと思うということです。
man -t
入力を台無しにする一般的な方法はありますか?
それ以外の場合は修正方法^?
MCVE:
$ cat foo.pod
#!/usr/bin/perl -w
=head1 A
^
=cut
$ pod2man foo.pod | man -tl - | ps2pdf - foo.pdf
答え1
Troffは^
弱くなります。
問題に対する簡単な解決策(実装はそれほど簡単ではありません)は、 ^
ポッドファイルのすべての内容がtroffシーケンスに変換されるように準備することです\(ha
。内部がわからないPod.pm
ため、パッチを適用せずにpod2man
出力を送信する前に使用できるフィルタを提供しますman -t
。
仕事を複雑にするのは、pod2man
その中にいくつかの行があるということです。^
我々はそれらを変更することはできません。
pod2man foo.pod | \
perl -pe '/\.[ ]*ds[ ]*\^/ || s/(?<!\\\*)\^/\\(ha/g' | \
man -tl - | ps2pdf - foo.pdf
Perl コマンドは次のタスクを実行します。
- 行に
.ds ^
ディレクティブが含まれている場合は変更しないでください。 - それ以外の場合、各項目は交換され
^
ますが、触れません。\(ha
\*^