답변1
다른 방법을 찾을 수 없다면 언제든지 enscript의 특수 이스케이프를 위해 생성된 PostScript를 편집할 수 있습니다 bggray
(귀하의 이전 답변과 유사).질문).
입력에 특수 이스케이프 문자 bggray{0.5}
( 를 사용하여 변경할 수 있음 -e
)를 사용하면 enscript는 PostScript 함수를 호출하여 bgs
배경 그림자를 그리는 코드를 출력합니다. 출력 enscript
과 입력 사이에서 이 기능을 수정하여 배경 상자 대신 가는 선을 그리는 ps2pdf
등 특정 음영 값을 찾을 수 있습니다 .0.01
내 버전 은 다음과 같이 enscript
정의됩니다 .bgs
/bgs { % x y height blskip gray str -> - show string with bg color
...
x y blskip sub str stringwidth pop height Box
x y ... Box
sed
스크립트를 사용하여 줄거리를 변경할 수 있습니다
enscript ... |
sed '
/^\/bgs/,/^}/{
/x y blskip sub str stringwidth pop height Box/{
s/^/ %--% /
a\
/lh height .05 mul def \
/y2 y height .2 mul add def \
gray 0.01 eq { x y2 blskip sub str stringwidth pop lh Box /gray 0 store } \
{ x y blskip sub str stringwidth pop height Box } ifelse
}
}' |
ps2pdf ...
쉽게 변경할 수 있는 두 부분을 추가했습니다. 선 시작은 /lh
선의 두께를 높이의 일부로 정의합니다. .05
선을 더 두껍게(즉, 더 두껍게) 변경합니다 . 다음 줄은 /y2
밑줄을 상자 높이의 0.2배 위로 이동하는 것으로 시작합니다. 이는 이전 질문에서 수정한 내용에 해당합니다.
bggray 이스케이프 문자가 텍스트 옆에 있고 후행 공백으로 밑줄이 그어져 있지 않은지 주의해서 확인해야 합니다. 예를 들어,
enscript -fCourierBold12 -e@ -p- | ...
@bggray{0.01}underlined text@bggray{1} normal text