TeXworksを使ってファイルをコンパイルしたときに、
** WARNING ** Too thin line: height=1
という警告が出てきてしまうのですが、どうすれば解消できるのでしょうか。
植田さんは以前のトピック forum:1799 が成功したかどうかというコメントを
なさっていないようですが,成功しましたか?
これに対する返事を forum:1799 に付けてください。
そして,今回のトピックに対しても私だったら forum:1799 の最初のコメントと
同じことを書き込むと思います。
やはり ascmac の screen か,という印象です。
「ascmac の線は細すぎる」という警告を dvipdfmx が出しているのです。
=====
\documentclass{jsarticle}
\usepackage{ascmac}
\begin{document}
\begin{screen}
$D$ の曲面積を求めよ。
\end{screen}
\end{document}
=====
これでも同じ警告が出ます。
=====
dvipdfmx:warning: Too thin line: height=1 (1.52018e-05 bp)
dvipdfmx:warning: Please consider using "-d" option.
=====
答えは,警告に書かれているとおり「-d」オプションを使うことです。
dvipdfmx の help message にあるとおり
-d number Set PDF decimal digits (0-5) [2]
で,小数点以下の桁数を増やす効果があります。
dvipdfmx -d 5 filename.dvi
のように使います。
もし TeXworks や TeXShop で ptex2pdf を使っている場合は
ptex2pdf -l -od '-d 5' filename.tex
というコマンドを実行するように設定すれば ok です。
過去トピックを検索すると,「昔は WinShell にバグがあったがもう直った」
という話が qa:48111 のあたりにあり,そこでも「-d オプション」が既出でした。
質問は解決しましたが,この現象が気になったので…
ご興味のある方はお読みください。
> もともとこれは ascmac.sty のバグか何かのようで
と書いていらっしゃるのですが,調べてみると特に ascmac のせいではない
かもしれません。
ascmac というか tascmac.sty の screen environment の定義をみると
単純に \oval を使って枠を描くものであることが分かります。
この定義を真似て,以下のソースを作りました。
=====
\documentclass{jarticle}
\pagestyle{empty}
\begin{document}
\hbox{\oval(20,20)[tl]}
\end{document}
=====
を platex + dvipdfmx で処理すると
=====
dvipdfmx:warning: Too thin line: height=1 (1.52018e-05 bp)
dvipdfmx:warning: Please consider using "-d" option.
dvipdfmx:warning: Too thin line: width=1 (1.52018e-05 bp)
dvipdfmx:warning: Please consider using "-d" option.
=====
となります。tl のとき(top left)だけ詳しく見ると
\oval(20,20)[tl] :警告あり Too thin line: {height,width}=1 (1.52018e-05 bp)
\oval(18,18)[tl] :なし
\oval(16,16)[tl] :なし
\oval(14,14)[tl] :なし
\oval(12,12)[tl] :警告あり Too thin line: {height,width}=1 (1.52018e-05 bp)
\oval(10,10)[tl] :なし
\oval(8,8)[tl] :警告あり Too thin line: {height,width}=1 (1.52018e-05 bp)
\oval(6,6)[tl] :なし\oval(4,4)[tl] :警告あり Too thin line: {height,width}=1 (1.52018e-05 bp)
となります。lcircle10 の Type 1 font がそもそも良くない?
さっき
> lcircle10 の Type 1 font がそもそも良くない?
と書きましたが,当該の Type1 font とおぼしきファイル lcircle1.pfb を
$ t1disasm lcircle1.pfb lcircle1.ps
としてデコードしてもゴミらしきものは見当たらなかったので,Type1 font が
おかしいという発言は撤回します。続いて,先ほどのソース
=====
\documentclass{jarticle}
\pagestyle{empty}
\begin{document}
\hbox{\oval(20,20)[tl]}
\end{document}
=====
の結果得られる PDF の中身を覗いてみると
=====
10 0 obj
<<
/Length 11 0 R
>>
stream
q 1 0 0 1 72 769.88976 cm
BT /F1 9.96264 Tf 51.60649 -53.00123 Td[<13>]TJ ET
q .000015 w 51.60649 -62.76463 m 52.00498 -62.76463 l S Q
q .000015 w 61.76837 -53.00123 m 61.76837 -52.60274 l S Q
Q
endstream
endobj
=====
という記述が見つかります(見やすいように意味的に区切って改行)。
BT ... ET はフォントを指定して text object を配置する operator なので
これが Type1 font (lcircle1.pfb) のグリフを置く命令でしょう。
というわけで,残った部分を読むと
q .000015 w 51.60649 -62.76463 m 52.00498 -62.76463 l S Q
q .000015 w 61.76837 -53.00123 m 61.76837 -52.60274 l S Q
これは「太さ .000015 の線を (x1,y1) から (x2,y2) へ向かって引く」
という operator の列なので,LaTeX が直線を描いていることに原因がありそうです。
ltpictur.dtx あたりを読めば,この描画命令の出所がわかるかもしれません。
> lcircle10 の Type 1 font がそもそも良くない?
と書きましたが,当該の Type1 font とおぼしきファイル lcircle1.pfb を
$ t1disasm lcircle1.pfb lcircle1.ps
としてデコードしてもゴミらしきものは見当たらなかったので,Type1 font が
おかしいという発言は撤回します。続いて,先ほどのソース
=====
\documentclass{jarticle}
\pagestyle{empty}
\begin{document}
\hbox{\oval(20,20)[tl]}
\end{document}
=====
の結果得られる PDF の中身を覗いてみると
=====
10 0 obj
<<
/Length 11 0 R
>>
stream
q 1 0 0 1 72 769.88976 cm
BT /F1 9.96264 Tf 51.60649 -53.00123 Td[<13>]TJ ET
q .000015 w 51.60649 -62.76463 m 52.00498 -62.76463 l S Q
q .000015 w 61.76837 -53.00123 m 61.76837 -52.60274 l S Q
Q
endstream
endobj
=====
という記述が見つかります(見やすいように意味的に区切って改行)。
BT ... ET はフォントを指定して text object を配置する operator なので
これが Type1 font (lcircle1.pfb) のグリフを置く命令でしょう。
というわけで,残った部分を読むと
q .000015 w 51.60649 -62.76463 m 52.00498 -62.76463 l S Q
q .000015 w 61.76837 -53.00123 m 61.76837 -52.60274 l S Q
これは「太さ .000015 の線を (x1,y1) から (x2,y2) へ向かって引く」
という operator の列なので,LaTeX が直線を描いていることに原因がありそうです。
ltpictur.dtx あたりを読めば,この描画命令の出所がわかるかもしれません。
2016/03/29 の svn r1157 と r1158 で、
LaTeX kernel の \@oval を修正するコードが
入りました。(ltpictur.dtx, slides.dtx)
この変更を含むカーネルは 2016/03/31 にリリース
予定のようです。これで、screen 環境などで出ていた
dvipdfmx:warning: Too thin line: height=1 (1.52018e-05 bp)
dvipdfmx:warning: Please consider using "-d" option.
dvipdfmx:warning: Too thin line: width=1 (1.52018e-05 bp)
dvipdfmx:warning: Please consider using "-d" option.
という警告が消えると思います。
http://d.hatena.ne.jp/acetaminophen/20160213/1455377161
http://tug.org/pipermail/texhax/2016-February/022197.html
LaTeX kernel の \@oval を修正するコードが
入りました。(ltpictur.dtx, slides.dtx)
この変更を含むカーネルは 2016/03/31 にリリース
予定のようです。これで、screen 環境などで出ていた
dvipdfmx:warning: Too thin line: height=1 (1.52018e-05 bp)
dvipdfmx:warning: Please consider using "-d" option.
dvipdfmx:warning: Too thin line: width=1 (1.52018e-05 bp)
dvipdfmx:warning: Please consider using "-d" option.
という警告が消えると思います。
http://d.hatena.ne.jp/acetaminophen/20160213/1455377161
http://tug.org/pipermail/texhax/2016-February/022197.html