texlive[55538] Master/texmf-dist: pxjahyper (13jun20)
commits+karl at tug.org
commits+karl at tug.org
Sat Jun 13 22:58:32 CEST 2020
Revision: 55538
http://tug.org/svn/texlive?view=revision&revision=55538
Author: karl
Date: 2020-06-13 22:58:31 +0200 (Sat, 13 Jun 2020)
Log Message:
-----------
pxjahyper (13jun20)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/platex/pxjahyper/README-ja.md
trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md
trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.pdf
trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.tex
trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def
trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty
Modified: trunk/Master/texmf-dist/doc/platex/pxjahyper/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxjahyper/README-ja.md 2020-06-13 20:58:17 UTC (rev 55537)
+++ trunk/Master/texmf-dist/doc/platex/pxjahyper/README-ja.md 2020-06-13 20:58:31 UTC (rev 55538)
@@ -12,14 +12,20 @@
### 前提環境
* フォーマット: LaTeX
- * エンジン: pTeX、upTeX、pTeX-ng
+ * エンジン: pTeX、upTeX、pTeX-ng
+ ※一部の機能では e-TeX 拡張が必要。
* DVIウェア: dvipdfmx
* 依存パッケージ:
+ - atbegshi
- hyperref
+ * 一部の機能で必要なパッケージ:
+ - japanese-otf
+ - etoolbox
+ - bxjatoucs
### インストール
- - `*.sty` → $TEXMF/tex/platex/PXjahyper
+ - `*.sty`, `*.def` → $TEXMF/tex/platex/PXjahyper
### ライセンス
@@ -35,6 +41,11 @@
更新履歴
--------
+ * Version 0.5 〈2020/06/13〉
+ - `otfmacros` オプションを正式にサポート。
+ - `disablecmds` オプションを追加。
+ - `none`(`nodvidriver` の別名)を非推奨とする。
+
* Version 0.4b 〈2020/04/24〉
- `\copyright` の再定義をやめる。
Modified: trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md 2020-06-13 20:58:17 UTC (rev 55537)
+++ trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md 2020-06-13 20:58:31 UTC (rev 55538)
@@ -13,11 +13,16 @@
### System Requirements
* TeX format: LaTeX.
- * TeX engine: pTeX, upTeX, pTeX-ng.
+ * TeX engine: pTeX, upTeX, pTeX-ng.
+ Some features require the e-TeX extension.
* DVI-ware: dvipdfmx.
* Dependent packages:
- atbegshi
- hyperref
+ * Packages required by some features:
+ - japanese-otf
+ - etoolbox
+ - bxjatoucs
### Installation
@@ -37,6 +42,7 @@
Revision History
----------------
+ * Version 0.5 〈2020/06/13〉
* Version 0.4b 〈2020/04/24〉
* Version 0.4a 〈2019/11/23〉
* Version 0.4 〈2019/10/25〉
Modified: trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.tex
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.tex 2020-06-13 20:58:17 UTC (rev 55537)
+++ trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.tex 2020-06-13 20:58:31 UTC (rev 55538)
@@ -1,16 +1,17 @@
% 文字コードは UTF-8
% uplatex で組版する
\documentclass[uplatex,a4paper]{jsarticle}
+\renewcommand{\headfont}{\gtfamily\romanseries{sbc}\sffamily}
\usepackage{shortvrb}
\MakeShortVerb{\|}
\usepackage{bxtexlogo}
\bxtexlogoimport{*}
-\newcommand{\PkgVersion}{0.4b}
-\newcommand{\PkgDate}{2020/04/24}
+\newcommand{\PkgVersion}{0.5}
+\newcommand{\PkgDate}{2020/06/13}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
-\newcommand{\Means}{~:\quad}
+\newcommand{\Means}{:\quad}
%-----------------------------------------------------------
\begin{document}
\title{\Pkg{pxjahyper} パッケージ}
@@ -67,8 +68,29 @@
使えるようにする。
具体的には、当該のAJ1のグリフに“対応”するUnicode文字が
あればそれを出力し、なければ(警告を出した上で)削除する。
-\item |nootfcid| \Means
+\item |nootfcid|\Means
|otfcid| の否定。
+ \Note |otfcid| の利用には、エンジンの{\eTeX}拡張および
+ \Pkg{etoolbox}と\Pkg{bxjatoucs}パッケージインストールが必要。
+\item |disablecmds|(既定)\Means
+ 「PDF文字列中のテキスト装飾命令の無効化」を有効にする。
+ \Note 詳細は\ref{ssec:disablecmds}節を参照。
+\item |nodisablecmds|\Means
+ |disablecmds| の否定。
+\item |otfmacros|\Means
+ \Pkg{japanese-otf}付属の\Pkg{ajmacros}パッケージが提供する
+ 文字入力命令(|\ajMaru|、|\ajLig| 等)をPDF文字列中で
+ “可能な限り”使えるようにする。
+ \Note Unicode文字で表現可能であればそれを出力し、
+ なければ代替表現を出力する。
+ \Note |otfmacros| を指定する場合は |otfcid| も有効にする必要がある。
+ \Note \Pkg{ajmacros}パッケージの多くの命令は“脆弱(fragile)”である。
+ そのため、節見出し(|\section| 等の引数)で |\ajMaru| 等の命令を
+ 使いたい場合は、命令の前に |\protect| 付ける必要がある。
+ \footnote{ちなみに、引数がPDF文字列として解釈される場合には、
+ |\protect| は全く結果に影響しない。}
+\item |nootfmacros|(既定)\Means
+ |otfmacros| の否定。
\item |bigcode|(既定)\Means
{\upTeX}でのToUnicode CMapとして既定のUTF8-UCSの代わりに\
UTF8-UTF16を用いる。
@@ -78,12 +100,13 @@
\Note 0.3a版より既定を |bigcode| に変更した。
\item |dvipdfmx|\Means
dvipdfmxを前提とした動作を行う。
-\item |nodriver|/|none|\Means
+\item |nodvidriver|\Means
dvipdfmxを前提とした動作を抑止する。
- 現状では、この場合には本パッケージは実質的に何の動作も行わない。
+ \Note 現状では、この場合には本パッケージは実質的に何の動作も行わない。
+ \Note 0.5版より、|nodvidriver| の別名の |none| は非推奨の扱いとする。
\item |auto|(既定)\Means
\Pkg{hyperref}のドライバがdvipdfmx用ならば |dvipdfmx|、
- それ以外は |none| の動作。
+ それ以外は |nodvidriver| の動作。
\end{itemize}
%===========================================================
@@ -92,9 +115,20 @@
「概要」で述べた機能は(オプション設定に応じて)
自動的に実施される。
-\paragraph{Unicode符号値による入力}
+%-------------------
+\subsection{Unicode符号値による入力}
+
PDF文字列入力中で、|\Ux| が以下の意味になる。
PDF文字列以外では |\Ux| は以前の定義(または未定義)に戻る。
+\footnote{|\Ux| という命令名は\Pkg{bxbase}パッケージの
+Unicode符号値入力用の命令が使っているものである。
+従って、\Pkg{bxbase}パッケージを読み込んでいれば、
+「PDF文字列と版面出力の両方に使われる」ようなテキストにおいて、
+|\Ux| でUnicode符号値入力が可能になる。
+ただし、Unicode符号値入力用の命令としては
+「\Pkg{japanese-otf}パッケージの |\UTF| 命令」
+の方が有名であり、\Pkg{pxjahyper}は |\UTF| も正しく扱えるので、
+こちらを使う方が無難かもしれない。}
\begin{itemize}
\item |\Ux{|Unicode符号値|}|\Means
@@ -109,7 +143,9 @@
|\UTF| も(PDF文字列中では)|\Ux| と同じ動作
(つまりtounicode用の出力)になるように変更される。
-\paragraph{PDF文字列用の文字命令の定義}
+%-------------------
+\subsection{PDF文字列用の文字命令の定義}
+
以下の命令が提供される。(プリアンブルでのみ使用可能。)
\begin{itemize}
@@ -138,4 +174,46 @@
\pxDeclarePdfTextComposite{\d}{t}{}{1E6D}
\end{verbatim}\end{quote}
+%-------------------
+\subsection{PDF文字列用中のテキスト装飾命令の無効化}
+\label{ssec:disablecmds}
+
+PDF文字列は単なるUnicode文字列として扱われるものなので、
+|\textit| や |\large| 等のテキスト装飾用の命令は意味をなさず、
+またそれらの命令の実装はPDF文字列の解釈中は正常に処理できない。
+PDF文字列と版面出力の両方に使われるテキスト(節見出し等)
+についてテキスト装飾命令が支障なく使えるように、
+\Pkg{hyperref}では基本的なテキスト装飾命令
+(多くは{\LaTeX}カーネルが提供するもの)
+について、「PDF文字列として扱う場合は自動的に無力化
+\footnote{例えば、“|\textit{text}|”や“|{\large text}|”は
+ 単に“|text|”と書いたものと見なされる。}
+する」機構を実装している。
+これにより、例えば節見出しのテキストに“|\textit{text}|”が
+含まれていたとすると、
+版面に出力する場合には“\textit{text}”のように装飾が施され、
+一方で、PDF文字列としては“|text|”と解釈されることになる。
+
+0.5版以降の\Pkg{pxjahyper}では、この無効化の対象に
+「和文用のテキスト装飾命令(およびそれに準じるもの)」
+を追加するようになった。
+以下の命令が対象になる。
+
+\begin{itemize}
+\item 和文のフォント選択命令\Means
+ |\textmc| |\gtfamily| |\kanjifamily| |\useroman| |\userelfont|
+ など
+\item 次の{\pLaTeX}カーネル命令\Means
+ |\<|
+\item 次の{\pTeX}プリミティブ\Means
+ |\inhibitglue| |\|(|no|)|autospacing| |\|(|no|)|autoxspacing|
+\item 次の\Pkg{plext}の命令\Means
+ |\bou| |\kasen| |\rensuji|
+\item 次の\Pkg{japanese-otf}の命令\Means
+ |\textmg| |\mgfamily| |\ltseries| |\ebseries| |\propshape|
+\end{itemize}
+
+
+
+
\end{document}
Modified: trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def 2020-06-13 20:58:17 UTC (rev 55537)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def 2020-06-13 20:58:31 UTC (rev 55538)
@@ -11,7 +11,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-ajm.def}[2020/04/24 v0.4b]
+\ProvidesFile{pxjahyper-ajm.def}[2020/06/13 v0.5]
%% avoid multiple loading
\csname pxjahyperajmLoaded\endcsname
@@ -43,16 +43,9 @@
%% \pxhy at cond@both\ifXXX...\fi\ifYYY...\fi{<yes>}{<no>}
% Checks whether \ifXXX and \ifYYY both hold.
\@gobbletwo\if\if\@gobbletwo\if\if \def\pxhy at cond@both#1\fi#2\fi{%
- \bxju at cond{\if #1#2T\else F\fi\else F\fi T}\fi
+ \pxhy at cond{\if #1#2T\else F\fi\else F\fi T}\fi
}
-%% \pxhy at if@star{<varient>}{<normal>}
-% Expands to <varient> if followed by *, otherwise to <normal>.
-\def\pxhy at if@star#1#2#3{% #3=next-arg
- \expandafter\pxhy at if@star at a\detokenize{#3}@{#1}*@{#2{#3}}\pxhy at mk
-}
-\def\pxhy at if@star at a#1*@#2#3\pxhy at mk{#2}
-
%% \pxhy at if@plus{<varient>}{<normal>}
% Expands to <varient> if followed by +, otherwise to <normal>.
\def\pxhy at if@plus#1#2#3{% #3=next-arg
@@ -131,7 +124,7 @@
%--------------------------------------- helpers
%% prepare
-\csuse{forcecjktoken}
+\pxhy at forcecjktoken
%% shorthands
\catcode`\`=\active \let`\noexpand
Modified: trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty 2020-06-13 20:58:17 UTC (rev 55537)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty 2020-06-13 20:58:31 UTC (rev 55538)
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper}[2020/04/24 v0.4b]
+\ProvidesPackage{pxjahyper}[2020/06/13 v0.5]
%% error messages
\def\pxhy at pkgname{pxjahyper}
@@ -26,11 +26,13 @@
%% packages
\RequirePackage{atbegshi}
+\RequirePackage{ltxcmds}[2011/08/22]% v1.21
%% globals
\newif\ifpxhy at ptex
\newif\ifpxhy at uptex
\newif\ifpxhy at etex
+\newif\ifpxhy at etoolbox
\let\pxhy at jcode\@undefined
\newif\ifpxhy at tounicode
\newif\ifpxhy at zerox
@@ -41,6 +43,7 @@
\let\pxhy at driver\@undefined
\newif\ifpxhy at hy@unicode
\newif\ifpxhy at jacommentline
+\newif\ifpxhy at disablecmds
\newif\ifpxhy at otfcid
\newif\ifpxhy at otfmacros
@@ -85,6 +88,12 @@
\DeclareOption{nojacommentline}{%
\pxhy at jacommentlinefalse
}
+\DeclareOption{disablecmds}{%
+ \pxhy at disablecmdstrue
+}
+\DeclareOption{nodisablecmds}{%
+ \pxhy at disablecmdsfalse
+}
\pxhy at otfcidtrue
\DeclareOption{otfcid}{%
\pxhy at otfcidtrue
@@ -95,13 +104,12 @@
}
\DeclareOption{otfmacros}{%
\pxhy at otfmacrostrue
- \let\pxhy at otfcid@given=t
}
\DeclareOption{nootfmacros}{%
\pxhy at otfmacrosfalse
}
\ExecuteOptions{%
- auto,tounicode,noout2uni,jacommentline%
+ auto,tounicode,noout2uni,jacommentline,disablecmds%
}
\ProcessOptions*
@@ -150,7 +158,9 @@
\ifx\pxhy at tmpa\pxhy at tmpb #2\fi
}
\pxhy at check\eTeXversion{%
- \IfFileExists{etoolbox.sty}{\pxhy at etextrue}{}}
+ \pxhy at etextrue
+ \IfFileExists{etoolbox.sty}{\pxhy at etoolboxtrue}{}%
+}
\pxhy at check\kanjiskip{\pxhy at ptextrue}
\pxhy at check\forcecjktoken{\pxhy at uptextrue}
\ifpxhy at ptex\else
@@ -203,13 +213,18 @@
\pxhy at fatal{hyperref 'unicode' mode is not supported}{}%
\expandafter\endinput
\fi
+% otfmacros forces use of otfcid.
+\ifpxhy at otfmacros
+ \let\pxhy at otfcid@given=t
+ \pxhy at otfcidtrue
+\fi
% otfcid requires upTeX or out2uni.
\ifpxhy at uptex\else\ifpxhy at zerox\else
\pxhy at otfcidfalse
\ifx t\pxhy at otfcid@given
\PackageWarningNoLine\pxhy at pkgname
- {Option 'otfcid' is invalid unless upTeX is used\MessageBreak
- or 'out2uni' is specified}
+ {Option 'otfcid'/'otfmacros' is invalid\MessageBreak
+ unless upTeX is used or 'out2uni' is specified}
\fi
\fi\fi
@@ -226,11 +241,6 @@
%--------------------------------------- Helpers
-%% packages
-\ifpxhy at etex
- \RequirePackage{etoolbox}[2011/01/03]%v2.1
-\fi
-
%% unique tokens
\def\pxhy at end{\pxhy at end@}
\let\pxhy at mk\indent % unexpandable
@@ -262,6 +272,32 @@
\let\pxhy at forcecjktoken\relax
\fi
+%--------------------------------------- Helpers (e-TeX)
+\ifpxhy at etex
+
+%% packages
+\ifpxhy at etoolbox
+ \RequirePackage{etoolbox}[2011/01/03]%v2.1
+\fi
+
+%% \pxhy at if@star{<varient>}{<normal>}
+% Expands to <varient> if followed by *, otherwise to <normal>.
+\def\pxhy at if@star#1#2#3{% #3=next-arg
+ \expandafter\pxhy at if@star at a\expandafter @\detokenize{#3}@%
+ {#1}@*@{#2{#3}}\pxhy at mk
+}
+\def\pxhy at if@star at a#1@*@#2#3\pxhy at mk{#2}
+
+%% \pxhy at if@opt{<true>}{<false>}
+% Expands to <true>{<opt>} if followed by [<opt>], otherwise to <false>.
+\def\pxhy at if@opt#1#2#3{% #3=next-arg
+ \expandafter\pxhy at if@opt at a\expandafter @\detokenize{#3}@%
+ {\pxhy at if@opt at b{#1}}@[@{#2{#3}}\pxhy at mk%]
+}
+\def\pxhy at if@opt at a#1@[@#2#3\pxhy at mk{#2}
+\def\pxhy at if@opt at b#1#2]{#1{#2}}
+
+\fi
%--------------------------------------- Output 'tounicode' special
\ifpxhy at tounicode
@@ -445,7 +481,7 @@
\let\pxhy at otfcid@disabled\relax
%% preparation
-\ifpxhy at etex
+\ifpxhy at etoolbox
% check if bxjatoucs is available
\IfFileExists{bxjatoucs.sty}{%
\let\bxjatoucsCheckAvail=t
@@ -457,11 +493,15 @@
package 'bxjatoucs' is unavailable%
}%
}{}
+\else\ifpxhy at etex
+ \def\pxhy at otfcid@disabled{%
+ package 'etoolbox' is unavailable%
+ }
\else
\def\pxhy at otfcid@disabled{%
- e-TeX extension (or 'etoolbox') is unavailable%
+ e-TeX extension is unavailable%
}
-\fi
+\fi\fi
%% annihilate the ajmacros's own pdfstring process
\ifpxhy at otfmacros\ifx\pxhy at otfcid@disabled\relax
\let\ajRedefine at ajCommands\relax
@@ -514,7 +554,7 @@
\pxhy at dispatch@otfcid
\else
\PackageWarningNoLine\pxhy at pkgname
- {Option 'otfcid' is disabled, because\MessageBreak
+ {Option 'otfcid'/'otfmacros' is disabled, because\MessageBreak
\pxhy at otfcid@disabled}%
\pxhy at otfcidfalse
\fi
@@ -1112,6 +1152,73 @@
\fi
\fi
+%--------------------------------------- 'disablecmds'
+\ifpxhy at disablecmds
+
+%% \pxhy at rensuji
+\ifpxhy at etex
+ \def\pxhy at rensuji{%
+ \pxhy at if@star\pxhy at rensuji@a\pxhy at rensuji@a
+ }
+ \def\pxhy at rensuji@a{%
+ \pxhy at if@opt\@secondoftwo\@firstofone
+ }
+\else
+ \let\pxhy at rensuji\relax % freeze
+\fi
+
+%% \pxhy at ifdef@let\CSa\CSb
+\def\pxhy at ifdef@let#1#2{%
+ \ifx#1\@undefined\else
+ \let#1#2%
+ \fi
+}
+
+%% \pxhy at disable@commands
+\def\pxhy at disable@commands{%
+ % pTeX primitives
+ \let\autospacing\@empty
+ \let\autoxspacing\@empty
+ \let\inhibitglue\@empty
+ \let\noautospacing\@empty
+ \let\noautoxspacing\@empty
+ % pLaTeX core
+ \let\romanencoding\@gobble
+ \let\kanjiencoding\@gobble
+ \let\romanfamily\@gobble
+ \let\kanjifamily\@gobble
+ \let\romanseries\@gobble
+ \let\kanjiseries\@gobble
+ \let\romanshape\@gobble
+ \let\kanjishape\@gobble
+ \let\useroman\@gobblefour
+ \let\usekanji\@gobblefour
+ \let\textmc\@firstofone
+ \let\textgt\@firstofone
+ \let\mcfamily\@empty
+ \let\gtfamily\@empty
+ \let\userelfont\@empty
+ \let\<\@empty
+ % plext
+ \pxhy at ifdef@let\bou\@firstofone
+ \pxhy at ifdef@let\kasen\@firstofone
+ \pxhy at ifdef@let\rensuji\pxhy at rensuji
+ \pxhy at ifdef@let\prensuji\pxhy at rensuji
+ \pxhy at ifdef@let\Rensuji\pxhy at rensuji
+ % japanese-otf
+ \pxhy at ifdef@let\textmg\@firstofone
+ \pxhy at ifdef@let\mgfamily\@empty
+ \pxhy at ifdef@let\ltseries\@empty
+ \pxhy at ifdef@let\ebseries\@empty
+ \pxhy at ifdef@let\propshape\@empty
+}
+
+%% register to 'disable' list
+% This registration should be of lower priority than others,
+% and thus is prepended to pdfstringdefPreHook.
+\ltx at GlobalPrependToMacro\pdfstringdefPreHook{\pxhy at disable@commands}
+
+\fi
%--------------------------------------- All done
\endinput
%% EOF
More information about the tex-live-commits
mailing list.