man/troff: ^를 ^로 변환

man/troff: ^를 ^로 변환

후속작입니다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는 ^약해집니다.

문제에 대한 간단한 해결책(구현이 그렇게 간단하지 않음)은 ^pod 파일의 모든 내용이 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\*^

관련 정보