Ticket #36885

\pdfsavepos と \mag

Eröffnet am: 2016-12-19 12:44 Letztes Update: 2016-12-20 02:32

Auswertung:
Verantwortlicher:
(Keine)
Typ:
Status:
Offen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine

Details

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

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

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

Ticket-Verlauf (3/3 Historien)

2016-12-19 12:44 Aktualisiert von: doratex
  • New Ticket "\pdfsavepos と \mag" created
2016-12-19 19:25 Aktualisiert von: h7k
Kommentar

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

\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 Aktualisiert von: doratex
Kommentar

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

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

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden