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.