Last active
April 12, 2018 13:01
-
-
Save aminophen/ea488b160676e711d03125e6a41a896a to your computer and use it in GitHub Desktop.
デジタルトンボをつける何か
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%#!pdflatex | |
% | |
% 動作には,拙作 gentombow / pxgentombow パッケージのセットの最新版が必要。 | |
% TeX Live 2018 pretest の最新版か, | |
% 最新版 (2018/03/16) の gentombow.sty と pxgentombow.sty のセットを | |
% ダウンロードしてください → https://github.com/aminophen/gentombow | |
% | |
% この例では pdflatex を使っている。 | |
% なお,(u)pLaTeX + dvipdfmx あるいは (u)pLaTeX + dvips で似たことをするのは少し難しい。 | |
% (\special を一回でなく毎ページ発行しなければならないはず) | |
% | |
% PDF の寸法は pt 単位でなく bp 単位で与えないといけないので無理矢理です(計算合ってる?) | |
% | |
\documentclass[a4paper]{article} | |
\usepackage{graphicx} | |
\usepackage{gentombow} | |
\makeatletter | |
% 800/803 = 72/72.27 (cf. 1in = 72.27pt = 72bp) | |
\edef\pxgtmb@PDF@crop@ur@x{\strip@pt\dimexpr\stockwidth*800/803} | |
\edef\pxgtmb@PDF@crop@ur@y{\strip@pt\dimexpr\stockheight*800/803} | |
\edef\pxgtmb@PDF@trim@ll@x{\strip@pt\dimexpr(\stockwidth-\paperwidth)*400/803} | |
\edef\pxgtmb@PDF@trim@ll@y{\strip@pt\dimexpr(\stockheight-\paperheight)*400/803} | |
\edef\pxgtmb@PDF@trim@ur@x{\strip@pt\dimexpr(\stockwidth+\paperwidth)*400/803} | |
\edef\pxgtmb@PDF@trim@ur@y{\strip@pt\dimexpr(\stockheight+\paperheight)*400/803} | |
\edef\pxgtmb@PDF@bleed@ll@x{\strip@pt\dimexpr\pxgtmb@PDF@trim@ll@x pt-3mm*800/803} | |
\edef\pxgtmb@PDF@bleed@ll@y{\strip@pt\dimexpr\pxgtmb@PDF@trim@ll@y pt-3mm*800/803} | |
\edef\pxgtmb@PDF@bleed@ur@x{\strip@pt\dimexpr\pxgtmb@PDF@trim@ur@x pt+3mm*800/803} | |
\edef\pxgtmb@PDF@bleed@ur@y{\strip@pt\dimexpr\pxgtmb@PDF@trim@ur@y pt+3mm*800/803} | |
\edef\pxgtmb@PDF@CTM{% | |
% CropBox: same as MediaBox, large paper size | |
/CropBox [0 0 \pxgtmb@PDF@crop@ur@x\space \pxgtmb@PDF@crop@ur@y] | |
% BleedBox: final paper size + surrounding 3mm | |
/BleedBox [\pxgtmb@PDF@bleed@ll@x\space | |
\pxgtmb@PDF@bleed@ll@y\space | |
\pxgtmb@PDF@bleed@ur@x\space | |
\pxgtmb@PDF@bleed@ur@y] | |
% TrimBox: final paper size | |
/TrimBox [\pxgtmb@PDF@trim@ll@x\space | |
\pxgtmb@PDF@trim@ll@y\space | |
\pxgtmb@PDF@trim@ur@x\space | |
\pxgtmb@PDF@trim@ur@y] | |
% ArtBox: same as TrimBox | |
/ArtBox [\pxgtmb@PDF@trim@ll@x\space | |
\pxgtmb@PDF@trim@ll@y\space | |
\pxgtmb@PDF@trim@ur@x\space | |
\pxgtmb@PDF@trim@ur@y] | |
} | |
\ifx\pdfpageattr\@undefined | |
\special{papersize=\the\stockwidth,\the\stockheight} | |
% [FIXME] effective for first page only | |
\edef\pxgtmb@PDF@CTM{pdf:put @thispage << \pxgtmb@PDF@CTM >>} | |
\expandafter\special\expandafter{\pxgtmb@PDF@CTM} | |
\else | |
\pdfpagewidth\stockwidth | |
\pdfpageheight\stockheight | |
% effective for all pages | |
\expandafter\pdfpageattr\expandafter{\pxgtmb@PDF@CTM} | |
\fi | |
\makeatother | |
\begin{document} | |
Hello!\newpage | |
test! | |
\end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
このコードを元に,計算をもう少し簡単なコードに書き直したものが aminophen/gentombow@05439b4 である。そちらでは atbegshi パッケージを使って全ページに special を書くようにしたり,「pdfTeX で DVI 出力な場合」も正しくハンドルした。