texlive[47738] Master/texmf-dist: gentombow (17may18)
commits+karl at tug.org
commits+karl at tug.org
Thu May 17 22:25:13 CEST 2018
Revision: 47738
http://tug.org/svn/texlive?view=revision&revision=47738
Author: karl
Date: 2018-05-17 22:25:12 +0200 (Thu, 17 May 2018)
Log Message:
-----------
gentombow (17may18)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/gentombow/Makefile
trunk/Master/texmf-dist/doc/latex/gentombow/README.md
trunk/Master/texmf-dist/doc/latex/gentombow/gentombow.pdf
trunk/Master/texmf-dist/doc/latex/gentombow/gentombow.tex
trunk/Master/texmf-dist/doc/latex/gentombow/pxgentombow.pdf
trunk/Master/texmf-dist/doc/latex/gentombow/pxgentombow.tex
trunk/Master/texmf-dist/tex/latex/gentombow/gentombow.sty
trunk/Master/texmf-dist/tex/latex/gentombow/pxgentombow.sty
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.pdf
trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.tex
Modified: trunk/Master/texmf-dist/doc/latex/gentombow/Makefile
===================================================================
--- trunk/Master/texmf-dist/doc/latex/gentombow/Makefile 2018-05-17 20:23:50 UTC (rev 47737)
+++ trunk/Master/texmf-dist/doc/latex/gentombow/Makefile 2018-05-17 20:25:12 UTC (rev 47738)
@@ -3,7 +3,7 @@
TEXMF = $(shell kpsewhich -var-value=TEXMFHOME)
all: bounddvi.pdf bounddvi-en.pdf \
- gentombow.pdf pxgentombow.pdf
+ gentombow.pdf gentombow-ja.pdf #pxgentombow.pdf
.SUFFIXES: .tex .dvi .pdf
.tex.dvi:
@@ -24,13 +24,13 @@
.PHONY: install clean
install:
- mkdir -p ${TEXMF}/doc/platex/gentombow
- cp ./Makefile ${TEXMF}/doc/platex/gentombow/
- cp ./LICENSE ${TEXMF}/doc/platex/gentombow/
- cp ./README.md ${TEXMF}/doc/platex/gentombow/
- cp ./*.pdf ${TEXMF}/doc/platex/gentombow/
- cp ./*.tex ${TEXMF}/doc/platex/gentombow/
- mkdir -p ${TEXMF}/tex/platex/gentombow
- cp ./*.sty ${TEXMF}/tex/platex/gentombow/
+ mkdir -p ${TEXMF}/doc/latex/gentombow
+ cp ./Makefile ${TEXMF}/doc/latex/gentombow/
+ cp ./LICENSE ${TEXMF}/doc/latex/gentombow/
+ cp ./README.md ${TEXMF}/doc/latex/gentombow/
+ cp ./*.pdf ${TEXMF}/doc/latex/gentombow/
+ cp ./*.tex ${TEXMF}/doc/latex/gentombow/
+ mkdir -p ${TEXMF}/tex/latex/gentombow
+ cp ./*.sty ${TEXMF}/tex/latex/gentombow/
clean:
rm -f *.dvi *.pdf
Modified: trunk/Master/texmf-dist/doc/latex/gentombow/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/gentombow/README.md 2018-05-17 20:23:50 UTC (rev 47737)
+++ trunk/Master/texmf-dist/doc/latex/gentombow/README.md 2018-05-17 20:25:12 UTC (rev 47738)
@@ -6,17 +6,12 @@
## Bundle contents
-- pxgentombow.sty:
+- gentombow.sty:
Generate crop marks (called 'tombow' in Japanese) for
practical use in self-publishing.
- This package requires a core 'tombow' feature provided by
- pLaTeX/upLaTeX, LuaTeX-ja or gentombow (described below).
-- gentombow.sty:
- Provides the core 'tombow' feature if not available.
- The pLaTeX/upLaTeX kernel and LuaTeX-ja package have
- a native 'tombow' feature, but the others
- (pdfLaTeX, XeLaTeX etc.) do not;
- in the latter case, this package provides a counterpart.
+ It provides the core 'tombow' feature if not available.
+- pxgentombow.sty:
+ (Superseded by gentombow.sty; for compatibility only.)
- bounddvi.sty:
Set papersize special to DVI file.
Can be used on LaTeX/pLaTeX/upLaTeX (with DVI output mode)
@@ -34,8 +29,8 @@
## Installation
-- *.sty -> $TEXMF/tex/platex/gentombow
-- *.tex, *.pdf -> $TEXMF/doc/platex/gentombow
+- *.sty -> $TEXMF/tex/latex/gentombow
+- *.tex, *.pdf -> $TEXMF/doc/latex/gentombow
## Repository
@@ -49,6 +44,6 @@
## Release Date
-2018-03-16
+2018-05-17
Hironobu Yamashita
Added: trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.pdf 2018-05-17 20:23:50 UTC (rev 47737)
+++ trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.pdf 2018-05-17 20:25:12 UTC (rev 47738)
Property changes on: trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.tex 2018-05-17 20:25:12 UTC (rev 47738)
@@ -0,0 +1,438 @@
+%# -*- coding: utf-8 -*-
+\ifx\epTeXinputencoding\undefined\else % defined in e-pTeX (> TL2016)
+ \epTeXinputencoding utf8 % ensure utf-8 encoding for platex
+\fi
+
+\documentclass[a4paper,dvipdfmx]{jsarticle}
+\usepackage{doc}
+\makeatletter
+%%% import from jltxdoc.cls
+\def\verb{\relax\ifmmode\hbox\else\leavevmode\vadjust{}\fi
+ \bgroup \let\do\do at noligs \verbatim at nolig@list
+ \ttfamily \verb at eol@error \let\do\@makeother \dospecials
+ \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
+\xspcode"5C=3 %% \
+\xspcode"22=3 %% "
+%%% dangerous bend
+\font\man=manfnt at 10pt
+\def\dbend{\leavevmode\raise0pt\hbox{\man\char'177}}
+\newenvironment{dangerous}{%
+ \ifnum\@listdepth>\z@
+ \GenericError{}{Do not use `dangerous' environment inside any list}{}{}
+ \fi
+ \par\addvspace\medskipamount
+ \@tempdima=\dimexpr\textwidth-2zw\relax\small
+ \divide\@tempdima by\dimexpr1zw\relax\@tempcnta=\@tempdima
+ \leftskip=\dimexpr\textwidth-\@tempcnta zw\relax
+ \@totalleftmargin\dimexpr\leftskip+0zw
+ \linewidth=\dimexpr\@tempcnta zw-0zw
+ \parindent1zw\noindent\kern-\leftskip\hbox to\leftskip{\dbend\hss}%
+ \everypar{\everypar{}}\ignorespaces
+}{\par\addvspace\medskipamount}
+%%% logo
+\def\pTeX{p\kern-.15em\TeX}
+\def\epTeX{$\varepsilon$-\pTeX}
+%%% misc
+\newcommand{\Meta}[1]{$\langle$\mbox{}\textit{#1}\mbox{}$\rangle$}
+\newcommand{\jMeta}[1]{$\langle$\mbox{}\textsf{#1}\mbox{}$\rangle$}
+%%%
+\makeatother
+\usepackage{longtable}
+\usepackage[pdfbox]{gentombow}
+%\usepackage{bounddvi}
+\GetFileInfo{gentombow.sty}
+\title{Package \textsf{gentombow} \fileversion}
+\author{Hironobu Yamashita}
+\date{\filedate}
+\begin{document}
+
+\maketitle
+
+\begin{center}
+English version is available: see \textsf{gentombow.pdf}!
+\end{center}
+
+日本の出版では、たとえば仕上がり寸法がA4サイズの場合、一回り大きな
+B4サイズの用紙の中央にトンボ付きで印刷することがあるようです。
+このドキュメントは、実際にA4用紙をB4用紙の中央にトンボ付きで
+配置している事例です。
+
+\textsf{gentombow}パッケージは、クラスファイルなどが想定している用紙
+サイズ情報(\verb+\paperwidth+, \verb+\paperheight+)を検知し、
+それより一回り大きなサイズの用紙の中央にトンボ付きで出力するために
+必要な機能を提供します。使い方の例は
+\begin{verbatim}
+ \documentclass[a4j]{jarticle}
+ \usepackage{gentombow}
+ \usepackage{bounddvi}
+ \begin{document}
+ …本文…
+ \end{document}
+\end{verbatim}
+です。
+
+任意の\LaTeX フォーマットで利用可能です。具体的には
+\begin{itemize}
+\item p\LaTeX, up\LaTeX (縦組にも対応)
+\item Lua\LaTeX (Lua\TeX-ja使用の場合は縦組にも対応)
+\item pdf\LaTeX
+\item Xe\LaTeX
+\end{itemize}
+での動作を確認しています。また、\textsf{jsclasses}のような
+版面拡大(\verb+\mag+)が使われた場合にも対応しています。
+
+ただし、本パッケージは実際の出力サイズ指定を発行しませんので、
+以下のいずれかのパッケージと併用するとよいでしょう:
+\begin{itemize}
+\item \textsf{bounddvi}パッケージ(\textsf{gentombow}バンドル)
+\item \textsf{bxpapersize}パッケージ(ZRさん作)
+\item \textsf{graphicx}パッケージの2016年以降の版
+ (\texttt{setpagesize}機能つきのもの)
+\end{itemize}
+\textsf{bounddvi}パッケージは本パッケージと同じく
+\textsf{gentombow}バンドルに収録されていますが、
+名前のとおりDVIを経由する場合にしか利用できません。
+一方、\textsf{bxpapersize}パッケージは汎用で、Lua\TeX のような
+PDF直接出力の場合にも利用できます。また、\textsf{graphicx}パッケージ
+は画像挿入用のパッケージですが、2016年以降は自動的に出力サイズ指定も
+行うようです($\verb+\mag+ \ne 1000$の場合には機能しません)。
+
+本パッケージは、\textsf{gentombow}バンドルの一部として
+配布されています:
+\begin{verbatim}
+ https://github.com/aminophen/gentombow
+\end{verbatim}
+2017年までは\textsf{platex-tools}バンドルの一部でしたが、
+2018年以降は独立させてあります。また、v0.9eまでは
+(u)p\LaTeX とLua\TeX-ja専用の\textsf{pxgentombow}パッケージを
+用意していましたが、v0.9f以降は\textsf{gentombow}に一本化しました。
+
+\section{簡単な使用法}
+
+はじめに、パッケージをオプション指定なしに使用する場合の機能を
+説明します。
+
+\subsection{用紙サイズの自動検知による出力サイズ決定}
+
+パッケージにはあらかじめA系列(\texttt{a0}--\texttt{a10})、
+B系列(\texttt{b0}--\texttt{b10})、C系列(\texttt{c0}--\texttt{c10})と
+\texttt{letter}, \texttt{legal}, \texttt{executive}の用紙サイズが
+定義されています。ここで、B系列はISOではなくJISです。
+また、変型版として\texttt{a4var}(\texttt{a4}の変型)と
+\texttt{b5var}(\texttt{b5}の変型)も定義されています。
+
+これらのうちいずれか(ただし\texttt{a0}, \texttt{b0}, \texttt{c0}を
+除く)の用紙サイズを検知すると、
+出力サイズが次の規則で自動的に決定されます\footnote{なお、
+C系列と\texttt{letter}, \texttt{legal}, \texttt{executive}については
+日本での慣習が不明の
+ため、現時点ではA系列のサイズで出力することにしています。}。
+\begin{itemize}
+\item 用紙サイズがA系列のとき:
+ 出力サイズは一回り大きなB系列
+\item 用紙サイズがB, C系列または
+ \texttt{letter}, \texttt{legal}, \texttt{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}
+
+\subsection*{参考:用紙サイズの自動検知に失敗した場合の出力サイズ決定}
+
+仮に用紙サイズが定義済みのいずれとも異なる場合は、デフォルトでは
+用紙の天地左右に1インチずつのノビを付けたサイズで出力します。
+たとえば、幅$100\,\mathrm{mm}$、高さ$200\,\mathrm{mm}$の用紙の場合、
+出力サイズは幅$100\,\mathrm{mm}+2\,\mathrm{in}$、
+高さ$200\,\mathrm{mm}+2\,\mathrm{in}$になります。
+
+\subsection{トンボへのバナーの出力}
+
+デフォルトでは\makeatletter\texttt{\the\@bannertoken}\makeatother
+のような形式で、トンボにジョブ情報(処理ファイル名と日付)を示すバナーが
+出力されます。これは、\pLaTeX 向けの日本語クラスファイルの多くで
+利用可能な\verb+tombow+オプションと同様です。
+ただし、クラスオプションに\verb+tombo+(ジョブ情報を出力しない)または
+\verb+mentuke+(トンボの線を表示しない)が指定されている場合は、
+この設定が引き継がれます。
+
+\section{パッケージオプション}
+
+パッケージオプションによって、出力サイズやバナーのジョブ情報の有無を
+指定する方法を説明します。
+
+\subsection{出力サイズの明示指定}
+
+自動決定されるサイズと異なるサイズに出力したい場合、
+パッケージオプションで明示的に指定することができます。たとえば
+\begin{verbatim}
+ \documentclass[a4j]{jarticle}
+ \usepackage[tombow-a3]{gentombow}
+ \begin{document}
+ …本文…
+ \end{document}
+\end{verbatim}
+とすると、出力サイズは(自動決定のb4は無視されて)a3に変わります。
+指定可能なサイズは、定義済みの用紙サイズと同じものです。すなわち、
+A系列(\texttt{a0}--\texttt{a10})、
+B系列(\texttt{b0}--\texttt{b10})、
+C系列(\texttt{c0}--\texttt{c10})と
+\texttt{a4var}, \texttt{b5var},
+\texttt{letter}, \texttt{legal}, \texttt{executive}です。
+なお、ここでも用紙サイズが横長の場合は自動的に出力も横長になり、
+縦長の場合は自動的に縦長になります。
+
+オプションは\jMeta{トンボ形式}\texttt{-}\jMeta{出力サイズ}の書式で与えます。
+トンボ形式は、p\LaTeX の標準クラスと同じで
+\verb+tombow+, \verb+tombo+, \verb+mentuke+のいずれかを選びます
+(\verb+tombow+はジョブ情報を表示し、\verb+tombo+は表示しません。
+また、\verb+mentuke+はトンボの線を表示しません)。
+
+\subsection{トンボに表示するジョブ情報の有無}
+
+用紙サイズを明示的に指定する場合は、前節のようにトンボ形式と出力サイズを
+同時にオプションで与えることができます。
+逆に出力サイズを自動決定に任せつつ、ジョブ情報の有無だけを指定したい
+場合は、トンボへのバナー出力を抑制する\verb+notombowbanner+オプションを
+使用してください。
+
+\section{詳細なカスタマイズ}
+
+\textsf{gentombow}パッケージは、トンボの見た目やバナーの内容を
+カスタマイズする機能も提供します。
+
+\subsection{トンボに表示するバナーの内容}
+
+\verb+\settombowbanner+命令を用います。例えば\epTeX の
+\verb+\pdfcreationdate+プリミティブを使って
+\begin{verbatim}
+ \documentclass[a4j]{jarticle}
+ \usepackage{gentombow}
+ \settombowbanner{\jobname\space (\pdfcreationdate)}
+ \begin{document}
+ …本文…
+ \end{document}
+\end{verbatim}
+とすると、バナーの表示内容は
+{\settombowbanner{\jobname\space (\pdfcreationdate)}%
+ \makeatletter\texttt{\the\@bannertoken}\makeatother}になります。
+命令の引数には任意のトークン列を与えることができます。
+
+\subsection{バナーの文字のフォント}
+
+\verb+\settombowbannerfont+命令を用います。例えば
+\begin{verbatim}
+ \settombowbannerfont{cmss10 at 9pt}
+\end{verbatim}
+のような指定が可能です。内部的には\verb+\font+プリミティブを利用しており、
+使用している\TeX エンジンがサポートする任意のフォントを指定可能です
+\footnote{Lua\TeX やXe\TeX (\textsf{gentombow}パッケージの場合)では、
+OpenTypeフォントを直接利用することもできます。}。
+
+\subsection{トンボの線の太さ}
+
+デフォルトではトンボの線の太さは0.1~ptですが、
+\verb+\settombowwidth{1pt}+とすると1~ptになります。
+命令の引数には任意の寸法を与えることができますが、
+実用上は数pt以内が良いでしょう。
+
+\subsection{塗り足し(ドブ)の幅}
+
+デフォルトでは塗り足し(塗り足し)の幅は3~mmですが、
+\verb+\settombowbleed{5mm}+とすると5~mmになります。
+命令の引数には任意の寸法を与えることができますが、実用上は数mmでしょう。
+
+\subsection{トンボの色}
+
+トンボの色を指定します。実際に色をつける場合は
+\textsf{xcolor}パッケージ(推奨)またはまたは\textsf{color}パッケージが必要です。
+\verb+\settombowcolor{\color[cmyk]{0,1,0,0}}+とするとマゼンタになります。
+CMYKの版ごとにトンボを作成する場合や、特色のトンボが必要な場合に便利です。
+
+\section{PDFのデジタルトンボ(page box)の設定}
+
+この機能はドライバに依存するため、オプション機能としています。
+\textsf{gentombow}パッケージ読み込み時に\verb+pdfbox+オプションを
+指定します。DVIを経由する場合は、さらにドライバオプションも必須です
+\footnote{例外として、\textsf{gentombow}が読み込まれた時点で
+\textsf{graphics}/\textsf{color}のいずれかが読み込まれていた
+場合は、そのドライバ設定を引き継ぐことができます。}。
+
+この機能を有効化すると、PDFに以下のバウンディングボックス情報
+(いわゆるデジタルトンボ)が書き込まれ、
+さらに用紙サイズ設定(\verb+/MediaBox+相当)も行われます。
+\begin{itemize}
+\item \verb+/TrimBox+: 仕上がり紙面サイズ。
+\item \verb+/BleedBox+: 裁ち落とし領域を含んだサイズ。
+\item \verb+/CropBox+, \verb+/ArtBox+: 明示しない。
+\end{itemize}
+
+\section{その他の注意点}
+
+特定のクラスファイルやパッケージと一緒に使用する場合、
+いくつかの注意点があります。
+
+\subsection{\textsf{jsclasses}で使用する場合の注意}
+
+奥村晴彦氏による\textsf{jsclasses}のクラス(2016年以降は日本語\TeX 開発
+コミュニティが管理)を使用していて、10pt以外のサイズオプションを
+指定する場合は、以下のいずれかの方法をとってください。
+\begin{itemize}
+\item クラスオプションに「トンボオプション」
+ (\verb+tombow+または\verb+tombo+)を追加する。
+\item クラスオプションに「\verb+\mag+を使わないオプション」
+ (\verb+nomag+または\verb+nomag*+)を追加する。
+\end{itemize}
+これは、\textsf{jsclasses}クラス内で行われる\verb+\oddsidemargin+と
+\verb+\topmargin+の計算の都合からくる制約です。たとえば
+\begin{verbatim}
+ \documentclass[a4j,14pt]{jarticle}
+ \usepackage{gentombow}
+\end{verbatim}
+という使い方は\emph{誤り}です(このままでは誤った余白設定が
+適用されますので、安全のため\textsf{gentombow}パッケージ
+がエラーを出すようにしてあります)。代わりに
+\begin{verbatim}
+ \documentclass[a4j,14pt,tombow]{jarticle}
+ \usepackage{gentombow}
+\end{verbatim}
+と書くようにしてください。
+
+同様に、ZR氏による\textsf{BXjscls}のクラスを使用していて、10pt以外の
+サイズオプションを指定する場合は
+\begin{itemize}
+\item クラスオプションに「\verb+\mag+を使わないオプション」
+ (\verb+nomag+または\verb+nomag*+)を追加する。
+\end{itemize}
+という対処が必要です(\textsf{BXjscls}クラスでは「トンボオプション」が
+機能しないダミーになっていることに注意)。
+
+\subsection{レイアウト設定の注意}
+
+余白などのレイアウト設定でありがちですが、
+\verb+\hoffset+や\verb+\voffset+の値を$0$以外に設定するのは
+避けてください。このような設定は\textsf{gentombow}パッケージの
+トンボ出力機能と衝突するため、正しい出力が得られません。
+レイアウト設定のために変更すべきなのはこれらの寸法ではなく、
+\verb+\oddsidemargin+や\verb+\topmargin+であることがほとんどです。
+したがって、それらを適切な値に設定するか、レイアウトの設定すべてを
+\textsf{geometry}パッケージに任せてしまうのも一つの方法です。
+
+\begin{dangerous}
+たとえば左右の余白を$25\,\mathrm{mm}$に、上下の余白を
+$30\,\mathrm{mm}$にしたいとき\footnote{ここでは「本文の領域以外」を
+余白と定義します。すなわち、ヘッダとフッタは余白の一部です。}、
+まず「\TeX の1インチ」を
+削除してから\verb+\oddsidemargin+や\verb+\topmargin+を変更すると、
+「見かけ上は」期待どおりの結果になることがあります。
+\begin{verbatim}
+ \setlength{\hoffset}{-1in}% <== NG
+ \setlength{\voffset}{-1in}% <== NG
+ \setlength{\oddsidemargin}{25mm}
+ \setlength{\topmargin}{30mm}
+ \setlength{\textwidth}{\paperwidth}
+ \addtolength{\textwidth}{-2\oddsidemargin}
+ \setlength{\textheight}{\paperheight}
+ \addtolength{\textheight}{-2\topmargin}
+ \addtolength{\topmargin}{-\headheight}
+ \addtolength{\topmargin}{-\headsep}
+\end{verbatim}
+しかし、この設定では\textsf{gentombow}パッケージがトンボを
+追加するとき、正しい余白を維持することができません。
+
+一方、\verb+\hoffset+や\verb+\voffset+は$0$のままで、以下のように
+\verb+\oddsidemargin+や\verb+\topmargin+を設定していれば問題ありません。
+\begin{verbatim}
+ \setlength{\oddsidemargin}{-0.4mm}% 25mm = 1inch - 0.4mm
+ \setlength{\topmargin}{4.6mm}% 30mm = 1inch + 4.6mm
+ \setlength{\textwidth}{\paperwidth}
+ \addtolength{\textwidth}{-50mm}
+ \addtolength{\topmargin}{-\headheight}
+ \addtolength{\topmargin}{-\headsep}
+ \setlength{\textheight}{\paperheight}
+ \addtolength{\textheight}{-60mm}
+\end{verbatim}
+これと同等のレイアウト設定は、以下のように\textsf{geometry}パッケージで
+行うのが簡単です。
+\begin{verbatim}
+ \usepackage[lmargin=25mm,rmargin=25mm,
+ tmargin=30mm,bmargin=30mm]{geometry}
+\end{verbatim}
+\end{dangerous}
+
+\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に
+ フォールバックしたほうが無難だろうか。
+\end{itemize}
+
+\section*{変更履歴}
+
+\begin{itemize}
+ \item 2017/02/10 v0.1 最初の公開版(\textsf{pxgentombow}として)
+ \item 2017/03/01 v0.4 トンボ形式の修正など
+ \item 2017/05/05 v0.5 \textsf{jsclasses}の$\verb+\mag+ \ne 1000$に対応、
+ 最初のCTANリリース版
+ \item 2017/05/06 v0.6 \textsf{jsclasses}との共存時のチェック強化、
+ Lua\TeX-jaでの動作確認
+ \item 2017/07/23 v0.7 ドキュメント更新
+ \item 2017/12/17 v0.9 \textsf{gentombow}パッケージの新設
+ \item 2018/03/16 v0.9e クラスオプションの\verb+tombow+等の引き継ぎ、
+ トンボ書式のカスタマイズ機能の追加
+ (\verb+\settombowbanner+,
+ \verb+\settombowbannerfont+,
+ \verb+\settombowwidth+の各命令)
+ \item 2018/03/16 v0.9g \textsf{gentombow}に\textsf{pxgentombow}を統合、
+ \verb+pdfbox+オプションの追加、
+ \verb+\settombowbleed+, \verb+\settombowcolor+の追加
+\end{itemize}
+
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/latex/gentombow/gentombow-ja.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/gentombow/gentombow.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/gentombow/gentombow.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/gentombow/gentombow.tex 2018-05-17 20:23:50 UTC (rev 47737)
+++ trunk/Master/texmf-dist/doc/latex/gentombow/gentombow.tex 2018-05-17 20:25:12 UTC (rev 47738)
@@ -24,8 +24,8 @@
%%%
\makeatother
\usepackage{longtable}
-\usepackage{gentombow}
-\usepackage{bxpapersize}
+\usepackage[pdfbox]{gentombow}
+%\usepackage{bxpapersize}
\GetFileInfo{gentombow.sty}
\title{Package \textsf{gentombow} \fileversion}
\author{Hironobu Yamashita}
@@ -48,6 +48,16 @@
This document itself is a demonstration of this package,
with final A4 paper printed on B4 (JIS B4; not ISO B4!) paper.
+A basic usage:
+\begin{verbatim}
+ \documentclass[a4paper]{article}
+ \usepackage{gentombow}
+ \usepackage{graphicx}
+ \begin{document}
+ The content
+ \end{document}
+\end{verbatim}
+
Note that this package does nothing about output paper size
specification; use one of the followings to do it.
\begin{itemize}
@@ -60,19 +70,6 @@
(supports only DVI output mode; part of \textsf{gentombow} bundle)
\end{itemize}
-A basic usage:
-\begin{verbatim}
- \documentclass[a4paper]{article}
- \usepackage{gentombow}
- \usepackage{graphicx}
- \begin{document}
- The content
- \end{document}
-\end{verbatim}
-For Japanese people, \textsf{pxgentombow} (also part of
-\textsf{gentombow} bundle) is also available;
-it requires Japanese p\LaTeX/up\LaTeX\ or Lua\TeX-ja.
-
This package is part of \textsf{gentombow} bundle:
\begin{verbatim}
https://github.com/aminophen/gentombow
@@ -232,6 +229,30 @@
This can be change to 1~pt by \verb+\settombowwidth{1pt}+.
The argument is an arbitrary dimension.
+\subsection{Bleed margin width}
+
+By default, the bleed margin width is 3~mm.
+This can be change to 5~mm by \verb+\settombowwidth{5mm}+.
+The argument is an arbitrary dimension.
+
+\subsection{Crop mark color}
+
+Set the color of crop marks. Package \textsf{xcolor} (recommended) or
+\textsf{xcolor} is required.
+For example, \verb+\settombowcolor{\color[cmyk]{0,1,0,0}}+ sets magenta.
+
+\section{Setting PDF page box (``digital tombow'')}
+
+This is an optional driver-dependent feature.
+When \textsf{gentombow} is required with the option \verb+pdfbox+,
+following page boxes are emitted to the output PDF file.
+The paper size (\verb+/MediaBox+) is also corrected.
+\begin{itemize}
+\item \verb+/TrimBox+: final paper size.
+\item \verb+/BleedBox+: paper size plus bleed margin.
+\item \verb+/CropBox+ and \verb+/ArtBox+ are not set.
+\end{itemize}
+
\section{Additional Notes}
Here is some additional notes for use with several classes/packages.
@@ -263,6 +284,9 @@
\item 2018/03/16 v0.9e Add \verb+\settombowbanner+,
\verb+\settombowbannerfont+ and
\verb+\settombowwidth+.
+ \item 2018/05/17 v0.9g Add \verb+pdfbox+ option,
+ \verb+\settombowbleed+ and
+ \verb+\settombowcolor+.
\end{itemize}
\end{document}
Modified: trunk/Master/texmf-dist/doc/latex/gentombow/pxgentombow.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/gentombow/pxgentombow.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/gentombow/pxgentombow.tex 2018-05-17 20:23:50 UTC (rev 47737)
+++ trunk/Master/texmf-dist/doc/latex/gentombow/pxgentombow.tex 2018-05-17 20:25:12 UTC (rev 47738)
@@ -5,393 +5,21 @@
\documentclass[a4paper]{jsarticle}
\usepackage{doc}
-\makeatletter
-%%% import from jltxdoc.cls
-\def\verb{\relax\ifmmode\hbox\else\leavevmode\vadjust{}\fi
- \bgroup \let\do\do at noligs \verbatim at nolig@list
- \ttfamily \verb at eol@error \let\do\@makeother \dospecials
- \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
-\xspcode"5C=3 %% \
-\xspcode"22=3 %% "
-%%% dangerous bend
-\font\man=manfnt at 10pt
-\def\dbend{\leavevmode\raise0pt\hbox{\man\char'177}}
-\newenvironment{dangerous}{%
- \ifnum\@listdepth>\z@
- \GenericError{}{Do not use `dangerous' environment inside any list}{}{}
- \fi
- \par\addvspace\medskipamount
- \@tempdima=\dimexpr\textwidth-2zw\relax\small
- \divide\@tempdima by\dimexpr1zw\relax\@tempcnta=\@tempdima
- \leftskip=\dimexpr\textwidth-\@tempcnta zw\relax
- \@totalleftmargin\dimexpr\leftskip+0zw
- \linewidth=\dimexpr\@tempcnta zw-0zw
- \parindent1zw\noindent\kern-\leftskip\hbox to\leftskip{\dbend\hss}%
- \everypar{\everypar{}}\ignorespaces
-}{\par\addvspace\medskipamount}
-%%% logo
-\def\pTeX{p\kern-.15em\TeX}
-\def\epTeX{$\varepsilon$-\pTeX}
-%%% misc
-\newcommand{\Meta}[1]{$\langle$\mbox{}\textit{#1}\mbox{}$\rangle$}
-\newcommand{\jMeta}[1]{$\langle$\mbox{}\textsf{#1}\mbox{}$\rangle$}
-%%%
-\makeatother
-\usepackage{longtable}
\usepackage{pxgentombow}
\usepackage{bounddvi}
\GetFileInfo{pxgentombow.sty}
-\title{Package \textsf{pxgentombow} \fileversion}
+\title{Package \textsf{pxgentombow}}
\author{Hironobu Yamashita}
-\date{\filedate}
+\date{2018年5月17日}
\begin{document}
\maketitle
\begin{center}
-English version is available: see \textsf{gentombow} package!
+The package \textsf{pxgentombow} is now superseded by \textsf{gentombow}!
\end{center}
-日本の出版では、たとえば仕上がり寸法がA4サイズの場合、一回り大きな
-B4サイズの用紙の中央にトンボ付きで印刷することがあるようです。
-このドキュメントは、実際にA4用紙をB4用紙の中央にトンボ付きで
-配置している事例です。
+\textsf{pxgentombow}パッケージは、上位版である\textsf{gentombow}パッケージに
+統一されました。代わりに\textsf{gentombow}パッケージを使用してください。
-\textsf{pxgentombow}パッケージは、クラスファイルなどが想定している用紙
-サイズ情報(\verb+\paperwidth+, \verb+\paperheight+)を検知し、
-それより一回り大きなサイズの用紙の中央にトンボ付きで出力するために
-必要な機能を提供します。
-ただし、このパッケージは実際の出力サイズ指定を発行しませんので、
-以下のいずれかのパッケージと併用するとよいでしょう:
-\begin{itemize}
-\item \textsf{bounddvi}パッケージ(\textsf{gentombow}バンドル)
-\item \textsf{bxpapersize}パッケージ(ZRさん作)
-\item \textsf{graphicx}パッケージの2016年以降の版
- (\texttt{setpagesize}機能つきのもの)
-\end{itemize}
-\textsf{bounddvi}パッケージは、\textsf{pxgentombow}と同じく
-\textsf{gentombow}バンドルに収録されていますが、
-名前のとおりDVIを経由する場合にしか利用できません。
-一方、\textsf{bxpapersize}パッケージは汎用で、Lua\TeX のような
-PDF直接出力の場合にも利用できます。また、\textsf{graphicx}パッケージ
-は画像挿入用のパッケージですが、2016年以降は自動的に出力サイズ指定も
-行うようです($\verb+\mag+ \ne 1000$の場合には機能しません)。
-
-使い方の例は
-\begin{verbatim}
- \documentclass[a4j]{jarticle}
- \usepackage{pxgentombow}
- \usepackage{bounddvi}
- \begin{document}
- …本文…
- \end{document}
-\end{verbatim}
-です。p\LaTeX における横組と縦組の両方で使え、また\textsf{jsclasses}の
-ような版面拡大(\verb+\mag+)が使われた場合にも対応しています。
-なお、\textsf{pxgentombow}パッケージはp\LaTeX とup\LaTeX および
-Lua\TeX-jaのみで動作します。その他(pdf\LaTeX など)で使いたい
-場合は、代わりに\textsf{gentombow}パッケージを使用してください。
-
-本パッケージは、\textsf{gentombow}バンドルの一部として
-配布されています:
-\begin{verbatim}
- https://github.com/aminophen/gentombow
-\end{verbatim}
-2017年までは\textsf{platex-tools}バンドルの一部でしたが、
-2018年以降は独立させてあります。
-
-\section{簡単な使用法}
-
-はじめに、パッケージをオプション指定なしに使用する場合の機能を
-説明します。
-
-\subsection{用紙サイズの自動検知による出力サイズ決定}
-
-パッケージにはあらかじめA系列(\texttt{a0}--\texttt{a10})、
-B系列(\texttt{b0}--\texttt{b10})、C系列(\texttt{c0}--\texttt{c10})と
-\texttt{letter}, \texttt{legal}, \texttt{executive}の用紙サイズが
-定義されています。ここで、B系列はISOではなくJISです。
-また、変型版として\texttt{a4var}(\texttt{a4}の変型)と
-\texttt{b5var}(\texttt{b5}の変型)も定義されています。
-
-これらのうちいずれか(ただし\texttt{a0}, \texttt{b0}, \texttt{c0}を
-除く)の用紙サイズを検知すると、
-出力サイズが次の規則で自動的に決定されます\footnote{なお、
-C系列と\texttt{letter}, \texttt{legal}, \texttt{executive}については
-日本での慣習が不明の
-ため、現時点ではA系列のサイズで出力することにしています。}。
-\begin{itemize}
-\item 用紙サイズがA系列のとき:
- 出力サイズは一回り大きなB系列
-\item 用紙サイズがB, C系列または
- \texttt{letter}, \texttt{legal}, \texttt{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}
-
-\subsection*{参考:用紙サイズの自動検知に失敗した場合の出力サイズ決定}
-
-仮に用紙サイズが定義済みのいずれとも異なる場合は、デフォルトでは
-用紙の天地左右に1インチずつのノビを付けたサイズで出力します。
-たとえば、幅$100\,\mathrm{mm}$、高さ$200\,\mathrm{mm}$の用紙の場合、
-出力サイズは幅$100\,\mathrm{mm}+2\,\mathrm{in}$、
-高さ$200\,\mathrm{mm}+2\,\mathrm{in}$になります。
-
-\subsection{トンボへのバナーの出力}
-
-デフォルトでは\makeatletter\texttt{\the\@bannertoken}\makeatother
-のような形式で、トンボにジョブ情報(処理ファイル名と日付)を示すバナーが
-出力されます。これは、\pLaTeX 向けの日本語クラスファイルの多くで
-利用可能な\verb+tombow+オプションと同様です。
-ただし、クラスオプションに\verb+tombo+(ジョブ情報を出力しない)または
-\verb+mentuke+(トンボの線を表示しない)が指定されている場合は、
-この設定が引き継がれます。
-
-\section{パッケージオプション}
-
-パッケージオプションによって、出力サイズやバナーのジョブ情報の有無を
-指定する方法を説明します。
-
-\subsection{出力サイズの明示指定}
-
-自動決定されるサイズと異なるサイズに出力したい場合、
-パッケージオプションで明示的に指定することができます。たとえば
-\begin{verbatim}
- \documentclass[a4j]{jarticle}
- \usepackage[tombow-a3]{pxgentombow}
- \begin{document}
- …本文…
- \end{document}
-\end{verbatim}
-とすると、出力サイズは(自動決定のb4は無視されて)a3に変わります。
-指定可能なサイズは、定義済みの用紙サイズと同じものです。すなわち、
-A系列(\texttt{a0}--\texttt{a10})、
-B系列(\texttt{b0}--\texttt{b10})、
-C系列(\texttt{c0}--\texttt{c10})と
-\texttt{a4var}, \texttt{b5var},
-\texttt{letter}, \texttt{legal}, \texttt{executive}です。
-なお、ここでも用紙サイズが横長の場合は自動的に出力も横長になり、
-縦長の場合は自動的に縦長になります。
-
-オプションは\jMeta{トンボ形式}\texttt{-}\jMeta{出力サイズ}の書式で与えます。
-トンボ形式は、p\LaTeX の標準クラスと同じで
-\verb+tombow+, \verb+tombo+, \verb+mentuke+のいずれかを選びます
-(\verb+tombow+はジョブ情報を表示し、\verb+tombo+は表示しません。
-また、\verb+mentuke+はトンボの線を表示しません)。
-
-\subsection{トンボに表示するジョブ情報の有無}
-
-用紙サイズを明示的に指定する場合は、前節のようにトンボ形式と出力サイズを
-同時にオプションで与えることができます。
-逆に出力サイズを自動決定に任せつつ、ジョブ情報の有無だけを指定したい
-場合は、トンボへのバナー出力を抑制する\verb+notombowbanner+オプションを
-使用してください。
-
-\section{詳細なカスタマイズ}
-
-\textsf{pxgentombow}パッケージは、トンボの見た目やバナーの内容を
-カスタマイズする機能も提供します。
-
-\subsection{トンボに表示するバナーの内容}
-
-\verb+\settombowbanner+命令を用います。例えば\epTeX の
-\verb+\pdfcreationdate+プリミティブを使って
-\begin{verbatim}
- \documentclass[a4j]{jarticle}
- \usepackage{pxgentombow}
- \settombowbanner{\jobname\space (\pdfcreationdate)}
- \begin{document}
- …本文…
- \end{document}
-\end{verbatim}
-とすると、バナーの表示内容は
-{\settombowbanner{\jobname\space (\pdfcreationdate)}%
- \makeatletter\texttt{\the\@bannertoken}\makeatother}になります。
-命令の引数には任意のトークン列を与えることができます。
-
-\subsection{バナーの文字のフォント}
-
-\verb+\settombowbannerfont+命令を用います。例えば
-\begin{verbatim}
- \settombowbannerfont{cmss10 at 9pt}
-\end{verbatim}
-のような指定が可能です。内部的には\verb+\font+プリミティブを利用しており、
-使用している\TeX エンジンがサポートする任意のフォントを指定可能です
-\footnote{Lua\TeX やXe\TeX (\textsf{gentombow}パッケージの場合)では、
-OpenTypeフォントを直接利用することもできます。}。
-
-\subsection{トンボの線の太さ}
-
-デフォルトではトンボの線の太さは0.1~ptですが、
-\verb+\settombowwidth{1pt}+とすると1~ptになります。
-命令の引数には任意の寸法を与えることができますが、
-実用上は数pt以内が良いでしょう。
-
-\section{その他の注意点}
-
-特定のクラスファイルやパッケージと一緒に使用する場合、
-いくつかの注意点があります。
-
-\subsection{\textsf{jsclasses}で使用する場合の注意}
-
-奥村晴彦氏による\textsf{jsclasses}のクラス(2016年以降は日本語\TeX 開発
-コミュニティが管理)を使用していて、10pt以外のサイズオプションを
-指定する場合は、以下のいずれかの方法をとってください。
-\begin{itemize}
-\item クラスオプションに「トンボオプション」
- (\verb+tombow+または\verb+tombo+)を追加する。
-\item クラスオプションに「\verb+\mag+を使わないオプション」
- (\verb+nomag+または\verb+nomag*+)を追加する。
-\end{itemize}
-これは、\textsf{jsclasses}クラス内で行われる\verb+\oddsidemargin+と
-\verb+\topmargin+の計算の都合からくる制約です。たとえば
-\begin{verbatim}
- \documentclass[a4j,14pt]{jarticle}
- \usepackage{pxgentombow}
-\end{verbatim}
-という使い方は\emph{誤り}です(このままでは誤った余白設定が
-適用されますので、安全のため\textsf{pxgentombow}パッケージ
-がエラーを出すようにしてあります)。代わりに
-\begin{verbatim}
- \documentclass[a4j,14pt,tombow]{jarticle}
- \usepackage{pxgentombow}
-\end{verbatim}
-と書くようにしてください。
-
-同様に、ZR氏による\textsf{BXjscls}のクラスを使用していて、10pt以外の
-サイズオプションを指定する場合は
-\begin{itemize}
-\item クラスオプションに「\verb+\mag+を使わないオプション」
- (\verb+nomag+または\verb+nomag*+)を追加する。
-\end{itemize}
-という対処が必要です(\textsf{BXjscls}クラスでは「トンボオプション」が
-機能しないダミーになっていることに注意)。
-
-\subsection{レイアウト設定の注意}
-
-余白などのレイアウト設定でありがちですが、
-\verb+\hoffset+や\verb+\voffset+の値を$0$以外に設定するのは
-避けてください。このような設定は\textsf{pxgentombow}パッケージの
-トンボ出力機能と衝突するため、正しい出力が得られません。
-レイアウト設定のために変更すべきなのはこれらの寸法ではなく、
-\verb+\oddsidemargin+や\verb+\topmargin+であることがほとんどです。
-したがって、それらを適切な値に設定するか、レイアウトの設定すべてを
-\textsf{geometry}パッケージに任せてしまうのも一つの方法です。
-
-\begin{dangerous}
-たとえば左右の余白を$25\,\mathrm{mm}$に、上下の余白を
-$30\,\mathrm{mm}$にしたいとき\footnote{ここでは「本文の領域以外」を
-余白と定義します。すなわち、ヘッダとフッタは余白の一部です。}、
-まず「\TeX の1インチ」を
-削除してから\verb+\oddsidemargin+や\verb+\topmargin+を変更すると、
-「見かけ上は」期待どおりの結果になることがあります。
-\begin{verbatim}
- \setlength{\hoffset}{-1in}% <== NG
- \setlength{\voffset}{-1in}% <== NG
- \setlength{\oddsidemargin}{25mm}
- \setlength{\topmargin}{30mm}
- \setlength{\textwidth}{\paperwidth}
- \addtolength{\textwidth}{-2\oddsidemargin}
- \setlength{\textheight}{\paperheight}
- \addtolength{\textheight}{-2\topmargin}
- \addtolength{\topmargin}{-\headheight}
- \addtolength{\topmargin}{-\headsep}
-\end{verbatim}
-しかし、この設定では\textsf{pxgentombow}パッケージがトンボを
-追加するとき、正しい余白を維持することができません。
-
-一方、\verb+\hoffset+や\verb+\voffset+は$0$のままで、以下のように
-\verb+\oddsidemargin+や\verb+\topmargin+を設定していれば問題ありません。
-\begin{verbatim}
- \setlength{\oddsidemargin}{-0.4mm}% 25mm = 1inch - 0.4mm
- \setlength{\topmargin}{4.6mm}% 30mm = 1inch + 4.6mm
- \setlength{\textwidth}{\paperwidth}
- \addtolength{\textwidth}{-50mm}
- \addtolength{\topmargin}{-\headheight}
- \addtolength{\topmargin}{-\headsep}
- \setlength{\textheight}{\paperheight}
- \addtolength{\textheight}{-60mm}
-\end{verbatim}
-これと同等のレイアウト設定は、以下のように\textsf{geometry}パッケージで
-行うのが簡単です。
-\begin{verbatim}
- \usepackage[lmargin=25mm,rmargin=25mm,
- tmargin=30mm,bmargin=30mm]{geometry}
-\end{verbatim}
-\end{dangerous}
-
-\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に
- フォールバックしたほうが無難だろうか。
-\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リリース版
- \item 2017/05/06 v0.6 \textsf{jsclasses}との共存時のチェック強化、
- Lua\TeX-jaでの動作確認
- \item 2017/07/23 v0.7 ドキュメント更新
- \item 2017/12/17 v0.9 \textsf{gentombow}パッケージの新設
- \item 2018/03/16 v0.9e クラスオプションの\verb+tombow+等の引き継ぎ、
- トンボ書式のカスタマイズ機能の追加
- (\verb+\settombowbanner+,
- \verb+\settombowbannerfont+,
- \verb+\settombowwidth+の各命令)
-\end{itemize}
-
\end{document}
Modified: trunk/Master/texmf-dist/tex/latex/gentombow/gentombow.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/gentombow/gentombow.sty 2018-05-17 20:23:50 UTC (rev 47737)
+++ trunk/Master/texmf-dist/tex/latex/gentombow/gentombow.sty 2018-05-17 20:25:12 UTC (rev 47738)
@@ -8,69 +8,114 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{gentombow}
- [2018/03/16 v0.9e Generate crop mark 'tombow']
-\def\pxgtmb at emu@pkgname{gentombow}
+ [2018/05/17 v0.9g Generate crop mark 'tombow']
+\def\pxgtmb at pkgname{gentombow}
+\@namedef{ver at pxgentombow.sty}{}% fake
-%% error status (shared with pxgentombow.sty)
-\ifx\pxgtmb at errlevel\@undefined
- \chardef\pxgtmb at errlevel=\z@
-\fi
+%% error status
+\chardef\pxgtmb at errlevel=\z@
%% supported engines
+% case 2: pdfLaTeX etc.
+% case 1: pLaTeX2e <2018-04-01>+2 or older
+% case 0: newer pLaTeX2e
\ifx\pfmtversion\@undefined
- \@ifpackageloaded{luatexja}{}{\chardef\pxgtmb at errlevel=\@ne}
+ \@ifpackageloaded{luatexja}{}{\chardef\pxgtmb at errlevel=\tw@}
\fi
-\ifnum\pxgtmb at errlevel>\z@\else
- \PackageInfo{\pxgtmb at emu@pkgname}{%
- pLaTeX, upLaTeX and LuaTeX-ja are natively\MessageBreak
- supported by `pxgentombow' package;\MessageBreak
- there is no need for this package.}
- \RequirePackageWithOptions{pxgentombow}
+\ifnum\pxgtmb at errlevel<\tw@
+ \ifx\@tombowreset@@paper\@undefined
+ \chardef\pxgtmb at errlevel=\@ne
+ \fi
+\fi
+\ifcase\pxgtmb at errlevel
+ \let\pxgtmb at sel@twoone\@gobble
+ \let\pxgtmb at sel@two at one\@gobbletwo
+ \let\pxgtmb at sel@two\@gobble
+\or
+ \let\pxgtmb at sel@twoone\@firstofone
+ \let\pxgtmb at sel@two at one\@secondoftwo
+ \let\pxgtmb at sel@two\@gobble
+\or
+ \let\pxgtmb at sel@twoone\@firstofone
+ \let\pxgtmb at sel@two at one\@firstoftwo
+ \let\pxgtmb at sel@two\@firstofone
+\else
+ \PackageError{\pxgtmb at pkgname}{%
+ This cannot happen!
+ Please report to package author}\@ehc
\expandafter\endinput
\fi
+\@onlypreamble\pxgtmb at sel@twoone
+\@onlypreamble\pxgtmb at sel@two at one
+\@onlypreamble\pxgtmb at sel@two
%%%%% EMULATION BEGIN
% required for patching \@outputpage
-\RequirePackage{etoolbox}
+\pxgtmb at sel@twoone{\RequirePackage{etoolbox}}
% patch \@outputpage
\begingroup
\def\pxgtmb at emu@status{0}
\let\pxgtmb at emu@outputpage\@outputpage
-\patchcmd\pxgtmb at emu@outputpage % try first patch
+\pxgtmb at sel@two at one
+{%% case 2 begin
+ \patchcmd\pxgtmb at emu@outputpage % try first patch
{\reset at font\normalsize\normalsfcodes}%
- {%
- \@@topmargin\topmargin
- \iftombow
- \@@paperwidth\paperwidth \advance\@@paperwidth 6mm\relax
- \@@paperheight\paperheight \advance\@@paperheight 16mm\relax
- \advance\@@topmargin 1in\relax \advance\@themargin 1in\relax
- \fi
- \reset at font\normalsize\normalsfcodes}
+ {\@tombowreset@@paper
+ \reset at font\normalsize\normalsfcodes}%
{}{\def\pxgtmb at emu@status{1}}
-\patchcmd\pxgtmb at emu@outputpage % try second patch
+ \patchcmd\pxgtmb at emu@outputpage % try second patch
{\@begindvi \vskip \topmargin}%
{\@begindvi \@outputtombow \vskip \@@topmargin}%
{}{\def\pxgtmb at emu@status{1}}
+}%% case 2 end
+{%% case 1 begin
+ \patchcmd\pxgtmb at emu@outputpage % try patch
+ {%
+ \@@topmargin\topmargin
+ \iftombow
+ \@@paperwidth\paperwidth \advance\@@paperwidth 6mm\relax
+ \@@paperheight\paperheight \advance\@@paperheight 16mm\relax
+ \advance\@@topmargin 1in\relax \advance\@themargin 1in\relax
+ \fi
+ \reset at font\normalsize\normalsfcodes}
+ {\@tombowreset@@paper
+ \reset at font\normalsize\normalsfcodes}%
+ {}{\def\pxgtmb at emu@status{1}}
+}%% case 1 end
% commit the change only when successful; otherwise
% tombow feature is never enabled, exit right away
-\if 0\pxgtmb at emu@status\relax
+\pxgtmb at sel@twoone
+{%% case 2 and 1 begin
+ \if 0\pxgtmb at emu@status\relax
\global\let\@outputpage\pxgtmb at emu@outputpage
-\else
- \PackageError{\pxgtmb at emu@pkgname}{%
+ \else
+ \PackageError{\pxgtmb at pkgname}{%
Failed in patching \string\@outputpage!\MessageBreak
Sorry, I can't proceed anymore...}\@ehc
\expandafter\expandafter\expandafter\endinput\expandafter
-\fi
+ \fi
+}%% case 2 and 1 end
\endgroup
%
% provides equivalent for plcore.ltx
+\pxgtmb at sel@two
+{%% case 2 begin
\newif\iftombow \tombowfalse
\newif\iftombowdate \tombowdatetrue
\newdimen\@tombowwidth
\setlength{\@tombowwidth}{.1\p@}
+}%% case 2 end
+\pxgtmb at sel@twoone
+{%% case 2 and 1 begin
+\setlength{\@tombowwidth}{.1\p@}
+\def\@tombowbleed{3mm}
+\def\@tombowcolor{\normalcolor}
+}%% case 2 and 1 end
+\pxgtmb at sel@two
+{%% case 2 begin
\newbox\@TL\newbox\@Tl
\newbox\@TC
\newbox\@TR\newbox\@Tr
@@ -82,56 +127,61 @@
\font\@bannerfont=cmtt9
\newtoks\@bannertoken
\@bannertoken{}
-\def\maketombowbox{% removed \yoko from all boxes
- \setbox\@TL\hbox to\z@{\hss
- \vrule width13mm height\@tombowwidth depth\z@
+}%% case 2 end
+\pxgtmb at sel@twoone
+{%% case 2 and 1 begin
+\def\maketombowbox{% hide \yoko from all boxes
+ \setbox\@TL\hbox to\z@{\csname yoko\endcsname\hss
+ \vrule width\dimexpr 10mm+\@tombowbleed\relax height\@tombowwidth depth\z@
\vrule height10mm width\@tombowwidth depth\z@
\iftombowdate
\raise4pt\hbox to\z@{\hskip5mm\@bannerfont\the\@bannertoken\hss}%
\fi}%
- \setbox\@Tl\hbox to\z@{\hss
+ \setbox\@Tl\hbox to\z@{\csname yoko\endcsname\hss
\vrule width10mm height\@tombowwidth depth\z@
- \vrule height13mm width\@tombowwidth depth\z@}%
- \setbox\@TC\hbox{%
+ \vrule height\dimexpr 10mm+\@tombowbleed\relax width\@tombowwidth depth\z@}%
+ \setbox\@TC\hbox{\csname yoko\endcsname
\vrule width10mm height\@tombowwidth depth\z@
\vrule height10mm width\@tombowwidth depth\z@
\vrule width10mm height\@tombowwidth depth\z@}%
- \setbox\@TR\hbox to\z@{%
+ \setbox\@TR\hbox to\z@{\csname yoko\endcsname
\vrule height10mm width\@tombowwidth depth\z@
- \vrule width13mm height\@tombowwidth depth\z@\hss}%
- \setbox\@Tr\hbox to\z@{%
- \vrule height13mm width\@tombowwidth depth\z@
+ \vrule width\dimexpr 10mm+\@tombowbleed\relax height\@tombowwidth depth\z@\hss}%
+ \setbox\@Tr\hbox to\z@{\csname yoko\endcsname
+ \vrule height\dimexpr 10mm+\@tombowbleed\relax width\@tombowwidth depth\z@
\vrule width10mm height\@tombowwidth depth\z@\hss}%
- \setbox\@BL\hbox to\z@{\hss
- \vrule width13mm depth\@tombowwidth height\z@
+ \setbox\@BL\hbox to\z@{\csname yoko\endcsname\hss
+ \vrule width\dimexpr 10mm+\@tombowbleed\relax depth\@tombowwidth height\z@
\vrule depth10mm width\@tombowwidth height\z@}%
- \setbox\@Bl\hbox to\z@{\hss
+ \setbox\@Bl\hbox to\z@{\csname yoko\endcsname\hss
\vrule width10mm depth\@tombowwidth height\z@
- \vrule depth13mm width\@tombowwidth height\z@}%
- \setbox\@BC\hbox{%
+ \vrule depth\dimexpr 10mm+\@tombowbleed\relax width\@tombowwidth height\z@}%
+ \setbox\@BC\hbox{\csname yoko\endcsname
\vrule width10mm depth\@tombowwidth height\z@
\vrule depth10mm width\@tombowwidth height\z@
\vrule width10mm depth\@tombowwidth height\z@}%
- \setbox\@BR\hbox to\z@{%
+ \setbox\@BR\hbox to\z@{\csname yoko\endcsname
\vrule depth10mm width\@tombowwidth height\z@
- \vrule width13mm depth\@tombowwidth height\z@\hss}%
- \setbox\@Br\hbox to\z@{%
- \vrule depth13mm width\@tombowwidth height\z@
+ \vrule width\dimexpr 10mm+\@tombowbleed\relax depth\@tombowwidth height\z@\hss}%
+ \setbox\@Br\hbox to\z@{\csname yoko\endcsname
+ \vrule depth\dimexpr 10mm+\@tombowbleed\relax width\@tombowwidth height\z@
\vrule width10mm depth\@tombowwidth height\z@\hss}%
- \setbox\@CL\hbox to\z@{\hss
+ \setbox\@CL\hbox to\z@{\csname yoko\endcsname\hss
\vrule width10mm height.5\@tombowwidth depth.5\@tombowwidth
\vrule height10mm depth10mm width\@tombowwidth}%
- \setbox\@CR\hbox to\z@{%
+ \setbox\@CR\hbox to\z@{\csname yoko\endcsname
\vrule height10mm depth10mm width\@tombowwidth
\vrule height.5\@tombowwidth depth.5\@tombowwidth width10mm\hss}%
}
\def\@outputtombow{%
\iftombow
- \vbox to\z@{\kern-13mm\relax
+ \vbox to\z@{\kern-\dimexpr 10mm+\@tombowbleed\relax\relax
\boxmaxdepth\maxdimen
- \moveleft3mm\vbox to\@@paperheight{%
- \hbox to\@@paperwidth{\hskip3mm\relax
- \copy\@TL\hfill\copy\@TC\hfill\copy\@TR\hskip3mm}%
+ \moveleft\@tombowbleed \vbox to\@@paperheight{%
+ \color at begingroup
+ \@tombowcolor
+ \hbox to\@@paperwidth{\hskip\@tombowbleed\relax
+ \copy\@TL\hfill\copy\@TC\hfill\copy\@TR\hskip\@tombowbleed}%
\kern-10mm
\hbox to\@@paperwidth{\copy\@Tl\hfill\copy\@Tr}%
\vfill
@@ -139,21 +189,497 @@
\vfill
\hbox to\@@paperwidth{\copy\@Bl\hfill\copy\@Br}%
\kern-10mm
- \hbox to\@@paperwidth{\hskip3mm\relax
- \copy\@BL\hfill\copy\@BC\hfill\copy\@BR\hskip3mm}%
+ \hbox to\@@paperwidth{\hskip\@tombowbleed\relax
+ \copy\@BL\hfill\copy\@BC\hfill\copy\@BR\hskip\@tombowbleed}%
+ \color at endgroup
}\vss
}%
\fi
}
+}%% case 2 and 1 end
+\pxgtmb at sel@two
+{%% case 2 begin
\newdimen\@@paperheight
\newdimen\@@paperwidth
\newdimen\@@topmargin
+}%% case 2 end
+\pxgtmb at sel@twoone
+{%% case 2 and 1 begin
+\def\@tombowreset@@paper{%
+ \@@topmargin\topmargin
+ \iftombow
+ \@@paperwidth\paperwidth
+ \advance\@@paperwidth 2\dimexpr\@tombowbleed\relax
+ \@@paperheight\paperheight \advance\@@paperheight 10mm\relax
+ \advance\@@paperheight 2\dimexpr\@tombowbleed\relax
+ \advance\@@topmargin 1in\relax \advance\@themargin 1in\relax
+ \fi
+}
+}%% case 2 and 1 end
+\pxgtmb at sel@two
+{%% case 2 begin
\newcount\hour
\newcount\minute
+}%% case 2 end
%%%%% EMULATION END
-%% load it
-\RequirePackageWithOptions{pxgentombow}
+%% import from jsclasses
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+\ifnum\mag=\@m\else
+ % if BXjscls is detected and \mag != 1000,
+ % the layout will be definitely broken
+ \ifx\bxjs at param@mag\@undefined\else
+ \PackageError{\pxgtmb at pkgname}{%
+ It seems you are using Japanese `BXjscls'\MessageBreak
+ (bxjsarticle, bxjsbook, bxjsreport, etc.) or\MessageBreak
+ some derived class. Try adding `nomag' or\MessageBreak
+ `nomag*' to the class option list}\@ehc
+ \fi
+\fi
+
+%% 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
+ % if jsclasses is detected and \mag != 1000, it's too late
+ % -- When a size option other than `10pt' is specified,
+ % jsclasses uses \mag and calculates \oddsidemargin and \topmargin
+ % differently, depending on tombow status.
+ % In order to force `jsclasses' to calculate correctly,
+ % `tombow' or `tombo' is required as a class option.
+ % ... or, you may add `nomag' or `nomag*' instead.
+ \ifnum\mag=\@m\else \ifx\inv at mag\@undefined\else
+ \PackageError{\pxgtmb at pkgname}{%
+ It seems you are using Japanese `jsclasses'\MessageBreak
+ (jsarticle, jsbook, jsreport, etc.) or some\MessageBreak
+ derived class. Please add `tombow' or `tombo'\MessageBreak
+ to the class option list}\@ehc
+ \fi \fi
+ % BXjscls is already checked above, no check here
+ \PackageInfo\pxgtmb at pkgname{tombow feature enabled by \pxgtmb at pkgname}
+\fi
+\tombowtrue %\tombowdatetrue %% enabled by tombowbanner option
+\setlength{\@tombowwidth}{.1\p@}%
+
+%% import from jsclasses
+\@bannertoken{%
+ \jobname\space(\number\year-\two at digits\month-\two at digits\day
+ \space\two at digits\hour:\two at digits\minute)}
+
+%% prepare dimension
+\ifx\stockheight\@undefined \newdimen\stockheight \fi
+\ifx\stockwidth\@undefined \newdimen\stockwidth \fi
+
+%% prepare flag
+\newif\ifpxgtmb at switch \pxgtmb at switchfalse
+\newif\ifpxgtmb at landscape \pxgtmb at landscapefalse
+
+%% passed from class options
+%% should be declared first inside this package (least priority)
+\DeclareOption{tombow}{\tombowdatetrue}
+\DeclareOption{tombo}{\tombowdatefalse}
+\DeclareOption{mentuke}{\tombowdatefalse \setlength{\@tombowwidth}{\z@}}
+
+%% package options part 1
+\DeclareOption{tombowbanner}{\tombowdatetrue}
+\DeclareOption{notombowbanner}{\tombowdatefalse}
+\DeclareOption{tombowdate}{% obsolete since v0.9c (2018/01/11)
+ \PackageWarning{\pxgtmb at pkgname}{%
+ Option `tombowdate' is renamed;\MessageBreak
+ use `tombowbanner' instead}%
+ \tombowdatetrue}
+\DeclareOption{notombowdate}{% obsolete since v0.9c (2018/01/11)
+ \PackageWarning{\pxgtmb at pkgname}{%
+ Option `notombowdate' is renamed;\MessageBreak
+ use `notombowbanner' instead}%
+ \tombowdatefalse}
+
+%% register a list of candidate papersize
+% * \pxgtmb at addpapersize[<tombowname>]{<papername>}{<shorter edge>}{<longer edge>}
+% used for declaration of papersize.
+% when no option is specified (that is, \ifpxgtmb at switch = \iffalse),
+% also used for automatic stocksize determination.
+% * if <tombowname> = \@empty, the next <papername> is assumed.
+% * if <tombowname> = n, stocksize is set to papersize + 2in.
+\def\pxgtmb at addpapersize{\@ifnextchar[{\pxgtmb at addp@persize}{\pxgtmb at addp@persize[\@empty]}}
+\def\pxgtmb at addp@persize[#1]#2#3#4{%
+ % get current papersize and search through known standard in ascending order
+ \ifx\pxgtmb at guessedtombow\@empty
+ \ifx\pxgtmb at guessedpaper\@empty
+ % shorter edge -> \@tempdima, longer edge -> \@tempdimb
+ \ifdim\paperwidth>\paperheight\relax
+ \pxgtmb at landscapetrue
+ \@tempdima\paperheight \@tempdimb\paperwidth
+ \else
+ \pxgtmb at 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 at mag is defined, assume jsclasses-style \mag employment
+ \ifnum\mag=\@m\else \ifx\inv at mag\@undefined\else
+ \@ovri=\inv at mag\@ovri\relax
+ \@ovro=\inv at mag\@ovro\relax
+ \fi \fi
+ % compare
+ \ifdim\@tempdima=\@ovri\relax \ifdim\@tempdimb=\@ovro\relax
+ \def\pxgtmb at guessedpaper{#2}%
+ \ifx#1\@empty\else
+ \def\pxgtmb at guessedtombow{#1}%
+ \if n\pxgtmb at guessedtombow\else
+ \ExecuteOptions{tombow-#1}% package defaults to tombowdatetrue
+ \pxgtmb at switchfalse
+ \fi
+ \fi
+ \fi \fi
+ \else
+ \def\pxgtmb at guessedtombow{#2}% save for console message
+ \pxgtmb at setstock{#3}{#4}% set stockwidth/height
+ \fi\fi
+ \DeclareOption{tombow-#2}{%
+ \pxgtmb at switchtrue
+ \tombowdatetrue
+ \pxgtmb at setstock{#3}{#4}%
+ }%
+ \DeclareOption{tombo-#2}{%
+ \pxgtmb at switchtrue
+ \tombowdatefalse
+ \pxgtmb at setstock{#3}{#4}%
+ }%
+ \DeclareOption{mentuke-#2}{%
+ \pxgtmb at switchtrue
+ \tombowdatefalse
+ \setlength{\@tombowwidth}{\z@}%
+ \pxgtmb at setstock{#3}{#4}%
+ }%
+}
+\def\pxgtmb at setstock#1#2{%
+ \ifpxgtmb at landscape
+ \setlength\stockwidth{#2}%
+ \setlength\stockheight{#1}%
+ \else
+ \setlength\stockwidth{#1}%
+ \setlength\stockheight{#2}%
+ \fi
+ % if \mag != 1000 and \inv at mag is defined, assume jsclasses-style \mag employment
+ \ifnum\mag=\@m\else \ifx\inv at mag\@undefined\else
+ \stockwidth=\inv at mag\stockwidth\relax
+ \stockheight=\inv at mag\stockheight\relax
+ \fi \fi
+}%
+\@onlypreamble\pxgtmb at addpapersize
+\@onlypreamble\pxgtmb at addp@persize
+\@onlypreamble\pxgtmb at setstock
+
+%% initialize before search
+\def\pxgtmb at guessedpaper{}
+\def\pxgtmb at guessedtombow{}
+\@onlypreamble\pxgtmb at guessedpaper
+\@onlypreamble\pxgtmb at guessedtombow
+
+%% package options part 2
+% ISO A series <=> JIS B series in the ascending order
+\pxgtmb at addpapersize{a10}{26mm}{37mm}
+\pxgtmb at addpapersize{b10}{32mm}{45mm}
+\pxgtmb at addpapersize{a9}{37mm}{52mm}
+\pxgtmb at addpapersize{b9}{45mm}{64mm}
+\pxgtmb at addpapersize{a8}{52mm}{74mm}
+\pxgtmb at addpapersize{b8}{64mm}{91mm}
+\pxgtmb at addpapersize{a7}{74mm}{105mm}
+\pxgtmb at addpapersize{b7}{91mm}{128mm}
+\pxgtmb at addpapersize{a6}{105mm}{148mm}
+\pxgtmb at addpapersize{b6}{128mm}{182mm}
+\pxgtmb at addpapersize{a5}{148mm}{210mm}
+\pxgtmb at addpapersize{b5}{182mm}{257mm}
+\pxgtmb at addpapersize{a4}{210mm}{297mm}
+\pxgtmb at addpapersize{b4}{257mm}{364mm}
+\pxgtmb at addpapersize{a3}{297mm}{420mm}
+\pxgtmb at addpapersize{b3}{364mm}{515mm}
+\pxgtmb at addpapersize{a2}{420mm}{594mm}
+\pxgtmb at addpapersize{b2}{515mm}{728mm}
+\pxgtmb at addpapersize{a1}{594mm}{841mm}
+\pxgtmb at addpapersize{b1}{728mm}{1030mm}
+\pxgtmb at addpapersize[n]{a0}{841mm}{1189mm}
+\pxgtmb at addpapersize[n]{b0}{1030mm}{1456mm}
+
+%% package options part 3
+% ISO C series
+\pxgtmb at addpapersize[a9]{c10}{28mm}{40mm}
+\pxgtmb at addpapersize[a8]{c9}{40mm}{57mm}
+\pxgtmb at addpapersize[a7]{c8}{57mm}{81mm}
+\pxgtmb at addpapersize[a6]{c7}{81mm}{114mm}
+\pxgtmb at addpapersize[a5]{c6}{114mm}{162mm}
+\pxgtmb at addpapersize[a4]{c5}{162mm}{229mm}
+\pxgtmb at addpapersize[a3]{c4}{229mm}{354mm}
+\pxgtmb at addpapersize[a2]{c3}{324mm}{458mm}
+\pxgtmb at addpapersize[a1]{c2}{458mm}{648mm}
+\pxgtmb at addpapersize[a0]{c1}{648mm}{917mm}
+\pxgtmb at addpapersize[n]{c0}{917mm}{1297mm}
+% misc
+\pxgtmb at addpapersize[b4]{a4j}{210mm}{297mm}
+\pxgtmb at addpapersize[b5]{a5j}{148mm}{210mm}
+\pxgtmb at addpapersize[a3]{b4j}{257mm}{364mm}
+\pxgtmb at addpapersize[a4]{b5j}{182mm}{257mm}
+\pxgtmb at addpapersize[b4]{a4var}{210mm}{283mm}
+\pxgtmb at addpapersize[a4]{b5var}{182mm}{230mm}
+\pxgtmb at addpapersize[a3]{letter}{8.5in}{11in}
+\pxgtmb at addpapersize[a3]{legal}{8.5in}{14in}
+\pxgtmb at addpapersize[a4]{executive}{7.25in}{10.5in}
+
+%% package options part 4
+\def\pxgtmb at pdfbox@status{0}
+\DeclareOption{pdfbox}{\def\pxgtmb at pdfbox@status{1}}
+\DeclareOption{dvips}{\def\pxgtmb at driver{s}}
+\DeclareOption{dvipdfmx}{\def\pxgtmb at driver{m}}
+\DeclareOption{xetex}{\def\pxgtmb at driver{x}}
+\DeclareOption{pdftex}{\def\pxgtmb at driver{p}}
+\DeclareOption{luatex}{\def\pxgtmb at driver{l}}
+
+%% default options
+\ExecuteOptions{tombowbanner}% package defaults to tombowdatetrue
+\ProcessOptions
+
+%% display search result
+% if any of explicit size option is specified, \ifpxgtmb at switch = \iftrue.
+% otherwise, automatic size detection should be successful.
+\ifpxgtmb at switch\else
+ % check status
+ \@tempcnta=\z@\relax
+ \ifx\pxgtmb at guessedpaper\@empty
+ \advance\@tempcnta\@ne\relax
+ \fi
+ \ifx\pxgtmb at guessedtombow\@empty
+ \advance\@tempcnta\tw@\relax
+ \else\if n\pxgtmb at guessedtombow
+ \advance\@tempcnta\tw@\relax
+ \fi\fi
+ % message
+ \ifodd\@tempcnta
+ %\PackageWarningNoLine\pxgtmb at pkgname{%
+ % No size option specified, and automatic papersize\MessageBreak
+ % detection also failed}
+ \else
+ \typeout{***** Package \pxgtmb at pkgname\space detected \pxgtmb at guessedpaper paper. *****}
+ \fi
+ \ifnum\@tempcnta>\@ne\relax
+ \PackageWarningNoLine\pxgtmb at 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 at guessedtombow. *****}
+ \fi
+\fi
+
+%% warnings
+\ifdim\stockwidth<\paperwidth
+ \PackageWarningNoLine\pxgtmb at pkgname{%
+ \string\stockwidth\space is smaller than \string\paperwidth!\MessageBreak
+ Is this really what you want?}
+\fi
+\ifdim\stockheight<\paperheight
+ \PackageWarningNoLine\pxgtmb at pkgname{%
+ \string\stockheight\space is smaller than \string\paperheight!\MessageBreak
+ Is this really what you want?}
+\fi
+
+%% make tombow box according to 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
+
+%% pdf "digital tombo" (driver-dependent)
+\if 1\pxgtmb at pdfbox@status
+\begingroup
+\def\pxgtmb at PDF@setbp#1#2{%
+ \@tempdima=.996264#2\relax % 0.996264 = 72/72.27 (cf. 1in = 72.27pt = 72bp)
+ \edef#1{\strip at pt\@tempdima}}
+%\pxgtmb at PDF@setbp\pxgtmb at PDF@crop at ur@x\stockwidth
+%\pxgtmb at PDF@setbp\pxgtmb at PDF@crop at ur@y\stockheight
+\pxgtmb at PDF@setbp\pxgtmb at PDF@trim at ll@x{\dimexpr(\stockwidth-\paperwidth)/2}
+\pxgtmb at PDF@setbp\pxgtmb at PDF@trim at ll@y{\dimexpr(\stockheight-\paperheight)/2}
+\pxgtmb at PDF@setbp\pxgtmb at PDF@trim at ur@x{\dimexpr(\stockwidth+\paperwidth)/2}
+\pxgtmb at PDF@setbp\pxgtmb at PDF@trim at ur@y{\dimexpr(\stockheight+\paperheight)/2}
+\pxgtmb at PDF@setbp\pxgtmb at PDF@bleed at ll@x{\dimexpr(\stockwidth-\paperwidth)/2-3mm}
+\pxgtmb at PDF@setbp\pxgtmb at PDF@bleed at ll@y{\dimexpr(\stockheight-\paperheight)/2-3mm}
+\pxgtmb at PDF@setbp\pxgtmb at PDF@bleed at ur@x{\dimexpr(\stockwidth+\paperwidth)/2+3mm}
+\pxgtmb at PDF@setbp\pxgtmb at PDF@bleed at ur@y{\dimexpr(\stockheight+\paperheight)/2+3mm}
+\xdef\pxgtmb at PDF@CTM{%
+ %% CropBox: implicit (same as MediaBox, large paper size)
+ %/CropBox [0 0 \pxgtmb at PDF@crop at ur@x\space \pxgtmb at PDF@crop at ur@y]
+ %% BleedBox: explicit (final paper size + surrounding 3mm)
+ \noexpand\pxgtmb at PDF@begin
+ /BleedBox [\pxgtmb at PDF@bleed at ll@x\space
+ \pxgtmb at PDF@bleed at ll@y\space
+ \pxgtmb at PDF@bleed at ur@x\space
+ \pxgtmb at PDF@bleed at ur@y] \noexpand\pxgtmb at PDF@end
+ %% TrimBox: explicit (final paper size)
+ \noexpand\pxgtmb at PDF@begin
+ /TrimBox [\pxgtmb at PDF@trim at ll@x\space
+ \pxgtmb at PDF@trim at ll@y\space
+ \pxgtmb at PDF@trim at ur@x\space
+ \pxgtmb at PDF@trim at ur@y] \noexpand\pxgtmb at PDF@end
+ %% ArtBox: implicit
+}
+\endgroup
+%% supported drivers: dvips, dvipdfmx, XeTeX, pdfTeX, LuaTeX
+\ifnum0\ifx\pdfvariable\@undefined\else\the\outputmode\fi=0\relax
+\ifnum0\ifx\pdfpageattr\@undefined\else\the\pdfoutput\fi=0\relax
+ %% for DVI output or XeTeX
+ \ifx\XeTeXversion\@undefined
+ \chardef\pxgtmb at errlevel=\z@
+ % check graphics/graphicx/color status
+ \ifx\Gin at driver\@undefined
+ \ifx\pxgtmb at driver\@undefined % driver option unavailable
+ \PackageError{\pxgtmb at pkgname}{%
+ Option `pdfbox' is driver-dependent!\MessageBreak
+ Please add a driver option}\@ehc
+ \def\pxgtmb at driver{s}% fallback
+ \fi
+ \else
+ % check consistency
+ \def\pxgtmb at tempa{dvips.def}\ifx\Gin at driver\pxgtmb at tempa
+ \ifx\pxgtmb at driver\@undefined
+ \def\pxgtmb at driver{s}% pass
+ \else
+ \if s\pxgtmb at driver\else \chardef\pxgtmb at errlevel=\@ne \fi
+ \fi
+ \else\def\pxgtmb at tempa{dvipdfmx.def}\ifx\Gin at driver\pxgtmb at tempa
+ \ifx\pxgtmb at driver\@undefined
+ \def\pxgtmb at driver{m}% pass
+ \else
+ \if m\pxgtmb at driver\else \chardef\pxgtmb at errlevel=\@ne \fi
+ \fi
+ \else
+ \ifx\pxgtmb at driver\@undefined
+ \PackageError{\pxgtmb at pkgname}{%
+ Option `pdfbox' is driver-dependent!\MessageBreak
+ Please add a driver option}\@ehc
+ \def\pxgtmb at driver{s}% fallback
+ \fi
+ \fi\fi
+ \ifnum\pxgtmb at errlevel>\z@
+ \PackageWarningNoLine{\pxgtmb at pkgname}{%
+ Inconsistent driver option detected!\MessageBreak
+ Package `graphics' or `color' already\MessageBreak
+ loaded with different driver option}\@ehc
+ \fi
+ \fi
+ \else
+ \def\pxgtmb at driver{x}
+ \fi
+ % required for putting \special to every page
+ \ifx\pfmtname\@undefined
+ \RequirePackage{atbegshi}
+ \else
+ \IfFileExists{pxatbegshi.sty}
+ {\RequirePackage{pxatbegshi}}
+ {\RequirePackage{atbegshi}}
+ \fi
+ % do it
+ \if x\pxgtmb at driver
+ %% for XeTeX (similar to dvipdfmx, except for paper size)
+ \def\pxgtmb at PDF@begin{}\def\pxgtmb at PDF@end{}
+ \edef\pxgtmb at PDF@CTM{{pdf:put @thispage << \pxgtmb at PDF@CTM >>}}
+ % force paper size
+ \pdfpagewidth\stockwidth \pdfpageheight\stockheight
+ % emit pdf boxes
+ \AtBeginShipout{\setbox\AtBeginShipoutBox=\vbox{%
+ \baselineskip\z at skip\lineskip\z at skip\lineskiplimit\z@
+ \expandafter\special\pxgtmb at PDF@CTM % here!
+ \copy\AtBeginShipoutBox}}
+ \else
+ \if s\pxgtmb at driver
+ %% for dvips
+ \def\pxgtmb at PDF@begin{[ }\def\pxgtmb at PDF@end{/PAGE pdfmark }
+ \edef\pxgtmb at PDF@CTM{{ps:SDict begin \pxgtmb at PDF@CTM end}}
+ \else\if m\pxgtmb at driver
+ %% for dvipdfmx
+ \def\pxgtmb at PDF@begin{}\def\pxgtmb at PDF@end{}
+ \edef\pxgtmb at PDF@CTM{{pdf:put @thispage << \pxgtmb at PDF@CTM >>}}
+ \else
+ %% for others (in case graphics option wrong)
+ \PackageError{\pxgtmb at pkgname}{Sorry, driver unsupported}\@ehc
+ \def\pxgtmb at PDF@CTM{{}}% dummy
+ \fi\fi
+ \AtBeginShipout{\setbox\AtBeginShipoutBox=\vbox{%
+ \baselineskip\z at skip\lineskip\z at skip\lineskiplimit\z@
+ % force paper size
+ \special{papersize=\the\stockwidth,\the\stockheight}%
+ % emit pdf boxes
+ \expandafter\special\pxgtmb at PDF@CTM % here!
+ \copy\AtBeginShipoutBox}}
+ \fi
+\else
+ %% for pdfTeX
+ \def\pxgtmb at driver{p}
+ \def\pxgtmb at PDF@begin{}\def\pxgtmb at PDF@end{}
+ \edef\pxgtmb at PDF@CTM{{\pxgtmb at PDF@CTM}}
+ % force paper size
+ \pdfpagewidth\stockwidth \pdfpageheight\stockheight
+ % emit pdf boxes
+ \expandafter\pdfpageattr\pxgtmb at PDF@CTM
+\fi
+\else
+ %% for LuaTeX
+ \def\pxgtmb at driver{l}
+ \def\pxgtmb at PDF@begin{}\def\pxgtmb at PDF@end{}
+ \edef\pxgtmb at PDF@CTM{pageattr{\pxgtmb at PDF@CTM}}
+ % force paper size
+ \pagewidth\stockwidth \pageheight\stockheight
+ % emit pdf boxes
+ \expandafter\pdfvariable\pxgtmb at PDF@CTM
+\fi
+\fi
+
+%% user interface
+\newcommand{\settombowbanner}[1]{%
+ \iftombowdate\else
+ \PackageWarning{\pxgtmb at pkgname}{%
+ Package option `tombowbanner' is not effective.\MessageBreak
+ The banner may be discarded}%
+ \fi
+ \@bannertoken{#1}\maketombowbox}
+\newcommand{\settombowbannerfont}[1]{%
+ \font\@bannerfont=#1\relax \maketombowbox}
+\newcommand{\settombowwidth}[1]{%
+ \setlength{\@tombowwidth}{#1}\maketombowbox}
+\newcommand{\settombowbleed}[1]{%
+ \def\@tombowbleed{#1}\maketombowbox}
+\newcommand{\settombowcolor}[1]{%
+ \def\@tombowcolor{#1}}
+
+%% patch internal for pdfpages to work with tombow
+%% (tested on pdfpages 2017/10/31 v0.5l)
+\def\pxgtmb at patch@pdfpages{%
+ \RequirePackage{etoolbox}
+ \patchcmd{\AM at output}{%
+ \setlength{\@tempdima}{\AM at xmargin}%
+ \edef\AM at xmargin{\the\@tempdima}%
+ \setlength{\@tempdima}{\AM at ymargin}%
+ \edef\AM at ymargin{\the\@tempdima}%
+ }{%
+ \setlength{\@tempdima}{\AM at xmargin\iftombow+1in\fi}%
+ \edef\AM at xmargin{\the\@tempdima}%
+ \setlength{\@tempdima}{\AM at ymargin\iftombow-1in\fi}%
+ \edef\AM at ymargin{\the\@tempdima}%
+ }
+ {\PackageInfo{\pxgtmb at pkgname}{Patch for pdfpages applied}}
+ {\PackageWarningNoLine{\pxgtmb at pkgname}{Patch for pdfpages failed}}%
+ }
+\AtBeginDocument{\@ifpackageloaded{pdfpages}{\pxgtmb at patch@pdfpages}{}}
+
\endinput
Modified: trunk/Master/texmf-dist/tex/latex/gentombow/pxgentombow.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/gentombow/pxgentombow.sty 2018-05-17 20:23:50 UTC (rev 47737)
+++ trunk/Master/texmf-dist/tex/latex/gentombow/pxgentombow.sty 2018-05-17 20:25:12 UTC (rev 47738)
@@ -8,328 +8,9 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pxgentombow}
- [2018/03/16 v0.9e Generate crop mark 'tombow']
-\def\pxgtmb at pkgname{pxgentombow}
-
-%% error status (shared with gentombow.sty)
-\ifx\pxgtmb at errlevel\@undefined
- \chardef\pxgtmb at errlevel=\z@
-\fi
-
-%% supported engines
-\ifx\pfmtversion\@undefined
- \@ifpackageloaded{luatexja}{}{\chardef\pxgtmb at errlevel=\@ne}
-\fi
-\ifnum\pxgtmb at errlevel>\z@
- \ifx\pxgtmb at emu@pkgname\@undefined % gentombow.sty not loaded
- \PackageError{\pxgtmb at pkgname}{%
- Only pLaTeX, upLaTeX and LuaTeX-ja are supported!\MessageBreak
- Please use `gentombow' package instead}\@ehc
- \expandafter\expandafter\expandafter\endinput\expandafter
- \fi
-\else
- \@namedef{ver at gentombow.sty}{}% fake
-\fi
-
-%% import from jsclasses
-\hour\time \divide\hour by 60\relax
-\@tempcnta\hour \multiply\@tempcnta 60\relax
-\minute\time \advance\minute-\@tempcnta
-
-\ifnum\mag=\@m\else
- % if BXjscls is detected and \mag != 1000,
- % the layout will be definitely broken
- \ifx\bxjs at param@mag\@undefined\else
- \PackageError{\pxgtmb at pkgname}{%
- It seems you are using Japanese `BXjscls'\MessageBreak
- (bxjsarticle, bxjsbook, bxjsreport, etc.) or\MessageBreak
- some derived class. Try adding `nomag' or\MessageBreak
- `nomag*' to the class option list}\@ehc
- \fi
-\fi
-
-%% 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
- % if jsclasses is detected and \mag != 1000, it's too late
- % -- When a size option other than `10pt' is specified,
- % jsclasses uses \mag and calculates \oddsidemargin and \topmargin
- % differently, depending on tombow status.
- % In order to force `jsclasses' to calculate correctly,
- % `tombow' or `tombo' is required as a class option.
- % ... or, you may add `nomag' or `nomag*' instead.
- \ifnum\mag=\@m\else \ifx\inv at mag\@undefined\else
- \PackageError{\pxgtmb at pkgname}{%
- It seems you are using Japanese `jsclasses'\MessageBreak
- (jsarticle, jsbook, jsreport, etc.) or some\MessageBreak
- derived class. Please add `tombow' or `tombo'\MessageBreak
- to the class option list}\@ehc
- \fi \fi
- % BXjscls is already checked above, no check here
- \PackageInfo\pxgtmb at pkgname{tombow feature enabled by \pxgtmb at pkgname}
-\fi
-\tombowtrue %\tombowdatetrue %% enabled by tombowbanner option
-\setlength{\@tombowwidth}{.1\p@}%
-
-%% import from jsclasses
-\@bannertoken{%
- \jobname\space(\number\year-\two at digits\month-\two at digits\day
- \space\two at digits\hour:\two at digits\minute)}
-
-%% prepare dimension
-\ifx\stockheight\@undefined \newdimen\stockheight \fi
-\ifx\stockwidth\@undefined \newdimen\stockwidth \fi
-
-%% prepare flag
-\newif\ifpxgtmb at switch \pxgtmb at switchfalse
-\newif\ifpxgtmb at landscape \pxgtmb at landscapefalse
-
-%% passed from class options
-%% should be declared first inside this package (least priority)
-\DeclareOption{tombow}{\tombowdatetrue}
-\DeclareOption{tombo}{\tombowdatefalse}
-\DeclareOption{mentuke}{\tombowdatefalse \setlength{\@tombowwidth}{\z@}}
-
-%% package options part 1
-\DeclareOption{tombowbanner}{\tombowdatetrue}
-\DeclareOption{notombowbanner}{\tombowdatefalse}
-\DeclareOption{tombowdate}{% obsolete since v0.9c (2018/01/11)
- \PackageWarning{\pxgtmb at pkgname}{%
- Option `tombowdate' is renamed;\MessageBreak
- use `tombowbanner' instead}%
- \tombowdatetrue}
-\DeclareOption{notombowdate}{% obsolete since v0.9c (2018/01/11)
- \PackageWarning{\pxgtmb at pkgname}{%
- Option `notombowdate' is renamed;\MessageBreak
- use `notombowbanner' instead}%
- \tombowdatefalse}
-
-%% register a list of candidate papersize
-% * \pxgtmb at addpapersize[<tombowname>]{<papername>}{<shorter edge>}{<longer edge>}
-% used for declaration of papersize.
-% when no option is specified (that is, \ifpxgtmb at switch = \iffalse),
-% also used for automatic stocksize determination.
-% * if <tombowname> = \@empty, the next <papername> is assumed.
-% * if <tombowname> = n, stocksize is set to papersize + 2in.
-\def\pxgtmb at addpapersize{\@ifnextchar[{\pxgtmb at addp@persize}{\pxgtmb at addp@persize[\@empty]}}
-\def\pxgtmb at addp@persize[#1]#2#3#4{%
- % get current papersize and search through known standard in ascending order
- \ifx\pxgtmb at guessedtombow\@empty
- \ifx\pxgtmb at guessedpaper\@empty
- % shorter edge -> \@tempdima, longer edge -> \@tempdimb
- \ifdim\paperwidth>\paperheight\relax
- \pxgtmb at landscapetrue
- \@tempdima\paperheight \@tempdimb\paperwidth
- \else
- \pxgtmb at 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 at mag is defined, assume jsclasses-style \mag employment
- \ifnum\mag=\@m\else \ifx\inv at mag\@undefined\else
- \@ovri=\inv at mag\@ovri\relax
- \@ovro=\inv at mag\@ovro\relax
- \fi \fi
- % compare
- \ifdim\@tempdima=\@ovri\relax \ifdim\@tempdimb=\@ovro\relax
- \def\pxgtmb at guessedpaper{#2}%
- \ifx#1\@empty\else
- \def\pxgtmb at guessedtombow{#1}%
- \if n\pxgtmb at guessedtombow\else
- \ExecuteOptions{tombow-#1}% package defaults to tombowdatetrue
- \pxgtmb at switchfalse
- \fi
- \fi
- \fi \fi
- \else
- \def\pxgtmb at guessedtombow{#2}% save for console message
- \pxgtmb at setstock{#3}{#4}% set stockwidth/height
- \fi\fi
- \DeclareOption{tombow-#2}{%
- \pxgtmb at switchtrue
- \tombowdatetrue
- \pxgtmb at setstock{#3}{#4}%
- }%
- \DeclareOption{tombo-#2}{%
- \pxgtmb at switchtrue
- \tombowdatefalse
- \pxgtmb at setstock{#3}{#4}%
- }%
- \DeclareOption{mentuke-#2}{%
- \pxgtmb at switchtrue
- \tombowdatefalse
- \setlength{\@tombowwidth}{\z@}%
- \pxgtmb at setstock{#3}{#4}%
- }%
-}
-\def\pxgtmb at setstock#1#2{%
- \ifpxgtmb at landscape
- \setlength\stockwidth{#2}%
- \setlength\stockheight{#1}%
- \else
- \setlength\stockwidth{#1}%
- \setlength\stockheight{#2}%
- \fi
- % if \mag != 1000 and \inv at mag is defined, assume jsclasses-style \mag employment
- \ifnum\mag=\@m\else \ifx\inv at mag\@undefined\else
- \stockwidth=\inv at mag\stockwidth\relax
- \stockheight=\inv at mag\stockheight\relax
- \fi \fi
-}%
-\@onlypreamble\pxgtmb at addpapersize
-\@onlypreamble\pxgtmb at addp@persize
-\@onlypreamble\pxgtmb at setstock
-
-%% initialize before search
-\def\pxgtmb at guessedpaper{}
-\def\pxgtmb at guessedtombow{}
-\@onlypreamble\pxgtmb at guessedpaper
-\@onlypreamble\pxgtmb at guessedtombow
-
-%% package options part 2
-% ISO A series <=> JIS B series in the ascending order
-\pxgtmb at addpapersize{a10}{26mm}{37mm}
-\pxgtmb at addpapersize{b10}{32mm}{45mm}
-\pxgtmb at addpapersize{a9}{37mm}{52mm}
-\pxgtmb at addpapersize{b9}{45mm}{64mm}
-\pxgtmb at addpapersize{a8}{52mm}{74mm}
-\pxgtmb at addpapersize{b8}{64mm}{91mm}
-\pxgtmb at addpapersize{a7}{74mm}{105mm}
-\pxgtmb at addpapersize{b7}{91mm}{128mm}
-\pxgtmb at addpapersize{a6}{105mm}{148mm}
-\pxgtmb at addpapersize{b6}{128mm}{182mm}
-\pxgtmb at addpapersize{a5}{148mm}{210mm}
-\pxgtmb at addpapersize{b5}{182mm}{257mm}
-\pxgtmb at addpapersize{a4}{210mm}{297mm}
-\pxgtmb at addpapersize{b4}{257mm}{364mm}
-\pxgtmb at addpapersize{a3}{297mm}{420mm}
-\pxgtmb at addpapersize{b3}{364mm}{515mm}
-\pxgtmb at addpapersize{a2}{420mm}{594mm}
-\pxgtmb at addpapersize{b2}{515mm}{728mm}
-\pxgtmb at addpapersize{a1}{594mm}{841mm}
-\pxgtmb at addpapersize{b1}{728mm}{1030mm}
-\pxgtmb at addpapersize[n]{a0}{841mm}{1189mm}
-\pxgtmb at addpapersize[n]{b0}{1030mm}{1456mm}
-
-%% package options part 3
-% ISO C series
-\pxgtmb at addpapersize[a9]{c10}{28mm}{40mm}
-\pxgtmb at addpapersize[a8]{c9}{40mm}{57mm}
-\pxgtmb at addpapersize[a7]{c8}{57mm}{81mm}
-\pxgtmb at addpapersize[a6]{c7}{81mm}{114mm}
-\pxgtmb at addpapersize[a5]{c6}{114mm}{162mm}
-\pxgtmb at addpapersize[a4]{c5}{162mm}{229mm}
-\pxgtmb at addpapersize[a3]{c4}{229mm}{354mm}
-\pxgtmb at addpapersize[a2]{c3}{324mm}{458mm}
-\pxgtmb at addpapersize[a1]{c2}{458mm}{648mm}
-\pxgtmb at addpapersize[a0]{c1}{648mm}{917mm}
-\pxgtmb at addpapersize[n]{c0}{917mm}{1297mm}
-% misc
-\pxgtmb at addpapersize[b4]{a4j}{210mm}{297mm}
-\pxgtmb at addpapersize[b5]{a5j}{148mm}{210mm}
-\pxgtmb at addpapersize[a3]{b4j}{257mm}{364mm}
-\pxgtmb at addpapersize[a4]{b5j}{182mm}{257mm}
-\pxgtmb at addpapersize[b4]{a4var}{210mm}{283mm}
-\pxgtmb at addpapersize[a4]{b5var}{182mm}{230mm}
-\pxgtmb at addpapersize[a3]{letter}{8.5in}{11in}
-\pxgtmb at addpapersize[a3]{legal}{8.5in}{14in}
-\pxgtmb at addpapersize[a4]{executive}{7.25in}{10.5in}
-
-%% default options
-\ExecuteOptions{tombowbanner}% package defaults to tombowdatetrue
-\ProcessOptions
-
-%% display search result
-% if any of explicit size option is specified, \ifpxgtmb at switch = \iftrue.
-% otherwise, automatic size detection should be successful.
-\ifpxgtmb at switch\else
- % check status
- \@tempcnta=\z@\relax
- \ifx\pxgtmb at guessedpaper\@empty
- \advance\@tempcnta\@ne\relax
- \fi
- \ifx\pxgtmb at guessedtombow\@empty
- \advance\@tempcnta\tw@\relax
- \else\if n\pxgtmb at guessedtombow
- \advance\@tempcnta\tw@\relax
- \fi\fi
- % message
- \ifodd\@tempcnta
- %\PackageWarningNoLine\pxgtmb at pkgname{%
- % No size option specified, and automatic papersize\MessageBreak
- % detection also failed}
- \else
- \typeout{***** Package \pxgtmb at pkgname\space detected \pxgtmb at guessedpaper paper. *****}
- \fi
- \ifnum\@tempcnta>\@ne\relax
- \PackageWarningNoLine\pxgtmb at 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 at guessedtombow. *****}
- \fi
-\fi
-
-%% warnings
-\ifdim\stockwidth<\paperwidth
- \PackageWarningNoLine\pxgtmb at pkgname{%
- \string\stockwidth\space is smaller than \string\paperwidth!\MessageBreak
- Is this really what you want?}
-\fi
-\ifdim\stockheight<\paperheight
- \PackageWarningNoLine\pxgtmb at pkgname{%
- \string\stockheight\space is smaller than \string\paperheight!\MessageBreak
- Is this really what you want?}
-\fi
-
-%% make tombow box according to 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
-
-%% user interface
-\newcommand{\settombowbanner}[1]{%
- \iftombowdate\else
- \PackageWarning{\pxgtmb at pkgname}{%
- Package option `tombowbanner' is not effective.\MessageBreak
- The banner may be discarded}%
- \fi
- \@bannertoken{#1}\maketombowbox}
-\newcommand{\settombowbannerfont}[1]{%
- \font\@bannerfont=#1\relax \maketombowbox}
-\newcommand{\settombowwidth}[1]{%
- \setlength{\@tombowwidth}{#1}\maketombowbox}
-
-%% patch internal for pdfpages to work with tombow
-%% (tested on pdfpages 2017/10/31 v0.5l)
-\def\pxgtmb at patch@pdfpages{%
- \RequirePackage{etoolbox}
- \patchcmd{\AM at output}{%
- \setlength{\@tempdima}{\AM at xmargin}%
- \edef\AM at xmargin{\the\@tempdima}%
- \setlength{\@tempdima}{\AM at ymargin}%
- \edef\AM at ymargin{\the\@tempdima}%
- }{%
- \setlength{\@tempdima}{\AM at xmargin\iftombow+1in\fi}%
- \edef\AM at xmargin{\the\@tempdima}%
- \setlength{\@tempdima}{\AM at ymargin\iftombow-1in\fi}%
- \edef\AM at ymargin{\the\@tempdima}%
- }
- {\PackageInfo{\pxgtmb at pkgname}{Patch for pdfpages applied}}
- {\PackageWarningNoLine{\pxgtmb at pkgname}{Patch for pdfpages failed}}%
- }
-\AtBeginDocument{\@ifpackageloaded{pdfpages}{\pxgtmb at patch@pdfpages}{}}
-
+ [2018/05/17 v0.9g Generate crop mark 'tombow']
+\PackageWarningNoLine{pxgentombow}{%
+ Package `pxgentombow' is now superseded by\MessageBreak
+ `gentombow', use `gentombow' instead}
+\RequirePackageWithOptions{gentombow}% load it
\endinput
More information about the tex-live-commits
mailing list