review 3.0.0.preview2 → 3.0.0.preview3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +7 -1
  3. data/NEWS.ja.md +49 -0
  4. data/NEWS.md +49 -0
  5. data/README.md +8 -2
  6. data/doc/LICENSE +20 -0
  7. data/doc/config.yml.sample +9 -2
  8. data/doc/customize_epub.ja.md +23 -0
  9. data/doc/customize_epub.md +23 -0
  10. data/doc/format.ja.md +98 -4
  11. data/doc/format.md +98 -1
  12. data/doc/makeindex.ja.md +2 -2
  13. data/doc/pdfmaker.ja.md +12 -3
  14. data/doc/pdfmaker.md +2 -2
  15. data/doc/preproc.ja.md +2 -2
  16. data/doc/quickstart.ja.md +1 -1
  17. data/doc/quickstart.md +1 -1
  18. data/lib/review/compiler.rb +1 -1
  19. data/lib/review/configure.rb +13 -1
  20. data/lib/review/epubmaker.rb +10 -4
  21. data/lib/review/htmlbuilder.rb +31 -9
  22. data/lib/review/init.rb +72 -3
  23. data/lib/review/makerhelper.rb +180 -1
  24. data/lib/review/pdfmaker.rb +23 -4
  25. data/lib/review/version.rb +1 -1
  26. data/lib/review/webmaker.rb +14 -4
  27. data/review.gemspec +1 -1
  28. data/samples/sample-book/src/Rakefile +20 -0
  29. data/samples/sample-book/src/config.yml +3 -2
  30. data/samples/sample-book/src/images/cover-a5.ai +5836 -16
  31. data/samples/sample-book/src/images/cover-b5.ai +5735 -15
  32. data/samples/syntax-book/config.yml +1 -1
  33. data/templates/LICENSE +1 -1
  34. data/templates/latex/config.erb +24 -11
  35. data/templates/latex/layout.tex.erb +15 -5
  36. data/templates/latex/review-jlreq/README.md +2 -1
  37. data/templates/latex/review-jlreq/review-base.sty +165 -22
  38. data/templates/latex/review-jlreq/review-jlreq.cls +180 -110
  39. data/templates/latex/review-jlreq/review-style.sty +13 -125
  40. data/templates/latex/review-jlreq/reviewmacro.sty +7 -0
  41. data/templates/latex/review-jsbook/README.md +129 -0
  42. data/templates/latex/review-jsbook/review-base.sty +33 -20
  43. data/templates/latex/review-jsbook/review-jsbook.cls +545 -0
  44. data/templates/latex/review-jsbook/reviewmacro.sty +7 -0
  45. data/test/assets/test_template.tex +27 -8
  46. data/test/assets/test_template_backmatter.tex +27 -8
  47. data/test/test_helper.rb +3 -0
  48. data/test/test_htmlbuilder.rb +3 -1
  49. data/test/test_pdfmaker.rb +2 -0
  50. data/vendor/gentombow/.gitignore +163 -0
  51. data/vendor/gentombow/LICENSE +27 -0
  52. data/vendor/gentombow/Makefile +36 -0
  53. data/vendor/gentombow/README.md +49 -0
  54. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  55. data/vendor/gentombow/bounddvi-en.tex +135 -0
  56. data/vendor/gentombow/bounddvi.pdf +0 -0
  57. data/vendor/gentombow/bounddvi.sty +87 -0
  58. data/vendor/gentombow/bounddvi.tex +148 -0
  59. data/vendor/gentombow/create_archive.sh +24 -0
  60. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  61. data/vendor/gentombow/gentombow-ja.tex +449 -0
  62. data/vendor/gentombow/gentombow.pdf +0 -0
  63. data/vendor/gentombow/gentombow.sty +747 -0
  64. data/vendor/gentombow/gentombow.tex +298 -0
  65. data/vendor/gentombow/pxgentombow.pdf +0 -0
  66. data/vendor/gentombow/pxgentombow.sty +16 -0
  67. data/vendor/gentombow/pxgentombow.tex +25 -0
  68. data/vendor/gentombow/tests/bounddvi-01-usage.tex +7 -0
  69. data/vendor/gentombow/tests/bounddvi-02-jstombow.tex +7 -0
  70. data/vendor/gentombow/tests/bounddvi-03-grfdvips.tex +9 -0
  71. data/vendor/gentombow/tests/bounddvi-04-grfdvipdfmx.tex +9 -0
  72. data/vendor/gentombow/tests/bounddvi-05-geodvips.tex +8 -0
  73. data/vendor/gentombow/tests/bounddvi-05a-geodvips.tex +9 -0
  74. data/vendor/gentombow/tests/bounddvi-06-geodvipdfmx.tex +8 -0
  75. data/vendor/gentombow/tests/bounddvi-06a-geodvipdfmx.tex +9 -0
  76. data/vendor/gentombow/tests/pxgentombow-01-usage.tex +6 -0
  77. data/vendor/gentombow/tests/pxgentombow-02-js.tex +6 -0
  78. data/vendor/gentombow/tests/pxgentombow-02a-js-error.tex +6 -0
  79. data/vendor/gentombow/tests/pxgentombow-03-notombowdate.tex +8 -0
  80. data/vendor/gentombow/tests/pxgentombow-04-pkgoption.tex +8 -0
  81. data/vendor/gentombow/tests/pxgentombow-05-tatecls.tex +6 -0
  82. metadata +40 -3
