인체의 밑줄 친 부분 렌더링

인체의 밑줄 친 부분 렌더링

를 사용하기 위한 문서 소스를 man(1)(아마도 에서 ) 보면 다음과 같은 줄을 발견하게 될 것입니다./usr/share/man/man1/man.1.gz

.IR page [.\| section \|]\ \|.\|.\|.\|]\ \.\|.\|.\&

이것은 man 2.8.3에 의해 다음과 같이 렌더링됩니다.

page[.section] ...] ... 
----  -------

-밑줄을 나타냅니다 . 내가 이해하는 방식은 이스케이프되지 않은 공백이 제거되고 IR(이탤릭체를 사용할 수 없으므로 밑줄이 그어질 수 있음) 및 (이것은 일반 로마 글꼴입니다) 사이를 번갈아 사용하는 것입니다. 렌더링은 다음과 같습니다 -IR\|

page[.section] ...] ... 
----  -------  - -  ?-

그런데 왜 그렇지 않습니까?

답변1

문제는 문자 코드가 실제로 무엇을 하는지 오해하는 것입니다. Ossanna와 Kernighan의 Troff 사용자 매뉴얼을 보면 다음과 같은 내용을 볼 수 있습니다.

\|     1/6 em narrow space character (zero width in nroff)

따라서 실제로 글꼴 자체를 변경하는 것이 아니라 단지 공간이 부족할 뿐입니다. 글꼴 교체가 발생하는 이유는공간본문에서 (참조남자(7))--

.IR page [.\| section \|]\ \|.\|.\|.\|]\ \.\|.\|.\&

이렇게 4개로 나누어져 있어요

page
[.\|
section
\|]\ \|.\|.\|.\|]\ \.\|.\|.\&

글꼴이 그 사이를 번갈아 가며 표시되는 렌더링을 제공합니다. 페이지와 섹션에는 밑줄이 그어져 있고 다른 블록에는 밑줄이 그어져 있지 않습니다.

관련 정보