From aa9f58cd7bdffb2529e82e736476df8a7acaa70e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 5 May 2017 22:46:01 +0000 Subject: platex-tools (5may17) git-svn-id: svn://tug.org/texlive/trunk@44208 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/platex-tools/Makefile | 2 +- Master/texmf-dist/doc/latex/platex-tools/README.md | 6 +- .../doc/latex/platex-tools/plextarray.pdf | Bin 85081 -> 85068 bytes .../doc/latex/platex-tools/plextdelarray.pdf | Bin 71567 -> 71570 bytes .../doc/latex/platex-tools/pxeverysel.pdf | Bin 47098 -> 47042 bytes .../doc/latex/platex-tools/pxftnright.pdf | Bin 56869 -> 56616 bytes .../doc/latex/platex-tools/pxgentombow.pdf | Bin 0 -> 126517 bytes .../doc/latex/platex-tools/pxgentombow.tex | 180 ++++++++++++++++ .../tex/latex/platex-tools/pxeverysel.sty | 3 +- .../tex/latex/platex-tools/pxftnright.sty | 56 ++--- .../tex/latex/platex-tools/pxgentombow.sty | 232 +++++++++++++++++++++ 11 files changed, 452 insertions(+), 27 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/platex-tools/pxgentombow.pdf create mode 100644 Master/texmf-dist/doc/latex/platex-tools/pxgentombow.tex create mode 100644 Master/texmf-dist/tex/latex/platex-tools/pxgentombow.sty diff --git a/Master/texmf-dist/doc/latex/platex-tools/Makefile b/Master/texmf-dist/doc/latex/platex-tools/Makefile index 82faf1cf88e..ed3b8f60c6d 100644 --- a/Master/texmf-dist/doc/latex/platex-tools/Makefile +++ b/Master/texmf-dist/doc/latex/platex-tools/Makefile @@ -3,7 +3,7 @@ FONTMAP = -f ipaex.map -f ptex-ipaex.map all: plextarray.pdf plextdelarray.pdf pxftnright.pdf \ pxeverysel.pdf pxeveryshi.pdf \ - bounddvi.pdf bounddvi-en.pdf + bounddvi.pdf bounddvi-en.pdf pxgentombow.pdf .SUFFIXES: .tex .dvi .pdf .tex.dvi: diff --git a/Master/texmf-dist/doc/latex/platex-tools/README.md b/Master/texmf-dist/doc/latex/platex-tools/README.md index 8ef255ed19c..79fc4774014 100644 --- a/Master/texmf-dist/doc/latex/platex-tools/README.md +++ b/Master/texmf-dist/doc/latex/platex-tools/README.md @@ -43,6 +43,10 @@ and some additional packages are included. Koichi INOUE in 2004 (https://www.ma.ns.tcu.ac.jp/Pages/TeX/bounddvi.sty.html), and incorporated into this bundle by his courtesy. +- pxgentombow.sty: + Generate crop mark (called 'tombow' in Japanese) for + practical use in self-publishing. + Can be used on pLaTeX/upLaTeX. ## Character encoding @@ -69,6 +73,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)). ## Release Date -2016-12-28 +2017-05-05 Hironobu Yamashita diff --git a/Master/texmf-dist/doc/latex/platex-tools/plextarray.pdf b/Master/texmf-dist/doc/latex/platex-tools/plextarray.pdf index 66503f218e2..f247e82cb0a 100644 Binary files a/Master/texmf-dist/doc/latex/platex-tools/plextarray.pdf and b/Master/texmf-dist/doc/latex/platex-tools/plextarray.pdf differ diff --git a/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.pdf b/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.pdf index a23f1b5dc52..5ecf13e065d 100644 Binary files a/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.pdf and b/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.pdf differ diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.pdf b/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.pdf index 1497538baa6..03973d58492 100644 Binary files a/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.pdf and b/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.pdf differ diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxftnright.pdf b/Master/texmf-dist/doc/latex/platex-tools/pxftnright.pdf index 7016849f6c3..918d40a3240 100644 Binary files a/Master/texmf-dist/doc/latex/platex-tools/pxftnright.pdf and b/Master/texmf-dist/doc/latex/platex-tools/pxftnright.pdf differ diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxgentombow.pdf b/Master/texmf-dist/doc/latex/platex-tools/pxgentombow.pdf new file mode 100644 index 00000000000..a4f29b18a2c Binary files /dev/null and b/Master/texmf-dist/doc/latex/platex-tools/pxgentombow.pdf differ diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxgentombow.tex b/Master/texmf-dist/doc/latex/platex-tools/pxgentombow.tex new file mode 100644 index 00000000000..98d41b29176 --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/pxgentombow.tex @@ -0,0 +1,180 @@ +%# -*- coding: utf-8 -*- +\ifx\epTeXinputencoding\undefined\else % defined in e-pTeX (> TL2016) + \epTeXinputencoding utf8 % ensure utf-8 encoding for platex +\fi + +\documentclass[a4paper]{jsarticle} +\usepackage{doc} +\usepackage{longtable} +\usepackage{pxgentombow} +\usepackage{bounddvi} +\GetFileInfo{pxgentombow.sty} +\title{Package \textsf{pxgentombow} \fileversion} +\author{Hironobu Yamashita} +\date{\filedate} +\begin{document} + +\maketitle + +日本の出版では、たとえば版面がA4サイズの場合、一回り大きなB4サイズの用紙 +の中央にトンボ付きで印刷するということがなされることがあるようです。 +このドキュメントは、実際にA4用紙をB4用紙の中央にトンボ付きで +配置している事例です。 + +\textsf{pxgentombow}パッケージは、クラスファイルなどが想定している用紙 +サイズ情報(\verb+\paperwidth+, \verb+\paperheight+)を検知し、それより +一回り大きなサイズの用紙の中央にトンボ付きで出力するために必要な機能を +提供します。ただし、このパッケージはpapersize specialを発行しませんので、 +\verb+\special+と\textsf{bounddvi}パッケージを併用するとよいでしょう。 + +使い方の例は +\begin{verbatim} + \documentclass[a4j]{jarticle} + \usepackage{pxgentombow} + \usepackage{bounddvi} + \begin{document} + …本文… + \end{document} +\end{verbatim} +です。p\LaTeX における横組と縦組の両方で使え、また\textsf{jsclasses}の +ような版面拡大(\verb+\mag+)が使われた場合にも対応しています。 +なお、現時点ではp\LaTeX とup\LaTeX のみで動作します。 + +本パッケージは、\textsf{platex-tools}バンドルの一部として +配布されています: +\begin{verbatim} + https://github.com/aminophen/platex-tools +\end{verbatim} + +\section*{用紙サイズの自動検知による出力サイズ決定} + +パッケージにはあらかじめA系列(a0--a10)、B系列(b0--b10), C系列(c0--c10)と +letter, legal, executiveの用紙サイズが定義されています。 +ここで、B系列はISOではなくJISです。また、変形版としてa4var(a4の変形)と +b5var(b5の変形)も定義されています。 + +これらのうちいずれか(ただしa0, b0, c0を除く)の用紙サイズを検知すると、 +出力サイズが次の規則で自動的に決定されます\footnote{なお、 +C系列とletter, legal, executiveについては日本での慣習が不明の +ため、現時点ではA系列のサイズで出力することにしています。}。 +\begin{itemize} +\item 用紙サイズがA系列のとき: + 出力サイズは一回り大きなB系列 +\item 用紙サイズがB, C系列またはletter, legal, executiveのとき: + 出力サイズは一回り大きなA系列 +\end{itemize} +この場合、パッケージを読みこんだだけでトンボが付きます。 +なお、用紙サイズが横長の場合は自動的に出力も横長になり、 +縦長の場合は自動的に縦長になります。 + +よく使われる用紙サイズの例を挙げます。 +\begin{longtable}[c]{cc} + \hline + 用紙サイズ & 出力サイズ \\ + \hline + a6 & b6 \\ + b6 & a5 \\ + a5 & b5 \\ + b5 & a4 \\ + a4 & b4 \\ + b4 & a3 \\ + a3 & b3 \\ + b3 & a2 \\ + \hline + c6 & a5 \\ + c5 & a4 \\ + c4 & a3 \\ + c3 & a2 \\ + \hline + letter & a3 \\ + legal & a3 \\ + executive & a4 \\ + \hline +\end{longtable} + +\section*{用紙サイズの自動検知に失敗した場合の出力サイズ決定} + +仮に用紙サイズが定義済みのいずれとも異なる場合は、デフォルトでは +用紙の天地左右に1インチずつのノビを付けたサイズで出力します。 +たとえば、幅$100\,\mathrm{mm}$、高さ$200\,\mathrm{mm}$の用紙の場合、 +出力サイズは幅$100\,\mathrm{mm}+2\,\mathrm{in}$、 +高さ$200\,\mathrm{mm}+2\,\mathrm{in}$になります。 + +\section*{オプションによる出力サイズの明示指定} + +自動決定されるサイズと異なるサイズに出力したい場合、 +パッケージオプションで明示的に指定することができます。たとえば +\begin{verbatim} + \documentclass[a4j]{jarticle} + \usepackage[tombow-a3]{pxgentombow} + \begin{document} + …本文… + \end{document} +\end{verbatim} +とすると、出力サイズは(自動決定のb4は無視されて)a3に変わります。 +指定可能なサイズは、定義済みの用紙サイズと同じものです。 +すなわち、A系列(a0--a10)、B系列(b0--b10), C系列(c0--c10)と +a4var, b5var, letter, legal, executiveです。 +なお、ここでも用紙サイズが横長の場合は自動的に出力も横長になり、 +縦長の場合は自動的に縦長になります。 + +オプションの書式は、トンボ形式とサイズをハイフン(-)で結びます。 +トンボ形式は、p\LaTeX の標準クラスと同じで +\verb+tombow+, \verb+tombo+, \verb+mentuke+のいずれかを選びます +(\verb+tombow+はジョブ情報を表示し、\verb+tombo+は表示しません。 +また、\verb+mentuke+はトンボの線を表示しません)。 + +\section*{トンボに表示するジョブ情報の有無} + +用紙サイズの自動検知によって出力サイズが決まる場合、デフォルトでは +\makeatletter\texttt{\the\@bannertoken}\makeatother +のようにトンボにジョブ情報が出力されます。これを無効化するには +\begin{verbatim} + \documentclass[a4j]{jarticle} + \usepackage[notombowdate]{pxgentombow} + \begin{document} + …本文… + \end{document} +\end{verbatim} +とします。 + +\section*{雑記} + +発端はこの話です。 +\begin{itemize} +\item 齋藤修三郎 (@psi\_tau) on Twitter, 2017年2月9日\\ + \texttt{https://twitter.com/psi\_tau/status/829873082911248386} +\end{itemize} + +また、現在検討中の事項を挙げておきます。 +\begin{itemize} +\item 現状では、用紙の横長・縦長がそのまま出力に反映されるので、 + これを逆転させるオプションの実装。また、任意の出力サイズを + 指定できるインタインタフェースの実現。 +\item 自動で決定できる出力サイズの拡張。現状では用紙サイズが + 定義値に完全一致する場合のみ自動決定されるが、中間のサイズでも + その一回り大きなサイズに出力することは可能と思われる。 +\item 出版用途ではカラー印刷の場合に、CMYKの版ごとにトンボを作る + 必要がある。\textsf{color}パッケージが読み込まれている場合に、 + オプション次第でCKなど必要に応じた色を選べるようにするとよい + のではないか\footnote{ただし作者の本業は出版ではないので、 + 商用を含む実用には程遠いかもしれない。}。 +\item $\verb+\mag+ \ne 1000$の場合について、\textsf{jsclasses}以外での + 動作は未確認。特に、\textsf{geometry}とは共存しない可能性が高い。 +\item \verb+\stockwidth+/\verb+\stockheight+が + \verb+\paperwidth+/\verb+\paperheight+より小さい場合の動作。 + 現在は警告を出すだけとしているが、さらに天地左右1inに + フォールバックしたほうが無難だろうか。 +\item p\LaTeX/up\LaTeX 以外のサポート。直近ではLua\TeX-jaは容易なはず。 +\end{itemize} + +\section*{変更履歴} + +\begin{itemize} + \item 2017/02/10 v0.1 最初の公開版 + \item 2017/03/01 v0.4 トンボ形式の修正など + \item 2017/05/05 v0.5 \textsf{jsclasses}の$\verb+\mag+ \ne 1000$に対応、 + 最初のCTANリリース版 +\end{itemize} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty b/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty index b2cc13f916b..c18b6f3bdf5 100644 --- a/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty +++ b/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty @@ -12,7 +12,7 @@ %% package declaration \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{pxeverysel} - [2016/12/28 v0.5 Patch to everysel for (u)pLaTeX] + [2017/03/02 v0.6 Patch to everysel for (u)pLaTeX] %% previous code for ctex support has been removed in v0.5, %% as ctex has depended on pxeverysel since 2016/12/27 v2.4.7 @@ -117,6 +117,7 @@ \def\pxys@postproc{% % revert the hack for disabling duplicate font info \expandafter\let\csname ver@tracefnt.sty\endcsname\pxys@ver@tracefnt + \let\pxys@ver@tracefnt\@undefined % post handling of everysel routine \let\CheckCommand\pxys@CheckCommand \let\pxys@CheckCommand\@undefined diff --git a/Master/texmf-dist/tex/latex/platex-tools/pxftnright.sty b/Master/texmf-dist/tex/latex/platex-tools/pxftnright.sty index f16fa403624..2b5d4382b41 100644 --- a/Master/texmf-dist/tex/latex/platex-tools/pxftnright.sty +++ b/Master/texmf-dist/tex/latex/platex-tools/pxftnright.sty @@ -16,13 +16,14 @@ % * \@makefntext is redefined % (incompatible with some pLaTeX classes) % * \footnotesep is not suitable for vertical typesetting -% (rather a problem of \strutbox in pLaTeX2e kernel?) +% when used with pLaTeX 2016/11/29 or earlier +% (rather a problem of \strutbox in pLaTeX2e kernel) % so, this package provides patches. % \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{pxftnright} - [2016/09/07 v1.0 footnote layout package for pLaTeX] + [2017/02/28 v1.1 footnote layout package for pLaTeX] %% save \@makefntext definition from pLaTeX class \@ifpackageloaded{ftnright}{% @@ -36,7 +37,7 @@ \RequirePackage{ftnright} %% patches for ftnright to work fine with pLaTeX -%% This code is based on pLaTeX2e 2016/09/03 community ed. +%% This code is based on pLaTeX2e 2017/04/08 community ed. \def\@startcolumn{% \ifx\@deferlist\@empty @@ -91,34 +92,41 @@ formatted page.}% \fi \fi +%%%%% change for pLaTeX (bottom float first) \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@combinefloats + \let\pltx@textbottom\@textbottom %%% pLaTeX + \if@firstcolumn\else + \ifvoid\footins\else + \setbox\@outputbox \vbox {% + \boxmaxdepth \@maxdepth + \unvbox \@outputbox + \@textbottom %%% pLaTeX + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + }% + \let\@textbottom\relax %%% pLaTeX + \fi + \fi +%%%%% \ifvbox\@kludgeins \@makespecialcolbox \else -%%%%% change for pLaTeX (import from \@makecol in plcore) - \setbox\@outputbox \vbox to\@colht {% - \boxmaxdepth\maxdepth - \@texttop - \dimen@ \dp\@outputbox - \unvbox \@outputbox - \iftdir\vbox{\hskip\z@}\fi - \vskip -\dimen@ - \@textbottom - \if@firstcolumn\else - \ifvoid\footins\else % for pLaTeX - \vskip \skip\footins - \color@begingroup - \normalcolor - \footnoterule - \unvbox \footins - \color@endgroup - \fi - \fi - }% -%%%%% + \setbox\@outputbox\vbox to\@colht + {\boxmaxdepth\maxdepth + \@texttop + \dimen@ \dp\@outputbox + \unvbox \@outputbox + \iftdir\vbox{\hskip\z@}\fi %%% pLaTeX + \vskip -\dimen@ + \@textbottom}% \fi + \let\@textbottom\pltx@textbottom %%% pLaTeX \global\maxdepth\@maxdepth } diff --git a/Master/texmf-dist/tex/latex/platex-tools/pxgentombow.sty b/Master/texmf-dist/tex/latex/platex-tools/pxgentombow.sty new file mode 100644 index 00000000000..0a183c6481f --- /dev/null +++ b/Master/texmf-dist/tex/latex/platex-tools/pxgentombow.sty @@ -0,0 +1,232 @@ +% pxgentombow.sty +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{pxgentombow} + [2017/05/05 v0.5 Generate crop mark 'tombow'] +\def\pxgtmb@pkgname{pxgentombow} + +%% import from jsclasses +\hour\time \divide\hour by 60\relax +\@tempcnta\hour \multiply\@tempcnta 60\relax +\minute\time \advance\minute-\@tempcnta + +%% this package will use tombo feature in pLaTeX kernel +% if tombow-related option is not included in class option list, +% show info and enable it now +\iftombow\else + \PackageInfo\pxgtmb@pkgname{tombow feature enabled by \pxgtmb@pkgname} +\fi +\tombowtrue %\tombowdatetrue %% enabled by tombowdate option +\setlength{\@tombowwidth}{.1\p@}% + +%% import from jsclasses +\@bannertoken{% + \jobname\space(\number\year-\two@digits\month-\two@digits\day + \space\two@digits\hour:\two@digits\minute)} + +%% prepare dimension +\ifx\stockheight\@undefined \newdimen\stockheight \fi +\ifx\stockwidth\@undefined \newdimen\stockwidth \fi + +%% prepare flag +\newif\ifpxgtmb@switch \pxgtmb@switchfalse +\newif\ifpxgtmb@landscape \pxgtmb@landscapefalse + +%% package options part 1 +\DeclareOption{tombowdate}{\tombowdatetrue} +\DeclareOption{notombowdate}{\tombowdatefalse} + +%% register a list of candidate papersize +% * \pxgtmb@addpapersize[]{}{}{} +% used for declaration of papersize. +% when no option is specified (that is, \ifpxgtmb@switch = \iffalse), +% also used for automatic stocksize determination. +% * if = \@empty, the next is assumed. +% * if = n, stocksize is set to papersize + 2in. +\def\pxgtmb@addpapersize{\@ifnextchar[{\pxgtmb@addp@persize}{\pxgtmb@addp@persize[\@empty]}} +\def\pxgtmb@addp@persize[#1]#2#3#4{% + % get current papersize and search through known standard in ascending order + \ifx\pxgtmb@guessedtombow\@empty + \ifx\pxgtmb@guessedpaper\@empty + % shorter edge -> \@tempdima, longer edge -> \@tempdimb + \ifdim\paperwidth>\paperheight\relax + \pxgtmb@landscapetrue + \@tempdima\paperheight \@tempdimb\paperwidth + \else + \pxgtmb@landscapefalse + \@tempdima\paperwidth \@tempdimb\paperheight + \fi + % \@ovri and \@ovro are used temporarily (safe enough) + \@ovri=#3\relax + \@ovro=#4\relax + % if \mag != 1000 and \inv@mag is defined, assume jsclasses-style \mag employment + \ifnum\mag=\@m\else \ifx\inv@mag\@undefined\else + \@ovri=\inv@mag\@ovri\relax + \@ovro=\inv@mag\@ovro\relax + \fi \fi + % compare + \ifdim\@tempdima=\@ovri\relax \ifdim\@tempdimb=\@ovro\relax + \def\pxgtmb@guessedpaper{#2}% + \ifx#1\@empty\else + \def\pxgtmb@guessedtombow{#1}% + \if n\pxgtmb@guessedtombow\else + \ExecuteOptions{tombow-#1}% package defaults to tombowdatetrue + \pxgtmb@switchfalse + \fi + \fi + \fi \fi + \else + \def\pxgtmb@guessedtombow{#2}% save for console message + \pxgtmb@setstock{#3}{#4}% set stockwidth/height + \fi\fi + \DeclareOption{tombow-#2}{% + \pxgtmb@switchtrue + \tombowdatetrue + \pxgtmb@setstock{#3}{#4}% + }% + \DeclareOption{tombo-#2}{% + \pxgtmb@switchtrue + \tombowdatefalse + \pxgtmb@setstock{#3}{#4}% + }% + \DeclareOption{mentuke-#2}{% + \pxgtmb@switchtrue + \tombowdatefalse + \setlength{\@tombowwidth}{\z@}% + \pxgtmb@setstock{#3}{#4}% + }% +} +\def\pxgtmb@setstock#1#2{% + \ifpxgtmb@landscape + \setlength\stockwidth{#2}% + \setlength\stockheight{#1}% + \else + \setlength\stockwidth{#1}% + \setlength\stockheight{#2}% + \fi + % if \mag != 1000 and \inv@mag is defined, assume jsclasses-style \mag employment + \ifnum\mag=\@m\else \ifx\inv@mag\@undefined\else + \stockwidth=\inv@mag\stockwidth\relax + \stockheight=\inv@mag\stockheight\relax + \fi \fi +}% +\@onlypreamble\pxgtmb@addpapersize +\@onlypreamble\pxgtmb@addp@persize +\@onlypreamble\pxgtmb@setstock + +%% initialize before search +\def\pxgtmb@guessedpaper{} +\def\pxgtmb@guessedtombow{} +\@onlypreamble\pxgtmb@guessedpaper +\@onlypreamble\pxgtmb@guessedtombow + +%% package options part 2 +% ISO A series <=> JIS B series in the ascending order +\pxgtmb@addpapersize{a10}{26mm}{37mm} +\pxgtmb@addpapersize{b10}{32mm}{45mm} +\pxgtmb@addpapersize{a9}{37mm}{52mm} +\pxgtmb@addpapersize{b9}{45mm}{64mm} +\pxgtmb@addpapersize{a8}{52mm}{74mm} +\pxgtmb@addpapersize{b8}{64mm}{91mm} +\pxgtmb@addpapersize{a7}{74mm}{105mm} +\pxgtmb@addpapersize{b7}{91mm}{128mm} +\pxgtmb@addpapersize{a6}{105mm}{148mm} +\pxgtmb@addpapersize{b6}{128mm}{182mm} +\pxgtmb@addpapersize{a5}{148mm}{210mm} +\pxgtmb@addpapersize{b5}{182mm}{257mm} +\pxgtmb@addpapersize{a4}{210mm}{297mm} +\pxgtmb@addpapersize{b4}{257mm}{364mm} +\pxgtmb@addpapersize{a3}{297mm}{420mm} +\pxgtmb@addpapersize{b3}{364mm}{515mm} +\pxgtmb@addpapersize{a2}{420mm}{594mm} +\pxgtmb@addpapersize{b2}{515mm}{728mm} +\pxgtmb@addpapersize{a1}{594mm}{841mm} +\pxgtmb@addpapersize{b1}{728mm}{1030mm} +\pxgtmb@addpapersize[n]{a0}{841mm}{1189mm} +\pxgtmb@addpapersize[n]{b0}{1030mm}{1456mm} + +%% package options part 3 +% ISO C series +\pxgtmb@addpapersize[a9]{c10}{28mm}{40mm} +\pxgtmb@addpapersize[a8]{c9}{40mm}{57mm} +\pxgtmb@addpapersize[a7]{c8}{57mm}{81mm} +\pxgtmb@addpapersize[a6]{c7}{81mm}{114mm} +\pxgtmb@addpapersize[a5]{c6}{114mm}{162mm} +\pxgtmb@addpapersize[a4]{c5}{162mm}{229mm} +\pxgtmb@addpapersize[a3]{c4}{229mm}{354mm} +\pxgtmb@addpapersize[a2]{c3}{324mm}{458mm} +\pxgtmb@addpapersize[a1]{c2}{458mm}{648mm} +\pxgtmb@addpapersize[a0]{c1}{648mm}{917mm} +\pxgtmb@addpapersize[n]{c0}{917mm}{1297mm} +% misc +\pxgtmb@addpapersize[b4]{a4j}{210mm}{297mm} +\pxgtmb@addpapersize[b5]{a5j}{148mm}{210mm} +\pxgtmb@addpapersize[a3]{b4j}{257mm}{364mm} +\pxgtmb@addpapersize[a4]{b5j}{182mm}{257mm} +\pxgtmb@addpapersize[b4]{a4var}{210mm}{283mm} +\pxgtmb@addpapersize[a4]{b5var}{182mm}{230mm} +\pxgtmb@addpapersize[a3]{letter}{8.5in}{11in} +\pxgtmb@addpapersize[a3]{legal}{8.5in}{14in} +\pxgtmb@addpapersize[a4]{executive}{7.25in}{10.5in} + +%% default options +\ExecuteOptions{tombowdate}% package defaults to tombowdatetrue +\ProcessOptions + +%% display search result +% if any of explicit size option is specified, \ifpxgtmb@switch = \iftrue. +% otherwise, automatic size detection should be successful. +\ifpxgtmb@switch\else + % check status + \@tempcnta=\z@\relax + \ifx\pxgtmb@guessedpaper\@empty + \advance\@tempcnta\@ne\relax + \fi + \ifx\pxgtmb@guessedtombow\@empty + \advance\@tempcnta\tw@\relax + \else\if n\pxgtmb@guessedtombow + \advance\@tempcnta\tw@\relax + \fi\fi + % message + \ifodd\@tempcnta + %\PackageWarningNoLine\pxgtmb@pkgname{% + % No size option specified, and automatic papersize\MessageBreak + % detection also failed} + \else + \typeout{***** Package \pxgtmb@pkgname\space detected \pxgtmb@guessedpaper paper. *****} + \fi + \ifnum\@tempcnta>\@ne\relax + \PackageWarningNoLine\pxgtmb@pkgname{% + Output size cannot be determined. Please add size\MessageBreak + option (e.g. `tombow-a4') to specify output size.\MessageBreak + Falling back to +1in ..} + \stockwidth\paperwidth \advance\stockwidth 2in + \stockheight\paperheight \advance\stockheight 2in + \else + \typeout{***** Now the output size is automatically set to \pxgtmb@guessedtombow. *****} + \fi +\fi + +%% warnings +\ifdim\stockwidth<\paperwidth + \PackageWarningNoLine\pxgtmb@pkgname{% + \string\stockwidth\space is smaller than \string\paperwidth!\MessageBreak + Is this really what you want?} +\fi +\ifdim\stockheight<\paperheight + \PackageWarningNoLine\pxgtmb@pkgname{% + \string\stockheight\space is smaller than \string\paperheight!\MessageBreak + Is this really what you want?} +\fi + +%% make tombow box according to (no)tombowdate & \@tombowwidth status +\maketombowbox + +%% shift amount +\hoffset .5\stockwidth +\advance\hoffset -.5\paperwidth +\advance\hoffset-1truein\relax +\voffset .5\stockheight +\advance\voffset -.5\paperheight +\advance\voffset-1truein\relax + +\endinput -- cgit v1.2.3