ベストアンサー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 ...
簡単に変更できる2つの部分を追加しました。線の開始は、/lh
線の厚さを高さの一部として定義します。.05
線を太く(つまり太く)変更します。次の行は、/y2
下線をボックスの高さの0.2倍上に移動することから始まります。これは前の質問で修正されたものに対応します。
bggrayエスケープ文字がテキストの横にあり、末尾のスペースに下線が引かれていないことを注意して確認する必要があります。例えば、
enscript -fCourierBold12 -e@ -p- | ...
@bggray{0.01}underlined text@bggray{1} normal text