summaryrefslogtreecommitdiff
path: root/language/japanese/pxjahyper/pxjahyper.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/japanese/pxjahyper/pxjahyper.tex
Initial commit
Diffstat (limited to 'language/japanese/pxjahyper/pxjahyper.tex')
-rw-r--r--language/japanese/pxjahyper/pxjahyper.tex136
1 files changed, 136 insertions, 0 deletions
diff --git a/language/japanese/pxjahyper/pxjahyper.tex b/language/japanese/pxjahyper/pxjahyper.tex
new file mode 100644
index 0000000000..41b1b1c7f5
--- /dev/null
+++ b/language/japanese/pxjahyper/pxjahyper.tex
@@ -0,0 +1,136 @@
+% 文字コードは UTF-8
+% platex で組版する
+\documentclass[a4paper]{jsarticle}
+\usepackage{shortvrb}
+\MakeShortVerb{\|}
+\newcommand{\PkgVersion}{0.3e}
+\newcommand{\PkgDate}{2019/06/20}
+\newcommand{\Pkg}[1]{\textsf{#1}}
+\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
+\newcommand{\Note}{\par\noindent ※}
+\newcommand{\Means}{~:\quad}
+\providecommand{\pTeX}{p\TeX}
+\providecommand{\upTeX}{u\pTeX}
+\providecommand{\pLaTeX}{p\LaTeX}
+\providecommand{\upLaTeX}{u\pLaTeX}
+%-----------------------------------------------------------
+\begin{document}
+\title{\Pkg{pxjahyper} パッケージ}
+\author{八登崇之\ (Takayuki YATO; aka.~``ZR'')}
+\date{v\PkgVersion\quad[\PkgDate]}
+\maketitle
+
+%===========================================================
+\section{概要}
+
+(u){\pLaTeX} + hyperref + dvipdfmxの組み合わせで
+日本語を含む「しおり」をもつPDF文書を作成する
+場合に必要となる機能を提供する。
+\begin{itemize}
+\item dvipdfmx用の「tounicode special」について、
+ 内部漢字コードに応じて適切なものを出力する。
+\item PDF文字列の中でLICR(|\"a| や |\textsection| 等の
+ 文字出力の命令)が正しく機能するようにする。
+ ただし、エンジンが {\pTeX} の場合は、out2uni を利用
+ する場合を除き、JIS~X~0208にない文字は出力できない
+ (hyperrefの警告が出る)。
+\item {\TeX} の版面拡大機能が使われている
+ (|\mag| が1000でない;典型的には\Pkg{jsclasses}の
+ 文書クラスで基底フォントサイズが10\,pt以外である)
+ 場合に、\Pkg{hyperref}が出力するpapersize specialの
+ 紙面サイズの値が不正になるが、この場合に |\mag| 値を
+ 考慮して求めた正しいサイズによるpapersize specialを
+ 改めて出力する。
+\end{itemize}
+
+%===========================================================
+\section{パッケージの読込}
+
+|\usepackage| で読み込む。
+\begin{quote}\small\begin{verbatim}
+\usepackage[オプション,...]{pxjahyper}
+\end{verbatim}\end{quote}
+
+使用可能なオプションは以下の通り。
+\begin{itemize}
+\item |tounicode|(既定)\Means
+ dvipdfmx用の「tounicode special」を出力する。
+\item |notounicode|\Means
+ |tounicode| の否定。
+\item |out2uni|\Means
+ out2uniフィルタ(角藤氏製作)を使うことを前提にした
+ 出力を行う。
+ (|tounicode| が無効になる。)
+ {\upLaTeX} では使用不可。
+\item |noout2uni|(既定)\Means
+ |out2uni| の否定。
+\item |bigcode|(既定)\Means
+ {\upTeX}でのToUnicode CMapとして既定のUTF8-UCSの代わりに\
+ UTF8-UTF16を用いる。
+ (当該のファイルが存在する必要がある。)
+\item |nobigcode|\Means
+ |bigcode| の否定。
+ \Note 0.3a版より既定を |bigcode| に変更した。
+\item |dvipdfmx|\Means
+ dvipdfmxを前提とした動作を行う。
+\item |nodriver|/|none|\Means
+ dvipdfmxを前提とした動作を抑止する。
+ 現状では、この場合には本パッケージは実質的に何の動作も行わない。
+\item |auto|(既定)\Means
+ \Pkg{hyperref}のドライバがdvipdfmx用ならば |dvipdfmx|、
+ それ以外は |none| の動作。
+\end{itemize}
+
+%===========================================================
+\section{機能}
+
+「概要」で述べた機能は(オプション設定に応じて)
+自動的に実施される。
+
+\paragraph{Unicode符号値による入力}
+PDF文字列入力中で、|\Ux| が以下の意味になる。
+PDF文字列以外では |\Ux| は以前の定義(または未定義)に戻る。
+
+\begin{itemize}
+\item |\Ux{|Unicode符号値|}|\Means
+ その符号値の文字を出力する。
+\end{itemize}
+
+符号値は16進数で指定する。
+
+なお、\Pkg{OTF}パッケージの |\UTF| 命令は、PDF文字列中では
+out2uni用の出力を行うように設計されているが、
+本パッケージを {\upLaTeX} で用いた場合は、
+|\UTF| も(PDF文字列中では)|\Ux| と同じ動作
+(つまりtounicode用の出力)になるように変更される。
+
+\paragraph{PDF文字列用の文字命令の定義}
+以下の命令が提供される。(プリアンブルでのみ使用可能。)
+
+\begin{itemize}
+\item |\pxDeclarePdfTextCommand{\制御綴}{|\Meta{JIS符号値}|}{|\Meta
+{Unicode符号値}|}|\Means
+ PDF文字列中の |\制御綴| の動作として、
+ 指定した符号値の文字を出力することを指定する。
+\item |\pxDeclarePdfTextComposite{\制御綴}{|\Meta{引数}|}{|\Meta
+{JIS符号値}|}{|\Meta{Unicode符号値}|}|\Means
+ PDF文字列中の |\制御綴|(アクセント命令)+ \Meta{引数}の
+ 動作として、指定した符号値の文字を出力することを指定する。
+\end{itemize}
+
+これらの命令において、符号値は16進数で指定する。
+「JIS符号値」は {\upLaTeX} では使われないので省略して
+(空にして)もよい
+(或いはそもそも JIS~X~0208 にない文字の場合は省略する)。
+逆に「Unicode符号値」は {\pLaTeX} の動作でかつ「JIS符号値」が
+指定されている場合は省略してよい。
+
+例えば、以下のように定義しておくと、
+PDF文字列中で |\textschwa|(schwa記号)や |\d{t}|(\d{t})が
+使えるようになる。
+\begin{quote}\small\begin{verbatim}
+\pxDeclarePdfTextCommand{\textschwa}{}{0259}
+\pxDeclarePdfTextComposite{\d}{t}{}{1E6D}
+\end{verbatim}\end{quote}
+
+\end{document}