그러면 Ubuntu의 콘솔이 매뉴얼에 따라 렌더링되지 않는 이유는 무엇입니까 man
? 콘솔에 입력하면 man man
사본이 man
표시됩니다. 예를 들어, italic text replace with appropriate argument.
내가 볼 수 있는 것은 문자열뿐입니다.기울임꼴 텍스트이것이 강조됩니다. 이 예는 왜 이탤릭체로 표시되지 않고 밑줄이 그어져 있습니까? 그런가요, 아니면 내 콘솔이 다른 콘솔과 다르게 텍스트를 렌더링하기 때문에 누군가 기울임꼴 텍스트를 볼 수 있습니까?
답변1
이탤릭체를 인쇄하지 않는 사람 이 아니라 책임이 있는 것은 man
포맷터입니다 . roff
역사적인 이유 때문입니다.
텍스트 모드는 그래픽이 사용 가능하기 오래 전에 고대에 개발되었으며 이러한 텍스트 모드는 호환성을 위해 최신 그래픽 카드에 상속되었습니다... 그리고 이러한 모드(실제 콘솔에서 여전히 사용됨)는 이탤릭체 없이는 완전히 불가능합니다.
따라서 텍스트 포맷터가 출력을 텍스트 콘솔에 인쇄할 때 /// roff
기울임꼴 밑줄이 대체됩니다. html을 대상 형식으로 지정하면 문서의 기울임꼴 텍스트가 기울임꼴로 표시됩니다.groff
troff
nroff
또한 GUI( xterm
, gnome-terminal
등)를 사용하는 거의 모든 최신 터미널에서는 이탤릭체 글꼴을 그릴 수 있습니다. 그냥 실행하세요:
echo -e "\e[3mabcd\e[23m"
기울임꼴 텍스트가 표시되어야 합니다.
terminfo에 올바른 기울임꼴 코드가 있습니다.
infocmp $TERM | grep -e sitm -e ritm
당신은 아마도 sitm=\E[3m
및 를 보게 될 것입니다 ritm=\E[23m
.
아마도 먼 미래에 텍스트-비디오 모드가 더 이상 사용되지 않고 비디오 카드에서 사라질 때, 그리고 그 후 1~2년 이내에 groff
변경 사항을 보게 될 것입니다...아마도...
답변2
언제나처럼설명했다역사적인 이유로 기본적으로 이탤릭체가 표시되지 않습니다. 그러나 이탤릭체를 인식하는 터미널(에뮬레이터)을 사용하는 경우 iman
다음과 같이 파이프를 사용하는 함수를 정의할 수 있습니다.
iman() {
zcat -f $(command man -w "$1") |
tbl |
groff -man -Tutf8 -P-i |
"${PAGER:-less}"
}
그런 다음 다음과 같이 호출하십시오.
iman ls
내 *xterm
에뮬레이터에서는 밑줄이 표시되었던 위치를 이탤릭체로 표시했습니다.