Binary file
@@ -0,0 +1,135 @@
1
+ %# -*- ascii characters only -*-
2
+
3
+ % Package v1.0--v6.0: Koichi INOUE
4
+ % Package v7.0-- : Hironobu Yamashita
5
+ % The package documentation (this file) was
6
+ % written by Hironobu Yamashita.
7
+
8
+ \documentclass[a4paper]{article}
9
+ \usepackage{doc}
10
+ \usepackage{bounddvi}
11
+ \GetFileInfo{bounddvi.sty}
12
+ \title{Package \textsf{bounddvi} \fileversion}
13
+ \author{Koichi Inoue \& Hironobu Yamashita}
14
+ \date{\filedate}
15
+ \begin{document}
16
+
17
+ \maketitle
18
+
19
+ Package \textsf{bounddvi} sets papersize special into DVI file.
20
+ This package can be used in both tate (vertical) and yoko (horizontal)
21
+ writing directions of Japanese p\LaTeX/up\LaTeX, and both
22
+ \texttt{dvipdfmx} and \texttt{dvips} drivers are supported.
23
+ The \texttt{tombow} option defined in Japanese p\LaTeX\ kernel is
24
+ also supported. Of course, this package can be used also with the
25
+ original \LaTeX\ in DVI output mode.
26
+
27
+ This package (since v7.0) is part of \textsf{gentombow} bundle:
28
+ \begin{verbatim}
29
+ https://github.com/aminophen/gentombow
30
+ \end{verbatim}
31
+ Originally it was part of \textsf{platex-tools} bundle,
32
+ but it has been moved since March 2018.
33
+
34
+ \section*{Usage}
35
+
36
+ Load this package in preamble.
37
+ \begin{verbatim}
38
+ \documentclass[a5paper]{article}
39
+ \usepackage{bounddvi}
40
+ ...
41
+ \end{verbatim}
42
+ Process the \texttt{.tex} file using \texttt{latex} +
43
+ \texttt{dvips} chain or \texttt{latex} + \texttt{dvipdfmx} chain.
44
+
45
+ \section*{Known limitations}
46
+
47
+ \begin{enumerate}
48
+ \item The compatibility with \textsf{geometry} package may not be
49
+ perfect, as both \textsf{geometry} and \textsf{bounddvi} embeds
50
+ papersize special into a DVI file. The loading order of these
51
+ two packages may affect the actual size of output.
52
+ \item This package supports ``\textsf{jsclasses}-like employment''
53
+ of \verb+\mag+, because it's more widely used in Japan. This may
54
+ be incompatible with some classes or packages which employ
55
+ \verb+\mag+ in other ways.
56
+ \end{enumerate}
57
+ The details are described in the sections below.
58
+
59
+ \subsection*{The behavior of multiple papersize specials}
60
+
61
+ Sometimes multiple papersize specials may be embedded into a DVI
62
+ file. Among these specials, the specification which appears
63
+ \emph{at last} in DVI takes effect when \texttt{dvipdfmx} or
64
+ \texttt{dvips} (\TeX\ Live 2017 or later) is used\footnote{%
65
+ When \texttt{dvips} in \TeX\ Live 2016 or earlier is used,
66
+ the specification which appears \emph{first} in DVI took effect,
67
+ but the default behavior was changed in \TeX\ Live r42420 to
68
+ be compatible with \texttt{dvipdfmx}. The new option \texttt{-L0}
69
+ can be used to recover the old behavior.}. For example, when the
70
+ following source is processed with \texttt{dvipdfmx},
71
+ \begin{verbatim}
72
+ % latex + dvipdfmx
73
+ \documentclass{...}
74
+ \usepackage{bounddvi}
75
+ \usepackage[dvipdfm]{geometry}
76
+ \end{verbatim}
77
+ the specification by \textsf{geometry} wins.
78
+
79
+ \section*{Note about \texttt{\char92mag} handling}
80
+
81
+ Among the packages in CTAN, there are two types of implementation
82
+ in terms of \verb+\mag+ employment. It seems that there is no
83
+ (official or practical) ``standard'' in \verb+\mag+ treatment.
84
+
85
+ When the output is going to the physical size of A4
86
+ ($210\,\mathrm{mm} \times 297\,\mathrm{mm}$) with the setting of
87
+ \verb+\mag=2000+, there are two ways: some classes/packages can set
88
+ \begin{quote}
89
+ \texttt{\char92mag=2000}\\
90
+ \texttt{\char92paperwidth=210mm} ($= 420\,\mathrm{truemm}$)\\
91
+ \texttt{\char92paperheight=297mm} ($= 594\,\mathrm{truemm}$)
92
+ \end{quote}
93
+ and others can set
94
+ \begin{quote}
95
+ \texttt{\char92mag=2000}\\
96
+ \texttt{\char92paperwidth=105mm} ($= 210\,\mathrm{truemm}$)\\
97
+ \texttt{\char92paperheight=148.5mm} ($= 297\,\mathrm{truemm}$)
98
+ \end{quote}
99
+ The first way is adopted by \textsf{geometry} package etc, and it's
100
+ (probably) based on the behavior of the \verb+papersize+ special of
101
+ \texttt{dvips}. It does not handle true units properly, and accepts
102
+ only non-true units and evaluates them as if they were true units.
103
+ The second way is adopted by \textsf{jsclasses} document class etc,
104
+ and is also suppoted by \verb+pdf:pagesize+ special of
105
+ \texttt{dvipdfm(x)}. This can be more consistent with \LaTeX, since
106
+ all other layout parameters (e.g. \verb+\textwidth+) are set
107
+ according to the unit truemm.
108
+
109
+ The \textsf{bounddvi} supports the latter, so some classes/packages
110
+ which are based on the former may or may not work properly when
111
+ using \textsf{bounddvi} package.
112
+
113
+ \section*{References}
114
+
115
+ \begin{itemize}
116
+ \item Setting paper size using \texttt{dvips} \& \texttt{dvipdfm}
117
+ (description in Japanese)\\
118
+ \texttt{https://www.ma.ns.tcu.ac.jp/Pages/TeX/bounddvi.sty.html}
119
+ \end{itemize}
120
+
121
+ \section*{ChangeLog}
122
+
123
+ \begin{itemize}
124
+ \item 2002/03/10 v1.0 (KI) First version
125
+ \item 2002/10/30 v2.0 (KI) Add \texttt{dvipdfm} \texttt{pdf:pagesize} special
126
+ \item 2003/03/22 v3.2 (KI) Compatibility with \textsf{hyperref}
127
+ \item 2004/05/08 v4.0 (KI) Support for $\mathtt{\char92mag} \ne 1000$
128
+ \item 2004/12/08 v5.2 (KI) Compatibility with \textsf{geometry}
129
+ \item 2004/12/15 v6.0 (KI) Not to use \texttt{dvipdfm(x)} \texttt{pdf:pagesize special}
130
+ \item 2016/10/25 v7.1 (HY) Support for p\LaTeXe\ tombow option,
131
+ compatibility with \textsf{graphics}/\textsf{color} packages
132
+ \item 2016/12/28 v7.2 (HY) Documentation for the new \texttt{dvips} behavior
133
+ \end{itemize}
134
+
135
+ \end{document}
Binary file
@@ -0,0 +1,87 @@
1
+ %
2
+ % bounddvi.sty
3
+ % 2016/12/28 v7.2-v7.0 h.y.acetaminophen@gmail.com
4
+ % 2004/12/15 v6.0-v1.0 inoue@ma.ns.tcu.ac.jp
5
+ %
6
+ % This package, originally written by Koichi Inoue
7
+ % and modified by Hironobu Yamashita, is distributed
8
+ % as part of the gentombow bundle.
9
+ % https://github.com/aminophen/gentombow
10
+ %
11
+
12
+ \NeedsTeXFormat{LaTeX2e}
13
+ \ProvidesPackage{bounddvi}[2016/12/28 v7.2 bounddvi]
14
+
15
+ % catcode trick to hide \iftombow ... \else ... \fi
16
+ % since \iftombow is defined only in pLaTeX.
17
+ \ifx\pfmtname\@undefined
18
+ \catcode`\Q=14\relax
19
+ \else
20
+ \catcode`\Q=9\relax
21
+ \fi
22
+
23
+ % Note: graphics/color drivers
24
+ % - dvips.def 2016/07/10 v3.1a or later
25
+ % - dvipdfmx.def 2016/07/10 v4.12 or later
26
+ % emit papersize special _only_ when \Gin@setpagesizetrue
27
+ % and \mag = 1000. When graphicx(s) or color is used with
28
+ % setpagesize option (= default since 2016) and \mag equals
29
+ % to 1000, we can exploit its routine.
30
+ % (they are using \AtBeginDocument{\AtBeginDvi{...}})
31
+ % However, these .def files do _not_ care about tombow by pLaTeX;
32
+ % so, we set \stock{width,height} to invoke stock test in those
33
+ % files (probably meant for memoir.cls).
34
+ Q \iftombow
35
+ Q % if \stockwidth/\stockheight are not available,
36
+ Q % define them now
37
+ Q \ifx\stockwidth\@undefined \newdimen\stockwidth \fi
38
+ Q \ifx\stockheight\@undefined \newdimen\stockheight \fi
39
+ Q % if \stockwidth already has effective value, do nothing;
40
+ Q % otherwise assume pLaTeX-style tombow and set it to
41
+ Q % \paperwidth + 2in (similar for \stockheight)
42
+ Q \ifdim\stockwidth>\z@\else
43
+ Q \stockwidth\paperwidth \advance\stockwidth2in
44
+ Q \fi
45
+ Q \ifdim\stockheight>\z@\else
46
+ Q \stockheight\paperheight \advance\stockheight2in
47
+ Q \fi
48
+ Q \fi
49
+
50
+ % reset catcode trick
51
+ \catcode`\Q=11\relax
52
+
53
+ % following code is almost equivalent to
54
+ % \AtBeginDocument{\AtBeginDvi{...}}
55
+ % however, we append the specification to the _beginning_ of
56
+ % \@begindocumenthook; this ensures proper papersize when
57
+ % dvips (TeX Live 2016 or earlier) is used.
58
+ \begingroup
59
+ \def\@prependto@begindocumenthook{\global\setbox\@begindvibox
60
+ \vbox{\csname yoko\endcsname\unvbox\@begindvibox
61
+ \begingroup
62
+ % if \stockwidth/\stockheight are defined & have effective
63
+ % values, copy them to \paperwidth/\paperheight
64
+ % for current group
65
+ \ifx\stockwidth\@undefined\else \ifdim\stockwidth>\z@
66
+ \paperwidth\stockwidth
67
+ \fi\fi
68
+ \ifx\stockheight\@undefined\else \ifdim\stockheight>\z@
69
+ \paperheight\stockheight
70
+ \fi\fi
71
+ % adjust for \mag and emit papersize special
72
+ \divide\paperwidth\@m\multiply\paperwidth\mag
73
+ \divide\paperheight\@m\multiply\paperheight\mag
74
+ \special{papersize=\the\paperwidth,\the\paperheight}%
75
+ \endgroup}}
76
+ \toks@\expandafter\expandafter\expandafter
77
+ {\expandafter\@prependto@begindocumenthook\@begindocumenthook}
78
+ \xdef\@begindocumenthook{\the\toks@}
79
+ % append papersize special again to the _end_ of the
80
+ % current \@begindocumenthook; this will be meaningful e.g. when
81
+ % geometry is loaded before bounddvi.
82
+ % (geometry adds \AtBeginDocument{\AtBeginDvi{...}} specification)
83
+ \expandafter\g@addto@macro\expandafter\@begindocumenthook
84
+ \expandafter{\@prependto@begindocumenthook}
85
+ \endgroup
86
+
87
+ \endinput
@@ -0,0 +1,148 @@
1
+ %# -*- coding: utf-8 -*-
2
+ \ifx\epTeXinputencoding\undefined\else % defined in e-pTeX (> TL2016)
3
+ \epTeXinputencoding utf8 % ensure utf-8 encoding for platex
4
+ \fi
5
+
6
+ % パッケージ作者 (v1.0--v6.0):東京都市大学(旧称・武蔵工業大学)井上浩一
7
+ % 修正版 (v7.0--) および本ドキュメント:山下弘展 (Hironobu Yamashita)
8
+
9
+ \documentclass[a4paper]{jsarticle}
10
+ \usepackage{doc}
11
+ \usepackage{bounddvi}
12
+ \GetFileInfo{bounddvi.sty}
13
+ \title{Package \textsf{bounddvi} \fileversion}
14
+ \author{Koichi Inoue \& Hironobu Yamashita}
15
+ \date{\filedate}
16
+ \begin{document}
17
+
18
+ \maketitle
19
+
20
+ DVIファイルは用紙サイズ情報を含みませんが、PostScriptやPDFといった
21
+ 用紙サイズを規定するフォーマットへ変換するプログラム(\texttt{dvips}や
22
+ \texttt{dvipdfmx})は、\verb+\special+命令によってDVIファイルに埋め込ま
23
+ れた用紙サイズ情報を解釈します。
24
+ たとえば、幅100mm、高さ200mmの用紙に出力したい場合は
25
+ \begin{verbatim}
26
+ \special{papersize=100mm,200mm}
27
+ \end{verbatim}
28
+ のように指定してやることができます。
29
+
30
+ \textsf{bounddvi}パッケージは、クラスファイルなどが想定している用紙
31
+ サイズ情報(\verb+\paperwidth+, \verb+\paperheight+)をDVIファイルに
32
+ \verb+\special+命令として埋め込むことで、\texttt{dvips}や
33
+ \texttt{dvipdfmx}の出力用紙サイズを指定する機能を提供します。
34
+ \begin{verbatim}
35
+ \documentclass[a4j]{jarticle}
36
+ \usepackage{bounddvi}
37
+ \begin{document}
38
+ …本文…
39
+ \end{document}
40
+ \end{verbatim}
41
+ のように使います。p\LaTeX における横組と縦組の両方で使え、また
42
+ 版面拡大(\verb+\mag+)が使われた場合にも対応しています(詳細は付録
43
+ を参照してください)。また、v7.0以降、p\LaTeX カーネルのトンボ
44
+ オプションを使用した場合にも対応しており、p\LaTeX が仮定している
45
+ 「トンボのノビ(2in)を含めたサイズ」に設定します。
46
+
47
+ 本パッケージはv7.0以降、\textsf{gentombow}バンドルの一部として
48
+ 配布されています:
49
+ \begin{verbatim}
50
+ https://github.com/aminophen/gentombow
51
+ \end{verbatim}
52
+ 2017年までは\textsf{platex-tools}バンドルの一部でしたが、
53
+ 2018年以降は移転しました。
54
+
55
+ \section*{他のパッケージとの互換性}
56
+
57
+ 用紙サイズ設定機能だけを提供する\textsf{bounddvi}パッケージのほかにも、
58
+ パッケージの機能の一部として用紙サイズ設定を行うものがいくつかあります。
59
+ \begin{itemize}
60
+ \item 日本語環境でよく用いられる、p\LaTeX/up\LaTeX 用のクラスファイル
61
+ \textsf{jsclasses}(奥村さん作)の\texttt{papersize}オプション
62
+ との併用は問題ありません(ただし、このオプションを使用すれば用紙
63
+ サイズ設定には十分ですから、本\textsf{bounddvi}パッケージを併用
64
+ することにも特にメリットはありません)。
65
+ \item 2016年以降の\textsf{graphics/graphicx}パッケージや
66
+ \textsf{color}パッケージには用紙サイズ設定機能
67
+ (\texttt{setpagesize}オプション:デフォルトで有効)が
68
+ ありますが、併用しても問題は起きないでしょう。
69
+ \item \textsf{hyperref}パッケージも上と同様で、併用しても
70
+ 問題は起きないでしょう。
71
+ \item \textsf{geometry}パッケージと併用する場合は、
72
+ 本\textsf{bounddvi}パッケージを\emph{後から}読み込むほうが
73
+ 安全でしょう。特に、\texttt{dvipdfmx}を使用して変換する場合に
74
+ トンボを付けたいなら、\textsf{bounddvi}を後から読み込むことで
75
+ うまくいく可能性があります(付録を参照)。
76
+ \end{itemize}
77
+
78
+ \section*{付録:複数の用紙サイズ指定が発行された場合の挙動}
79
+
80
+ 一つのDVIファイルに複数の用紙サイズ指定\verb+\special+命令が
81
+ 埋め込まれる場合があります。このうち、\texttt{dvipdfmx}および
82
+ \TeX\ Live 2017以降の\texttt{dvips}では、DVIファイルの\emph{最後}に
83
+ 指定されたものが有効になります\footnote{\TeX\ Live 2016以前の
84
+ \texttt{dvips}では、DVIファイルの\emph{最初}に指定されたものが有効
85
+ でしたが、\TeX\ Live r42420で挙動が変更されました。\texttt{-L0}オプ
86
+ ションを指定すると従来の挙動に戻ります。}。たとえば\textsf{bounddvi}と
87
+ \textsf{geometry}を併用したソース
88
+ \begin{verbatim}
89
+ \documentclass{...}
90
+ \usepackage{bounddvi}
91
+ \usepackage[dvipdfm]{geometry}
92
+ \end{verbatim}
93
+ を\textsf{dvipdfmx}でPDFに変換すると、\textsf{geometry}パッケージの
94
+ 指定が優先されます。このとき、用紙サイズの設定が正しいかどうかは
95
+ \textsf{geometry}パッケージに依存します。
96
+
97
+ \section*{付録:\texttt{\char92mag}の扱いについて}
98
+
99
+ 本\textsf{bounddvi}パッケージは、日本で広く使われている奥村さんの
100
+ \textsf{jsclasses}クラス流の\verb+\mag+の用法をサポートしています。
101
+ しかし、\verb+\mag+の使い方はCTANにある多様なパッケージの中で統一
102
+ されておらず、大きく分けて二通りの使い方があるようです。
103
+
104
+ たとえば、版面を2倍に拡大 (\verb+\mag=2000+) して物理的なA4サイズ
105
+ ($210\,\mathrm{mm}\times297\,\mathrm{mm}$)の出力を得たい場合
106
+ \begin{quote}
107
+ \texttt{\char92mag=2000}\\
108
+ \texttt{\char92paperwidth=210mm} ($= 420\,\mathrm{truemm}$)\\
109
+ \texttt{\char92paperheight=297mm} ($= 594\,\mathrm{truemm}$)
110
+ \end{quote}
111
+ と設定するものと
112
+ \begin{quote}
113
+ \texttt{\char92mag=2000}\\
114
+ \texttt{\char92paperwidth=105mm} ($= 210\,\mathrm{truemm}$)\\
115
+ \texttt{\char92paperheight=148.5mm} ($= 297\,\mathrm{truemm}$)
116
+ \end{quote}
117
+ と設定するものとが存在します。
118
+ 前者は\textsf{geometry}パッケージなどの方式で、おそらく\texttt{dvips}の
119
+ \verb+papersize+ specialの挙動(truedimenを正しく解釈せず、trueの付か
120
+ ない単位だけを受け付けてあたかもtrue付であるかのように評価)に則った
121
+ ものでしょう。後者は\textsf{jsclasses}クラスの方式で、これは
122
+ \texttt{dvipdfm(x)}の\verb+pdf:pagesize+ specialとも同じです。
123
+ この方式のほうが、truedimenで設定された\LaTeX のほかのレイアウト変数
124
+ (\verb+\textwidth+など)に対して一貫性があると思われます。
125
+ 本\textsf{bounddvi}パッケージがサポートしているのは後者の方式です。
126
+
127
+ \section*{参考}
128
+
129
+ \begin{itemize}
130
+ \item dvipsやdvipdfmなどで用紙サイズを出力\\
131
+ \texttt{https://www.ma.ns.tcu.ac.jp/Pages/TeX/bounddvi.sty.html}
132
+ \end{itemize}
133
+
134
+ \section*{変更履歴}
135
+
136
+ \begin{itemize}
137
+ \item 2002/03/10 v1.0 (KI) 最初の公開版
138
+ \item 2002/10/30 v2.0 (KI) \texttt{dvipdfm}の\texttt{pdf:pagesize special}を使用
139
+ \item 2003/03/22 v3.2 (KI) \textsf{hyperref}との互換性を改良
140
+ \item 2004/05/08 v4.0 (KI) $\mathtt{\char92mag} \ne 1000$に対応
141
+ \item 2004/12/08 v5.2 (KI) \texttt{dvips}で\textsf{geometry}との互換性を改良
142
+ \item 2004/12/15 v6.0 (KI) \texttt{dvipdfm(x)}の\texttt{pdf:pagesize special}を不使用に
143
+ \item 2016/10/25 v7.1 (HY) p\LaTeXe{}のトンボサポート、
144
+ 2016年の新しい\textsf{graphics}/\textsf{color}に対応
145
+ \item 2016/12/28 v7.2 (HY) 新仕様の\texttt{dvips}をドキュメント化
146
+ \end{itemize}
147
+
148
+ \end{document}
@@ -0,0 +1,24 @@
1
+ #!/bin/sh
2
+
3
+ PROJECT=gentombow
4
+ TMP=/tmp
5
+ PWDF=`pwd`
6
+ LATESTRELEASEDATE=`git tag | sort -r | head -n 1`
7
+ RELEASEDATE=`git tag --points-at HEAD | sort -r | head -n 1`
8
+
9
+ if [ -z "$RELEASEDATE" ]; then
10
+ RELEASEDATE="**not tagged**; later than $LATESTRELEASEDATE?"
11
+ fi
12
+
13
+ echo " * Create $PROJECT.zip ($RELEASEDATE)"
14
+ git archive --format=tar --prefix=$PROJECT/ HEAD | (cd $TMP && tar xf -)
15
+ rm $TMP/$PROJECT/.gitignore
16
+ rm $TMP/$PROJECT/create_archive.sh
17
+ rm -rf $TMP/$PROJECT/tests
18
+ perl -pi.bak -e "s/\\\$RELEASEDATE/$RELEASEDATE/g" $TMP/$PROJECT/README.md
19
+ rm -f $TMP/$PROJECT/README.md.bak
20
+
21
+ cd $TMP && zip -r $PWDF/$PROJECT.zip $PROJECT
22
+ rm -rf $TMP/$PROJECT
23
+ echo
24
+ echo " * Done: $PROJECT.zip ($RELEASEDATE)"
Binary file
@@ -0,0 +1,449 @@
1
+ %# -*- coding: utf-8 -*-
2
+ \ifx\epTeXinputencoding\undefined\else % defined in e-pTeX (> TL2016)
3
+ \epTeXinputencoding utf8 % ensure utf-8 encoding for platex
4
+ \fi
5
+
6
+ \documentclass[a4paper,dvipdfmx]{jsarticle}
7
+ \usepackage{doc}
8
+ \makeatletter
9
+ %%% import from jltxdoc.cls
10
+ \def\verb{\relax\ifmmode\hbox\else\leavevmode\vadjust{}\fi
11
+ \bgroup \let\do\do@noligs \verbatim@nolig@list
12
+ \ttfamily \verb@eol@error \let\do\@makeother \dospecials
13
+ \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
14
+ \xspcode"5C=3 %% \
15
+ \xspcode"22=3 %% "
16
+ %%% dangerous bend
17
+ \font\man=manfnt at 10pt
18
+ \def\dbend{\leavevmode\raise0pt\hbox{\man\char'177}}
19
+ \newenvironment{dangerous}{%
20
+ \ifnum\@listdepth>\z@
21
+ \GenericError{}{Do not use `dangerous' environment inside any list}{}{}
22
+ \fi
23
+ \par\addvspace\medskipamount
24
+ \@tempdima=\dimexpr\textwidth-2zw\relax\small
25
+ \divide\@tempdima by\dimexpr1zw\relax\@tempcnta=\@tempdima
26
+ \leftskip=\dimexpr\textwidth-\@tempcnta zw\relax
27
+ \@totalleftmargin\dimexpr\leftskip+0zw
28
+ \linewidth=\dimexpr\@tempcnta zw-0zw
29
+ \parindent1zw\noindent\kern-\leftskip\hbox to\leftskip{\dbend\hss}%
30
+ \everypar{\everypar{}}\ignorespaces
31
+ }{\par\addvspace\medskipamount}
32
+ %%% logo
33
+ \def\pTeX{p\kern-.15em\TeX}
34
+ \def\epTeX{$\varepsilon$-\pTeX}
35
+ %%% misc
36
+ \newcommand{\Meta}[1]{$\langle$\mbox{}\textit{#1}\mbox{}$\rangle$}
37
+ \newcommand{\jMeta}[1]{$\langle$\mbox{}\textsf{#1}\mbox{}$\rangle$}
38
+ %%%
39
+ \makeatother
40
+ \usepackage{longtable}
41
+ \usepackage[pdfbox]{gentombow}
42
+ %\usepackage{bounddvi}
43
+ \GetFileInfo{gentombow.sty}
44
+ \title{Package \textsf{gentombow} \fileversion}
45
+ \author{Hironobu Yamashita}
46
+ \date{\filedate}
47
+ \begin{document}
48
+
49
+ \maketitle
50
+
51
+ \begin{center}
52
+ English version is available: see \textsf{gentombow.pdf}!
53
+ \end{center}
54
+
55
+ 日本の出版では、たとえば仕上がり寸法がA4サイズの場合、一回り大きな
56
+ B4サイズの用紙の中央にトンボ付きで印刷することがあるようです。
57
+ このドキュメントは、実際にA4用紙をB4用紙の中央にトンボ付きで
58
+ 配置している事例です。
59
+
60
+ \textsf{gentombow}パッケージは、クラスファイルなどが想定している用紙
61
+ サイズ情報(\verb+\paperwidth+, \verb+\paperheight+)を検知し、
62
+ それより一回り大きなサイズの用紙の中央にトンボ付きで出力するために
63
+ 必要な機能を提供します。使い方の例は
64
+ \begin{verbatim}
65
+ \documentclass[a4j]{jarticle}
66
+ \usepackage{gentombow}
67
+ \usepackage{bounddvi}
68
+ \begin{document}
69
+ …本文…
70
+ \end{document}
71
+ \end{verbatim}
72
+ です。
73
+
74
+ 任意の\LaTeX フォーマットで利用可能です。具体的には
75
+ \begin{itemize}
76
+ \item p\LaTeX, up\LaTeX (縦組にも対応)
77
+ \item Lua\LaTeX (Lua\TeX-ja使用の場合は縦組にも対応)
78
+ \item pdf\LaTeX
79
+ \item Xe\LaTeX
80
+ \end{itemize}
81
+ での動作を確認しています。また、\textsf{jsclasses}のような
82
+ 版面拡大(\verb+\mag+)が使われた場合にも対応しています。
83
+
84
+ ただし、本パッケージは実際の出力サイズ指定を発行しませんので、
85
+ 以下のいずれかのパッケージと併用するとよいでしょう:
86
+ \begin{itemize}
87
+ \item \textsf{bounddvi}パッケージ(\textsf{gentombow}バンドル)
88
+ \item \textsf{bxpapersize}パッケージ(ZRさん作)
89
+ \item \textsf{graphicx}パッケージの2016年以降の版
90
+ (\texttt{setpagesize}機能つきのもの)
91
+ \end{itemize}
92
+ \textsf{bounddvi}パッケージは本パッケージと同じく
93
+ \textsf{gentombow}バンドルに収録されていますが、
94
+ 名前のとおりDVIを経由する場合にしか利用できません。
95
+ 一方、\textsf{bxpapersize}パッケージは汎用で、Lua\TeX のような
96
+ PDF直接出力の場合にも利用できます。また、\textsf{graphicx}パッケージ
97
+ は画像挿入用のパッケージですが、2016年以降は自動的に出力サイズ指定も
98
+ 行うようです($\verb+\mag+ \ne 1000$の場合には機能しません)。
99
+
100
+ 本パッケージは、\textsf{gentombow}バンドルの一部として
101
+ 配布されています:
102
+ \begin{verbatim}
103
+ https://github.com/aminophen/gentombow
104
+ \end{verbatim}
105
+ 2017年までは\textsf{platex-tools}バンドルの一部でしたが、
106
+ 2018年以降は独立させてあります。また、v0.9eまでは
107
+ (u)p\LaTeX とLua\TeX-ja専用の\textsf{pxgentombow}パッケージを
108
+ 用意していましたが、v0.9f以降は\textsf{gentombow}に一本化しました。
109
+
110
+ \section{簡単な使用法}
111
+
112
+ はじめに、パッケージをオプション指定なしに使用する場合の機能を
113
+ 説明します。
114
+
115
+ \subsection{用紙サイズの自動検知による出力サイズ決定}
116
+
117
+ パッケージにはあらかじめA系列(\texttt{a0}--\texttt{a10})、
118
+ B系列(\texttt{b0}--\texttt{b10})、C系列(\texttt{c0}--\texttt{c10})と
119
+ \texttt{letter}, \texttt{legal}, \texttt{executive}の用紙サイズが
120
+ 定義されています。ここで、B系列はISOではなくJISです。
121
+ また、変型版として\texttt{a4var}(\texttt{a4}の変型)と
122
+ \texttt{b5var}(\texttt{b5}の変型)も定義されています。
123
+
124
+ これらのうちいずれか(ただし\texttt{a0}, \texttt{b0}, \texttt{c0}を
125
+ 除く)の用紙サイズを検知すると、
126
+ 出力サイズが次の規則で自動的に決定されます\footnote{なお、
127
+ C系列と\texttt{letter}, \texttt{legal}, \texttt{executive}については
128
+ 日本での慣習が不明の
129
+ ため、現時点ではA系列のサイズで出力することにしています。}。
130
+ \begin{itemize}
131
+ \item 用紙サイズがA系列のとき:
132
+ 出力サイズは一回り大きなB系列
133
+ \item 用紙サイズがB, C系列または
134
+ \texttt{letter}, \texttt{legal}, \texttt{executive}のとき:
135
+ 出力サイズは一回り大きなA系列
136
+ \end{itemize}
137
+ この場合、パッケージを読み込んだだけでトンボが付きます。
138
+ なお、用紙サイズが横長の場合は自動的に出力も横長になり、
139
+ 縦長の場合は自動的に縦長になります。
140
+
141
+ よく使われる用紙サイズの例を挙げます。
142
+ \begin{longtable}[c]{cc}
143
+ \hline
144
+ 用紙サイズ & 出力サイズ \\
145
+ \hline
146
+ a6 & b6 \\
147
+ b6 & a5 \\
148
+ a5 & b5 \\
149
+ b5 & a4 \\
150
+ a4 & b4 \\
151
+ b4 & a3 \\
152
+ a3 & b3 \\
153
+ b3 & a2 \\
154
+ \hline
155
+ c6 & a5 \\
156
+ c5 & a4 \\
157
+ c4 & a3 \\
158
+ c3 & a2 \\
159
+ \hline
160
+ letter & a3 \\
161
+ legal & a3 \\
162
+ executive & a4 \\
163
+ \hline
164
+ \end{longtable}
165
+
166
+ \subsection*{参考:用紙サイズの自動検知に失敗した場合の出力サイズ決定}
167
+
168
+ 仮に用紙サイズが定義済みのいずれとも異なる場合は、デフォルトでは
169
+ 用紙の天地左右に1インチずつのノビを付けたサイズで出力します。
170
+ たとえば、幅$100\,\mathrm{mm}$、高さ$200\,\mathrm{mm}$の用紙の場合、
171
+ 出力サイズは幅$100\,\mathrm{mm}+2\,\mathrm{in}$、
172
+ 高さ$200\,\mathrm{mm}+2\,\mathrm{in}$になります。
173
+
174
+ \subsection{トンボへのバナーの出力}
175
+
176
+ デフォルトでは\makeatletter\texttt{\the\@bannertoken}\makeatother
177
+ のような形式で、トンボにジョブ情報(処理ファイル名と日付)を示すバナーが
178
+ 出力されます。これは、\pLaTeX 向けの日本語クラスファイルの多くで
179
+ 利用可能な\verb+tombow+オプションと同様です。
180
+ ただし、クラスオプションに\verb+tombo+(ジョブ情報を出力しない)または
181
+ \verb+mentuke+(トンボの線を表示しない)が指定されている場合は、
182
+ この設定が引き継がれます。
183
+
184
+ \section{パッケージオプション}
185
+
186
+ パッケージオプションによって、出力サイズやバナーのジョブ情報の有無を
187
+ 指定する方法を説明します。
188
+
189
+ \subsection{出力サイズの明示指定}
190
+
191
+ 自動決定されるサイズと異なるサイズに出力したい場合、
192
+ パッケージオプションで明示的に指定することができます。たとえば
193
+ \begin{verbatim}
194
+ \documentclass[a4j]{jarticle}
195
+ \usepackage[tombow-a3]{gentombow}
196
+ \begin{document}
197
+ …本文…
198
+ \end{document}
199
+ \end{verbatim}
200
+ とすると、出力サイズは(自動決定のb4は無視されて)a3に変わります。
201
+ 指定可能なサイズは、定義済みの用紙サイズと同じものです。すなわち、
202
+ A系列(\texttt{a0}--\texttt{a10})、
203
+ B系列(\texttt{b0}--\texttt{b10})、
204
+ C系列(\texttt{c0}--\texttt{c10})と
205
+ \texttt{a4var}, \texttt{b5var},
206
+ \texttt{letter}, \texttt{legal}, \texttt{executive}です。
207
+ なお、ここでも用紙サイズが横長の場合は自動的に出力も横長になり、
208
+ 縦長の場合は自動的に縦長になります。
209
+
210
+ オプションは\jMeta{トンボ形式}\texttt{-}\jMeta{出力サイズ}の書式で与えます。
211
+ トンボ形式は、p\LaTeX の標準クラスと同じで
212
+ \verb+tombow+, \verb+tombo+, \verb+mentuke+のいずれかを選びます
213
+ (\verb+tombow+はジョブ情報を表示し、\verb+tombo+は表示しません。
214
+ また、\verb+mentuke+はトンボの線を表示しません)。
215
+
216
+ \subsection{トンボに表示するジョブ情報の有無}
217
+
218
+ 用紙サイズを明示的に指定する場合は、前節のようにトンボ形式と出力サイズを
219
+ 同時にオプションで与えることができます。
220
+ 逆に出力サイズを自動決定に任せつつ、ジョブ情報の有無だけを指定したい
221
+ 場合は、トンボへのバナー出力を抑制する\verb+notombowbanner+オプションを
222
+ 使用してください。
223
+
224
+ \section{詳細なカスタマイズ}
225
+
226
+ \textsf{gentombow}パッケージは、トンボの見た目やバナーの内容を
227
+ カスタマイズする機能も提供します。
228
+
229
+ \subsection{トンボに表示するバナーの内容}
230
+
231
+ \verb+\settombowbanner+命令を用います。例えば\epTeX の
232
+ \verb+\pdfcreationdate+プリミティブを使って
233
+ \begin{verbatim}
234
+ \documentclass[a4j]{jarticle}
235
+ \usepackage{gentombow}
236
+ \settombowbanner{\jobname\space (\pdfcreationdate)}
237
+ \begin{document}
238
+ …本文…
239
+ \end{document}
240
+ \end{verbatim}
241
+ とすると、バナーの表示内容は
242
+ {\settombowbanner{\jobname\space (\pdfcreationdate)}%
243
+ \makeatletter\texttt{\the\@bannertoken}\makeatother}になります。
244
+ 命令の引数には任意のトークン列を与えることができます。
245
+
246
+ \subsection{バナーの文字のフォント}
247
+
248
+ \verb+\settombowbannerfont+命令を用います。例えば
249
+ \begin{verbatim}
250
+ \settombowbannerfont{cmss10 at 9pt}
251
+ \end{verbatim}
252
+ のような指定が可能です。内部的には\verb+\font+プリミティブを利用しており、
253
+ 使用している\TeX エンジンがサポートする任意のフォントを指定可能です
254
+ \footnote{Lua\TeX やXe\TeX (\textsf{gentombow}パッケージの場合)では、
255
+ OpenTypeフォントを直接利用することもできます。}。
256
+
257
+ \subsection{トンボの線の太さ}
258
+
259
+ デフォルトではトンボの線の太さは0.1~ptですが、
260
+ \verb+\settombowwidth{1pt}+とすると1~ptになります。
261
+ 命令の引数には任意の寸法を与えることができますが、
262
+ 実用上は数pt以内が良いでしょう。
263
+
264
+ \subsection{塗り足し(ドブ)の幅}
265
+
266
+ デフォルトでは塗り足し(ドブ)の幅は3~mmですが、
267
+ \verb+\settombowbleed{5mm}+とすると5~mmになります。
268
+ 命令の引数には任意の寸法を与えることができますが、実用上は数mmでしょう。
269
+
270
+ \subsection{トンボの色}
271
+
272
+ トンボの色を指定します。実際に色をつける場合は
273
+ \textsf{xcolor}パッケージ(推奨)またはまたは\textsf{color}パッケージが必要です。
274
+ \verb+\settombowcolor{\color[cmyk]{0,1,0,0}}+とするとマゼンタになります。
275
+ CMYKの版ごとにトンボを作成する場合や、特色のトンボが必要な場合に便利です。
276
+
277
+ \section{PDFのデジタルトンボ(page box)の設定}
278
+
279
+ この機能はドライバに依存するため、オプション機能としています。
280
+ \textsf{gentombow}パッケージ読み込み時に\verb+pdfbox+オプションを
281
+ 指定します。DVIを経由する場合は、さらにドライバオプションも必須です
282
+ \footnote{例外として、\textsf{gentombow}が読み込まれた時点で
283
+ \textsf{graphics}/\textsf{color}のいずれかが読み込まれていた
284
+ 場合は、そのドライバ設定を引き継ぐことができます。}。
285
+
286
+ この機能を有効化すると、PDFに以下のバウンディングボックス情報
287
+ (いわゆるデジタルトンボ)が書き込まれ、
288
+ さらに用紙サイズ設定(\verb+/MediaBox+相当)も行われます。
289
+ \begin{itemize}
290
+ \item \verb+/TrimBox+: 仕上がり紙面サイズ。
291
+ \item \verb+/BleedBox+: 裁ち落とし領域を含んだサイズ。
292
+ \item \verb+/CropBox+, \verb+/ArtBox+: 明示しない。
293
+ \end{itemize}
294
+
295
+ \section{その他の注意点}
296
+
297
+ 特定のクラスファイルやパッケージと一緒に使用する場合、
298
+ いくつかの注意点があります。
299
+
300
+ \subsection{\textsf{jsclasses}で使用する場合の注意}
301
+
302
+ 奥村晴彦氏による\textsf{jsclasses}のクラス(2016年以降は日本語\TeX 開発
303
+ コミュニティが管理)を使用していて、10pt以外のサイズオプションを
304
+ 指定する場合は、以下のいずれかの方法をとってください。
305
+ \begin{itemize}
306
+ \item クラスオプションに「トンボオプション」
307
+ (\verb+tombow+または\verb+tombo+)を追加する。
308
+ \item クラスオプションに「\verb+\mag+を使わないオプション」
309
+ (\verb+nomag+または\verb+nomag*+)を追加する。
310
+ \end{itemize}
311
+ これは、\textsf{jsclasses}クラス内で行われる\verb+\oddsidemargin+と
312
+ \verb+\topmargin+の計算の都合からくる制約です。たとえば
313
+ \begin{verbatim}
314
+ \documentclass[a4j,14pt]{jsarticle}
315
+ \usepackage{gentombow}
316
+ \end{verbatim}
317
+ という使い方は\emph{誤り}です(このままでは誤った余白設定が
318
+ 適用されますので、安全のため\textsf{gentombow}パッケージ
319
+ がエラーを出すようにしてあります)。代わりに
320
+ \begin{verbatim}
321
+ \documentclass[a4j,14pt,tombow]{jsarticle}
322
+ \usepackage{gentombow}
323
+ \end{verbatim}
324
+ と書くようにしてください。
325
+
326
+ また、塗り足しの幅などの寸法指定は\verb+true+付きの単位を
327
+ 使用してください。例えば
328
+ \verb+\settombowbleed{3truemm}+と指定すれば、
329
+ \verb+\mag+による版面拡大(縮小)後の塗り足し幅を3~mmにできます。
330
+
331
+ 同様に、ZR氏による\textsf{BXjscls}のクラスを使用していて、10pt以外の
332
+ サイズオプションを指定する場合は
333
+ \begin{itemize}
334
+ \item クラスオプションに「\verb+\mag+を使わないオプション」
335
+ (\verb+nomag+または\verb+nomag*+)を追加する。
336
+ \end{itemize}
337
+ という対処が必要です(\textsf{BXjscls}クラスでは「トンボオプション」が
338
+ 機能しないダミーになっていることに注意)。
339
+
340
+ \subsection{レイアウト設定の注意}
341
+
342
+ 余白などのレイアウト設定でありがちですが、
343
+ \verb+\hoffset+や\verb+\voffset+の値を$0$以外に設定するのは
344
+ 避けてください。このような設定は\textsf{gentombow}パッケージの
345
+ トンボ出力機能と衝突するため、正しい出力が得られません。
346
+ レイアウト設定のために変更すべきなのはこれらの寸法ではなく、
347
+ \verb+\oddsidemargin+や\verb+\topmargin+であることがほとんどです。
348
+ したがって、それらを適切な値に設定するか、レイアウトの設定すべてを
349
+ \textsf{geometry}パッケージに任せてしまうのも一つの方法です。
350
+
351
+ \begin{dangerous}
352
+ たとえば左右の余白を$25\,\mathrm{mm}$に、上下の余白を
353
+ $30\,\mathrm{mm}$にしたいとき\footnote{ここでは「本文の領域以外」を
354
+ 余白と定義します。すなわち、ヘッダとフッタは余白の一部です。}、
355
+ まず「\TeX の1インチ」を
356
+ 削除してから\verb+\oddsidemargin+や\verb+\topmargin+を変更すると、
357
+ 「見かけ上は」期待どおりの結果になることがあります。
358
+ \begin{verbatim}
359
+ \setlength{\hoffset}{-1in}% <== NG
360
+ \setlength{\voffset}{-1in}% <== NG
361
+ \setlength{\oddsidemargin}{25mm}
362
+ \setlength{\topmargin}{30mm}
363
+ \setlength{\textwidth}{\paperwidth}
364
+ \addtolength{\textwidth}{-2\oddsidemargin}
365
+ \setlength{\textheight}{\paperheight}
366
+ \addtolength{\textheight}{-2\topmargin}
367
+ \addtolength{\topmargin}{-\headheight}
368
+ \addtolength{\topmargin}{-\headsep}
369
+ \end{verbatim}
370
+ しかし、この設定では\textsf{gentombow}パッケージがトンボを
371
+ 追加するとき、正しい余白を維持することができません。
372
+
373
+ 一方、\verb+\hoffset+や\verb+\voffset+は$0$のままで、以下のように
374
+ \verb+\oddsidemargin+や\verb+\topmargin+を設定していれば問題ありません。
375
+ \begin{verbatim}
376
+ \setlength{\oddsidemargin}{-0.4mm}% 25mm = 1inch - 0.4mm
377
+ \setlength{\topmargin}{4.6mm}% 30mm = 1inch + 4.6mm
378
+ \setlength{\textwidth}{\paperwidth}
379
+ \addtolength{\textwidth}{-50mm}
380
+ \addtolength{\topmargin}{-\headheight}
381
+ \addtolength{\topmargin}{-\headsep}
382
+ \setlength{\textheight}{\paperheight}
383
+ \addtolength{\textheight}{-60mm}
384
+ \end{verbatim}
385
+ これと同等のレイアウト設定は、以下のように\textsf{geometry}パッケージで
386
+ 行うのが簡単です。
387
+ \begin{verbatim}
388
+ \usepackage[lmargin=25mm,rmargin=25mm,
389
+ tmargin=30mm,bmargin=30mm]{geometry}
390
+ \end{verbatim}
391
+ \end{dangerous}
392
+
393
+ \section*{雑記}
394
+
395
+ 発端はこの話です。
396
+ \begin{itemize}
397
+ \item 齋藤修三郎 (@psi\_tau) on Twitter, 2017年2月9日\\
398
+ \texttt{https://twitter.com/psi\_tau/status/829873082911248386}
399
+ \end{itemize}
400
+
401
+ また、現在検討中の事項を挙げておきます。
402
+ \begin{itemize}
403
+ \item 現状では、用紙の横長・縦長がそのまま出力に反映されるので、
404
+ これを逆転させるオプションの実装。また、任意の出力サイズを
405
+ 指定できるインタフェースの実現。
406
+ \item 自動で決定できる出力サイズの拡張。現状では用紙サイズが
407
+ 定義値に完全一致する場合のみ自動決定されるが、中間のサイズでも
408
+ その一回り大きなサイズに出力したい場合があるのではないか。
409
+ \item 出版用途ではカラー印刷の場合に、CMYKの版ごとにトンボを作る
410
+ 必要がある。\textsf{color}パッケージが利用可能な場合に、
411
+ オプション次第でCKなど必要な色を選べるようにするとよい
412
+ のではないか\footnote{ただし作者の本業は出版ではないので、
413
+ 商用を含む実用には程遠いかもしれない。}。
414
+ \item $\verb+\mag+ \ne 1000$の場合について、\textsf{jsclasses}以外での
415
+ 動作は未確認。特に、\textsf{geometry}とは共存しない可能性が高い。
416
+ \item \verb+\stockwidth+/\verb+\stockheight+が
417
+ \verb+\paperwidth+/\verb+\paperheight+より小さい場合の動作。
418
+ 現在は警告を出すだけとしているが、さらに天地左右1inに
419
+ フォールバックしたほうが無難だろうか。
420
+ \end{itemize}
421
+
422
+ \section*{変更履歴}
423
+
424
+ \begin{itemize}
425
+ \item 2017/02/10 v0.1 最初の公開版(\textsf{pxgentombow}として)
426
+ \item 2017/03/01 v0.4 トンボ形式の修正など
427
+ \item 2017/05/05 v0.5 \textsf{jsclasses}の$\verb+\mag+ \ne 1000$に対応、
428
+ 最初のCTANリリース版
429
+ \item 2017/05/06 v0.6 \textsf{jsclasses}との共存時のチェック強化、
430
+ Lua\TeX-jaでの動作確認
431
+ \item 2017/07/23 v0.7 ドキュメント更新
432
+ \item 2017/12/17 v0.9 \textsf{gentombow}パッケージの新設
433
+ \item 2018/03/16 v0.9e クラスオプションの\verb+tombow+等の引き継ぎ、
434
+ トンボ書式のカスタマイズ機能の追加
435
+ (\verb+\settombowbanner+,
436
+ \verb+\settombowbannerfont+,
437
+ \verb+\settombowwidth+の各命令)
438
+ \item 2018/05/17 v0.9g \textsf{gentombow}に\textsf{pxgentombow}を統合、
439
+ \verb+pdfbox+オプションの追加、
440
+ \verb+\settombowbleed+, \verb+\settombowcolor+の追加
441
+ \item 2018/08/20 v0.9h 用紙サイズ検出に\texttt{hagaki}を追加、
442
+ \textsf{pdfpages}対策の改良
443
+ \item 2018/08/30 v0.9j \textsf{jsclasses}の$\verb+\mag+ \ne 1000$でも
444
+ \verb+pdfbox+オプションが正常動作するように改良、
445
+ \verb+\settombowbleed+が\verb+/TrimBox+に反映されな
446
+ かったバグの修正
447
+ \end{itemize}
448
+
449
+ \end{document}