チケット #36885

\pdfsavepos と \mag

登録: 2016-12-19 12:44 最終更新: 2016-12-20 02:32

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
オープン
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし

詳細

TeX & LaTeX Advent Calendar 2016VoD氏の記事に詳細が報告されていますように,\mag が用いられたときの \pdfsavepos の原点位置が,

  • 水平方向は 1truein と 1in の差
  • 垂直方向は 1truein と 1in の差および \pdfpageheight と \paperheight の差の和

の分だけずれており,TeXconf16 でのh7kさんの発表資料21ページに表明されている仕様とは異なる値になっているようです。

チケットの履歴 (3 件中 3 件表示)

2016-12-19 12:44 更新者: doratex
  • 新しいチケット "\pdfsavepos と \mag" が作成されました
2016-12-19 19:25 更新者: h7k
コメント

まだ水平位置についてしか調べていませんが,次のソースを走らせてみました:

\mag 0500

\ifdefined\pdfoutput \pdfoutput0 %%% 
  \ifnum\pdfoutput=1
    \pdfhorigin1truein \pdfvorigin1truein 
  \fi
\fi

\setbox0=\hbox{\noindent\pdfsavepos%
  \vrule depth1truein height0pt width1pt\kern-1pt
  \vrule width1truein height0pt depth1pt}
\shipout\box0

\message{\the\pdflastxpos}
\bye

2ページ目の罫線は,pdf では 左上隅から 1truein ずつずれたところに,1 truein の長さで引かれます.

  • pdftex の pdf モードでは \pdfhorigin = 1truein (pdfTeX のマニュアルでそう再設定すべき,と書かれている)なので

\message の結果は 9472573 (1 truein) です.

  • eptex & dvipdfmx では, \message の結果は 4736286 (1in) です.
  • pdftex の dvi モードで dvi を作り,dvipdmfx で pdf 変換しても同様の結果です.

そのため,「現行の仕様は pdftex の dvi モードと同様なので,直さない」と言うこともできるかもしれませんし, 「pdftex の dvi モードもろとも直す」という選択肢もあるでしょう.

2016-12-20 02:32 更新者: doratex
コメント

なるほど……。調査ありがとうございます。

「pdftex の dvi モードもろとも直す」というのが理想的かと思いますが,今さら直すというのもちょっと影響が大きいかもしれませんね。

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする