".RB" 및 ".IR"을 사용하여 옵션과 매개변수 사이의 줄 바꿈을 방지하는 방법은 무엇입니까?

".RB" 및 ".IR"을 사용하여 옵션과 매개변수 사이의 줄 바꿈을 방지하는 방법은 무엇입니까?

명령의 매뉴얼 페이지를 작성할 때 요약에는 다음이 포함됩니다.

.RB [ \-v
.IR version ]

불행하게도 요약 형식을 지정할 때 "[-v"와 "version]" 사이에 줄 바꿈이 있습니다.

이것을 어떻게 피할 수 있습니까?

명백한 것을 추가하십시오

상상력이 부족하여 여러 번 요청한 대로 문제를 보여주는 스크린샷과 함께 더 긴 입력 예가 있습니다. 서식 지정 예시 스크린샷(문제 영역이 강조표시됨)

출처는 다음과 같습니다.

.TH FOOBAR-DEMO 8 2022-03-16 "Charlie Brown" "System Administration"
.\"
.SH NAME
foobar-demo \- demonstration of manual formatting
.\"
.SH SYNOPSIS
.na
.nr hy-mode-save \n[.hy]
.hy 0
.B foobar-demo123
.RB [ \-a
.IR match_spec ]
.RB [ \-\-resource-agent
.IR match_spec ]
.RB [ \-v
.IR version ]
.RB [ \-\-version
.IR version ]
.hy \n[hy-mode-save]
.ad b
.\"
.SH DESCRIPTION
The purpose of this page is none...

답변1

Thomas Dickey는 올바른(그리고 이식 가능한) 솔루션을 가지고 있지만 귀하처럼 글꼴 선택 이스케이프 시퀀스로 인해 약간 눈에 띄지 않는다고 생각합니다. 나는 선호한다남성(7)의 글꼴 스타일 매크로입니다.

또한 \(백슬래시 공백) 이스케이프 시퀀스는 다음과 같습니다.반품깨지지 않는 공간이 조정되는 선의 너비가 고정되어 있기 때문에 눈에 띄고 불편할 수 있습니다.

그러므로 나는 \c깨지기 쉬운 공백을 삽입하지 않고 입력 라인이 끝날 수 있도록 출력 라인 연속 이스케이프 시퀀스를 사용하고, \~깨지지 않지만 조정 가능한 공백을 삽입하기 위해 이스케이프 시퀀스를 사용하는 것이 좋습니다.

이 예에서는 조정을 해제했지만 앞으로 설명할 것처럼 이것이 필수는 아닙니다. 이를 이용하면 \~문제없이 윤곽선의 선간을 균일하게 조정할 수 있습니다. 이 이스케이프 시퀀스는 현재 유지 관리되는 모든 항목에 이식 가능합니다.트로피Illumos의 프로젝트는 제외됩니다. 작은 숲(적어도) 1991년부터 사용 가능하며, Heirloom Doctools는 2005년 9월부터 사용 가능합니다.만독(이것은트로피그러나 매뉴얼 페이지는 구문 분석합니다) 2009년 9월부터니트로프2016년 9월 기준, 사용자 공간의 Plan 9트로피2022년 8월 기준.

귀하의 예에서는작은 숲등록 .hy하고작은 숲이를 구현하기 위해 확장된 보간 구문입니다. 당신이 사용하는 경우작은 숲SY, 당신은 / YS확장을 고려하고 싶을 수도 있습니다남성(7) 명령 개요 설정을 위한 매크로 패키지입니다.2 (이 매크로는 하이픈 패턴을 저장하고 복원할 수도 있습니다.)

.TH FOOBAR-DEMO 8 2022-03-16 "Charlie Brown" "System Administration"
.\"
.SH NAME
foobar-demo \- demonstration of manual formatting
.\"
.SH SYNOPSIS
.B foobar\-demo123 \" I escaped this hyphen as well.
.RB [ \-a\~\c
.IR match_spec ]
.RB [ \-\-resource-agent\~\c
.IR match_spec ]
.RB [ \-v\~\c
.IR version ]
.RB [ \-\-version\~\c
.IR version ]
.\"
.SH DESCRIPTION

답변2

매크로가 방해가 될 것입니다. 다음과 같이 공백(줄이 분할되지 않음)을 이스케이프 처리하여 문제를 해결할 수 있습니다.

.TH FOOBAR-DEMO 8 2022-03-16 "Charlie Brown" "System Administration"
.\"
.SH NAME
foobar-demo \- demonstration of manual formatting
.\"
.SH SYNOPSIS
.na
.nr hy-mode-save \n[.hy]
.hy 0
.B foobar-demo123
\fB[\-a\ \fImatch_spec\fR]
\fB[\-\-resource-agent\ \fImatch_spec\fR]
\fB[\-v\ \fIversion\fR]
\fB[\-\-version\ \fIversion\fR]
.hy \n[hy-mode-save]
.ad b
.\"
.SH DESCRIPTION
The purpose of this page is none...

답변3

아마도 이 줄에는 LF가 아닌 CRLF가 포함되어 있을 것입니다.

관련 정보