Hello community,
here is the log from the commit of package texlive-specs-t for openSUSE:Factory checked in at 2020-05-29 21:19:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/texlive-specs-t (Old)
and /work/SRC/openSUSE:Factory/.texlive-specs-t.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texlive-specs-t"
Fri May 29 21:19:12 2020 rev:39 rq:806930 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/texlive-specs-t/texlive-specs-t.changes 2019-11-07 23:12:02.268239787 +0100
+++ /work/SRC/openSUSE:Factory/.texlive-specs-t.new.3606/texlive-specs-t.changes 2020-05-29 21:32:33.113788093 +0200
@@ -1,0 +2,60 @@
+Mon May 18 08:47:10 UTC 2020 - Dr. Werner Fink
+
+- Enhance spec file generator to find missing .so man page
+ links for better dependency resolution (bsc#1171682)
+
+-------------------------------------------------------------------
+Wed May 13 13:59:14 UTC 2020 - Dr. Werner Fink
+
+- Modify patch texdoc_cnf.dif to ignore tlpkg/texlive.tlpdb as
+ kpathsea uses the ls-R files as well
+
+-------------------------------------------------------------------
+Tue May 12 09:03:38 UTC 2020 - Dr. Werner Fink
+
+- Correct obsoletes for new packages
+
+-------------------------------------------------------------------
+Wed May 6 11:27:35 UTC 2020 - Dr. Werner Fink
+
+- Scan *.def files as well for RequirePackage
+
+-------------------------------------------------------------------
+Tue May 5 13:55:07 UTC 2020 - Dr. Werner Fink
+
+- Add Requires to tex(epstopdf-base.sty) to fix package split
+ of texlive-epstopdf
+
+-------------------------------------------------------------------
+Mon May 4 09:00:25 UTC 2020 - Dr. Werner Fink
+
+- Skip *-dev packages from file dependendcy scanner as otherwise
+ we see doubling name space for some style files like amsmath.sty
+
+-------------------------------------------------------------------
+Mon Apr 27 06:52:15 UTC 2020 - Dr. Werner Fink
+
+- Add patch pythontex_p2top3.dif and a removes file to fully
+ switch pythontex packages of TeXLive to python3
+
+-------------------------------------------------------------------
+Mon Apr 20 10:29:02 UTC 2020 - Dr. Werner Fink
+
+- Update to TeXLive 2020
+ * Port patches
+ kpathsea_cnf.dif
+ latexpand_perl.dif
+ luaotfload_varfonts.dif
+ luatex_cnf.dif
+ musixtex_various.dif
+ * Delete patches not needed anymore as files have moved
+ tetex_scripts.dif
+ * Delete patche updmap-map_roboto.dif as fixed upstream
+ * Add new patches to catch moved files
+ texlive-scripts-extra_scripts.dif
+ texlive-scripts_scripts.dif
+ * Add new patch xetex_conf.dif to fit FHS location
+ * Remove TeXLive installer files breaking rpm database
+ texlive-scripts.removes
+
+-------------------------------------------------------------------
Old:
----
pst-spirograph.doc.tar.xz
pst-spirograph.tar.xz
pst-vue3d.doc.tar.xz
pst-vue3d.tar.xz
pstools.doc.tar.xz
pstools.tar.xz
ptex-manual.source.tar.xz
New:
----
pst-turtle.doc.tar.xz
pst-turtle.tar.xz
pythontex_p2top3.dif
qualitype.doc.tar.xz
qualitype.tar.xz
quantumarticle.doc.tar.xz
quantumarticle.tar.xz
quiz2socrative.doc.tar.xz
quiz2socrative.tar.xz
quran-ur.doc.tar.xz
ragged2e.doc.tar.xz
ragged2e.tar.xz
random.doc.tar.xz
random.tar.xz
refcount.doc.tar.xz
refcount.tar.xz
rerunfilecheck.doc.tar.xz
rerunfilecheck.tar.xz
rest-api.doc.tar.xz
rest-api.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texlive-specs-t.spec ++++++
++++ 15845 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/texlive-specs-t/texlive-specs-t.spec
++++ and /work/SRC/openSUSE:Factory/.texlive-specs-t.new.3606/texlive-specs-t.spec
++++++ pst-pdf.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/latex/pst-pdf/CHANGES new/texmf-dist/doc/latex/pst-pdf/CHANGES
--- old/texmf-dist/doc/latex/pst-pdf/CHANGES 2017-06-23 00:34:35.000000000 +0200
+++ new/texmf-dist/doc/latex/pst-pdf/CHANGES 2019-11-16 23:14:52.000000000 +0100
@@ -1,143 +1,150 @@
Changes to pst-pdf:
v1.0a
- General: Initial version.
+ General: Initial version.
v1.0b
- General: Some code and documentation cleaning. (RN)
+ General: Some code and documentation cleaning. (RN)
v1.0c
- General: New options “pstricks”, “nopstricks”, “draft” and
- “final”. (RN)
+ General: New options “pstricks”, “nopstricks”, “draft” and
+ “final”. (RN)
v1.0d
- General: Redefinition of \includegraphics in modes 0 und 1. Now
- using of eps graphics directly in pdfLaTeX is possible.
- (RN)
+ General: Redefinition of \includegraphics in modes 0 und 1. Now
+ using of eps graphics directly in pdfLaTeX is possible.
+ (RN)
v1.0e
- postscript: “trim” option added. (RN)
+ postscript: “trim” option added. (RN)
v1.0f
- \savepicture: New macro \savepspicture. (RN)
- \usepicture: New macro \usepspicture. Useful for putting a
- PSTricks graphic in a box or something else. (RN)
- General: Config file loading added. (RN)
+ \savepicture: New macro \savepspicture. (RN)
+ \usepicture: New macro \usepspicture. Useful for putting a
+ PSTricks graphic in a box or something else. (RN)
+ General: Config file loading added. (RN)
v1.0g
- \usepicture: Now \usepspicture does accept a numerical
- parameter. (RN)
- General: Definition of \PDFcontainer now with \edef. (RN)
+ \usepicture: Now \usepspicture does accept a numerical
+ parameter. (RN)
+ General: Definition of \PDFcontainer now with \edef. (RN)
v1.0h
- psmatrix: Based no more on the comment environment from the
- verbatim package. (RN)
+ psmatrix: Based no more on the comment environment from the
+ verbatim package. (RN)
v1.0i
- \ppf@is@pdfTeX@graphic: No more errors for given files without
- extensions. (RN)
+ \ppf@is@pdfTeX@graphic: No more errors for given files without
+ extensions. (RN)
v1.0j
- General: Check AtBeginDocument for package ‘pstricks’ even if
- “nopstricks” is given. (RN)
+ General: Check AtBeginDocument for package ‘pstricks’ even if
+ “nopstricks” is given. (RN)
+ For \includegraphics \usepicture and postscript the new
+ options “frame”, “framesep”, “framerule”, “linewidth”,
+ and “ignore” added. (RN)
v1.0k
- \Gin@setfile: Show also the pagenumber if exists. (RN)
- \Ginclude@graphics: Prevent division by zero. (RN)
+ \Gin@setfile: Show also the pagenumber if exists. (RN)
+ \Ginclude@graphics: Prevent division by zero. (RN)
v1.0l
- General: Options “framesep”, “framerule”, “linewidth” removed,
- “fname” and “innerframe” added. (RN)
+ General: Options “framesep”, “framerule”, “linewidth” removed,
+ “fname” and “innerframe” added. (RN)
v1.0m
- General: New package option “notightpage” added. (RN)
+ General: New package option “notightpage” added. (RN)
v1.0n
- General: Changed marcro names (\savepicture and \usepicture).
- (RN)
- Some code cleaning. (RN)
+ General: Changed marcro names (\savepicture and \usepicture).
+ (RN)
+ Some code cleaning. (RN)
v1.0o
- General: New code for “notightpage”. (RN)
- Option “fname” renamed to “showname”. (RN)
+ General: New code for “notightpage”. (RN)
+ Option “fname” renamed to “showname”. (RN)
v1.0p
- General: Some code and documentation cleaning. (RN)
+ General: Some code and documentation cleaning. (RN)
v1.0q
- \usepicture: Now \usepspicture works for all kind of graphics.
- (RN)
+ \usepicture: Now \usepspicture works for all kind of graphics.
+ (RN)
v1.0r
- \ppf@is@pdfTeX@graphic: Changed \ppf@is@known@graphic to
- \ppf@is@pdfTeX@graphic. Now pdfTEX graphics are
- prefered. (RN)
+ \ppf@is@pdfTeX@graphic: Changed \ppf@is@known@graphic to
+ \ppf@is@pdfTeX@graphic. Now pdfTeX graphics are
+ prefered. (RN)
v1.0s
- \Gin@ii: Rewritten. (RN)
- General: Scaling e.g. of PostScript pictures now only in
- extraction mode. Some code cleaning. (RN)
+ \Gin@ii: Rewritten. (RN)
+ General: Scaling e.g. of PostScript pictures now only in
+ extraction mode. Some code cleaning. (RN)
v1.1a
- General: Support for the internal PSTricks macro \pst@object.
- (HjG/RN)
+ General: Support for the internal PSTricks macro \pst@object.
+ (HjG/RN)
v1.1b
- General: Ignore the call of \nofiles inside of preview. (RN)
- Some code and documentation cleaning. (RN)
+ General: Ignore the call of \nofiles inside of preview. (RN)
+ Some code and documentation cleaning. (RN)
v1.1c
- General: New package option “tightpage” added. (RN)
- Special support for “tabularx”. (RN)
- Supress handling of pdfLaTeX graphic formats in DVI mode.
- (RN)
+ General: New package option “tightpage” added. (RN)
+ Special support for “tabularx”. (RN)
+ Supress handling of pdfLaTeX graphic formats in DVI mode.
+ (RN)
v1.1d
- postscript: Support for PSTricks environment “psmatrix”. (RN)
+ postscript: Support for PSTricks environment “psmatrix”. (RN)
v1.1e
- General: New option “displaymath” (see preview package).
- (HjG/RN)
+ General: New option “displaymath” (see preview package).
+ (HjG/RN)
v1.1f
- General: Package option “ignore” reimplemented. Now the
- compilation of the dtx file in LaTeX mode is possible.
- (RN)
+ General: Package option “ignore” reimplemented. Now the
+ compilation of the dtx file in LaTeX mode is possible.
+ (RN)
v1.1g
- postscript: “psmatrix” environment (preserve math mode).
- (RN/HjG)
- pspicture: pspicture environment must still parse its arguments.
- (RN/HjG)
+ postscript: “psmatrix” environment (preserve math mode).
+ (RN/HjG)
+ pspicture: pspicture environment must still parse its arguments.
+ (RN/HjG)
v1.1h
- \Ginclude@graphics: Check if inside of a PS-related environment
- (correct graphic inclusion). (RN)
+ \Ginclude@graphics: Check if inside of a PS-related environment
+ (correct graphic inclusion). (RN)
v1.1i
- \Ginclude@graphics: Correction of the inside check. (RN/HjG)
- General: \ifpr@outer must be predefined. (HjG/RN)
- Package option “final” also for “graphicx”. (RN)
+ \Ginclude@graphics: Correction of the inside check. (RN/HjG)
+ General: \ifpr@outer must be predefined. (HjG/RN)
+ Package option “final” also for “graphicx”. (RN)
v1.1k
- General: New environment pst-pdf-defs: Support for PSTricks
- environment “psmatrix” inside user definitions.
- (RN,HjG)
+ General: New environment pst-pdf-defs: Support for PSTricks
+ environment “psmatrix” inside user definitions.
+ (RN,HjG)
v1.1l
- General: Support for the package “psfragx”. (RN)
+ General: Support for the package “psfragx”. (RN)
v1.1m
- General: Merge english and german version of the documentation.
- (RN)
+ General: Merge english and german version of the documentation.
+ (RN)
v1.1n
- General: \nofiles added (suggestion of Torsten Bronger).
+ General: \nofiles added (suggestion of Torsten Bronger).
v1.1o
- \Gscale@@box: Disable scaling. (RN)
+ \Gscale@@box: Disable scaling. (RN)
v1.1p
- General: \nofiles makes \makeindex and \makeglossary to \relax.
- \@empty is better because of later \renewcommand’s.
-v1.1p1
- General: \let\output\@gobble before loading of “preview” added.
- (RN)
+ General: \let\output\@gobble before loading of “preview” added.
+ (RN)
+ \nofiles makes \makeindex and \makeglossary to \relax.
+ \@empty is better because of later \renewcommand’s.
v1.1q
- General: Problem with “tabularx” and “threeparttabel” solved.
- (RN)
+ General: Problem with “tabularx” and “threeparttabel” solved.
+ (RN)
v1.1r
- General: Fixed values for \PreviewBbAdjust because \paperwidth
- is not allways defined (suggested by Will Robertson).
+ General: Fixed values for \PreviewBbAdjust because \paperwidth
+ is not allways defined (suggested by Will Robertson).
v1.1s
- General: Dummy definition of the page key in DVI mode.
+ General: Dummy definition of the page key in DVI mode.
v1.1t
- General: Remove the line “\let\output\@gobble” because of bad
- side effects. (RN)
- postscript: Using environ the environment postscript is now
- simple and more robust. (RN)
+ General: Remove the line “\let\output\@gobble” because of bad
+ side effects. (RN)
+ postscript: Using environ the environment postscript is now
+ simple and more robust. (RN)
v1.1u
- General: \pdfoutput must be set when loading “pdftex.def” in DVI
- mode. (RN)
+ General: \pdfoutput must be set when loading “pdftex.def” in DVI
+ mode. (RN)
v1.1v
- \Gin@ii: Key settings only for pdf graphics. (RN)
- General: Local redefinition of \pdfoutput to be a counter. (RN)
+ \Gin@ii: Key settings only for pdf graphics. (RN)
+ General: Local redefinition of \pdfoutput to be a counter. (RN)
v1.2a
- General: Engine tests changed (RN)
+ General: Engine tests changed (RN)
v1.2b
- General: Loading packages ‘if*’ at wrong place (RN)
+ General: Loading packages ‘if*’ at wrong place (RN)
v1.2c
- General: “postscript” environment no more allowed before
- \begin{document} (changed example file).
+ General: “postscript” environment no more allowed before
+ \begin{document} (changed example file).
v1.2d
- General: \c@lor@to@ps must not be undefined before loading
- ‘PSTricks’
- Version parameter for ‘graphicx’ and rename \GPT@page to
- \Gin@page at several places
+ General: \c@lor@to@ps must not be undefined before loading
+ ‘PSTricks’
+ Version parameter for ‘graphicx’ and rename \GPT@page to
+ \Gin@page at several places
+v1.2e
+ \ppf@is@pdfTeX@graphic: Parameter #2 is detokenized when
+ expanded to \pdfTeXext
+ General: gobble optional argument for \makeindex, \makeglossary
+ and \printindex
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/latex/pst-pdf/Makefile new/texmf-dist/doc/latex/pst-pdf/Makefile
--- old/texmf-dist/doc/latex/pst-pdf/Makefile 2017-04-26 00:31:00.000000000 +0200
+++ new/texmf-dist/doc/latex/pst-pdf/Makefile 2019-11-16 23:14:52.000000000 +0100
@@ -21,7 +21,7 @@
PDF_CONTAINER = $(EXAMPLE:.tex=-pics.pdf)
ARCHFILES = $(PACKAGE).dtx $(PACKAGE).ins $(ADDINPUTS) Makefile \
- README.md CHANGES CHANGES.tex \
+ README.md CHANGES \
$(PACKAGE).pdf $(PACKAGE)-DE.pdf $(EXAMPLE:.tex=.pdf) \
ps4pdf \
ps4pdf.bat \
@@ -43,7 +43,7 @@
$(EXAMPLE:.tex=.pdf) : $(EXAMPLE) $(ADDINPUTS) $(PDF_CONTAINER) $(PACKAGE).sty
$(PDFLATEX) $<
-dist : doc doc-DE pdf example
+dist : doc doc-DE pdf example CHANGES
rm -rf $(PACKAGE)
mkdir $(PACKAGE)
cp -p $(ARCHFILES) $(PACKAGE)/
Binary files old/texmf-dist/doc/latex/pst-pdf/pst-pdf-DE.pdf and new/texmf-dist/doc/latex/pst-pdf/pst-pdf-DE.pdf differ
Binary files old/texmf-dist/doc/latex/pst-pdf/pst-pdf-example.pdf and new/texmf-dist/doc/latex/pst-pdf/pst-pdf-example.pdf differ
Binary files old/texmf-dist/doc/latex/pst-pdf/pst-pdf.pdf and new/texmf-dist/doc/latex/pst-pdf/pst-pdf.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-pdf.doc.tlpobj new/tlpkg/tlpobj/pst-pdf.doc.tlpobj
--- old/tlpkg/tlpobj/pst-pdf.doc.tlpobj 2019-02-28 04:02:19.000000000 +0100
+++ new/tlpkg/tlpobj/pst-pdf.doc.tlpobj 2019-11-17 01:55:35.000000000 +0100
@@ -1,8 +1,8 @@
name pst-pdf.doc
category Package
-revision 44665
+revision 52819
shortdesc doc files of pst-pdf
-docfiles size=319
+docfiles size=299
texmf-dist/doc/latex/pst-pdf/CHANGES
texmf-dist/doc/latex/pst-pdf/Makefile
texmf-dist/doc/latex/pst-pdf/README.md
++++++ pst-pdf.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/tex/latex/pst-pdf/pst-pdf.sty new/texmf-dist/tex/latex/pst-pdf/pst-pdf.sty
--- old/texmf-dist/tex/latex/pst-pdf/pst-pdf.sty 2017-06-23 00:34:35.000000000 +0200
+++ new/texmf-dist/tex/latex/pst-pdf/pst-pdf.sty 2019-11-16 23:14:52.000000000 +0100
@@ -24,7 +24,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{pst-pdf}
- [2017/06/22 v1.2d PS graphics for pdfLaTeX (RN,HjG)]
+ [2019/11/15 v1.2e PS graphics for pdfLaTeX (RN,HjG)]
\newcommand*\ppf@TeX@mode{-1}
\newcommand*\ppf@draft{false}
\newif\if@ppf@PST@used\@ppf@PST@usedtrue
@@ -87,11 +87,10 @@
\newcommand*\ppf@is@pdfTeX@graphic[5]{%
\@ppf@pdftex@graphicfalse%
\begingroup
- \edef\pdfTeXext{#2}%
+ \edef\pdfTeXext{\detokenize\expandafter{#2}}%
\def\Gin@setfile##1##2##3{%
- \edef\@tempb{##2}%
- \@for\@tempa:=\pdfTeXext\do{%
- \ifx\@tempa\@tempb\global\@ppf@pdftex@graphictrue\fi}}%
+ \@expandtwoargs\in@{,\detokenize\expandafter{##2},}{,\pdfTeXext,}%
+ \ifin@\global\@ppf@pdftex@graphictrue\fi}%
\edef\Gin@extensions{#2,#3}%
\pr@outerfalse\ppf@Ginclude@graphics{#1}%
\endgroup
@@ -101,7 +100,10 @@
\PackageInfo{pst-pdf}{%
MODE: \ppf@TeX@mode\space (dvi -- extraction mode)}
\nofiles
- \let\makeindex\@empty \let\makeglossary\@empty
+ \let\makeindex\@empty \let\makeglossary\@empty \let\printindex\@empty
+ \renewcommand*\makeindex[1][]{}%
+ \renewcommand*\makeglossary[1][]{}%
+ \renewcommand*\printindex[1][]{}%
\AtBeginDocument{\overfullrule=\z@}%
\if@ppf@PST@used\RequirePackage{pstricks}\fi
\RequirePackage[active,dvips,tightpage]{preview}[2005/01/29]%
@@ -222,7 +224,9 @@
\let\Gin@PS@raw\@gobble\let\Gin@PS@restored\@gobble
\@ifundefined{PSTricksLoaded}{}{%
\PSTricksOff
- \@ifundefined{c@lor@to@ps}{\def\c@lor@to@ps#1 #2\@@{}}{}}}%
+ \def\c@lor@to@ps#1 #2\@@{}
+ }%
+ }%
\the\@temptokena
\expandafter\AtBeginDocument\expandafter
{\the\@temptokena\@temptokena{}}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-pdf.tlpobj new/tlpkg/tlpobj/pst-pdf.tlpobj
--- old/tlpkg/tlpobj/pst-pdf.tlpobj 2019-02-28 04:02:19.000000000 +0100
+++ new/tlpkg/tlpobj/pst-pdf.tlpobj 2019-11-17 01:55:35.000000000 +0100
@@ -1,6 +1,6 @@
name pst-pdf
category Package
-revision 44665
+revision 52819
shortdesc Make PDF versions of graphics by processing between runs
longdesc The package pst-pdf simplifies the use of graphics from
longdesc PSTricks and other PostScript code in PDF documents. As in
@@ -21,7 +21,7 @@
catalogue-contact-bugs https://github.com/rolfn/pst-pdf/issues
catalogue-contact-repository https://github.com/rolfn/pst-pdf
catalogue-ctan /macros/latex/contrib/pst-pdf
-catalogue-date 2018-09-15 13:05:45 +0200
+catalogue-date 2019-11-16 10:27:38 +0100
catalogue-license lppl1.2
catalogue-topics graphics-epspdf
-catalogue-version 1.2d
+catalogue-version 1.2e
++++++ pst-plot.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/pst-plot/Changes new/doc/generic/pst-plot/Changes
--- old/doc/generic/pst-plot/Changes 2018-09-01 00:11:28.000000000 +0200
+++ new/doc/generic/pst-plot/Changes 2019-07-16 23:13:16.000000000 +0200
@@ -1,4 +1,5 @@
----- pst-plot.tex
+1.92 2019-05-16 - fix for missing position test of special labels
1.91 2018-08-31 - fix for showorigin and triglabels
1.90 2018-03-28 - fix for showoriginfalse and yAxis=false
1.89 2018-02-18 - fix for trailing space in loglines=all
Binary files old/doc/generic/pst-plot/pst-plot-doc.pdf and new/doc/generic/pst-plot/pst-plot-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/pst-plot/pst-plot-doc.tex new/doc/generic/pst-plot/pst-plot-doc.tex
--- old/doc/generic/pst-plot/pst-plot-doc.tex 2018-09-01 00:11:28.000000000 +0200
+++ new/doc/generic/pst-plot/pst-plot-doc.tex 2019-07-16 23:13:16.000000000 +0200
@@ -1,4 +1,4 @@
-% $Id: pst-plot-doc.tex 799 2018-08-31 16:27:35Z herbert $
+% $Id: pst-plot-doc.tex 1056 2019-05-17 07:39:59Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside,dvipsnames,svgnames]{pst-doc}
\listfiles
@@ -205,7 +205,8 @@
\begin{BDef}
\Lcs{psplot}\OptArgs\Largb{$x_!\min@$}\Largb{$x_!\max@$}\Largb{function}\\
-\Lcs{parametricplot}\OptArgs\Largb{$t_!\min@$}\Largb{$t_!\max@$}\Largb{x(t) y(t)}
+\Lcs{parametricplot}\OptArgs\Largb{$t_!\min@$}\Largb{$t_!\max@$}\Largb{x(t) y(t)}\\
+\Lcs{parametricplot}\OptArg{algebraic,...}\Largb{$t_!\min@$}\Largb{$t_!\max@$}\Largb{x(t) | y(t)}
\end{BDef}
\Lcs{psplot} can be used to plot a function $f(x)$, if you know a little
@@ -227,7 +228,8 @@
\end{LTXexample}
\Lcs{parametricplot} is for a parametric plot of $(x(t),y(t))$. \Larg{function} is the PostScript
-code or algebraic expression for calculating the pair $x(t)$ $y(t)$.
+code or algebraic expression for calculating the pair $x(t)$ $y(t)$. For an algebraic expression they must be
+devided by a vertical rule.
For example,
\begin{LTXexample}[wide,width=4cm]
@@ -251,6 +253,20 @@
\end{LTXexample}
+\begin{LTXexample}[wide,width=6.5cm]
+\begin{pspicture}[showgrid,algebraic](-3,-3)(3,3)
+\psframe[dimen=m](-3,-3)(3,3)
+ \pscustom[fillstyle=hlines]{%
+ \psplot{-3}{3}{-x^2/3}
+ \psparametricplot{-3}{3}{t^2/3 | t}
+ \psplot{3}{-3}{x^2/3}
+ \psparametricplot{3}{-3}{-t^2/3 | t}
+}
+\end{pspicture}
+\end{LTXexample}
+
+
+
The number of points that the \Lcs{psplot} and \Lcs{parametricplot} commands
calculate is set by the
\LKeyset{plotpoints=<value>}
@@ -276,6 +292,7 @@
\begin{BDef}
\Lcs{psplot}\OptArgs\Largb{x0}\Largb{x1}\OptArg{PS commands}\Largb{function}\\
\Lcs{psparametricplot}\OptArgs\Largb{t0}\Largb{t1}\OptArg{PS commands}\Largb{x(t) y(t)}\\
+\Lcs{psparametricplot}\OptArg{algebraic,...}\Largb{t0}\Largb{t1}\OptArg{PS commands}\Largb{x(t) | y(t)}\\
\Lcs{psaxes}\OptArgs\OptArg*{\Largb{arrows}}\coord0\coord1\coord2\OptArg{Xlabel,Xangle}\OptArg{Ylabel,Yangle}
\end{BDef}
@@ -1005,7 +1022,8 @@
\begin{LTXexample}[width=.4\linewidth]
-\begin{psgraph}[Dx=2,Dy=2](0,0)(-4,-2.2)(4,2.2){.5\textwidth}{!}
+\begin{psgraph}[Dx=2,Dy=2,showorigin=false]%
+ (0,0)(-4,-2.2)(4,2.2){.5\textwidth}{!}
\psxTick[linecolor=red,labelsep=-20pt]{45}(1.25){x_0}
\psyTick[linecolor=blue](1){y_0}
\end{psgraph}
@@ -3286,7 +3304,7 @@
%--------------------------------------------------------------------------------------
With the setting \Lkeyset{plotstyle=ybar} the graph is set with horizontal bars instead
of vertical. For \Lkeyword{yLabels} see section~\ref{yLabels}.
-.
+
\begin{center}
\savedata{\data}[1 1 1 2 1 3 2 4 3 5 4 6 4 7 6 8 6 9 7 10 25 11 30 12 32 13]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-plot.doc.tlpobj new/tlpkg/tlpobj/pst-plot.doc.tlpobj
--- old/tlpkg/tlpobj/pst-plot.doc.tlpobj 2019-02-28 04:02:20.000000000 +0100
+++ new/tlpkg/tlpobj/pst-plot.doc.tlpobj 2020-03-04 23:53:25.000000000 +0100
@@ -1,9 +1,9 @@
name pst-plot.doc
category Package
-revision 48526
+revision 54080
shortdesc doc files of pst-plot
relocated 1
-docfiles size=597
+docfiles size=593
RELOC/doc/generic/pst-plot/Changes
RELOC/doc/generic/pst-plot/README
RELOC/doc/generic/pst-plot/data/Data.dat
++++++ pst-plot.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pst-plot/pst-plot.tex new/tex/generic/pst-plot/pst-plot.tex
--- old/tex/generic/pst-plot/pst-plot.tex 2018-09-01 00:11:28.000000000 +0200
+++ new/tex/generic/pst-plot/pst-plot.tex 2019-07-16 23:13:16.000000000 +0200
@@ -1,4 +1,4 @@
-% $Id: pst-plot.tex 798 2018-08-31 14:47:43Z herbert $
+% $Id: pst-plot.tex 1056 2019-05-17 07:39:59Z herbert $
%%
%% BEGIN pst-plot.tex
%%
@@ -23,8 +23,8 @@
\ifx\PSTFPloaded\endinput\else \input pst-fp.tex \fi
\ifx\MultidoLoaded\endinput\else \input multido.tex \fi
%
-\def\fileversion{1.91}
-\def\filedate{2018/08/31}
+\def\fileversion{1.92}
+\def\filedate{2019/05/16}
\message{ v\fileversion, \filedate\space (tvz,hv)}
%
\edef\TheAtCode{\the\catcode`\@}
@@ -714,15 +714,15 @@
\ifPst@valuesStar
Str stringwidth pop /yS \psk@fontscale def /xS ED
gsave newpath
- xO \ifPst@xvalues \pst@number\pslabelsep add \fi
- yO \ifPst@xvalues\else \pst@number\pslabelsep add \fi
+ xO \ifPst@xvalues \pst@number\pslabelsep add \fi
+ yO \ifPst@xvalues \psk@fontscale 4 div sub \else \pst@number\pslabelsep add \fi
moveto \ifx\psk@rot\@empty\else\psk@rot rotate \fi
xS 0 rlineto 0 yS rlineto xS neg 0 rlineto 0 yS neg rlineto
closepath 1 setgray fill stroke
grestore
\fi
xO \ifPst@xvalues \pst@number\pslabelsep add \fi
- yO \ifPst@xvalues\else \pst@number\pslabelsep add \fi
+ yO \ifPst@xvalues \psk@fontscale 4 div sub \else \pst@number\pslabelsep add \fi
moveto \ifx\psk@rot\@empty\else\psk@rot rotate \fi
Str show
grestore } repeat
@@ -934,11 +934,11 @@
\def\psplot{\def\pst@par{}\pst@object{psplot}}
\def\psplot@i#1#2{\@ifnextchar[{\psplot@x{#1}{#2}}{\psplot@x{#1}{#2}[]}}
\def\psplot@x#1#2[#3]#4{%
- \pst@killglue%
- \begingroup%
- \use@par%
+ \pst@killglue
+ \begingroup
+ \use@par
\@nameuse{beginplot@\psplotstyle}%
- \ifPst@polarplot%
+ \ifPst@polarplot
\addto@pscode{
\psplot@init
#3
@@ -1005,16 +1005,16 @@
/xy { x \pst@number\psxunit mul F@pstplot \pst@number\psyunit mul
% \ifPst@algebraic F@pstplot \else #4 \fi \pst@number\psyunit mul
} def}%
- \fi%
+ \fi
\gdef\psplot@init{}%
\ifx\pslinestyle\psls@@symbol
\psplot@iii
\else
- \@pstfalse%
+ \@pstfalse
\@nameuse{testqp@\psplotstyle}%
- \if@pst\psplot@ii\else\psplot@iii\fi%
- \fi%
- \endgroup%
+ \if@pst\psplot@ii\else\psplot@iii\fi
+ \fi
+ \endgroup
\ignorespaces}
%
\def\psplot@ii{%
@@ -1228,7 +1228,15 @@
\edef\psk@dy{\number\pst@dimg}}
\psset[pst-plot]{dy=0}
%
-\define@boolkey[psset]{pst-plot}[]{showorigin}[true]{}
+\define@boolkey[psset]{pst-plot}[]{showXorigin}[true]{}
+\define@boolkey[psset]{pst-plot}[]{showYorigin}[true]{}
+\define@boolkey[psset]{pst-plot}[]{showorigin}[true]{%
+ \ifshoworigin
+ \showXorigintrue\showYorigintrue
+ \else
+ \showXoriginfalse\showYoriginfalse
+ \fi
+}
\psset[pst-plot]{showorigin=true}
%
\long\def\psrotatebox#1#2{%
@@ -2016,7 +2024,7 @@
\ifPst@xAxis
\SpecialLabelsDonefalse
\begingroup
- \ifdim\pst@dimb=\z@\else\ifPst@xtrigLabels\else\showoriginfalse\fi\fi
+%%% \ifdim\pst@dimb=\z@\else\ifPst@xtrigLabels\else\showoriginfalse\fi\fi
\ifnum\psk@dx=\z@
\pst@dimg=\psk@Dx\psxunit
\ifdim\pst@dimg<\p@
@@ -2481,8 +2489,14 @@
\ifdim\pst@pmtempb pt < \z@ \def\pst@pmtempe{\pst@int{\pst@pmtempc}}\else\def\pst@pmtempe{\pst@int{\pst@pmtempd}}\fi
\multido{\nA=0+1,\rA=#3+\psk@Dy}{\pst@pmtempe}{%
\ifdim \nA pt < \z@ \def\nB{-\nA}\else \def\nB{\nA}\fi
- \uput{\psylabelsep}[180]{\pst@yLabelsRot}(0,\rA){%
- \strut\expandafter\psvlabel\expandafter{\psPutYLabel{\nB}}}}%
+ \ifnum\psk@ylabelPos=0
+ \uput{\psylabelsep}[180]{\pst@yLabelsRot}(0,\rA){%
+ \strut\expandafter\psvlabel\expandafter{\psPutYLabel{\nB}}}%
+ \else
+ \uput{\psylabelsep}[0]{\pst@yLabelsRot}(0,\rA){%
+ \strut\expandafter\psvlabel\expandafter{\psPutYLabel{\nB}}}%
+ \fi
+ }%
\SpecialLabelsDonetrue
\fi
\fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-plot.tlpobj new/tlpkg/tlpobj/pst-plot.tlpobj
--- old/tlpkg/tlpobj/pst-plot.tlpobj 2019-02-28 04:02:21.000000000 +0100
+++ new/tlpkg/tlpobj/pst-plot.tlpobj 2020-03-04 23:53:26.000000000 +0100
@@ -1,6 +1,6 @@
name pst-plot
category Package
-revision 48526
+revision 54080
shortdesc Plot data using PSTricks
relocated 1
longdesc The package provides plotting of data (typically from external
@@ -12,10 +12,9 @@
RELOC/tex/latex/pst-plot/pst-plot.sty
catalogue-also pgfplots
catalogue-contact-home https://www.tug.org/PSTricks/
-catalogue-contact-repository http://comedy.dante.de/~herbert/texnik/
+catalogue-contact-repository https://archiv.dante.de/~herbert/texnik/
catalogue-contact-support http://tug.org/mailman/listinfo/pstricks
catalogue-ctan /graphics/pstricks/contrib/pst-plot
-catalogue-date 2018-08-31 19:10:21 +0200
catalogue-license lppl
catalogue-topics data-import data-disp pstricks
-catalogue-version 1.91
+catalogue-version 1.92
++++++ pst-poker.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pst-poker/Changes new/doc/latex/pst-poker/Changes
--- old/doc/latex/pst-poker/Changes 2018-08-04 22:54:14.000000000 +0200
+++ new/doc/latex/pst-poker/Changes 2020-01-21 22:43:10.000000000 +0100
@@ -1,9 +1,10 @@
-%% $Id: Changes 792 2018-08-03 19:20:08Z herbert $
+%% $Id: Changes 1135 2020-01-21 16:44:55Z herbert $
%%
pst-poker.sty -----------
-0.03 2018-08-03 - load graphicx by default
-0.02 2017-08-23 - do not load txfonts by default
-0.01 2017-05-16 - first CTAN version
+0.03a 2020-01-21 - fix typo
+0.03 2018-08-03 - load graphicx by default
+0.02 2017-08-23 - do not load txfonts by default
+0.01 2017-05-16 - first CTAN version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pst-poker/pst-poker-doc.bib new/doc/latex/pst-poker/pst-poker-doc.bib
--- old/doc/latex/pst-poker/pst-poker-doc.bib 2017-08-20 19:59:45.000000000 +0200
+++ new/doc/latex/pst-poker/pst-poker-doc.bib 2020-01-21 22:43:10.000000000 +0100
@@ -20,7 +20,7 @@
edition = {7},
publisher = {DANTE -- Lehmanns},
year = {2016},
- address = {Heidelberg/Berlin}
+ address = {Heidelberg and Berlin}
}
@Book{PSTricks-E,
@@ -86,32 +86,18 @@
year = 1989,
}
-@Manual{pstricks,
+@online{pstricks,
Title = {PSTricks - {\PS} macros for generic {\TeX}},
Author = {{Timothy Van} Zandt},
- Organization = {},
Address = {\url{http://www.tug.org/application/PSTricks}},
- Note = {},
year = 1993
}
-@Manual{multido,
+@ctan{multido,
Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition},
Author = {{Timothy Van} Zandt},
- Organization = {},
- Address = {\url{CTAN:/graphics/pstricks/generic/multido.tex}},
- Note = {},
+ url = {/graphics/pstricks/generic/multido.tex},
year = 1997
}
-@online{wikipedia,
- author = {WikipediA},
- sortlabel = {Wikipedia},
- sortname = {Wikipedia},
- title = {Fidget spinner},
- date = {2017-05-11},
- urldate = {2017-05-11},
- url = {https://en.wikipedia.org/wiki/Fidget_spinner},
-}
-
-%% $Id: pst-spinner-doc.bib 452 2017-05-11 16:21:02Z herbert $
+%% $Id: pst-poker-doc.bib 1135 2020-01-21 16:44:55Z herbert $
Binary files old/doc/latex/pst-poker/pst-poker-doc.pdf and new/doc/latex/pst-poker/pst-poker-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pst-poker/pst-poker-doc.tex new/doc/latex/pst-poker/pst-poker-doc.tex
--- old/doc/latex/pst-poker/pst-poker-doc.tex 2018-08-04 22:54:14.000000000 +0200
+++ new/doc/latex/pst-poker/pst-poker-doc.tex 2020-01-21 22:43:10.000000000 +0100
@@ -1,13 +1,12 @@
-%% $Id: pst-poker-doc.tex 792 2018-08-03 19:20:08Z herbert $
+%% $Id: pst-poker-doc.tex 1135 2020-01-21 16:44:55Z herbert $
%
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings,
headexclude,footexclude,oneside]{pst-doc}
\listfiles
\usepackage{dtk-logos}
\usepackage[autostyle]{csquotes}
-\usepackage{biblatex}
+
\addbibresource{\jobname.bib}
-\usepackage[utf8]{inputenc}
\usepackage{pst-poker}
\let\belowcaptionskip\abovecaptionskip
%
@@ -215,7 +214,7 @@
\section{Usage}
To make the poker package available within a \LaTeX\ document you have to add
\begin{verbatim}
- \usepackage{poker}
+ \usepackage{pst-poker}
\end{verbatim}
to the preamble. Then you can change the options used with the command
\begin{verbatim}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-poker.doc.tlpobj new/tlpkg/tlpobj/pst-poker.doc.tlpobj
--- old/tlpkg/tlpobj/pst-poker.doc.tlpobj 2019-02-28 04:02:21.000000000 +0100
+++ new/tlpkg/tlpobj/pst-poker.doc.tlpobj 2020-01-22 03:13:02.000000000 +0100
@@ -1,9 +1,9 @@
name pst-poker.doc
category Package
-revision 48347
+revision 53482
shortdesc doc files of pst-poker
relocated 1
-docfiles size=611
+docfiles size=610
RELOC/doc/latex/pst-poker/Changes
RELOC/doc/latex/pst-poker/README
RELOC/doc/latex/pst-poker/pst-poker-doc.bib
++++++ pst-poker.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pst-poker/pst-poker.sty new/tex/latex/pst-poker/pst-poker.sty
--- old/tex/latex/pst-poker/pst-poker.sty 2018-08-04 22:54:14.000000000 +0200
+++ new/tex/latex/pst-poker/pst-poker.sty 2020-01-21 22:43:10.000000000 +0100
@@ -1,4 +1,4 @@
-%% $Id: pst-poker.sty 792 2018-08-03 19:20:08Z herbert $
+%% $Id: pst-poker.sty 1135 2020-01-21 16:44:55Z herbert $
%%
% pst-poker.sty - LaTeX poker package
% Copyright (C) 2018 Herbert Voß
@@ -22,15 +22,16 @@
%%%
\NeedsTeXFormat{LaTeX2e}
+%
%\RequirePackage{txfonts}
\RequirePackage{pstricks,pst-blur,multido}
\RequirePackage{graphicx}
\RequirePackage[tiling]{pst-fill}
-\def\filedate{2018/08/03}
-\def\fileversion{0.03}
+\def\filedate{2020/01/21}
+\def\fileversion{0.03a}
\ProvidesFile{pst-poker}[\filedate\ v\fileversion\ [LaTeX poker package (HV)]
-%
+
% basic definitions
\pst@addfams{pst-poker}
%\newlength\xyunit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-poker.tlpobj new/tlpkg/tlpobj/pst-poker.tlpobj
--- old/tlpkg/tlpobj/pst-poker.tlpobj 2019-02-28 04:02:22.000000000 +0100
+++ new/tlpkg/tlpobj/pst-poker.tlpobj 2020-01-22 03:13:03.000000000 +0100
@@ -1,6 +1,6 @@
name pst-poker
category Package
-revision 48347
+revision 53482
shortdesc Drawing poker cards
relocated 1
longdesc This PSTricks related package can create poker cards in various
@@ -32,7 +32,6 @@
RELOC/tex/latex/pst-poker/Queen-spade-color.eps
RELOC/tex/latex/pst-poker/pst-poker.sty
catalogue-ctan /graphics/pstricks/contrib/pst-poker
-catalogue-date 2018-08-03 21:43:01 +0200
catalogue-license lgpl3
catalogue-topics pstricks games
-catalogue-version 0.03
+catalogue-version 0.03a
++++++ pst-spinner.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-spinner.doc.tlpobj new/tlpkg/tlpobj/pst-spinner.doc.tlpobj
--- old/tlpkg/tlpobj/pst-spinner.doc.tlpobj 2019-02-28 04:02:37.000000000 +0100
+++ new/tlpkg/tlpobj/pst-spinner.doc.tlpobj 2020-03-04 23:53:26.000000000 +0100
@@ -1,6 +1,6 @@
name pst-spinner.doc
category Package
-revision 44507
+revision 54080
shortdesc doc files of pst-spinner
relocated 1
docfiles size=373
++++++ pst-spinner.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-spinner.tlpobj new/tlpkg/tlpobj/pst-spinner.tlpobj
--- old/tlpkg/tlpobj/pst-spinner.tlpobj 2019-02-28 04:02:38.000000000 +0100
+++ new/tlpkg/tlpobj/pst-spinner.tlpobj 2020-03-04 23:53:27.000000000 +0100
@@ -1,6 +1,6 @@
name pst-spinner
category Package
-revision 44507
+revision 54080
shortdesc Drawing a fidget spinner
relocated 1
longdesc This package aims to propose a model of the fidget spinner
@@ -14,10 +14,9 @@
RELOC/tex/latex/pst-spinner/pst-spinner.sty
catalogue-contact-announce http://tug.org/PSTricks/
catalogue-contact-home http://tug.org/PSTricks/
-catalogue-contact-repository http://comedy.dante.de/~herbert/texnik/
+catalogue-contact-repository https://archiv.dante.de/~herbert/texnik/
catalogue-contact-support http://tug.org/mailman/listinfo/pstricks
catalogue-ctan /graphics/pstricks/contrib/pst-spinner
-catalogue-date 2017-06-06 19:56:03 +0200
catalogue-license lppl
catalogue-topics graphics pstricks
catalogue-version 1.02
++++++ pst-tools.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/pst-tools/Changes new/doc/generic/pst-tools/Changes
--- old/doc/generic/pst-tools/Changes 2017-12-03 23:19:10.000000000 +0100
+++ new/doc/generic/pst-tools/Changes 2020-03-24 21:51:28.000000000 +0100
@@ -1,4 +1,6 @@
..... pst-tools.tex
+0.10 2020-03-24 - added the random macros from random.tex which is no more
+ on TeXLive
0.09b 2017-12-03 - modified pro file
- added PostScript function list to the documentation
0.09a 2017-11-29 - modified pro file
@@ -20,6 +22,7 @@
2012-01-01 first version
+
---- pst-tools.pro
0.06 2017-11-30 - added function concatarray
0.05 2017-11-29 - added function concatstrings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/pst-tools/README new/doc/generic/pst-tools/README
--- old/doc/generic/pst-tools/README 2017-10-02 23:58:12.000000000 +0200
+++ new/doc/generic/pst-tools/README 2020-03-24 21:51:28.000000000 +0100
@@ -23,3 +23,4 @@
%% $Id: README 286 2010-02-11 09:40:41Z herbert $
+hvoss@tug.org
\ No newline at end of file
Binary files old/doc/generic/pst-tools/pst-tools-doc.pdf and new/doc/generic/pst-tools/pst-tools-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/pst-tools/pst-tools-doc.tex new/doc/generic/pst-tools/pst-tools-doc.tex
--- old/doc/generic/pst-tools/pst-tools-doc.tex 2017-12-03 23:19:10.000000000 +0100
+++ new/doc/generic/pst-tools/pst-tools-doc.tex 2020-03-24 21:51:28.000000000 +0100
@@ -1,6 +1,6 @@
-%% $Id: pst-tools-doc.tex 675 2017-12-03 08:39:12Z herbert $
+%% $Id: pst-tools-doc.tex 1163 2020-03-24 09:47:58Z herbert $
\documentclass[11pt,english,BCOR=10mm,DIV=13,toc=bibliography,parskip=false,
- headings=small, headinclude=false,footinclude=false,oneside]{pst-doc}
+ headings=small,headinclude=false,footinclude=false,oneside]{pst-doc}
\usepackage[utf8]{inputenc}
\usepackage{pst-tools}
\let\pstToolsFV\fileversion
@@ -24,7 +24,7 @@
\begin{abstract}
This package defines some tools which are useful for all packages not only the PSTricks like packages.
-
+Since the version 0.10 it includes the macros from \texttt{random.tex}.
\vfill
\noindent
Thanks to:
@@ -188,7 +188,7 @@
\begin{lstlisting}
-\psRegisterList{Color}{violet,blue,green,red}% defines macro \Color
+\psRegisterList{Color}{yellow,blue,green,red}% defines macro \Color
\begin{pspicture}(-7,-4.5)(7,5.5)
\psaxes{->}(0,0)(-6.5,-4.5)(6.75,5)
\psset{plotpoints=400,algebraic,linewidth=1pt,fillstyle=solid,opacity=0.4}
@@ -201,7 +201,7 @@
\end{pspicture}
\end{lstlisting}
-\psRegisterList{Color}{violet,blue,green,red}% defines macro \Color
+\psRegisterList{Color}{yellow,blue,green,red}% defines macro \Color
\begin{pspicture}(-7,-4.5)(7,5.5)
\psaxes{->}(0,0)(-6.5,-4.5)(6.75,5)
\psset{plotpoints=400,algebraic,linewidth=1pt,fillstyle=solid,opacity=0.4}
@@ -213,6 +213,58 @@
\end{pspicture}
+
+\section{Random numbers}
+The file \LFile{random.tex} from Donald Arseneau is no more part of CTAN due to a missing licence statement.
+\LFile{pst-tools} at version 0.10 includes the code. The documentation was inside the package otself:
+
+Random integers are generated in the range 1 to 2147483646 by the
+macro \Lcs{nextrandom}. The result is returned in the counter \Lcs{randomi}.
+Do not change \Lcs{randomi} except, perhaps, to initialize it at some
+random value. If you do not initialize it, it will be initialized
+using the time and date. (This is a sparse initialization, giving
+fewer than a million different starting values, but you should use
+other sources of numbers if they are available--just remember that
+most of the numbers available to TeX are not at all random.)
+
+The \Lcs{nextrandom} command is not very useful by itself, unless you
+have exactly 2147483646 things to choose from. Much more useful
+is the \Lcs{setrannum} command which sets a given counter to a random
+value within a specified range. There are three parameters:
+
+\Lcs{setrannum\{<counter>\}\{<minimum>\}\{<maximum>\}}
+
+For example, to
+simulate a die-roll:
+
+\verb|\setrannum{\die}{1}{6}| \verb|\ifcase\die...| .
+
+If you need random numbers that are not integers, you will have to
+use dimen registers and \Lcs{setrandimen}. For example, to set a random
+page width:
+
+\Lcs{setrandimen} \Lcs{hsize\{3in\}\{6.5in\}}
+
+ The »\Lcs{pointless}« macro
+will remove the »pt« that TeX gives so you can use the dimensions
+as pure `real' numbers. In that case, specify the range in pt units.
+For example,
+
+ \verb|\setrandimen\answer{2.71828pt}{3.14159pt}|
+
+ The answer is \verb|\pointless\answer|.
+
+The random number generator is the one by Lewis, Goodman, and Miller
+(1969) and used as \texttt{ran0} in »Numerical Recipies« using Schrage's
+method for avoiding overflows. The multiplier is $16807 (7^5)$, the
+added constant is 0, and the modulus is $2147483647 (2^{31}-1)$. The
+range of integers generated is $1 - 2147483646$. A smaller range would
+reduce the complexity of the macros a bit, but not much--most of the
+code deals with initialization and type-conversion. On the other hand,
+the large range may be wasted due to the sparse seed initialization.
+
+
+
\section{List of the defined PostScript functions}
\footnotesize
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-tools.doc.tlpobj new/tlpkg/tlpobj/pst-tools.doc.tlpobj
--- old/tlpkg/tlpobj/pst-tools.doc.tlpobj 2019-02-28 04:02:41.000000000 +0100
+++ new/tlpkg/tlpobj/pst-tools.doc.tlpobj 2020-03-25 16:13:16.000000000 +0100
@@ -1,9 +1,9 @@
name pst-tools.doc
category Package
-revision 45978
+revision 54518
shortdesc doc files of pst-tools
relocated 1
-docfiles size=35
+docfiles size=39
RELOC/doc/generic/pst-tools/Changes
RELOC/doc/generic/pst-tools/README
RELOC/doc/generic/pst-tools/pst-tools-doc.bib
++++++ pst-tools.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pst-tools/pst-tools.tex new/tex/generic/pst-tools/pst-tools.tex
--- old/tex/generic/pst-tools/pst-tools.tex 2017-12-03 23:19:10.000000000 +0100
+++ new/tex/generic/pst-tools/pst-tools.tex 2020-03-24 21:51:28.000000000 +0100
@@ -1,4 +1,4 @@
-%% $Id: pst-tools.tex 674 2017-12-02 22:04:53Z herbert $
+%% $Id: pst-tools.tex 1163 2020-03-24 09:47:58Z herbert $
%%
%% This is file `pst-tools.tex',
%%
@@ -26,8 +26,8 @@
% interface to the `xkeyval' package
\pst@addfams{pst-tools}
%
-\def\fileversion{0.09b}
-\def\filedate{2017/12/03}
+\def\fileversion{0.10}
+\def\filedate{2020/03/24}
\message{`PST-tools' v\fileversion, \filedate\space (hv)}
%
\define@key[psset]{pst-tools}{decimalSeparator}[.]{\def\psk@decimalSeparator{#1}}%
@@ -131,6 +131,100 @@
\advance\pst@cnto by 1
}%
}
+% RANDOM.TEX v.1 (Donald Arseneau)
+% Generating "random" numbers in TeX.
+%
+% Random integers are generated in the range 1 to 2147483646 by the
+% macro \nextrandom. The result is returned in the counter \randomi.
+% Do not change \randomi except, perhaps, to initialize it at some
+% random value. If you do not initialize it, it will be initialized
+% using the time and date. (This is a sparse initialization, giving
+% fewer than a million different starting values, but you should use
+% other sources of numbers if they are available--just remember that
+% most of the numbers available to TeX are not at all random.)
+%
+% The \nextrandom command is not very useful by itself, unless you
+% have exactly 2147483646 things to choose from. Much more useful
+% is the \setrannum command which sets a given counter to a random
+% value within a specified range. There are three parameters:
+% \setrannum {<counter>} {<minimum>} {<maximum>}. For example, to
+% simulate a die-roll: \setrannum{\die}{1}{6} \ifcase\die... .
+%
+% If you need random numbers that are not integers, you will have to
+% use dimen registers and \setrandimen. For example, to set a random
+% page width: \setrandimen \hsize{3in}{6.5in}. The "\pointless" macro
+% will remove the "pt" that TeX gives so you can use the dimensions
+% as pure `real' numbers. In that case, specify the range in pt units.
+% For example,
+% \setrandimen\answer{2.71828pt}{3.14159pt}
+% The answer is \pointless\answer.
+%
+% The random number generator is the one by Lewis, Goodman, and Miller
+% (1969) and used as "ran0" in "Numerical Recipies" using Schrage's
+% method for avoiding overflows. The multiplier is 16807 (7^5), the
+% added constant is 0, and the modulus is 2147483647 (2^{31}-1). The
+% range of integers generated is 1 - 2147483646. A smaller range would
+% reduce the complexity of the macros a bit, but not much--most of the
+% code deals with initialization and type-conversion. On the other hand,
+% the large range may be wasted due to the sparse seed initialization.
+
+\newcount\randomi % the random number seed (while executing)
+\global\randomi\catcode`\@ % scratch variable during definitions
+\catcode`\@=11
+
+\def\nextrandom{\begingroup
+ \ifnum\randomi<\@ne % then initialize with time
+ \global\randomi\time
+ \global\multiply\randomi388 \global\advance\randomi\year
+ \global\multiply\randomi31 \global\advance\randomi\day
+ \global\multiply\randomi97 \global\advance\randomi\month
+ \message{Randomizer initialized to \the\randomi.}%
+ \nextrandom \nextrandom \nextrandom
+ \fi
+ \count@ii\randomi
+ \divide\count@ii 127773 % modulus = multiplier * 127773 + 2836
+ \count@\count@ii
+ \multiply\count@ii 127773
+ \global\advance\randomi-\count@ii % random mod 127773
+ \global\multiply\randomi 16807
+ \multiply\count@ 2836
+ \global\advance\randomi-\count@
+ \ifnum\randomi<\z@ \global\advance\randomi 2147483647\relax\fi
+ \endgroup
+}
+
+\countdef\count@ii=2 % use only in boxes!
+\ifx\@tempcnta\undefined \csname newcount\endcsname \@tempcnta \fi
+\ifx\@tempcntb\undefined \csname newcount\endcsname \@tempcntb \fi
+
+\def\setrannum#1#2#3{% count register, minimum, maximum
+ \@tempcnta#3\advance\@tempcnta-#2\advance\@tempcnta\@ne
+ \@tempcntb 2147483645 % = m - 2 = 2^{31} - 3
+ \divide\@tempcntb\@tempcnta
+ \getr@nval
+ \advance\ranval#2\relax
+ #1\ranval
+}
+
+\def\setrandim#1#2#3{% dimen register, minimum length, maximum length
+ \dimen@#2\dimen@ii#3\relax
+ \setrannum\ranval\dimen@\dimen@ii
+ #1\ranval sp\relax
+}
+
+\def\getr@nval{% The values in \@tempcnta and \@tempcntb are parameters
+ \nextrandom
+ \ranval\randomi \advance\ranval\m@ne \divide\ranval\@tempcntb
+ \ifnum\ranval<\@tempcnta\else \expandafter\getr@nval \fi
+}
+
+\def\pointless{\expandafter\PoinTless\the}
+{\catcode`p=12 \catcode`t=12
+\gdef\PoinTless#1pt{#1}}
+
+\catcode`\@=\randomi
+\global\randomi=0
+\newcount\ranval
\catcode`\@=\PstAtCode\relax
%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pst-tools/pst-tools.sty new/tex/latex/pst-tools/pst-tools.sty
--- old/tex/latex/pst-tools/pst-tools.sty 2017-12-03 23:19:10.000000000 +0100
+++ new/tex/latex/pst-tools/pst-tools.sty 2020-03-24 21:51:28.000000000 +0100
@@ -9,4 +9,4 @@
\@addtofilelist{pst-tools.pro}}{}%
\endinput
-%% $Id: pst-tools.sty 606 2017-10-02 17:34:18Z herbert $
+%% $Id: pst-tools.sty 680 2017-12-05 12:22:55Z herbert $
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pst-tools.tlpobj new/tlpkg/tlpobj/pst-tools.tlpobj
--- old/tlpkg/tlpobj/pst-tools.tlpobj 2019-02-28 04:02:41.000000000 +0100
+++ new/tlpkg/tlpobj/pst-tools.tlpobj 2020-03-25 16:13:16.000000000 +0100
@@ -1,16 +1,15 @@
name pst-tools
category Package
-revision 45978
+revision 54518
shortdesc PSTricks support functions
relocated 1
longdesc The package provides helper functions for other PSTricks
longdesc related packages.
-runfiles size=6
+runfiles size=7
RELOC/dvips/pst-tools/pst-tools.pro
RELOC/tex/generic/pst-tools/pst-tools.tex
RELOC/tex/latex/pst-tools/pst-tools.sty
catalogue-ctan /graphics/pstricks/contrib/pst-tools
-catalogue-date 2017-12-03 12:35:57 +0100
catalogue-license lppl
catalogue-topics graphics pstricks
-catalogue-version 0.09b
+catalogue-version 0.10
++++++ pstricks-add.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/pstricks-add/Changes new/doc/generic/pstricks-add/Changes
--- old/doc/generic/pstricks-add/Changes 2019-01-13 00:06:35.000000000 +0100
+++ new/doc/generic/pstricks-add/Changes 2020-02-12 23:21:52.000000000 +0100
@@ -1,4 +1,4 @@
-%% $Id: Changes 902 2019-01-12 10:06:35Z herbert $
+%% $Id: Changes 1142 2020-02-12 19:07:50Z herbert $
%%
pstricks-add.pro -----------
0.23 2009-12-17 - add RGBtoGRAY and WavelengthToGRAY
@@ -41,6 +41,9 @@
pstricks-add.tex ----------- (hv)
+ v 3.89a 2020-02-12 - modified documentation for \psbrace
+ v 3.89 2019-11-01 - added otion sngleline for \psbrace
+ v 3.88 2019-05-11 - fix for a trailing space after \psrotatet
v 3.87 2019-01-12 - added \psCallout
v 3.86 2018-12-08 - added some more options for \psCancel
v 3.85b 2018-02-04 - use LaTeX package pst-calculate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/pstricks-add/README new/doc/generic/pstricks-add/README
--- old/doc/generic/pstricks-add/README 2018-12-09 23:37:09.000000000 +0100
+++ new/doc/generic/pstricks-add/README 2020-02-12 23:21:52.000000000 +0100
@@ -36,9 +36,8 @@
into $TEXMF/dvips/pstricks/
Then do not forget to run texhash to update this tree.
For more information see the documentation of your LaTeX distribution
-on installing packages into your local TeX system or read the
-TeX Frequently Asked Questions:
-(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+on installing packages into your local TeX system.
+
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
Binary files old/doc/generic/pstricks-add/pstricks-add-doc.pdf and new/doc/generic/pstricks-add/pstricks-add-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/pstricks-add/pstricks-add-doc.tex new/doc/generic/pstricks-add/pstricks-add-doc.tex
--- old/doc/generic/pstricks-add/pstricks-add-doc.tex 2019-01-13 00:06:35.000000000 +0100
+++ new/doc/generic/pstricks-add/pstricks-add-doc.tex 2020-02-12 23:21:52.000000000 +0100
@@ -1,4 +1,4 @@
-%% $Id: pstricks-add-doc.tex 887 2018-12-29 13:17:59Z herbert $
+%% $Id: pstricks-add-doc.tex 1142 2020-02-12 19:07:50Z herbert $
%
\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
headinclude=false,footinclude=false,oneside]{pst-doc}
@@ -23,7 +23,6 @@
%\input{data/pstricks-add-doc.data}
-\usepackage[utf8]{inputenc}
%\usepackage{pstricks-add}
%\let\pstricksaddFV\fileversion
\usepackage{pst-eucl,pst-fun,pst-func,multirow}
@@ -206,6 +205,7 @@
\end{pspicture}
\end{LTXexample}
+
\clearpage
%--------------------------------------------------------------------------------------
@@ -340,6 +340,8 @@
of a circle must be given. The names of the calculates node names are \verb=CircleT1=
and \verb=CircleT2=.
+
+
\bigskip
\begin{pspicture}[showgrid](0,3)(10,10)
\psdot(2,4)\pscircle(7,7){2}
@@ -350,7 +352,6 @@
\uput[-80](CircleT1){T1}\uput[115](CircleT2){T2}
\end{pspicture}
-
\begin{lstlisting}
\begin{pspicture}[showgrid](0,3)(10,10)
\psdot(2,4)\pscircle(7,7){2}
@@ -370,6 +371,9 @@
\verb=CircleTI1=, \verb=CircleTI2=, \verb=CircleTI3=, and \verb=CircleTI4= for the
four nodes of the inner tangent lines.
+
+
+
\bigskip
\begin{pspicture}[showgrid](-2,-2)(10,10)
\pscircle(1,1){1}\pscircle(7,7){3}
@@ -757,6 +761,9 @@
%\pstVerb{ /m -3 -0.85 sub 4 0.6 sub div def }
+
+
+
\clearpage
%--------------------------------------------------------------------------------------
@@ -787,9 +794,37 @@
\end{pspicture}
\end{center}
+And with option \Lkeyword{singleline}:
+
+\begin{center}
+\begin{pspicture}[showgrid=true](0,1)(10,5)
+ \psbrace[braceWidthInner=1cm,singleline,
+ braceWidthOuter=1cm,bracePos=0.6,fillcolor=white,
+ nodesepA=10mm,nodesepB=10mm](0,5)(10,5){\fbox{Label}}
+\pcline{<->}(3,4)(3,5)\ncput*{\footnotesize\ttfamily braceWidthInner}
+\pcline{<->}(3,3)(3,4)\ncput*{\footnotesize\ttfamily braceWidthOuter}
+\pcline{<->}(6,2)(6,3)\ncput{\footnotesize\ttfamily nodesepB}
+\pcline{<->}(6,2)(7,2)\ncput*{\footnotesize\ttfamily A}
+\pcline{<->}(0,1.5)(6,1.5)\ncput*{\footnotesize\ttfamily bracePos}
+\psdot[dotscale=2](0,5)\uput[0](0,5){\textbf{A}}
+\psdot[dotscale=2](10,5)\uput[180](10,5){\textbf{B}}
+\end{pspicture}
+\end{center}
+
+With the option \Lkeyword{singleline} one can choose also a different linestyle which makes no sense otherwise:
+
+\begin{LTXexample}[width=4.5cm]
+\begin{pspicture}[showgrid](4,4)
+\pnode(0,0){A}
+\pnode(4,4){B}
+\psbrace[singleline,linestyle=dashed,ref=lC](A)(B){Text I}
+\psbrace[singleline,linestyle=dotted,ref=lC](3,4)(0,1){Text II}
+\end{pspicture}
+\end{LTXexample}
A positive value for \Lkeyword{nodesepA} and \Lkeyword{nodesepB} shifts the label to the upper right
and a negative value to the lower left. This does not depends on
-the value for the rotating of the label!
+the value for the rotating of the label! If both keywords have the same value, you can use \Lkeyword{nodesep}
+instead. It sets \Lkeyword{nodesepA} \emph{and} \Lkeyword{nodesepB} to the given value of \Lkeyword{nodesep}.
\begin{center}
\begin{tabular}{@{}l|l@{}}
@@ -800,12 +835,28 @@
\Lkeyword{bracePos} & relative position (default is $0.5$)\\
\Lkeyword{nodesepA} & x-separation (default is $0pt$)\\
\Lkeyword{nodesepB} & y-separation (default is $0pt$)\\
+\Lkeyword{nodesep} & x- and y-separation (default is $0pt$)\\
\Lkeyword{rot} & additional rotating for the text (default is $0$)\\
\Lkeyword{ref} & reference point for the text (default is c)\\
-\Lkeyword{fillcolor} & default is black
+\Lkeyword{fillcolor} & default is black\\
+\Lkeyword{singleline} & default is false
\end{tabular}
\end{center}
+
+\begin{LTXexample}[width=6.5cm]
+\begin{pspicture}[showgrid](-1,0)(4,5)
+\pnodes(0,1){A}(3,4){B}(-0.5,0.5){C}(3.5,4.5){D}
+\psdots(A)(B)(C)(D)
+\psbrace[singleline,linestyle=dashed,ref=lC,
+ linewidth=1pt,nodesep=5mm](C)(D){Text I}
+\psbrace[singleline,linestyle=dotted,ref=lC,
+ linewidth=1pt,nodesep=-10mm,rot=180](B)(A){Text II}
+\end{pspicture}
+\end{LTXexample}
+
+
+
By default the text is written perpendicular to the brace line and
can be changed with the \LPack{pstricks} option \Lkeyword{rot}=\ldots\ The
text parameter can take any object and may also be empty. The
@@ -868,6 +919,7 @@
\end{LTXexample}
+
\begin{LTXexample}[width=8cm]
\psset{unit=0.8}
\begin{pspicture}(10,11)
@@ -996,6 +1048,7 @@
\clearpage
+
%--------------------------------------------------------------------------------------
\section{Contour plots}
%--------------------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pstricks-add.doc.tlpobj new/tlpkg/tlpobj/pstricks-add.doc.tlpobj
--- old/tlpkg/tlpobj/pstricks-add.doc.tlpobj 2019-02-28 04:02:51.000000000 +0100
+++ new/tlpkg/tlpobj/pstricks-add.doc.tlpobj 2020-02-13 01:54:42.000000000 +0100
@@ -1,9 +1,9 @@
name pstricks-add.doc
category Package
-revision 49680
+revision 53763
shortdesc doc files of pstricks-add
relocated 1
-docfiles size=2773
+docfiles size=2776
RELOC/doc/generic/pstricks-add/Changes
RELOC/doc/generic/pstricks-add/README
RELOC/doc/generic/pstricks-add/data/contourN.data
++++++ pstricks-add.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pstricks-add/pstricks-add.tex new/tex/generic/pstricks-add/pstricks-add.tex
--- old/tex/generic/pstricks-add/pstricks-add.tex 2019-01-13 00:06:35.000000000 +0100
+++ new/tex/generic/pstricks-add/pstricks-add.tex 2020-02-12 23:21:52.000000000 +0100
@@ -1,4 +1,4 @@
-%% $Id: pstricks-add.tex 903 2019-01-12 17:16:09Z herbert $
+%% $Id: pstricks-add.tex 1142 2020-02-12 19:07:50Z herbert $
%%
%% This is file `pstricks-add.tex',
%%
@@ -31,8 +31,8 @@
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
\ifx\PSTmathLoaded\endinput\else \input pst-math \fi
%
-\def\fileversion{3.87}
-\def\filedate{2019/01/12}
+\def\fileversion{3.89a}
+\def\filedate{2020/02/12}
\let\pstricksaddFV\fileversion
\message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)}
%
@@ -107,7 +107,8 @@
[ax by cx dy ex fy] concat } \tx@TMChange
}%
\box\pst@hbox
- \pst@Verb{ \tx@TMRestore grestore }\endgroup}
+ \pst@Verb{ \tx@TMRestore grestore }\endgroup
+ \ignorespaces}
%
% [#1]: obtargs; (#2,#3): center; {#4}: factor; {#5}: object
\def\psHomothetie{\def\pst@par{}\pst@object{psHomothetie}}
@@ -164,6 +165,9 @@
\define@key[psset]{pstricks-add}{braceWidthInner}{\pst@getlength{#1}\psk@braceWidthInner}
\define@key[psset]{pstricks-add}{braceWidthOuter}{\pst@getlength{#1}\psk@braceWidthOuter}
%
+\define@boolkey[psset]{pstricks-add}[PST@]{singleline}[true]{}%use \ifPST@metricFunction
+\psset{singleline=false}
+
\def\psbrace{\def\pst@par{}\pst@object{psbrace}}
\def\psbrace@i(#1)(#2)#3{%
\addbefore@par{ref=lb,linewidth=0.01pt,fillstyle=solid,fillcolor=black}% default setting
@@ -194,21 +198,30 @@
Left radius2 neg Left radius1 add radius2 neg radius1 arcto pop4
Right radius2 sub radius1 sub 0 rlineto
Length radius2 neg Length 0 radius2 arcto pop4
+ \ifPST@singleline\else
% 0 Width neg rlineto
- Length radius2 Width add neg Length radius2 sub radius2 Width add neg radius2 arcto pop4
- Right radius2 sub radius1 sub neg 0 rlineto
- Left radius1 add Width radius1 add radius2 add neg radius1 90 180 arc
- Left radius1 sub Width radius1 add radius2 add neg radius1 0 90 arc
- Left radius2 sub radius1 sub neg 0 rlineto
- radius2 Width neg radius2 270 180 arcn
- 0 0 lineto
- \ifx\psk@fillstyle\relax\else
- gsave
- ifStar { \pst@usecolor\pslinecolor }{ \pst@usecolor\psfillcolor } ifelse
- fill
- grestore
- \fi
- \pst@number\pslinewidth setlinewidth \pst@usecolor\pslinecolor stroke
+ Length radius2 Width add neg Length radius2 sub radius2 Width add neg radius2 arcto pop4
+ Right radius2 sub radius1 sub neg 0 rlineto
+ Left radius1 add Width radius1 add radius2 add neg radius1 90 180 arc
+ Left radius1 sub Width radius1 add radius2 add neg radius1 0 90 arc
+ Left radius2 sub radius1 sub neg 0 rlineto
+ radius2 Width neg radius2 270 180 arcn
+ 0 0 lineto
+ \ifx\psk@fillstyle\relax\else
+ gsave
+ ifStar { \pst@usecolor\pslinecolor }{ \pst@usecolor\psfillcolor } ifelse
+ fill
+ grestore
+ \fi
+ \fi
+% \pst@number\pslinewidth setlinewidth \pst@usecolor\pslinecolor stroke
+ \ifx\pslinestyle\@none\else
+ \pst@number\pslinewidth SLW
+ \pst@usecolor\pslinecolor
+ \@nameuse{psls@\pslinestyle}
+ \tx@setStrokeTransparency
+ \fi
+ stroke
0 0 moveto
grestore
% now calculate the label pos
@@ -1960,29 +1973,30 @@
\def\psCircleTangents{\pst@object{psCircleTangents}}
\def\psCircleTangents@i(#1){\@ifnextchar({\psCircleTangents@ii(#1)}{\psCircleTangents@iii(#1)}}%
\def\psCircleTangents@ii(#1)(#2)#3{% (viewpoint) (circle) {radius}
- \pst@killglue%
- \begingroup%
- \pst@getlength{#3}\pst@LengthA%
+ \pst@killglue
+ \begingroup
+ \pst@getlength{#3}\pst@LengthA
\addbefore@par{basename=CircleT}%
- \use@par%
- \edef\@cmd{\noexpand\psEllipseTangentsN(#2)(! \pst@LengthA dup %
- \pst@number\psxunit div exch \pst@number\psyunit div )(#1){\psk@basename}}%
- \@cmd%
- \endgroup%
- \ignorespaces%
+ \use@par
+% \edef\@cmd{\noexpand\psEllipseTangentsN(#2)(! \pst@LengthA dup
+% \pst@number\psxunit div exch \pst@number\psyunit div )(#1){\psk@basename}}%
+% \@cmd
+ \psEllipseTangentsN(#2)(!\pst@LengthA dup \pst@number\psxunit div exch \pst@number\psyunit div )(#1){\psk@basename}%
+ \endgroup
+ \ignorespaces
}%
\def\psCircleTangents@iii(#1)#2(#3)#4{% two circles--- (Cntr1){radius1}(Cntr2){radius2}
- \pst@killglue%
- \begingroup%
+ \pst@killglue
+ \begingroup
\pst@getlength{#2}\pst@LengthA% radius1
\pst@getlength{#4}\pst@LengthB% radius2
\addbefore@par{basename=CircleT}%
- \use@par%
- \psLCNodeVar(#1)(#3)(! \pst@LengthA \pst@number\psrunit div dup \pst@LengthB %
+ \use@par
+ \psLCNodeVar(#1)(#3)(! \pst@LengthA \pst@number\psrunit div dup \pst@LengthB
\pst@number\psrunit div % r1 r1 r2 on stack
3 copy add div /tti ED sub dup 0 eq % r1 r1-r2 on stack
{ pop pop /ttx 1000 def }{ div dup abs 1000 gt % r1/(r1-r2) on stack
- { 0 gt { ttx 1000 def }{ ttx -1000 def } ifelse}{ /ttx ED } ifelse } ifelse %
+ { 0 gt { ttx 1000 def }{ ttx -1000 def } ifelse}{ /ttx ED } ifelse } ifelse
1 tti sub tti )% 1-tti tti on stack
{\psk@basename C1}%
% tti=r1/(r1+r2), ttx=r1/(r1-r2)
@@ -2011,14 +2025,16 @@
\def\psEllipseTangentsN(#1)(#2)(#3)#4{% (xe,ye)(a,b)(xP,yP){basename} % no optional arguments
\pst@killglue
% \pst@getcoor{#1}\pst@tempA
- \pnodes(#1){E@Cntr}(#2){@@TMP}(#3){@@@TMP}% (center)(semimajor, semiminor)(viewpt)
+ \pnode(#1){E@Cntr}%
+ \pnode(#2){@@TMP}%
+ \pnode(#3){@@@TMP}% (center)(semimajor, semiminor)(viewpt)
\pst@getcoor{#3}\my@tempC% external viewpoint
\AtoB(E@Cntr)(@@@TMP){@TMP}% center to viewpoint
\ifnum\Pst@Debug>0
\shownode(E@Cntr)%
\shownode(@TMP)%
\shownode(@@@TMP)%
- \fi%
+ \fi
\pnode(!
\psGetNodeCenter{E@Cntr}\space
/Xc E@Cntr.x def /Yc E@Cntr.y def
@@ -2154,8 +2170,9 @@
} repeat
} for
}%
-\end@SpecialObj%
+\end@SpecialObj
}
+
\newrgbcolor{OlympicRed}{0.87 0 0.14}
\newrgbcolor{OlympicGreen}{0 0.62 0.24}
\newrgbcolor{OlympicBlue}{0 0.52 0.78}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pstricks-add.tlpobj new/tlpkg/tlpobj/pstricks-add.tlpobj
--- old/tlpkg/tlpobj/pstricks-add.tlpobj 2019-02-28 04:02:55.000000000 +0100
+++ new/tlpkg/tlpobj/pstricks-add.tlpobj 2020-02-13 01:54:46.000000000 +0100
@@ -1,6 +1,6 @@
name pstricks-add
category Package
-revision 49680
+revision 53763
shortdesc A collection of add-ons and bugfixes for PSTricks
relocated 1
longdesc Collects together examples that have been posted to the
@@ -17,7 +17,6 @@
RELOC/tex/generic/pstricks-add/pstricks-add.tex
RELOC/tex/latex/pstricks-add/pstricks-add.sty
catalogue-ctan /graphics/pstricks/contrib/pstricks-add
-catalogue-date 2019-01-12 19:39:00 +0100
catalogue-license lppl
catalogue-topics graphics-in-tex pstricks
-catalogue-version 3.87
+catalogue-version 3.89a
++++++ pstricks.doc.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-t/pstricks.doc.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-t.new.3606/pstricks.doc.tar.xz differ: char 1350241, line 5251
++++++ pstricks.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pstricks/pstricks-tex.def new/tex/generic/pstricks/pstricks-tex.def
--- old/tex/generic/pstricks/pstricks-tex.def 2019-01-22 23:18:58.000000000 +0100
+++ new/tex/generic/pstricks/pstricks-tex.def 2019-05-12 22:17:14.000000000 +0200
@@ -1,4 +1,4 @@
-%% $Id: pstricks-tex.def 909 2019-01-14 16:06:51Z herbert $
+%% $Id: pstricks-tex.def 1044 2019-04-11 09:32:09Z herbert $
%% pstricks-tex.def
%% Copyright 2017- Herbert Voss
%
@@ -44,6 +44,7 @@
\fi
%
\newif\ifpst@psfonts \pst@psfontsfalse % defined in pstricks.sty
+ \newif\ifpst@useCalc \pst@useCalcfalse % defined in pstricks.sty
%
\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname #1\endcsname\relax#2\else#3\fi}
\def\@namedef#1{\expandafter\def\csname #1\endcsname}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pstricks/pstricks.tex new/tex/generic/pstricks/pstricks.tex
--- old/tex/generic/pstricks/pstricks.tex 2019-02-23 23:17:17.000000000 +0100
+++ new/tex/generic/pstricks/pstricks.tex 2019-05-12 22:17:14.000000000 +0200
@@ -1,4 +1,3 @@
-%% $Id: pstricks.tex 934 2019-02-23 14:07:34Z herbert $
%% pstricks.tex
%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt
%% COPYRIGHT 2000-2003 by Denis Girou.
@@ -81,8 +80,8 @@
\fi
\let\pgfforeach\foreach
%
-\def\fileversion{2.96}
-\def\filedate{2019/02/23}
+\def\fileversion{2.97}
+\def\filedate{2019/05/11}
\pst@addfams{pstricks}
%
%\define@boolkey[psset]{pstricks}[Pst@]{useURWfonts}[true]{}
@@ -718,13 +717,25 @@
}
\def\pssetxlength#1#2{%
\let\@psunit\psxunit
- \afterassignment\pstunit@off
- #1 #2\@psunit%
+ \ifpst@useCalc
+ \edef\@@temp{\pscalculate{#2}}%
+ \afterassignment\pstunit@off
+ #1 \@@temp\@psunit
+ \else
+ \afterassignment\pstunit@off
+ #1 #2\@psunit
+ \fi
}
\def\pssetylength#1#2{%
\let\@psunit\psyunit
- \afterassignment\pstunit@off
- #1 #2\@psunit%
+ \ifpst@useCalc
+ \edef\@@temp{\pscalculate{#2}}%
+ \afterassignment\pstunit@off
+ #1 \@@temp\@psunit
+ \else
+ \afterassignment\pstunit@off
+ #1 #2\@psunit
+ \fi
}
\define@key[psset]{pstricks}{unit}[1cm]{%
\pssetlength\psunit{#1}%
@@ -754,7 +765,7 @@
\def\pst@getcoors#1#2{%
\def\pst@aftercoors{\addto@pscode{#1 \pst@coors }#2}%
\def\pst@coors{}%
- \pst@@getcoors%
+ \pst@@getcoors
}
\def\pst@@getcoors(#1){%
\pst@@getcoor{#1}%
@@ -804,13 +815,13 @@
\def\SpecialCoor{%
\def\pst@@getcoor##1{%
\begingroup%
- \pst@activecoor%
+ \pst@activecoor
\xdef\pst@tempg{##1}%
- \endgroup%
+ \endgroup
\expandafter\special@coor\pst@tempg||\@nil}%
\def\pstCheckCoorType##1{%
- \begingroup%
- \pst@activecoor%
+ \begingroup
+ \pst@activecoor
\xdef\pst@tempg{##1}%
\endgroup
\psDEBUG[pstCheckCoorType]{:Checking coor \pst@tempg:}%
@@ -1055,7 +1066,7 @@
\def\Cartesian@(#1,#2){%
\pssetxlength\psxunit{#1}%
\pssetylength\psyunit{#2}%
- \ignorespaces%
+ \ignorespaces
}
\def\Polar{%
\def\psput@cartesian{\psput@special}%
@@ -1714,12 +1725,12 @@
% ------------------------- hv 1.10 end ------------------------
%
\def\begin@ClosedObj{%
- \leavevmode%
- \pst@killglue%
- \begingroup%
- \use@par%
- \solid@star%
- \ifpsdoubleline\pst@setdoublesep\fi%
+ \leavevmode
+ \pst@killglue
+ \begingroup
+ \use@par
+ \solid@star
+ \ifpsdoubleline\pst@setdoublesep\fi
\pst@addarrowdef% DG addition
\init@pscode}
%
@@ -1985,6 +1996,7 @@
\pst@stroke
\end@SpecialObj
\let\pst@ifcustom\iffalse
+ \ignorespaces
}
%
\let\pst@ifcustom\iffalse
@@ -2487,7 +2499,7 @@
\def\psline@i{%
\pst@getarrows{%
\begin@OpenObj
- \pst@getcoors[\psline@ii%
+ \pst@getcoors[\psline@ii
}%
}
\def\psline@ii{%
@@ -2519,8 +2531,8 @@
\psLine@ii}}
\def\psLine@ii(#1){\@ifnextchar({\psLine@iii(#1)}{\psLine@iii(0,0)(#1)}}%
\def\psLine@iii(#1)(#2){%
- \pst@getcoor{#1}\pst@tempA%
- \pst@getcoor{#2}\pst@tempB%
+ \pst@getcoor{#1}\pst@tempA
+ \pst@getcoor{#2}\pst@tempB
\addto@pscode{
\ifPst@noCurrentPoint\else\pst@cp\fi % current point?
[ % start for coordinate array
@@ -2543,8 +2555,8 @@
\init@pscode
\let\pst@linetype\pst@arrowtype
\pst@addarrowdef
- \pst@getcoor{#1}\pst@tempA%
- \pst@getcoor{#2}\pst@tempB%
+ \pst@getcoor{#1}\pst@tempA
+ \pst@getcoor{#2}\pst@tempB
\addto@pscode{
\ifPst@noCurrentPoint\else\pst@cp\fi % current point?
[ % start for coordinate array
@@ -2996,12 +3008,12 @@
\psset[pstricks]{boxsep}
%
\def\pst@useboxpar{%
- \use@par%
- \if@star%
- \let\pslinecolor\psfillcolor%
- \solid@star%
+ \use@par
+ \if@star
+ \let\pslinecolor\psfillcolor
+ \solid@star
\let\solid@star\relax
- \fi%
+ \fi
\ifpsdoubleline \pst@setdoublesep \fi}
%
\def\psframebox{\def\pst@par{}\pst@object{psframebox}}
@@ -3461,6 +3473,67 @@
\end@OpenObj
\fi
}
+%
+\def\psarcOA{\pst@object{psarcOA}}% \psarcOA[..](O)(A){angle1}{angle2}
+\def\psarcOA@i{\@ifnextchar({\psarcOA@iii}{\psarcOA@ii}}
+\def\psarcOA@ii#1{\addto@par{arrows=#1}\@ifnextchar(\psarcOA@iii{\psarcOA@iii(0,0)}}
+\def\psarcOA@iii(#1)(#2)#3#4{%
+ \pst@getangle{#3}\pst@tempa
+ \pst@getangle{#4}\pst@tempb
+ \ifx\pst@tempa\pst@tempb
+ \else
+ \begin@OpenObj
+ \pst@getcoor{#1}\pst@tempA
+ \pst@getcoor{#2}\pst@tempB
+ \addto@pscode{
+ \pst@tempA 2 copy /y ED /x ED \pst@tempB Pyth2 /r ED
+ x y translate
+ /c 57.2957 r \tx@Div def
+ /angleA
+ \pst@tempa
+ \psk@arcsepA c mul 2 div
+ \ifcase\psarc@type add \or sub \fi def
+ /angleB
+ \pst@tempb
+ \psk@arcsepB c mul 2 div
+ \ifcase\psarc@type sub \or add \fi def
+ \ifshowpoints\psarc@showpoints\fi
+ \ifx\psk@arrowA\@empty
+ \ifnum\psk@liftpen=2
+ r angleA \tx@PtoC moveto
+ \fi
+ \fi
+ /angleAtoB angleB angleA gt { true }{ false } ifelse def
+ 0 0 r
+ angleA
+ \ifx\psk@arrowA\@empty\else
+ { ArrowA CP }
+ r 0 gt \pslbrace
+ { \ifcase\psarc@type add \or sub \fi } \psrbrace\pslbrace
+ { \ifcase\psarc@type sub \or add \fi } \psrbrace ifelse
+% { \ifcase\psarc@type add \or sub \fi }
+ \tx@ArcArrow
+% dup AngleA gt AngleAtoB exor { neg } fi
+ \fi
+ angleB
+ \ifx\psk@arrowB\@empty\else
+ { ArrowB }
+ r 0 gt \pslbrace
+ { \ifcase\psarc@type sub \or add \fi } \psrbrace\pslbrace
+ { \ifcase\psarc@type add \or sub \fi } \psrbrace ifelse
+% { \ifcase\psarc@type sub \or add \fi }
+ \tx@ArcArrow
+ dup angleA gt angleAtoB xor { pop angleA } if
+ \fi
+ \ifcase\psarc@type arc \or arcn \fi
+ \ifPst@variableLW \pst@flattenpath \fi
+ x neg y neg translate
+ }%
+ \gdef\psarc@type{0}%
+ \showpointsfalse
+ \end@OpenObj
+ \fi
+}
\def\psarc@iv{%
\pst@coor /y ED /x ED
/r \ifPst@SpecialLength \pst@SpecialLength \else \pst@number\pst@dima \fi def
@@ -3506,7 +3579,8 @@
\tx@ArcArrow
dup angleA gt angleAtoB xor { pop angleA } if
\fi
-\ifcase\psarc@type arc \or arcn \fi}
+ \ifcase\psarc@type arc \or arcn \fi
+}
% hv ----- 1.10 2005-05-05 ------------------------> end
%
\def\psarc@type{0}
@@ -3528,7 +3602,8 @@
\addbefore@par{psscale=1}% be sure, that it is defined
\pst@getarrows{%
\begin@OpenObj%
- \pst@getcoors{}\psarcAB@ii%
+ \pst@getcoors{}%
+ \psarcAB@ii
}%
}
\def\psarcAB@ii{%
@@ -3552,7 +3627,7 @@
y add exch x add exch moveto
\fi
\fi
- \psarc@v }%
+ \psarc@v}%
\gdef\psarc@type{0}%
\showpointsfalse%
\end@OpenObj%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pstricks/pstricks.sty new/tex/latex/pstricks/pstricks.sty
--- old/tex/latex/pstricks/pstricks.sty 2018-12-24 00:03:56.000000000 +0100
+++ new/tex/latex/pstricks/pstricks.sty 2019-05-12 22:17:14.000000000 +0200
@@ -1,4 +1,4 @@
-% $Id: pstricks.sty 872 2018-12-21 20:39:31Z herbert $
+% $Id: pstricks.sty 1044 2019-04-11 09:32:09Z herbert $
%%
%% This is file `pstricks.sty'.
%%
@@ -37,10 +37,12 @@
\def\pst@ColorPackage{xcolor}
\DeclareOption{noxcolor}{\def\pst@ColorPackage{color}}
%
+\newif\ifpst@useCalc \pst@useCalcfalse
\newif\ifpst@psfonts \pst@psfontsfalse
\newif\if@check@engine \@check@enginetrue
\newif\ifpst@xetex \pst@xetexfalse
+\DeclareOption{useCalc}{\pst@useCalctrue}
\DeclareOption{psfonts}{\pst@psfontstrue}
\DeclareOption{noEngineCheck}{\@check@enginefalse}
\DeclareOption{xetex}{\global\pst@xetextrue}
@@ -80,6 +82,9 @@
\RequirePackage{iftex}
\RequirePackage{shellesc}
+\ifpst@useCalc
+ \RequirePackage{pst-calculate}
+\fi
%\ifPDFTeX
% \ifpdfshellescape\else
% \@latex@error
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pstricks.tlpobj new/tlpkg/tlpobj/pstricks.tlpobj
--- old/tlpkg/tlpobj/pstricks.tlpobj 2019-02-28 04:02:51.000000000 +0100
+++ new/tlpkg/tlpobj/pstricks.tlpobj 2020-03-04 23:53:30.000000000 +0100
@@ -1,6 +1,6 @@
name pstricks
category Package
-revision 50101
+revision 54080
catalogue pstricks-base
shortdesc PostScript macros for TeX
relocated 1
@@ -54,10 +54,9 @@
catalogue-alias pstricks
catalogue-also pstricks-add
catalogue-contact-home http://tug.org/PSTricks
-catalogue-contact-repository http://comedy.dante.de/~herbert/TeXnik/
+catalogue-contact-repository https://archiv.dante.de/~herbert/TeXnik/
catalogue-contact-support http://tug.org/mailman/listinfo/pstricks
catalogue-ctan /graphics/pstricks/base
-catalogue-date 2019-02-23 16:30:24 +0100
catalogue-license lppl1.3
catalogue-topics graphics-in-tex colour pstricks dvips-special xetex
-catalogue-version 2.96
+catalogue-version 2.97
++++++ ptex-base.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/ptex/ptex-base/LICENSE new/doc/ptex/ptex-base/LICENSE
--- old/doc/ptex/ptex-base/LICENSE 2019-04-03 23:37:56.000000000 +0200
+++ new/doc/ptex/ptex-base/LICENSE 2020-03-07 22:38:51.000000000 +0100
@@ -1,5 +1,5 @@
Copyright (C) 2010 ASCII MEDIA WORKS.
-Copyright (C) 2016-2019 Japanese TeX Development Community
+Copyright (C) 2016-2020 Japanese TeX Development Community
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/ptex/ptex-base/README.md new/doc/ptex/ptex-base/README.md
--- old/doc/ptex/ptex-base/README.md 2019-04-03 23:37:56.000000000 +0200
+++ new/doc/ptex/ptex-base/README.md 2020-03-07 22:38:51.000000000 +0100
@@ -25,6 +25,6 @@
## Release Date
-2019-04-03
+2020-03-07
Japanese TeX Development Community
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ptex-base.doc.tlpobj new/tlpkg/tlpobj/ptex-base.doc.tlpobj
--- old/tlpkg/tlpobj/ptex-base.doc.tlpobj 2019-04-04 01:24:48.000000000 +0200
+++ new/tlpkg/tlpobj/ptex-base.doc.tlpobj 2020-03-08 01:33:46.000000000 +0100
@@ -1,6 +1,6 @@
name ptex-base.doc
category Package
-revision 50731
+revision 54153
shortdesc doc files of ptex-base
relocated 1
docfiles size=2
++++++ ptex-base.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/ptex/ptex-base/eptexdefs.lib new/tex/ptex/ptex-base/eptexdefs.lib
--- old/tex/ptex/ptex-base/eptexdefs.lib 2018-08-18 23:18:32.000000000 +0200
+++ new/tex/ptex/ptex-base/eptexdefs.lib 2020-03-07 22:38:51.000000000 +0100
@@ -1,4 +1,4 @@
-%% e-pTeXlib (2018/03/12)
+%% e-pTeXlib (2020/02/05)
%% derived from $TEXMF/tex/plain/etex/etexdefs.lib (V2.0;8 24-MAR-1998)
\module {grouptypes}
@@ -80,13 +80,16 @@
\etexifdef definedif = 18
\etexifdef csnameif = 19
\etexifdef fontcharif = 20
-\etexifdef tdirif = 21
-\etexifdef ydirif = 22
-\etexifdef ddirif = 23
-\etexifdef mdirif = 24
-\etexifdef tboxif = 25
-\etexifdef yboxif = 26
-\etexifdef dboxif = 27
-\etexifdef mboxif = 28
-\etexifdef pdfprimitiveif = 29
+\etexifdef incsnameif = 21
+\etexifdef pdfprimitiveif = 22
+\etexifdef tdirif = 23
+\etexifdef ydirif = 24
+\etexifdef ddirif = 25
+\etexifdef mdirif = 26
+\etexifdef tboxif = 27
+\etexifdef yboxif = 28
+\etexifdef dboxif = 29
+\etexifdef mboxif = 30
+\etexifdef jfontif = 31
+\etexifdef tfontif = 32
\endmodule
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ptex-base.tlpobj new/tlpkg/tlpobj/ptex-base.tlpobj
--- old/tlpkg/tlpobj/ptex-base.tlpobj 2019-04-04 01:24:48.000000000 +0200
+++ new/tlpkg/tlpobj/ptex-base.tlpobj 2020-03-08 01:33:46.000000000 +0100
@@ -1,6 +1,6 @@
name ptex-base
category Package
-revision 50731
+revision 54153
shortdesc Plain TeX format for pTeX and e-pTeX
relocated 1
longdesc The bundle contains the plain TeX format for pTeX and e-pTeX.
@@ -14,6 +14,5 @@
RELOC/tex/ptex/ptex-base/ptex.tex
catalogue-contact-repository https://github.com/texjporg/ptex-base
catalogue-ctan /language/japanese/ptex-base
-catalogue-date 2019-04-03 15:55:31 +0200
catalogue-license bsd3
catalogue-topics format japanese
++++++ ptex-fontmaps.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/fonts/ptex-fontmaps/README new/texmf-dist/doc/fonts/ptex-fontmaps/README
--- old/texmf-dist/doc/fonts/ptex-fontmaps/README 2019-03-18 22:15:14.000000000 +0100
+++ new/texmf-dist/doc/fonts/ptex-fontmaps/README 2020-02-17 23:17:48.000000000 +0100
@@ -1,7 +1,7 @@
ptex-fontmaps
=============
-Current release: 20190318.0
+Current release: 20200217.0
The files contained in this package contains font maps for dvipdfmx to
make various Japanese/Chinese/Korean fonts available for (u)ptex and
@@ -24,18 +24,21 @@
we don't provide macOS-specific map files in TeX Live. This also agrees
with the requirements that TeX Live includes only support for free
software. This package is split into two parts:
-* ptex-fontmaps : which contains most of the files and scripts,
+
+ * ptex-fontmaps : which contains most of the files and scripts,
as well as support files
-* ptex-fontmaps-macos : only the support (map) files for
+ * ptex-fontmaps-macos : only the support (map) files for
macOS-specific fonts
The package `ptex-fontmaps' (this package) is available in TeX Live,
while the package `ptex-fontmaps-macos` is *NOT* available directly from the
TeX Live package mirrors, but can be installed from the TLContrib
repository, by executing the following commands:
- tlmgr repository add http://texlive.texjp.org/current/tlcontrib tlcontrib
- tlmgr pinning add tlcontrib '*'
- tlmgr install ptex-fontmaps-macos
+
+ tlmgr repository add http://texlive.texjp.org/current/tlcontrib tlcontrib
+ tlmgr pinning add tlcontrib '*'
+ tlmgr install ptex-fontmaps-macos
+
After that updates for the ptex-fontmaps packages will be automatically
installed.
@@ -48,7 +51,7 @@
For following list of maps, the respective fonts are shipped in TeX Live
and are available for free:
-* Japanese: ipa, ipaex
+* Japanese: haranoaji, ipa, ipaex
* Simplified Chinese: arphic, fandol
* Traditional Chinese: arphic
* Korean: baekmuk, unfonts
@@ -63,7 +66,7 @@
All other fonts are non-free.
If in the following tables some fonts are marked with
- '(<= "...")
+ '(<= "...")
it means that the fonts are originally named as in given within
the parenthesis, but need to be renamed to the name given first.
@@ -89,6 +92,12 @@
MS-Mincho.ttf (<= "MS Mincho.ttf")
MS-Gothic.ttf (<= "MS Gothic.ttf")
+4 bizud - BIZ UD fonts by Morisawa Inc., bundled with Win 10
+ October 2018 Update.
+ BIZ-UDMinchoM.ttc
+ BIZ-UDGothicR.ttc
+ BIZ-UDGothicB.ttc
+
4 yu-win - Yu Mincho and Yu Gothic fonts by Jiyu-koubou LTD.,
bundled with Win 8.1.
yumin.ttf
@@ -145,9 +154,9 @@
FGCCARGM.TTC
O? hiragino - Hiragino fonts by Dainippon Screen Mfg. Co., Ltd.
- bundled with Mac OS X 10.5--10.10,
- or Japanese word processor Ichitaro 2012 Premium/Super-premium editions
- HiraMinPro-W2.otf (<= "ヒラギノ明朝 Pro W2.otf")
+ bundled with Mac OS X 10.5--10.10,
+ or Japanese word processor Ichitaro 2012 Premium/Super-premium editions
+ HiraMinPro-W2.otf (<= "ヒラギノ明朝 Pro W2.otf") <= not bundled
HiraMinPro-W3.otf (<= "ヒラギノ明朝 Pro W3.otf")
HiraMinPro-W6.otf (<= "ヒラギノ明朝 Pro W6.otf")
HiraKakuPro-W3.otf (<= "ヒラギノ角ゴ Pro W3.otf")
@@ -162,7 +171,7 @@
O hiragino-elcapitan-pron
O hiragino-elcapitan
- bundled with Mac OS X 10.11 El Capitan -- 10.12 Sierra
+ bundled with Mac OS X 10.11 El Capitan -- 10.12 Sierra
HiraginoSansR-W4.ttc (<= "ヒラギノ丸ゴ ProN W4.ttc")
HiraginoSans-W3.ttc (<= "ヒラギノ角ゴシック W3.ttc")
HiraginoSans-W6.ttc (<= "ヒラギノ角ゴシック W6.ttc")
@@ -172,7 +181,7 @@
O hiragino-highsierra-pron
O hiragino-highsierra
- bundled with Mac OS X 10.13 High Sierra
+ bundled with Mac OS X 10.13 High Sierra
HiraginoSansR-W4.ttc (<= "ヒラギノ丸ゴ ProN W4.ttc")
HiraginoSans-W3.ttc (<= "ヒラギノ角ゴシック W3.ttc")
HiraginoSans-W6.ttc (<= "ヒラギノ角ゴシック W6.ttc")
@@ -180,14 +189,14 @@
HiraginoSerif.ttc (<= "ヒラギノ明朝 ProN.ttc")
O toppanbunkyu-sierra
- bundled with macOS 10.12 Sierra
+ bundled with macOS 10.12 Sierra
ToppanBunkyuMincho-Regular.otf
ToppanBunkyuMidashiMincho-ExtraBold.otf
ToppanBunkyuGothic.ttc
ToppanBunkyuMidashiGothic-ExtraBold.otf
O toppanbunkyu-highsierra
- bundled with macOS 10.13 Sierra
+ bundled with macOS 10.13 High Sierra
ToppanBunkyuMinchoPr6N-Regular.otf
ToppanBunkyuMidashiMinchoStdN-ExtraBold.otf
ToppanBunkyuGothicPr6N.ttc
@@ -224,6 +233,15 @@
A-OTF-MidashiGoPr6N-MB31.otf
A-OTF-RyuminPr6N-Light.otf
+P haranoaji - Harano Aji Fonts from https://github.com/trueroad/HaranoAjiFonts
+ HaranoAjiMincho-Light.otf
+ HaranoAjiMincho-Regular.otf
+ HaranoAjiMincho-Bold.otf
+ HaranoAjiGothic-Regular.otf
+ HaranoAjiGothic-Medium.otf
+ HaranoAjiGothic-Bold.otf
+ HaranoAjiGothic-Heavy.otf
+
Simplified Chinese
==================
@@ -335,7 +353,7 @@
kanji-config-updmap.pl are licensed under the following terms:
Copyright 2004-2006 by KOBAYASHI Taizo
Copyright 2011-2016 by PREINING Norbert
- Copyright 2016- by Japanese TeX Development Community
+ Copyright 2016-2020 by Japanese TeX Development Community
Licensed under the GPL version 3 or any later version,
see the file for details.
Binary files old/texmf-dist/doc/fonts/ptex-fontmaps/kanji-config-updmap.pdf and new/texmf-dist/doc/fonts/ptex-fontmaps/kanji-config-updmap.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/fonts/ptex-fontmaps/kanji-config-updmap.tex new/texmf-dist/doc/fonts/ptex-fontmaps/kanji-config-updmap.tex
--- old/texmf-dist/doc/fonts/ptex-fontmaps/kanji-config-updmap.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/doc/fonts/ptex-fontmaps/kanji-config-updmap.tex 2020-02-17 23:17:48.000000000 +0100
@@ -0,0 +1,407 @@
+\documentclass{jlreq}
+\usepackage{array}
+\usepackage{multicol}
+\usepackage{ascmac}
+\usepackage{url}
+
+\makeatletter
+%%%%%
+%
+% ptex-fontmaps-data.dat などを読み込んでリストを出力するマクロ
+% -- \unless, \readline を使っているので e-TeX 必須
+%
+% prepare
+\newread\xx@myread
+%
+% main routine
+\def\loaddata#1{%
+ \def\xx@日本語list{}\def\xx@簡体中国語list{}%
+ \def\xx@繁体中国語list{}\def\xx@韓国語list{}%
+ % read database
+ \openin\xx@myread=#1\relax
+ \@whilesw\unless\ifeof\xx@myread\fi{%
+ \readline\xx@myread to \xx@dataline
+ % first: strip trailing LF
+ \expandafter\xx@striplf\xx@dataline\@nil
+ \ifx\xx@dataline\@empty\else
+ % second: strip comments starting from '#'
+ \expandafter\expandafter\expandafter\xx@stripcomment
+ \expandafter\xx@dataline\xx@number\@nil
+ \ifx\xx@dataline\@empty\else
+ % now, only effective database lines
+ \expandafter\xx@parseline\xx@dataline\@nil
+ \fi
+ \fi
+ }%
+ \closein\xx@myread
+ % output result
+ \@for\xx@lang:={日本語,簡体中国語,繁体中国語,韓国語}\do{%
+ \expandafter\let\expandafter\xx@langlist\csname xx@\xx@lang list\endcsname
+ \ifx\xx@langlist\@empty\else
+ \begin{itembox}[l]{\xx@lang}
+ \begin{multicols}{2}
+ \begin{itemize}
+ \@for\xx@item:=\xx@langlist\do{\item \command{\xx@item}}%
+ \end{itemize}
+ \end{multicols}
+ \end{itembox}
+ \fi}
+}%
+%
+% sub
+\begingroup
+ \catcode`\^^M=12 \gdef\xx@lf{^^M}%
+ \catcode`\#=12 \gdef\xx@number{#}%
+\endgroup
+\expandafter\def\expandafter\xx@striplf
+ \expandafter#\expandafter1\xx@lf\@nil{\def\xx@dataline{#1}}
+\expandafter\def\expandafter\xx@stripcomment
+ \expandafter#\expandafter1\xx@number#2\@nil{\def\xx@dataline{#1}}
+\def\xx@parseline#1: #2: #3\@nil{\xx@parselang#1\@nil{#2}}
+%
+% subsub
+\begingroup
+ \escapechar-1
+ \xdef\xx@JA{\string\JA}\xdef\xx@SC{\string\SC}
+ \xdef\xx@TC{\string\TC}\xdef\xx@KO{\string\KO}
+ \xdef\xx@AI{-\string\AI0}
+\endgroup
+\def\xx@parselang#1#2#3\@nil#4{%
+ \def\xx@tempa{#1#2}\def\xx@tempb{#3}%
+ \edef\xx@tempc{#4 \ifx\xx@tempb\xx@AI<AI0>\else#3\fi}%
+ \ifx\xx@tempa\xx@JA \xx@addtolist\xx@日本語list\xx@tempc \else
+ \ifx\xx@tempa\xx@SC \xx@addtolist\xx@簡体中国語list\xx@tempc \else
+ \ifx\xx@tempa\xx@TC \xx@addtolist\xx@繁体中国語list\xx@tempc \else
+ \ifx\xx@tempa\xx@KO \xx@addtolist\xx@韓国語list\xx@tempc \else
+ \@latex@error{Unknown language `\xx@tempa' in database}\@ehc
+ \fi\fi\fi\fi}
+\def\xx@addtolist#1#2{%
+ % #1: name of the list, #2: item
+ \ifx#1\@empty
+ \edef#1{#2}%
+ \else
+ \edef#1{#1,#2}%
+ \fi}
+%
+%%%%%
+%
+% ptex-fontmaps の README を読み込んでそのまま出力する
+% -- \unless, \readline を使っているので e-TeX 必須
+%
+% main routine
+\def\loadprint#1{%
+ \openin\xx@myread=#1\relax
+ \@whilesw\unless\ifeof\xx@myread\fi{%
+ \readline\xx@myread to \xx@dataline
+ % first: strip trailing LF
+ \expandafter\xx@striplf\xx@dataline\@nil
+ % empty line and indent should be kept
+ \leavevmode\null\xx@dataline\par
+ }%
+ \closein\xx@myread
+}
+%%%%%
+\makeatother
+
+%% misc
+\def\file#1{\texttt{#1}}
+\def\command#1{\texttt{#1}}
+\def\option#1{\texttt{-{}-#1}}
+\def\codechar#1{\ensuremath{\langle\mbox{\texttt{#1}}\rangle}}
+\def\TL{\TeX\ Live}
+\def\pTeX{p\kern-.15em\TeX}
+\def\upTeX{u\pTeX}
+
+\title{\command{kanji-config-updmap} --- 日本語フォント設定ツール}
+\author{日本語\TeX 開発コミュニティ}
+
+\begin{document}
+\maketitle
+
+\TL に収録されている\file{ptex-fontmaps}パッケージには,
+\command{kanji-config-updmap}というコマンドが付属しています。
+このコマンドは,\pTeX や\upTeX で生成したDVIを扱う下記のドライバが埋め込む
+日本語・中国語・韓国語フォントの設定を統一的に指定したり,
+確認したりできます。
+\begin{itemize}
+ \item dvipdfmx(PDFへの埋め込みフォント)
+ \item dvips(PostScriptで指定するフォント名)
+ %\item pxdvi(画面表示に使うフォント)\footnote{この機能はオプションです。}
+\end{itemize}
+
+\section{はじめに:システム用(\command{-sys})とユーザ用(\command{-user})}
+
+\command{kanji-config-updmap}には2種類のコマンド名があります。
+\begin{itemize}
+ \item \command{kanji-config-updmap-sys}: 全ユーザ向けのシステム共通設定
+ \item \command{kanji-config-updmap-user}: 現在のユーザ用の設定
+\end{itemize}
+これは他の「\command{-sys}」と「\command{-user}」の区別のあるコマンドにも
+言えることですが,特に理由のない限り,\emph{常に}「\command{-sys}」付きの
+コマンド\command{kanji-config-updmap-sys}を使用することをお勧めします。
+これは以下の理由によります。
+\begin{itemize}
+ \item 現在のユーザ用の設定は,システム共通設定より優先する。
+ \item \TL のアップデート時は,システム共通設定は更新されるが,
+ 現在のユーザ用の設定は更新されない。
+ \item 結果的に,\emph{たった一度でも}「\command{-user}」付きのコマンドを
+ 実行した環境では,\TL のアップデート時に設定更新が反映されない
+ という事故が起こる。
+\end{itemize}
+より詳細には,\url{http://tug.org/texlive/scripts-sys-user.html}を参照してください。
+
+なお,「管理者権限がなくて \command{-sys} 付きのコマンドを実行できない」などの
+理由がある場合は,\command{kanji-config-updmap-user}を使用してください。
+この場合は,\command{tlmgr}で\TL をアップデートすることもない(できない)
+でしょうから,上に述べたような不都合は起きないでしょう。
+
+以下では \command{-sys} の方で説明します。
+また,Windowsでは\command{sudo}(Unixで管理者権限に昇格するコマンド)を
+つける必要はありませんので省いて読んでください。
+
+
+\clearpage
+
+
+\section{現在の埋め込み設定を確認する}
+
+現在の日本語フォントの埋め込み設定を確認するには
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys --ja status
+\end{verbatim}
+を実行します(オプション \option{ja} は省略可能です)。
+
+同様に,現在の簡体中国語・繁体中国語・韓国語フォントの埋め込み設定はそれぞれ
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys --sc status
+ $ sudo kanji-config-updmap-sys --tc status
+ $ sudo kanji-config-updmap-sys --ko status
+\end{verbatim}
+で確認できます(オプション \option{sc}, \option{tc}, \option{ko} は省略不可)。
+
+実行例を下に示します。
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys --ja status
+ CURRENT family for ja: ipaex (variant: <empty>)
+ Standby family : haranoaji
+ Standby family : ipa
+ Standby family : ms
+ Standby family : yu-win10
+\end{verbatim}
+この場合,現在設定されているプリセットは\command{ipaex}であり,
+他に4種類のプリセットが利用可能であることを示します。
+\command{CURRENT family}の末尾の表示されている
+\command{variant}は \command{<empty>} か \command{-04} のいずれかで,
+\textbf{JIS90字形とJIS2004字形の両方がサポートされるプリセットでJIS2004字形が
+選択されている場合}のみ \command{-04} となります
+(第\ref{jis2004}節を参照)。
+% kanji-config-updmap 20200217.0 で status に variant も表示するようにした
+
+なお,\TL を公式インストーラでフルインストールした場合は,デフォルトで
+表\ref{tldefault}の設定が適用された状態になっています。
+それぞれの値が実際にどのフォントに対応しているかは,\file{ptex-fontmaps}の
+\file{README}を参照してください。
+例えば,日本語フォントのデフォルト値\command{ipaex}は
+IPAex明朝・IPAexゴシックに対応しています。
+\begin{table}[h]
+ \centering
+ \caption{\TL の埋め込みフォントのデフォルト値}\label{tldefault}
+ \begin{tabular}{m{12zw}m{8zw}}
+ \hline
+ 変数名(言語) & デフォルト値 \\ \hline
+ \command{jaEmbed}(日本語) & \command{ipaex} \\
+ \command{scEmbed}(簡体中国語) & \command{arphic} \\
+ \command{tcEmbed}(繁体中国語) & \command{arphic} \\
+ \command{koEmbed}(韓国語) & \command{baekmuk} \\ \hline
+\end{tabular}
+\end{table}
+
+
+\clearpage
+
+
+\section{日本語フォントの埋め込み設定を変更する}
+
+日本語フォントの埋め込み設定を変更するには
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys --ja <family>
+\end{verbatim}
+を実行します(ここでもオプション \option{ja} は省略可能です)。
+
+同様に,現在の簡体中国語・繁体中国語・韓国語フォントの埋め込み設定はそれぞれ
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys --sc <family>
+ $ sudo kanji-config-updmap-sys --tc <family>
+ $ sudo kanji-config-updmap-sys --ko <family>
+\end{verbatim}
+で変更できます(オプション \option{sc}, \option{tc}, \option{ko} は省略不可)。
+
+なお,オプションの書式は \option{ja <family>} と \option{ja=<family>} のように,
+イコール(\command{=})を付けても付けなくても同じ意味になります。
+
+\subsection{利用可能なプリセット一覧}
+
+利用可能な \command{<family>} は以下のとおりです。
+実際に対応するフォントは,先ほどと同様に
+\file{ptex-fontmaps}の\file{README}を参照してください。
+このリストで,各値の末尾に付いている \command{(番号)} は,次節で説明する
+\command{auto}による自動選択の優先順位を表します。
+番号の前の \command{*} については,第\ref{jis2004}節で後述します。
+また \command{<AI0>} と付いているものは,Adobe-Identity0の
+フォントであることを示し,いくつかの制約事項があります(第\ref{ai0}節)。
+\loaddata{database/ptex-fontmaps-data.dat}
+
+さらに,TLContribリポジトリから\file{ptex-fontmaps-macos}パッケージを
+インストールすると,以下も追加で利用できます。
+\loaddata{database/ptex-fontmaps-macos-data.dat}
+
+複数の言語のフォント埋め込み設定を同時に変更することもできます。例えば
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys --ja yu-win10 --sc fandol
+\end{verbatim}
+とすると,日本語フォントを\command{yu-win10}に,
+簡体中国語フォントを\command{fandol}に変更します。
+
+設定変更時には,その設定で使われるであろう代表的なフォントファイルが
+\emph{実在するかどうかを予めチェック}します(もし実在しなければ,
+第\ref{special-preset}節で後述する\command{auto}にフォールバックします)。
+オプション \option{force} を付けると,実在するかどうかにかかわらず
+強制的にそのプリセットを設定します(バージョン20190506.0の新機能)。
+
+\subsection{日本語フォントのJIS2004字形の使用}\label{jis2004}
+
+一部のプリセットでは,JIS90字形とJIS2004字形の両方をサポートしています。
+先ほどのリストで番号の前に \command{*} が\emph{付いていない}プリセットが該当し,
+現在すべてのOpenTypeフォントと一部のTrueTypeフォントが含まれます。
+これらのプリセットでは,\textbf{デフォルトではJIS90字形が使われます}が,
+オプション \option{jis2004} を指定するとJIS2004字形を使用する設定になります。例えば
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys haranoaji
+\end{verbatim}
+ではJIS90字形の「原ノ味フォント」が使われますが,
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys --jis2004 haranoaji
+\end{verbatim}
+ではJIS2004字形の「原ノ味フォント」が使われます。
+
+一方 \command{*} が\emph{付いている}プリセットでは,
+JIS90字形とJIS2004字形の\textbf{どちらが出力されるかはフォント次第}です。
+このようなプリセットでは,オプション \option{jis2004} が指定されても
+\begin{verbatim}
+ WARNING: No -04 map available, option --jis2004 ignored!
+\end{verbatim}
+と警告して無視します。
+% 以前はオプションを無視せず -04 のマップファイルを使おうとして,
+% 結果的に kanjix.map からマッピングが消えていたが,
+% kanji-config-updmap 20200217.0 で --jis2004 を無視する仕様にした
+例えば
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys ipaex
+\end{verbatim}
+で使われる「IPAexフォント」はJIS2004字形でデザインされています。
+
+\subsection{特殊なプリセット}\label{special-preset}
+
+\emph{フォントを埋め込まない}場合は引数を\command{nofont}とします。
+例えば
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys nofont
+\end{verbatim}
+とすれば,日本語フォントが埋め込まれません。
+
+また,引数に\command{auto}を指定すると,上記のリストの中から \command{(番号)} が
+なるべく小さな\emph{実在するフォント}を自動的に選択します。
+ただし,現在設定されている(\command{nofont}以外の)プリセットが
+実在していて利用可能な場合は,現在の設定を維持します。
+例えば
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys auto
+\end{verbatim}
+では日本語フォントが\command{morisawa-pr6n}→\command{morisawa}→…の順に
+探され,最初に見つかったフォントを埋め込むように自動で設定されることになります。
+\begin{verbatim}
+ $ sudo kanji-config-updmap-sys --ja auto --sc auto --tc auto --ko auto
+\end{verbatim}
+とすれば,4つの言語全てが同様に自動設定されます。
+
+\subsection{カスタムプリセットの利用}
+
+[TODO] 作業中。
+マップファイルを用意すれば\command{kanji-config-updmap}で設定可能。
+
+
+\clearpage
+
+
+\section{特記事項}
+
+まず,一般的な注意点を挙げておきます。
+\begin{itemize}
+ \item 特定の文字が出力されるかどうかは,実際に使われるフォントに依ります。
+ フォントに収録されていない文字は出力されませんし,
+ JIS90字形かJIS2004字形のどちらか一方しか用意されていないフォントもあります。
+ \item 複数のウェイトが利用可能かどうかは,プリセットに依ります。
+ 例えば,\command{ipaex}が利用するIPAexフォントは明朝とゴシック
+ 各1ウェイトのみ配布されており,細字の明朝や太字のゴシックは利用できません。
+\end{itemize}
+
+その他,いくつかのプリセットには注意点があります。
+
+\subsection{Adobe-Identity0 (AI0)なフォントの制約事項}\label{ai0}
+
+\command{sourcehan}や\command{noto}などを埋め込む設定の注意点です。
+
+[TODO] 作業中。
+
+\begin{itemize}
+ \item \upTeX~+~dvipdfmx専用です。他の経路(\pTeX~+~dvipdfmx,
+ \pTeX~+~dvips,\upTeX~+~dvips)はサポートできないため,
+ \emph{フォントを埋め込まない}設定にフォールバックします。
+ \item \upTeX~+~dvipdfmxの経路でも,Adobe-Japan1などの従来のマッピングに
+ 依存する文字出力機能もサポートされません。具体的には以下の機能が該当し,
+ これらの文字も\emph{フォントを埋め込まない}設定にフォールバックします。
+ \begin{itemize}
+ \item \file{otf}パッケージが提供する \verb+\CID+ や
+ \file{ajmacros}(\verb+\aj...+命令など)の大半の命令
+ \item \file{otf}パッケージ使用時のクオート記号,
+ つまり\codechar{“}\codechar{”}\codechar{‘}\codechar{’}の4文字
+ \end{itemize}
+\end{itemize}
+
+\subsection{その他}
+
+その他,既知の注意点です。
+\file{ptex-fontmaps}はあくまで\pTeX や\upTeX が提供する共通のJFM(\file{ptex-fonts},
+\file{uptex-fonts}に収録)から参照される実フォントを切り替えるだけであり,
+個別のフォントに対する対処は行っていません。
+
+\begin{itemize}
+ \item \command{yu}, \command{yu-win10}はWindowsに付属する
+ TrueType形式の游フォントを埋め込みますが,
+ クオート記号\codechar{“}\codechar{”}\codechar{‘}\codechar{’}が
+ 全角幅より狭くデザインされているため,出力が異常になります。\\
+ 参考: \url{https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2017}
+\end{itemize}
+
+
+%\section{内部処理}
+
+%\command{kanji-config-updmap-sys}は内部で\command{updmap-sys}を呼び出し,
+%\command{kanji-config-updmap-user}は内部で\command{updmap-user}を呼び出す。
+
+
+\clearpage
+\appendix
+
+
+\section{\file{ptex-fontmaps}の\file{README}}
+
+% \readline が和文文字をバイト列に変換しない e-pTeX 190908 以降が必要
+% https://github.com/texjporg/tex-jp-build/issues/88
+\ifnum\epTeXversion<190908\relax
+ \errhelp{Update e-pTeX.}\errmessage{e-pTeX 190908 required}
+\else
+ {\frenchspacing\ttfamily\footnotesize\loadprint{README}}
+\fi
+
+\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ptex-fontmaps.doc.tlpobj new/tlpkg/tlpobj/ptex-fontmaps.doc.tlpobj
--- old/tlpkg/tlpobj/ptex-fontmaps.doc.tlpobj 2019-03-19 02:26:34.000000000 +0100
+++ new/tlpkg/tlpobj/ptex-fontmaps.doc.tlpobj 2020-03-23 01:56:28.000000000 +0100
@@ -1,10 +1,12 @@
name ptex-fontmaps.doc
category Package
-revision 50446
+revision 54473
shortdesc doc files of ptex-fontmaps
-docfiles size=7
+docfiles size=55
texmf-dist/doc/fonts/ptex-fontmaps/README
texmf-dist/doc/fonts/ptex-fontmaps/examples/otf-sample-04.tex
texmf-dist/doc/fonts/ptex-fontmaps/examples/otf-sample.tex
texmf-dist/doc/fonts/ptex-fontmaps/examples/ptex-sample.tex
texmf-dist/doc/fonts/ptex-fontmaps/examples/series-compare.tex
+ texmf-dist/doc/fonts/ptex-fontmaps/kanji-config-updmap.pdf
+ texmf-dist/doc/fonts/ptex-fontmaps/kanji-config-updmap.tex
++++++ ptex-fontmaps.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-bizud.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-bizud.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-bizud.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-bizud.map 2019-05-06 23:05:15.000000000 +0200
@@ -0,0 +1,80 @@
+
+% TEXT, 90JIS
+hminl-h H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminl-v V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminr-h H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminr-v V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminb-h H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminb-v V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hgothr-h H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+hgothr-v V :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+hgothb-h H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hgothb-v V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hgotheb-h H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hgotheb-v V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hmgothr-h H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hmgothr-v V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+
+% TEXT, JIS04
+hminln-h H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminln-v V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminrn-h H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminrn-v V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminbn-h H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hminbn-v V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+hgothrn-h H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+hgothrn-v V :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+hgothbn-h H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hgothbn-v V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hgothebn-h H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hgothebn-v V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hmgothrn-h H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+hmgothrn-v V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+
+% CID
+otf-cjml-h Identity-H :0:BIZ-UDMinchoM.ttc/AJ16 %!PS BIZ-UDMincho-Medium
+otf-cjml-v Identity-V :0:BIZ-UDMinchoM.ttc/AJ16 %!PS BIZ-UDMincho-Medium
+otf-cjmr-h Identity-H :0:BIZ-UDMinchoM.ttc/AJ16 %!PS BIZ-UDMincho-Medium
+otf-cjmr-v Identity-V :0:BIZ-UDMinchoM.ttc/AJ16 %!PS BIZ-UDMincho-Medium
+otf-cjmb-h Identity-H :0:BIZ-UDMinchoM.ttc/AJ16 %!PS BIZ-UDMincho-Medium
+otf-cjmb-v Identity-V :0:BIZ-UDMinchoM.ttc/AJ16 %!PS BIZ-UDMincho-Medium
+otf-cjgr-h Identity-H :0:BIZ-UDGothicR.ttc/AJ16 %!PS BIZ-UDGothic
+otf-cjgr-v Identity-V :0:BIZ-UDGothicR.ttc/AJ16 %!PS BIZ-UDGothic
+otf-cjgb-h Identity-H :0:BIZ-UDGothicB.ttc/AJ16 %!PS BIZ-UDGothic-Bold
+otf-cjgb-v Identity-V :0:BIZ-UDGothicB.ttc/AJ16 %!PS BIZ-UDGothic-Bold
+otf-cjge-h Identity-H :0:BIZ-UDGothicB.ttc/AJ16 %!PS BIZ-UDGothic-Bold
+otf-cjge-v Identity-V :0:BIZ-UDGothicB.ttc/AJ16 %!PS BIZ-UDGothic-Bold
+otf-cjmgr-h Identity-H :0:BIZ-UDGothicB.ttc/AJ16 %!PS BIZ-UDGothic-Bold
+otf-cjmgr-v Identity-V :0:BIZ-UDGothicB.ttc/AJ16 %!PS BIZ-UDGothic-Bold
+
+% Unicode 90JIS
+otf-ujml-h UniJIS-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujml-v UniJIS-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujmr-h UniJIS-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujmr-v UniJIS-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujmb-h UniJIS-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujmb-v UniJIS-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujgr-h UniJIS-UTF16-H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+otf-ujgr-v UniJIS-UTF16-V :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+otf-ujgb-h UniJIS-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujgb-v UniJIS-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujge-h UniJIS-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujge-v UniJIS-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujmgr-h UniJIS-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujmgr-v UniJIS-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+
+% Unicode JIS04
+otf-ujmln-h UniJIS2004-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujmln-v UniJIS2004-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujmrn-h UniJIS2004-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujmrn-v UniJIS2004-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujmbn-h UniJIS2004-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujmbn-v UniJIS2004-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+otf-ujgrn-h UniJIS2004-UTF16-H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+otf-ujgrn-v UniJIS2004-UTF16-V :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+otf-ujgbn-h UniJIS2004-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujgbn-v UniJIS2004-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujgen-h UniJIS2004-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujgen-v UniJIS2004-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujmgrn-h UniJIS2004-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+otf-ujmgrn-v UniJIS2004-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-up-bizud.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-up-bizud.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-up-bizud.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-up-bizud.map 2019-05-06 23:05:15.000000000 +0200
@@ -0,0 +1,32 @@
+
+% TEXT, 90JIS
+uphminl-h UniJIS-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminl-v UniJIS-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminr-h UniJIS-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminr-v UniJIS-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminb-h UniJIS-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminb-v UniJIS-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphgothr-h UniJIS-UTF16-H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+uphgothr-v UniJIS-UTF16-V :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+uphgothb-h UniJIS-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphgothb-v UniJIS-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphgotheb-h UniJIS-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphgotheb-v UniJIS-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphmgothr-h UniJIS-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphmgothr-v UniJIS-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+
+% TEXT, JIS04
+uphminln-h UniJIS2004-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminln-v UniJIS2004-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminrn-h UniJIS2004-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminrn-v UniJIS2004-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminbn-h UniJIS2004-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphminbn-v UniJIS2004-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uphgothrn-h UniJIS2004-UTF16-H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+uphgothrn-v UniJIS2004-UTF16-V :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+uphgothbn-h UniJIS2004-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphgothbn-v UniJIS2004-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphgothebn-h UniJIS2004-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphgothebn-v UniJIS2004-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphmgothrn-h UniJIS2004-UTF16-H :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
+uphmgothrn-v UniJIS2004-UTF16-V :0:BIZ-UDGothicB.ttc %!PS BIZ-UDGothic-Bold
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/ptex-bizud.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/ptex-bizud.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/ptex-bizud.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/ptex-bizud.map 2019-05-06 23:05:15.000000000 +0200
@@ -0,0 +1,4 @@
+rml H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+rmlv V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+gbm H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+gbmv V :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/uptex-bizud.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/uptex-bizud.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/uptex-bizud.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/uptex-bizud.map 2019-05-06 23:05:15.000000000 +0200
@@ -0,0 +1,10 @@
+urml UniJIS-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+urmlv UniJIS-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+ugbm UniJIS-UTF16-H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+ugbmv UniJIS-UTF16-V :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+uprml-h UniJIS-UTF16-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+uprml-v UniJIS-UTF16-V :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+upgbm-h UniJIS-UTF16-H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+upgbm-v UniJIS-UTF16-V :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
+uprml-hq UniJIS-UCS2-H :0:BIZ-UDMinchoM.ttc %!PS BIZ-UDMincho-Medium
+upgbm-hq UniJIS-UCS2-H :0:BIZ-UDGothicR.ttc %!PS BIZ-UDGothic
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-haranoaji.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-haranoaji.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-haranoaji.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-haranoaji.map 2020-02-17 23:17:48.000000000 +0100
@@ -0,0 +1,80 @@
+
+% TEXT, 90JIS
+hminl-h H HaranoAjiMincho-Light.otf
+hminl-v V HaranoAjiMincho-Light.otf
+hminr-h H HaranoAjiMincho-Regular.otf
+hminr-v V HaranoAjiMincho-Regular.otf
+hminb-h H HaranoAjiMincho-Bold.otf
+hminb-v V HaranoAjiMincho-Bold.otf
+hgothr-h H HaranoAjiGothic-Regular.otf
+hgothr-v V HaranoAjiGothic-Regular.otf
+hgothb-h H HaranoAjiGothic-Bold.otf
+hgothb-v V HaranoAjiGothic-Bold.otf
+hgotheb-h H HaranoAjiGothic-Heavy.otf
+hgotheb-v V HaranoAjiGothic-Heavy.otf
+hmgothr-h H HaranoAjiGothic-Medium.otf
+hmgothr-v V HaranoAjiGothic-Medium.otf
+
+% TEXT, JIS04
+hminln-h H HaranoAjiMincho-Light.otf
+hminln-v V HaranoAjiMincho-Light.otf
+hminrn-h H HaranoAjiMincho-Regular.otf
+hminrn-v V HaranoAjiMincho-Regular.otf
+hminbn-h H HaranoAjiMincho-Bold.otf
+hminbn-v V HaranoAjiMincho-Bold.otf
+hgothrn-h H HaranoAjiGothic-Regular.otf
+hgothrn-v V HaranoAjiGothic-Regular.otf
+hgothbn-h H HaranoAjiGothic-Bold.otf
+hgothbn-v V HaranoAjiGothic-Bold.otf
+hgothebn-h H HaranoAjiGothic-Heavy.otf
+hgothebn-v V HaranoAjiGothic-Heavy.otf
+hmgothrn-h H HaranoAjiGothic-Medium.otf
+hmgothrn-v V HaranoAjiGothic-Medium.otf
+
+% CID
+otf-cjml-h Identity-H HaranoAjiMincho-Light.otf
+otf-cjml-v Identity-V HaranoAjiMincho-Light.otf
+otf-cjmr-h Identity-H HaranoAjiMincho-Regular.otf
+otf-cjmr-v Identity-V HaranoAjiMincho-Regular.otf
+otf-cjmb-h Identity-H HaranoAjiMincho-Bold.otf
+otf-cjmb-v Identity-V HaranoAjiMincho-Bold.otf
+otf-cjgr-h Identity-H HaranoAjiGothic-Regular.otf
+otf-cjgr-v Identity-V HaranoAjiGothic-Regular.otf
+otf-cjgb-h Identity-H HaranoAjiGothic-Bold.otf
+otf-cjgb-v Identity-V HaranoAjiGothic-Bold.otf
+otf-cjge-h Identity-H HaranoAjiGothic-Heavy.otf
+otf-cjge-v Identity-V HaranoAjiGothic-Heavy.otf
+otf-cjmgr-h Identity-H HaranoAjiGothic-Medium.otf
+otf-cjmgr-v Identity-V HaranoAjiGothic-Medium.otf
+
+% Unicode 90JIS
+otf-ujml-h UniJIS-UTF16-H HaranoAjiMincho-Light.otf
+otf-ujml-v UniJIS-UTF16-V HaranoAjiMincho-Light.otf
+otf-ujmr-h UniJIS-UTF16-H HaranoAjiMincho-Regular.otf
+otf-ujmr-v UniJIS-UTF16-V HaranoAjiMincho-Regular.otf
+otf-ujmb-h UniJIS-UTF16-H HaranoAjiMincho-Bold.otf
+otf-ujmb-v UniJIS-UTF16-V HaranoAjiMincho-Bold.otf
+otf-ujgr-h UniJIS-UTF16-H HaranoAjiGothic-Regular.otf
+otf-ujgr-v UniJIS-UTF16-V HaranoAjiGothic-Regular.otf
+otf-ujgb-h UniJIS-UTF16-H HaranoAjiGothic-Bold.otf
+otf-ujgb-v UniJIS-UTF16-V HaranoAjiGothic-Bold.otf
+otf-ujge-h UniJIS-UTF16-H HaranoAjiGothic-Heavy.otf
+otf-ujge-v UniJIS-UTF16-V HaranoAjiGothic-Heavy.otf
+otf-ujmgr-h UniJIS-UTF16-H HaranoAjiGothic-Medium.otf
+otf-ujmgr-v UniJIS-UTF16-V HaranoAjiGothic-Medium.otf
+
+% Unicode JIS04
+otf-ujmln-h UniJIS2004-UTF16-H HaranoAjiMincho-Light.otf
+otf-ujmln-v UniJIS2004-UTF16-V HaranoAjiMincho-Light.otf
+otf-ujmrn-h UniJIS2004-UTF16-H HaranoAjiMincho-Regular.otf
+otf-ujmrn-v UniJIS2004-UTF16-V HaranoAjiMincho-Regular.otf
+otf-ujmbn-h UniJIS2004-UTF16-H HaranoAjiMincho-Bold.otf
+otf-ujmbn-v UniJIS2004-UTF16-V HaranoAjiMincho-Bold.otf
+otf-ujgrn-h UniJIS2004-UTF16-H HaranoAjiGothic-Regular.otf
+otf-ujgrn-v UniJIS2004-UTF16-V HaranoAjiGothic-Regular.otf
+otf-ujgbn-h UniJIS2004-UTF16-H HaranoAjiGothic-Bold.otf
+otf-ujgbn-v UniJIS2004-UTF16-V HaranoAjiGothic-Bold.otf
+otf-ujgen-h UniJIS2004-UTF16-H HaranoAjiGothic-Heavy.otf
+otf-ujgen-v UniJIS2004-UTF16-V HaranoAjiGothic-Heavy.otf
+otf-ujmgrn-h UniJIS2004-UTF16-H HaranoAjiGothic-Medium.otf
+otf-ujmgrn-v UniJIS2004-UTF16-V HaranoAjiGothic-Medium.otf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-up-haranoaji.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-up-haranoaji.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-up-haranoaji.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-up-haranoaji.map 2020-02-17 23:17:48.000000000 +0100
@@ -0,0 +1,32 @@
+
+% TEXT, 90JIS
+uphminl-h UniJIS-UTF16-H HaranoAjiMincho-Light.otf
+uphminl-v UniJIS-UTF16-V HaranoAjiMincho-Light.otf
+uphminr-h UniJIS-UTF16-H HaranoAjiMincho-Regular.otf
+uphminr-v UniJIS-UTF16-V HaranoAjiMincho-Regular.otf
+uphminb-h UniJIS-UTF16-H HaranoAjiMincho-Bold.otf
+uphminb-v UniJIS-UTF16-V HaranoAjiMincho-Bold.otf
+uphgothr-h UniJIS-UTF16-H HaranoAjiGothic-Regular.otf
+uphgothr-v UniJIS-UTF16-V HaranoAjiGothic-Regular.otf
+uphgothb-h UniJIS-UTF16-H HaranoAjiGothic-Bold.otf
+uphgothb-v UniJIS-UTF16-V HaranoAjiGothic-Bold.otf
+uphgotheb-h UniJIS-UTF16-H HaranoAjiGothic-Heavy.otf
+uphgotheb-v UniJIS-UTF16-V HaranoAjiGothic-Heavy.otf
+uphmgothr-h UniJIS-UTF16-H HaranoAjiGothic-Medium.otf
+uphmgothr-v UniJIS-UTF16-V HaranoAjiGothic-Medium.otf
+
+% TEXT, JIS04
+uphminln-h UniJIS2004-UTF16-H HaranoAjiMincho-Light.otf
+uphminln-v UniJIS2004-UTF16-V HaranoAjiMincho-Light.otf
+uphminrn-h UniJIS2004-UTF16-H HaranoAjiMincho-Regular.otf
+uphminrn-v UniJIS2004-UTF16-V HaranoAjiMincho-Regular.otf
+uphminbn-h UniJIS2004-UTF16-H HaranoAjiMincho-Bold.otf
+uphminbn-v UniJIS2004-UTF16-V HaranoAjiMincho-Bold.otf
+uphgothrn-h UniJIS2004-UTF16-H HaranoAjiGothic-Regular.otf
+uphgothrn-v UniJIS2004-UTF16-V HaranoAjiGothic-Regular.otf
+uphgothbn-h UniJIS2004-UTF16-H HaranoAjiGothic-Bold.otf
+uphgothbn-v UniJIS2004-UTF16-V HaranoAjiGothic-Bold.otf
+uphgothebn-h UniJIS2004-UTF16-H HaranoAjiGothic-Heavy.otf
+uphgothebn-v UniJIS2004-UTF16-V HaranoAjiGothic-Heavy.otf
+uphmgothrn-h UniJIS2004-UTF16-H HaranoAjiGothic-Medium.otf
+uphmgothrn-v UniJIS2004-UTF16-V HaranoAjiGothic-Medium.otf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji-04.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji-04.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji-04.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji-04.map 2020-02-17 23:17:48.000000000 +0100
@@ -0,0 +1,4 @@
+rml 2004-H HaranoAjiMincho-Regular.otf
+rmlv 2004-V HaranoAjiMincho-Regular.otf
+gbm 2004-H HaranoAjiGothic-Medium.otf
+gbmv 2004-V HaranoAjiGothic-Medium.otf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji.map 2020-02-17 23:17:48.000000000 +0100
@@ -0,0 +1,4 @@
+rml H HaranoAjiMincho-Regular.otf
+rmlv V HaranoAjiMincho-Regular.otf
+gbm H HaranoAjiGothic-Medium.otf
+gbmv V HaranoAjiGothic-Medium.otf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji-04.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji-04.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji-04.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji-04.map 2020-02-17 23:17:48.000000000 +0100
@@ -0,0 +1,10 @@
+urml UniJIS2004-UTF16-H HaranoAjiMincho-Regular.otf
+urmlv UniJIS2004-UTF16-V HaranoAjiMincho-Regular.otf
+ugbm UniJIS2004-UTF16-H HaranoAjiGothic-Medium.otf
+ugbmv UniJIS2004-UTF16-V HaranoAjiGothic-Medium.otf
+uprml-h UniJIS2004-UTF16-H HaranoAjiMincho-Regular.otf
+uprml-v UniJIS2004-UTF16-V HaranoAjiMincho-Regular.otf
+upgbm-h UniJIS2004-UTF16-H HaranoAjiGothic-Medium.otf
+upgbm-v UniJIS2004-UTF16-V HaranoAjiGothic-Medium.otf
+uprml-hq UniJIS-UCS2-H HaranoAjiMincho-Regular.otf
+upgbm-hq UniJIS-UCS2-H HaranoAjiGothic-Medium.otf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji.map 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji.map 2020-02-17 23:17:48.000000000 +0100
@@ -0,0 +1,10 @@
+urml UniJIS-UTF16-H HaranoAjiMincho-Regular.otf
+urmlv UniJIS-UTF16-V HaranoAjiMincho-Regular.otf
+ugbm UniJIS-UTF16-H HaranoAjiGothic-Medium.otf
+ugbmv UniJIS-UTF16-V HaranoAjiGothic-Medium.otf
+uprml-h UniJIS-UTF16-H HaranoAjiMincho-Regular.otf
+uprml-v UniJIS-UTF16-V HaranoAjiMincho-Regular.otf
+upgbm-h UniJIS-UTF16-H HaranoAjiGothic-Medium.otf
+upgbm-v UniJIS-UTF16-V HaranoAjiGothic-Medium.otf
+uprml-hq UniJIS-UCS2-H HaranoAjiMincho-Regular.otf
+upgbm-hq UniJIS-UCS2-H HaranoAjiGothic-Medium.otf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win/otf-up-yu-win.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win/otf-up-yu-win.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win/otf-up-yu-win.map 2017-01-14 07:01:42.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win/otf-up-yu-win.map 2020-02-17 23:17:48.000000000 +0100
@@ -4,8 +4,8 @@
uphminl-v UniJIS-UTF16-V yuminl.ttf %!PS YuMincho-Light
uphminr-h UniJIS-UTF16-H yumin.ttf %!PS YuMincho-Regular
uphminr-v UniJIS-UTF16-V yumin.ttf %!PS YuMincho-Regular
-uphminb-h UniJIS-UTF16-H yumindb.ttf %!PS YuMincho-DemiBold
-uphminb-v UniJIS-UTF16-V yumindb.ttf %!PS YuMincho-DemiBold
+uphminb-h UniJIS-UTF16-H yumindb.ttf %!PS YuMincho-Demibold
+uphminb-v UniJIS-UTF16-V yumindb.ttf %!PS YuMincho-Demibold
uphgothr-h UniJIS-UTF16-H yugothic.ttf %!PS YuGothic-Regular
uphgothr-v UniJIS-UTF16-V yugothic.ttf %!PS YuGothic-Regular
uphgothb-h UniJIS-UTF16-H yugothib.ttf %!PS YuGothic-Bold
@@ -20,8 +20,8 @@
uphminln-v UniJIS2004-UTF16-V yuminl.ttf %!PS YuMincho-Light
uphminrn-h UniJIS2004-UTF16-H yumin.ttf %!PS YuMincho-Regular
uphminrn-v UniJIS2004-UTF16-V yumin.ttf %!PS YuMincho-Regular
-uphminbn-h UniJIS2004-UTF16-H yumindb.ttf %!PS YuMincho-DemiBold
-uphminbn-v UniJIS2004-UTF16-V yumindb.ttf %!PS YuMincho-DemiBold
+uphminbn-h UniJIS2004-UTF16-H yumindb.ttf %!PS YuMincho-Demibold
+uphminbn-v UniJIS2004-UTF16-V yumindb.ttf %!PS YuMincho-Demibold
uphgothrn-h UniJIS2004-UTF16-H yugothic.ttf %!PS YuGothic-Regular
uphgothrn-v UniJIS2004-UTF16-V yugothic.ttf %!PS YuGothic-Regular
uphgothbn-h UniJIS2004-UTF16-H yugothib.ttf %!PS YuGothic-Bold
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win/otf-yu-win.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win/otf-yu-win.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win/otf-yu-win.map 2017-01-14 07:01:42.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win/otf-yu-win.map 2020-02-17 23:17:48.000000000 +0100
@@ -4,8 +4,8 @@
hminl-v V yuminl.ttf %!PS YuMincho-Light
hminr-h H yumin.ttf %!PS YuMincho-Regular
hminr-v V yumin.ttf %!PS YuMincho-Regular
-hminb-h H yumindb.ttf %!PS YuMincho-DemiBold
-hminb-v V yumindb.ttf %!PS YuMincho-DemiBold
+hminb-h H yumindb.ttf %!PS YuMincho-Demibold
+hminb-v V yumindb.ttf %!PS YuMincho-Demibold
hgothr-h H yugothic.ttf %!PS YuGothic-Regular
hgothr-v V yugothic.ttf %!PS YuGothic-Regular
hgothb-h H yugothib.ttf %!PS YuGothic-Bold
@@ -20,8 +20,8 @@
hminln-v V yuminl.ttf %!PS YuMincho-Light
hminrn-h H yumin.ttf %!PS YuMincho-Regular
hminrn-v V yumin.ttf %!PS YuMincho-Regular
-hminbn-h H yumindb.ttf %!PS YuMincho-DemiBold
-hminbn-v V yumindb.ttf %!PS YuMincho-DemiBold
+hminbn-h H yumindb.ttf %!PS YuMincho-Demibold
+hminbn-v V yumindb.ttf %!PS YuMincho-Demibold
hgothrn-h H yugothic.ttf %!PS YuGothic-Regular
hgothrn-v V yugothic.ttf %!PS YuGothic-Regular
hgothbn-h H yugothib.ttf %!PS YuGothic-Bold
@@ -36,8 +36,8 @@
otf-cjml-v Identity-V yuminl.ttf/AJ16 %!PS YuMincho-Light
otf-cjmr-h Identity-H yumin.ttf/AJ16 %!PS YuMincho-Regular
otf-cjmr-v Identity-V yumin.ttf/AJ16 %!PS YuMincho-Regular
-otf-cjmb-h Identity-H yumindb.ttf/AJ16 %!PS YuMincho-DemiBold
-otf-cjmb-v Identity-V yumindb.ttf/AJ16 %!PS YuMincho-DemiBold
+otf-cjmb-h Identity-H yumindb.ttf/AJ16 %!PS YuMincho-Demibold
+otf-cjmb-v Identity-V yumindb.ttf/AJ16 %!PS YuMincho-Demibold
otf-cjgr-h Identity-H yugothic.ttf/AJ16 %!PS YuGothic-Regular
otf-cjgr-v Identity-V yugothic.ttf/AJ16 %!PS YuGothic-Regular
otf-cjgb-h Identity-H yugothib.ttf/AJ16 %!PS YuGothic-Bold
@@ -52,8 +52,8 @@
otf-ujml-v UniJIS-UTF16-V yuminl.ttf %!PS YuMincho-Light
otf-ujmr-h UniJIS-UTF16-H yumin.ttf %!PS YuMincho-Regular
otf-ujmr-v UniJIS-UTF16-V yumin.ttf %!PS YuMincho-Regular
-otf-ujmb-h UniJIS-UTF16-H yumindb.ttf %!PS YuMincho-DemiBold
-otf-ujmb-v UniJIS-UTF16-V yumindb.ttf %!PS YuMincho-DemiBold
+otf-ujmb-h UniJIS-UTF16-H yumindb.ttf %!PS YuMincho-Demibold
+otf-ujmb-v UniJIS-UTF16-V yumindb.ttf %!PS YuMincho-Demibold
otf-ujgr-h UniJIS-UTF16-H yugothic.ttf %!PS YuGothic-Regular
otf-ujgr-v UniJIS-UTF16-V yugothic.ttf %!PS YuGothic-Regular
otf-ujgb-h UniJIS-UTF16-H yugothib.ttf %!PS YuGothic-Bold
@@ -68,8 +68,8 @@
otf-ujmln-v UniJIS2004-UTF16-V yuminl.ttf %!PS YuMincho-Light
otf-ujmrn-h UniJIS2004-UTF16-H yumin.ttf %!PS YuMincho-Regular
otf-ujmrn-v UniJIS2004-UTF16-V yumin.ttf %!PS YuMincho-Regular
-otf-ujmbn-h UniJIS2004-UTF16-H yumindb.ttf %!PS YuMincho-DemiBold
-otf-ujmbn-v UniJIS2004-UTF16-V yumindb.ttf %!PS YuMincho-DemiBold
+otf-ujmbn-h UniJIS2004-UTF16-H yumindb.ttf %!PS YuMincho-Demibold
+otf-ujmbn-v UniJIS2004-UTF16-V yumindb.ttf %!PS YuMincho-Demibold
otf-ujgrn-h UniJIS2004-UTF16-H yugothic.ttf %!PS YuGothic-Regular
otf-ujgrn-v UniJIS2004-UTF16-V yugothic.ttf %!PS YuGothic-Regular
otf-ujgbn-h UniJIS2004-UTF16-H yugothib.ttf %!PS YuGothic-Bold
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win10/otf-up-yu-win10.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win10/otf-up-yu-win10.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win10/otf-up-yu-win10.map 2017-01-14 07:01:42.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win10/otf-up-yu-win10.map 2020-02-17 23:17:48.000000000 +0100
@@ -4,8 +4,8 @@
uphminl-v UniJIS-UTF16-V yuminl.ttf %!PS YuMincho-Light
uphminr-h UniJIS-UTF16-H yumin.ttf %!PS YuMincho-Regular
uphminr-v UniJIS-UTF16-V yumin.ttf %!PS YuMincho-Regular
-uphminb-h UniJIS-UTF16-H yumindb.ttf %!PS YuMincho-DemiBold
-uphminb-v UniJIS-UTF16-V yumindb.ttf %!PS YuMincho-DemiBold
+uphminb-h UniJIS-UTF16-H yumindb.ttf %!PS YuMincho-Demibold
+uphminb-v UniJIS-UTF16-V yumindb.ttf %!PS YuMincho-Demibold
uphgothr-h UniJIS-UTF16-H :0:YuGothR.ttc %!PS YuGothic-Regular
uphgothr-v UniJIS-UTF16-V :0:YuGothR.ttc %!PS YuGothic-Regular
uphgothb-h UniJIS-UTF16-H :0:YuGothB.ttc %!PS YuGothic-Bold
@@ -20,8 +20,8 @@
uphminln-v UniJIS2004-UTF16-V yuminl.ttf %!PS YuMincho-Light
uphminrn-h UniJIS2004-UTF16-H yumin.ttf %!PS YuMincho-Regular
uphminrn-v UniJIS2004-UTF16-V yumin.ttf %!PS YuMincho-Regular
-uphminbn-h UniJIS2004-UTF16-H yumindb.ttf %!PS YuMincho-DemiBold
-uphminbn-v UniJIS2004-UTF16-V yumindb.ttf %!PS YuMincho-DemiBold
+uphminbn-h UniJIS2004-UTF16-H yumindb.ttf %!PS YuMincho-Demibold
+uphminbn-v UniJIS2004-UTF16-V yumindb.ttf %!PS YuMincho-Demibold
uphgothrn-h UniJIS2004-UTF16-H :0:YuGothR.ttc %!PS YuGothic-Regular
uphgothrn-v UniJIS2004-UTF16-V :0:YuGothR.ttc %!PS YuGothic-Regular
uphgothbn-h UniJIS2004-UTF16-H :0:YuGothB.ttc %!PS YuGothic-Bold
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win10/otf-yu-win10.map new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win10/otf-yu-win10.map
--- old/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win10/otf-yu-win10.map 2017-01-14 07:01:42.000000000 +0100
+++ new/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/yu-win10/otf-yu-win10.map 2020-02-17 23:17:48.000000000 +0100
@@ -4,8 +4,8 @@
hminl-v V yuminl.ttf %!PS YuMincho-Light
hminr-h H yumin.ttf %!PS YuMincho-Regular
hminr-v V yumin.ttf %!PS YuMincho-Regular
-hminb-h H yumindb.ttf %!PS YuMincho-DemiBold
-hminb-v V yumindb.ttf %!PS YuMincho-DemiBold
+hminb-h H yumindb.ttf %!PS YuMincho-Demibold
+hminb-v V yumindb.ttf %!PS YuMincho-Demibold
hgothr-h H :0:YuGothR.ttc %!PS YuGothic-Regular
hgothr-v V :0:YuGothR.ttc %!PS YuGothic-Regular
hgothb-h H :0:YuGothB.ttc %!PS YuGothic-Bold
@@ -20,8 +20,8 @@
hminln-v V yuminl.ttf %!PS YuMincho-Light
hminrn-h H yumin.ttf %!PS YuMincho-Regular
hminrn-v V yumin.ttf %!PS YuMincho-Regular
-hminbn-h H yumindb.ttf %!PS YuMincho-DemiBold
-hminbn-v V yumindb.ttf %!PS YuMincho-DemiBold
+hminbn-h H yumindb.ttf %!PS YuMincho-Demibold
+hminbn-v V yumindb.ttf %!PS YuMincho-Demibold
hgothrn-h H :0:YuGothR.ttc %!PS YuGothic-Regular
hgothrn-v V :0:YuGothR.ttc %!PS YuGothic-Regular
hgothbn-h H :0:YuGothB.ttc %!PS YuGothic-Bold
@@ -36,8 +36,8 @@
otf-cjml-v Identity-V yuminl.ttf/AJ16 %!PS YuMincho-Light
otf-cjmr-h Identity-H yumin.ttf/AJ16 %!PS YuMincho-Regular
otf-cjmr-v Identity-V yumin.ttf/AJ16 %!PS YuMincho-Regular
-otf-cjmb-h Identity-H yumindb.ttf/AJ16 %!PS YuMincho-DemiBold
-otf-cjmb-v Identity-V yumindb.ttf/AJ16 %!PS YuMincho-DemiBold
+otf-cjmb-h Identity-H yumindb.ttf/AJ16 %!PS YuMincho-Demibold
+otf-cjmb-v Identity-V yumindb.ttf/AJ16 %!PS YuMincho-Demibold
otf-cjgr-h Identity-H :0:YuGothR.ttc/AJ16 %!PS YuGothic-Regular
otf-cjgr-v Identity-V :0:YuGothR.ttc/AJ16 %!PS YuGothic-Regular
otf-cjgb-h Identity-H :0:YuGothB.ttc/AJ16 %!PS YuGothic-Bold
@@ -52,8 +52,8 @@
otf-ujml-v UniJIS-UTF16-V yuminl.ttf %!PS YuMincho-Light
otf-ujmr-h UniJIS-UTF16-H yumin.ttf %!PS YuMincho-Regular
otf-ujmr-v UniJIS-UTF16-V yumin.ttf %!PS YuMincho-Regular
-otf-ujmb-h UniJIS-UTF16-H yumindb.ttf %!PS YuMincho-DemiBold
-otf-ujmb-v UniJIS-UTF16-V yumindb.ttf %!PS YuMincho-DemiBold
+otf-ujmb-h UniJIS-UTF16-H yumindb.ttf %!PS YuMincho-Demibold
+otf-ujmb-v UniJIS-UTF16-V yumindb.ttf %!PS YuMincho-Demibold
otf-ujgr-h UniJIS-UTF16-H :0:YuGothR.ttc %!PS YuGothic-Regular
otf-ujgr-v UniJIS-UTF16-V :0:YuGothR.ttc %!PS YuGothic-Regular
otf-ujgb-h UniJIS-UTF16-H :0:YuGothB.ttc %!PS YuGothic-Bold
@@ -68,8 +68,8 @@
otf-ujmln-v UniJIS2004-UTF16-V yuminl.ttf %!PS YuMincho-Light
otf-ujmrn-h UniJIS2004-UTF16-H yumin.ttf %!PS YuMincho-Regular
otf-ujmrn-v UniJIS2004-UTF16-V yumin.ttf %!PS YuMincho-Regular
-otf-ujmbn-h UniJIS2004-UTF16-H yumindb.ttf %!PS YuMincho-DemiBold
-otf-ujmbn-v UniJIS2004-UTF16-V yumindb.ttf %!PS YuMincho-DemiBold
+otf-ujmbn-h UniJIS2004-UTF16-H yumindb.ttf %!PS YuMincho-Demibold
+otf-ujmbn-v UniJIS2004-UTF16-V yumindb.ttf %!PS YuMincho-Demibold
otf-ujgrn-h UniJIS2004-UTF16-H :0:YuGothR.ttc %!PS YuGothic-Regular
otf-ujgrn-v UniJIS2004-UTF16-V :0:YuGothR.ttc %!PS YuGothic-Regular
otf-ujgbn-h UniJIS2004-UTF16-H :0:YuGothB.ttc %!PS YuGothic-Bold
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/fonts/misc/ptex-fontmaps/ptex-fontmaps-data.dat new/texmf-dist/fonts/misc/ptex-fontmaps/ptex-fontmaps-data.dat
--- old/texmf-dist/fonts/misc/ptex-fontmaps/ptex-fontmaps-data.dat 2019-03-18 22:15:14.000000000 +0100
+++ new/texmf-dist/fonts/misc/ptex-fontmaps/ptex-fontmaps-data.dat 2020-02-17 23:17:48.000000000 +0100
@@ -1,23 +1,26 @@
# ptex-fontmaps-data.dat
+# With '*', no -04 map available
JA(10): morisawa-pr6n: A-OTF-RyuminPr6N-Light.otf
JA(20): morisawa: A-OTF-RyuminPro-Light.otf
JA(30): hiragino-pron: HiraMinProN-W3.otf
JA(40): hiragino: HiraMinPro-W3.otf
JA(50): kozuka-pr6n: KozMinPr6N-Regular.otf
-JA(60): kozuka-pr6: KozMinProVI-Regular.otf
-JA(70): kozuka: KozMinPro-Regular.otf
+JA(55): kozuka-pr6: KozMinProVI-Regular.otf
+JA(60): kozuka: KozMinPro-Regular.otf
+JA(70): haranoaji: HaranoAjiMincho-Regular.otf
+JA*(80): bizud: BIZ-UDMinchoM.ttc
JA(90): yu-osx: YuMin-Medium.otf
-JA(95): yu-win10: YuGothB.ttc
-JA(96): yu-win: yugothib.ttf
-JA(100): ms: msgothic.ttc
-JA(105): ms-osx: MS-Gothic.ttf
+JA*(95): yu-win10: YuGothB.ttc
+JA*(96): yu-win: yugothib.ttf
+JA*(100): ms: msgothic.ttc
+JA*(105): ms-osx: MS-Gothic.ttf
JA(110): moga-mobo-ex: mogam.ttc
JA(120): moga-mobo: mogam.ttc
-JA(130): ipaex: ipaexm.ttf
-JA(140): ipa: ipam.ttf
-JA(150): ume: ume-tmo3.ttf
-JA(160): canon: FGCCHMW3.TTC
+JA*(130): ipaex: ipaexm.ttf
+JA*(140): ipa: ipam.ttf
+JA*(150): ume: ume-tmo3.ttf
+JA*(160): canon: FGCCHMW3.TTC
JA-AI0: sourcehan-otc: SourceHanSerif-Regular.ttc
JA-AI0: sourcehan: SourceHanSerif-Regular.otf
JA-AI0: noto-otc: NotoSerifCJK-Regular.ttc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap.pl new/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap.pl
--- old/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap.pl 2019-03-18 22:15:14.000000000 +0100
+++ new/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap.pl 2020-02-17 23:17:48.000000000 +0100
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
# kanji-config-updmap: setup Japanese font embedding
-# Version 20190318.0
+# Version 20200217.0
#
# formerly known as updmap-setup-kanji
#
@@ -22,7 +22,7 @@
use strict;
my $prg = "kanji-config-updmap";
-my $version = '20190318.0';
+my $version = '20200217.0';
my $updmap_real = "updmap";
my $updmap = $updmap_real;
@@ -33,6 +33,7 @@
my $opt_sys = 0;
my $opt_user = 0;
my $opt_old = 0;
+my $opt_force = 0;
my @opt_mode_list;
my $opt_mode_one;
my $opt_mode_ja;
@@ -52,6 +53,7 @@
"sys" => \$opt_sys,
"user" => \$opt_user,
"old" => \$opt_old,
+ "force" => \$opt_force,
"version" => sub { print &version(); exit(0); }, ) ) {
die "Try \"$0 --help\" for more information.\n";
}
@@ -213,6 +215,7 @@
a new updmap with --user option is assumed.
If this is not the case, explicitly use --old.
--old Makes $prg call `updmap' without --user argument in user mode.
+ --force Set up font embedding even if the font is not available.
--version Show version information and exit
EOF
@@ -252,6 +255,12 @@
next if ($l =~ m/^\s*$/); # skip empty line
next if ($l =~ m/^\s*#/); # skip comment line
$l =~ s/\s*#.*$//; # skip comment after '#'
+ if ($l =~ m/^JA\*\((\d+)\):\s*(.*):\s*(.*)$/) { # no -04 map
+ $representatives{'ja'}{$2}{'priority'} = $1;
+ $representatives{'ja'}{$2}{'file'} = $3;
+ $representatives{'ja'}{$2}{'nojis04'} = 1;
+ next;
+ }
if ($l =~ m/^JA\((\d+)\):\s*(.*):\s*(.*)$/) {
$representatives{'ja'}{$2}{'priority'} = $1;
$representatives{'ja'}{$2}{'file'} = $3;
@@ -272,6 +281,13 @@
$representatives{'ko'}{$2}{'file'} = $3;
next;
}
+ if ($l =~ m/^JA-AI0\*:\s*(.*):\s*(.*)$/) { # no -04 map
+ $representatives{'ja'}{$1}{'priority'} = 9999; # lowest
+ $representatives{'ja'}{$1}{'file'} = $2;
+ $representatives{'ja'}{$1}{'nojis04'} = 1;
+ $ai0flags{'ja'}{$1} = 1;
+ next;
+ }
if ($l =~ m/^JA-AI0:\s*(.*):\s*(.*)$/) {
$representatives{'ja'}{$1}{'priority'} = 9999; # lowest
$representatives{'ja'}{$1}{'file'} = $2;
@@ -308,10 +324,11 @@
sub kpse_miscfont {
my ($file) = @_;
- chomp(my $foo = `kpsewhich -format=miscfont $file`);
- # for GitHub repository diretory structure
+ my $foo = '';
+ # first, prioritize GitHub repository diretory structure
+ $foo = "database/$file" if (-f "database/$file");
if ($foo eq "") {
- $foo = "database/$file" if (-f "database/$file");
+ chomp($foo = `kpsewhich -format=miscfont $file`);
}
return $foo;
}
@@ -363,17 +380,32 @@
sub GetStatus {
my $opt_mode = shift;
- my $val = `$updmap_real --quiet --showoption ${opt_mode}Embed`;
- my $STATUS;
+ my $val;
+ my $STATUS = "";
+ my $VARIANT = "";
+
+ # fetch jaEmbed/scEmbed/tcEmbed/koEmbed
+ $val = `$updmap_real --quiet --showoption ${opt_mode}Embed`;
if ($val =~ m/^${opt_mode}Embed=([^()\s]*)(\s+\()?/) {
$STATUS = $1;
} else {
die "Cannot find status of current ${opt_mode}Embed setting via updmap --showoption!\n";
}
+ # fetch jaVariant
+ if ($opt_mode eq "ja") {
+ $val = `$updmap_real --quiet --showoption ${opt_mode}Variant`;
+ if ($val =~ m/^${opt_mode}Variant=([^()\s]*)(\s+\()?/) {
+ $VARIANT = $1; # should be '' or '-04'
+ } else {
+ die "Cannot find status of current ${opt_mode}Variant setting via updmap --showoption!\n";
+ }
+ }
- my $testmap = gen_mapfile($opt_mode, $STATUS);
+ my $testmap = gen_mapfile($opt_mode, "$STATUS$VARIANT");
+ $VARIANT = "<empty>" if ($VARIANT eq ""); # for printing
if (check_mapfile($testmap)) {
print "CURRENT family for $opt_mode: $STATUS";
+ print " (variant: $VARIANT)" if ($opt_mode eq "ja");
print " (AI0)" if ($ai0flags{$opt_mode}{$STATUS});
print "\n";
} else {
@@ -407,10 +439,16 @@
print " (AI0)" if ($ai0flags{$opt_mode}{$rep});
print " for $opt_mode\n";
system("$updmap --quiet --nomkmap --nohash --setoption ${opt_mode}Embed $rep");
- if ($opt_jis) {
- system("$updmap --quiet --nomkmap --nohash --setoption jaVariant -04");
- } else {
- system("$updmap --quiet --nomkmap --nohash --setoption jaVariant \"\"");
+ if ($opt_mode eq "ja") {
+ if ($opt_jis && $representatives{'ja'}{$rep}{'nojis04'}) {
+ print STDERR "WARNING: No -04 map available, option --jis2004 ignored!\n";
+ $opt_jis = 0;
+ }
+ if ($opt_jis) {
+ system("$updmap --quiet --nomkmap --nohash --setoption jaVariant -04");
+ } else {
+ system("$updmap --quiet --nomkmap --nohash --setoption jaVariant \"\"");
+ }
}
} else {
die "NOT EXIST $MAPFILE\n";
@@ -421,7 +459,7 @@
my $opt_mode = shift;
my $rep = shift;
if (defined($representatives{$opt_mode}{$rep})) {
- if ($representatives{$opt_mode}{$rep}{'available'}) {
+ if ($representatives{$opt_mode}{$rep}{'available'} || $opt_force) {
return SetupMapFile($opt_mode, $rep);
} else {
printf STDERR "$rep not available, falling back to auto!\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/ptex-fontmaps/kanji-fontmap-creator.pl new/texmf-dist/scripts/ptex-fontmaps/kanji-fontmap-creator.pl
--- old/texmf-dist/scripts/ptex-fontmaps/kanji-fontmap-creator.pl 2019-03-18 22:15:14.000000000 +0100
+++ new/texmf-dist/scripts/ptex-fontmaps/kanji-fontmap-creator.pl 2020-02-17 23:17:48.000000000 +0100
@@ -2,7 +2,7 @@
#
# kanji-fontmap-creator
# (c) 2012-2014 Norbert Preining
-# Version: 20190318.0
+# Version: 20200217.0
# Licenced under the GPLv2 or any higher version
#
# gui to create map files for (kanji-config-)updmap
@@ -41,7 +41,7 @@
my $opt_version = 0;
my $prg = "kanji-fontmap-creator";
-my $version = "20190318.0";
+my $version = "20200217.0";
#
# global vars configuring operation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ptex-fontmaps.tlpobj new/tlpkg/tlpobj/ptex-fontmaps.tlpobj
--- old/tlpkg/tlpobj/ptex-fontmaps.tlpobj 2019-03-19 02:26:34.000000000 +0100
+++ new/tlpkg/tlpobj/ptex-fontmaps.tlpobj 2020-03-23 01:56:28.000000000 +0100
@@ -1,6 +1,6 @@
name ptex-fontmaps
category Package
-revision 50446
+revision 54473
shortdesc Font maps and configuration tools for Japanese/Chinese/Korean fonts with (u)ptex
longdesc This package provides font maps and setup tools for Japanese,
longdesc Korean, Traditional Chinese, and Simplified Chinese. It is the
@@ -10,9 +10,9 @@
longdesc programs and formats.
depend arphic-ttf
depend baekmuk
-depend ipaex
+depend haranoaji
depend ptex-fontmaps.ARCH
-runfiles size=229
+runfiles size=241
texmf-dist/fonts/cmap/ptex-fontmaps/2004-H
texmf-dist/fonts/cmap/ptex-fontmaps/2004-V
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/adobe/otf-ko-adobe.map
@@ -29,6 +29,10 @@
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/arphic/uptex-tc-arphic.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/baekmuk/otf-ko-baekmuk.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/baekmuk/uptex-ko-baekmuk.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-bizud.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/otf-up-bizud.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/ptex-bizud.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/bizud/uptex-bizud.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/canon/otf-canon.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/canon/otf-up-canon.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/canon/ptex-canon.map
@@ -47,6 +51,12 @@
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/fandol/uptex-sc-fandol.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/founder/otf-sc-founder.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/founder/uptex-sc-founder.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-haranoaji.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/otf-up-haranoaji.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji-04.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/ptex-haranoaji.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji-04.map
+ texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/uptex-haranoaji.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/hiragino-pron/otf-hiragino-pron.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/hiragino-pron/otf-up-hiragino-pron.map
texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/hiragino-pron/ptex-hiragino-pron-04.map
@@ -216,7 +226,6 @@
texmf-dist/scripts/ptex-fontmaps/kanji-fontmap-creator.pl
catalogue-contact-repository https://github.com/texjporg/jfontmaps
catalogue-ctan /fonts/ptex-fontmaps
-catalogue-date 2019-03-18 14:57:35 +0100
-catalogue-license pdgpl3
+catalogue-license pd gpl3
catalogue-topics font-use japanese chinese korean
-catalogue-version 20190318.0
+catalogue-version 20200217.0
++++++ ptex-manual.doc.tar.xz ++++++
++++ 4296 lines of diff (skipped)
++++++ ptex.doc.tar.xz ++++++
Binary files old/texmf-dist/doc/man/man1/eptex.man1.pdf and new/texmf-dist/doc/man/man1/eptex.man1.pdf differ
Binary files old/texmf-dist/doc/man/man1/makejvf.man1.pdf and new/texmf-dist/doc/man/man1/makejvf.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/ppltotf.1 new/texmf-dist/doc/man/man1/ppltotf.1
--- old/texmf-dist/doc/man/man1/ppltotf.1 2019-03-30 22:37:28.000000000 +0100
+++ new/texmf-dist/doc/man/man1/ppltotf.1 2020-03-04 17:04:42.000000000 +0100
@@ -1,4 +1,4 @@
-.TH PPLTOTF 1 "15 March 2019" "Web2C 2019"
+.TH PPLTOTF 1 "15 March 2019" "Web2C 2020"
.\"=====================================================================
.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
.if n .ds TX TeX
Binary files old/texmf-dist/doc/man/man1/ppltotf.man1.pdf and new/texmf-dist/doc/man/man1/ppltotf.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/ptex.1 new/texmf-dist/doc/man/man1/ptex.1
--- old/texmf-dist/doc/man/man1/ptex.1 2019-02-28 20:09:21.000000000 +0100
+++ new/texmf-dist/doc/man/man1/ptex.1 2020-03-04 17:04:42.000000000 +0100
@@ -1,4 +1,4 @@
-.TH PTEX 1 "27 May 2018" "Web2C 2019"
+.TH PTEX 1 "27 May 2018" "Web2C 2020"
.\"=====================================================================
.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
.if n .ds TX TeX
Binary files old/texmf-dist/doc/man/man1/ptex.man1.pdf and new/texmf-dist/doc/man/man1/ptex.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/ptftopl.1 new/texmf-dist/doc/man/man1/ptftopl.1
--- old/texmf-dist/doc/man/man1/ptftopl.1 2019-03-30 22:37:28.000000000 +0100
+++ new/texmf-dist/doc/man/man1/ptftopl.1 2020-03-04 17:04:42.000000000 +0100
@@ -1,4 +1,4 @@
-.TH PTFTOPL 1 "15 March 2019" "Web2C 2019"
+.TH PTFTOPL 1 "15 March 2019" "Web2C 2020"
.\"=====================================================================
.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
.if n .ds TX TeX
Binary files old/texmf-dist/doc/man/man1/ptftopl.man1.pdf and new/texmf-dist/doc/man/man1/ptftopl.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ptex.doc.tlpobj new/tlpkg/tlpobj/ptex.doc.tlpobj
--- old/tlpkg/tlpobj/ptex.doc.tlpobj 2019-04-01 02:25:01.000000000 +0200
+++ new/tlpkg/tlpobj/ptex.doc.tlpobj 2020-03-14 01:43:23.000000000 +0100
@@ -1,6 +1,6 @@
name ptex.doc
category Package
-revision 50664
+revision 54276
shortdesc doc files of ptex
docfiles size=54
texmf-dist/doc/man/man1/eptex.1
++++++ ptex2pdf.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/latex/ptex2pdf/README.md new/texmf-dist/doc/latex/ptex2pdf/README.md
--- old/texmf-dist/doc/latex/ptex2pdf/README.md 2018-12-12 22:34:12.000000000 +0100
+++ new/texmf-dist/doc/latex/ptex2pdf/README.md 2020-03-08 22:42:32.000000000 +0100
@@ -17,18 +17,19 @@
## Usage ##
`````
-[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
-options: -v version
- -h help
- -help print full help (installation, TeXworks setup)
- -e use eptex class of programs
- -u use uptex class of programs
- -l use latex based formats
- -s stop at dvi
- -i retain intermediate files
- -ot '<opts>' extra options for TeX
- -od '<opts>' extra options for dvipdfmx
- -output-directory '<dir>' directory for created files
+[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
+options: -v version
+ -h help
+ -help print full help (installation, TeXworks setup)
+ -e use eptex class of programs
+ -u use uptex class of programs
+ -l use latex based formats
+ -ld use latex-dev based formats
+ -s stop at dvi
+ -i retain intermediate files
+ -ot '<opts>' extra options for TeX
+ -od '<opts>' extra options for dvipdfmx
+ -output-directory '<dir>' directory for created files
`````
## Installation ##
@@ -160,19 +161,23 @@
first replace all backslash chars to slash chars
- version 20170622.0
pass all non-optional arguments before filename to TeX engine
-- version 20180514.0
+- version 20180514.0
Windows: for uptex use command_line_encoding=utf8, for all other turn
it off (set to none)
-- version 20181212.0
+- version 20181212.0
support directories containing dots (thanks kn1cht)
+- version 20200119.0
+ check invalid PATH string beforehand on windows
+- version 20200307.0
+ add -ld option to run (u)platex-dev
## Copyright and License ##
Originally based on musixtex.lua from Bob Tennent.
-(c) Copyright 2016-2018 Japanese TeX Development Community
-(c) Copyright 2013-2018 Norbert Preining norbert@preining.info
-(c) Copyright 2012 Bob Tennent rdt@cs.queensu.ca
+(c) Copyright 2016-2020 Japanese TeX Development Community
+(c) Copyright 2013-2020 Norbert Preining norbert@preining.info
+(c) Copyright 2012 Bob Tennent rdt@cs.queensu.ca
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ptex2pdf.doc.tlpobj new/tlpkg/tlpobj/ptex2pdf.doc.tlpobj
--- old/tlpkg/tlpobj/ptex2pdf.doc.tlpobj 2019-02-28 04:03:36.000000000 +0100
+++ new/tlpkg/tlpobj/ptex2pdf.doc.tlpobj 2020-03-09 00:28:46.000000000 +0100
@@ -1,6 +1,6 @@
name ptex2pdf.doc
category Package
-revision 49396
+revision 54191
shortdesc doc files of ptex2pdf
docfiles size=7
texmf-dist/doc/latex/ptex2pdf/COPYING
++++++ ptex2pdf.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua new/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua
--- old/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua 2018-12-12 22:34:12.000000000 +0100
+++ new/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua 2020-03-08 22:42:32.000000000 +0100
@@ -1,7 +1,7 @@
#!/usr/bin/env texlua
NAME = "ptex2pdf[.lua]"
-VERSION = "20181212.0"
+VERSION = "20200307.0"
AUTHOR = "Norbert Preining"
AUTHOREMAIL = "norbert@preining.info"
SHORTDESC = "Convert Japanese TeX documents to pdf"
@@ -13,25 +13,26 @@
by dvipdfmx.
]]
USAGE = [[
-[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
-options: -v version
- -h help
- -help print full help (installation, TeXworks setup)
- -e use eptex class of programs
- -u use uptex class of programs
- -l use latex based formats
- -s stop at dvi
- -i retain intermediate files
- -ot '<opts>' extra options for TeX
- -od '<opts>' extra options for dvipdfmx
- -output-directory '<dir>' directory for created files]]
+[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
+options: -v version
+ -h help
+ -help print full help (installation, TeXworks setup)
+ -e use eptex class of programs
+ -u use uptex class of programs
+ -l use latex based formats
+ -ld use latex-dev based formats
+ -s stop at dvi
+ -i retain intermediate files
+ -ot '<opts>' extra options for TeX
+ -od '<opts>' extra options for dvipdfmx
+ -output-directory '<dir>' directory for created files]]
LICENSECOPYRIGHT = [[
Originally based on musixtex.lua from Bob Tennent.
-(c) Copyright 2016-2018 Japanese TeX Development Community
-(c) Copyright 2013-2018 Norbert Preining norbert@preining.info
-(c) Copyright 2012 Bob Tennent rdt@cs.queensu.ca
+(c) Copyright 2016-2020 Japanese TeX Development Community
+(c) Copyright 2013-2020 Norbert Preining norbert@preining.info
+(c) Copyright 2012 Bob Tennent rdt@cs.queensu.ca
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -174,11 +175,15 @@
first replace all backslash chars to slash chars
- version 20170622.0
pass all non-optional arguments before filename to TeX engine
-- version 20180514.0
+- version 20180514.0
Windows: for uptex use command_line_encoding=utf8, for all other turn
it off (set to none)
-- version 20181212.0
+- version 20181212.0
support directories containing dots (thanks kn1cht)
+- version 20200119.0
+ check invalid PATH string beforehand on windows
+- version 20200307.0
+ add -ld option to run (u)platex-dev
]]
@@ -276,6 +281,7 @@
use_eptex = 0
use_uptex = 0
use_latex = 0
+use_latexdev = 0
outputdir = "."
prefilename = ""
filename = ""
@@ -313,6 +319,9 @@
use_uptex = 1
elseif this_arg == "-l" then
use_latex = 1
+ elseif this_arg == "-ld" then
+ use_latex = 1
+ use_latexdev = 1
elseif this_arg == "-s" then
dvipdf = ""
elseif this_arg == "-i" then
@@ -338,34 +347,34 @@
end
end --if this_arg == ...
narg = narg+1
-until narg > #arg
+until narg > #arg
whoami()
-if use_eptex == 1 then
+if use_latex == 1 then
if use_uptex == 1 then
- if use_latex == 1 then
- tex = "uplatex" -- uplatex already as etex extension
+ if use_latexdev == 1 then
+ tex = "uplatex-dev"
else
- tex = "euptex"
+ tex = "uplatex" -- uplatex already as etex extension
end
else
- if use_latex == 1 then
- tex = "platex" -- latex needs etex anyway
+ if use_latexdev == 1 then
+ tex = "platex-dev"
else
- tex = "eptex"
+ tex = "platex" -- latex needs etex anyway
end
end
else
- if use_uptex == 1 then
- if use_latex == 1 then
- tex = "uplatex"
+ if use_eptex == 1 then
+ if use_uptex == 1 then
+ tex = "euptex"
else
- tex = "uptex"
+ tex = "eptex"
end
else
- if use_latex == 1 then
- tex = "platex"
+ if use_uptex == 1 then
+ tex = "uptex"
else
tex = "ptex"
end
@@ -424,9 +433,17 @@
dvipdfopts = "-o \"" .. bname .. ".pdf\""
end
print("Processing ".. filename)
-if (os.execute(tex .. " " .. texopts .. prefilename .. " \"" .. filename .. "\"") == 0) and
- (dvipdf == "" or (os.execute(dvipdf .. " " .. dvipdfopts .. " \"" .. bname .. ".dvi" .. "\"") == 0)) then
- if dvipdf ~= "" then
+texcmd = tex .. " " .. texopts .. prefilename .. " \"" .. filename .. "\""
+tex_return = os.execute(texcmd)
+-- if os.execute(texcmd) returns -1 on Windows, then
+-- cmd.exe is not included in PATH, or some invalid string found before cmd.exe
+if os.type == 'windows' and tex_return == -1 then
+ print("Invalid PATH setting found. Please ensure that cmd.exe can be found.\n")
+end
+dvipdfcmd = dvipdf .. " " .. dvipdfopts .. " \"" .. bname .. ".dvi" .. "\""
+if tex_return == 0 and
+ (dvipdf == "" or (os.execute(dvipdfcmd) == 0)) then
+ if dvipdf ~= "" then
print(bname .. ".pdf generated by " .. dvipdf .. ".")
end
if intermediate == 1 then -- clean-up:
@@ -436,8 +453,8 @@
end
else
print("ptex2pdf processing of " .. filename .. " failed.\n")
- print_ifdebug("tex = " .. tex)
- print_ifdebug("dvipdf = " .. dvipdf)
+ print_ifdebug("tex = " .. texcmd)
+ print_ifdebug("dvipdf = " .. dvipdfcmd)
os.exit(2)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ptex2pdf.tlpobj new/tlpkg/tlpobj/ptex2pdf.tlpobj
--- old/tlpkg/tlpobj/ptex2pdf.tlpobj 2019-02-28 04:03:36.000000000 +0100
+++ new/tlpkg/tlpobj/ptex2pdf.tlpobj 2020-03-09 00:28:46.000000000 +0100
@@ -1,6 +1,6 @@
name ptex2pdf
category Package
-revision 49396
+revision 54191
shortdesc Convert Japanese TeX documents to PDF
longdesc The Lua script provides system-independent support of Japanese
longdesc typesetting engines in TeXworks. As TeXworks typesetting setup
@@ -16,7 +16,6 @@
catalogue-contact-home https://github.com/texjporg/ptex2pdf
catalogue-contact-repository https://github.com/texjporg/ptex2pdf.git
catalogue-ctan /language/japanese/ptex2pdf
-catalogue-date 2018-12-12 17:43:43 +0100
catalogue-license gpl2
catalogue-topics compilation japanese
-catalogue-version 20181212.0
+catalogue-version 20200307.0
++++++ pxchfon.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/pxchfon/LICENSE new/doc/platex/pxchfon/LICENSE
--- old/doc/platex/pxchfon/LICENSE 2019-01-23 22:25:01.000000000 +0100
+++ new/doc/platex/pxchfon/LICENSE 2020-02-01 23:13:57.000000000 +0100
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2019 Takayuki YATO (aka. "ZR")
+Copyright (c) 2009-2020 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/pxchfon/README-ja.md new/doc/platex/pxchfon/README-ja.md
--- old/doc/platex/pxchfon/README-ja.md 2019-03-23 23:05:34.000000000 +0100
+++ new/doc/platex/pxchfon/README-ja.md 2020-02-01 23:13:57.000000000 +0100
@@ -33,9 +33,6 @@
- TDS 1.1 に従ったシステムでは、次のファイルを移動する。
* `*.sty` → $TEXMF/tex/platex/pxchfon/
- - W32TeX を `C:\usr\local` にインストールした場合の例。
- * `*.sty` → `C:\usr\local\share\texmf-local\tex\platex\pxchfon`
-
- もっと簡単に、TeX システムのディレクトリには手を加えずに、単に
文書ファイルと同じディレクトリに pxchfon.sty を置くだけでも使える。
@@ -45,17 +42,11 @@
設定を行う。
* TDS 1.1 に従ったシステムでは、各ファイルを次の場所に移動する。
- - `*.tfm` → $TEXMF/fonts/tfm/public/pxchfon/
- - `*.vf` → $TEXMF/fonts/vf/public/pxchfon/
+ - `tfm/*.tfm` → $TEXMF/fonts/tfm/public/pxchfon/
+ - `vf/*.vf` → $TEXMF/fonts/vf/public/pxchfon/
- `pxcjk0.sfd` → $TEXMF/fonts/sfd/pxchfon/
- `*.def` → $TEXMF/tex/platex/pxchfon/
- * W32TeX を `C:\usr\local` にインストールした場合の例。
- - `*.tfm` → `C:\usr\local\share\texmf-local\fonts\tfm\public\pxchfon`
- - `*.vf` → `C:\usr\local\share\texmf-local\fonts\vf\public\pxchfon`
- - `pxcjk0.sfd` → `C:\usr\local\share\texmf-local\fonts\sfd\pxchfon`
- - `*.def` → `C:\usr\local\share\texmf-local\tex\platex\pxchfon`
-
### ライセンス
MITライセンスの下で配布される。
@@ -63,6 +54,25 @@
更新履歴
--------
+ * Version 1.7b ‹2020/02/01›
+ - '\textdiruni' を頑強にする。
+ * Version 1.7a ‹2019/11/22›
+ - バグ修正。
+ * Version 1.7 ‹2019/11/19›
+ - ユーザレベルの追加プリセットに対応。
+ * Version 1.6a ‹2019/11/18›
+ - `\(text)diruni` を PDF 文字列で通るようにする。
+ - (試験的) PXchfon-extras の追加プリセットに対応。
+ - (試験的) ユーザレベルの追加プリセットに対応。
+ * Version 1.6 ‹2019/10/07›
+ - プリセット `haranoaji` を追加。
+ * Version 1.5a ‹2019/07/10›
+ - バグ修正。
+ * Version 1.5 ‹2019/05/15›
+ - TL2017 用の暫定設定である `unicode*` オプションを非推奨とする。
+ - `\asUTF` 命令を非推奨とする。
+ - 欧文置換用の VF を刷新した。TS1 エンコーディングをサポート。
+ - Unicode 直接モードでは非埋込のフォントに対して警告を出す。
* Version 1.4a ‹2019/03/24›
- 非置換のフォントに対して不具合が起こりうる設定を使う場合、
非置換のフォントがあると警告を出す。
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/pxchfon/README.md new/doc/platex/pxchfon/README.md
--- old/doc/platex/pxchfon/README.md 2019-03-23 23:05:34.000000000 +0100
+++ new/doc/platex/pxchfon/README.md 2020-02-01 23:13:57.000000000 +0100
@@ -25,8 +25,8 @@
Move the files as follows (in a system compliant to TDS 1.1):
- `*.sty` → $TEXMF/tex/platex/pxchfon/
- - `*.tfm` → $TEXMF/fonts/tfm/public/pxchfon/
- - `*.vf` → $TEXMF/fonts/vf/public/pxchfon/
+ - `tfm/*.tfm` → $TEXMF/fonts/tfm/public/pxchfon/
+ - `vf/*.vf` → $TEXMF/fonts/vf/public/pxchfon/
- `pxcjk0.sfd` → $TEXMF/fonts/sfd/pxchfon/
- `*.def` → $TEXMF/tex/platex/pxchfon/
@@ -39,6 +39,26 @@
Revision History
----------------
+ * Version 1.7b ‹2020/02/01›
+ - Make '\textdiruni' robust.
+ * Version 1.7a ‹2019/11/22›
+ - Bug fix.
+ * Version 1.7 ‹2019/11/19›
+ - Support for user-defined custom presets.
+ * Version 1.6a ‹2019/11/18›
+ - Now `\(text)diruni` can be used in PDF strings.
+ * Version 1.6 ‹2019/10/07›
+ - Preset `haranoaji`.
+ * Version 1.5a ‹2019/07/10›
+ - Bug fix.
+ * Version 1.5 ‹2019/05/15›
+ - The `unicode*` option, which is a tentative setting for TL2017,
+ is now deprecated.
+ - The `\asUTF` command is now deprecated.
+ - The VFs of alphabetic fonts are refined; now TS1 encoding is
+ also supported.
+ - Issue a warning for unembedded font weights, if direct Unicode
+ mode is employed.
* Version 1.4a ‹2019/03/24›
- Issue a warning for unsubstituted font weights, if a setting
where unsubtituted fonts could cause problems is employed.
Binary files old/doc/platex/pxchfon/pxchfon.pdf and new/doc/platex/pxchfon/pxchfon.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/pxchfon/pxchfon.tex new/doc/platex/pxchfon/pxchfon.tex
--- old/doc/platex/pxchfon/pxchfon.tex 2019-03-23 23:05:34.000000000 +0100
+++ new/doc/platex/pxchfon/pxchfon.tex 2020-02-01 23:13:57.000000000 +0100
@@ -1,26 +1,26 @@
% 文字コードは UTF-8
% uplatex で組版する
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern,textcomp}
\usepackage{color}
\definecolor{myblue}{rgb}{0,0,0.75}
\definecolor{mygreen}{rgb}{0,0.45,0}
\usepackage[colorlinks,hyperfootnotes=false]{hyperref}
\usepackage{pxjahyper}
\hypersetup{linkcolor=myblue,urlcolor=mygreen}
-\usepackage{metalogo}
+\usepackage{bxtexlogo}
+\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.4a}
-\newcommand{\PkgDate}{2019/03/24}
+\newcommand{\PkgVersion}{1.7b}
+\newcommand{\PkgDate}{2020/02/01}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
\newcommand{\Means}{:\ }
+\newcommand{\Zk}{\mbox{}}
\providecommand{\Strong}[1]{\textsf{#1}}
-\providecommand{\pTeX}{p\TeX}
-\providecommand{\pLaTeX}{p\LaTeX}
-\providecommand{\upTeX}{u\pTeX}
-\providecommand{\upLaTeX}{u\pLaTeX}
%-----------------------------------------------------------
\begin{document}
\title{\Pkg{pxchfon} パッケージ}
@@ -39,9 +39,10 @@
一度パッケージをインストールするだけで、
任意の日本語フォント(ただし等幅に限る)を使うことができる。
欧文部分を同じ日本語フォントで置き換えることも可能である。
-\Pkg{japanese-otf}\footnote{\Pkg{japanese-otf}パッケージ\Means
+\Pkg{japanese-otf}パッケージ%
+\footnote{\Pkg{japanese-otf}パッケージ\Means
https://www.ctan.org/pkg/japanese-otf}%
-パッケージにも対応している。
+にも対応している。
また、{(u)\pLaTeX}において広く行われているフォント設定
(IPAexフォントの使用等)をパッケージオプション一つで適用する機能
@@ -80,14 +81,21 @@
ただし、本パッケージの主要機能である
「フォントマップの文書内での指定」
がサポートされるのはdvipdfmxのみである。
+ \footnote{現状では、|dvipdfmx| 以外のドライバ指定は
+ 全て |nodvidriver| と等価である。}%
他のDVIウェアにおける動作については
\ref{sec:Other-Drivers}節を参照。
ドライバオプションの既定値は |dvipdfmx| である。
\item \Strong{プリセット指定オプション}(|ipaex|、|hiragino-pron| 等)
名前に対応するプリセット指定を有効にする。
\Note 詳細については\ref{sec:Preset}節を参照。
+\item \Strong{カスタムプリセット指定オプション}%
+ (|user:|\Zk\textgt{名前})
+ ユーザ定義のプリセット指定を有効にする。
+ \Note 詳細については\ref{sec:CustomPreset}節を参照。
\item \Strong{ファイルプリセット指定オプション}%
- (|+|\mbox{}\textgt{名前} または |*|\mbox{}\textgt{名前})
+ (|tl:|\Zk\textgt{名前} または |file:|\Zk\textgt{名前}%
+ \footnote{旧形式は |+|\Zk\textgt{名前} および |*|\Zk\textgt{名前}})
名前に対応するファイルプリセット指定を有効にする。
\Note 詳細については\ref{sec:FilePreset}節を参照。
\item |alphabet|\Means
@@ -141,14 +149,14 @@
\item |oneweight|\Means
\Pkg{japanese-otf}パッケージを単ウェイトで使用する場合に、
プリセット設定で使われるフォントの集合を{\pTeX}標準と同一にする。
- \footnote{小塚フォントのプリセットでは、{\pTeX}標準のゴシック
- (jisg等)にはMウェイト(Acrobatに付属のフォントの一つ)を
+ \footnote{多ウェイト用プリセット設定の一部において、
+ このオプションによりゴシックのウェイトが変更される。
+ 例えば、小塚フォントのプリセットでは、{\pTeX}標準のゴシック
+ (jisg等)にはMウェイトを
割り当てる一方で、\Pkg{japanese-otf}パッケージの3ウェイトのゴシックには
R、B、Hウェイトを割り当てている。
従って、\Pkg{japanese-otf}を単ウェイトで用いる時にMウェイトを使いたい
- 場合には \texttt{oneweight} オプションを指定すればよい。
- 現状では、小塚フォント以外のプリセットではこのオプションを
- 用いる必要はない。}
+ 場合には |oneweight| オプションを指定すればよい。}
\item |nooneweight|(既定)\Means
|oneweight| の否定。
\end{itemize}
@@ -164,20 +172,20 @@
\footnote{特に
「\texttt{\symbol{`\\}userelfont\symbol{`\\}selectfont}」
だけ実行すると、欧文が現在の和文と同じ書体になる。}
- (ただし適用すべき和文ファミリについて置換が設定されていない
- 場合は無効になる。)
+ \Note 置換が設定されていないウェイトについては無効になる。
\Note |alphabet|、|noalphabet|、|relfont| の3つのオプションは
排他である。
\item |everypage|\Means
- DVIの全ページにマップ設定を書き込む。
+ 出力DVIの全ページにフォントマップ設定を書き込む。
\Note 詳細については\ref{sec:PageSelection}節を参照。
\item |noeverypage|(既定)\Means
|everypage|の否定。
- DVIの先頭ページにのみマップ設定を書き込む。
+ 出力DVIの先頭ページにのみフォントマップ設定を書き込む。
\item \Strong{Unicode直接指定オプション}\Means
一部または全部のフォントについて、エンコーディング指定方式を
- “Cmap指定”から“Unicode直接指定”に変更する。
- |nodirectunicode|(既定)、|directunicode|、|directunicode*|、
+ “CMap指定”から“Unicode直接指定”に変更する。
+ |nounicode|(既定:CMap設定のまま)、
+ |directunicode|、|directunicode*|、
|unicode*|、|unicode| の5種類の指定がある。
\Note 詳細については\ref{sec:DirectUnicode}節を参照。
\Note 一部のプリセット指定(|sourcehan|等)は
@@ -209,15 +217,15 @@
%\item |nodirectunicode|(既定)\Means
% |directunicode| の否定。
\item |usecmapforalphabet|\Means
- |alphabet|(または |relfont|)を指定して日本語フォントの英数字部分を
+ |alphabet| または |relfont| を指定して日本語フォントの英数字部分を
欧文フォントとして使う際に、そのエンコーディング指定方式を
“CMap指定”にする。
% \Note “CMap指定”と“Unicode直接指定”の違いについては
% \ref{sec:DirectUnicode}節を参照。
\Note 半角英数字用の\texttt{UniJIS-UCS2-HW-H}というCMapが指定される。
- \Note 字形セットがAJ1であるOpenTypeフォントの場合、“Unicode直接指定”
- を使うと英数字がプロポーショナル幅のものになるがこれは
- サポートされない(|alphabet| オプションの説明を参照)ので、
+ \Note AJ1のグリフ集合をもつOpenTypeフォントの場合、既定では
+ \footnote{|unicode| オプションが指定されない場合。}%
+ 英数字がプロポーショナル幅のものになるがこれはサポートされないので、
このオプションを指定して半角幅のものを使う必要がある。
\item |nousecmapforalphabet|(既定)\Means
|usecmapforalphabet| の否定。
@@ -247,7 +255,7 @@
\item |nodumpmaptl|(既定)\Means
|dumpmaptl| の否定。
\item |strictcsi|\Means
- |Identity-H/V| のCMapが指定されたマップ行について、CSI指定は
+ |Identity-H|/|-V| のCMapが指定されたマップ行について、CSI指定を
(仕様に厳密に従って)フォントがTrueTypeグリフの場合にのみ出力する。
\Note 「CSI指定」とはフォントファイル名の直後に書く“|/AJ1|”の類の
ことで、本来は(グリフ集合情報を持たない)TrueTypeグリフのフォント
@@ -257,12 +265,15 @@
かかるため、既定では厳密な判定は行わない。
\item |nostrictcsi|(既定)\Means
|strictcsi| の否定。
- |Identity-H/V| に対するCSI指定は常に出力される。
+ |Identity-H|/|-V| に対するCSI指定は常に出力される。
\Note さすがにファイルに出力されたマップ行に不備があるのは
避けたいので、|dumpmap(tl)| が指定された場合は、
既定が |strictcsi| に変更される。
\item |expert|(既定)\Means
- Unicode直接指定の適用時に\Pkg{japanese-otf}の |expert| オプション
+ Unicode直接指定の適用時
+ \footnote{置換されていないウェイトはUnicode直接指定にならない。
+ (\ref{ssec:DirectUnicodeNotice}節の注意を参照。)}%
+ に\Pkg{japanese-otf}の |expert| オプション
の機能を(可能な範囲で)エミュレートする。
\Note \Pkg{japanese-otf}の |expert| が指定されない場合は無意味。
\item |noexpert|\Means
@@ -270,8 +281,10 @@
Unicode直接指定時には\Pkg{japanese-otf}の |expert| は無効になる。
\item |glyphid|\Means
GID指定入力(|\gid| 命令)の機能を有効にする。
- \Note エンジンが{\upTeX}でかつUnicode直接指定が有効の場合に
- のみ利用できる。
+ \Note エンジンが{\upTeX}でかつUnicode直接指定
+ \footnote{置換されていないウェイトはUnicode直接指定にならない。
+ (\ref{ssec:DirectUnicodeNotice}節の注意を参照。)}%
+ が有効の場合にのみ利用できる。
\item |noglyphid|(既定)\Means
|glyphid| の否定。
\end{itemize}
@@ -867,6 +880,20 @@
\setmarugothicfont{NotoSansJP-Medium.otf}
\end{verbatim}\end{quote}
+\item |haranoaji|\Means
+ 原ノ味フォント。
+
+\begin{quote}\small\begin{verbatim}
+\setminchofont{HaranoAjiMincho-Regular.otf}
+\setlightminchofont{HaranoAjiMincho-Light.otf}
+\setboldminchofont{HaranoAjiMincho-Bold.otf}
+\setgothicfont{HaranoAjiGothic-Medium.otf}
+\setmediumgothicfont{HaranoAjiGothic-Regular.otf}
+\setboldgothicfont{HaranoAjiGothic-Bold.otf}
+\setxboldgothicfont{HaranoAjiGothic-Heavy.otf}
+\setmarugothicfont{HaranoAjiGothic-Medium.otf}
+\end{verbatim}\end{quote}
+
\end{itemize}
%-------------------
@@ -928,12 +955,18 @@
ファイルプリセットの指定と見なされる。
\begin{itemize}
-\item |+|\mbox{}\textgt{名前}\Means
+\item |tl:|\Zk\textgt{名前}\Means
{\TeX} Live用ファイルプリセット。
-\item |*|\mbox{}\textgt{名前}\Means
+\item |file:|\Zk\textgt{名前}\Means
単純ファイルプリセット。
\end{itemize}
+\Note 1.6a版以前では、
+{\TeX} Live用が「|+|\Zk\textgt{名前}」、
+通常が「|*|\Zk\textgt{名前}」という形式であった。
+これらの古い形式も当面の間はサポートされるが、
+新しい形式の使用を推奨する。
+
\subsection{{\TeX} Live用ファイルプリセット機能}
{\TeX} Liveでは{(u)\pLaTeX}のフォントの設定を
@@ -943,8 +976,8 @@
対応したファイルをupdmapの機構を用いて有効化することで、
dvipdfmxの既定の設定を切り替えている。
-パッケージオプションとして |+| で始まる文字列
-(仮に |+NAME| とする)を与えると、
+パッケージオプションとして |tl:| で始まる文字列
+(仮に |tl:NAME| とする)を与えると、
kanji-config-updmap用のマップファイルの読込が指示される。
具体的には、以下の名前のマップファイルが読み込まれる。
@@ -954,7 +987,7 @@
\item |ptex-NAME.map|
\item |otf-NAME.map|
\end{itemize}
-\item {\upLaTeX}の場合、上記のものに加えて以下のもの:
+\item {\upLaTeX}の場合、\Strong{上記のものに加えて}以下のもの:
\begin{itemize}
\item |uptex-NAME.map|
\item |otf-up-NAME.map|
@@ -964,7 +997,7 @@
例えば、{\pLaTeX}文書において以下のようにパッケージを読み込んだとする。
\begin{quote}\small\begin{verbatim}
-\usepackage[+yu-win]{pxchfon}
+\usepackage[tl:yu-win]{pxchfon}
\end{verbatim}\end{quote}
この場合、|ptex-yu-win.map| と |otf-yu-win.map| の2つのマップファイル
@@ -972,23 +1005,73 @@
\subsection{単純ファイルプリセット機能}
-パッケージオプションとして |*| で始まる文字列
-(仮に |*NAME| とする)を与えると、
+パッケージオプションとして |file:| で始まる文字列
+(仮に |file:NAME| とする)を与えると、
|NAME.map| という名前のマップファイルの読込が指示される。
例えば、以下のようにパッケージを読み込んだとする。
\begin{quote}\small\begin{verbatim}
-\usepackage[*yu]{pxchfon}
+\usepackage[file:yu]{pxchfon}
\end{verbatim}\end{quote}
この場合、|yu.map| というマップファイル
-\footnote{例えばW32{\TeX}ではこの名前のマップファイルが
+\footnote{例えばW32{\TeX}では |yu.map| というマップファイルが
用意されている。}%
がdvipdfmx実行時に読み込まれる。
%===========================================================
+\section{カスタムプリセット機能}
+\label{sec:CustomPreset}
+
+1.7版で新設された「カスタムプリセット機能」とは、
+ユーザが独自にプリセットを用意するためのものである。
+ユーザが定義したプリセット(\Strong{カスタムプリセット})を
+「|pxchfon.cfg|」という名前の
+\Strong{カスタムプリセット定義ファイル}に記述して
+そのファイルを{\TeX}が読める場所に置くと、
+\Pkg{pxchfon}パッケージ読込時にオプションとして指定することで
+カスタムプリセットを利用できるようになる。
+
+カスタムプリセットを定義する命令は以下の通りである。
+これらの命令は |pxchfon.cfg| の中でのみ利用できる。
+\begin{itemize}
+\item |\pxchfonDeclareOneWeightPreset{|\Meta{名前}|}{|%
+ \Meta{明朝}|}{|\Meta{ゴシック}|}|\Means
+ 単ウェイトのカスタムプリセットを定義する。
+ プリセットの名前は\Meta{名前}の文字列の前に「|user:|」を
+ 前置したものになる。
+ 第2引数以降は使用するフォントファイル名
+ (TTC形式の場合は番号も含めて |:番号:ファイル名| の形式)
+ を指定する。
+\item |\pxchfonDeclareMultiWeightPreset{|\Meta{名前}|}{|%
+ \Meta{明朝・細}|}{|\Meta{明朝・中}|}{|\Meta{明朝・太}|}{|%
+ \Meta{ゴシック・中}|}{|\Meta{ゴシック・太}|}{|\Meta{ゴシック・極太}|}{|%
+ \Meta{ゴシック・単}|}{|\Meta{丸ゴシック}|}|\Means
+ 多ウェイトのカスタムプリセットを定義する。
+ 引数の意味は前項と同様である。
+ \Meta{ゴシック・単}は「|oneweight| オプション指定時のゴシック体」
+ を表す。
+\end{itemize}
+
+例えば、全ての和文フォントを(Microsoft Office付属の)
+「HG創英角ポップ体」に置き換えるような単ウェイトの
+カスタムプリセット |user:soeikakupoptai| を定義するには
+次の命令を実行する。
+\begin{quote}\small\begin{verbatim}
+\pxchfonDeclareOneWeightPreset{soeikakupoptai}
+ {:0:HGRPP1.TTC}{:0:HGRPP1.TTC}
+\end{verbatim}\end{quote}
+
+このカスタムプリセットを利用したい場合はパッケージ読込
+を以下のようにする。
+\begin{quote}\small\begin{verbatim}
+\usepackage[user:soeikakupoptai,...]{pxchfon}
+\end{verbatim}\end{quote}
+
+
+%===========================================================
\section{Unicode直接指定}
\label{sec:DirectUnicode}
@@ -1024,21 +1107,21 @@
\paragraph{“Unicode直接指定”オプション}
以下のパッケージオプションを指定することで
-Unicode直接指定が有効になる。
+Unicode直接指定の有効・無効を切り替えられる。
\begin{itemize}
\item |unicode|\Means
全般的にUnicode直接指定を利用する。
- 最も理想的な設定であるが、現存の{\TeX} Live 2017では利用できない。
- \Note dvipdfmxの20170918版以降({\TeX} Live 2018以降)が必要。
+ 最も理想的な設定であるが、\Strong{{\TeX} Live 2018以降のdvipdfmx}%
+ (20170918版以降)が必要である。
\item |unicode*|\Means
- |unicode| と同様だが、{\TeX} Live 2017のdvipdfmaに対応するために
- 妥協を入れた(過渡的な)設定。
- 一部の約物・記号の出力が異常になる可能性がある。
- \Note dvipdfmxの20170318版以降({\TeX} Live 2017以降)が必要。
+ {\TeX} Live 2017のdvipdfmx(20170318版)専用の\Strong{過渡的}な設定。
+ \Note 1.5版以降では\Strong{非推奨}であり、
+ 将来的に廃止される予定である。
\item |directunicode*|\Means
- |unicode| と同様だが、古い({\TeX} Live 2016以前の)dvipdfmaに
- 対応するために、OpenType属性の指定を全く行わない設定。
+ 全般的にUnicode直接指定を利用するが、
+ 古い({\TeX} Live 2016以前の)dvipdfmxに
+ 対応するために、OpenType属性の指定を全く行わない。
つまり、入力のUnicode文字に対する既定のグリフが常に出力され、
異体字の区別は全て無効になる。
\item |directunicode|\Means
@@ -1068,33 +1151,49 @@
\item |noto-jp|
\end{itemize}
-\paragraph{特殊プリセット指定\<(過渡的)}
+\paragraph{特殊プリセット指定\<(非推奨)}
+
+以下に挙げるプリセット設定は{\TeX} Live 2017%
+(dvipdfmx 20170318版)のために用意された特殊な設定である。
+
+1.5版においてこれらのプリセットは\Strong{非推奨}となった。
+将来的には廃止される予定である。
+そのため、これらのプリセットを利用している場合は、
+\Strong{{\TeX}システムを更新}(dvipdfmxを20170918版以降に)した上で、
+“本来の正しい設定”に移行することを推奨する。
-現状の{\TeX} Live 2017のdvipdfmxで |unicode| が使えない
-という問題に対処するため、
-一部のプリセット指定について、
-「|unicode| を指定した理想的な状態を模倣する」
-特殊なプリセット設定を用意した。
-これらの設定はdvipdfmxの20170318版以降({\TeX} Live 2017以降)
-において使用できる。
+\begin{itemize}
+\item |sourcehan+|、|sourcehan-otc+|、|noto+|、|noto-otc+|:\\
+ →代わりに|+|無しの名前(|sourcehan| 等)を指定する。
+ \Note 前述の通り、|unicode| は自動的に補われる。
+ \Note 日本語版以外のフォントはもはや不要である。
+
+\item |yu-win10+|:\\
+ →代わりに |yu-win10| と |unicode| を指定する。
+\end{itemize}
-本来使えないはずの設定を模倣するために、
-少々邪悪な細工を行ている。
+%-------------------
+\subsection{Unicode直接指定に関する注意事項}
+\label{ssec:DirectUnicodeNotice}
\begin{itemize}
-\item |sourcehan+|、|sourcehan-otc+|、
- |noto+|、|noto-otc+|\Means
- これらの特殊プリセット指定は、対応する(|+| 無しの)
- Unicode直接指定専用プリセットの設定を模倣する。
- 日本語用の一部のグリフを
- 日本語以外(繁体中国語等)のフォントに振り替えている。
- 従って、言語別OTF版のフォントファイルを利用する場合は、
- 原則的に全てのCJK言語の版を用意する必要がある。
-
-\item |yu-win10+|\Means
- |yu-win10| に |unicode| を加えた設定を模倣する。
- クオートの出力を正常にするため、クオートのグリフを
- 「Yu Gothic UI」フォントに振り替えている。
+\item プリセット指定または |\set...font| 命令で
+ フォントを置換していないウェイトについては、
+ Unicode直接指定は無効になる。
+ 従って、そのようなウェイトは想定する出力には
+ ならず、またUnicode直接指定を必要とする機能
+ (|expert| や |glyphid| の各オプション)
+ も使えない。
+\item 特に、|expert| については、
+ 非置換のウェイトの動作が非常に複雑で解りにくい。
+ 従って、|expert| を指定する場合は、全ファミリ・ウェイトについて
+ 置換を指定することを推奨する
+ (これに反する場合は警告が出る)。
+\item 非埋込を指定したウェイトについてはUnicode直接指定は
+ 無効になる。
+ この動作も非常に解りにくいため、
+ Unicode直接指定を用いる場合は、非埋込の指定をしないことを推奨する
+ (これに反する場合は警告が出る)。
\end{itemize}
@@ -1104,11 +1203,11 @@
dvipdfmxには元のDVI文書の一部のページだけを抜粋してPDF文書に変換する
機能がある(|-s| オプション)。
-ところが、本パッケージでは、ユーザ命令で指定されたフォントマップ情報を、
+ところが、本パッケージではユーザが指定したフォントマップ情報を
DVIの先頭ページに書き出すという処理方法をとっている
(すなわち「ページ独立性」を保っていない)ため、
先頭ページを含まない抜粋を行った場合は、
-フォント置換が効かないという現象が発生する。
+フォント置換が効かないという不具合が発生する。
この問題を解決するのが |everypage| パッケージオプションである。
このオプションが指定された場合は、
@@ -1122,15 +1221,9 @@
\label{sec:Mechanism-Alph}
指定された和文フォントの半角部分からなる欧文フォントファミリとして
-OT1/cfjar(明朝)、OT1/cfjas(ゴシック)、OT1/cfjam(丸ゴシック)
-の3つ(以下では\Strong{CFJAファミリ}と総称する)を定義している
-\footnote{1.4版からはT1エンコーディングにもCFJAファミリを定義する。
-現状で対応しているのはOT1とT1のみであるので、欧文フォントの置換
-(\texttt{alphabet}や\texttt{relfont}オプション)
-を利用する文書は、欧文エンコーディングがOT1かT1である必要がある。}。
+cfjar(明朝)、cfjas(ゴシック)、cfjam(丸ゴシック)
+の3つ(以下では\Strong{CFJAファミリ}と総称する)を定義している。
その上で、CFJAファミリに対するマップ指定を和文と同じ方法で行っている。
-なお、CFJAファミリは内部ではOT1として扱われるが、
-実際にはOT1の一部のグリフしか持っていない。
\paragraph{alphabetオプション指定時}
オプション |alphabet| を指定した場合、
@@ -1141,9 +1234,56 @@
\paragraph{relfontオプション指定時}
オプション |relfont| を指定した場合、
-CFJAファミリを和文ファミリの従属欧文フォントに
-(cfjarを |\mcfamily| に、cfjasを |\gtfamily| に、
-cfjamを |\mgfamily| に対して)設定する。
+CFJAファミリを和文ファミリの従属欧文フォントに設定する
+(cfjar→|\mcfamily|;cfjas→|\gtfamily|;cfjam→|\mgfamily|)。
+
+\paragraph{利用可能な欧文エンコーディング}
+現状で、CFJAファミリが対応している欧文エンコーディングは
+OT1、T1、TS1の3つである
+\footnote{1.4版でT1に“暫定対応”し、1.5版でT1とTS1に正式に対応した。}%
+(TS1は事前に\Pkg{textcomp}を読み込んだ場合にのみ有効)。
+このため、欧文フォントの置換
+(\texttt{alphabet}や\texttt{relfont}オプション)
+を利用する文書は、欧文エンコーディングがOT1かT1である必要がある
+\footnote{TS1は記号用のエンコーディングであり、本文の既定の
+エンコーディングとして使うものではない。}。
+
+何れのエンコーディングを用いる場合でも、様々な理由により、利用できる
+文字の種類が限られている。
+\begin{enumerate}
+\item AJ1対応のOpenTypeフォントを指定して、かつ |usecmapforalphabet|
+ オプションを指定した場合、
+ 以下の文字(でかつ当該の欧文エンコーディングに含まれるもの)が使える。
+ \Note AJ1対応フォント用のプリセット(|kozuka-pr6n| 等)を
+ 指定した場合は |usecmapforalphabet| は自動的に有効になる。
+ \begin{itemize}
+ \item[a)] ASCII文字
+ \footnote{出力される文字の話であることに注意。
+ 例えば、OT1やT1で \textsf{\textquotesingle}(U+0027)を
+ 入力したときに出力される文字は \textsf{\textquoteright}(U+2019)
+ であり、これはASCII文字ではない。
+ なお、TS1はU+0027を含む。}%
+ およびen-ダッシュ(\textsf{--})。
+ \Note これらは半角幅である。
+ \item[b)] クオート(\textsf{`` '' ` '})。
+ \Note これらは和文用の全角幅の字形を、空きを詰めて半角幅で出力する。
+ \item[c)] em-ダッシュ(\textsf{---})。
+ \Note これらはU+2015の全角幅の字形をそのまま全角幅で出力する。
+ \end{itemize}
+\item 1以外の場合、
+ 以下の文字(でかつ当該の欧文エンコーディングに含まれるもの)が使える。
+ \Note この場合、既定では欧文は |directunicode*| 相当の状態になる。
+ \begin{itemize}
+ \item 1項のa、b、cの文字はフォントが正しい幅
+ (aは\Strong{半角}、bとcは\Strong{全角})の字形を持っていれば使える。
+ \item それ以外でも、Unicode文字の大部分は、
+ フォントが\Strong{半角幅}の字形を持っていれば使える。
+ \Note 半角幅のまま出力される。
+ \item |unicode| オプションを指定すると、正しい幅の字形を優先して
+ 使おうとするため、既定の場合よりも多くの文字が使える。
+ \end{itemize}
+\end{enumerate}
+
%===========================================================
\section{注意事項}
@@ -1155,11 +1295,11 @@
(例えば jsarticle の標準設定ならJISメトリック)
\item 欧文部分を置き換えた場合、残念ながら欧文も等幅
(半角幅)になってしまう。
- さらに、アクセント付きの文字(\'e 等)や非英語文字
- ({\ss} 等)も使えない。
- 大抵の日本語用フォントにはその文字を出力するためのグリフがそもそも
- ないのであるが、例えあったとしても使えない。
-\item \Pkg{japanese-otf}/\Pkg{UTF}パッケージ使用時に |\UTF| や |\CID| で
+% さらに、アクセント付きの文字(\'e 等)や非英語文字
+% ({\ss} 等)も使えない。
+% 大抵の日本語用フォントにはその文字を出力するためのグリフがそもそも
+% ないのであるが、例えあったとしても使えない。
+\item \Pkg{japanese-otf}パッケージ使用時に |\UTF| や |\CID| で
指定した文字が出力されるかは、
指定したフォントがその文字を持っているかに依存する。
\item |deluxe| 付きの\Pkg{japanese-otf}パッケージと |alphabet| 付きの
@@ -1203,7 +1343,7 @@
\subsection{欧文フォントも置き換えた場合(\texttt{alphabet} 指定時)}
欧文フォントを置き換えたDVIファイルは、
-独自の欧文フォント(|r-cfja?-?-l0j| という形式の名前)
+独自の欧文フォント(|r-cfja*| という形式の名前)
を含んでいるので、
少なくともそれに関する設定をしない限りはdvipdfmx以外の
DVIウェアで処理することができない。
@@ -1225,6 +1365,7 @@
r-cfjas-r-@PXcjk0@ msgothic.ttc FontIndex=0
r-cfjas-b-@PXcjk0@ msgothic.ttc FontIndex=0
r-cfjas-x-@PXcjk0@ msgothic.ttc FontIndex=0
+r-cfjam-r-@PXcjk0@ msgothic.ttc FontIndex=0
\end{verbatim}\end{quote}
%===========================================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxchfon.doc.tlpobj new/tlpkg/tlpobj/pxchfon.doc.tlpobj
--- old/tlpkg/tlpobj/pxchfon.doc.tlpobj 2019-03-24 02:24:28.000000000 +0100
+++ new/tlpkg/tlpobj/pxchfon.doc.tlpobj 2020-02-02 01:58:19.000000000 +0100
@@ -1,9 +1,9 @@
name pxchfon.doc
category Package
-revision 50556
+revision 53629
shortdesc doc files of pxchfon
relocated 1
-docfiles size=90
+docfiles size=114
RELOC/doc/platex/pxchfon/LICENSE
RELOC/doc/platex/pxchfon/README-ja.md
RELOC/doc/platex/pxchfon/README.md
++++++ pxchfon.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fonts/sfd/pxchfon/PXcjk0.sfd new/fonts/sfd/pxchfon/PXcjk0.sfd
--- old/fonts/sfd/pxchfon/PXcjk0.sfd 2012-12-11 03:26:25.000000000 +0100
+++ new/fonts/sfd/pxchfon/PXcjk0.sfd 2019-05-19 23:25:06.000000000 +0200
@@ -8,3 +8,29 @@
0x2018 0x0061_0x007A 124: 0x2015 0x02DD 0x007E 0x00A8 129: 0x0022 \
0x0027 0x003C 0x003E 0x005C 0x005F 0x0060 0x007B 0x007C 0x007D \
0x00A2_0x00A3 0x00A5 0x00AC 161: 0xFF61_0xFF9F
+l4j 18: 0x0060 0x00B4 33: 0x0021_0x007E 0x00A8 128: 0x2018_0x2019 \
+ 0x201C_0x201D 161: 0xFF61_0xFF9F
+l5j 13: 0x0027 0x00A1 0x00BF 0x0131 18: 0x0060 0x00B4 22: 0x00AF \
+ 25: 0x00DF 0x00E6 0x0153 0x00F8 0x00C6 0x0152 0x00D8 0x0020_0x0021 \
+ 0x201D 0x0023_0x0026 0x2019 0x0028_0x005B 0x201C 0x005D_0x005F \
+ 0x2018 0x0061_0x007A 124: 0x2015 126: 0x007E 0x00A8 \
+ 161: 0xFF61_0xFF9F
+t1 0x02CB 0x02CA 0x02C6 0x02DC 0x00A8 0x02DD 0x02DA 0x02C7 0x02D8 \
+ 0x02C9 0x02D9 0x00B8 0x02DB 0x201A 0x2039_0x203A 0x201C_0x201E \
+ 0x00AB 0x00BB 0x2013 0x2015 25: 0x0131 0x0237 32: 0x0020_0x0026 \
+ 0x2019 0x0028_0x005F 0x2018 0x0061_0x007E 128: 0x0102 0x0104 0x0106 \
+ 0x010C 0x010E 0x011A 0x0118 0x011E 0x0139 0x013D 0x0141 0x0143 \
+ 0x0147 0x014A 0x0150 0x0154 0x0158 0x015A 0x0160 0x015E 0x0164 \
+ 0x0162 0x0170 0x016E 0x0178_0x0179 0x017D 0x017B 0x0132 0x0130 \
+ 0x0111 0x00A7 0x0103 0x0105 0x0107 0x010D 0x010F 0x011B 0x0119 \
+ 0x011F 0x013A 0x013E 0x0142 0x0144 0x0148 0x014B 0x0151 0x0155 \
+ 0x0159 0x015B 0x0161 0x015F 0x0165 0x0163 0x0171 0x016F 0x00FF \
+ 0x017A 0x017E 0x017C 0x0133 0x00A1 0x00BF 0x00A3 0x00C0_0x00D6 \
+ 0x0152 0x00D8_0x00DE 224: 0x00E0_0x00F6 0x0153 0x00F8_0x00FE \
+ 0x00DF
+ts1 11: 0x00B8 0x02DB 36: 0x0024 39: 0x0027 42: 0x204E 44: 0x002C \
+ 46: 0x002E 0x2044 61: 0x2212 87: 0x2126 91: 0x301A 93: 0x301B \
+ 96: 0x0060 126: 0x02F7 128: 0x02D8 0x02C7 0x02DD 132: 0x2020_0x2021 \
+ 0x2016 0x2030 0x2022 0x2103 140: 0x0192 151: 0x2122 157: 0x212E \
+ 162: 0x00A2_0x00AA 172: 0x00AC 174: 0x00AE_0x00B7 \
+ 185: 0x00B9_0x00BA 188: 0x00BC_0x00BE 0x20AC 214: 0x00D7 246: 0x00F7
Binary files old/fonts/tfm/public/pxchfon/cfjam-r-l5j.tfm and new/fonts/tfm/public/pxchfon/cfjam-r-l5j.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjam-r-t1.tfm and new/fonts/tfm/public/pxchfon/cfjam-r-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjam-r-ts1.tfm and new/fonts/tfm/public/pxchfon/cfjam-r-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjar-b-l5j.tfm and new/fonts/tfm/public/pxchfon/cfjar-b-l5j.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjar-b-t1.tfm and new/fonts/tfm/public/pxchfon/cfjar-b-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjar-b-ts1.tfm and new/fonts/tfm/public/pxchfon/cfjar-b-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjar-l-l5j.tfm and new/fonts/tfm/public/pxchfon/cfjar-l-l5j.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjar-l-t1.tfm and new/fonts/tfm/public/pxchfon/cfjar-l-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjar-l-ts1.tfm and new/fonts/tfm/public/pxchfon/cfjar-l-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjar-r-l5j.tfm and new/fonts/tfm/public/pxchfon/cfjar-r-l5j.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjar-r-t1.tfm and new/fonts/tfm/public/pxchfon/cfjar-r-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjar-r-ts1.tfm and new/fonts/tfm/public/pxchfon/cfjar-r-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjas-b-l5j.tfm and new/fonts/tfm/public/pxchfon/cfjas-b-l5j.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjas-b-t1.tfm and new/fonts/tfm/public/pxchfon/cfjas-b-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjas-b-ts1.tfm and new/fonts/tfm/public/pxchfon/cfjas-b-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjas-r-l5j.tfm and new/fonts/tfm/public/pxchfon/cfjas-r-l5j.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjas-r-t1.tfm and new/fonts/tfm/public/pxchfon/cfjas-r-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjas-r-ts1.tfm and new/fonts/tfm/public/pxchfon/cfjas-r-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjas-x-l5j.tfm and new/fonts/tfm/public/pxchfon/cfjas-x-l5j.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjas-x-t1.tfm and new/fonts/tfm/public/pxchfon/cfjas-x-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/cfjas-x-ts1.tfm and new/fonts/tfm/public/pxchfon/cfjas-x-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjam-r-t1.tfm and new/fonts/tfm/public/pxchfon/r-cfjam-r-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjam-r-ts1.tfm and new/fonts/tfm/public/pxchfon/r-cfjam-r-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjar-b-t1.tfm and new/fonts/tfm/public/pxchfon/r-cfjar-b-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjar-b-ts1.tfm and new/fonts/tfm/public/pxchfon/r-cfjar-b-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjar-l-t1.tfm and new/fonts/tfm/public/pxchfon/r-cfjar-l-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjar-l-ts1.tfm and new/fonts/tfm/public/pxchfon/r-cfjar-l-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjar-r-t1.tfm and new/fonts/tfm/public/pxchfon/r-cfjar-r-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjar-r-ts1.tfm and new/fonts/tfm/public/pxchfon/r-cfjar-r-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjas-b-t1.tfm and new/fonts/tfm/public/pxchfon/r-cfjas-b-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjas-b-ts1.tfm and new/fonts/tfm/public/pxchfon/r-cfjas-b-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjas-r-t1.tfm and new/fonts/tfm/public/pxchfon/r-cfjas-r-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjas-r-ts1.tfm and new/fonts/tfm/public/pxchfon/r-cfjas-r-ts1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjas-x-t1.tfm and new/fonts/tfm/public/pxchfon/r-cfjas-x-t1.tfm differ
Binary files old/fonts/tfm/public/pxchfon/r-cfjas-x-ts1.tfm and new/fonts/tfm/public/pxchfon/r-cfjas-x-ts1.tfm differ
Binary files old/fonts/vf/public/pxchfon/cfjam-r-l5j.vf and new/fonts/vf/public/pxchfon/cfjam-r-l5j.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjam-r-t1.vf and new/fonts/vf/public/pxchfon/cfjam-r-t1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjam-r-ts1.vf and new/fonts/vf/public/pxchfon/cfjam-r-ts1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjar-b-l5j.vf and new/fonts/vf/public/pxchfon/cfjar-b-l5j.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjar-b-t1.vf and new/fonts/vf/public/pxchfon/cfjar-b-t1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjar-b-ts1.vf and new/fonts/vf/public/pxchfon/cfjar-b-ts1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjar-l-l5j.vf and new/fonts/vf/public/pxchfon/cfjar-l-l5j.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjar-l-t1.vf and new/fonts/vf/public/pxchfon/cfjar-l-t1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjar-l-ts1.vf and new/fonts/vf/public/pxchfon/cfjar-l-ts1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjar-r-l5j.vf and new/fonts/vf/public/pxchfon/cfjar-r-l5j.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjar-r-t1.vf and new/fonts/vf/public/pxchfon/cfjar-r-t1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjar-r-ts1.vf and new/fonts/vf/public/pxchfon/cfjar-r-ts1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjas-b-l5j.vf and new/fonts/vf/public/pxchfon/cfjas-b-l5j.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjas-b-t1.vf and new/fonts/vf/public/pxchfon/cfjas-b-t1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjas-b-ts1.vf and new/fonts/vf/public/pxchfon/cfjas-b-ts1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjas-r-l5j.vf and new/fonts/vf/public/pxchfon/cfjas-r-l5j.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjas-r-t1.vf and new/fonts/vf/public/pxchfon/cfjas-r-t1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjas-r-ts1.vf and new/fonts/vf/public/pxchfon/cfjas-r-ts1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjas-x-l5j.vf and new/fonts/vf/public/pxchfon/cfjas-x-l5j.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjas-x-t1.vf and new/fonts/vf/public/pxchfon/cfjas-x-t1.vf differ
Binary files old/fonts/vf/public/pxchfon/cfjas-x-ts1.vf and new/fonts/vf/public/pxchfon/cfjas-x-ts1.vf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/pxchfon/pxchfon.sty new/tex/platex/pxchfon/pxchfon.sty
--- old/tex/platex/pxchfon/pxchfon.sty 2019-03-23 23:05:34.000000000 +0100
+++ new/tex/platex/pxchfon/pxchfon.sty 2020-02-01 23:13:57.000000000 +0100
@@ -1,7 +1,7 @@
%%
%% This is file 'pxchfon.sty'.
%%
-%% Copyright (c) 2019 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2009-2020 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,14 +10,9 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxchfon}[2019/03/24 v1.4a]
+\ProvidesPackage{pxchfon}[2020/02/01 v1.7b]
\def\pxcz@pkgname{pxchfon}
-%% preparations
-\def\pxcz@error{\PackageError\pxcz@pkgname}
-\def\pxcz@warn{\PackageWarning\pxcz@pkgname}
-\def\pxcz@info{\PackageInfo\pxcz@pkgname}
-
%--------------------------------------- general
%% variables
@@ -44,6 +39,9 @@
%% \pxcz@onlypreamble@def\CS
\def\pxcz@onlypreamble@def#1{%
\@onlypreamble#1\def#1}
+%% \pxcz@onlypreamble@let\CS
+\def\pxcz@onlypreamble@let#1{%
+ \@onlypreamble#1\let#1}
%% \pxcz@csuse@or{<csname>}{<default>}
\def\pxcz@csuse@or#1#2{%
@@ -88,6 +86,10 @@
\edef\pxcz@tmpa{\string\ucs}\edef\pxcz@tmpb{\meaning\ucs}
\ifx\pxcz@tmpa\pxcz@tmpb \pxcz@uptextrue \fi
+%% \pxcz@JYn
+\edef\pxcz@JYn{%
+ \ifpxcz@uptex JY2\else JY1\fi}
+
%% \ifpxcz@otf@deluxe
\newif\ifpxcz@otf@deluxe \pxcz@otf@deluxefalse
\@ifpackagewith{otf}{deluxe}{\pxcz@otf@deluxetrue}{}
@@ -115,6 +117,59 @@
\chardef\pxcz@pxufont@loaded=0
}
+%--------------------------------------- custom presets
+
+%% \pxcz@custom@presets
+\pxcz@onlypreamble@let\pxcz@custom@presets\@empty
+%% \pxcz@custom@apply@opt@unicode
+\pxcz@onlypreamble@let\pxcz@custom@apply@opt@unicode\@empty
+%% freeze
+\pxcz@onlypreamble@let\pxcz@custom\relax
+\let\pxcz@uniweight\relax
+\let\pxcz@multiweight\relax
+
+%% \pxcz@check@avail@custom@presets
+\pxcz@onlypreamble@let\pxcz@check@avail@custom@presets\relax
+\AtEndOfPackage{%
+ \def\pxcz@check@avail@custom@presets#1#2#3{%
+ \PackageError\pxcz@pkgname
+ {Custom presets cannot be registered after\MessageBreak
+ loading pxchfon package}%
+ {\@eha}}}
+
+%% \pxcz@declare@oneweight@preset{<name>}{<f-mc>}{<f-gt>}
+\pxcz@onlypreamble@def\pxcz@declare@oneweight@preset#1#2#3{%
+ \pxcz@check@avail@custom@presets
+ \xdef\pxcz@custom@presets{\pxcz@custom@presets
+ \pxcz@custom{#1}{\pxcz@uniweight{#2}{#3}}}}
+%% \pxcz@declare@multiweight@preset{<name>}{<f-1>}...{<f-8>}
+\pxcz@onlypreamble@def\pxcz@declare@multiweight@preset#1#2#3#4#5#6#7#8#9{%
+ \pxcz@check@avail@custom@presets
+ \xdef\pxcz@custom@presets{\pxcz@custom@presets
+ \pxcz@custom{#1}{\pxcz@multiweight{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}}}
+%%<+> \pxchfonDeclareOneWeightPreset{<name>}{<f-mc>}{<f-gt>}
+\@onlypreamble\pxchfonDeclareOneWeightPreset
+\newcommand*\pxchfonDeclareOneWeightPreset[1]{%
+ \pxcz@declare@oneweight@preset{user:#1}}
+%%<+> \pxchfonDeclareMultiWeightPreset{<name>}{<f-1>}...{<f-8>}
+\@onlypreamble\pxchfonDeclareMultiWeightPreset
+\newcommand*\pxchfonDeclareMultiWeightPreset[1]{%
+ \pxcz@declare@multiweight@preset{user:#1}}
+
+%% Load custom preset definitions
+\IfFileExists{pxchfon-extras.def}{% PXchfon-extras
+ \PackageInfo\pxcz@pkgname
+ {Extra preset settings are loaded\@gobble}%
+ \input{pxchfon-extras.def}%
+}{}
+\IfFileExists{pxchfon.cfg}{% of user
+ \PackageInfo\pxcz@pkgname
+ {Custom preset settings are loaded\@gobble}%
+ \begingroup
+ \makeatother\input{pxchfon.cfg}%
+ \endgroup
+}{}
+
%--------------------------------------- handle options
%% variables
@@ -220,6 +275,7 @@
hiragino-elcapitan-pro,hiragino-elcapitan-pron,%
morisawa-pro,morisawa-pr6n,yu-win,yu-win10,yu-win10+,yu-osx,%
sourcehan-otc,sourcehan,sourcehan-jp,noto-otc,noto,noto-jp,%
+ haranoaji,%
sourcehan-otc+,sourcehan+,noto-otc+,noto+,%
%(alias)
hiragino,noto-otf,%
@@ -233,48 +289,55 @@
\expandafter\pxcz@do\expandafter{\pxcz@x}}
\@for\pxcz@x:=\pxcz@all@abolished@preset\do{%
\expandafter\pxcz@do\expandafter{\pxcz@x}}
+\def\pxcz@custom#1#2{\pxcz@do{#1}}
+\pxcz@custom@presets
% others
% The 'unicode' option means a Unicode-oriented mapping, and requires
% dvipdfmx of version 20170627 or later. The 'unicode-fwid' is a variant.
% The 'unicode*(-fwid)' option is a transitional (deteriorated) version
% of 'unicode(-fwid)' and can work with dvipdfmx of version 20170318.
-\@namedef{pxcz@POPT/unicode}{%
+\pxcz@onlypreamble@csdef{pxcz@POPT/unicode}{%
\let\pxcz@directunicode\pxcz@directunicode@full}
-\@namedef{pxcz@POPT/unicode*}{%
+\pxcz@onlypreamble@csdef{pxcz@POPT/unicode*}{%
\pxcz@uniquifytrue
\let\pxcz@directunicode\pxcz@directunicode@full}
-\@namedef{pxcz@POPT/unicode-fwid}{%
+\pxcz@onlypreamble@csdef{pxcz@POPT/unicode-fwid}{%
\pxcz@fullwidthtrue
\let\pxcz@directunicode\pxcz@directunicode@full}
-\@namedef{pxcz@POPT/unicode*-fwid}{%
+\pxcz@onlypreamble@csdef{pxcz@POPT/unicode*-fwid}{%
\pxcz@fullwidthtrue \pxcz@uniquifytrue
\let\pxcz@directunicode\pxcz@directunicode@full}
\DeclareOption*{%
\pxcz@csuse@or{pxcz@POPT/\CurrentOption}{%
\pxcz@parse@opt\CurrentOption
\ifpxcz@ok\else \@unknownoptionerror \fi}}
-\@onlypreamble\pxcz@parse@opt
-\def\pxcz@parse@opt#1{%
- \expandafter\pxcz@parse@opt@a#1\@nnil}
-\@onlypreamble\pxcz@parse@opt@a
-\def\pxcz@parse@opt@a{%
- \futurelet\pxcz@tok\pxcz@parse@opt@b}
-\@onlypreamble\pxcz@parse@opt@b
-\def\pxcz@parse@opt@b{%
+\pxcz@onlypreamble@def\pxcz@parse@opt#1{%
\pxcz@okfalse
- \let\pxcz@tmpa\remove@to@nnil
- \ifx+\pxcz@tok
- \pxcz@file@preset@tltrue \let\pxcz@tmpa\pxcz@parse@opt@c
- \else\ifx*\pxcz@tok
- \pxcz@file@preset@tlfalse \let\pxcz@tmpa\pxcz@parse@opt@c
- \fi\fi \pxcz@tmpa}
-\@onlypreamble\pxcz@parse@opt@c
-\def\pxcz@parse@opt@c#1#2\@nnil{%
- \pxcz@oktrue
- \edef\pxcz@file@preset{#2}}
+ \pxcz@parse@opt@a{+}{#1}{\pxcz@file@preset@tltrue}%
+ \pxcz@parse@opt@a{*}{#1}{\pxcz@file@preset@tlfalse}%
+ \pxcz@parse@opt@a{tl:}{#1}{\pxcz@file@preset@tltrue}%
+ \pxcz@parse@opt@a{file:}{#1}{\pxcz@file@preset@tlfalse}}
+\pxcz@onlypreamble@def\pxcz@parse@opt@a#1#2#3{%
+ \ifpxcz@ok\else
+ \pxcz@split{#1}{#2}\ifx\pxcz@pre\@empty
+ #3\let\pxcz@file@preset\pxcz@post \pxcz@oktrue
+ \fi
+ \fi}
% dispatch
\ProcessOptions*
+%% 'unicode*' and 'unicode*-fwid' are DEPRECATED
+\ifpxcz@uniquify
+ \PackageWarningNoLine\pxcz@pkgname
+ {IMPORTANT: Option 'unicode*\ifpxcz@fullwidth -fwid\fi'
+ is DEPRECATED!\MessageBreak
+ This option invokes a transitional setting that\MessageBreak
+ is specially tailored for TL2017, and will be\MessageBreak
+ abolished in near future.\MessageBreak
+ You should update to TL2018 or later and use\MessageBreak
+ option 'unicode\ifpxcz@fullwidth -fwid\fi' instead}
+\fi
+
%% 'everypage' needs 'atbegshi' package
\ifpxcz@everypage
\RequirePackage{atbegshi}
@@ -304,10 +367,11 @@
\else \pxcz@alphafalse
\fi\fi\fi\fi
\ifpxcz@alpha
- \IfFileExists{pxchfon0.def}{\relax}{%
- \pxcz@error{Option 'alphabet' not available in Lite edition}%
- {You must install full edition of PXchfon bundle, or specify
- 'noalphabet'\MessageBreak as package option.}%
+ \IfFileExists{pxchfon0.def}{}{%else
+ \PackageError\pxcz@pkgname
+ {Option 'alphabet' not available in Lite edition}%
+ {You must install full edition of PXchfon bundle, or specify
+ 'noalphabet'\MessageBreak as package option.}%
\pxcz@alphafalse}
\fi
@@ -316,9 +380,10 @@
\else \pxcz@relfalse
\fi
\ifpxcz@rel
- \IfFileExists{pxchfon0.def}{\relax}{%
- \pxcz@error{Option 'relfont' not available in Lite edition}%
- {You must install full edition of PXchfon bundle.}%
+ \IfFileExists{pxchfon0.def}{}{%else
+ \PackageError\pxcz@pkgname
+ {Option 'relfont' not available in Lite edition}%
+ {You must install full edition of PXchfon bundle.}%
\pxcz@relfalse}
\fi
@@ -359,11 +424,11 @@
%% variables
\newif\ifpxcz@warn@unless@all@defined
+\newif\ifpxcz@warn@unless@all@embedded
%% \pxcz@apply@opt@unicode
% Forces the 'unicode' setup (unless a directunicode option was given).
-\@onlypreamble\pxcz@apply@opt@unicode
-\def\pxcz@apply@opt@unicode{%
+\pxcz@onlypreamble@def\pxcz@apply@opt@unicode{%
\ifpxcz@directunicode@default % default -> unicode
\pxcz@warn@unicode
\let\pxcz@directunicode\pxcz@directunicode@full
@@ -377,8 +442,7 @@
%% \pxcz@apply@opt@unicodeP
% Forces the 'unicode+' setup, which is a 'unicode' with switch-font
% enabled on the width features.
-\@onlypreamble\pxcz@apply@opt@unicodeP
-\def\pxcz@apply@opt@unicodeP{%
+\pxcz@onlypreamble@def\pxcz@apply@opt@unicodeP{%
\pxcz@uniquifyfalse
\pxcz@switch@font@xwidtrue % 'unicode+'
\ifnum\pxcz@directunicode=\pxcz@directunicode@full\else
@@ -386,10 +450,9 @@
\let\pxcz@directunicode\pxcz@directunicode@full
\fi}
%% \pxcz@warn@unicode
-\@onlypreamble\pxcz@warn@unicode
-\def\pxcz@warn@unicode{%
+\pxcz@onlypreamble@def\pxcz@warn@unicode{%
\PackageWarningNoLine\pxcz@pkgname
- {The option 'unicode(*)' is enforced, because the\MessageBreak
+ {The option 'unicode' is enforced, because the\MessageBreak
preset '\pxcz@main@preset' is selected.}}
%% the setup
@@ -412,6 +475,11 @@
\pxcz@do{noto+}{\pxcz@apply@opt@unicodeP}
\pxcz@do{noto-otc+}{\pxcz@apply@opt@unicodeP}
\pxcz@do{yu-win10+}{\pxcz@apply@opt@unicodeP}
+\pxcz@custom@apply@opt@unicode
+% No-embed is not supported under the 'unicode' setup
+\ifnum\pxcz@directunicode=\pxcz@directunicode@full
+ \pxcz@warn@unless@all@embeddedtrue
+\fi
%% apply default for \pxcz@legacycode
\ifx\pxcz@legacycode\relax
@@ -507,11 +575,9 @@
\newcommand*\setschinesegothicfont{\pxcz@setfont{scg}}
\newcommand*\settchineseminchofont{\pxcz@setfont{tcm}}
\newcommand*\settchinesegothicfont{\pxcz@setfont{tcg}}
-\@onlypreamble\pxcz@setfont
-\def\pxcz@setfont#1{\@ifnextchar[%]
+\pxcz@onlypreamble@def\pxcz@setfont#1{\@ifnextchar[%]
{\pxcz@setfont@a{#1}}{\pxcz@setfont@a{#1}[0]}}
-\@onlypreamble\pxcz@setfont@a
-\def\pxcz@setfont@a#1[#2]#3{%
+\pxcz@onlypreamble@def\pxcz@setfont@a#1[#2]#3{%
\edef\pxcz@tmpa{#3}\pxcz@lower\pxcz@tmpa
\pxcz@split{?:}{?\pxcz@tmpa}%
\ifx\pxcz@pre\relax
@@ -521,8 +587,7 @@
\fi
\else \pxcz@setfont@b{#1}{#3}%
\fi}
-\@onlypreamble\pxcz@setfont@b
-\def\pxcz@setfont@b#1#2{%
+\pxcz@onlypreamble@def\pxcz@setfont@b#1#2{%
\@for\pxcz@tmpx:=#1\do{%
\@namedef{pxcz@FS/\pxcz@tmpx}{#2}}}
\@for\pxcz@x:=\pxcz@sym@list\do{%
@@ -539,12 +604,18 @@
}{}%
}
\def\pxcz@asutf@a#1{%
+ \pxcz@warn@depre@asutf
\kchardef\pxcz@tmpa=`#1\relax
\expandafter\pxcz@asutf@b\meaning\pxcz@tmpa\relax
}
\def\pxcz@asutf@b#1"#2\relax{%
\UTF{#2}%
}
+\def\pxcz@warn@depre@asutf{%
+ \PackageWarningNoLine\pxcz@pkgname
+ {Important: Command '\string\asUTF' is DEPRECATED}%
+ \global\let\pxcz@warn@depre@asutf\relax
+}
\fi
%--------------------------------------- fontmap internals
@@ -566,11 +637,9 @@
%%<*> \usecmapforalphabet/\nousecmapforalphabet
\newcommand*\usecmapforalphabet{%
- \global\let\pxcz@cmap@uni\pxcz@cmap@hwuni}
+ \global\pxcz@cmap@alphatrue}
\newcommand*\nousecmapforalphabet{%
- \global\let\pxcz@cmap@uni\pxcz@cmap@directuni}
-\ifpxcz@cmap@alpha \usecmapforalphabet
-\else \nousecmapforalphabet \fi
+ \global\pxcz@cmap@alphafalse}
%% \pxcz@NEF/<sym>
\def\pxcz@do#1#2{%
@@ -643,18 +712,17 @@
\let\pxcz@lopts\relax
\let\pxcz@mopts\relax
\let\pxcz@font@tribe\relax
+\newif\ifpxcz@noembed@used
%% \pxcz@@jpXX
\edef\pxcz@@jpXX{%
\ifpxcz@mmivjis jp04\else jp90\fi}
%% \pxcz@add@lopt
-\@onlypreamble\pxcz@add@lopt
-\def\pxcz@add@lopt#1{%
+\pxcz@onlypreamble@def\pxcz@add@lopt#1{%
\edef\pxcz@lopts{%
\ifx\pxcz@lopts\@empty\else \pxcz@lopts:\fi#1}}
%% \pxcz@uniquify@lopts
-\@onlypreamble\pxcz@uniquify@lopts
-\def\pxcz@uniquify@lopts#1#2{%
+\pxcz@onlypreamble@def\pxcz@uniquify@lopts#1#2{%
\pxcz@oktrue
\def\pxcz@tmpb{jp90}\ifx\pxcz@tmpb\pxcz@lopts\pxcz@okfalse\fi
\def\pxcz@tmpb{jp04}\ifx\pxcz@tmpb\pxcz@lopts\pxcz@okfalse\fi
@@ -664,17 +732,14 @@
\fi}
%% \pxcz@is@jis@cmap
-\@onlypreamble\pxcz@is@jis@cmap
-\def\pxcz@is@jis@cmap{%
+\pxcz@onlypreamble@def\pxcz@is@jis@cmap{%
\pxcz@okfalse
\expandafter\pxcz@is@jis@cmap@a\pxcz@cmap\pxcz@end}
-\@onlypreamble\pxcz@is@jis@cmap@a
-\def\pxcz@is@jis@cmap@a#1#2\pxcz@end{%
+\pxcz@onlypreamble@def\pxcz@is@jis@cmap@a#1#2\pxcz@end{%
\ifx\pxcz@mt#2\pxcz@mt \pxcz@oktrue \fi}
%% \pxcz@force@mmiv@cmap
-\@onlypreamble\pxcz@force@mmiv@cmap
-\def\pxcz@force@mmiv@cmap{%
+\pxcz@onlypreamble@def\pxcz@force@mmiv@cmap{%
\pxcz@is@jis@cmap \ifpxcz@ok
\edef\pxcz@cmap{\pxcz@pfx@jis\pxcz@cmap}%
\else
@@ -685,8 +750,7 @@
\fi}
%% \pxcz@inspect@font@tribe
-\@onlypreamble\pxcz@inspect@font@tribe
-\def\pxcz@inspect@font@tribe{%
+\pxcz@onlypreamble@def\pxcz@inspect@font@tribe{%
\let\pxcz@font@tribe\@empty
\ifx\pxcz@font\@empty
\else\ifx\pxcz@font\pxcz@noembed
@@ -711,8 +775,7 @@
{Font tribe is '\pxcz@font@tribe':\MessageBreak
\@spaces\pxcz@font\@gobble}%
\fi}
-\@onlypreamble\pxcz@inspect@font@tribe@a
-\def\pxcz@inspect@font@tribe@a#1#2#3{%
+\pxcz@onlypreamble@def\pxcz@inspect@font@tribe@a#1#2#3{%
\pxcz@split{#1}{?\pxcz@font}%
\ifx\pxcz@pre\relax\else
\pxcz@split{#2}{\pxcz@font?}%
@@ -723,8 +786,7 @@
%% \pxcz@switch@font@for{<feature>}
% Modifies \pxcz@font, assuming \pxcz@font@tribe is properly set.
-\@onlypreamble\pxcz@switch@font@for
-\def\pxcz@switch@font@for#1{%
+\pxcz@onlypreamble@def\pxcz@switch@font@for#1{%
\pxcz@csletcs{pxcz@tmpb}{pxcz@switch@font@@\pxcz@font@tribe @#1}%
\ifx\pxcz@tmpb\relax\else
%\typeout{#1:\pxcz@font-->\expandafter\pxcz@tmpb\pxcz@font}%
@@ -772,8 +834,7 @@
\fi
%% \pxcz@declare@entry@modifier{<name>}
-\@onlypreamble\pxcz@declare@entry@modifier
-\def\pxcz@declare@entry@modifier#1{%
+\pxcz@onlypreamble@def\pxcz@declare@entry@modifier#1{%
\pxcz@onlypreamble@csdef{pxcz@MEM/#1}}
%% entry modifiers
@@ -808,14 +869,16 @@
\pxcz@add@lopt{jp90}}
% HWid
\pxcz@declare@entry@modifier{HWid}{%
- \ifx\pxcz@font\pxcz@noembed
- \let\pxcz@cmap\pxcz@cmap@hwuni
- \else\ifnum\pxcz@directunicode=\pxcz@directunicode@full
+ \ifx\pxcz@font\pxcz@noembed \pxcz@okfalse
+ \else\ifnum\pxcz@directunicode=\pxcz@directunicode@full \pxcz@oktrue
+ \else\ifpxcz@cmap@alpha \pxcz@okfalse
+ \else \pxcz@oktrue
+ \fi\fi\fi
+ \ifpxcz@ok
\let\pxcz@cmap\pxcz@cmap@directuni
- \else
- \let\pxcz@cmap\pxcz@cmap@uni
\pxcz@switch@font@for{hwid}%
- \fi\fi
+ \else \let\pxcz@cmap\pxcz@cmap@hwuni
+ \fi
\pxcz@add@lopt{hwid}}
% FWid
\pxcz@declare@entry@modifier{FWid}{%
@@ -865,15 +928,13 @@
\let\pxcz@spec\@empty
%% \pxcz@addtospec{<id>}
-\@onlypreamble\pxcz@addtospec
-\def\pxcz@addtospec#1{%
+\pxcz@onlypreamble@def\pxcz@addtospec#1{%
\begingroup
\let\Entry\pxcz@Entry
\@nameuse{pxcz@ME/#1}%
\endgroup}
%% \Entry{<sym>}{<tfm>}{<cmap>}{<modify>,...}
-\@onlypreamble\pxcz@Entry
-\def\pxcz@Entry#1#2#3#4{%
+\pxcz@onlypreamble@def\pxcz@Entry#1#2#3#4{%
\def\pxcz@sym{#1}\def\pxcz@cmap{#3}%
\let\pxcz@csi\relax \let\pxcz@mopts\@empty \let\pxcz@lopts\@empty
\pxcz@retainfalse \pxcz@retain@csifalse \pxcz@vertfalse
@@ -887,6 +948,8 @@
% resolve no-embed font spec
\ifx\pxcz@font\pxcz@noembed
\edef\pxcz@font{!\@nameuse{pxcz@NEF/\pxcz@sym}}%
+ \pxcz@retaintrue
+ \global\pxcz@noembed@usedtrue
\fi
% apply layout options when using 'unicode'
\ifnum\pxcz@directunicode<\pxcz@directunicode@full\else
@@ -927,8 +990,7 @@
\fi\fi}
%% \pxcz@do@file@preset
-\@onlypreamble\pxcz@do@file@preset
-\def\pxcz@do@file@preset{%
+\pxcz@onlypreamble@def\pxcz@do@file@preset{%
\ifpxcz@file@preset@tl
\pxcz@do@file@preset@a{ptex-}%
\ifpxcz@uptex \pxcz@do@file@preset@a{uptex-}\fi
@@ -939,8 +1001,7 @@
\else
\pxcz@do@file@preset@a{}%
\fi}
-\@onlypreamble\pxcz@do@file@preset@a
-\def\pxcz@do@file@preset@a#1{%
+\pxcz@onlypreamble@def\pxcz@do@file@preset@a#1{%
\pxcz@addtospec@alt\pxcz@mapfile{#1\pxcz@file@preset.map}}
%% \pxcz@addtospec@alt
@@ -952,8 +1013,7 @@
%--------------------------------------- map entry definitions
%% \pxcz@mapentry{<id>}{<text>}
-\@onlypreamble\pxcz@mapentry
-\def\pxcz@mapentry#1{%
+\pxcz@onlypreamble@def\pxcz@mapentry#1{%
\pxcz@onlypreamble@csdef{pxcz@ME/#1}}
%% map entries
@@ -1207,14 +1267,30 @@
\fi
%%<*> \diruni
-\DeclareRobustCommand*{\diruni}{%
- \not@math@alphabet\diruni\relax
- \fontshape{diruni}\selectfont
-}
+\@ifdefinable{\diruni}{%
+ \DeclareRobustCommand*{\diruni}{%
+ \not@math@alphabet\diruni\relax
+ \ifx\cy@encoding\pxcz@JYn % if in standard Japanese encoding
+ \expandafter\let\csname UTF \endcsname\pxcz@du@UTF
+ \kanjishape{diruni}\selectfont
+ \fi
+ }}
%%<*> \textdiruni{<text>}
-\newcommand*{\textdiruni}[1]{%
- \relax\ifmmode\hbox\fi{\diruni#1}%
+\@ifdefinable{\textdiruni}{%
+ \DeclareRobustCommand*{\textdiruni}[1]{%
+ \relax\ifmmode\hbox\fi{\diruni#1}%
+ }}
+
+%% \pxcz@du@UTF
+\def\pxcz@du@UTF#1{%
+ \kchar"#1\relax}
+
+%% redefinition in PDF-strings
+\providecommand*\pdfstringdefPreHook{}
+\g@addto@macro\pdfstringdefPreHook{%
+ \let\diruni\@empty
+ \let\textdiruni\@firstofone
}
\ifpxcz@diruni@ok %---- <*diruni-ok>
@@ -1250,14 +1326,12 @@
\fi
%% \pxcz@du@decl@shape{<fam>}{<ser>}<sw>{<tfmname>}{<suffix>}
-\@onlypreamble\pxcz@du@decl@shape
-\def\pxcz@du@decl@shape#1#2#3#4#5{%
+\pxcz@onlypreamble@def\pxcz@du@decl@shape#1#2#3#4#5{%
\DeclareFontShape{JY2}{#1}{#2}{diruni}{<->%
\pxcz@du@shape@spec{#3}{#4}{#5}{h}}{}%
\DeclareFontShape{JT2}{#1}{#2}{diruni}{<->%
\pxcz@du@shape@spec{#3}{#4}{#5}{v}}{}}
-\@onlypreamble\pxcz@du@shape@spec
-\def\pxcz@du@shape@spec#1#2#3#4{%
+\pxcz@onlypreamble@def\pxcz@du@shape@spec#1#2#3#4{%
\if#1t%
s*[\pxcz@du@scale]#2\if t\pxcz@otf@mmivjis#3\fi-#4%
\else#2\fi}
@@ -1303,8 +1377,7 @@
\edef\pxcz@tmpb{{\f@encoding}{\pxcz@tmpa}{\pxcz@tmpb}}%
\expandafter\pxcz@do\pxcz@tmpb}}%
}
-\@onlypreamble\pxcz@force@load@font@fam
-\def\pxcz@force@load@font@fam#1{%
+\pxcz@onlypreamble@def\pxcz@force@load@font@fam#1{%
\begingroup
\edef\f@family{#1}\def\f@series{m}\def\f@shape{n}%
\xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}%
@@ -1321,16 +1394,18 @@
\kanjishape{dirgid}\selectfont
\kchar#1\relax
\endgroup}
+\def\pxcz@hy@gid#1{?}
+\g@addto@macro\pdfstringdefPreHook{%
+ \let\gid\pxcz@hy@gid
+}
%% \pxcz@dg@decl@shape{<fam>}{<ser>}<sw>{<tfmname>}
-\@onlypreamble\pxcz@dg@decl@shape
-\def\pxcz@dg@decl@shape#1#2#3#4{%
+\pxcz@onlypreamble@def\pxcz@dg@decl@shape#1#2#3#4{%
\DeclareFontShape{JY2}{#1}{#2}{dirgid}{<->%
\pxcz@dg@shape@spec{#3}{#4}{h}}{}%
\DeclareFontShape{JT2}{#1}{#2}{dirgid}{<->%
\pxcz@dg@shape@spec{#3}{#4}{v}}{}}
-\@onlypreamble\pxcz@dg@shape@spec
-\def\pxcz@dg@shape@spec#1#2#3{%
+\pxcz@onlypreamble@def\pxcz@dg@shape@spec#1#2#3{%
\if#1t%
s*[\pxcz@du@scale]#2-#3%
\else#2\fi}
@@ -1373,7 +1448,8 @@
You must use upLaTeX and load pxchfon after 'otf' package.}
\fi
\def\pxcz@err@diruni{%
- \pxcz@error{Command '\string\diruni' not available}%
+ \PackageError\pxcz@pkgname
+ {Command '\string\diruni' not available}%
{\pxcz@errhelp@diruni\MessageBreak\@ehc}%
\global\let\pxcz@err@diruni\relax}
\AtBeginDocument{%
@@ -1386,22 +1462,32 @@
%--------------------------------------- 'alphabet' option
+%% check for textcomp
+\newif\ifpxcz@textcomp
+\ifx\DeclareEncodingSubset\@undefined\else
+ \expandafter\ifx\csname T@TS1\endcsname\relax\else
+ \pxcz@textcomptrue
+\fi\fi
+
%% \pxcz@afont@enc@list
\def\pxcz@afont@enc@list{OT1,T1}
+\ifpxcz@textcomp \g@addto@macro\pxcz@afont@enc@list{,TS1}\fi
%% \pxcz@decl@family{<fam>}
-\@onlypreamble\pxcz@decl@family
-\def\pxcz@decl@family#1{%
+\pxcz@onlypreamble@def\pxcz@decl@family#1{%
+ \ifpxcz@textcomp \DeclareEncodingSubset{TS1}{#1}{3}\fi
\@for\pxcz@x:=\pxcz@afont@enc@list\do{%
\DeclareFontFamily{\pxcz@x}{#1}{}}}
%% \pxcz@decl@shape{<fam>}{<ser>}<sw>{<font>}
-\@onlypreamble\pxcz@decl@shape
-\def\pxcz@decl@shape#1#2#3#4{%
+\pxcz@onlypreamble@def\pxcz@decl@shape#1#2#3#4{%
\if s#3%
\@for\pxcz@x:=\pxcz@afont@enc@list\do{%
\DeclareFontShape{\pxcz@x}{#1}{#2}{n}{<->ssub*#4}{}}%
\else
- \DeclareFontShape{OT1}{#1}{#2}{n}{<->#4-l0j}{}%
- \DeclareFontShape {T1}{#1}{#2}{n}{<->#4-l0j}{}% FIXME
+ \DeclareFontShape{OT1}{#1}{#2}{n}{<->#4-l5j}{}%
+ \DeclareFontShape {T1}{#1}{#2}{n}{<->#4-t1}{}%
+ \ifpxcz@textcomp
+ \DeclareFontShape{TS1}{#1}{#2}{n}{<->#4-ts1}{}%
+ \fi
\fi
\@for\pxcz@x:=\pxcz@afont@enc@list\do{%
\DeclareFontShape{\pxcz@x}{#1}{#2}{it}{<->ssub*#1/#2/n}{}%
@@ -1435,11 +1521,11 @@
\pxcz@decl@family{cfjas}%
\pxcz@decl@shape{cfjas}{m}n{cfjas-r}%
\pxcz@decl@shape{cfjas}{bx}s{cfjas/m/n}%
-\@onlypreamble\pxcz@err@dxotf
-\def\pxcz@err@dxotf#1{%
- \pxcz@error{Loaded before '#1' with 'deluxe'}%
- {This package must be loaded after '#1' with 'deluxe' option
- when using both.}}
+\pxcz@onlypreamble@def\pxcz@err@dxotf#1{%
+ \PackageError\pxcz@pkgname
+ {Loaded before '#1' with 'deluxe'}%
+ {This package must be loaded after '#1' with 'deluxe' option
+ when using both.}}
\g@addto@macro\pxcz@check@extra{%
\expandafter\let\expandafter\pxcz@x\csname pxcz@FS/mnr\endcsname
\ifx\pxcz@x\@empty\else
@@ -1463,55 +1549,45 @@
\def\pxcz@mgfamily@hook{\romanfamily{cfjam}}
%% \pxcz@set@page@hook{<text>}
-\@onlypreamble\pxcz@set@page@hook
\ifpxcz@everypage
-\def\pxcz@set@page@hook#1{%
+\pxcz@onlypreamble@def\pxcz@set@page@hook#1{%
\AtBeginShipout{\setbox\AtBeginShipoutBox=\vbox{%
\baselineskip\z@skip\lineskip\z@skip\lineskiplimit\z@
#1\copy\AtBeginShipoutBox}}}
\else
-\def\pxcz@set@page@hook#1{%
+\pxcz@onlypreamble@def\pxcz@set@page@hook#1{%
% this is \AtBeginDvi with forcing of yoko-dir added
\global\setbox\@begindvibox\vbox{\yoko\unvbox\@begindvibox#1}}
\fi
%% \pxcz@check@alldefined{<sym>,...}
-\@onlypreamble\pxcz@check@alldefined
-\def\pxcz@check@alldefined#1{%
+\pxcz@onlypreamble@def\pxcz@check@alldefined#1{%
\pxcz@oktrue
\@for\pxcz@x:={#1}\do{%
\expandafter\ifx\csname pxcz@FS/\pxcz@x\endcsname\@empty
\pxcz@okfalse \fi}}
%% \pxcz@decl@relfont{<fam>}{<afam>}{<ser>,...}
-\@onlypreamble\pxcz@decl@relfont
-\def\pxcz@decl@relfont#1#2#3{%
+\pxcz@onlypreamble@def\pxcz@decl@relfont#1#2#3{%
\@for\pxcz@x:={#3}\do{%
\expandafter\ifx\csname\k@encoding/#1/\pxcz@x/n\endcsname\relax\else
\edef\pxcz@tmpa{\noexpand\DeclareRelationFont
{\k@encoding}{#1}{\pxcz@x}{}{\pxcz@afont@enc}{#2}{\pxcz@x}{}%
}\pxcz@tmpa
\fi}%
- \pxcz@info{Relation font set for \k@encoding/#1}}
+ \PackageInfo\pxcz@pkgname
+ {Relation font set for \k@encoding/#1}}
%% \pxcz@check@afont@enc
-\@onlypreamble\pxcz@check@afont@enc
-\def\pxcz@check@afont@enc{%
+\pxcz@onlypreamble@def\pxcz@check@afont@enc{%
\pxcz@oktrue % OT1 is always okay
- \def\pxcz@tmpa{OT1}\ifx\pxcz@tmpa\pxcz@afont@enc\else
- % otherwise, noembed must not be used
- \@for\pxcz@x:=\pxcz@sym@list\do{%
- \expandafter\ifx\csname pxcz@FS/\pxcz@x\endcsname\pxcz@noembed
- \pxcz@okfalse \fi}%
- \expandafter\ifx\csname\pxcz@afont@enc+cfjar\endcsname\relax
- \pxcz@okfalse \fi
- \fi
+ \expandafter\ifx\csname\pxcz@afont@enc+cfjar\endcsname\relax
+ \pxcz@okfalse \fi
% if not okay, use OT1 instead
\ifpxcz@ok\else \def\pxcz@afont@enc{OT1}\fi}
%% the begin-document hook
-\@onlypreamble\pxcz@doc@hook
-\def\pxcz@doc@hook{%
+\pxcz@onlypreamble@def\pxcz@doc@hook{%
\pxcz@user@hook
\ifx\pxcz@file@preset\relax\else
\pxcz@do@file@preset
@@ -1536,7 +1612,8 @@
% decide alphabet font encoding
\edef\pxcz@afont@enc{\encodingdefault}%
\pxcz@check@afont@enc\ifpxcz@ok\else
- \pxcz@warn{Default encoding is changed to 'OT1' because%
+ \PackageWarningNoLine\pxcz@pkgname
+ {Default encoding is changed to 'OT1' because%
\MessageBreak'alphabet' option is in effect}%
\renewcommand\encodingdefault{OT1}%
\fi
@@ -1593,10 +1670,17 @@
\ifpxcz@ok\else
\PackageWarningNoLine\pxcz@pkgname
{Some font weights are not substituted.\MessageBreak
- Thus some features of pxchfon might not work\MessageBreak
+ So some features of pxchfon might not work\MessageBreak
properly when applied to such weights}%
\fi
\fi
+ % warn if some weights are not embedded, and if necessaty
+ \ifpxcz@warn@unless@all@embedded \ifpxcz@noembed@used
+ \PackageWarningNoLine\pxcz@pkgname
+ {Some font weights have no-embed setting.\MessageBreak
+ So some features of pxchfon might not work\MessageBreak
+ properly when applied to such weights}%
+ \fi\fi
%
\pxcz@check@extra
\pxcz@addtospec{USR}%
@@ -1636,8 +1720,7 @@
%% \pxcz@insf@read@word{<offset>}
% Reads a 32-bit integer from \pxcz@insf@file at the given offset,
% and sets the value (or -1 on error) to \pxcz@cntr.
-\@onlypreamble\pxcz@insf@read@word
-\def\pxcz@insf@read@word#1{%
+\pxcz@onlypreamble@def\pxcz@insf@read@word#1{%
\pxcz@cntr=#1\relax
\edef\pxcz@tmpa{\pdffiledump offset\pxcz@cntr length1{\pxcz@insf@file}}%
\ifnum"0\pxcz@tmpa<"80
@@ -1652,8 +1735,7 @@
%% \pxcz@inspect@flavor{<path>}{<index>}
% Sets the result to \pxcz@cntr.
% 1=CFF, 0=TTF, <0 if error.
-\@onlypreamble\pxcz@inspect@flavor
-\def\pxcz@inspect@flavor#1#2{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor#1#2{%
\edef\pxcz@insf@file{#1}%
\mathchardef\pxcz@insf@idx=#2\relax
\pxcz@insf@read@word{0}% outer tag
@@ -1684,14 +1766,12 @@
%% \pxcz@kpse@dir@cache
% to spped up \pxcz@kpsewhich
-\@onlypreamble\pxcz@kpse@dir@cache
-\let\pxcz@kpse@dir@cache\@empty
+\pxcz@onlypreamble@let\pxcz@kpse@dir@cache\@empty
%% \pxcz@kpsewhich{<filename>}
% Sets to \pxcz@kpse@dir the directory where the file is found
% (or \relax if not found).
-\@onlypreamble\pxcz@kpsewhich
-\def\pxcz@kpsewhich#1{%
+\pxcz@onlypreamble@def\pxcz@kpsewhich#1{%
\edef\pxcz@tmpa{#1}\let\pxcz@kpse@dir\relax
\let\do\pxcz@kpsewhich@do \pxcz@kpse@dir@cache\relax
\ifx\pxcz@kpse@dir\relax
@@ -1708,15 +1788,13 @@
\fi
\endlinechar\pxcz@tmpz
\fi}
-\@onlypreamble\pxcz@kpsewhich@a
-\def\pxcz@kpsewhich@a#1/#2\pxcz@end{%
+\pxcz@onlypreamble@def\pxcz@kpsewhich@a#1/#2\pxcz@end{%
\ifx\pxcz@end#2\pxcz@end \expandafter\@gobble
\else \expandafter\@firstofone
\fi{%
\edef\pxcz@kpse@dir{\pxcz@kpse@dir#1/}%
\pxcz@kpsewhich@a#2\pxcz@end}}
-\@onlypreamble\pxcz@kpsewhich@do
-\def\pxcz@kpsewhich@do#1{%
+\pxcz@onlypreamble@def\pxcz@kpsewhich@do#1{%
\ifnum0\pdffilesize{#1\pxcz@tmpa}>\z@
\def\pxcz@kpse@dir{#1}%
\expandafter\pxcz@kpsewhich@do@a
@@ -1725,25 +1803,21 @@
%% \pxcz@inspect@flavor@all
% Sets \[pxcz@OT/<sym>].
-\@onlypreamble\pxcz@inspect@flavor@all
-\def\pxcz@inspect@flavor@all{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor@all{%
\@for\pxcz@tmpa:=\pxcz@sym@list\do{%
\edef\pxcz@tmpa{{\pxcz@tmpa}{\@nameuse{pxcz@FS/\pxcz@tmpa}}}%
\expandafter\pxcz@inspect@flavor@all@a\pxcz@tmpa}}
-\@onlypreamble\pxcz@inspect@flavor@all@a
-\def\pxcz@inspect@flavor@all@a#1#2{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor@all@a#1#2{%
\def\pxcz@tmpa{#2}%
\ifx\pxcz@tmpa\@empty
\else\ifx\pxcz@tmpa\pxcz@noembed
\@namedef{pxcz@OT/#1}{t}%
\else \pxcz@inspect@flavor@all@b#2\pxcz@end{#1}%
\fi\fi}
-\@onlypreamble\pxcz@inspect@flavor@all@b
-\def\pxcz@inspect@flavor@all@b#1#2\pxcz@end{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor@all@b#1#2\pxcz@end{%
\edef\pxcz@tmpa{\ifx:#1\else:0:\fi#1#2}%
\expandafter\pxcz@inspect@flavor@all@c\pxcz@tmpa\pxcz@end}
-\@onlypreamble\pxcz@inspect@flavor@all@c
-\def\pxcz@inspect@flavor@all@c:#1:#2\pxcz@end#3{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor@all@c:#1:#2\pxcz@end#3{%
\pxcz@kpsewhich{#2}%
\unless\ifx\pxcz@kpse@dir\relax
\pxcz@inspect@flavor{\pxcz@kpse@dir#2}{#1}%
@@ -1769,11 +1843,9 @@
\edef\pxcz@dump@text{\pxcz@dump@text#1}}
%% \pxcz@dump@special{<string>}
-\@onlypreamble\pxcz@dump@special
-\def\pxcz@dump@special#1{%
+\pxcz@onlypreamble@def\pxcz@dump@special#1{%
\pxcz@dump@special@a#1\bxcz@end}
-\@onlypreamble\pxcz@dump@special@a
-\def\pxcz@dump@special@a#1 #2\bxcz@end{%
+\pxcz@onlypreamble@def\pxcz@dump@special@a#1 #2\bxcz@end{%
\@nameuse{pxcz@dump@special@#1}\@gobble{#2}}
\@namedef{pxcz@dump@special@pdf:mapline}#1#2{%
\pxcz@add@to@dump@text{\pxcz@rmin#2^^J}}
@@ -1783,8 +1855,7 @@
\ifx-#1\@percentchar\else#1\fi}
%% \pxcz@dump@spec@to{<file-name>}
-\@onlypreamble\pxcz@dump@spec@to
-\def\pxcz@dump@spec@to#1{%
+\pxcz@onlypreamble@def\pxcz@dump@spec@to#1{%
\def\pxcz@dump@text{\@percentchar\space#1^^J}%
\let\special\pxcz@dump@special
\pxcz@spec \let\special\relax
@@ -1794,15 +1865,13 @@
\immediate\closeout\pxcz@fout}
%% \pxcz@do@dumpmap
-\@onlypreamble\pxcz@do@dumpmap
-\def\pxcz@do@dumpmap{%
+\pxcz@onlypreamble@def\pxcz@do@dumpmap{%
\begingroup
\pxcz@dump@spec@to{\jobname.map}%
\endgroup}
%% \pxcz@do@dumpmap@tl
-\@onlypreamble\pxcz@do@dumpmap@tl
-\def\pxcz@do@dumpmap@tl{%
+\pxcz@onlypreamble@def\pxcz@do@dumpmap@tl{%
\begingroup
\let\pxcz@spec@save\pxcz@spec
\pxcz@do@dumpmap@tl@a{STD}{ptex-\jobname}%
@@ -1811,8 +1880,7 @@
\pxcz@do@dumpmap@tl@a{UPOTF}{otf-up-\jobname}%
\global\let\pxcz@spec\pxcz@spec@save
\endgroup}
-\@onlypreamble\pxcz@do@dumpmap@tl@a
-\def\pxcz@do@dumpmap@tl@a#1#2{%
+\pxcz@onlypreamble@def\pxcz@do@dumpmap@tl@a#1#2{%
\global\let\pxcz@spec\@empty
\pxcz@addtospec{#1}%
\pxcz@dump@spec@to{#2.map}}
@@ -1821,16 +1889,13 @@
%--------------------------------------- preset japanese font mappings
%% \pxcz@declare@preset{<name>}{<text>}
-\@onlypreamble\pxcz@declare@preset
-\def\pxcz@declare@preset#1{%
+\pxcz@onlypreamble@def\pxcz@declare@preset#1{%
\pxcz@onlypreamble@csdef{pxcz@the@preset@#1}}
%% \pxcz@declare@preset@alias{<name1>}{<name2>}
-\@onlypreamble\pxcz@declare@preset@alias
-\def\pxcz@declare@preset@alias#1#2{%
- \expandafter\pxcz@decl@preset@alias@a\csname pxcz@the@preset@#1%
+\pxcz@onlypreamble@def\pxcz@declare@preset@alias#1#2{%
+ \expandafter\pxcz@onlypreamble@let\csname pxcz@the@preset@#1%
\expandafter\endcsname\csname pxcz@the@preset@#2\endcsname}
-\def\pxcz@decl@preset@alias@a#1#2{\@onlypreamble#1\let#1#2}
%% \pxcz@abolished@preset
\pxcz@onlypreamble@def\pxcz@abolished@preset{%
@@ -1841,14 +1906,12 @@
\pxcz@onlypreamble@csdef{pxcz@the@preset@\pxcz@x}{\pxcz@abolished@preset}}
%% \pxcz@uniweight{<font-mn>}{<font-gt>}
-\@onlypreamble\pxcz@uniweight
-\def\pxcz@uniweight#1#2{%
+\pxcz@onlypreamble@def\pxcz@uniweight#1#2{%
\setminchofont{#1}\setgothicfont{#2}\setmarugothicfont{#2}}
%% \pxcz@multiweight{<font-mnl>}{<font-mnr>}{<font-mnb>}
%% {<font-gtr>}{<font-gtb>}{<font-gtx>}{<font-gtu>}{<font-mgr>}
-\@onlypreamble\pxcz@multiweight
-\def\pxcz@multiweight#1#2#3#4#5#6#7#8{%
+\pxcz@onlypreamble@def\pxcz@multiweight#1#2#3#4#5#6#7#8{%
\setminchofont{#2}\setgothicfont{#7}\setmarugothicfont{#8}%
\ifpxcz@oneweight\else
\setlightminchofont{#1}\setboldminchofont{#3}%
@@ -1859,6 +1922,10 @@
\pxcz@onlypreamble@def\pxcz@use@preset#1{%
\csname pxcz@the@preset@#1\endcsname}
+%% Redefine \pxcz@custom
+\let\pxcz@custom\pxcz@declare@preset
+\pxcz@custom@presets
+
%% definitions of main preset mappings
\pxcz@declare@preset{noembed}{%
\pxcz@uniweight{*}{*}}
@@ -1993,6 +2060,13 @@
{NotoSansJP-Regular.otf}{NotoSansJP-Bold.otf}%
{NotoSansJP-Black.otf}{NotoSansJP-Medium.otf}%
{NotoSansJP-Medium.otf}}
+\pxcz@declare@preset{haranoaji}{%
+ \usecmapforalphabet
+ \pxcz@multiweight{HaranoAjiMincho-Light.otf}%
+ {HaranoAjiMincho-Regular.otf}{HaranoAjiMincho-Bold.otf}%
+ {HaranoAjiGothic-Regular.otf}{HaranoAjiGothic-Bold.otf}%
+ {HaranoAjiGothic-Heavy.otf}{HaranoAjiGothic-Medium.otf}%
+ {HaranoAjiGothic-Medium.otf}}
%(alias)
\pxcz@declare@preset@alias{hiragino}{hiragino-pro}
\pxcz@declare@preset@alias{noEmbed}{noembed}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/pxchfon/pxjafont.sty new/tex/platex/pxchfon/pxjafont.sty
--- old/tex/platex/pxchfon/pxjafont.sty 2019-01-23 22:25:01.000000000 +0100
+++ new/tex/platex/pxchfon/pxjafont.sty 2020-02-01 23:13:57.000000000 +0100
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjafont.sty'.
%%
-%% Copyright (c) 2019 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2009-2020 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxchfon.tlpobj new/tlpkg/tlpobj/pxchfon.tlpobj
--- old/tlpkg/tlpobj/pxchfon.tlpobj 2019-03-24 02:24:28.000000000 +0100
+++ new/tlpkg/tlpobj/pxchfon.tlpobj 2020-02-02 01:58:19.000000000 +0100
@@ -1,6 +1,6 @@
name pxchfon
category Package
-revision 50556
+revision 53629
shortdesc Japanese font setup for pLaTeX and upLaTeX
relocated 1
longdesc This package enables users to declare in their document which
@@ -13,42 +13,97 @@
longdesc fonts used in the japanese-otf package. System requirements:
longdesc TeX format: LaTeX. TeX engine: pTeX or upTeX. DVIware:
longdesc dvipdfmx. Prerequisite packages: atbegshi.
-runfiles size=49
+runfiles size=106
RELOC/fonts/sfd/pxchfon/PXcjk0.sfd
RELOC/fonts/tfm/public/pxchfon/cfjam-r-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjam-r-l5j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjam-r-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjam-r-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/cfjar-b-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjar-b-l5j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjar-b-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjar-b-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/cfjar-l-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjar-l-l5j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjar-l-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjar-l-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/cfjar-r-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjar-r-l5j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjar-r-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjar-r-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/cfjas-b-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjas-b-l5j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjas-b-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjas-b-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/cfjas-r-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjas-r-l5j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjas-r-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjas-r-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/cfjas-x-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjas-x-l5j.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjas-x-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/cfjas-x-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjam-r-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjam-r-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjam-r-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjam-rz-l0j.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjar-b-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjar-b-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjar-b-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjar-bz-l0j.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjar-l-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjar-l-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjar-l-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjar-lz-l0j.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjar-r-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjar-r-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjar-r-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjar-rz-l0j.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjas-b-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjas-b-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjas-b-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjas-bz-l0j.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjas-r-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjas-r-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjas-r-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjas-rz-l0j.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjas-x-l0j.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjas-x-t1.tfm
+ RELOC/fonts/tfm/public/pxchfon/r-cfjas-x-ts1.tfm
RELOC/fonts/tfm/public/pxchfon/r-cfjas-xz-l0j.tfm
RELOC/fonts/vf/public/pxchfon/cfjam-r-l0j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjam-r-l5j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjam-r-t1.vf
+ RELOC/fonts/vf/public/pxchfon/cfjam-r-ts1.vf
RELOC/fonts/vf/public/pxchfon/cfjar-b-l0j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjar-b-l5j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjar-b-t1.vf
+ RELOC/fonts/vf/public/pxchfon/cfjar-b-ts1.vf
RELOC/fonts/vf/public/pxchfon/cfjar-l-l0j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjar-l-l5j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjar-l-t1.vf
+ RELOC/fonts/vf/public/pxchfon/cfjar-l-ts1.vf
RELOC/fonts/vf/public/pxchfon/cfjar-r-l0j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjar-r-l5j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjar-r-t1.vf
+ RELOC/fonts/vf/public/pxchfon/cfjar-r-ts1.vf
RELOC/fonts/vf/public/pxchfon/cfjas-b-l0j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjas-b-l5j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjas-b-t1.vf
+ RELOC/fonts/vf/public/pxchfon/cfjas-b-ts1.vf
RELOC/fonts/vf/public/pxchfon/cfjas-r-l0j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjas-r-l5j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjas-r-t1.vf
+ RELOC/fonts/vf/public/pxchfon/cfjas-r-ts1.vf
RELOC/fonts/vf/public/pxchfon/cfjas-x-l0j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjas-x-l5j.vf
+ RELOC/fonts/vf/public/pxchfon/cfjas-x-t1.vf
+ RELOC/fonts/vf/public/pxchfon/cfjas-x-ts1.vf
RELOC/tex/platex/pxchfon/pxchfon.sty
RELOC/tex/platex/pxchfon/pxchfon0.def
RELOC/tex/platex/pxchfon/pxjafont.sty
catalogue-contact-repository https://github.com/zr-tex8r/PXchfon
catalogue-ctan /language/japanese/pxchfon
-catalogue-date 2019-03-23 19:05:32 +0100
catalogue-license mit
catalogue-topics japanese font-supp
-catalogue-version 1.4a
+catalogue-version 1.7b
++++++ pxjahyper.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/pxjahyper/LICENSE new/doc/platex/pxjahyper/LICENSE
--- old/doc/platex/pxjahyper/LICENSE 2018-01-15 23:20:58.000000000 +0100
+++ new/doc/platex/pxjahyper/LICENSE 2019-06-22 23:22:25.000000000 +0200
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2018 Takayuki YATO (aka. "ZR")
+Copyright (c) 2019 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/pxjahyper/README-ja.md new/doc/platex/pxjahyper/README-ja.md
--- old/doc/platex/pxjahyper/README-ja.md 2018-07-15 23:14:16.000000000 +0200
+++ new/doc/platex/pxjahyper/README-ja.md 2019-11-23 22:21:19.000000000 +0100
@@ -35,6 +35,16 @@
更新履歴
--------
+ * Version 0.4a 〈2019/11/23〉
+ - (試験的) PDF 文字列中で japanese-otf の文字入力マクロをサポート
+ (`otfmacros` オプション)
+
+ * Version 0.4 〈2019/10/25〉
+ - PDF 文字列中で `\CID` をサポート(`otfcid` オプション)
+
+ * Version 0.3e 〈2019/06/20〉
+ - hyperref の `unicode` 指定が後から変更された場合はエラーを出す。
+
* Version 0.3d 〈2018/07/15〉
- バグ修正。
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/pxjahyper/README.md new/doc/platex/pxjahyper/README.md
--- old/doc/platex/pxjahyper/README.md 2018-07-15 23:14:16.000000000 +0200
+++ new/doc/platex/pxjahyper/README.md 2019-11-23 22:21:19.000000000 +0100
@@ -16,11 +16,12 @@
* TeX engine: pTeX, upTeX, pTeX-ng.
* DVI-ware: dvipdfmx.
* Dependent packages:
+ - atbegshi
- hyperref
### Installation
- - `*.sty` → $TEXMF/tex/platex/PXjahyper
+ - `*.sty`, `*.def` → $TEXMF/tex/platex/PXjahyper
### License
@@ -36,6 +37,9 @@
Revision History
----------------
+ * Version 0.4a 〈2019/11/23〉
+ * Version 0.4 〈2019/10/25〉
+ * Version 0.3e 〈2019/06/20〉
* Version 0.3d 〈2018/07/15〉
* Version 0.3c 〈2018/01/25〉
* Version 0.3b 〈2018/01/13〉
Binary files old/doc/platex/pxjahyper/pxjahyper.pdf and new/doc/platex/pxjahyper/pxjahyper.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/pxjahyper/pxjahyper.tex new/doc/platex/pxjahyper/pxjahyper.tex
--- old/doc/platex/pxjahyper/pxjahyper.tex 2018-07-15 23:14:16.000000000 +0200
+++ new/doc/platex/pxjahyper/pxjahyper.tex 2019-10-25 23:02:06.000000000 +0200
@@ -3,8 +3,8 @@
\documentclass[a4paper]{jsarticle}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{0.3d}
-\newcommand{\PkgDate}{2018/07/15}
+\newcommand{\PkgVersion}{0.4}
+\newcommand{\PkgDate}{2019/10/25}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
@@ -64,6 +64,13 @@
{\upLaTeX} では使用不可。
\item |noout2uni|(既定)\Means
|out2uni| の否定。
+\item |otfcid|(既定)\Means
+ \Pkg{japanese-otf}パッケージの |\CID| をPDF文字列中で
+ 使えるようにする。
+ 具体的には、当該のAJ1のグリフに“対応”するUnicode文字が
+ あればそれを出力し、なければ(警告を出した上で)削除する。
+\item |nootfcid| \Means
+ |otfcid| の否定。
\item |bigcode|(既定)\Means
{\upTeX}でのToUnicode CMapとして既定のUTF8-UCSの代わりに\
UTF8-UTF16を用いる。
@@ -98,7 +105,7 @@
符号値は16進数で指定する。
-なお、\Pkg{OTF}パッケージの |\UTF| 命令は、PDF文字列中では
+なお、\Pkg{japanese-otf}パッケージの |\UTF| 命令は、PDF文字列中では
out2uni用の出力を行うように設計されているが、
本パッケージを {\upLaTeX} で用いた場合は、
|\UTF| も(PDF文字列中では)|\Ux| と同じ動作
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxjahyper.doc.tlpobj new/tlpkg/tlpobj/pxjahyper.doc.tlpobj
--- old/tlpkg/tlpobj/pxjahyper.doc.tlpobj 2019-02-28 04:03:39.000000000 +0100
+++ new/tlpkg/tlpobj/pxjahyper.doc.tlpobj 2019-11-24 01:54:16.000000000 +0100
@@ -1,9 +1,9 @@
name pxjahyper.doc
category Package
-revision 48207
+revision 52899
shortdesc doc files of pxjahyper
relocated 1
-docfiles size=29
+docfiles size=30
RELOC/doc/platex/pxjahyper/LICENSE
RELOC/doc/platex/pxjahyper/README-ja.md
RELOC/doc/platex/pxjahyper/README.md
++++++ pxjahyper.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/pxjahyper/pxjahyper-ajm.def new/tex/platex/pxjahyper/pxjahyper-ajm.def
--- old/tex/platex/pxjahyper/pxjahyper-ajm.def 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/platex/pxjahyper/pxjahyper-ajm.def 2019-11-23 22:21:19.000000000 +0100
@@ -0,0 +1,793 @@
+%%
+%% This is file 'pxjahyper-ajm.def'.
+%%
+%% Copyright (c) 2019 Takayuki YATO (aka. "ZR")
+%% GitHub: https://github.com/zr-tex8r
+%% Twitter: @zr_tex8r
+%%
+%% This package is distributed under the MIT License.
+%%
+%% このファイルは日本語文字を含みます.
+
+%% package declaration
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesFile{pxjahyper-ajm.def}[2019/11/23 v0.4a]
+
+%% avoid multiple loading
+\csname pxjahyperajmLoaded\endcsname
+\def\pxjahyperajmLoaded{\endinput}
+%% force UTF-8
+\ifx\epTeXinputencoding\@undefined\else
+ \epTeXinputencoding utf8
+\fi
+
+%--------------------------------------- general
+
+% Note: Here 'etoolbox' is already loaded.
+
+%% check engine
+\ifx\numexpr\@undefined \endinput \fi
+
+%% \pxhy@macro@name@list
+% The \do-list of the name of macros to be redefined.
+\let\pxhy@macro@name@list\@empty
+
+%% \pxhy@ : the prefix
+\def\pxhy@{pxhy@aj@@}
+
+%% \pxhy@cond\ifXXX...\fi{<yes>}{<no>}
+\@gobbletwo\if\if \def\pxhy@cond#1\fi{%
+ #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
+}
+
+%% \pxhy@cond@both\ifXXX...\fi\ifYYY...\fi{<yes>}{<no>}
+% Checks whether \ifXXX and \ifYYY both hold.
+\@gobbletwo\if\if\@gobbletwo\if\if \def\pxhy@cond@both#1\fi#2\fi{%
+ \bxju@cond{\if #1#2T\else F\fi\else F\fi T}\fi
+}
+
+%% \pxhy@if@star{<varient>}{<normal>}
+% Expands to <varient> if followed by *, otherwise to <normal>.
+\def\pxhy@if@star#1#2#3{% #3=next-arg
+ \expandafter\pxhy@if@star@a\detokenize{#3}@{#1}*@{#2{#3}}\pxhy@mk
+}
+\def\pxhy@if@star@a#1*@#2#3\pxhy@mk{#2}
+
+%% \pxhy@if@plus{<varient>}{<normal>}
+% Expands to <varient> if followed by +, otherwise to <normal>.
+\def\pxhy@if@plus#1#2#3{% #3=next-arg
+ \expandafter\pxhy@if@plus@a\detokenize{#3}@{#1}+@{#2{#3}}\pxhy@mk
+}
+\def\pxhy@if@plus@a#1+@#2#3\pxhy@mk{#2}
+
+%% \pxhy@shift{<x>}{<y>}
+% Expands to \pxhy@fast@CID with the value of x+y.
+\def\pxhy@shift#1#2{%
+ \expandafter\pxhy@shift@a\the\numexpr(#1)+(#2)\pxhy@mk
+}
+\def\pxhy@shift@a#1\pxhy@mk{%
+ \pxhy@fast@CID{#1}%
+}
+
+%% \pxhy@numeral{<number>}
+% Expands to the Western numeral.
+\def\pxhy@numeral#1{%
+ \expandafter\pxhy@numeral@a\number#1\pxhy@mk
+}% \pxhy@mk ensures termination
+\def\pxhy@numeral@a#1\pxhy@mk{#1}
+
+%% \pxhy@two@digits{<number>}
+% Expands to the Western numeral.
+\def\pxhy@two@digits#1{%
+ \expandafter\pxhy@two@digits@a\number#1\pxhy@mk
+}% \pxhy@mk ensures termination
+\def\pxhy@two@digits@a#1\pxhy@mk{%
+ \ifnum#1<10 0\fi #1%
+}
+
+%--------------------------------------- kanji numerals
+
+%% \pxhy@kdigit{<digit>}
+\def\pxhy@kdigit#1{%
+ \ifcase#1〇\or 一\or 二\or 三\or 四\or 五\or 六\or 七\or 八\or 九\fi
+}
+
+%% \pxhy@each@digit{<number>}\CScont
+% Expands to \CScont{<ten-digit>}{<one-digit>}.
+\def\pxhy@each@digit#1#2{%
+ \ifnum#1>\m@ne \ifnum#1<100
+ \expandafter\pxhy@each@digit@a\number#1..\pxhy@mk{#2}%
+ \fi\fi
+}
+\def\pxhy@each@digit@a#1#2#3\pxhy@mk#4{%
+ \if.#2#40#1\else#4#1#2\fi
+}
+
+%% \pxhy@knumeral{<number>}
+% Expands to the kanji numeral according to Japanese reading.
+\def\pxhy@knumeral#1{%
+ \pxhy@each@digit{#1}\pxhy@knumeral@a
+}
+\def\pxhy@knumeral@a#1#2{%
+ \ifnum#1#2=\z@ \pxhy@kdigit0%
+ \else
+ \ifcase#1 \or 十\else \pxhy@kdigit#1十\fi
+ \ifcase#2 \else \pxhy@kdigit#2\fi
+ \fi
+}
+
+%--------------------------------------- \pdfstringdef hook
+
+\pdfstringdefDisableCommands{%
+ % invoke the redefinitions
+ \def\do#1{\expandafter\let\csname aj#1\expandafter\endcsname
+ \csname \pxhy@#1\endcsname}%
+ \pxhy@macro@name@list
+}
+
+%=======================================
+% Macro Definitions
+\begingroup % entering a big group
+%--------------------------------------- helpers
+
+%% prepare
+\csuse{forcecjktoken}
+
+%% shorthands
+\catcode`\`=\active \let`\noexpand
+\def\@{\unexpanded}
+\def\@@{\expandonce}
+\def\CID{\pxhy@CID}
+
+%% \#{<number-expr>}
+% Expands to the value of the expression.
+\def\##1{\the\numexpr#1\relax\space}
+
+%% \pxhy@def{<macro-name>}...
+\def\pxhy@def#1{\csxdef{\pxhy@#1}}
+
+%% \pxhy@DeclareMacro{<macro-name>}...{<body>}
+% Declares (with \xdef) the pdfstring version of the aj-macro
+% \[aj<macro-name>].
+\def\pxhy@DeclareMacro#1{%
+ \xappto\pxhy@macro@name@list{`\do{#1}}%
+ \pxhy@def{#1}%
+}
+
+%% \pxhy@DeclareMacroVar{<macro-name>}...{<body-n>}{<body-v>}
+% Variant of \pxhy@DeclareMacro, where the *-variant of the macro
+% is declared. The parameter '...' will be shared with both forms.
+\def\pxhy@DeclareMacroVar#1{%
+ \xappto\pxhy@macro@name@list{`\do{#1}}%
+ \edef\pxhy@next{{\@nameuse{\pxhy@#1}}%
+ {\@nameuse{\pxhy@#1@N}}{\@nameuse{\pxhy@#1@V}}}%
+ \expandafter\pxhy@decl@macro@var@a\pxhy@next
+}
+\def\pxhy@decl@macro@var@a#1#2#3#4#{%
+ \gdef#1{\pxhy@if@star#3#2}%
+ \toks@{\xdef#3#4}\def\pxhy@next{\the\toks@}%
+ \afterassignment\pxhy@next \xdef#2#4%
+}
+
+%% \pxhy@DeclareAlias{<name1>}{<name2>}
+% Defines an alies.
+\def\pxhy@DeclareAlias#1#2{%
+ \xappto\pxhy@macro@name@list{`\do{#1}}%
+ \global\csletcs{\pxhy@#1}{\pxhy@#2}%
+}
+
+%% \pxhy@range{<ob-value>}{<limit>/<value>,...}
+% Expands to the code of a range switch.
+\def\pxhy@range#1#2{%
+ \pxhy@range@a{#1}#2/#1,*/*,\pxhy@mk
+}
+\def\pxhy@range@a#1#2/#3,#4\pxhy@mk{%
+ \ifstrempty{#4}{#1}{%else
+ `\ifnum##1<\#{#2}#1%
+ `\else\pxhy@range@a{#3}#4\pxhy@mk`\fi}%
+}
+
+%% \pxhy@rshift{<limit>/<shift>,...}
+% \pxhy@shift with a range switch.
+\def\pxhy@rshift#1{%
+ \pxhy@shift{##1}{\pxhy@range{-1000}{#1}}%
+}
+
+%% \pxhy@twirange{<shift1>}{<shift2>}
+% Special kind of range switch, used in \ajKaku etc.
+\def\pxhy@twirange#1#2{%
+ `\ifnum##1<\#{0}`\else`\ifnum##1<\#{10}\pxhy@shift{##1*2}{#1}%
+ `\else`\ifnum##1<\#{101}\pxhy@shift{##1}{#2}%
+ `\fi`\fi`\fi
+}
+
+%% \pxhy@fallback{<lbound>}{<fb-lbound>}{<ubound>}{<normal>}{<fallback>}
+\def\pxhy@fallback#1#2#3#4#5{%
+ `\ifnum##1<\#{#1}`\else`\ifnum##1>\#{#3}`\else
+ \ifnum\#{#1}=\#{#2}#5%
+ \else `\ifnum##1<\#{#2}#4`\else#5`\fi
+ \fi
+ `\fi`\fi
+}
+
+%% freeze 'em
+\let\UTF\relax
+\let\pxhy@CID\relax
+\let\pxhy@fast@CID\relax
+\let\pxhy@if@star\relax
+\let\pxhy@if@plus\relax
+\let\pxhy@shift\relax
+\let\pxhy@numeral\relax
+\let\pxhy@two@digits\relax
+\let\pxhy@knumeral\relax
+
+%--------------------------------------- the redefinitions
+
+% A text command invoked in PDF-sttings must be "string-OK".
+% Here a text command is "string-OK" if both:
+% - fully expandable, and
+% - comprised only of "Unicode-OK" glyphs.
+% Here a glyph is "unicode-OK" if either:
+% - representable as a single Unicode character, or
+% - well-substituted with a single Unicode character.
+% When the original definition of an aj-macro command is not string-OK
+% (marked as ), then the command must be redefeind.
+
+%% \ajTsumesuji<var>{<string>}
+%% \ajTsumesuji*{<string>}
+% Simply expands to the string.
+\pxhy@DeclareMacroVar{Tsumesuji}#1#2{#2}{}
+% \ajTsumesuji* takes only one argument.
+\pxhy@def{Tsumesuji@V}#1{#1}
+
+%-----------------------
+% Enclosed letters
+
+% None of the aj-macros for enclosed letters are fully expandable,
+% so they all must be redefined.
+% The glyphs for enclosed alphabet and kana letters are Unicode-OK
+% (\ajMaruKata{1} is U+32d0(㋐), and \ajMaruHira{1} fallbacks to plain
+% あ letter), but some of those for enclosed numbers are not Unicode-OK
+% (\ajMaru{51} does not have a good fallback), and thus should give an
+% alternative fallback string (\ajMaru{51}→“51”).
+% Note: for some enclosed numbers, glyphs with different enclosure are
+% used as fallback (e.g. \ajKuroMaru{21}→“㉑)”.
+
+%% \ajMaru[*]{<number>}
+\pxhy@DeclareMacroVar{Maru}#1{%N
+ \pxhy@fallback{0}{51}{100}{%
+ \pxhy@rshift{0/8224,1/7554,21/8070,22/8080,32/10212,101}%
+ }{\pxhy@numeral{#1}}%
+}{%V
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@rshift{0/10234,10/7554,21/8070,22/8080,32/10212,101}%
+ }{`\ajMaru{#1}}%
+}
+%% \ajKuroMaru[*]{<number>}
+\pxhy@DeclareMacroVar{KuroMaru}#1{%N
+ \pxhy@fallback{0}{21}{100}{%
+ \pxhy@rshift{0/10503,1/8285,10/10504,101}%
+ }{`\ajMaru{#1}}%
+}{%V
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@rshift{0/10504,101}%
+ }{`\ajKuroMaru{#1}}%
+}
+%% \ajKaku[*]{<number>}
+\pxhy@DeclareMacroVar{Kaku}#1{%N
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@twirange{10764}{10774}%
+ }{`\ajMaru{#1}}%
+}{%V
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@twirange{10765}{10774}%
+ }{`\ajMaru{#1}}%
+}
+%% \ajKuroKaku[*]{<number>}
+\pxhy@DeclareMacroVar{KuroKaku}#1{%N
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@twirange{11037}{11047}%
+ }{`\ajMaru{#1}}%
+}{%V
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@twirange{11038}{11047}%
+ }{`\ajMaru{#1}}%
+}
+%% \ajMaruKaku[*]{<number>}
+\pxhy@DeclareMacroVar{MaruKaku}#1{%N
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@twirange{11307}{11317}%
+ }{`\ajMaru{#1}}%
+}{%V
+ \pxhy@fallback{0}{0}{100}{%
+ `\ajMaru{#1}%fallback
+ \pxhy@twirange{11308}{11317}%
+ }{`\ajMaru{#1}}%
+}
+%% \ajKuroMaruKaku[*]{<number>}
+\pxhy@DeclareMacroVar{KuroMaruKaku}#1{%N
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@twirange{11576}{11586}%
+ }{`\ajMaru{#1}}%
+}{%V
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@twirange{11577}{11586}%
+ }{`\ajMaru{#1}}%
+}
+%% \ajKakko[*]{<number>}
+\pxhy@DeclareMacroVar{Kakko}#1{%N
+ \pxhy@fallback{0}{21}{100}{%
+ \pxhy@rshift{0/8227,1/8070,21/9873,101}%
+ }{(\pxhy@numeral{#1})}%
+}{%V
+ \pxhy@fallback{0}{0}{100}{%
+ \pxhy@rshift{0/9884,10/8070,21/9873,101}%
+ }{`\ajKakko{#1}}%
+}
+%% \ajRoman[*]{<number>}
+\pxhy@DeclareMacroVar{Roman}#1{%N
+ \pxhy@fallback{1}{13}{15}{%
+ \pxhy@rshift{1/7574,11/8214,13/8282,16}%
+ }{`\@Roman{#1}}%
+}{%V
+ \pxhy@fallback{1}{1}{15}{%
+ \pxhy@rshift{1/7574,4/9879,5/7574,11/8214,13/8282,16}%
+ }{`\ifnum#1=\#{4}IIII`\else`\ajRoman{#1}`\fi}%
+}
+%% \ajroman{<number>}
+\pxhy@DeclareMacro{roman}#1{%
+ \pxhy@fallback{1}{13}{15}{%
+ \pxhy@rshift{1/8091,11/8287,16}%
+ }{`\@roman{#1}}%
+}
+%% \ajPeriod{<number>}
+\pxhy@DeclareMacro{Period}#1{%
+ \pxhy@fallback{0}{1}{11}{%
+ 0.%
+ }{\pxhy@rshift{0/8061,10/20577,12}}%
+}
+%% \ajKakkoYobi{<number>}
+\pxhy@DeclareMacro{KakkoYobi}#1{\pxhy@rshift{1/8196,10}}
+%% \ajKakkoroman{<number>}
+\pxhy@DeclareMacro{Kakkoroman}#1{%
+ \pxhy@fallback{1}{1}{15}{%
+ \pxhy@rshift{1/9973,16}%
+ }{(`\ajroman{#1})}%
+}
+%% \ajKakkoRoman{<number>}
+\pxhy@DeclareMacro{KakkoRoman}#1{%
+ \pxhy@fallback{1}{1}{15}{%
+ \pxhy@rshift{1/9988,16}%
+ }{(`\ajRoman{#1})}%
+}
+%% \ajKakkoalph{<number>}
+\pxhy@DeclareMacro{Kakkoalph}#1{\pxhy@rshift{1/8111,27}}
+%% \ajKakkoAlph{<number>}
+\pxhy@DeclareMacro{KakkoAlph}#1{\pxhy@rshift{1/10003,27}}
+%% \ajKakkoHira{<number>}
+\pxhy@DeclareMacro{KakkoHira}#1{%
+ \pxhy@fallback{1}{1}{48}{%
+ \pxhy@rshift{1/10029,49}%
+ }{(\pxhy@rshift{1/10029,49})}% with parens
+}
+%% \ajKakkoKata{<number>}
+\pxhy@DeclareMacro{KakkoKata}#1{%
+ \pxhy@fallback{1}{1}{48}{%
+ \pxhy@rshift{1/10077,49}%
+ }{(\pxhy@rshift{1/10077,49})}% with parens
+}
+%% \ajKakkoKansuji{<number>}
+\pxhy@DeclareMacro{KakkoKansuji}#1{%
+ \pxhy@fallback{1}{11}{20}{%
+ \pxhy@rshift{1/10125,21}%
+ }{(\pxhy@knumeral{#1})}%
+}
+%% \ajMaruKansuji{<number>}
+\pxhy@DeclareMacro{MaruKansuji}#1{\pxhy@rshift{1/10460,11}}
+%% \ajMarualph{<number>}
+\pxhy@DeclareMacro{Marualph}#1{\pxhy@rshift{1/10312,27}}
+%% \ajMaruAlph{<number>}
+\pxhy@DeclareMacro{MaruAlph}#1{\pxhy@rshift{1/10338,27}}
+%% \ajMaruHira{<number>}
+\pxhy@DeclareMacro{MaruHira}#1{\pxhy@rshift{1/10364,49}}
+%% \ajMaruKata{<number>}
+\pxhy@DeclareMacro{MaruKata}#1{\pxhy@rshift{1/10412,49}}
+%% \ajMaruYobi{<number>}
+\pxhy@DeclareMacro{MaruYobi}#1{%
+ \pxhy@rshift{1/10470,8/10484,9/10478,10}%
+}
+%% \ajKuroMarualph{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroMarualph}#1{`\ajMarualph{#1}}
+%% \ajKuroMaruAlph{<number>}
+\pxhy@DeclareMacro{KuroMaruAlph}#1{\pxhy@rshift{1/10630,27}}
+%% \ajKuroMaruHira{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroMaruHira}#1{`\ajMaruHira{#1}}
+%% \ajKuroMaruKata{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroMaruKata}#1{`\ajMaruKata{#1}}
+%% \ajKuroMaruYobi{<number>} : Fallback.
+% fallback to \ajKakuYobi, which is simpler.
+\pxhy@DeclareMacro{KuroMaruYobi}#1{`\ajKakuYobi{#1}}
+%% \ajKakualph{<number>} : Fallback.
+\pxhy@DeclareMacro{Kakualph}#1{`\ajMarualph{#1}}
+%% \ajKakuAlph{<number>}
+\pxhy@DeclareMacro{KakuAlph}#1{\pxhy@rshift{1/10900,27}}
+%% \ajKakuHira{<number>} : Fallback.
+\pxhy@DeclareMacro{KakuHira}#1{`\ajMaruHira{#1}}
+%% \ajKakuKata{<number>} : Fallback.
+\pxhy@DeclareMacro{KakuKata}#1{`\ajMaruKata{#1}}
+%% \ajKakuYobi{<number>}
+\pxhy@DeclareMacro{KakuYobi}#1{\pxhy@rshift{1/11022,8}}
+%% \ajKuroKakualph{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroKakualph}#1{`\ajMarualph{#1}}
+%% \ajKuroKakuAlph{<number>}
+\pxhy@DeclareMacro{KuroKakuAlph}#1{\pxhy@rshift{1/11173,27}}
+%% \ajKuroKakuHira{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroKakuHira}#1{`\ajMaruHira{#1}}
+%% \ajKuroKakuKata{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroKakuKata}#1{`\ajMaruKata{#1}}
+%% \ajKuroKakuYobi{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroKakuYobi}#1{`\ajKakuYobi{#1}}
+%% \ajMaruKakualph{<number>} : Fallback.
+\pxhy@DeclareMacro{MaruKakualph}#1{`\ajMarualph{#1}}
+%% \ajMaruKakuAlph{<number>}
+\pxhy@DeclareMacro{MaruKakuAlph}#1{\pxhy@rshift{1/11443,27}}
+%% \ajMaruKakuHira{<number>} : Fallback.
+\pxhy@DeclareMacro{MaruKakuHira}#1{`\ajMaruHira{#1}}
+%% \ajMaruKakuKata{<number>} : Fallback.
+\pxhy@DeclareMacro{MaruKakuKata}#1{`\ajMaruKata{#1}}
+%% \ajMaruKakuYobi{<number>} : Fallback.
+\pxhy@DeclareMacro{MaruKakuYobi}#1{`\ajKakuYobi{#1}}
+%% \ajKuroMaruKakualph{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroMaruKakualph}#1{`\ajMarualph{#1}}
+%% \ajKuroMaruKakuAlph{<number>}
+\pxhy@DeclareMacro{KuroMaruKakuAlph}#1{\pxhy@rshift{1/11712,27}}
+%% \ajKuroMaruKakuHira{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroMaruKakuHira}#1{`\ajMaruHira{#1}}
+%% \ajKuroMaruKakuKata{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroMaruKakuKata}#1{`\ajMaruKata{#1}}
+%% \ajKuroMaruKakuYobi{<number>} : Fallback.
+\pxhy@DeclareMacro{KuroMaruKakuYobi}#1{`\ajKakuYobi{#1}}
+%% \ajNijuMaru{<number>}
+\pxhy@DeclareMacro{NijuMaru}#1{\pxhy@rshift{1/16222,11}}
+%% \ajRecycle{<number>}
+\pxhy@DeclareMacro{Recycle}#1{\pxhy@rshift{0/16314,12}}
+%% \ajHasenKakuAlph{<number>}
+\pxhy@DeclareMacro{HasenKakuAlph}#1{\pxhy@rshift{1/20496,7}}
+%% \ajCross{<number>}
+\pxhy@DeclareMacro{Cross}#1{%
+ \pxhy@fallback{0}{0}{9}{%
+ \pxhy@rshift{0/20523,10}%
+ }{\pxhy@numeral{#1}\UTF{00D7}}%
+}
+%% \ajSlanted[*]{<number>}
+\pxhy@DeclareMacroVar{Slanted}#1{%N
+ \pxhy@fallback{0}{0}{59}{%
+ \pxhy@rshift{0/9460,10/20589,60}%
+ }{\pxhy@numeral{#1}}%
+}{%V
+ \pxhy@fallback{0}{0}{59}{%
+ \pxhy@rshift{0/20589,60}%
+ }{\pxhy@two@digits{#1}}%
+}
+%% \ajApostrophe{<number>}
+%% \ajYear{<number>} (alias)
+\pxhy@DeclareMacro{Apostrophe}#1{%
+ \pxhy@fallback{0}{0}{99}{%
+ \pxhy@rshift{0/20649,100}%
+ }{\UTF{2019}\pxhy@two@digits{#1}}%
+}
+\pxhy@DeclareAlias{Year}{Apostrophe}
+%% \ajSquareMark[*]{<number>}
+% Note: +-variant is unsupported.
+\pxhy@DeclareMacroVar{SquareMark}#1{%N
+ \pxhy@rshift{1/12229,13}%
+}{%V
+ \pxhy@rshift{1/12241,10}%
+}
+%% \ajHishi{<number>}
+\pxhy@DeclareMacro{Hishi}#1{\pxhy@rshift{1/12256,5}}
+
+%-----------------------
+
+% The choice of numerals (Western or kanji) depends on the rendering
+% of the original definition in yoko direction.
+
+%% \ajTsumekakko{<number>}
+%% \ajTumekakko{<number>} (alias)
+% Expands to "(number)".
+\pxhy@DeclareMacro{Tsumekakko}#1{%
+ (\pxhy@numeral{#1})%
+}
+\pxhy@DeclareAlias{Tumekakko}{Tsumekakko}
+
+%% \ajNenrei<var>{<number>}
+\pxhy@DeclareMacro{Nenrei}#1{%
+ `\csname pxhy@ajNenrei/`\number#1`\endcsname
+}
+\csgdef{pxhy@ajNenrei/1}#1{%
+ (\pxhy@numeral{#1}\ifnum#1<10 つ\fi)%
+}
+\csgdef{pxhy@ajNenrei/2}#1{%
+ (\pxhy@numeral{#1}才)%
+}
+\csgdef{pxhy@ajNenrei/3}#1{% FIXME: the original is right?
+ (\pxhy@each@digit{#1}{\pxhy@knumeral@varA つ})%
+}
+\csgdef{pxhy@ajNenrei/4}#1{%
+ (\pxhy@knumeral{#1}才)%
+}
+
+%% \ajnenrei<var>{<number>}
+\pxhy@DeclareMacro{nenrei}#1{%
+ `\csname pxhy@ajnenrei/`\number#1`\endcsname
+}
+\csgdef{pxhy@ajnenrei/1}#1{%
+ (\pxhy@each@digit{#1}{\pxhy@knumeral@varA つ})%
+}
+\csgdef{pxhy@ajnenrei/2}#1{%
+ (\pxhy@each@digit{#1}{\pxhy@knumeral@varB 才})%
+}
+\csgdef{pxhy@ajnenrei/3}#1{% FIXME: the original is right?
+ (\pxhy@each@digit{#1}{\pxhy@knumeral@varA ツ})%
+}
+\csgdef{pxhy@ajnenrei/4}#1{%
+ (\pxhy@each@digit{#1}{\pxhy@knumeral@varB コ})%
+}
+
+%% \ajKosu{<number>}
+\pxhy@DeclareMacro{Kosu}#1{%
+ `\ajnenrei4{#1}%
+}
+
+%% some special kanji numeral forms
+\gdef\pxhy@knumeral@varA#1#2#3{%<tsu><ten><one>
+ % 8→八つ, 10→一〇, 16→一六, 20→二〇, 32→三二
+ \if0#2\pxhy@kdigit#3#1\else\pxhy@kdigit#2\pxhy@kdigit#3\fi
+}
+\gdef\pxhy@knumeral@varB#1#2#3{%<counter><ten><one>
+ % 8→八才, 10→十才, 16→十六, 20→二十, 32→三二
+ \ifcase#2 #2#1%
+ \or 十\ifcase#3 #1\else \pxhy@kdigit#3\fi
+ \else \pxhy@kdigit#2\ifcase#3 十\else \pxhy@kdigit#3\fi
+ \fi
+}
+
+%% \ajFrac[*]{<numerator>}{<denominator>}
+\pxhy@DeclareMacroVar{Frac}#1#2{%N
+ `\pxhy@ajFrac{\pxhy@numeral{#1}}{\pxhy@numeral{#2}}%
+}{%V
+ `\pxhy@ajFrac{\pxhy@numeral{#1}}{\pxhy@numeral{#2}}%
+}
+\gdef\pxhy@ajFrac#1#2{%
+ \ifcsdef{pxhy@ucs@frac/#1/#2}{%
+ \csuse{pxhy@ucs@frac/#1/#2}%
+ }{#1/#2}%
+}
+%% \[pxhy@ucs@frac/<n>/<d>]
+% Alternative definitions for fractions.
+\def\do#1#2{\csgdef{pxhy@ucs@frac/#1}{\UTF{#2}}}
+\do{1/4}{00BC}
+\do{1/2}{00BD}
+\do{3/4}{00BE}
+\do{1/7}{2150}
+\do{1/9}{2151}
+\do{1/10}{2152}
+\do{1/3}{2153}
+\do{2/3}{2154}
+\do{1/5}{2155}
+\do{2/5}{2156}
+\do{3/5}{2157}
+\do{4/5}{2158}
+\do{1/6}{2159}
+\do{5/6}{215A}
+\do{1/8}{215B}
+\do{3/8}{215C}
+\do{5/8}{215D}
+\do{7/8}{215E}
+\do{0/3}{2189}
+
+%% \aj半角{<string>}
+% Simply expands to the string.
+\pxhy@DeclareMacro{半角}#1{#1}{}
+
+%%<OK> \○ / \● / \□ / \■ / \◇ / \◆
+% Expands to \ajLig{} or \@ajNumber.
+% \@ajNumber{CMD}{<n>} seems to expand to \ajCMD{<n>}.
+
+%%<OK> \△ / \▽ / \゛ / \゜ / \!
+% Expands to \ajLig{}.
+
+%%<OK> \ajPICT{<name>}
+% Expands to \CID{}.
+
+%%<OK> \ajArrow{<name>}
+% Expands to \CID{}.
+
+%% \ajKunten{<name>}
+% \ajKunten{?} (for single letters) expands to \CID{} and is string-OK.
+% \ajKunten{?|}, \ajKunten{|?}a and \ajKunten{?レ} need to be
+% redefined.
+\@tfor\x:={一}{上}{甲}{天}\do{% ?レ
+ \pxhy@DeclareMacro{訓点\x レ}{`\ajKunten{\x}`\ajKunten{レ}}%
+}
+\@tfor\x:={二}{三}{四}{中}{下}{乙}{丙}{丁}{地}{人}\do{% ?| |?
+ \pxhy@DeclareMacro{訓点\x |}{`\ajKunten{\x}\UTF{2013}}%
+ \pxhy@DeclareMacro{訓点|\x }{`\ajKunten{\x}\UTF{2013}}%
+}
+\pxhy@DeclareMacro{訓点 |}{\UTF{2013}}%
+\pxhy@DeclareMacro{訓点| }{\UTF{2013}}%
+
+%%<OK> \ajVar{<name>}
+% Expands to \CID{} or \UTF{}.
+
+%% \ajLeader
+% Redefined to expand to two instances of the leader character.
+\pxhy@DeclareMacro{Leader}{%
+ `\pxhy@ajLeader
+}
+\gdef\pxhy@ajLeader#1{%
+ \pxhy@cond\ifx[#1\fi{\pxhy@ajLeader@a}{\pxhy@ajLeader@a]{#1}}%
+}
+\gdef\pxhy@ajLeader@a#1]#2{%
+ \pxhy@shift{12214}{#2*2}\pxhy@shift{12214}{#2*2}%
+}
+
+%% \ajQuote
+% Redefined to be fully-expandable.
+\pxhy@DeclareMacro{Quote}{%
+ `\pxhy@ajQuote
+}
+\gdef\pxhy@ajQuote#1#2{%
+ \CID{\ifcase#1\or670\or672\or674\or676\or678\or680\or682\or
+ 684\or686\or688\or690\or7608\or12125\or12127\or12129\or
+ 12131\or12171\or16197\fi}%
+ #2%
+ \CID{\ifcase#1\or671\or673\or675\or677\or679\or681\or683\or
+ 685\or687\or689\or691\or7609\or12126\or12128\or12130\or
+ 12132\or12172\or16198\fi}%
+}
+
+%%<OK> Miscenallneous \ajXxx symbols
+% Most of them are string-OK; The exceptions are below.
+
+%% ad-hoc redefinitions
+\pxhy@DeclareMacro{DKunoji}{\UTF{3032}}
+\pxhy@DeclareMacro{KunojiwithBou}{\UTF{3032}}
+\pxhy@DeclareMacro{Kunoji}{\UTF{3031}}
+\pxhy@DeclareMacro{KunojiwithBou}{\UTF{3031}}
+\pxhy@DeclareMacro{Yusuriten}{\CID{16193}}
+\pxhy@DeclareMacro{varNinoji}{\CID{12107}}
+
+%----------------------
+% The \ajLig command
+
+%% \[pxhy@uok/<lig>]
+% If defined, then \ajLig{<lig>} is Unicode-OK.
+% Note: Baware of unification. For example, \ajLig{No.} and \ajLig{No}
+% can both be kind of U+2116(№), but probably \ajLig{AM} cannot be
+% kind of U+33C2(㏂).
+\@tfor\x:=%
+ {!!}{!!*}{!*}{!?}{!?*}{'S}{?!}{??}{F}{FAX}{GB}{HP}{Hz}{JIS}{K.K.}{KB}%
+ {MB}{No.}{No}{PR}{TEL}{Tel}{a.m.}{a/c}{c/o}{cal}{cc}{cm}{cm2}{cm3}{dB}%
+ {dl}{dl*}{euro}{g}{hPa}{in}{kcal}{kg}{kl}{kl*}{km}{km2}{km3}{l}{l*}{m}%
+ {m2}{m3}{mb}{mg}{mho}{microg}{microm}{micros}{ml}{ml*}{mm}{mm2}{mm3}{ms}%
+ {ns}{p.m.}{pH}{ppm}{ps}{tel}{tm}{◇HV}{◇MV}{◇News}{◇SS}{より}%
+ {アパート}{アルファ}{アンペア}{アール*}{アール}{イニング}{インチ}%
+ {インチ*}{ウォン}{エスクード}{エーカー}{オンス}{オーム}{カイリ}%
+ {カラット}{カロリー}{ガロン}{ガンマ}{キュリー}{キロ}{キログラム}%
+ {キロメートル}{キロワット}{ギガ}{ギニー}{ギルダー}{クルゼイロ}{クローネ}%
+ {グラム}{グラム*}{グラムトン}{ケース}{コト}{コルナ}{コーポ}{コーポ*}%
+ {サイクル}{サンチーム}{シリング}{センチ}{センチ*}{セント}{セント*}%
+ {ダース}{デシ}{トン}{ドル}{ナノ}{ノット}{ハイツ}{ハイツ*}{バーレル}%
+ {パーセント}{ビル}{ピアストル}{ピクル}{ピコ}{ファラッド}{フィート}%
+ {フラン}{ブッシェル}{ヘクタール}{ヘルツ}{ヘルツ*}{ベータ}{ペソ}{ペニヒ}%
+ {ペンス}{ページ}{ページ*}{ホン}{ホール}{ホーン}{ホーン*}{ボルト}%
+ {ポイント}{ポンド}{マイクロ}{マイル}{マッハ}{マルク}{マンション}%
+ {ミクロン}{ミリ}{ミリバール}{メガ}{メガトン}{メートル}{ヤード}{ヤード*}%
+ {ヤール}{ユアン}{リットル}{リラ}{ルピー}{ルーブル}{レム}{レントゲン}%
+ {ワット}{ワット*}{令和}{升}{大正}{平成}{明治}{昭和}{株式会社}%
+\do{\global\cslet{pxhy@uok/\x}{t}}
+
+% Note: Ligatures no*, euro*, mho*, ohm* are bad (proportional).
+
+%% \[pxhy@uokh/<char>]
+% If defined, then \ajLig{<char>?} is Unicode-OK, where '?' is
+% an arbitrary single character.
+\@tfor\x:=%
+ {■}{□}{△}{▽}{◆}{◇}{○}{●}
+\do{\global\cslet{pxhy@uokh/\x}{t}}
+
+%% ad-hoc redefinitions
+\def\do#1#2{\pxhy@DeclareMacro{Lig#1}{#2}%
+ \global\cslet{pxhy@uok/#1}{t}}
+\do{う゛}{\UTF{3094}}
+\do{か゜}{か\UTF{309A}}
+\do{き゜}{き\UTF{309A}}
+\do{く゜}{く\UTF{309A}}
+\do{け゜}{け\UTF{309A}}
+\do{こ゜}{こ\UTF{309A}}
+\do{カ゜}{カ\UTF{309A}}
+\do{キ゜}{キ\UTF{309A}}
+\do{ク゜}{ク\UTF{309A}}
+\do{ケ゜}{ケ\UTF{309A}}
+\do{コ゜}{コ\UTF{309A}}
+\do{セ゜}{セ\UTF{309A}}
+\do{ツ゜}{ツ\UTF{309A}}
+\do{ト゜}{ト\UTF{309A}}
+\do{ワ゛}{\UTF{30F7}}
+\do{ヰ゛}{\UTF{30F8}}
+\do{ヱ゛}{\UTF{30F9}}
+\do{ヲ゛}{\UTF{30FA}}
+\do{小か}{\UTF{3095}}
+\do{小け}{\UTF{3096}}
+\do{小こ}{こ}% fallback
+\do{小ク}{\UTF{31F0}}
+\do{小コ}{コ}% fallback
+\do{小シ}{\UTF{31F1}}
+\do{小ス}{\UTF{31F2}}
+\do{小ト}{\UTF{31F3}}
+\do{小ヌ}{\UTF{31F4}}
+\do{小ハ}{\UTF{31F5}}
+\do{小ヒ}{\UTF{31F6}}
+\do{小フ}{\UTF{31F7}}
+\do{小プ}{\UTF{31F7}\UTF{309A}}
+\do{小ヘ}{\UTF{31F8}}
+\do{小ホ}{\UTF{31F9}}
+\do{小ム}{\UTF{31FA}}
+\do{小ラ}{\UTF{31FB}}
+\do{小リ}{\UTF{31FC}}
+\do{小ル}{\UTF{31FD}}
+\do{小レ}{\UTF{31FE}}
+\do{小ロ}{\UTF{31FF}}
+
+%% redefine \ajLig
+\pxhy@DeclareMacro{Lig}#1{%
+ % use \csname, to full-expand the argument
+ \@{\expandafter\pxhy@uok@ajlig\csname}ajLig#1\@{\endcsname}%
+}
+\gdef\pxhy@uok@ajlig#1{%
+ \expandafter\pxhy@uok@ajlig@a\string#1\pxhy@mk#1%
+}
+\begingroup\catcode96=12 \lccode`\?=`\g \lowercase{\endgroup
+ \gdef\pxhy@uok@ajlig@a#1?#2\pxhy@mk}{%
+ \pxhy@uok@ajlig@b{#2}%
+}
+\gdef\pxhy@uok@ajlig@b#1#2{%{NAME}\ajNAME
+ % undefined name comes empty
+ \ifundef{#2}{}{%else
+ % if Unicode-OK then do it
+ \ifcsdef{pxhy@uok/#1}{#2}{%else
+ \pxhy@if@uok@head{#1}{#2}{%else
+ \pxhy@drop@trail@star{#1}%
+ }%
+ }%
+ }%
+}
+
+%% \pxhy@if@uok@head{<string>}{<yes>}{<no>}
+\gdef\pxhy@if@uok@head#1{%
+ \pxhy@if@uok@head@a#1@...\pxhy@mk
+}
+\gdef\pxhy@if@uok@head@a#1#2#3#4#5\pxhy@mk{%
+ \pxhy@cond\ifx#3@\fi{% two-letter
+ \ifcsdef{pxhy@uokh/#1}%
+ }{\pxhy@cond\ifx#4@\fi{% three-letter
+ \pxhy@cond@both\ifx#1(\fi\ifx#3)\fi{\@firstoftwo}{%else
+ \pxhy@cond@both\ifx#1□\fi\ifx#2:\fi
+ }%
+ }{\@secondoftwo}}%
+}
+
+%% \pxhy@drop@trail@star{<string>}
+\gdef\pxhy@drop@trail@star#1{%
+ \pxhy@drop@trail@star@a#1\pxhy@mk*\pxhy@mk\pxhy@end{#1}%
+}
+\gdef\pxhy@drop@trail@star@a#1*\pxhy@mk#2\pxhy@end#3{%
+ \ifstrempty{#2}{#3}{#1}%
+}
+
+%--------------------------------------- done
+\endgroup
+%=======================================
+\endinput
+%% EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/pxjahyper/pxjahyper.sty new/tex/platex/pxjahyper/pxjahyper.sty
--- old/tex/platex/pxjahyper/pxjahyper.sty 2018-07-15 23:14:16.000000000 +0200
+++ new/tex/platex/pxjahyper/pxjahyper.sty 2019-11-23 22:21:19.000000000 +0100
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjahyper.sty'.
%%
-%% Copyright (c) 2018 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2019 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper}[2018/07/15 v0.3d]
+\ProvidesPackage{pxjahyper}[2019/11/23 v0.4a]
%% error messages
\def\pxhy@pkgname{pxjahyper}
@@ -30,6 +30,7 @@
%% globals
\newif\ifpxhy@ptex
\newif\ifpxhy@uptex
+\newif\ifpxhy@etex
\let\pxhy@jcode\@undefined
\newif\ifpxhy@tounicode
\newif\ifpxhy@zerox
@@ -40,6 +41,8 @@
\let\pxhy@driver\@undefined
\newif\ifpxhy@hy@unicode
\newif\ifpxhy@jacommentline
+\newif\ifpxhy@otfcid
+\newif\ifpxhy@otfmacros
%--------------------------------------- Package options
@@ -82,6 +85,21 @@
\DeclareOption{nojacommentline}{%
\pxhy@jacommentlinefalse
}
+\pxhy@otfcidtrue
+\DeclareOption{otfcid}{%
+ \pxhy@otfcidtrue
+ \let\pxhy@otfcid@given=t
+}
+\DeclareOption{nootfcid}{%
+ \pxhy@otfcidfalse
+}
+\DeclareOption{otfmacros}{%
+ \pxhy@otfmacrostrue
+ \let\pxhy@otfcid@given=t
+}
+\DeclareOption{nootfmacros}{%
+ \pxhy@otfmacrosfalse
+}
\ExecuteOptions{%
auto,tounicode,noout2uni,jacommentline%
}
@@ -100,6 +118,19 @@
\csname iftrue\endcsname
\pxhy@hy@unicodetrue
\fi
+\AtBeginDocument{%
+ \@tempswafalse
+ \expandafter\ifx\csname ifHy@unicode\expandafter\endcsname
+ \csname iftrue\endcsname
+ \@tempswatrue
+ \fi
+ \ifnum0\ifpxhy@hy@unicode1\fi\if@tempswa1\fi=1
+ \PackageError\pxhy@pkgname
+ {You must not change the encoding setting (e.g.\MessageBreak
+ 'unicode) of hyperref after pxjahyper is loaded}%
+ {\@ehc}%
+ \fi
+}
%% Check hyperref driver.
\ifx\pxhy@driver\@undefined
@@ -112,11 +143,14 @@
\fi
%% Check the engine.
+\@onlypreamble\pxhy@check
\def\pxhy@check#1#2{%
\edef\pxhy@tmpa{\string#1}%
\edef\pxhy@tmpb{\meaning#1}%
\ifx\pxhy@tmpa\pxhy@tmpb #2\fi
}
+\pxhy@check\eTeXversion{%
+ \IfFileExists{etoolbox.sty}{\pxhy@etextrue}{}}
\pxhy@check\kanjiskip{\pxhy@ptextrue}
\pxhy@check\forcecjktoken{\pxhy@uptextrue}
\ifpxhy@ptex\else
@@ -169,6 +203,15 @@
\pxhy@fatal{hyperref 'unicode' mode is not supported}{}%
\expandafter\endinput
\fi
+% otfcid requires upTeX or out2uni.
+\ifpxhy@uptex\else\ifpxhy@zerox\else
+ \pxhy@otfcidfalse
+ \ifx t\pxhy@otfcid@given
+ \PackageWarningNoLine\pxhy@pkgname
+ {Option 'otfcid' is invalid unless upTeX is used\MessageBreak
+ or 'out2uni' is specified}
+ \fi
+\fi\fi
\iffalse
\typeout{%
@@ -183,8 +226,14 @@
%--------------------------------------- Helpers
-%% pxhy@end
+%% packages
+\ifpxhy@etex
+ \RequirePackage{etoolbox}[2011/01/03]%v2.1
+\fi
+
+%% unique tokens
\def\pxhy@end{\pxhy@end@}
+\let\pxhy@mk\indent % unexpandable
%% \pxhy@out@special{<text>}
\def\pxhy@out@special#1{%
@@ -388,6 +437,91 @@
%Note: if out2uni is off then \Ux remains undefined.
\fi\fi %</upTeX>
+%--------------------------------------- Support for 'otfcid'
+\ifpxhy@otfcid
+
+%% variables
+\@onlypreamble\pxhy@otfcid@disabled
+\let\pxhy@otfcid@disabled\relax
+
+%% preparation
+\ifpxhy@etex
+ % check if bxjatoucs is available
+ \IfFileExists{bxjatoucs.sty}{%
+ \let\bxjatoucsCheckAvail=t
+ \RequirePackage{bxjatoucs}[]
+ \undef\bxjatoucsCheckAvail
+ }{}
+ \ifundef\bxjaCidToUcs{%
+ \def\pxhy@otfcid@disabled{%
+ package 'bxjatoucs' is unavailable%
+ }%
+ }{}
+\else
+ \def\pxhy@otfcid@disabled{%
+ e-TeX extension (or 'etoolbox') is unavailable%
+ }
+\fi
+%% annihilate the ajmacros's own pdfstring process
+\ifpxhy@otfmacros\ifx\pxhy@otfcid@disabled\relax
+ \let\ajRedefine@ajCommands\relax
+ \AtBeginDocument{\let\ajRedefine@ajCommands\relax}
+\fi\fi
+
+%% \pxhy@CID{<cid>}
+\def\pxhy@CID#1{%
+ \expandafter\expandafter\expandafter\pxhy@cid@aux
+ \bxjaCidToUcsHex{#1}\pxhy@mk{\detokenize{#1}}%
+}
+%% \pxhy@fast@CID{<cid>}
+\def\pxhy@fast@CID#1{%
+ \expandafter\expandafter\expandafter\pxhy@cid@aux
+ \bxjaFastCidToUcsHex{#1}\pxhy@mk{\number#1}%
+}
+\def\pxhy@cid@aux#1\pxhy@mk#2{%
+ \ifnum"#1>\z@
+ \pxhy@uchex{#1}%
+ \else
+ \@nameuse{CID+#2}%
+ \fi
+}
+
+%% \pxhy@dispatch@otfcid
+\@onlypreamble\pxhy@dispatch@otfcid
+\def\pxhy@dispatch@otfcid{%
+ \pdfstringdefDisableCommands{%
+ \let\CID\pxhy@CID
+ }%
+ \ifpxhy@otfmacros
+ \ifx\ajSnowman\@undefined\else % ajmacros is loaded
+ \makeatletter
+ \InputIfFileExists{pxjahyper-ajm.def}{%
+ \PackageInfo\pxhy@pkgname
+ {Loaded 'pxjahyper-ajm.def'\@gobble}%
+ }{%
+ \PackageWarning\pxhy@pkgname
+ {File 'pxjahyper-ajm.def' not found\@gobble}%
+ }%
+ \makeatother
+ \fi
+ \fi
+}
+
+%% begin-document hook
+\AtBeginDocument{%
+ \@ifpackageloaded{otf}{%
+ \ifx\pxhy@otfcid@disabled\relax % available!
+ \pxhy@dispatch@otfcid
+ \else
+ \PackageWarningNoLine\pxhy@pkgname
+ {Option 'otfcid' is disabled, because\MessageBreak
+ \pxhy@otfcid@disabled}%
+ \pxhy@otfcidfalse
+ \fi
+ }{}%
+}
+
+\fi
%--------------------------------------- Redefine text commands for PD1
\ifnum\pxhy@driver=\pxhy@driver@dvipdfmx %<*dvipdfmx>
@@ -501,11 +635,22 @@
% Some ad-hoc redefinitions.
\DeclareTextCommand{\textfi}{PD1}{fi}
\DeclareTextCommand{\textfl}{PD1}{fl}
-\DeclareTextCommand{\IJ}{PD1}{IJ}
-\DeclareTextCommand{\ij}{PD1}{ij}
+\DeclareTextCommand{\IJ}{PD1}{IJ}% needed?
+\DeclareTextCommand{\ij}{PD1}{ij}% needed?
\DeclareTextCommand{\textspace}{PD1}{\040}
\DeclareTextCommand{\textquotesingle}{PD1}{\047}
+%% Some adjustments on accents.
+\DeclareTextAccent{\H}{PD1}{\texthungarumlaut}
+\DeclareTextCompositeCommand{\H}{PD1}{\@empty}{\texthungarumlaut}
+\DeclareTextCompositeCommand{\H}{PD1}{\ }{\texthungarumlaut}
+\DeclareTextAccent{\u}{PD1}{\textasciibreve}
+\DeclareTextCompositeCommand{\u}{PD1}{\@empty}{\textasciibreve}
+\DeclareTextCompositeCommand{\u}{PD1}{\ }{\textasciibreve}
+\DeclareTextAccent{\k}{PD1}{\textogonek}
+\DeclareTextCompositeCommand{\k}{PD1}{\@empty}{\textogonek}
+\DeclareTextCompositeCommand{\k}{PD1}{\ }{\textogonek}
+
%%[A] The characters in PdfDocEncoding (except ASCII).
\pxDeclarePdfTextCommand{\textasciibreve}{}{02D8}
\pxDeclarePdfTextCommand{\textasciicaron}{}{02C7}
@@ -669,6 +814,8 @@
\pxDeclarePdfTextCommand{\textflq}{}{2039}
\pxDeclarePdfTextCommand{\textfrq}{}{203A}
\pxDeclarePdfTextCommand{\textEuro}{}{20AC}
+\pxDeclarePdfTextCommand{\guillemetleft}{}{00AB}
+\pxDeclarePdfTextCommand{\guillemetright}{}{00BB}
%%
%%[C] The characters that are included both in JIS X 0213
@@ -818,6 +965,7 @@
\pxDeclarePdfTextComposite{\=}{O}{}{014C}
\pxDeclarePdfTextComposite{\=}{a}{}{0101}
\pxDeclarePdfTextComposite{\=}{i}{}{012B}
+\pxDeclarePdfTextComposite{\=}{\i}{}{012B}
\pxDeclarePdfTextComposite{\=}{u}{}{016B}
\pxDeclarePdfTextComposite{\=}{e}{}{0113}
\pxDeclarePdfTextComposite{\=}{o}{}{014D}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxjahyper.tlpobj new/tlpkg/tlpobj/pxjahyper.tlpobj
--- old/tlpkg/tlpobj/pxjahyper.tlpobj 2019-02-28 04:03:39.000000000 +0100
+++ new/tlpkg/tlpobj/pxjahyper.tlpobj 2019-11-24 01:54:16.000000000 +0100
@@ -1,16 +1,17 @@
name pxjahyper
category Package
-revision 48207
+revision 52899
shortdesc Hyperref support for pLaTeX
relocated 1
longdesc This package adjusts the behavior of hyperref on (u)pLaTeX so
longdesc that authors can properly create PDF documents that contain
longdesc document information in Japanese.
-runfiles size=8
+runfiles size=15
+ RELOC/tex/platex/pxjahyper/pxjahyper-ajm.def
RELOC/tex/platex/pxjahyper/pxjahyper.sty
catalogue-contact-repository https://github.com/zr-tex8r/PXjahyper
catalogue-ctan /language/japanese/pxjahyper
-catalogue-date 2018-07-15 12:53:48 +0200
+catalogue-date 2019-11-23 20:01:18 +0100
catalogue-license mit
catalogue-topics japanese hyper
-catalogue-version 0.3d
+catalogue-version 0.4a
++++++ pxjodel.doc.tar.xz ++++++
Binary files old/doc/latex/pxjodel/tfm/jodhgothb-hq.tfm and new/doc/latex/pxjodel/tfm/jodhgothb-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/jodhgotheb-hq.tfm and new/doc/latex/pxjodel/tfm/jodhgotheb-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/jodhgothr-hq.tfm and new/doc/latex/pxjodel/tfm/jodhgothr-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/jodhmgothe-hq.tfm and new/doc/latex/pxjodel/tfm/jodhmgothe-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/jodhminb-hq.tfm and new/doc/latex/pxjodel/tfm/jodhminb-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/jodhminl-hq.tfm and new/doc/latex/pxjodel/tfm/jodhminl-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/jodhminr-hq.tfm and new/doc/latex/pxjodel/tfm/jodhminr-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/zu-jodhgothb-hq.tfm and new/doc/latex/pxjodel/tfm/zu-jodhgothb-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/zu-jodhgotheb-hq.tfm and new/doc/latex/pxjodel/tfm/zu-jodhgotheb-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/zu-jodhgothr-hq.tfm and new/doc/latex/pxjodel/tfm/zu-jodhgothr-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/zu-jodhmgothe-hq.tfm and new/doc/latex/pxjodel/tfm/zu-jodhmgothe-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/zu-jodhminb-hq.tfm and new/doc/latex/pxjodel/tfm/zu-jodhminb-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/zu-jodhminl-hq.tfm and new/doc/latex/pxjodel/tfm/zu-jodhminl-hq.tfm differ
Binary files old/doc/latex/pxjodel/tfm/zu-jodhminr-hq.tfm and new/doc/latex/pxjodel/tfm/zu-jodhminr-hq.tfm differ
Binary files old/doc/latex/pxjodel/vf/jodhgothb-hq.vf and new/doc/latex/pxjodel/vf/jodhgothb-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/jodhgotheb-hq.vf and new/doc/latex/pxjodel/vf/jodhgotheb-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/jodhgothr-hq.vf and new/doc/latex/pxjodel/vf/jodhgothr-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/jodhmgothe-hq.vf and new/doc/latex/pxjodel/vf/jodhmgothe-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/jodhminb-hq.vf and new/doc/latex/pxjodel/vf/jodhminb-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/jodhminl-hq.vf and new/doc/latex/pxjodel/vf/jodhminl-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/jodhminr-hq.vf and new/doc/latex/pxjodel/vf/jodhminr-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/zu-jodhgothb-hq.vf and new/doc/latex/pxjodel/vf/zu-jodhgothb-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/zu-jodhgotheb-hq.vf and new/doc/latex/pxjodel/vf/zu-jodhgotheb-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/zu-jodhgothr-hq.vf and new/doc/latex/pxjodel/vf/zu-jodhgothr-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/zu-jodhmgothe-hq.vf and new/doc/latex/pxjodel/vf/zu-jodhmgothe-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/zu-jodhminb-hq.vf and new/doc/latex/pxjodel/vf/zu-jodhminb-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/zu-jodhminl-hq.vf and new/doc/latex/pxjodel/vf/zu-jodhminl-hq.vf differ
Binary files old/doc/latex/pxjodel/vf/zu-jodhminr-hq.vf and new/doc/latex/pxjodel/vf/zu-jodhminr-hq.vf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxjodel.doc.tlpobj new/tlpkg/tlpobj/pxjodel.doc.tlpobj
--- old/tlpkg/tlpobj/pxjodel.doc.tlpobj 2019-02-28 04:03:39.000000000 +0100
+++ new/tlpkg/tlpobj/pxjodel.doc.tlpobj 2019-06-15 01:39:30.000000000 +0200
@@ -1,38 +1,10 @@
name pxjodel.doc
category Package
-revision 50009
+revision 51379
shortdesc doc files of pxjodel
relocated 1
-docfiles size=63
+docfiles size=35
RELOC/doc/latex/pxjodel/LICENSE
RELOC/doc/latex/pxjodel/README.md
RELOC/doc/latex/pxjodel/pxjodel.pdf
RELOC/doc/latex/pxjodel/pxjodel.tex
- RELOC/doc/latex/pxjodel/tfm/jodhgothb-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/jodhgotheb-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/jodhgothr-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/jodhmgothe-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/jodhminb-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/jodhminl-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/jodhminr-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/zu-jodhgothb-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/zu-jodhgotheb-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/zu-jodhgothr-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/zu-jodhmgothe-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/zu-jodhminb-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/zu-jodhminl-hq.tfm
- RELOC/doc/latex/pxjodel/tfm/zu-jodhminr-hq.tfm
- RELOC/doc/latex/pxjodel/vf/jodhgothb-hq.vf
- RELOC/doc/latex/pxjodel/vf/jodhgotheb-hq.vf
- RELOC/doc/latex/pxjodel/vf/jodhgothr-hq.vf
- RELOC/doc/latex/pxjodel/vf/jodhmgothe-hq.vf
- RELOC/doc/latex/pxjodel/vf/jodhminb-hq.vf
- RELOC/doc/latex/pxjodel/vf/jodhminl-hq.vf
- RELOC/doc/latex/pxjodel/vf/jodhminr-hq.vf
- RELOC/doc/latex/pxjodel/vf/zu-jodhgothb-hq.vf
- RELOC/doc/latex/pxjodel/vf/zu-jodhgotheb-hq.vf
- RELOC/doc/latex/pxjodel/vf/zu-jodhgothr-hq.vf
- RELOC/doc/latex/pxjodel/vf/zu-jodhmgothe-hq.vf
- RELOC/doc/latex/pxjodel/vf/zu-jodhminb-hq.vf
- RELOC/doc/latex/pxjodel/vf/zu-jodhminl-hq.vf
- RELOC/doc/latex/pxjodel/vf/zu-jodhminr-hq.vf
++++++ pxjodel.tar.xz ++++++
Binary files old/fonts/tfm/public/pxjodel/jodhgothb-hq.tfm and new/fonts/tfm/public/pxjodel/jodhgothb-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/jodhgotheb-hq.tfm and new/fonts/tfm/public/pxjodel/jodhgotheb-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/jodhgothr-hq.tfm and new/fonts/tfm/public/pxjodel/jodhgothr-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/jodhmgothe-hq.tfm and new/fonts/tfm/public/pxjodel/jodhmgothe-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/jodhminb-hq.tfm and new/fonts/tfm/public/pxjodel/jodhminb-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/jodhminl-hq.tfm and new/fonts/tfm/public/pxjodel/jodhminl-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/jodhminr-hq.tfm and new/fonts/tfm/public/pxjodel/jodhminr-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/zu-jodhgothb-hq.tfm and new/fonts/tfm/public/pxjodel/zu-jodhgothb-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/zu-jodhgotheb-hq.tfm and new/fonts/tfm/public/pxjodel/zu-jodhgotheb-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/zu-jodhgothr-hq.tfm and new/fonts/tfm/public/pxjodel/zu-jodhgothr-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/zu-jodhmgothe-hq.tfm and new/fonts/tfm/public/pxjodel/zu-jodhmgothe-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/zu-jodhminb-hq.tfm and new/fonts/tfm/public/pxjodel/zu-jodhminb-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/zu-jodhminl-hq.tfm and new/fonts/tfm/public/pxjodel/zu-jodhminl-hq.tfm differ
Binary files old/fonts/tfm/public/pxjodel/zu-jodhminr-hq.tfm and new/fonts/tfm/public/pxjodel/zu-jodhminr-hq.tfm differ
Binary files old/fonts/vf/public/pxjodel/jodhgothb-hq.vf and new/fonts/vf/public/pxjodel/jodhgothb-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/jodhgotheb-hq.vf and new/fonts/vf/public/pxjodel/jodhgotheb-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/jodhgothr-hq.vf and new/fonts/vf/public/pxjodel/jodhgothr-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/jodhmgothe-hq.vf and new/fonts/vf/public/pxjodel/jodhmgothe-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/jodhminb-hq.vf and new/fonts/vf/public/pxjodel/jodhminb-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/jodhminl-hq.vf and new/fonts/vf/public/pxjodel/jodhminl-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/jodhminr-hq.vf and new/fonts/vf/public/pxjodel/jodhminr-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/zu-jodhgothb-hq.vf and new/fonts/vf/public/pxjodel/zu-jodhgothb-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/zu-jodhgotheb-hq.vf and new/fonts/vf/public/pxjodel/zu-jodhgotheb-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/zu-jodhgothr-hq.vf and new/fonts/vf/public/pxjodel/zu-jodhgothr-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/zu-jodhmgothe-hq.vf and new/fonts/vf/public/pxjodel/zu-jodhmgothe-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/zu-jodhminb-hq.vf and new/fonts/vf/public/pxjodel/zu-jodhminb-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/zu-jodhminl-hq.vf and new/fonts/vf/public/pxjodel/zu-jodhminl-hq.vf differ
Binary files old/fonts/vf/public/pxjodel/zu-jodhminr-hq.vf and new/fonts/vf/public/pxjodel/zu-jodhminr-hq.vf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxjodel.tlpobj new/tlpkg/tlpobj/pxjodel.tlpobj
--- old/tlpkg/tlpobj/pxjodel.tlpobj 2019-02-28 04:03:39.000000000 +0100
+++ new/tlpkg/tlpobj/pxjodel.tlpobj 2019-06-15 01:39:30.000000000 +0200
@@ -1,6 +1,6 @@
name pxjodel
category Package
-revision 50009
+revision 51379
shortdesc Help change metrics of fonts from japanese-otf
relocated 1
longdesc This package changes the setup of the japanese-otf package so
@@ -16,7 +16,35 @@
longdesc using japanese-otf. So pxjodel is really about japanese-otf's
longdesc "deluxe" option, hence the name. It is not related to yodel
longdesc singing, although some sense of word-play is intended.
-runfiles size=2
+runfiles size=30
+ RELOC/fonts/tfm/public/pxjodel/jodhgothb-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/jodhgotheb-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/jodhgothr-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/jodhmgothe-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/jodhminb-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/jodhminl-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/jodhminr-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/zu-jodhgothb-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/zu-jodhgotheb-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/zu-jodhgothr-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/zu-jodhmgothe-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/zu-jodhminb-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/zu-jodhminl-hq.tfm
+ RELOC/fonts/tfm/public/pxjodel/zu-jodhminr-hq.tfm
+ RELOC/fonts/vf/public/pxjodel/jodhgothb-hq.vf
+ RELOC/fonts/vf/public/pxjodel/jodhgotheb-hq.vf
+ RELOC/fonts/vf/public/pxjodel/jodhgothr-hq.vf
+ RELOC/fonts/vf/public/pxjodel/jodhmgothe-hq.vf
+ RELOC/fonts/vf/public/pxjodel/jodhminb-hq.vf
+ RELOC/fonts/vf/public/pxjodel/jodhminl-hq.vf
+ RELOC/fonts/vf/public/pxjodel/jodhminr-hq.vf
+ RELOC/fonts/vf/public/pxjodel/zu-jodhgothb-hq.vf
+ RELOC/fonts/vf/public/pxjodel/zu-jodhgotheb-hq.vf
+ RELOC/fonts/vf/public/pxjodel/zu-jodhgothr-hq.vf
+ RELOC/fonts/vf/public/pxjodel/zu-jodhmgothe-hq.vf
+ RELOC/fonts/vf/public/pxjodel/zu-jodhminb-hq.vf
+ RELOC/fonts/vf/public/pxjodel/zu-jodhminl-hq.vf
+ RELOC/fonts/vf/public/pxjodel/zu-jodhminr-hq.vf
RELOC/tex/latex/pxjodel/pxjodel.sty
catalogue-contact-repository https://github.com/zr-tex8r/PXjodel
catalogue-ctan /language/japanese/pxjodel
++++++ pxtxalfa.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxtxalfa.doc.tlpobj new/tlpkg/tlpobj/pxtxalfa.doc.tlpobj
--- old/tlpkg/tlpobj/pxtxalfa.doc.tlpobj 2019-02-28 04:03:40.000000000 +0100
+++ new/tlpkg/tlpobj/pxtxalfa.doc.tlpobj 2020-03-04 23:53:36.000000000 +0100
@@ -1,6 +1,6 @@
name pxtxalfa.doc
category Package
-revision 23682
+revision 54080
shortdesc doc files of pxtxalfa
relocated 1
docfiles size=13
++++++ pxtxalfa.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxtxalfa.tlpobj new/tlpkg/tlpobj/pxtxalfa.tlpobj
--- old/tlpkg/tlpobj/pxtxalfa.tlpobj 2019-02-28 04:03:40.000000000 +0100
+++ new/tlpkg/tlpobj/pxtxalfa.tlpobj 2020-03-04 23:53:36.000000000 +0100
@@ -1,11 +1,11 @@
name pxtxalfa
category Package
-revision 23682
+revision 54080
shortdesc Virtual maths alphabets based on pxfonts and txfonts
relocated 1
longdesc The package provides virtual math alphabets based on pxfonts
longdesc and txfonts, with LaTeX support files and adjusted metrics. The
-longdesc mathalfa package offers support for this collection.
+longdesc mathalpha package offers support for this collection.
execute addMap pxtx.map
runfiles size=28
RELOC/fonts/map/dvips/pxtxalfa/pxtx.map
@@ -37,7 +37,6 @@
RELOC/tex/latex/pxtxalfa/utx-frak.fd
RELOC/tex/latex/pxtxalfa/utx-of.fd
catalogue-ctan /fonts/pxtxalfa
-catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics font font-maths font-virtual
catalogue-version 1
++++++ pxufont.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pxufont/README.md new/doc/latex/pxufont/README.md
--- old/doc/latex/pxufont/README.md 2019-03-12 22:55:25.000000000 +0100
+++ new/doc/latex/pxufont/README.md 2020-02-09 23:05:38.000000000 +0100
@@ -78,6 +78,9 @@
Revision History
----------------
+ * Version 0.6 〈2020/02/09〉
+ - Suuport for `b` series.
+
* Version 0.5 〈2019/02/28〉
- Support for the fonts of ruby notation forms.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxufont.doc.tlpobj new/tlpkg/tlpobj/pxufont.doc.tlpobj
--- old/tlpkg/tlpobj/pxufont.doc.tlpobj 2019-03-13 02:26:12.000000000 +0100
+++ new/tlpkg/tlpobj/pxufont.doc.tlpobj 2020-02-10 01:55:10.000000000 +0100
@@ -1,6 +1,6 @@
name pxufont.doc
category Package
-revision 50355
+revision 53733
shortdesc doc files of pxufont
relocated 1
docfiles size=2
++++++ pxufont.tar.xz ++++++
Binary files old/fonts/vf/public/pxufont/zu-cidjgb0-h.vf and new/fonts/vf/public/pxufont/zu-cidjgb0-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb0-v.vf and new/fonts/vf/public/pxufont/zu-cidjgb0-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb1-h.vf and new/fonts/vf/public/pxufont/zu-cidjgb1-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb1-v.vf and new/fonts/vf/public/pxufont/zu-cidjgb1-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb2-h.vf and new/fonts/vf/public/pxufont/zu-cidjgb2-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb2-v.vf and new/fonts/vf/public/pxufont/zu-cidjgb2-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb3-h.vf and new/fonts/vf/public/pxufont/zu-cidjgb3-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb3-v.vf and new/fonts/vf/public/pxufont/zu-cidjgb3-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb4-h.vf and new/fonts/vf/public/pxufont/zu-cidjgb4-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb4-v.vf and new/fonts/vf/public/pxufont/zu-cidjgb4-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb5-h.vf and new/fonts/vf/public/pxufont/zu-cidjgb5-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgb5-v.vf and new/fonts/vf/public/pxufont/zu-cidjgb5-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge0-h.vf and new/fonts/vf/public/pxufont/zu-cidjge0-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge0-v.vf and new/fonts/vf/public/pxufont/zu-cidjge0-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge1-h.vf and new/fonts/vf/public/pxufont/zu-cidjge1-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge1-v.vf and new/fonts/vf/public/pxufont/zu-cidjge1-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge2-h.vf and new/fonts/vf/public/pxufont/zu-cidjge2-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge2-v.vf and new/fonts/vf/public/pxufont/zu-cidjge2-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge3-h.vf and new/fonts/vf/public/pxufont/zu-cidjge3-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge3-v.vf and new/fonts/vf/public/pxufont/zu-cidjge3-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge4-h.vf and new/fonts/vf/public/pxufont/zu-cidjge4-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge4-v.vf and new/fonts/vf/public/pxufont/zu-cidjge4-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge5-h.vf and new/fonts/vf/public/pxufont/zu-cidjge5-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjge5-v.vf and new/fonts/vf/public/pxufont/zu-cidjge5-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr0-h.vf and new/fonts/vf/public/pxufont/zu-cidjgr0-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr0-v.vf and new/fonts/vf/public/pxufont/zu-cidjgr0-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr1-h.vf and new/fonts/vf/public/pxufont/zu-cidjgr1-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr1-v.vf and new/fonts/vf/public/pxufont/zu-cidjgr1-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr2-h.vf and new/fonts/vf/public/pxufont/zu-cidjgr2-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr2-v.vf and new/fonts/vf/public/pxufont/zu-cidjgr2-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr3-h.vf and new/fonts/vf/public/pxufont/zu-cidjgr3-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr3-v.vf and new/fonts/vf/public/pxufont/zu-cidjgr3-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr4-h.vf and new/fonts/vf/public/pxufont/zu-cidjgr4-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr4-v.vf and new/fonts/vf/public/pxufont/zu-cidjgr4-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr5-h.vf and new/fonts/vf/public/pxufont/zu-cidjgr5-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjgr5-v.vf and new/fonts/vf/public/pxufont/zu-cidjgr5-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb0-h.vf and new/fonts/vf/public/pxufont/zu-cidjmb0-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb0-v.vf and new/fonts/vf/public/pxufont/zu-cidjmb0-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb1-h.vf and new/fonts/vf/public/pxufont/zu-cidjmb1-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb1-v.vf and new/fonts/vf/public/pxufont/zu-cidjmb1-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb2-h.vf and new/fonts/vf/public/pxufont/zu-cidjmb2-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb2-v.vf and new/fonts/vf/public/pxufont/zu-cidjmb2-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb3-h.vf and new/fonts/vf/public/pxufont/zu-cidjmb3-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb3-v.vf and new/fonts/vf/public/pxufont/zu-cidjmb3-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb4-h.vf and new/fonts/vf/public/pxufont/zu-cidjmb4-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb4-v.vf and new/fonts/vf/public/pxufont/zu-cidjmb4-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb5-h.vf and new/fonts/vf/public/pxufont/zu-cidjmb5-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmb5-v.vf and new/fonts/vf/public/pxufont/zu-cidjmb5-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr0-h.vf and new/fonts/vf/public/pxufont/zu-cidjmgr0-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr0-v.vf and new/fonts/vf/public/pxufont/zu-cidjmgr0-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr1-h.vf and new/fonts/vf/public/pxufont/zu-cidjmgr1-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr1-v.vf and new/fonts/vf/public/pxufont/zu-cidjmgr1-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr2-h.vf and new/fonts/vf/public/pxufont/zu-cidjmgr2-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr2-v.vf and new/fonts/vf/public/pxufont/zu-cidjmgr2-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr3-h.vf and new/fonts/vf/public/pxufont/zu-cidjmgr3-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr3-v.vf and new/fonts/vf/public/pxufont/zu-cidjmgr3-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr4-h.vf and new/fonts/vf/public/pxufont/zu-cidjmgr4-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr4-v.vf and new/fonts/vf/public/pxufont/zu-cidjmgr4-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr5-h.vf and new/fonts/vf/public/pxufont/zu-cidjmgr5-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmgr5-v.vf and new/fonts/vf/public/pxufont/zu-cidjmgr5-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml0-h.vf and new/fonts/vf/public/pxufont/zu-cidjml0-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml0-v.vf and new/fonts/vf/public/pxufont/zu-cidjml0-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml1-h.vf and new/fonts/vf/public/pxufont/zu-cidjml1-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml1-v.vf and new/fonts/vf/public/pxufont/zu-cidjml1-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml2-h.vf and new/fonts/vf/public/pxufont/zu-cidjml2-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml2-v.vf and new/fonts/vf/public/pxufont/zu-cidjml2-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml3-h.vf and new/fonts/vf/public/pxufont/zu-cidjml3-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml3-v.vf and new/fonts/vf/public/pxufont/zu-cidjml3-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml4-h.vf and new/fonts/vf/public/pxufont/zu-cidjml4-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml4-v.vf and new/fonts/vf/public/pxufont/zu-cidjml4-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml5-h.vf and new/fonts/vf/public/pxufont/zu-cidjml5-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjml5-v.vf and new/fonts/vf/public/pxufont/zu-cidjml5-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr0-h.vf and new/fonts/vf/public/pxufont/zu-cidjmr0-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr0-v.vf and new/fonts/vf/public/pxufont/zu-cidjmr0-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr1-h.vf and new/fonts/vf/public/pxufont/zu-cidjmr1-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr1-v.vf and new/fonts/vf/public/pxufont/zu-cidjmr1-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr2-h.vf and new/fonts/vf/public/pxufont/zu-cidjmr2-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr2-v.vf and new/fonts/vf/public/pxufont/zu-cidjmr2-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr3-h.vf and new/fonts/vf/public/pxufont/zu-cidjmr3-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr3-v.vf and new/fonts/vf/public/pxufont/zu-cidjmr3-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr4-h.vf and new/fonts/vf/public/pxufont/zu-cidjmr4-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr4-v.vf and new/fonts/vf/public/pxufont/zu-cidjmr4-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr5-h.vf and new/fonts/vf/public/pxufont/zu-cidjmr5-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-cidjmr5-v.vf and new/fonts/vf/public/pxufont/zu-cidjmr5-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothb-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothb-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothb-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothb-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothbn-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothbn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothbn-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothbn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgotheb-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgotheb-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgotheb-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgotheb-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothebn-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothebn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothebn-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothebn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothr-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothr-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothr-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothr-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothrn-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothrn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlgothrn-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlgothrn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlmgothr-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlmgothr-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlmgothr-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlmgothr-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlmgothrn-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlmgothrn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlmgothrn-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlmgothrn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminb-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminb-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminb-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminb-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminbn-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminbn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminbn-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminbn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminl-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminl-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminl-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminl-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminln-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminln-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminln-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminln-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminr-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminr-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminr-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminr-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminrn-h.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminrn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upbrsgnmlminrn-v.vf and new/fonts/vf/public/pxufont/zu-upbrsgnmlminrn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothb-h.vf and new/fonts/vf/public/pxufont/zu-upnmlgothb-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothb-v.vf and new/fonts/vf/public/pxufont/zu-upnmlgothb-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothbn-h.vf and new/fonts/vf/public/pxufont/zu-upnmlgothbn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothbn-v.vf and new/fonts/vf/public/pxufont/zu-upnmlgothbn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgotheb-h.vf and new/fonts/vf/public/pxufont/zu-upnmlgotheb-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgotheb-v.vf and new/fonts/vf/public/pxufont/zu-upnmlgotheb-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothebn-h.vf and new/fonts/vf/public/pxufont/zu-upnmlgothebn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothebn-v.vf and new/fonts/vf/public/pxufont/zu-upnmlgothebn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothr-h.vf and new/fonts/vf/public/pxufont/zu-upnmlgothr-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothr-v.vf and new/fonts/vf/public/pxufont/zu-upnmlgothr-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothrn-h.vf and new/fonts/vf/public/pxufont/zu-upnmlgothrn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlgothrn-v.vf and new/fonts/vf/public/pxufont/zu-upnmlgothrn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlmgothr-h.vf and new/fonts/vf/public/pxufont/zu-upnmlmgothr-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlmgothr-v.vf and new/fonts/vf/public/pxufont/zu-upnmlmgothr-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlmgothrn-h.vf and new/fonts/vf/public/pxufont/zu-upnmlmgothrn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlmgothrn-v.vf and new/fonts/vf/public/pxufont/zu-upnmlmgothrn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminb-h.vf and new/fonts/vf/public/pxufont/zu-upnmlminb-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminb-v.vf and new/fonts/vf/public/pxufont/zu-upnmlminb-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminbn-h.vf and new/fonts/vf/public/pxufont/zu-upnmlminbn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminbn-v.vf and new/fonts/vf/public/pxufont/zu-upnmlminbn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminl-h.vf and new/fonts/vf/public/pxufont/zu-upnmlminl-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminl-v.vf and new/fonts/vf/public/pxufont/zu-upnmlminl-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminln-h.vf and new/fonts/vf/public/pxufont/zu-upnmlminln-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminln-v.vf and new/fonts/vf/public/pxufont/zu-upnmlminln-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminr-h.vf and new/fonts/vf/public/pxufont/zu-upnmlminr-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminr-v.vf and new/fonts/vf/public/pxufont/zu-upnmlminr-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminrn-h.vf and new/fonts/vf/public/pxufont/zu-upnmlminrn-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-upnmlminrn-v.vf and new/fonts/vf/public/pxufont/zu-upnmlminrn-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubygothb-h.vf and new/fonts/vf/public/pxufont/zu-uprubygothb-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubygothb-v.vf and new/fonts/vf/public/pxufont/zu-uprubygothb-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubygotheb-h.vf and new/fonts/vf/public/pxufont/zu-uprubygotheb-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubygotheb-v.vf and new/fonts/vf/public/pxufont/zu-uprubygotheb-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubygothr-h.vf and new/fonts/vf/public/pxufont/zu-uprubygothr-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubygothr-v.vf and new/fonts/vf/public/pxufont/zu-uprubygothr-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubymgothr-h.vf and new/fonts/vf/public/pxufont/zu-uprubymgothr-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubymgothr-v.vf and new/fonts/vf/public/pxufont/zu-uprubymgothr-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubyminb-h.vf and new/fonts/vf/public/pxufont/zu-uprubyminb-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubyminb-v.vf and new/fonts/vf/public/pxufont/zu-uprubyminb-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubyminl-h.vf and new/fonts/vf/public/pxufont/zu-uprubyminl-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubyminl-v.vf and new/fonts/vf/public/pxufont/zu-uprubyminl-v.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubyminr-h.vf and new/fonts/vf/public/pxufont/zu-uprubyminr-h.vf differ
Binary files old/fonts/vf/public/pxufont/zu-uprubyminr-v.vf and new/fonts/vf/public/pxufont/zu-uprubyminr-v.vf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pxufont/pxufont-ruby.sty new/tex/latex/pxufont/pxufont-ruby.sty
--- old/tex/latex/pxufont/pxufont-ruby.sty 2019-03-12 22:55:25.000000000 +0100
+++ new/tex/latex/pxufont/pxufont-ruby.sty 2020-02-09 23:05:38.000000000 +0100
@@ -1,7 +1,7 @@
%%
%% This is file 'pxufont-ruby.sty'.
-%%
-%% Copyright (c) 2017-2019 Takayuki YATO (aka. "ZR")
+%%
+%% Copyright (c) 2017-2020 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxufont-ruby}[2019/02/28 v0.5]
+\ProvidesPackage{pxufont-ruby}[2020/02/09 v0.6]
\def\pxuf@rb@pkgname{pxufont-ruby}
%--------------------------------------- main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pxufont/pxufont.sty new/tex/latex/pxufont/pxufont.sty
--- old/tex/latex/pxufont/pxufont.sty 2019-03-12 22:55:25.000000000 +0100
+++ new/tex/latex/pxufont/pxufont.sty 2020-02-09 23:05:38.000000000 +0100
@@ -1,7 +1,7 @@
%%
%% This is file 'pxufont.sty'.
-%%
-%% Copyright (c) 2017-2019 Takayuki YATO (aka. "ZR")
+%%
+%% Copyright (c) 2017-2020 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxufont}[2019/02/28 v0.5]
+\ProvidesPackage{pxufont}[2020/02/09 v0.6]
\def\pxuf@pkgname{pxufont}
%
\providecommand\bxDebug[1]{}
@@ -45,7 +45,7 @@
\def\pxuf@split@c#1\pxuf@mt#2\pxuf@end#3{%
\def\pxuf@pre{#3}\def\pxuf@post{#1}}
-%% swutch 'pxuf@otf@used'
+%% switch 'pxuf@otf@used'
\newif\ifpxuf@otf@used
\@ifpackageloaded{otf}{%
\pxuf@otf@usedtrue
@@ -58,7 +58,7 @@
}
%% \pxuf@JY/\pxuf@JT
-\ifNativeupTeX
+\ifnativeupTeX
\def\pxuf@JY{JY2}\def\pxuf@JT{JT2}
\else
\def\pxuf@JY{JY1}\def\pxuf@JT{JT1}
@@ -156,20 +156,20 @@
\ifpxuf@otf@used
\@for\pxuf@w:={\pxuf@JY,\pxuf@JT}\do{%
\@for\pxuf@x:={hmc,hgt,mg,ruby,rubyg,rubymg}\do{%
- \@for\pxuf@y:={l,m,bx,eb}\do{%
+ \@for\pxuf@y:={l,m,b,bx,eb}\do{%
\expandafter\ifx\csname\pxuf@w/\pxuf@x/\pxuf@y/n\endcsname\relax\else
\expandafter\let\csname pxuf@DF/\pxuf@w/\pxuf@x\endcsname=t%
\pxuf@process@one{t}\pxuf@w\pxuf@x\pxuf@y{n}%
\fi}}}
\@for\pxuf@w:={\pxuf@JY,\pxuf@JT}\do{%
\@for\pxuf@x:={cidj,cidjg,cidjmg}\do{%
- \@for\pxuf@y:={l,m,bx,eb}\do{%
+ \@for\pxuf@y:={l,m,b,bx,eb}\do{%
\expandafter\ifx\csname\pxuf@w/\pxuf@x/\pxuf@y/0\endcsname\relax\else
\@tfor\pxuf@z:=012345\do{%
\pxuf@process@one{f}\pxuf@w\pxuf@x\pxuf@y\pxuf@z}%
\fi}}}
\fi
-\ifNativeupTeX\else
+\ifnativeupTeX\else
\@for\pxuf@w:={\pxuf@JY,\pxuf@JT}\do{%
\@for\pxuf@x:={\mcdefault,\gtdefault,mc,gt}\do{%
\expandafter\ifx\csname pxuf@DF/\pxuf@w/\pxuf@x\endcsname\relax
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pxufont.tlpobj new/tlpkg/tlpobj/pxufont.tlpobj
--- old/tlpkg/tlpobj/pxufont.tlpobj 2019-03-13 02:26:12.000000000 +0100
+++ new/tlpkg/tlpobj/pxufont.tlpobj 2020-02-10 01:55:10.000000000 +0100
@@ -1,6 +1,6 @@
name pxufont
category Package
-revision 50355
+revision 53733
shortdesc Emulate non-Unicode Japanese fonts using Unicode fonts
relocated 1
longdesc The set of the Japanese logical fonts (JFMs) that are used as
@@ -513,7 +513,6 @@
RELOC/tex/latex/pxufont/pxufont.sty
catalogue-contact-repository https://github.com/zr-tex8r/PXufont
catalogue-ctan /language/japanese/pxufont
-catalogue-date 2019-03-12 08:30:26 +0100
catalogue-license mit
catalogue-topics japanese font-use font-cjk
-catalogue-version 0.5
+catalogue-version 0.6
++++++ pythontex.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/latex/pythontex/NEWS.rst new/texmf-dist/doc/latex/pythontex/NEWS.rst
--- old/texmf-dist/doc/latex/pythontex/NEWS.rst 2017-07-22 00:00:53.000000000 +0200
+++ new/texmf-dist/doc/latex/pythontex/NEWS.rst 2019-09-24 22:07:38.000000000 +0200
@@ -7,6 +7,57 @@
===============
+v0.17 (2019/09/22)
+------------------
+
+* Pygments syntax highlighting for the Python console (``pycon`` lexer) now
+ uses the ``python3`` option, and the default Python lexer is now
+ ``python3`` (#156).
+
+* Added support for JavaScript (#147; thanks to Nathan Carter).
+
+* Updated Julia support for Julia versions 0.6 (#107), and 0.7 and 1.0 (#126,
+ #130).
+
+* There are now meaningful error messages for the Julia console when Weave.jl
+ is not installed or raises errors (#131).
+
+* ``pythontexcustomcode`` and ``\pythontexcustomc`` now set
+ ``pytex.context`` (#65).
+
+* Added support for R. The ``R`` family of commands and environments
+ (``\R``, ``\Rc``, ``Rcode``, ...) executes code as a script.
+ There is currently no utilities class or equivalent. The ``Rcon`` family
+ (``Rconsole``) executes code to emulate an interactive R session (#121).
+
+* ``fancyvrb`` settings from ``\setpythontexfv`` and console
+ environments now work with Julia and R consoles.
+
+* ``pythontexcustomcode`` now works with ``juliacon``. There are now proper
+ ``juliaconcode`` and ``Rconcode`` environments that execute code but
+ typeset nothing, to parallel ``pyconcode`` (#134).
+
+* Added support for Perl with the ``perl`` and ``pl`` families of commands
+ and environments. There is currently no utilities class or equivalent.
+
+* Added support for Perl 6 with the ``perlsix`` and ``psix`` families of
+ commands and environments (#104). There is currently no utilities class or
+ equivalent.
+
+* Updated Rust support by using ``dyn`` with traits in utilities object.
+
+* Under Windows, capitalization of script paths in ``stderr`` is now
+ preserved.
+
+* Fixed a bug that prevented the ``sub`` environment from working with
+ ``depythontex`` (#155).
+
+* Fixed a bug in checking mtime of dependencies to see if they have been
+ modified while ``pythontex`` is running. The check failed for dependencies
+ that do not exist or were deleted before ``pythontex`` can read them
+ (#136).
+
+
v0.16 (2017/07/20)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/latex/pythontex/README new/texmf-dist/doc/latex/pythontex/README
--- old/texmf-dist/doc/latex/pythontex/README 2017-07-22 00:00:53.000000000 +0200
+++ new/texmf-dist/doc/latex/pythontex/README 2019-09-24 22:07:38.000000000 +0200
@@ -3,15 +3,16 @@
===================================================================
:Author: Geoffrey Poore
-:Version: 0.16 (2017/07/20)
+:Version: 0.17 (2019/09/22)
:License: LPPL v1.3 or later (LaTeX code) and BSD 3-Clause (Python code)
:Development: https://github.com/gpoore/pythontex
:Requirements: Python 2.7 or 3.2+; Pygments
-The PythonTeX package allows you to enter Python code within a LaTeX
-document, execute the code, and access its output in the original document.
-It also supports the Ruby, Julia, Octave, Sage, Bash, and Rust languages.
+The PythonTeX package allows you to enter Python code within a LaTeX document,
+execute the code, and access its output in the original document. It also
+supports the Ruby, Julia, Octave, Sage, Bash, Rust, R, Perl, Perl 6, and
+JavaScript languages.
PythonTeX provides fast, user-friendly access to Python from within LaTeX.
Python code is only executed when it has been modified, or when it meets
Binary files old/texmf-dist/doc/latex/pythontex/pythontex.pdf and new/texmf-dist/doc/latex/pythontex/pythontex.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pythontex.doc.tlpobj new/tlpkg/tlpobj/pythontex.doc.tlpobj
--- old/tlpkg/tlpobj/pythontex.doc.tlpobj 2019-02-28 04:03:53.000000000 +0100
+++ new/tlpkg/tlpobj/pythontex.doc.tlpobj 2019-09-25 01:54:00.000000000 +0200
@@ -1,8 +1,8 @@
name pythontex.doc
category Package
-revision 44860
+revision 52174
shortdesc doc files of pythontex
-docfiles size=403
+docfiles size=406
texmf-dist/doc/latex/pythontex/NEWS.rst
texmf-dist/doc/latex/pythontex/README
texmf-dist/doc/latex/pythontex/pythontex.pdf
++++++ pythontex.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pythontex/depythontex2.py new/texmf-dist/scripts/pythontex/depythontex2.py
--- old/texmf-dist/scripts/pythontex/depythontex2.py 2017-07-22 00:00:53.000000000 +0200
+++ new/texmf-dist/scripts/pythontex/depythontex2.py 2019-09-24 22:07:38.000000000 +0200
@@ -86,7 +86,7 @@
# Script parameters
# Version
-__version__ = '0.16'
+__version__ = '0.17'
# Functions and parameters for customizing the script output
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pythontex/depythontex3.py new/texmf-dist/scripts/pythontex/depythontex3.py
--- old/texmf-dist/scripts/pythontex/depythontex3.py 2017-07-22 00:00:53.000000000 +0200
+++ new/texmf-dist/scripts/pythontex/depythontex3.py 2019-09-24 22:07:38.000000000 +0200
@@ -86,7 +86,7 @@
# Script parameters
# Version
-__version__ = '0.16'
+__version__ = '0.17'
# Functions and parameters for customizing the script output
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pythontex/pythontex2.py new/texmf-dist/scripts/pythontex/pythontex2.py
--- old/texmf-dist/scripts/pythontex/pythontex2.py 2017-07-22 00:00:53.000000000 +0200
+++ new/texmf-dist/scripts/pythontex/pythontex2.py 2019-09-24 22:07:38.000000000 +0200
@@ -13,7 +13,7 @@
Licensed under the BSD 3-Clause License:
-Copyright (c) 2012-2017, Geoffrey M. Poore
+Copyright (c) 2012-2019, Geoffrey M. Poore
All rights reserved.
@@ -62,6 +62,7 @@
from pythontex_engines import *
import textwrap
import platform
+import itertools
if sys.version_info[0] == 2:
try:
@@ -77,7 +78,7 @@
# Script parameters
# Version
-__version__ = '0.16'
+__version__ = '0.17'
@@ -1213,9 +1214,13 @@
# Must double-escape any backslashes so that they survive `shlex.split()`
script = basename
if os.path.isabs(os.path.expanduser(os.path.normcase(outputdir))):
- script_full = os.path.expanduser(os.path.normcase(os.path.join(outputdir, basename)))
+ script_full = os.path.expanduser(os.path.join(outputdir, basename))
else:
- script_full = os.path.expanduser(os.path.normcase(os.path.join(orig_cwd, outputdir, basename)))
+ script_full = os.path.expanduser(os.path.join(orig_cwd, outputdir, basename))
+ if platform.system() == 'Windows':
+ script_full = script_full.replace('/', '\\')
+ else:
+ script_full = script_full.replace('\\', '/')
# `shlex.split()` only works with Unicode after 2.7.2
if (sys.version_info.major == 2 and sys.version_info.micro < 3):
exec_cmd = shlex.split(bytes(command.format(file=script.replace('\\', '\\\\'), File=script_full.replace('\\', '\\\\'))))
@@ -1275,7 +1280,11 @@
for key in code_dict:
family = key.split('#')[0]
# Uncomment the following for debugging, and comment out what follows
- '''run_code(encoding, outputdir, workingdir, code_dict[key],
+ '''run_code(encoding, outputdir,
+ workingdir,
+ cc_dict_begin[family],
+ code_dict[key],
+ cc_dict_end[family],
engine_dict[family].language,
engine_dict[family].commands,
engine_dict[family].created,
@@ -1287,9 +1296,12 @@
engine_dict[family].linenumbers,
engine_dict[family].lookbehind,
keeptemps, hashdependencies,
- pygments_settings)'''
+ pygments_settings]))'''
tasks.append(pool.apply_async(run_code, [encoding, outputdir,
- workingdir, code_dict[key],
+ workingdir,
+ cc_dict_begin[family],
+ code_dict[key],
+ cc_dict_end[family],
engine_dict[family].language,
engine_dict[family].commands,
engine_dict[family].created,
@@ -1412,7 +1424,7 @@
unresolved_sessions = []
for key in dependencies:
for dep, val in dependencies[key].items():
- if val[0] > start_time:
+ if val[0] is None or val[0] > start_time:
unresolved_dependencies = True
dependencies[key][dep] = (None, None)
unresolved_sessions.append(key.replace('#', ':'))
@@ -1474,7 +1486,8 @@
-def run_code(encoding, outputdir, workingdir, code_list, language, commands,
+def run_code(encoding, outputdir, workingdir,
+ cc_begin_list, code_list, cc_end_list, language, commands,
command_created, extension, makestderr, stderrfilename,
code_index, errorsig, warningsig, linesig, stderrlookbehind,
keeptemps, hashdependencies, pygments_settings):
@@ -1512,11 +1525,19 @@
err_file_name = os.path.expanduser(os.path.normcase(os.path.join(outputdir, basename + '.err')))
out_file = open(out_file_name, 'w', encoding=encoding)
err_file = open(err_file_name, 'w', encoding=encoding)
- script = os.path.expanduser(os.path.normcase(os.path.join(outputdir, basename)))
+ script = os.path.expanduser(os.path.join(outputdir, basename))
+ if platform.system() == 'Windows':
+ script = script.replace('/', '\\')
+ else:
+ script = script.replace('\\', '/')
if os.path.isabs(script):
script_full = script
else:
- script_full = os.path.expanduser(os.path.normcase(os.path.join(os.getcwd(), outputdir, basename)))
+ script_full = os.path.expanduser(os.path.join(os.getcwd(), outputdir, basename))
+ if platform.system() == 'Windows':
+ script_full = script_full.replace('/', '\\')
+ else:
+ script_full = script_full.replace('\\', '/')
# #### Need to revise so that intermediate files can be detected and cleaned up
for f in command_created:
files.append(f.format(file=script, File=script_full))
@@ -1535,7 +1556,10 @@
# Add any created files due to the command
# This needs to be done before attempts to execute, to prevent orphans
try:
- proc = subprocess.Popen(exec_cmd, stdout=out_file, stderr=err_file)
+ if family != 'Rcon':
+ proc = subprocess.Popen(exec_cmd, stdout=out_file, stderr=err_file)
+ else:
+ proc = subprocess.Popen(exec_cmd, stdout=out_file, stderr=subprocess.STDOUT)
except WindowsError as e:
if e.errno == 2:
# Batch files won't be found when called without extension. They
@@ -1546,7 +1570,10 @@
# under Windows; a list is not required.
exec_cmd_string = ' '.join(exec_cmd)
exec_cmd_string = 'cmd /C "@echo off & call {0} & if errorlevel 1 exit 1"'.format(exec_cmd_string)
- proc = subprocess.Popen(exec_cmd_string, stdout=out_file, stderr=err_file)
+ if family != 'Rcon':
+ proc = subprocess.Popen(exec_cmd_string, stdout=out_file, stderr=err_file)
+ else:
+ proc = subprocess.Popen(exec_cmd_string, stdout=out_file, stderr=subprocess.STDOUT)
else:
raise
@@ -1567,15 +1594,21 @@
messages.append('* PythonTeX error')
messages.append(' Missing output file for ' + key_run.replace('#', ':'))
errors += 1
+ elif family == 'juliacon' and proc.returncode == 1:
+ messages.append('* PythonTeX error')
+ messages.append(' Running code for Julia console failed')
+ with open(err_file_name, encoding='utf8') as f:
+ messages.append(f.read())
+ errors += 1
else:
if family == 'juliacon':
with open(out_file_name.rsplit('.', 1)[0] + '.tex', 'r', encoding=encoding) as f:
tex_data_lines = f.readlines()
- inst = 0
+ code_iter = itertools.chain(cc_begin_list, code_list, cc_end_list)
for n, line in enumerate(tex_data_lines):
if line.rstrip() == '\\begin{juliaterm}':
- tex_data_lines[n] = '=>PYTHONTEX:STDOUT#{0}#code#\n'.format(inst)
- inst += 1
+ c = next(code_iter)
+ tex_data_lines[n] = '=>PYTHONTEX:STDOUT#{0}#code#\n'.format(c.instance)
if n != 0:
tex_data_lines[n-1] = ''
if line.rstrip() == '\\end{juliaterm}':
@@ -1583,6 +1616,29 @@
tex_data_lines.append('=>PYTHONTEX:DEPENDENCIES#\n=>PYTHONTEX:CREATED#\n')
with open(out_file_name, 'w', encoding=encoding) as f:
f.write(''.join(tex_data_lines))
+ elif family == 'Rcon':
+ with open(out_file_name, 'r', encoding=encoding) as f:
+ stdout_lines = f.readlines()
+ for n, line in enumerate(stdout_lines):
+ if line.startswith('> =>PYTHONTEX:'):
+ stdout_lines[n] = line[2:]
+ elif '> write("=>PYTHONTEX:' in line:
+ if line.startswith('> write("=>PYTHONTEX:'):
+ stdout_lines[n] = ''
+ else:
+ # cat() and similar functions can result in the
+ # prompt not being at the start of a new line. In
+ # that case, preserve the prompt to accurately
+ # emulate the console. If there is a following
+ # console environment, this effectively amounts
+ # to adding an extra empty line (pressing ENTER)
+ # between the two.
+ stdout_lines[n] = line.split('write("=>PYTHONTEX:', 1)[0]
+ while stdout_lines and (stdout_lines[-1].startswith('>') and not stdout_lines[-1][1:].strip(' \n')):
+ stdout_lines.pop()
+ stdout_lines.append('=>PYTHONTEX:DEPENDENCIES#\n=>PYTHONTEX:CREATED#\n')
+ with open(out_file_name, 'w', encoding=encoding) as f:
+ f.write(''.join(stdout_lines))
f = open(out_file_name, 'r', encoding=encoding)
out = f.read()
@@ -1640,7 +1696,7 @@
else:
dependencies[dep] = (os.path.getmtime(dep_file), '')
- if family == 'juliacon':
+ if family in ('juliacon', 'Rcon'):
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import LatexFormatter
@@ -1655,16 +1711,21 @@
for block in out.split('=>PYTHONTEX:STDOUT#')[1:]:
if block:
delims, content = block.split('#\n', 1)
+ if content and not content.endswith('\n'):
+ # Content might not end with a newline. For example,
+ # Rcon with something like cat() as the last function.
+ content += '\n'
instance, command = delims.split('#')
if content or command in ('s', 'sub'):
if instance.endswith('CC'):
- messages.append('* PythonTeX warning')
- messages.append(' Custom code for "' + family + '" attempted to print or write to stdout')
- messages.append(' This is not supported; use a normal code command or environment')
- messages.append(' The following content was written:')
- messages.append('')
- messages.extend([' ' + l for l in content.splitlines()])
- warnings += 1
+ if family not in ('juliacon', 'Rcon'):
+ messages.append('* PythonTeX warning')
+ messages.append(' Custom code for "' + family + '" attempted to print or write to stdout')
+ messages.append(' This is not supported; use a normal code command or environment')
+ messages.append(' The following content was written:')
+ messages.append('')
+ messages.extend([' ' + l for l in content.splitlines()])
+ warnings += 1
elif command == 'i':
content = r'\pytx@SVMCR{pytx@MCR@' + key_run.replace('#', '@') + '@' + instance + '}\n' + content.rstrip('\n') + '\\endpytx@SVMCR\n\n'
macros.append(content)
@@ -1682,7 +1743,7 @@
# Remove newline added by printing, prevent
# LaTeX from adding a space after content
content = content.rsplit('\n', 1)[0] + '\\endinput\n'
- if family == 'juliacon':
+ if family in ('juliacon', 'Rcon'):
content = highlight(content, lexer[family], formatter[family])
f.write(content)
f.close()
@@ -1693,7 +1754,7 @@
messages.append('* PythonTeX error')
messages.append(' Missing stderr file for ' + key_run.replace('#', ':'))
errors += 1
- elif family == 'juliacon':
+ elif family in ('juliacon', 'Rcon'):
pass
else:
# Open error and code files.
@@ -1733,7 +1794,7 @@
index_next = index_now
start_errgobble = None
for n, line in enumerate(err_ud):
- if basename in line:
+ if basename in line and (family not in ('perlsix', 'psix') or '.p6:' in line or '.p6 line' in line):
# Get the gobbleation. This is used to determine if
# other lines containing the basename are a continuation,
# or separate messages.
@@ -1779,7 +1840,7 @@
# both the error and warning patterns, default to
# error.
past_line = err_ud[index]
- if (index < n and basename in past_line):
+ if (index < n and basename in past_line and (family not in ('perlsix', 'psix') or '.p6:' in past_line or '.p6 line' in past_line)):
break
for pattern in warningsig:
if pattern in past_line:
@@ -1843,8 +1904,9 @@
index_now_last = index_now
index_next_last = index_next
err_key_last_int = -1
+ p6_sorry_search = False
for n, line in enumerate(err_ud):
- if basename in line:
+ if basename in line and (family not in ('perlsix', 'psix') or '.p6:' in line or '.p6 line' in line):
# Determine the corresponding line number in the document
found = False
for pattern in linesig:
@@ -1906,6 +1968,35 @@
line = line.replace(fullbasename + '.' + extension, '<file>')
elif stderrfilename == 'genericscript':
line = line.replace(fullbasename + '.' + extension, '<script>')
+ if family in ('perlsix', 'psix'):
+ # Perl 6 "SORRY!" errors during compiling
+ # (before execution) need special processing,
+ # since they lack stderr delims and must
+ # include lines before the current one.
+ if p6_sorry_search: # Already handled
+ pass
+ else:
+ p6_sorry_search = True
+ p6_sorry_index = n - 1
+ while p6_sorry_index >= 0:
+ if not err_ud[p6_sorry_index].startswith('===SORRY!==='):
+ p6_sorry_index -= 1
+ continue
+ if errlinenum > index_now[1].lines_total + index_now[1].lines_input:
+ p6_linenum_offset = index_now[1].lines_total
+ else:
+ p6_linenum_offset = index_now[1].lines_total - index_now[1].lines_user + index_now[1].inline_count
+ p6_preceding_err_lines = [sub(r'line ([1-9][0-9]*)', lambda m: 'line {0}'.format(int(m.group(1)) - p6_linenum_offset), x) for x in err_ud[p6_sorry_index:n]]
+ if stderrfilename == 'full':
+ p6_preceding_err_lines[0] = p6_preceding_err_lines[0].replace(fullbasename, basename)
+ elif stderrfilename == 'session':
+ p6_preceding_err_lines[0] = p6_preceding_err_lines[0].replace(fullbasename, session)
+ elif stderrfilename == 'genericfile':
+ p6_preceding_err_lines[0] = p6_preceding_err_lines[0].replace(fullbasename + '.' + extension, '<file>')
+ elif stderrfilename == 'genericscript':
+ p6_preceding_err_lines[0] = p6_preceding_err_lines[0].replace(fullbasename + '.' + extension, '<script>')
+ err_dict[err_key].extend(p6_preceding_err_lines)
+ break
err_dict[err_key].append(line)
elif process:
err_dict[err_key].append(line)
@@ -1967,7 +2058,7 @@
# Never process delimiting info until it is used
# Rather, store the index of the last delimiter
last_delim = line
- elif basename in line:
+ elif basename in line and (family not in ('perlsix', 'psix') or '.p6:' in line or '.p6 line' in line):
found_basename = True
# Get the gobbleation. This is used to determine if
# other lines containing the basename are a continuation,
@@ -2122,7 +2213,7 @@
else:
process = True
err_key = basename + '_' + instance
- elif process and basename in line:
+ elif process and basename in line and (family not in ('perlsix', 'psix') or '.p6:' in line or '.p6 line' in line):
found = False
for pattern in linesig:
try:
@@ -2297,6 +2388,8 @@
if codetype != ':GLOBAL':
p = pygments_settings[codetype]['formatter_options'].copy()
p['commandprefix'] = 'PYG'
+ if pygments_settings[codetype]['lexer'] == 'pycon':
+ p['python3'] = True
formatter[codetype] = LatexFormatter(**p)
lexer[codetype] = get_lexer_by_name(pygments_settings[codetype]['lexer'], **p)
@@ -2503,6 +2596,8 @@
from pygments.formatters import LatexFormatter
p = pygments_settings['formatter_options'].copy()
p['commandprefix'] = 'PYG'
+ if pygments_settings['lexer'] == 'pycon':
+ p['python3'] = True
formatter = LatexFormatter(**p)
lexer = get_lexer_by_name(pygments_settings['lexer'], **p)
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pythontex/pythontex3.py new/texmf-dist/scripts/pythontex/pythontex3.py
--- old/texmf-dist/scripts/pythontex/pythontex3.py 2017-07-22 00:00:53.000000000 +0200
+++ new/texmf-dist/scripts/pythontex/pythontex3.py 2019-09-24 22:07:38.000000000 +0200
@@ -13,7 +13,7 @@
Licensed under the BSD 3-Clause License:
-Copyright (c) 2012-2017, Geoffrey M. Poore
+Copyright (c) 2012-2019, Geoffrey M. Poore
All rights reserved.
@@ -62,6 +62,7 @@
from pythontex_engines import *
import textwrap
import platform
+import itertools
if sys.version_info[0] == 2:
try:
@@ -77,7 +78,7 @@
# Script parameters
# Version
-__version__ = '0.16'
+__version__ = '0.17'
@@ -1213,9 +1214,13 @@
# Must double-escape any backslashes so that they survive `shlex.split()`
script = basename
if os.path.isabs(os.path.expanduser(os.path.normcase(outputdir))):
- script_full = os.path.expanduser(os.path.normcase(os.path.join(outputdir, basename)))
+ script_full = os.path.expanduser(os.path.join(outputdir, basename))
else:
- script_full = os.path.expanduser(os.path.normcase(os.path.join(orig_cwd, outputdir, basename)))
+ script_full = os.path.expanduser(os.path.join(orig_cwd, outputdir, basename))
+ if platform.system() == 'Windows':
+ script_full = script_full.replace('/', '\\')
+ else:
+ script_full = script_full.replace('\\', '/')
# `shlex.split()` only works with Unicode after 2.7.2
if (sys.version_info.major == 2 and sys.version_info.micro < 3):
exec_cmd = shlex.split(bytes(command.format(file=script.replace('\\', '\\\\'), File=script_full.replace('\\', '\\\\'))))
@@ -1275,7 +1280,11 @@
for key in code_dict:
family = key.split('#')[0]
# Uncomment the following for debugging, and comment out what follows
- '''run_code(encoding, outputdir, workingdir, code_dict[key],
+ '''run_code(encoding, outputdir,
+ workingdir,
+ cc_dict_begin[family],
+ code_dict[key],
+ cc_dict_end[family],
engine_dict[family].language,
engine_dict[family].commands,
engine_dict[family].created,
@@ -1287,9 +1296,12 @@
engine_dict[family].linenumbers,
engine_dict[family].lookbehind,
keeptemps, hashdependencies,
- pygments_settings)'''
+ pygments_settings]))'''
tasks.append(pool.apply_async(run_code, [encoding, outputdir,
- workingdir, code_dict[key],
+ workingdir,
+ cc_dict_begin[family],
+ code_dict[key],
+ cc_dict_end[family],
engine_dict[family].language,
engine_dict[family].commands,
engine_dict[family].created,
@@ -1412,7 +1424,7 @@
unresolved_sessions = []
for key in dependencies:
for dep, val in dependencies[key].items():
- if val[0] > start_time:
+ if val[0] is None or val[0] > start_time:
unresolved_dependencies = True
dependencies[key][dep] = (None, None)
unresolved_sessions.append(key.replace('#', ':'))
@@ -1474,7 +1486,8 @@
-def run_code(encoding, outputdir, workingdir, code_list, language, commands,
+def run_code(encoding, outputdir, workingdir,
+ cc_begin_list, code_list, cc_end_list, language, commands,
command_created, extension, makestderr, stderrfilename,
code_index, errorsig, warningsig, linesig, stderrlookbehind,
keeptemps, hashdependencies, pygments_settings):
@@ -1512,11 +1525,19 @@
err_file_name = os.path.expanduser(os.path.normcase(os.path.join(outputdir, basename + '.err')))
out_file = open(out_file_name, 'w', encoding=encoding)
err_file = open(err_file_name, 'w', encoding=encoding)
- script = os.path.expanduser(os.path.normcase(os.path.join(outputdir, basename)))
+ script = os.path.expanduser(os.path.join(outputdir, basename))
+ if platform.system() == 'Windows':
+ script = script.replace('/', '\\')
+ else:
+ script = script.replace('\\', '/')
if os.path.isabs(script):
script_full = script
else:
- script_full = os.path.expanduser(os.path.normcase(os.path.join(os.getcwd(), outputdir, basename)))
+ script_full = os.path.expanduser(os.path.join(os.getcwd(), outputdir, basename))
+ if platform.system() == 'Windows':
+ script_full = script_full.replace('/', '\\')
+ else:
+ script_full = script_full.replace('\\', '/')
# #### Need to revise so that intermediate files can be detected and cleaned up
for f in command_created:
files.append(f.format(file=script, File=script_full))
@@ -1535,7 +1556,10 @@
# Add any created files due to the command
# This needs to be done before attempts to execute, to prevent orphans
try:
- proc = subprocess.Popen(exec_cmd, stdout=out_file, stderr=err_file)
+ if family != 'Rcon':
+ proc = subprocess.Popen(exec_cmd, stdout=out_file, stderr=err_file)
+ else:
+ proc = subprocess.Popen(exec_cmd, stdout=out_file, stderr=subprocess.STDOUT)
except WindowsError as e:
if e.errno == 2:
# Batch files won't be found when called without extension. They
@@ -1546,7 +1570,10 @@
# under Windows; a list is not required.
exec_cmd_string = ' '.join(exec_cmd)
exec_cmd_string = 'cmd /C "@echo off & call {0} & if errorlevel 1 exit 1"'.format(exec_cmd_string)
- proc = subprocess.Popen(exec_cmd_string, stdout=out_file, stderr=err_file)
+ if family != 'Rcon':
+ proc = subprocess.Popen(exec_cmd_string, stdout=out_file, stderr=err_file)
+ else:
+ proc = subprocess.Popen(exec_cmd_string, stdout=out_file, stderr=subprocess.STDOUT)
else:
raise
@@ -1567,15 +1594,21 @@
messages.append('* PythonTeX error')
messages.append(' Missing output file for ' + key_run.replace('#', ':'))
errors += 1
+ elif family == 'juliacon' and proc.returncode == 1:
+ messages.append('* PythonTeX error')
+ messages.append(' Running code for Julia console failed')
+ with open(err_file_name, encoding='utf8') as f:
+ messages.append(f.read())
+ errors += 1
else:
if family == 'juliacon':
with open(out_file_name.rsplit('.', 1)[0] + '.tex', 'r', encoding=encoding) as f:
tex_data_lines = f.readlines()
- inst = 0
+ code_iter = itertools.chain(cc_begin_list, code_list, cc_end_list)
for n, line in enumerate(tex_data_lines):
if line.rstrip() == '\\begin{juliaterm}':
- tex_data_lines[n] = '=>PYTHONTEX:STDOUT#{0}#code#\n'.format(inst)
- inst += 1
+ c = next(code_iter)
+ tex_data_lines[n] = '=>PYTHONTEX:STDOUT#{0}#code#\n'.format(c.instance)
if n != 0:
tex_data_lines[n-1] = ''
if line.rstrip() == '\\end{juliaterm}':
@@ -1583,6 +1616,29 @@
tex_data_lines.append('=>PYTHONTEX:DEPENDENCIES#\n=>PYTHONTEX:CREATED#\n')
with open(out_file_name, 'w', encoding=encoding) as f:
f.write(''.join(tex_data_lines))
+ elif family == 'Rcon':
+ with open(out_file_name, 'r', encoding=encoding) as f:
+ stdout_lines = f.readlines()
+ for n, line in enumerate(stdout_lines):
+ if line.startswith('> =>PYTHONTEX:'):
+ stdout_lines[n] = line[2:]
+ elif '> write("=>PYTHONTEX:' in line:
+ if line.startswith('> write("=>PYTHONTEX:'):
+ stdout_lines[n] = ''
+ else:
+ # cat() and similar functions can result in the
+ # prompt not being at the start of a new line. In
+ # that case, preserve the prompt to accurately
+ # emulate the console. If there is a following
+ # console environment, this effectively amounts
+ # to adding an extra empty line (pressing ENTER)
+ # between the two.
+ stdout_lines[n] = line.split('write("=>PYTHONTEX:', 1)[0]
+ while stdout_lines and (stdout_lines[-1].startswith('>') and not stdout_lines[-1][1:].strip(' \n')):
+ stdout_lines.pop()
+ stdout_lines.append('=>PYTHONTEX:DEPENDENCIES#\n=>PYTHONTEX:CREATED#\n')
+ with open(out_file_name, 'w', encoding=encoding) as f:
+ f.write(''.join(stdout_lines))
f = open(out_file_name, 'r', encoding=encoding)
out = f.read()
@@ -1640,7 +1696,7 @@
else:
dependencies[dep] = (os.path.getmtime(dep_file), '')
- if family == 'juliacon':
+ if family in ('juliacon', 'Rcon'):
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import LatexFormatter
@@ -1655,16 +1711,21 @@
for block in out.split('=>PYTHONTEX:STDOUT#')[1:]:
if block:
delims, content = block.split('#\n', 1)
+ if content and not content.endswith('\n'):
+ # Content might not end with a newline. For example,
+ # Rcon with something like cat() as the last function.
+ content += '\n'
instance, command = delims.split('#')
if content or command in ('s', 'sub'):
if instance.endswith('CC'):
- messages.append('* PythonTeX warning')
- messages.append(' Custom code for "' + family + '" attempted to print or write to stdout')
- messages.append(' This is not supported; use a normal code command or environment')
- messages.append(' The following content was written:')
- messages.append('')
- messages.extend([' ' + l for l in content.splitlines()])
- warnings += 1
+ if family not in ('juliacon', 'Rcon'):
+ messages.append('* PythonTeX warning')
+ messages.append(' Custom code for "' + family + '" attempted to print or write to stdout')
+ messages.append(' This is not supported; use a normal code command or environment')
+ messages.append(' The following content was written:')
+ messages.append('')
+ messages.extend([' ' + l for l in content.splitlines()])
+ warnings += 1
elif command == 'i':
content = r'\pytx@SVMCR{pytx@MCR@' + key_run.replace('#', '@') + '@' + instance + '}\n' + content.rstrip('\n') + '\\endpytx@SVMCR\n\n'
macros.append(content)
@@ -1682,7 +1743,7 @@
# Remove newline added by printing, prevent
# LaTeX from adding a space after content
content = content.rsplit('\n', 1)[0] + '\\endinput\n'
- if family == 'juliacon':
+ if family in ('juliacon', 'Rcon'):
content = highlight(content, lexer[family], formatter[family])
f.write(content)
f.close()
@@ -1693,7 +1754,7 @@
messages.append('* PythonTeX error')
messages.append(' Missing stderr file for ' + key_run.replace('#', ':'))
errors += 1
- elif family == 'juliacon':
+ elif family in ('juliacon', 'Rcon'):
pass
else:
# Open error and code files.
@@ -1733,7 +1794,7 @@
index_next = index_now
start_errgobble = None
for n, line in enumerate(err_ud):
- if basename in line:
+ if basename in line and (family not in ('perlsix', 'psix') or '.p6:' in line or '.p6 line' in line):
# Get the gobbleation. This is used to determine if
# other lines containing the basename are a continuation,
# or separate messages.
@@ -1779,7 +1840,7 @@
# both the error and warning patterns, default to
# error.
past_line = err_ud[index]
- if (index < n and basename in past_line):
+ if (index < n and basename in past_line and (family not in ('perlsix', 'psix') or '.p6:' in past_line or '.p6 line' in past_line)):
break
for pattern in warningsig:
if pattern in past_line:
@@ -1843,8 +1904,9 @@
index_now_last = index_now
index_next_last = index_next
err_key_last_int = -1
+ p6_sorry_search = False
for n, line in enumerate(err_ud):
- if basename in line:
+ if basename in line and (family not in ('perlsix', 'psix') or '.p6:' in line or '.p6 line' in line):
# Determine the corresponding line number in the document
found = False
for pattern in linesig:
@@ -1906,6 +1968,35 @@
line = line.replace(fullbasename + '.' + extension, '<file>')
elif stderrfilename == 'genericscript':
line = line.replace(fullbasename + '.' + extension, '<script>')
+ if family in ('perlsix', 'psix'):
+ # Perl 6 "SORRY!" errors during compiling
+ # (before execution) need special processing,
+ # since they lack stderr delims and must
+ # include lines before the current one.
+ if p6_sorry_search: # Already handled
+ pass
+ else:
+ p6_sorry_search = True
+ p6_sorry_index = n - 1
+ while p6_sorry_index >= 0:
+ if not err_ud[p6_sorry_index].startswith('===SORRY!==='):
+ p6_sorry_index -= 1
+ continue
+ if errlinenum > index_now[1].lines_total + index_now[1].lines_input:
+ p6_linenum_offset = index_now[1].lines_total
+ else:
+ p6_linenum_offset = index_now[1].lines_total - index_now[1].lines_user + index_now[1].inline_count
+ p6_preceding_err_lines = [sub(r'line ([1-9][0-9]*)', lambda m: 'line {0}'.format(int(m.group(1)) - p6_linenum_offset), x) for x in err_ud[p6_sorry_index:n]]
+ if stderrfilename == 'full':
+ p6_preceding_err_lines[0] = p6_preceding_err_lines[0].replace(fullbasename, basename)
+ elif stderrfilename == 'session':
+ p6_preceding_err_lines[0] = p6_preceding_err_lines[0].replace(fullbasename, session)
+ elif stderrfilename == 'genericfile':
+ p6_preceding_err_lines[0] = p6_preceding_err_lines[0].replace(fullbasename + '.' + extension, '<file>')
+ elif stderrfilename == 'genericscript':
+ p6_preceding_err_lines[0] = p6_preceding_err_lines[0].replace(fullbasename + '.' + extension, '<script>')
+ err_dict[err_key].extend(p6_preceding_err_lines)
+ break
err_dict[err_key].append(line)
elif process:
err_dict[err_key].append(line)
@@ -1967,7 +2058,7 @@
# Never process delimiting info until it is used
# Rather, store the index of the last delimiter
last_delim = line
- elif basename in line:
+ elif basename in line and (family not in ('perlsix', 'psix') or '.p6:' in line or '.p6 line' in line):
found_basename = True
# Get the gobbleation. This is used to determine if
# other lines containing the basename are a continuation,
@@ -2122,7 +2213,7 @@
else:
process = True
err_key = basename + '_' + instance
- elif process and basename in line:
+ elif process and basename in line and (family not in ('perlsix', 'psix') or '.p6:' in line or '.p6 line' in line):
found = False
for pattern in linesig:
try:
@@ -2297,6 +2388,8 @@
if codetype != ':GLOBAL':
p = pygments_settings[codetype]['formatter_options'].copy()
p['commandprefix'] = 'PYG'
+ if pygments_settings[codetype]['lexer'] == 'pycon':
+ p['python3'] = True
formatter[codetype] = LatexFormatter(**p)
lexer[codetype] = get_lexer_by_name(pygments_settings[codetype]['lexer'], **p)
@@ -2503,6 +2596,8 @@
from pygments.formatters import LatexFormatter
p = pygments_settings['formatter_options'].copy()
p['commandprefix'] = 'PYG'
+ if pygments_settings['lexer'] == 'pycon':
+ p['python3'] = True
formatter = LatexFormatter(**p)
lexer = get_lexer_by_name(pygments_settings['lexer'], **p)
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pythontex/pythontex_engines.py new/texmf-dist/scripts/pythontex/pythontex_engines.py
--- old/texmf-dist/scripts/pythontex/pythontex_engines.py 2017-07-22 00:00:53.000000000 +0200
+++ new/texmf-dist/scripts/pythontex/pythontex_engines.py 2019-09-24 22:07:38.000000000 +0200
@@ -17,7 +17,7 @@
-Copyright (c) 2012-2017, Geoffrey M. Poore
+Copyright (c) 2012-2018, Geoffrey M. Poore
All rights reserved.
Licensed under the BSD 3-Clause License:
http://www.opensource.org/licenses/BSD-3-Clause
@@ -33,7 +33,8 @@
from collections import OrderedDict, namedtuple
-interpreter_dict = {k:k for k in ('python', 'ruby', 'julia', 'octave', 'bash', 'sage', 'rustc')}
+interpreter_dict = {k:k for k in ('python', 'ruby', 'julia', 'octave', 'bash',
+ 'sage', 'rustc', 'Rscript', 'perl', 'perl6')}
# The {file} field needs to be replaced by itself, since the actual
# substitution of the real file can only be done at runtime, whereas the
# substitution for the interpreter should be done when the engine is
@@ -194,7 +195,7 @@
if not isinstance(l, str):
raise TypeError('CodeEngine needs "linenumbers" to contain strings')
# Need to replace tags
- linenumbers = [l.replace('{number}', r'(\d+)') for l in linenumbers]
+ linenumbers = [r'(\d+)'.join(re.escape(x) for x in l.split('{number}')) if '{number}' in l else l for l in linenumbers]
self.linenumbers = linenumbers
# Type check lookbehind
@@ -950,7 +951,7 @@
# Currently, Julia only supports UTF-8
# So can't set stdout and stderr encoding
- type JuliaTeXUtils
+ mutable struct JuliaTeXUtils
id::AbstractString
family::AbstractString
session::AbstractString
@@ -983,8 +984,8 @@
function JuliaTeXUtils()
self = new()
self.self = self
- self._dependencies = Array(AbstractString, 0)
- self._created = Array(AbstractString, 0)
+ self._dependencies = AbstractString[]
+ self._created = AbstractString[]
self._context_raw = ""
function formatter(expr)
@@ -1095,7 +1096,7 @@
jltex.line = "{line}"
println("{stdoutdelim}")
- write(STDERR, "{stderrdelim}\\n")
+ write(stderr, "{stderrdelim}\\n")
jltex.before()
{code}
@@ -1267,6 +1268,7 @@
octave_template, octave_wrapper, 'disp({code})', octave_sub,
'error', 'warning', 'line {number}')
+
bash_template = '''
cd "{workingdir}"
{body}
@@ -1297,7 +1299,7 @@
use std::{{borrow, collections, fmt, fs, io, iter, ops, path}};
use self::OpenMode::{{ReadMode, WriteMode, AppendMode, TruncateMode, CreateMode, CreateNewMode}};
pub struct UserAction<'u> {{
- _act: Box
+ _act: Box
}}
impl<'u> UserAction<'u> {{
pub fn new() -> Self {{
@@ -1323,8 +1325,8 @@
impl<'u, U: Into> + 'u> ops::Add<U> for UserAction<'u> {{
type Output = UserAction<'u>;
fn add(self, f: U) -> Self::Output {{
- let mut self_act: Box = self._act;
- let mut other_act: Box = f.into()._act;
+ let mut self_act: Box = self._act;
+ let mut other_act: Box = f.into()._act;
Self::from(move || {{ self_act.as_mut()(); other_act.as_mut()(); }})
}}
}}
@@ -1335,7 +1337,7 @@
}}
}}
impl<'u> ops::Deref for UserAction<'u> {{
- type Target = FnMut() + 'u;
+ type Target = dyn FnMut() + 'u;
fn deref(&self) -> &Self::Target {{
&*self._act
}}
@@ -1346,7 +1348,7 @@
}}
}}
pub struct RustTeXUtils<'u> {{
- _formatter: Box String + 'u>,
+ _formatter: Box String + 'u>,
pub before: UserAction<'u>,
pub after: UserAction<'u>,
pub family: &'u str,
@@ -1410,7 +1412,7 @@
impl<'u> RustTeXUtils<'u> {{
pub fn new() -> Self {{
RustTeXUtils {{
- _formatter: Box::new(|x: &fmt::Display| format!("{{}}", x)),
+ _formatter: Box::new(|x: &dyn fmt::Display| format!("{{}}", x)),
before: UserAction::new(),
after: UserAction::new(),
family: "{family}",
@@ -1428,7 +1430,7 @@
pub fn formatter(&mut self, x: A) -> String {{
(self._formatter)(&x)
}}
- pub fn set_formatter String + 'u>(&mut self, f: F) {{
+ pub fn set_formatter String + 'u>(&mut self, f: F) {{
self._formatter = Box::new(f);
}}
pub fn add_dependencies(&mut self, deps: SS)
@@ -1541,3 +1543,208 @@
created='{File}.exe')
SubCodeEngine('rust', 'rs')
+
+
+r_template = '''
+ library(methods)
+ setwd("{workingdir}")
+ pdf(file=NULL)
+ {body}
+ write("{dependencies_delim}", stdout())
+ write("{created_delim}", stdout())
+ '''
+
+r_wrapper = '''
+ write("{stdoutdelim}", stdout())
+ write("{stderrdelim}", stderr())
+ {code}
+ '''
+
+r_sub = '''
+ write("{field_delim}", stdout())
+ write(toString({field}), stdout())
+ '''
+
+CodeEngine('R', 'R', '.R',
+ '{Rscript} "{file}.R"',
+ r_template, r_wrapper, 'write(toString({code}), stdout())', r_sub,
+ ['error', 'Error'], ['warning', 'Warning'],
+ 'line {number}')
+
+
+rcon_template = '''
+ options(echo=TRUE, error=function(){{}})
+ library(methods)
+ setwd("{workingdir}")
+ pdf(file=NULL)
+ {body}
+ '''
+
+rcon_wrapper = '''
+ write("{stdoutdelim}", stdout())
+ {code}
+ '''
+
+CodeEngine('Rcon', 'R', '.R',
+ '{Rscript} "{file}.R"',
+ rcon_template, rcon_wrapper, '', '',
+ ['error', 'Error'], ['warning', 'Warning'],
+ '')
+
+
+perl_template = '''
+ use v5.14;
+ use utf8;
+ use strict;
+ use autodie;
+ use warnings;
+ use warnings qw(FATAL utf8);
+ use feature qw(unicode_strings);
+ use open qw(:encoding(UTF-8) :std);
+ chdir("{workingdir}");
+ {body}
+ print STDOUT "{dependencies_delim}\\n";
+ print STDOUT "{created_delim}\\n";
+ '''
+
+perl_wrapper = '''
+ print STDOUT "{stdoutdelim}\\n";
+ print STDERR "{stderrdelim}\\n";
+ {code}
+ '''
+
+perl_sub = '''
+ print STDOUT "{field_delim}\\n";
+ print STDOUT "" . ({field});
+ '''
+
+CodeEngine('perl', 'perl', '.pl',
+ '{perl} "{file}.pl"',
+ perl_template, perl_wrapper, 'print STDOUT "" . ({code});', perl_sub,
+ ['error', 'Error'], ['warning', 'Warning'],
+ 'line {number}')
+
+SubCodeEngine('perl', 'pl')
+
+
+perl6_template = '''
+ use v6;
+ chdir("{workingdir}");
+ {body}
+ put "{dependencies_delim}";
+ put "{created_delim}";
+ '''
+
+perl6_wrapper = '''
+ put "{stdoutdelim}";
+ note "{stderrdelim}";
+ {code}
+ '''
+
+perl6_sub = '''
+ put "{field_delim}";
+ put ({field});
+ '''
+
+CodeEngine('perlsix', 'perl6', '.p6',
+ '{perl6} "{File}.p6"',
+ perl6_template, perl6_wrapper, 'put ({code});', perl6_sub,
+ ['error', 'Error', 'Cannot'], ['warning', 'Warning'],
+ ['.p6:{number}', '.p6 line {number}'], True)
+
+SubCodeEngine('perlsix', 'psix')
+
+javascript_template = '''
+ jstex = {{
+ before : function () {{ }},
+ after : function () {{ }},
+ _dependencies : [ ],
+ _created : [ ],
+ add_dependencies : function () {{
+ jstex._dependencies = jstex._dependencies.concat(
+ Array.prototype.slice.apply( arguments ) );
+ }},
+ add_created : function () {{
+ jstex._created = jstex._created.concat(
+ Array.prototype.slice.apply( arguments ) );
+ }},
+ cleanup : function () {{
+ console.log( "{dependencies_delim}" );
+ jstex._dependencies.map(
+ dep => console.log( dep ) );
+ console.log( "{created_delim}" );
+ jstex._dependencies.map(
+ cre => console.log( cre ) );
+ }},
+ formatter : function ( x ) {{
+ return String( x );
+ }},
+ escape : function ( x ) {{
+ return String( x ).replace( /_/g, '\\\\_' )
+ .replace( /\\$/g, '\\\\$' )
+ .replace( /\\^/g, '\\\\^' );
+ }},
+ docdir : process.cwd(),
+ context : {{ }},
+ _context_raw : '',
+ set_context : function ( expr ) {{
+ if ( expr != '' && expr != jstex._context_raw ) {{
+ jstex.context = {{ }};
+ expr.split( ',' ).map( pair => {{
+ const halves = pair.split( '=' );
+ jstex.context[halves[0].trim()] = halves[1].trim();
+ }} );
+ }}
+ }}
+ }};
+
+ try {{
+ process.chdir( "{workingdir}" );
+ }} catch ( e ) {{
+ if ( process.argv.indexOf( '--manual' ) == -1 )
+ console.error( e );
+ }}
+ if ( module.paths.indexOf( jstex.docdir ) == -1 )
+ module.paths.unshift( jstex.docdir );
+
+ {extend}
+
+ jstex.id = "{family}_{session}_{restart}";
+ jstex.family = "{family}";
+ jstex.session = "{session}";
+ jstex.restart = "{restart}";
+
+ {body}
+
+ jstex.cleanup();
+ '''
+
+javascript_wrapper = '''
+ jstex.command = "{command}";
+ jstex.set_context( "{context}" );
+ jstex.args = "{args}";
+ jstex.instance = "{instance}";
+ jstex.line = "{line}";
+
+ console.log( "{stdoutdelim}" );
+ console.error( "{stderrdelim}" );
+ jstex.before();
+
+ {code}
+
+ jstex.after();
+ '''
+
+javascript_sub = '''
+ console.log( "{field_delim}" );
+ console.log( {field} );
+ '''
+
+CodeEngine('javascript', 'javascript', '.js',
+ 'node "{file}.js"',
+ javascript_template, javascript_wrapper,
+ 'console.log( jstex.formatter( {code} ) )',
+ javascript_sub,
+ ['error', 'Error'], ['warning', 'Warning'],
+ ':{number}')
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/tex/latex/pythontex/pythontex.sty new/texmf-dist/tex/latex/pythontex/pythontex.sty
--- old/texmf-dist/tex/latex/pythontex/pythontex.sty 2017-07-22 00:00:53.000000000 +0200
+++ new/texmf-dist/tex/latex/pythontex/pythontex.sty 2019-09-24 22:07:38.000000000 +0200
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2012-2016 by Geoffrey M. Poore
+%% Copyright (C) 2012-2019 by Geoffrey M. Poore
%% --------------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -20,11 +20,10 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{pythontex}
- [2017/07/20 v0.16 execute and typeset Python code and other languages]
-
+ [2019/09/22 v0.17 execute and typeset Python code and other languages]
\newcommand{\pytx@packagename}{PythonTeX}
-\newcommand{\pytx@packageversion}{0.16}
+\newcommand{\pytx@packageversion}{0.17}
\RequirePackage{fvextra}
\RequirePackage{etoolbox}
\RequirePackage{xstring}
@@ -847,7 +846,7 @@
}%
\xdef\pytx@type{CC:#2:#1}%
\edef\pytx@cmd{c}%
- \def\pytx@context{}%
+ \pytx@SetContext
\def\pytx@group{none}%
\let\pytx@InlineShow\@empty
\let\pytx@InlineSave\pytx@InlineSaveCode
@@ -1038,6 +1037,22 @@
}%
{\end{VerbatimOut}%
\xdef\pytx@stdfile{\pytx@type_\pytx@session_\pytx@group_\arabic{\pytx@counter}}%
+ \ifcsname pytx@nonpyconsole@\pytx@type\endcsname
+ \ifcsname pytx@code@as@console\endcsname
+ \setcounter{FancyVerbLine}{\value{\pytx@linecount}}%
+ \pytx@FVSet
+ \ifdefstring{\pytx@fvopttmp}{}{}{\expandafter\fvset\expandafter{\pytx@fvopttmp}}%
+ \pytx@ConfigPygments
+ \InputIfFileExists{\pytx@outputdir/\pytx@stdfile.stdout}%
+ {\DepyFile{p:\pytx@outputdir/\pytx@stdfile.stdout}}%
+ {\par\textbf{??~\pytx@packagename~??}\par
+ \PackageWarning{\pytx@packagename}{Non-existent console content}}%
+ \setcounter{\pytx@linecount}{\value{FancyVerbLine}}%
+ \else
+ \fi
+ \let\pytx@EnvAutoprint\relax
+ \else
+ \fi
\setcounter{FancyVerbLine}{\value{pytx@FancyVerbLineTemp}}%
\stepcounter{\pytx@counter}%
\pytx@EnvAutoprint
@@ -1047,12 +1062,16 @@
\ifstrempty{#1}{\edef\pytx@session{default}}{\StrSubstitute{#1}{:}{-}[\pytx@session]}%
\xdef\pytx@counter{pytx@\pytx@type @\pytx@session @\pytx@group}%
\pytx@CheckCounter{\pytx@counter}%
+ \edef\pytx@linecount{\pytx@counter @line}%
+ \pytx@CheckCounter{\pytx@linecount}%
\pytx@WriteCodefileInfo
\begingroup
\obeylines
\@ifnextchar[{\endgroup\pytx@BeginCodeEnv@i}{\endgroup\pytx@BeginCodeEnv@i[]}%
}%
\def\pytx@BeginCodeEnv@i[#1]{%
+ \def\pytx@fvopttmp{#1}%
+ \def\pytx@argspprint{#1}%
\setcounter{pytx@FancyVerbLineTemp}{\value{FancyVerbLine}}%
\let\FVB@VerbatimOut\pytx@FVB@VerbatimOut
\let\FVE@VerbatimOut\pytx@FVE@VerbatimOut
@@ -1069,7 +1088,7 @@
}%
\xdef\pytx@type{CC:#2:#1}%
\edef\pytx@cmd{code}%
- \def\pytx@context{}%
+ \pytx@SetContext
\def\pytx@group{none}%
\pytx@BeginCodeEnv[none]}%
{\end{VerbatimOut}%
@@ -1079,7 +1098,7 @@
\newcommand{\pytx@MakeSubFV}[1]{%
\expandafter\newenvironment{#1sub}{%
\VerbatimEnvironment
- \Depythontex{env:#1sub:om|:p}%
+ \Depythontex{env:#1sub:oo|:p}%
\xdef\pytx@type{#1}%
\edef\pytx@cmd{sub}%
\pytx@SetContext
@@ -1266,6 +1285,27 @@
\newcounter{pytx@#2@default@default}%
}
\@onlypreamble\makepythontexfamily
+\newcommand{\makepythontexfamily@con}[2][text]{%
+ \pgfkeys{/PYTX/family, name=#2con, default, pyglexer=#1, console=true}%
+ \expandafter\xdef\csname pytx@macroformatter@#2con\endcsname{\pytx@tmp@pprinter}%
+ \expandafter\gdef\csname pytx@fvsettings@#2con\endcsname{}%
+ \expandafter\xdef\csname pytx@pyglexer@#2con\endcsname{\pytx@tmp@pyglexer}%
+ \expandafter\xdef\csname pytx@pygopt@#2con\endcsname{\pytx@tmp@pygopt}%
+ \expandafter\xdef\csname pytx@console@#2con\endcsname{\pytx@tmp@console}%
+ \AtEndDocument{\immediate\write\pytx@codefile{pygfamily=#2con|%
+ \csname pytx@pyglexer@#2con\endcsname|%
+ \csname pytx@pygopt@#2con\endcsname}%
+ }%
+ \pytx@MakeCodeFV{#2con}%
+ \expandafter\global\expandafter\let\csname pytx@nonpyconsole@#2con\endcsname\relax
+ \newenvironment{#2console}%
+ {\VerbatimEnvironment
+ \def\pytx@type{#2con}%
+ \let\pytx@code@as@console\relax
+ \begin{#2concode}}%
+ {\end{#2concode}}%
+}
+
\newcommand{\setpythontexpyglexer}[2][]{%
\Depythontex{cmd:setpythontexpyglexer:om:n}%
\ifstrempty{#1}{\def\pytx@pyglexer{#2}}{%
@@ -1308,34 +1348,17 @@
}%
}
\@onlypreamble\setpythontexprettyprinter
-\makepythontexfamily[pyglexer=python]{py}
+\makepythontexfamily[pyglexer=python3]{py}
\makepythontexfamily[pyglexer=pycon, console=true]{pycon}
-\makepythontexfamily[pyglexer=python]{sympy}
+\makepythontexfamily[pyglexer=python3]{sympy}
\makepythontexfamily[pyglexer=pycon, console=true]{sympycon}
-\makepythontexfamily[pyglexer=python]{pylab}
+\makepythontexfamily[pyglexer=python3]{pylab}
\makepythontexfamily[pyglexer=pycon, console=true]{pylabcon}
\renewcommand{\do}[1]{%
\ifstrequal{#1}{ruby}{\makepythontexfamily[pyglexer=ruby]{ruby}}{}%
\ifstrequal{#1}{rb}{\makepythontexfamily[pyglexer=ruby]{rb}}{}%
\ifstrequal{#1}{julia}{\makepythontexfamily[pyglexer=julia]{julia}}{}%
- \ifstrequal{#1}{juliacon}{\pgfkeys{/PYTX/family, name=juliacon, default, pyglexer=jlcon}%
- \expandafter\xdef\csname pytx@macroformatter@juliacon\endcsname{\pytx@tmp@pprinter}%
- \expandafter\gdef\csname pytx@fvsettings@juliacon\endcsname{}%
- \expandafter\xdef\csname pytx@pyglexer@juliacon\endcsname{\pytx@tmp@pyglexer}%
- \expandafter\xdef\csname pytx@pygopt@juliacon\endcsname{\pytx@tmp@pygopt}%
- \expandafter\xdef\csname pytx@console@juliacon\endcsname{\pytx@tmp@console}%
- \AtEndDocument{\immediate\write\pytx@codefile{pygfamily=juliacon|%
- \csname pytx@pyglexer@juliacon\endcsname|%
- \csname pytx@pygopt@juliacon\endcsname}%
- }%
- \pytx@MakeCodeFV{juliacon}%
- \newenvironment{juliaconsole}%
- {\VerbatimEnvironment
- \def\pytx@type{juliacon}%
- \pytx@ConfigPygments
- \begin{juliaconcode}}%
- {\end{juliaconcode}%
- \ifbool{pytx@opt@autoprint}{}{\printpythontex{}}}}{}%
+ \ifstrequal{#1}{juliacon}{\makepythontexfamily@con[jlcon]{julia}}{}%
\ifstrequal{#1}{jl}{\makepythontexfamily[pyglexer=julia]{jl}}{}%
\ifstrequal{#1}{matlab}{\makepythontexfamily[pyglexer=matlab]{matlab}}{}%
\ifstrequal{#1}{octave}{\makepythontexfamily[pyglexer=octave]{octave}}{}%
@@ -1343,6 +1366,14 @@
\ifstrequal{#1}{sage}{\makepythontexfamily[pyglexer=sage]{sage}}{}%
\ifstrequal{#1}{rust}{\makepythontexfamily[pyglexer=rust]{rust}}{}%
\ifstrequal{#1}{rs}{\makepythontexfamily[pyglexer=rust]{rs}}{}%
+ \ifstrequal{#1}{R}{\makepythontexfamily[pyglexer=r]{R}}{}%
+ \ifstrequal{#1}{Rcon}{\makepythontexfamily@con[rconsole]{R}}{}%
+ \ifstrequal{#1}{perl}{\makepythontexfamily[pyglexer=perl]{perl}}{}%
+ \ifstrequal{#1}{pl}{\makepythontexfamily[pyglexer=perl]{pl}}{}%
+ \ifstrequal{#1}{perlsix}{\makepythontexfamily[pyglexer=perl6]{perlsix}}{}%
+ \ifstrequal{#1}{psix}{\makepythontexfamily[pyglexer=perl6]{psix}}{}%
+ \ifstrequal{#1}{javascript}{\makepythontexfamily[pyglexer=js]{javascript}}{}%
+ \ifstrequal{#1}{js}{\makepythontexfamily[pyglexer=js]{js}}{}%
}
\expandafter\docsvlist\expandafter{\pytx@families}
\newbool{pytx@listingenv}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pythontex.tlpobj new/tlpkg/tlpobj/pythontex.tlpobj
--- old/tlpkg/tlpobj/pythontex.tlpobj 2019-02-28 04:03:54.000000000 +0100
+++ new/tlpkg/tlpobj/pythontex.tlpobj 2019-09-25 01:54:00.000000000 +0200
@@ -1,6 +1,6 @@
name pythontex
category Package
-revision 44860
+revision 52174
shortdesc Run Python from within a document, typesetting the results
longdesc The package allows you to enter Python code within a LaTeX
longdesc document, execute the code, and access its output in the
@@ -18,7 +18,7 @@
longdesc useful for journal submissions, sharing documents, and
longdesc conversion to other formats.
depend pythontex.ARCH
-runfiles size=149
+runfiles size=154
texmf-dist/scripts/pythontex/depythontex.py
texmf-dist/scripts/pythontex/depythontex2.py
texmf-dist/scripts/pythontex/depythontex3.py
@@ -33,7 +33,7 @@
catalogue-also perltex
catalogue-contact-repository https://github.com/gpoore/pythontex
catalogue-ctan /macros/latex/contrib/pythontex
-catalogue-date 2017-07-21 08:12:38 +0200
+catalogue-date 2019-09-24 06:33:07 +0200
catalogue-license lppl1.3
catalogue-topics callback
-catalogue-version 0.16
+catalogue-version 0.17
++++++ pythontex_p2top3.dif ++++++
---
texmf-dist/doc/latex/pythontex/syncpdb.py | 2 +-
texmf-dist/scripts/pythontex/depythontex.py | 2 +-
texmf-dist/scripts/pythontex/pythontex.py | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
--- texmf-dist/scripts/pythontex/depythontex.py
+++ texmf-dist/scripts/pythontex/depythontex.py 2020-04-27 06:50:32.466503766 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''
--- texmf-dist/scripts/pythontex/pythontex.py
+++ texmf-dist/scripts/pythontex/pythontex.py 2020-04-27 06:50:21.926703761 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''
--- texmf-dist/doc/latex/pythontex/syncpdb.py
+++ texmf-dist/doc/latex/pythontex/syncpdb.py 2020-04-27 07:49:15.051750705 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''
++++++ quantikz.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/quantikz.doc.tlpobj new/tlpkg/tlpobj/quantikz.doc.tlpobj
--- old/tlpkg/tlpobj/quantikz.doc.tlpobj 2019-04-09 01:38:46.000000000 +0200
+++ new/tlpkg/tlpobj/quantikz.doc.tlpobj 2019-05-03 01:40:29.000000000 +0200
@@ -1,6 +1,6 @@
name quantikz.doc
category Package
-revision 50869
+revision 50934
shortdesc doc files of quantikz
relocated 1
docfiles size=139
++++++ quantikz.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/quantikz/tikzlibraryquantikz.code.tex new/tex/latex/quantikz/tikzlibraryquantikz.code.tex
--- old/tex/latex/quantikz/tikzlibraryquantikz.code.tex 2019-04-08 21:58:26.000000000 +0200
+++ new/tex/latex/quantikz/tikzlibraryquantikz.code.tex 2019-05-03 00:35:08.000000000 +0200
@@ -4,6 +4,8 @@
% If you find this library useful, please cite its usage in your work, using arXiv:1809.03842, and possibly the DOI: 10.17637/rh.7000520.
% Usage is at your own risk.
+%version 0.9.5:
+% fixed bug which meant multi-wire gates didn't work outside of an environment such as center.
%version 0.9.4:
% added nwires and cwires options to gate command to simulate qcircuit's nphantom and cphantom
% vertical text options for slice labels.
@@ -30,7 +32,7 @@
%version 0.9.0:
%original release.
-\ProvidesPackage{quantikz}[2019/03/18 typeset quantum circuit diagrams]
+\ProvidesPackage{quantikz}[2019/04/24 typeset quantum circuit diagrams]
% Package(s) to include
\RequirePackage{xargs,ifthen,xstring,xparse,etoolbox,mathtools}
@@ -97,12 +99,12 @@
\expandafter\@temp\endtikzcd
}
\def\temp{&} \catcode`&=\active \let&=\temp
-
+%
%commands for putting in text vertically
\protected\def\vvv#1{\leavevmode\bgroup\vbox\bgroup\xvvv#1\relax}
-
+%
\def\xvvv{\afterassignment\xxvvv\let\tmp= }
-
+%
\def\xxvvv{%
% \ifx\tmp\@sptoken\egroup\ \vbox\bgroup\let\next\xvvv
% \else
@@ -112,7 +114,7 @@
\let\next\xvvv\fi%\fi
\next}
%end of commands for putting text vertically
-
+%
\long\def\ifnodedefined#1#2#3{%
\@ifundefined{pgf@sh@ns@#1}{#3}{#2}%
}
@@ -126,63 +128,63 @@
%the main gate command
\DeclareExpandableDocumentCommand{\gate}{O{}O{1.5pt}O{1.5pt}m}{%optional parameter contains styling info. compulsory is gate text.
- |[inner sep=4pt,minimum width=#2,minimum height=#3]|
- \edef\n{\the\pgfmatrixcurrentrow} %the row
- \edef\m{\the\pgfmatrixcurrentcolumn} %the column
- %resent macros that are going to be set by the options
- \edef\options{row=\n,col=\m,#1}
- \def\toswap{0}%
- \def\DisableMinSize{0}%
- \pgfkeys{/quantikz,wires=1,style=,label style=,braces=}%
- %import options passed as parameters
- \pgfkeys{/quantikz,#1}%
- \pgfkeysgetvalue{/quantikz/wires}{\quantwires}
- \pgfkeysgetvalue{/quantikz/style}{\a}
- \pgfkeysgetvalue{/quantikz/label style}{\b}
- \pgfkeysgetvalue{/quantikz/cwires}{\mylist}
- \pgfkeysgetvalue{/quantikz/nwires}{\nowires}
- \ifthenelse{\toswap=1}{%if it's a swap gate...
- \def\quantwires{2}
- \phantom{wide}
- \settowidth{\myl}{$wide$}
- \settoheight{\myh}{$wide$}
- \settodepth{\myd}{$wide$}
- }{%not a swap gate
- \settowidth{\myl}{$#4$}
- \ifthenelse{\DisableMinSize=1}{%disable automatic size detection. Use $U$ instead.
- \phantom{U}
- \settoheight{\myh}{$U$}
- \settodepth{\myd}{$U$}
- }{%automatically get width and height of label
- \phantom{#4}
- \settoheight{\myh}{$#4$}
- \settodepth{\myd}{$#4$}
- }
- }
+ |[inner sep=4pt,minimum width=#2,minimum height=#3]|%
+ \edef\n{\the\pgfmatrixcurrentrow} %the row
+ \edef\m{\the\pgfmatrixcurrentcolumn} %the column
+ %reset macros that are going to be set by the options
+ \edef\options{row=\n,col=\m,#1}
+ \def\toswap{0}%
+ \def\DisableMinSize{0}%
+ \pgfkeys{/quantikz,wires=1,style=,label style=,braces=}%
+ %import options passed as parameters
+ \pgfkeys{/quantikz,#1}%
+ \pgfkeysgetvalue{/quantikz/wires}{\quantwires}
+ \pgfkeysgetvalue{/quantikz/style}{\a}
+ \pgfkeysgetvalue{/quantikz/label style}{\b}
+ \pgfkeysgetvalue{/quantikz/cwires}{\mylist}
+ \pgfkeysgetvalue{/quantikz/nwires}{\nowires}
+ \ifthenelse{\toswap=1}{%if it's a swap gate...
+ \def\quantwires{2}
+ \phantom{wide}
+ \settowidth{\myl}{$wide$}
+ \settoheight{\myh}{$wide$}
+ \settodepth{\myd}{$wide$}
+ }{%not a swap gate
+ \settowidth{\myl}{$#4$}
+ \ifthenelse{\DisableMinSize=1}{%disable automatic size detection. Use $U$ instead.
+ \phantom{U}
+ \settoheight{\myh}{$U$}
+ \settodepth{\myd}{$U$}
+ }{%automatically get width and height of label
+ \phantom{#4}
+ \settoheight{\myh}{$#4$}
+ \settodepth{\myd}{$#4$}
+ }
+ }
%
- \IfInList{1}{\mylist}{\cw}{\IfInList{1}{\nowires}{}{\qw}}%do we need classical, no wire, or quantum wire?
- \edef\k{\the\numexpr\n+\quantwires-1\relax}
- \edef\mn{\the\numexpr\m-1\relax}
- \ifthenelse{\quantwires=1}{}{%more than 1 wire on gate. iterate through each wire
- \foreach \i in {\the\numexpr\n+1\relax,...,\k} {
- \edef\newcom{\noexpand\vcwhexplicit{\i-\m}{\i-\mn}}
- \edef\newcomb{\noexpand\vqwexplicit{\i-\m}{\i-\mn}}
- \edef\val{\the\numexpr\i+1-\n\relax}
- \IfInList{\val}{\mylist}{\newcom}{\IfInList{\val}{\nowires}{}{\newcomb}}%do we need classical, no wire, or quantum wire?
- %apply auto width to the cell, and make sure we unset the setting so that it doesn't apply to later circuits.
- \globaldefs=1
- \edef\dotikzset{\noexpand\tikzset{row \i\space column \m/.append style={minimum width={max(\the\myl+8pt,#2)}}}}
- \dotikzset
- \edef\undotikzset{\noexpand\tikzset{row \i\space column \m/.style={}}}
- \expandafter\pgfutil@g@addto@macro\expandafter\tikzcd@atendglobals\expandafter{\undotikzset}
- }
- %apply auto height to last row only. unsetting already handled above.
- \globaldefs=1
- \edef\dotikzset{\noexpand\tikzset{row \k\space column \m/.append style={minimum height={max(\the\myh+\the\myd+8pt,#3)}}}}
- \dotikzset
-
- }
- %call deferred gate command.
+ \IfInList{1}{\mylist}{\cw}{\IfInList{1}{\nowires}{}{\qw}}%do we need classical, no wire, or quantum wire?
+ \edef\k{\the\numexpr\n+\quantwires-1\relax}
+ \edef\mn{\the\numexpr\m-1\relax}
+ \ifthenelse{\quantwires=1}{}{%more than 1 wire on gate. iterate through each wire
+ \foreach \i in {\the\numexpr\n+1\relax,...,\k} {
+ \edef\newcom{\noexpand\vcwhexplicit{\i-\m}{\i-\mn}}
+ \edef\newcomb{\noexpand\vqwexplicit{\i-\m}{\i-\mn}}
+ \edef\val{\the\numexpr\i+1-\n\relax}
+ \IfInList{\val}{\mylist}{\newcom}{\IfInList{\val}{\nowires}{}{\newcomb}}%do we need classical, no wire, or quantum wire?
+ %apply auto width to the cell, and make sure we unset the setting so that it doesn't apply to later circuits.
+ \globaldefs=1
+ \edef\dotikzset{\noexpand\tikzset{row \i\space column \m/.append style={minimum width={max(\the\myl+8pt,#2)}}}}
+ \dotikzset
+ \edef\undotikzset{\noexpand\tikzset{row \i\space column \m/.style={}}}
+ \expandafter\pgfutil@g@addto@macro\expandafter\tikzcd@atendglobals\expandafter{\undotikzset}
+ }
+ %apply auto height to last row only. unsetting already handled above.
+ \globaldefs=1
+ \edef\dotikzset{\noexpand\tikzset{row \k\space column \m/.append style={minimum height={max(\the\myh+\the\myd+8pt,#3)}}}}
+ \dotikzset
+%
+ }
+ %call deferred gate command.
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\pgfutil@g@addto@macro\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\tikzcd@atendsavedpaths\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter{%
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\gate@end\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter{\expandafter\expandafter\expandafter\a\expandafter\expandafter\expandafter}\expandafter\expandafter\expandafter{\expandafter\b\expandafter}\expandafter{\options}{#4}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/quantikz.tlpobj new/tlpkg/tlpobj/quantikz.tlpobj
--- old/tlpkg/tlpobj/quantikz.tlpobj 2019-04-09 01:38:46.000000000 +0200
+++ new/tlpkg/tlpobj/quantikz.tlpobj 2019-05-03 01:40:30.000000000 +0200
@@ -1,6 +1,6 @@
name quantikz
category Package
-revision 50869
+revision 50934
shortdesc Draw quantum circuit diagrams
relocated 1
longdesc The purpose of this package is to extend TikZ with the
@@ -9,7 +9,7 @@
RELOC/tex/latex/quantikz/tikzlibraryquantikz.code.tex
catalogue-also qcircuit
catalogue-ctan /graphics/pgf/contrib/quantikz
-catalogue-date 2019-04-08 18:50:41 +0200
+catalogue-date 2019-04-26 19:27:57 +0200
catalogue-license cc-by-4
catalogue-topics graphics pgf-tikz diagram-circ
-catalogue-version 0.9.4
+catalogue-version 0.9.5
++++++ quattrocento.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/quattrocento/README new/doc/fonts/quattrocento/README
--- old/doc/fonts/quattrocento/README 2019-04-03 23:18:18.000000000 +0200
+++ new/doc/fonts/quattrocento/README 2019-10-14 22:45:18.000000000 +0200
@@ -1,4 +1,4 @@
-This is the README for the quattrocento package, version 2019-04-03.
+This is the README for the quattrocento package, version 2019-10-13.
This package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX support for
the Quattrocento and Quattrocento Sans families of fonts, designed by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/quattrocento.doc.tlpobj new/tlpkg/tlpobj/quattrocento.doc.tlpobj
--- old/tlpkg/tlpobj/quattrocento.doc.tlpobj 2019-04-04 01:24:49.000000000 +0200
+++ new/tlpkg/tlpobj/quattrocento.doc.tlpobj 2020-03-24 02:03:28.000000000 +0100
@@ -1,6 +1,6 @@
name quattrocento.doc
category Package
-revision 50729
+revision 54512
shortdesc doc files of quattrocento
relocated 1
docfiles size=31
++++++ quattrocento.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/quattrocento/quattrocento.sty new/tex/latex/quattrocento/quattrocento.sty
--- old/tex/latex/quattrocento/quattrocento.sty 2019-04-03 23:18:18.000000000 +0200
+++ new/tex/latex/quattrocento/quattrocento.sty 2019-10-14 22:45:18.000000000 +0200
@@ -1,5 +1,5 @@
\ProvidesPackage{quattrocento}[%
- 2019/04/03 (Bob Tennent) Supports Quattrocento(Sans) fonts for all LaTeX engines. ]
+ 2019/10/13 (Bob Tennent) Supports Quattrocento(Sans) fonts for all LaTeX engines. ]
\RequirePackage{ifxetex,ifluatex,textcomp}
@@ -90,14 +90,14 @@
\def\quattrocentosffamily{QuattrocentoSans-TLF}
\ifquattrocento@rm
- \edef\bfseries@rm{bold}
- \edef\mdseries@rm{regular}
+ \edef\bfseries@rm{b}
+ \edef\mdseries@rm{m}
\renewcommand*\rmdefault{\quattrocentofamily}
\fi
\ifquattrocento@sf
- \edef\bfseries@sf{bold}
- \edef\mdseries@sf{regular}
+ \edef\bfseries@sf{b}
+ \edef\mdseries@sf{m}
\renewcommand*\sfdefault{\quattrocentosffamily}
\fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/quattrocento.tlpobj new/tlpkg/tlpobj/quattrocento.tlpobj
--- old/tlpkg/tlpobj/quattrocento.tlpobj 2019-04-04 01:24:49.000000000 +0200
+++ new/tlpkg/tlpobj/quattrocento.tlpobj 2020-03-24 02:03:28.000000000 +0100
@@ -1,6 +1,6 @@
name quattrocento
category Package
-revision 50729
+revision 54512
shortdesc LaTeX support for Quattrocento and Quattrocento Sans fonts
relocated 1
longdesc The package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX
@@ -253,6 +253,5 @@
RELOC/tex/latex/quattrocento/TS1QuattrocentoSans-TLF.fd
RELOC/tex/latex/quattrocento/quattrocento.sty
catalogue-ctan /fonts/quattrocento
-catalogue-date 2019-04-03 18:45:52 +0200
-catalogue-license ofllppl
+catalogue-license ofl lppl
catalogue-topics font font-body font-proportional font-sans font-serif font-t1enc font-type1 font-otf
++++++ quotchap.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/quotchap/README new/doc/latex/quotchap/README
--- old/doc/latex/quotchap/README 2012-10-23 01:24:56.000000000 +0200
+++ new/doc/latex/quotchap/README 2019-07-09 23:10:40.000000000 +0200
@@ -4,9 +4,9 @@
Jan Klever.
Copyright (C) 1998 - 2010 Karsten Tinnefeld.
-Copyright (C) 2011 - 2012 by Jan Klever.
+Copyright (C) 2011 - 2019 by Jan Klever.
-This version is 1.1 of 2012/10/20.
+This version is 1.2 of 2019/07/09.
The documentation is created by running `latex quotchap.dtx`. This
does not need the file quotchap.sty nor postscript fonts, but Frank
@@ -14,7 +14,7 @@
tools package to be found at CTAN.
The file document.tex produces a simple document that demonstrate the use
-of the new commands. This needs the files to be installed and the psnfss
+of the new commands. This needs the files to be installed and the psnfss
package and a postscript output device to be present.
See quotchap.dtx for installation instructions.
Binary files old/doc/latex/quotchap/quotchap.pdf and new/doc/latex/quotchap/quotchap.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/quotchap.doc.tlpobj new/tlpkg/tlpobj/quotchap.doc.tlpobj
--- old/tlpkg/tlpobj/quotchap.doc.tlpobj 2019-02-28 04:03:57.000000000 +0100
+++ new/tlpkg/tlpobj/quotchap.doc.tlpobj 2019-07-10 01:53:52.000000000 +0200
@@ -1,9 +1,9 @@
name quotchap.doc
category Package
-revision 28046
+revision 51591
shortdesc doc files of quotchap
relocated 1
-docfiles size=75
+docfiles size=79
RELOC/doc/latex/quotchap/README
RELOC/doc/latex/quotchap/document.pdf
RELOC/doc/latex/quotchap/document.tex
++++++ quotchap.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/quotchap/quotchap.sty new/tex/latex/quotchap/quotchap.sty
--- old/tex/latex/quotchap/quotchap.sty 2012-10-23 01:24:56.000000000 +0200
+++ new/tex/latex/quotchap/quotchap.sty 2019-07-09 23:10:40.000000000 +0200
@@ -40,7 +40,7 @@
%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
\ProvidesPackage{quotchap}
- [2012/10/20 v1.1 Decorative Chapter Headings with Quotes]
+ [2019/07/09 v1.2 Decorative Chapter Headings with Quotes]
\newif\if@usecolor\@usecolortrue
\DeclareOption{grey}{\@usecolortrue}
\DeclareOption{nogrey}{\@usecolorfalse}
@@ -91,10 +91,12 @@
\providecommand*{\chapterheadstartvskip}{\vspace*{2.3\baselineskip}}
\providecommand*{\chapterheadendvskip}{\vspace{1.7\baselineskip}}
\providecommand*{\sectfont}{\relax}
+ \providecommand*{\quotefont}{\slshape}
+ \providecommand*{\qauthorfont}{\upshape}
\@ifundefined{@mainmattertrue}{\newif\if@mainmatter\@mainmattertrue}{}}
\newenvironment{savequote}[1][10cm]{%
\begin{lrbox}{\@quotebox}
- \begin{minipage}[t]{#1}\footnotesize\slshape
+ \begin{minipage}[t]{#1}\footnotesize\quotefont
\ignorespaces}{%
\unskip\end{minipage}\end{lrbox}
\global\setbox\@quotebox\copy\@quotebox
@@ -102,7 +104,7 @@
\ignorespacesafterend}
\newcommand{\qauthor}[1]{%
\par\smallskip
- {\raggedleft\upshape #1\qquad\hbox{}\par}\bigskip}
+ {\raggedleft\qauthorfont #1\qquad\hbox{}\par}\bigskip}
\newcommand{\qsetcnfont}[1]{%
\renewcommand*{\@defaultcnfont}{#1}}
\newsavebox{\@quotebox}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/quotchap.tlpobj new/tlpkg/tlpobj/quotchap.tlpobj
--- old/tlpkg/tlpobj/quotchap.tlpobj 2019-02-28 04:03:57.000000000 +0100
+++ new/tlpkg/tlpobj/quotchap.tlpobj 2019-07-10 01:53:52.000000000 +0200
@@ -1,6 +1,6 @@
name quotchap
category Package
-revision 28046
+revision 51591
shortdesc Decorative chapter headings
relocated 1
longdesc A package for creating decorative chapter headings with
@@ -9,7 +9,7 @@
runfiles size=2
RELOC/tex/latex/quotchap/quotchap.sty
catalogue-ctan /macros/latex/contrib/quotchap
-catalogue-date 2016-06-24 19:18:15 +0200
-catalogue-license gpl
+catalogue-date 2019-07-09 17:45:58 +0200
+catalogue-license gpl2
catalogue-topics headings
-catalogue-version 1.1
+catalogue-version 1.2
++++++ quran-de.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/quran-de/README new/doc/xelatex/quran-de/README
--- old/doc/xelatex/quran-de/README 2018-12-31 23:13:58.000000000 +0100
+++ new/doc/xelatex/quran-de/README 2020-03-08 22:54:28.000000000 +0100
@@ -1,6 +1,6 @@
_____________________
The quran-de package
-v0.14
+v0.2
The package is prepared for typesetting some of German translations of the Holy Quran.
The supported translations are done by `Abu Rida Muhammad ibn Ahmad ibn Rassoul',
@@ -8,12 +8,12 @@
For more information, please see the documentation.
-Current version release date: 2018/12/31
+Current version release date: 2020/03/07
___________________
Seiied-Mohammad-Javad Razvian
javadr@gmail.com
-Copyright © 2018
+Copyright © 2018-2020
It may be distributed and/or modified under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
this license is at: http://www.latex-project.org/lppl.txt
Binary files old/doc/xelatex/quran-de/quran-de-doc.pdf and new/doc/xelatex/quran-de/quran-de-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/quran-de/quran-de-doc.tex new/doc/xelatex/quran-de/quran-de-doc.tex
--- old/doc/xelatex/quran-de/quran-de-doc.tex 2018-12-31 23:13:58.000000000 +0100
+++ new/doc/xelatex/quran-de/quran-de-doc.tex 2020-03-08 22:54:28.000000000 +0100
@@ -61,11 +61,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{\includegraphics[scale=.3]{quran.png}\\
-The \xpackage{quran-de} Package\footnote{To one having devoted his life to the Quran}\\
-\Large User documentation for \qurandeversion}
+The \xpackage{quran-de} Package\footnote{To one having devoted his life to the holy Quran}\\
+}
\author{Seiied Mohammad Javad Razavian\\\xemail{javadr@gmail.com}}
-\date{\qurandedate}
+\date{\qurandedate, Version \qurandeversion\footnote{First release: December 1st, 2018}}
\begin{document}
\maketitle
@@ -75,11 +75,11 @@
\section{Introduction}
The \xpackage{quran} package provides several macros for
-typesetting the whole or any parts of The Holy Quran based on its popular divisions. That package also develops
-commands for some translations of the Holy Quran including German, Engilsh, and Persian.
+typesetting the whole or any parts of the holy Quran based on its popular divisions. That package also develops
+commands for some translations of the holy Quran including German, Engilsh, and Persian.
Some people asked me to include the other translations into the \xpackage{quran} package,
but because of some technical issues I decided to create new packages for other translations.
-One of these variations is \xpackage{quran-de} including all German translations of the Holy Quran
+One of these variations is \xpackage{quran-de} including all German translations of the holy Quran
provided by \url{tanzil.net}, i.e. \emph{``Abu Rida Muhammad ibn Ahmad ibn Rassoul''},
\emph{``A. S. F. Bubenheim and N. Elyas''}, \emph{``Adel Theodor Khoury''},
and \emph{``Amir Zaidan.''}
@@ -91,27 +91,31 @@
After loading the package, it writes some information about itself to the
terminal and to the log file, too. The information is something like:
+\begin{quote}
\begin{lstlisting}[style=BashInputStyle, language=tex, escapechar={|}]
-Package: quran-de |\qurandedate| |\qurandeversion| German translations extension to the quran package.
+Package: quran-de |\qurandedate| v|\qurandeversion|
+German translations extension to the quran package.
\end{lstlisting}
+\end{quote}
\section{Options of The Package}\label{sec:qurantypesetting}
-There are four options by the names of \xpackage{aburida}, \xpackage{bubenheim}, \xpackage{khoury},
-and \xpackage{zaidan}.
-\marginpar{\ttfamily aburida\smallskip}\marginpar{\ttfamily bubenheim\smallskip}
-\marginpar{\ttfamily khoury}\marginpar{\ttfamily zaidan\smallskip}\marginpar{\ttfamily all\smallskip}
+There are four options by the names of \xoption{aburida}, \xoption{bubenheim}, \xoption{khoury},
+and \xoption{zaidan}.
+\marginpar{\xoption{aburida}\smallskip}\marginpar{\xoption{bubenheim}\smallskip}
+\marginpar{\xoption{khoury}}\marginpar{\xoption{zaidan}\smallskip}\marginpar{\xoption{all}\smallskip}
If you pass any combinations of these options, you will be enabled to typeset these translations in a way
that the \xpackage{quran} package does.
-There is also \xpackage{all} option which loads all German translations provided by the \xpackage{quran-de} package.
-The package loads \xpackage{aburida} option by default.
+There is also \xoption{all} option which loads all German translations provided by the \xpackage{quran-de} package.
+The package loads \xoption{aburida} option by default.
This package is completely built on top of the \xpackage{quran} package, therefore you can pass every options
defined in that package to the \xpackage{quran-de} package.
\section{Differences between \xpackage{quran} and \xpackage{quran-de}}
-At first glance, \xpackage{quran-de} offers all functionalities of \xpackage{quran}. Therefore in this case
-both are the same except that \xpackage{quran-de} adds three other German translations, namely `bubenheim', `khoury', and `zaidan'. All German translations
+At first glance, \xpackage{quran-de} offers all functionalities of \xpackage{quran}. Therefore,
+both packages are the same in this manner except one difference. The \xpackage{quran-de} extends the \xpackage{quran}
+by adding three other German translations, namely `bubenheim', `khoury', and `zaidan'. All German translations
provided by the package are shown in table~\ref{tab:detrans}.
\begin{table}[!htbp]
@@ -131,21 +135,21 @@
\subsection{How to Change the Current German Translation}
The \xpackage{quran-de} package uses aburida's translation by default.
- The following macro could be used to change the default German tranliteration.
+ The following macro could be used to change the default German translation.
\begin{declcs}{deSetTrans}\marg{index}
\end{declcs}
- The \textit{index} could be an integer or a name; both `order' and `option's name' columns
+ The \meta{index} could be an integer or a name; both ``order'' and ``option's name''
shown in Table~\ref{tab:detrans} are appliable. Both \cs{deSetTrans\{4\}} and \cs{deSetTrans\{zaidan\}}, for example,
have the same effect.
\subsection{How to Get the Name of Current German Translation}
\begin{declcs}{deGetTrans}
\end{declcs}
- The above macro returns the name of current German translation, i.e. one of `aburida', `bubenheim', `khoury', or `zaidan'.
+ The above macro returns the name of current German translation, i.e. one of ``aburida'', ``bubenheim'', ``khoury'', or ``zaidan''.
\subsection{How to Typeset the German Translation}
- It's completely similiar to the \xpackage{quran} package when \texttt{transde} option is enabled.
+ It's completely similiar to the \xpackage{quran} package when \xoption{transde} option is enabled.
All the following macros are usable.
\begin{multicols}{2}
@@ -173,6 +177,5 @@
\centerline{\mxf{deSetTrans\{zaidan\}\textbackslash{}quransurahde*}
{\setLTR\deSetTrans{zaidan}\quransurahde*}}
-
\end{document}
Binary files old/doc/xelatex/quran-de/quran-de-test.pdf and new/doc/xelatex/quran-de/quran-de-test.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/quran-de/quran-de-test.tex new/doc/xelatex/quran-de/quran-de-test.tex
--- old/doc/xelatex/quran-de/quran-de-test.tex 2018-12-31 23:13:58.000000000 +0100
+++ new/doc/xelatex/quran-de/quran-de-test.tex 2020-03-08 22:54:28.000000000 +0100
@@ -1,7 +1,9 @@
\documentclass{article}
\usepackage[margin=2cm]{geometry}
\usepackage{arabxetex} % for typesetting Arabic text in Rigth−To−Left direction
-\usepackage[all, trans={fa,en,de,lt}]{quran-de} % trans={fa,en,de,lt} option would be sent to quran package
+
+% trans={fa,en,de,lt} option would be sent to quran package
+\usepackage[all, trans={fa,en,de,lt}, wordwise]{quran-de}
\newcommand{\compare}[1]{%
\def\setTr##1{\par\deSetTrans{##1}\fbox{\makebox[2cm]{\deGetTrans}}}
@@ -14,21 +16,27 @@
}
\newcommand{\para}[2]{\noindent%
\begin{minipage}{.4\textwidth}
-%\baselineskip=1.4\baselineskip
-\begin{arab}#1\end{arab}
+\begin{arab}[utf]#1\end{arab}
\end{minipage}\hfill
\begin{minipage}{.55\textwidth}
-%\baselineskip=1.4\baselineskip
#2
\end{minipage}
}
\begin{document}
+\quranayahde[1][1][4]+
+
+\begin{arab}[utf]
+\quranayah[2][5][2]+
+\end{arab}
+
\para{\quranayah[Al-Ikhlas][1-4]}{\quranayahlt[Al-Ikhlas][1-4]}
\bigskip
\para{\quranayahfa[Al-Ikhlas][1-4]}{\quranayahen[Al-Ikhlas][1-4]}
+\quransurahde*
+
\compare{\quransurahde*}
\compare{\quranayahde[1][1]}
\ToggleBasmalah
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/quran-de.doc.tlpobj new/tlpkg/tlpobj/quran-de.doc.tlpobj
--- old/tlpkg/tlpobj/quran-de.doc.tlpobj 2019-02-28 04:04:02.000000000 +0100
+++ new/tlpkg/tlpobj/quran-de.doc.tlpobj 2020-03-09 00:28:50.000000000 +0100
@@ -1,9 +1,9 @@
name quran-de.doc
category Package
-revision 49562
+revision 54191
shortdesc doc files of quran-de
relocated 1
-docfiles size=35
+docfiles size=37
RELOC/doc/xelatex/quran-de/README
RELOC/doc/xelatex/quran-de/quran-de-doc.pdf
RELOC/doc/xelatex/quran-de/quran-de-doc.tex
++++++ quran-de.tar.xz ++++++
++++ 56276 lines of diff (skipped)
++++++ quran.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/quran/README new/doc/xelatex/quran/README
--- old/doc/xelatex/quran/README 2018-12-31 23:14:12.000000000 +0100
+++ new/doc/xelatex/quran/README 2020-03-15 22:33:09.000000000 +0100
@@ -1,19 +1,19 @@
_____________________
The quran package
-v1.5
+v1.63
-The package is prepared for typesetting the Holy Quran. This work is inspired
-by lipsum and ptext packages, provides several macros for typesetting the whole or
-any parts of The Holy Quran based on its popular divisions.
+The package is prepared for typesetting the holy Quran.
+This work provides several macros for typesetting the whole or
+any parts of the holy Quran based on its popular divisions.
For more information, please see the documentation.
-Current version release date: 2018/12/31
+Current version release date: 2020/03/14
___________________
Seiied-Mohammad-Javad Razvian
javadr@gmail.com
-Copyright © 2015-2018
+Copyright © 2015-2020
It may be distributed and/or modified under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
this license is at: http://www.latex-project.org/lppl.txt
Binary files old/doc/xelatex/quran/defaulttext.pdf and new/doc/xelatex/quran/defaulttext.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/quran/defaulttext.tex new/doc/xelatex/quran/defaulttext.tex
--- old/doc/xelatex/quran/defaulttext.tex 2016-11-08 23:35:30.000000000 +0100
+++ new/doc/xelatex/quran/defaulttext.tex 1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-\documentclass{standalone}
-
-\usepackage{quran}
-\usepackage{xepersian}
-\settextfont{Scheherazade}
-
-\begin{document}
-
-\begin{minipage}{.45\textwidth}
-{\quransurah*[1]}
-\end{minipage}
-
-\end{document}
Binary files old/doc/xelatex/quran/quran-doc.pdf and new/doc/xelatex/quran/quran-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/quran/quran-doc.tex new/doc/xelatex/quran/quran-doc.tex
--- old/doc/xelatex/quran/quran-doc.tex 2018-12-31 23:14:12.000000000 +0100
+++ new/doc/xelatex/quran/quran-doc.tex 2020-03-15 22:33:09.000000000 +0100
@@ -1,292 +1,323 @@
+%% This is file `quran-doc.tex',
+%%
+%% Copyright © 2015-2020
+%% Seiied-Mohammad-Javad Razavian
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% This work is “author-maintained” (as per LPPL maintenance status).
+%%
+%% The Current Maintainer of this work is Seiied-Mohammad-Javad Razavian.
+%%
+%% to one who has devoted his life to Quran
+%%
\documentclass{ltxdoc}
\usepackage{forloop}
-\usepackage{pgf}
-\usepackage{framed}
+\usepackage{booktabs}
+\usepackage{longtable}
\usepackage{holtxdoc}
+\usepackage{fancyvrb}
\usepackage{url}
-\usepackage{addlines}
\usepackage{listings}
\usepackage{tikz}
-\usetikzlibrary{calc}
+\usepackage[hang,flushmargin]{footmisc}
\usepackage{fontspec}
-\usepackage[trans={lt, de, en, fa}]{quran}
+\usepackage[toc]{multitoc}
+\usepackage{manfnt}
+
+\usepackage[trans={lt, de, en, fa}, wordwise]{quran}
\newfontfamily\quran[Script=Arabic]{Scheherazade}
+\newfontfamily\amiri[Script=Arabic]{Amiri}
\hypersetup{%
- plainpages=false,%
- bookmarksnumbered,%
- pdftitle={The quran Package},%
- pdfkeywords={quran, surah, ayah, juz, hizb, ruku, manzil},%
- pdfauthor={Seiied-Mohammad-Javad Razavian},%
- baseurl={http://mirrors.ctan.org/macros/xetex/latex/quran/doc/quran-doc.pdf},%
+ plainpages=false,%
+ bookmarksnumbered,%
+ pdftitle={The quran Package},%
+ pdfkeywords={quran, surah, ayah, juz, hizb, ruku, manzil},%
+ pdfauthor={Seiied-Mohammad-Javad Razavian},%
+ baseurl={http://mirrors.ctan.org/macros/xetex/latex/quran/doc/quran-doc.pdf},%
}
-% because of definition of \XeTeX and \XeLaTeX symbols in bidi, I should undef these macro that are also defined in holtxdoc package.
\makeatletter
+% because of definition of \XeTeX and \XeLaTeX symbols in bidi, I should undef these macro that are also defined in holtxdoc package.
\bidi@undef\XeTeX
\bidi@undef\XeLaTeX
-\makeatother
-\usepackage{bidi}
-\makeatletter
+% set fonr for quran text.
\bidi@preto\qurantext{\quran}
-\bidi@BeforeBeginEnvironment{declcs}{\vspace*{-4mm}}
-%\bidi@AfterEndEnvironment{declcs}{\vspace{-2mm}}
\makeatother
-
+\usepackage{bidi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def\boxcs#1{\leftline{\fbox{\mcs{#1}}}}
-\def\mcs#1{\lr{\texttt{\textbackslash{}#1}}}
-\def\tt#1{\lr{\texttt{#1}}}
+\def\tt#1{\LRE{\texttt{#1}}}
\lstdefinestyle{BashInputStyle}{
-% language=bash,
basicstyle=\footnotesize\sffamily,
-% numbers=left,
-% numberstyle=\tiny,
-% numbersep=3pt,
frame=tb,
columns=fullflexible,
backgroundcolor=\color{gray!10},
-% linewidth=0.9\linewidth,
-% xleftmargin=0.1\linewidth
-}
-\def\qp#1{
-\begin{minipage}{.6\textwidth}
- #1
-\end{minipage}
}
-
% Define box and box title style
\tikzstyle{mybox} = [draw=black, fill=gray!20, very thick,
rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
-\tikzstyle{fancytitle} =[fill=gray, text=white]
-
-\def\mx#1#2{\mybox{#1}{#2}{.45\textwidth}}
-\def\mxf#1#2{\mybox{#1}{#2}{\textwidth}}
+\tikzstyle{fancytitle} = [fill=gray, text=white]
-\def\mybox#1#2#3{
-\begin{tikzpicture}
-\setRTL
-\node [mybox] (box){%
- \begin{minipage}[t]{#3}
- #2
- \end{minipage}
-};
-\node (hole) [anchor=north east, left=5pt ] at (box.north east) { \tikz\fill[very thick,white] (0,0) circle (12pt); };
-\node[ ] at (hole.center) {\includegraphics[width=.05\textwidth]{quran.png}};
-\node[fancytitle, anchor=west, right=7pt] at (box.north west) {\small \cs{#1}};
-\end{tikzpicture}%
+\def\mx#1#2{\mybox{#1}{#2}[.46\textwidth]}
+\def\mxf#1#2{\mybox{#1}{#2}}
+\DeclareDocumentCommand{\mybox}{ s m m O{\textwidth} t{+} }{%
+ \begin{tikzpicture}
+ \IfBooleanTF{#5}{}{\setRTL}
+ \node [mybox] (box){%
+ \begin{minipage}[t]{#4}
+ #3
+ \end{minipage}
+ };
+ \node (hole) [anchor=north east, left=5pt ] at (box.north east) { \tikz\fill[very thick,white] (0,0) circle (12pt); };
+ \node[ ] at (hole.center) {\includegraphics[width=.05\textwidth]{quran.png}};
+ \node[fancytitle, anchor=west, right=7pt, rounded corners=2pt] at (box.north west) {\small \IfBooleanTF{#1}{#2}{\cs{#2}}};
+ \end{tikzpicture}%
}
-
+\renewenvironment{declcs}[1]{%
+% \par
+ \addvspace{1.5ex plus 1ex}%
+ \vskip -\parskip
+ \noindent
+ \hspace{1\leftmargini}%
+ \def\M##1{\texttt{\{}\meta{##1}\texttt{\}}}%
+ \def\*{\unskip\,\texttt{*}}%
+ \begin{tabular}{@{}l@{}}%
+ \toprule
+ \expandafter\SpecialUsageIndex\csname #1\endcsname
+ \cs{#1}%
+}{%
+ \\%
+ \bottomrule
+ \end{tabular}%
+ \nobreak
+ \par
+ \nobreak
+ \vspace{1ex}%
+ \vskip -\parskip
+ \noindent
+ \ignorespacesafterend
+}
+\def\none{\meta{number$_1$}}
+\def\ntwo{\meta{number$_2$}}
+\def\mgpar#1{\marginpar{\cs{#1}}}
+\def\xmgpar#1{\xoption{#1}\marginpar{\xoption{#1}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{\includegraphics[scale=.3]{quran.png}\\
-The \xpackage{quran} Package\footnote{To one having devoted his life to the Holy Quran}}
+The \xpackage{quran} Package\thanks{To one having devoted his life to the holy Quran}}
\author{Seiied Mohammad Javad Razavian\\\xemail{javadr@gmail.com}}
-\date{\qurandate\space\quranversion}
+\date{\qurandate,\space version \quranversion}
+
+\parindent=0pt
\begin{document}
-\maketitle
-%\begin{framed}
-%This manual is incomplete and the package is under development. \par
-%\centerline{\quranversion}
-%\end{framed}
+\maketitle{
+\centerline{\large\bfseries Abstract}
+\bigskip
+The \xpackage{quran} package\footnote{This work has been inspired by \xpackage{lipsum} and
+\xpackage{ptext} packages and released for the first time in June 2015 (Sha'ban 1436 AH).}
+has been prepared for typesetting the holy Quran.
+It provides several macros for typesetting not only the whole or any parts of the holy Quran based on its popular divisions,
+but also any chunks of an ayah.
+Three translations of the holy Quran in German, English, and Persian in addition to its transliteration are also supported.%
+\footnote{There are two packages, \xpackage{quran-de} and \xpackage{quran-ur}, in companion with, which provide several other translations in Deutsch and Urdu.}
+Please, report any issues including bugs, typos in the documentation
+or feature requests on \url{https://github.com/javadr/quran/issues}.
+ }
+
+ \null\vfill
+ \pagebreak
+\setlength{\columnseprule}{0.5pt}
\tableofcontents
-%\newpage
+\pagebreak
-\section{Introduction}
-This package is prepared for typesetting The Holy Quran%.
-. It provides several macros for
-typesetting the whole or any parts of The Holy Quran based on its popular division.\footnote{This work is inspired by \xpackage{lipsum} and
-\xpackage{ptext} packages.}
-%\footnote{
-By recent versions, the package can typeset some translations of The Holy Quran in
-German, English, and Persian. It also can typeset quran's transliteration.
-%}\addlines[1]
-\section{Loading Package}
-You can load the package in the ordinary way
-\cs{usepackage[option]\{quran\}}.
-After loading the package, it writes some information about itself to the
-terminal and to the log file, too. The information is something like:
+\thispagestyle{empty}
+\null\vfil
+\section*{Acknowledgments}
+I would like to express my very great appreciation to:
+\begin{enumerate}
+ \parskip=0pt
+ \item \emph{Vafa Khaligi} who paved the way for typesetting right-to-left in \XeTeX.
+ \item \emph{Hamid Zarrabi-Zadeh}, the creator of the invaluable website of \emph{Tanzil}
+ for providing the text of the holy Quran and some of its translations.
+ \item Parsi\LaTeX\ group that tested and commented on the package in advance.
+ \item Those who have \textbf{donated} to the \xpackage{quran} package--arranged in chronological order:
+ \begin{enumerate}
+ \item \emph{Atiyah Elsheikh}, Feburary 2020.
+ \end{enumerate}
+\end{enumerate}
+
+\newpage
-\begin{lstlisting}[style=BashInputStyle, escapechar={|}]
-Package: quran |\qurandate| |\quranversion| An easy way to typeset the whole or any part of The Holy Quran
+\section{Loading Package}
+The package can be loaded in the ordinary way
+\cs{usepackage[option]\{quran\}}. All \tt{option}s are explained in the section \ref{sec:options}.
+After loading the package, it writes some information about itself to the log file. The information is something like:
+
+\begin{quote}
+\begin{lstlisting}[style=BashInputStyle, escapechar={|},]
+Package: quran |\qurandate| v|\quranversion|
+An easy way to typeset the whole or any parts of the holy Quran
\end{lstlisting}
+\end{quote}
\section{Typesetting The Holy Quran}\label{sec:qurantypesetting}
-For typesetting any parts or whole of The Holy Quran there are several macros in the package.
+For typesetting any parts or whole of the holy Quran, several macros are provided in the package.
+These commands are responsible for typesetting all popular divisions of the holy Quran based on Uthmani script, including Surah, Ayah, Page, Juz, Hizb, Quarter, Ruku, and Manzil as well as any chunks of an a yah.
\subsection{Surah/Sovar}
-\begin{declcs}{quransurah}\oarg{m}
-\end{declcs}
-This macro can typeset any Surah of Quran. As you know there are 114 Sovar, so \textit{m} could
-be an integer between 1 to 114. The macro also could accept the transliteration of surah's name,
-e.g. both of \cs{quransurah[1]} and \cs{quransurah[Al-Fatiha]} have the same effect. For using
-surah's name instead of their order see table~\ref{tab1}.
-\marginpar{\cs{quransurah[1]}}\marginpar{\cs{quransurah[Al-Fatiha]}}
- \centerline{\hbox{\mx{quransurah[94]}{\quransurah[94]}\hfill
- \mx{quransurah[At-Tin]}{\quransurah[At-Tin]}}}
-
-\begin{declcs}{quransurah}\oarg{m-n}
+\begin{declcs}{quransurah}\oarg{surah range}\\
+\cs{quransurah*}\oarg{surah range}
\end{declcs}
-This acts like above but can typeset \textit{m}$^{th}$ Surah to \textit{n}$^{th}$ one.
+This macro can typeset any surah of Quran. A \meta{range} consists
+either of a single \meta{number} or two numbers separated by a dash (-),
+as in \none-\ntwo. In \cs{quransurah} and similar commands,
+if \meta{range} does not satisfy \none~<~\ntwo{} in addition to its domain,
+this might fail or make some undesired results. As you know there are 114 surahs, so \meta{range} could
+be an integer between 1 to 114.
+
+\cs{quransurah} terminates typesetting of every ayah using \cs{par} (depending on
+the package option) while \cs{quransurah*} uses a blank space for each ayah.
+As a simplified rule of thumb, \cs{quransurah} prints ayahs as multiple paragraphs while
+\cs{quransurah*} prints them as a single paragraph.
+All starred macros in the package act similar in this manner; see page~\pageref{starred} for more details.
+
+The macro also could accept the anglicized title of the surah's name,
+e.g. both of \cs{quransurah[19]} and \cs{quransurah[Maryam]} have the same effect.
+\mgpar{quransurah[19]}\mgpar{quransurah[Maryam]}
+See table~\ref{tab1} how to use the anglicized title of a surah instead of its order.
+As some anglicized titles include a dash (-), therefore
+\meta{range} has to be separated by two dashes (\tt{--}), e.g.\cs{quransurah[An-Nasr--An-Nas]}.
+
+\cs{quransurah} without its optional argument outputs the package's default surah, Al-Ikhlas,
+(as long as the default has not been overwritten, see below).
+
+\centerline{\mx{quransurah[94]}{\quransurah[94]} \hfill
+ \mx{quransurah[At-Tin]}{\quransurah[At-Tin]}}
+
+\centerline{\mxf{quransurah*[113-114]}{\quransurah*[113-114]}}
-\begin{declcs}{quransurah}\oarg{m{-}{-}n}
-\end{declcs}
-In this case m and n are transliterations of surah's names, e.g. \cs{quransurah[An-Nasr--An-Nas]}.
-\marginpar{\cs{quransurah[An-Nasr--An-Nas]}}
+\centerline{\mx{quransurah[109-110]}{\quransurah[109-110]} \hfill
+ \mx{quransurah[Al-Masadd--Al-Ikhlas]}{\quransurah[Al-Masadd--Al-Ikhlas]}}
- \centerline{\hbox{\mx{quransurah[109-110]}{\quransurah[109-110]}\hfill
- \mx{quransurah[Al-Masadd--Al-Ikhlas]}{\quransurah[Al-Masadd--Al-Ikhlas]}}}
+\centerline{\mx{quransurah*}{\quransurah*} \hfill\mx{quransurah}{\quransurah}}
+
+In order to change the default surah, apply \cs{setsurahdefault\{m\}}.
+As you've noticed the package's default is 112. \mgpar{setsurahdefault}
+After changing package's default surah to 107 by \cs{setsurahdefault\{107\}}, the output would be like below:
+
+\setsurahdefault{107}
+\centerline{\mxf{quransurah*}{\quransurah*}}
\newcounter{ct}
-\def\mycell#1{
- \surahname[\value{#1}]
- \addtocounter{#1}{38}
+\def\mycell#1{%
+ \surahname[\value{#1}]%
+ \addtocounter{ct}{38}%
}
-\begin{table}[tbhp]
+\begin{table}[!htb]
\centering
\fontsize{8}{10}\selectfont
\begin{tabular}{|*{3}{c|l|}}
\hline
- order & surahname & order & surahname & order & surahname \\
+ Order & Anglicized Title & Order & Anglicized Title & Order & Anglicized Title \\
\hline\hline%
\forloop{ct}{1}{\value{ct} < 38}{%
- \thect & \mycell{ct} & \thect & \mycell{ct} & \thect & \mycell{ct} \\
+ \ifnum\thect=1\phantom{.}\fi\thect & \mycell{ct} & \thect & \mycell{ct} & \thect & \mycell{ct}\\
\addtocounter{ct}{-114}
}%
\thect & \mycell{ct} & \thect & \mycell{ct} & \thect & \mycell{ct}\\%
\hline
\end{tabular}
- \protect\caption{Transliterations of Sovar's names.}\label{tab1}
+ \protect\caption{\scshape Anglicized Title of Surahs' Names}\label{tab1}
\end{table}
-
-
-\begin{declcs}{quransurah}
-\end{declcs}
-Using \cs{quransurah} without its optional argument typeset the default Surah--Al-Ikhlas.
-
-\centerline{\mx{quransurah}{\quransurah}}
-
-To change the default Surah use \cs{setsurahdefault\{m\}}, again m must be between 1 and 114.
-As you've noticed the package's default is 112.
-\marginpar{\cs{setsurahdefault}}
-
-After changing package's default surah to 107 by \cs{setsurahdefault\{107\}}, the output would be like below:
-
- \setsurahdefault{107}
- \centerline{\mx{quransurah}{\quransurah}}
-
-
\subsection{Ayah/Ayat}
-\begin{declcs}{quranayah}\oarg{l}\oarg{n}
+\begin{declcs}{quranayah}\oarg{surah range}\oarg{ayah range}\\
+\cs{quranayah*}\oarg{surah range}\oarg{ayah range}
\end{declcs}
-The above macro typeset the \textit{n}$^{th}$ Ayah of \textit{l}$^{th}$ Surah.
+\meta{range} is similar the one explained for \cs{quransurah} and this pattern is similar to all commands defined in the package.
+Therefore, this command typesets the \textit{n}$^{th}$ ayah of a surah or \textit{m}$^{th}$ to \textit{n}$^{th}$ ayahs of a s urah.
- \centerline{\hbox{\mx{quranayah[33][33]}{\quranayah[33][33]}\hfill
- \mx{quranayah[Al-Ahzab][33]}{\quranayah[Al-Ahzab][33]}}}
+\centerline{\mx{quranayah[33][33]}{\quranayah[33][33]} \hfill
+ \mx{quranayah[Al-Ahzab][33]}{\quranayah[Al-Ahzab][33]}}
-If you just typeset the first Ayah of any Surah, then the Basmalah will not be printed.
-In this case if you need Basmalah, then you can use the \cs{basmalah} macro before.
+The basmalah will not be printed if you want to typeset the first ayah of any surah per se.
+Using \cs{basmalah} macro prior to the ayah will solve this issue. See page~\pageref{sec:basmalah} for more information.
\marginpar{\cs{basmalah}}
- \centerline{\hbox{\mx{quranayah[Ibrahim][1]}{\quranayah[Ibrahim][1]}\hfill
- \mx{basmalah\textbackslash{}quranayah[14][1]}{\quran\basmalah\quranayah[14][1]}}}
+\centerline{\mx{quranayah[Ibrahim][1]}{\quranayah[Ibrahim][1]} \hfill
+ \mx{basmalah\textbackslash{}quranayah[14][1]}{\quran\basmalah\quranayah[14][1]}}
-\begin{declcs}{quranayah}\oarg{l}\oarg{m-n}
-\end{declcs}
-This macro typeset the \textit{m}$^{th}$ to \textit{n}$^{th}$ Ayat of \textit{l}$^{th}$ Surah.
+\centerline{\mx{quranayah*[Ash-Shura][22-26]}{\quranayah*[Ash-Shura][22-26]} \hfill
+ \mx{quranayah*[42][22-26]}{\quranayah*[42][22-26]}}
-\par
-\addvspace{4.5ex plus 1ex}%
-\vskip -\parskip
-\noindent The \textit{l} argument could be an integer less than or equal to 114. It also could be
-the transliteration of \textit{l}$^{th}$ Surah's name, see table~\ref{tab1}.
-The number \textit{n} is diffirent by every Surah and it relies on the number of the Surah's verses.
-The number \textit{m} should be between 1 and a number less than \textit{n}.
-
-In case of using transliteration of surah's name, both \cs{quransurah} and \cs{quranayah} are \emph{case-insensitive}, i.e.
-for example there is no differences between Al-Fatiha, al-fatiha, al-Fatiha,
- and any other possible combinations of lowercase and uppercase letters.
+Both \cs{quransurah} and \cs{quranayah} are \emph{case-insensitive} to the anglicized title of surah, i.e.
+there are, for example, no differences among Al-Fatiha, al-fatiha, or any other possible combinations of lowercase and uppercase letters.
- \centerline{\hbox{\mx{quranayah[Ash-Shura][22-26]}{\quranayah[Ash-Shura][22-26]}\hfill
- \mx{quranayah[42][22-26]}{\quranayah[42][22-26]}}}
+\centerline{\mx{quransurah*[Al-Fatiha]}{\quransurah*[Al-Fatiha]} \hfill
+ \mx{quransurah*[aL-fAtIhA]}{\quransurah*[aL-fAtIhA]}}
\subsection{Page/Pages}
-\begin{declcs}{quranpage}\oarg{n}
+\begin{declcs}{quranpage}\oarg{page range}\\
+\cs{quranpage*}\oarg{page range}
\end{declcs}
-Typeset the \textit{n}$^{th}$ page of Quran and the following macro typeset \textit{m}$^{th}$ to
-\textit{n}$^{th}$ pages of the Holy Quran.
-\begin{declcs}{quranpage}\oarg{m-n}
-\end{declcs}
-The numbers should be between $1$ to $604$, based on Uthmani text.
+Typesets the specified \meta{range} of page(s) of the holy Quran.
+The numbers in \meta{range} have to be between $1$ to $604$, based on the Medina Mushaf.
\centerline{\hboxR{\mx{quranpage*[249]}{\quranpage*[249]}
\hfill
\mx{quranpage*[250]}{\quranpage*[250]}}}
- * Starred version of macros will be explained in page~\pageref{starred}; concisely it means
- typesetting that part of the Holy Quran in one paragraph.
-
- \centerline{\mxf{quranpage*[1-3]}{\quranpage*[1-3]}}
+ \centerline{\mxf{quranpage*[603-604]}{\quranpage*[603-604]}}
\subsection{Juz/Ajza}
-%\vspace{-6mm}
-\begin{declcs}{quranjuz}\oarg{n}
+\begin{declcs}{quranjuz}\oarg{juz range}\\
+\cs{quranjuz*}\oarg{juz range}
\end{declcs}
-Above macro typesets the \textit{n}$^{th}$ juz of Quran and the next macro typesets m$^{th}$ to n$^{th}$ juzzes of Quran.
-\begin{declcs}{quranjuz}\oarg{m-n}
-\end{declcs}
-%\vspace{-6mm}
-The numbers should be between $1$ to $30$.
+This macro typesets the specified \meta{range} of juz(zes) of the holy Quran, ranging from $1$ to $30$.
\subsection{Hizb/Ahzab}
-Each juz of Quran is devided into two ahzab (group), so there are 60 ahzab.
-Following macros typeset hizb/ahzab of Quran.
+Each juz of the holy Quran is devided into two ahzab (groups), thus there are 60 hizbs (ahzab).
+Following macro typesets hizb/ahzab of the holy Quran.
-%\vspace{-6mm}
-\begin{declcs}{quranhizb}\oarg{n}
-\end{declcs}
-%\vspace{-14mm}
-\begin{declcs}{quranhizb}\oarg{m-n}
+\begin{declcs}{quranhizb}\oarg{hizb range}\\
+\cs{quranhizb*}\oarg{hizb range}
\end{declcs}
\subsection{Quarter/Quarters}
-Eash hizb of Quran is devided into four quarters, making eight quarters per juz, called maqra.
-There are 240 of these quarters (of hizb) in the Quran. These maqras are often used as sections for revision when memorizing the Quran.\footnote{\url{https://en.wikipedia.org/wiki/Juz'}}
+Eash hizb of the holy Quran is devided into four quarters, making eight quarters per juz, called maqra.
+There are 240 of these quarters (of hizb) in the holy Quran. These maqras are often used as sections for revision when memorizing the holy Quran.\footnote{\url{https://en.wikipedia.org/wiki/Juz'}}
-%\vspace{-6mm}
-\begin{declcs}{quranquarter}\oarg{n}
-\end{declcs}
-%\vspace{-14mm}
-\begin{declcs}{quranquarter}\oarg{m-n}
+\begin{declcs}{quranquarter}\oarg{quarter range}\\
+\cs{quranquarter*}\oarg{quarter range}
\end{declcs}
-Above macros typeset the \textit{n}$^{th}$ or m$^{th}$ to n$^{th}$ quarter(s) of Quran.
-
\centerline{\mxf{quranquarter*[110]}{\quranquarter*[110]}}
\subsection{Ruku/Rukus}
-``The term ruk\= u --- roughly translated to ``passage", ``pericope" or ``stanza" --- is also used to denote a group of thematically related verses in the Qur'an. Longer suras (chapters) in the Qur'an are usually divided into several ruk\= us, so that the reciters could identify when to make ruk\= u in Salat without breaking an ongoing topic in the Quranic text."\footnote{\url{https://en.wikipedia.org/wiki/Ruku}}
-
-The following macros can typeset rukus of The Holy Quran in the way the previous macros did.
+``The term ruk\= u --- roughly translated to ``passage", ``pericope" or ``stanza" --- is also used to denote a group of thematically related verses in the Qur'an. Longer suras (chapters) in the Qur'an are usually divided into several ruk\= us, so that the reciters could identify when to make ruk\= u in Salat without breaking an ongoing topic in the Quranic text."\footnote{\url{https://en.wikipedia.org/wiki/Ruku}} There are $556$ rukus.
-\begin{declcs}{quranruku}\oarg{n}
+\begin{declcs}{quranruku}\oarg{ruku range}\\
+\cs{quranruku*}\oarg{ruku range}
\end{declcs}
\centerline{\mxf{quranruku*[363]}{\quranruku*[363]}}
-\begin{declcs}{quranruku}\oarg{m-n}
-\end{declcs}
-The numbers should be between $1$ to $556$.
-
\centerline{\mxf{quranruku*[58-59]}{\quranruku*[58-59]}}
@@ -304,46 +335,41 @@
\item Qaf (chapter 50) through An-Nass (chapter 114) consisting of 65 surahs.''\footnote{\url{https://en.wikipedia.org/wiki/Manzil}}
\end{enumerate}
-Following macros typeset manzil/manazil of Quran.
-
-\begin{declcs}{quranmanzil}\oarg{n}
-\end{declcs}
-%\vspace{-12mm}
-\begin{declcs}{quranmanzil}\oarg{m-n}
+\begin{declcs}{quranmanzil}\oarg{manzil range}\\
+\cs{quranmanzil*}\oarg{manzil range}
\end{declcs}
+The above macro typesets manzil/manazil of the holy Quran.
+
\subsection{Text of Quran}
-The next macro is the heart of all macros typesetting any range of Quran. As you know there
-are $6236$ Ayat in Quran. This macro can typeset a specific Ayah or any range of Ayat.
+The next macro is the heart of all macros in the package typesetting any range of Quran. As you know, there
+are $6236$ ayahs in the holy Quran. This macro can typeset a specific ayah or any range of ayahs.
-\begin{declcs}{qurantext}\oarg{n}
+\begin{declcs}{qurantext}\oarg{index range}\\
+\cs{qurantext*}\oarg{index range}
\end{declcs}
-Typesets the \textit{n}$^{th}$ Ayah of Quran.
\centerline{\mxf{qurantext[1023]}{\begingroup\qurantext[1023]\endgroup}}
-\begin{declcs}{qurantext}\oarg{m-n}
-\end{declcs}
-Typesets any range of Ayat from the \textit{m}$^{th}$ to \textit{n}$^{th}$ Ayah.
-
- \centerline{\mxf{qurantext*[4111-4117]}{\begingroup\qurantext*[4111-4117]\endgroup}}
+\centerline{\mxf{qurantext*[4111-4117]}{\begingroup\qurantext*[4111-4117]\endgroup}}
-Using \cs{qurantext} without its optional argument uses [1-7] at its default argument--Al-Hamd. To
+Using \cs{qurantext} without its optional argument uses [1-7] at its default argument-- surah Al-Hamd. To
change the default text use \cs{setqurantextdefault\{m-n\}}
\marginpar{\cs{qurantext}}
- \centerline{\mx{qurantext}{\qurantext}}
+ \centerline{\mxf{qurantext*}{\qurantext*}}
- \noindent Below, the default is changed to \cs{setqurantextdefault\{4128-4147\}}:
- \marginpar{\cs{setqurantextdefault\{m-n\}}}
+ \noindent In the following example, \cs{setqurantextdefault\{4128-4137\}} has changed the default to index $4128$ to $4137$.
+ \mgpar{setqurantextdefault\{m-n\}}
- \setqurantextdefault{4128-4147}
+ \setqurantextdefault{4128-4137}
\centerline{\mxf{qurantext*}{\qurantext*}}
\subsection{Whole of The Holy Quran}
-The following macros can typeset whole of The Holy Quran:
+The following macros with the specified parameters can typeset whole of the holy Quran:
+\begin{multicols}{2}
\begin{itemize}
\item \cs{quransurah[1-114]}
\item \cs{quranjuz[1-30]}
@@ -353,72 +379,176 @@
\item \cs{quranquarter[1-240]}
\item \cs{quranruku[1-556]}
\item \cs{quranmanzil[1-7]}
+ \item \cs{quransurah*[1-114]}
+ \item \cs{quranjuz*[1-30]}
+ \item \cs{quranpage*[1-604]}
+ \item \cs{qurantext*[1-6236]}
+ \item \cs{quranhizb*[1-60]}
+ \item \cs{quranquarter*[1-240]}
+ \item \cs{quranruku*[1-556]}
+ \item \cs{quranmanzil*[1-7]}
\end{itemize}
+\end{multicols}
+\subsection{Chunks of an Ayah}\label{chunk}
+From ver 1.6 onward, the package is capable of typesetting not only a whole ayah but also any chunks of an ayah
+if the \xmgpar{wordwise} option has been loaded.\footnote{This new practical feature has been suggested and
+supported financially by \emph{Atiyah Elsheikh} in Feburary 2020.}
+ In this case, \cs{quranayah} and \cs{qurantext} macros have some other optional parameters to do that.
-\section{Miscellaneous}
+\begin{declcs}{quranayah}\oarg{surah range}\oarg{ayah range}\oarg{chunk range}\\
+\cs{quranayah}\oarg{surah range}\oarg{ayah range}\oarg{chunk range}\tt{+}
+\end{declcs}
-\subsection{Name of Surah}
-\begin{declcs}{surahname}\oarg{m}
+\begin{declcs}{qurantext}\oarg{index range}\oarg{chunk range}\\
+\cs{qurantext}\oarg{index range}\oarg{chunk range}\tt{+}
\end{declcs}
-This macro returns the transliteration of \textit{m}$^{th}$ Surah's name.
-\begin{declcs}{surahname*}\oarg{m}
+These commands separate words included in \meta{ayah range}/\meta{index range}
+by white spaces and then output specified \meta{chunk range}.
+If \meta{chunk range} includes just one number, the output will be from the
+\meta{number}\textsuperscript{th} word to the end of \meta{ayah range}.
+
+\centerline{\mx{quranayah[2][156][6]}{\quranayah[2][156][6]} \hfill
+ \mx{quranayah[2][286][31-43]}{\quranayah[2][286][31-43]}}
+
+The way the package enumerates the words of a specified \meta{range} could be shown in the footnote if these commands followed by \tt{+}.
+
+\centerline{\mxf{quranayah[Ar-Rad][23-24][10]+}{\quranayah[Ar-Rad][23-24][10]+}}
+
+\pagebreak[4]
+Fetching just one word from
+an ayah needs the \meta{chunck range} to have both \meta{number}s as the same.
+
+\centerline{\mx{quranayah[18][19][34-34]}{\quranayah[18][19][34-34]} }
+
+\section{Miscellaneous}
+
+\subsection{Name of Surah}
+\begin{declcs}{surahname}\oarg{index}\\
+\cs{surahname*}\oarg{index}
\end{declcs}
-This macro returns the arabic name of \textit{m}$^{th}$ Surah.
+These commands return the anglicized/arabic title of \textit{index}$^{th}$ surah of the holy Quran,
+as depicted in table~\ref{tab1} and table~\ref{tab2}
- \centerline{\hbox{\mx{surahname[19]}{\surahname[19]}
+ \centerline{\mx{surahname[19]}{\surahname[19]}
\hfill
- \mx{surahname*[19]}{\quran\surahname*[19]}}}
+ \mx{surahname*[19]}{\quran\surahname*[19]}}
+
+\def\mycell#1#2{%
+ \hboxR{\amiri\phantom{آح}\surahname*[\value{#1}]}%
+ \addtocounter{ct}{#2}%
+}
+\begin{table}[!hbt]
+ \centering
+% \fontsize{12}{14}\selectfont
+ \begin{RTL}
+ \begin{tabular}{|*{4}{@{\hspace{1mm}}c@{\hspace{1mm}}|r|}}
+ \hline
+ Order & \multicolumn{1}{c|@{\hspace{1mm}}}{Title} & Order & \multicolumn{1}{c|@{\hspace{1mm}}}{Title}
+ & Order & \multicolumn{1}{c|@{\hspace{1mm}}}{Title} & Order & \multicolumn{1}{c|}{Title} \\
+ \hline\hline%
+ \forloop{ct}{1}{\value{ct} < 29}{%
+ \ifnum\thect=1\phantom{..}\fi\thect & \mycell{ct}{29} & \thect & \mycell{ct}{29} & \thect & \mycell{ct}{28} & \thect & \mycell{ct}{28}\\
+ \addtocounter{ct}{-114}
+ }%
+ \thect & \mycell{ct}{29} & \thect & \mycell{ct}{29} & & & & \\%
+ \hline
+ \end{tabular}
+ \end{RTL}
+ \protect\caption{\scshape Arabic Titles of Surahs}\label{tab2}
+\end{table}
-\subsection{Basmalah}
-\begin{declcs}{basmalah}
-\end{declcs}
-It provides the basmalah in arabic text which every Surah is started by that.
+\subsection{Basmalah}\label{sec:basmalah}
+\begin{declcs}{basmalah}\\
+\cs{Basmalah}
+\end{declcs}
+It provides Basmalah (\RLE{\quran\Basmalah}) in arabic text. There is a subtle
+difference between \cs{Basmalah} and \cs{basmalah} -- the latter is sometimes followed by a \cs{par}
+(depending on the package option).
- \centerline{\mx{basmalah}{\quran\basmalah}}
+ \centerline{\mx{basmalah\textbackslash{}quranayah*[14][1]}{\quran\basmalah\quranayah*[14][1]} \hfill
+ \mx{Basmalah\textbackslash{}space\textbackslash{}quranayah*[14][1}{\quran\Basmalah\ \quranayah*[14][1]}}
\subsection{Index Converting}
\begin{declcs}{indexconvert}\marg{index}\marg{surah macro}\marg{ayah macro}
\end{declcs}
-This command converts an index number between 1 to 6236
-to its exact surah's index and ayah's index. The index must be a number or
-\TeX{} counter, the surah macro and ayah macro must be \TeX{} macro names. They
-will be set to numbers representing the surah and ayah of the given index in whole of Quran.
-
-\section{Options to The Package}
-All text generated by macros of this package will be separated by the macro \cs{par}. Sometimes,
-a version of text without \cs{par} is desired. Therefore the package provides the option
-\texttt{nopar}\marginpar{\texttt{nopar}}
-that causes no macros of the package terminated by \cs{par}.
-Another way for achieving this, is using the starred version of macros. All macros of the package
-has a starred version that omit the \cs{par} macro in typesetting the text of Quran.
-
-\label{starred}
-In some cases maybe user wants to typeset the Ayat without their following numbers visible in printed versions of The Holy Quran. The \texttt{nonumber}\marginpar{nonumber}
-option tells the package that print no number after ayah.
-But sometimes we want to typeset just some Ayat without theirs, so there is a \cs{ToggleAyahNumber} macro
-that can cause numbers will be omitted. With \texttt{nonumber} option this macro acts vice versa, it mean it
-causes that Ayat number will be printed.
+It converts an index number between 1 to 6236
+to its exact surah's index and ayah's index. The index must be either a number or a
+\TeX{} counter, and the surah macro and ayah would be defined as a \TeX{} counters if they are undefined. They
+will be set to the numbers representing the surah and ayah of the given index in text of the holy Quran.
+
+\begin{SaveVerbatim}{VerbEnv}
+\newcount\index \index=5678
+
+\indexconvert{\index}{\surahcount}{\ayahcount}
+
+Index \the\index\ belongs to ayah number \the\ayahcount\
+of surah number \the\surahcount\ (=\surahname[\the\surahcount]).
+
+\end{SaveVerbatim}
+
+\centerline{\mybox*{indexconvert}{
+\UseVerbatim{VerbEnv}
+\newcount\index \index=5678
+\indexconvert{\index}{\surahcount}{\ayahcount}
+Index \the\index\ belongs to ayah number \the\ayahcount\ of surah number \the\surahcount\ (=\surahname[\the\surahcount]).
+}+}
+
+\section{Options to The Package}\label{sec:options}
+All macros of the package, by default, will separate ayahs with \cs{par}.
+The \xmgpar{nopar} option is available to change this default behaviour.
+In this case, ayahs will be separated with space instead \cs{par}.
+Another way for achieving this, is using the starred version of macros. All macros of the package \marginpar{starred macros}
+have starred versions that omit the \cs{par} in typesetting ayahs of the holy Quran. \label{starred}
+With \xmgpar{nopar} option, starred macros act as if this option was not loaded.
+
+\medskip
+
+All surahs of the holy Quran are divided by ayahs which have their own indexes.
+By default, these numbers are typeset with text of each ayah. The \xmgpar{nonumber} option
+causes none of these numbers will be printed with ayahs.
+
+\begin{declcs}{ToggleAyahNumber}
+\end{declcs}
+This macro change the default behaviour of the package in typesetting of the index of ayahs whereever it called.
+It means that the macro can enable/disable the ayahs' index in output text.
\centerline{\mxf{ToggleAyahNumber\textbackslash{}quransurah*[89]}
{\ToggleAyahNumber\quransurah*[89]}}
+
+\medskip
-By default, the package typesets the text of The Holy Quran in simple script, but if you prefer the Uthmani script you can use \texttt{uthmani} \marginpar{uthmani}
-option. Compare the following texts to figure out the differences between ``default'' and ``uthmani'' script.
- \centerline{\hbox{
- \mx{quransurah*[1] (default)}{\includegraphics{defaulttext.pdf}}
- \hfill
- \mx{quransurah*[1] (uthmani)}{\includegraphics{uthmanitext.pdf}}
- }}
+The package, by default, typesets the text of the holy Quran in simple script,
+but \xmgpar{uthmani} changes the default to Uthmani script.
+Compare the following texts to figure out the differences between ``default'' and ``uthmani'' scripts.
-By version 1.3, the package can typeset the transliteration of The Holy Quran.
-This option will be useful for whom doesn't really know how to read the arabic text. By loading \texttt{translt}
-option all macros that defined in section~\ref{sec:qurantypesetting} will have an ``\texttt{lt}" version. In other words,
-this option will add the following macros:
-\marginpar{translt}
+ \centerline{\mxf{quransurah*[1] (default)}{\quransurah*[1]}}
+ \makeatletter\let\qt@newcmd\renewcommand
+ \input{qurantext-uthmani.def}%
+ \makeatother
+ \centerline{\mxf{quransurah*[1] (uthmani)}{\quransurah*[1]}}
+ \makeatletter\let\qt@newcmd\renewcommand
+ \input{qurantext-simple.def}%
+ \makeatother
-\begin{itemize}
+\medskip
+
+Version 1.6 comes wtih the \xmgpar{wordwise} option
+which makes the package capable of outputing any chunks of an ayah.
+See section~\ref{chunk} for more details.
+
+ \centerline{\mx{quranayah[9][111][1-23]}{\quranayah[9][111][1-23]}}
+
+
+\medskip
+
+By version 1.3, the package can typeset the transliteration of the holy Quran.
+This option will be useful for whom doesn't really know how to read the arabic text. By loading \xmgpar{translt}
+option all macros defined in section~\ref{sec:qurantypesetting} will have an ``\texttt{lt}" version. In other words,
+the following macros are added by this option:
+\begin{multicols}{3}
+\begin{itemize}
\item \cs{quransurahlt}
\item \cs{quranayahlt}
\item \cs{quranpagelt}
@@ -429,22 +559,22 @@
\item \cs{quranmanzillt}
\item \cs{qurantextlt}
\end{itemize}
+\end{multicols}
\centerline{\mx{quransurahlt[108]}{\setLTR\quransurahlt[108]}
\hfill
\mx{quransurah[108]}{\quransurah[108]}}
+\medskip
+
+By version 1.4, the package can typeset some translations of the holy Quran in other languages.
+These options were added because of some requests from users who had required the translation of the holy Quran in their languages.
+Loading \xmgpar{transde}, \xmgpar{transen}, or \xmgpar{transfa} brings some other macros for typesetting the translation in
+German, English, and Persian, respectively.
-
-By version 1.4, the package can typeset some translations of The Holy Quran in German, English, and Persian.
-\marginpar{transde}\marginpar{transen}\marginpar{transfa}%
-These options added because of some requests from users who need the translation of The Holy Quran in their languages.
-By loading \texttt{transde}, \texttt{transen}, and \texttt{transfa} the package can typeset the translation in
- German, English, and Persian, respectively.
-
-By loading each of these options, all macros that defined in section~\ref{sec:qurantypesetting} will have
+By loading each of these options, all macros defined in section~\ref{sec:qurantypesetting} will have
a ``\texttt{de}"/``\texttt{en}"/``\texttt{fa}" version. In other words,
-these will add the following macros:
+these options will add the following macros:
\begin{multicols}{3}
@@ -488,12 +618,13 @@
\end{itemize}
\end{multicols}
- All translations are from \url{tanzil.net}. For Germen, English, and Persian languages the ``Abu Rida Muhammad ibn Ahmad ibn Rassoul", ``Ahmed Ali", ``Mohammad Mahdi Fooladvand" is choosen respectively, by suggestion of the package's users.
+ All translations are from \url{tanzil.net}. For Germen, English, and Persian languages the ``Abu Rida Muhammad ibn Ahmad ibn Rassoul", ``Ahmed Ali", ``Mohammad Mahdi Fooladvand" have been chosen respectively, by suggestion of the package's users.
- Another option is defined that simplifies the usage of mutiple translations simultaneously. The \texttt{trans} option can get
- any permutation of ``\texttt{lt}", ``\texttt{de}", ``\texttt{en}", and ``\texttt{fa}". e.g. this document loaded the \texttt{quran}
- package with ``\texttt{trans=\{lt, de, en, fa\}}" option.
- \marginpar{trans}
+\medskip
+
+ The \xmgpar{trans} option has been prepared to simplify the usage of mutiple translations simultaneously. This option accepts
+ any permutation of ``\texttt{lt}", ``\texttt{de}", ``\texttt{en}", and ``\texttt{fa}", e.g. this document is loaded
+ with ``\xmgpar{trans=\{lt, de, en, fa\}}" option with some others.
\centerline{\mx{quransurahfa[108]}{\quransurahfa[108]}
\hfill
@@ -502,29 +633,25 @@
\hfill
\mx{quransurahde[108]}{\setLTR\small\quransurahde[108]}}
-
-\section{Acknowledgment}
-At first, I should appreciate Vafa Khaligi by preparing such adorable packages --\xpackage{bidi} and
-\xpackage{xepersian} for typesetting right-to-left text.
-Secondly, the costly website, \hbox{\url{http://tanzil.net/}}, for providing the text of The Holy Quran developed by Hamid Zarrabi-Zadeh. And finally, people in Parsi\LaTeX\footnote{\url{http://parsilatex.com/}}
-group who tested and commented this work in advance.
-
\section{Frequently Asked Questions}
\subsection{What is the best font for typesetting quran text?}
- We strongly recommend you to use "Scheherazade"%
+ ``Scheherazade"%
\footnote{\url{http://software.sil.org/scheherazade/}}
- or "Amiri"%
- \footnote{\url{http://www.amirifont.org/}} fonts.
-
- Scheherazade is released under the SIL Open Font License (OFL), version 1.1. Copyright (c) 2004-2015,
+ or ``Amiri"%
+ \footnote{\url{http://www.amirifont.org/}} fonts
+ are strongly recommend.
+ \begin{quote}
+ \emph{Scheherazade} is released under the SIL Open Font License (OFL), version 1.1. Copyright (c) 2004-2015,
SIL International (http://scripts.sil.org/) with Reserved Font Names "Scheherazade" and "SIL". Therefore
you can freely download it.
All examples in this document use this font.
-
- Amiri is a classical Arabic typeface in Naskh style for typesetting books and other running text.
+ \end{quote}
+ \begin{quote}
+ \emph{Amiri} is a classical Arabic typeface in Naskh style for typesetting books and other running text.
Amiri is a revival of the beautiful typeface pioneered in early 20$^{th}$ century by Bulaq Press in Cairo,
also known as Amiria Press, after which the font is named.
Amiri is a free, open source project that everyone is encouraged to use and modify.
+ \end{quote}
\subsection{How to use \xpackage{quran} package?}
As you've noticed, for typesetting quran text you need a package that can typeset text
@@ -537,6 +664,8 @@
ways work with \XeLaTeX. The \xpackage{arabxetex} and \xpackage{arabluatex} use Amiri font by default.
The following demonstrates some examples for all four approaches:
+\begin{quote}
+
\begin{lstlisting}[style=BashInputStyle, title=``example: with polyglossia{,}
fontspec{,} and bidi"]
\documentclass{article}
@@ -607,39 +736,349 @@
\end{document}
\end{lstlisting}
+
+\end{quote}
- \subsection{How to set quran default font?}
- If you want to automatically change the font of quran text in your document, you
- can put your willing font in precede of \cs{qurantext} like below:
-
- In case you are using \xpackage{xepersian}, put the following commands in the preamble:
+ \subsection{How to set a default font for text of quran?}
+ If you want to automatically change the font of quran text in your document,
+ precede the \cs{qurantext} with your willing font like below:
+ \begin{quote}
+
+ With \xpackage{fontspec}, put the commands below in the preamble:
\begin{lstlisting}[style=BashInputStyle]
-\defpersianfont\quran{Scheherazade}
+\newfontfamily\quran{Scheherazade}
\makeatletter
\bidi@preto\qurantext{\quran}
\makeatother
\end{lstlisting}
- In case you are using \xpackage{fontspec}, put the commands below in the preamble:
+ With \xpackage{xepersian}, put the following commands in the preamble:
+
\begin{lstlisting}[style=BashInputStyle]
-\usepackage{etoolbox}
-\newfontfamily\quran{Scheherazade}
-\preto\qurantext{\quran}
+\defpersianfont\quran{Scheherazade}
+\makeatletter
+\bidi@preto\qurantext{\quran}
+\makeatother
\end{lstlisting}
- By setting default font as above, if you want to use \cs{quratext}, you have to enclose it in curly braces. If you don't,
+
+\end{quote}
+
+ By setting default font the way mentioned above, if you want to use \cs{qurantext}, you have to enclose it in curly braces. If you don't,
it will affect the font of the following texts.
+\begin{quote}
\begin{lstlisting}[style=BashInputStyle]
{\qurantext[x-y]}
-\end{lstlisting}
- \subsection{How to typeset a portion of the Holy Quran in one paragraph
- with no ayah number without affecting the behaviour of \xpackage{quran} package
- in other cases?}
+\end{lstlisting}
+\end{quote}
- Just put the code that was describled on page~\pageref{starred} in a group like:
+ \subsection{How to typeset a portion of the holy Quran in one paragraph
+ with no ayah number without using \xoption{nopar} option?}
+
+ Just put the code that was describled on page~\pageref{starred} in a group like below:
+\begin{quote}
\begin{lstlisting}[style=BashInputStyle]
{\ToggleAyahNumber\quransurah*}
-\end{lstlisting}
+\end{lstlisting}
+\end{quote}
+
+\setsurahdefault{112}
+\mxf{quransurah* «\{\textbackslash{}ToggleAyahNumber\textbackslash{}quransurah*\}» \textbackslash{}quransurah*}
+{\quransurah* »{\ToggleAyahNumber\quransurah*}« \quransurah*}
+
+ \subsection{Why do I get the ``\tt{! TeX capacity exceeded}'' error?}
+
+ Invention of \TeX{} dates back to many years ago. Although we have great hardware nowadays,
+ \TeX{} engine has been designed so that to use a very small amount of computer hardware
+ due to the limitation of the computer at the time of its invention.
+ The \xpackage{quran} makes a plenty of macros which deplete the \TeX's memory and therefore, sometimes lead to compile error.
+ To solve this issue, you can expand \TeX's memory; see the section ``Memory Limitations'' in the \xpackage{pgfplots} manual.
+ However, that does not mean that expanding TeX's memory is the best solution.
+ Instead, I would recommend redesigning your document. For exmaple, if you use \xoption{wordwise}, most of starred
+ version of macros which output a large portion of quran text will cause ``\tt{! TeX capacity exceeded}''.
+ In this case, make a similar output with using some smaller chunks. For instance, you want to typseset 10 first juzzes with
+ \cs{quranjuz*[1-10]} command and you may get
+ \begin{quote}
+ \tt{! TeX capacity exceeded, sorry [main memory size=5000000]} \\or \\
+ \tt{! TeX capacity exceeded, sorry [parameter stack size=10000]}
+ \end{quote} errors. It would be better to typeset ecah juz
+ separately, or even each page of this range -- \cs{quranjuz*[1]} \cs{quranjuz*[2]} $\cdots$ \cs{quranjuz*[10]} or
+ \cs{quranpage*[1]} \cs{quranpage*[2]} $\cdots$ \cs{quranpage*[201]}.
+
+\makeatletter
+\bidi@patchcmd{\History}{\raggedright}{}{}{}
+\makeatother
+
+\begin{History}
+
+ \begin{Version}{2015/06/01 v0.1}
+ \item Initial release in Parsi\LaTeX\ group under the name of \xpackage{qurantext}.
+ \item \cs{qurantext} added.
+ \end{Version}
+
+ \begin{Version}{2015/06/02 v0.2}
+ \item Redefinition of \cs{do@qt} in a nonrecursive style. The old recursive version sometimes led to \TeX\ stack overflow.
+ Thanks to \emph{Masoud Yazdani} for suggesting a solution to this issue.
+ \end{Version}
+
+ \begin{Version}{2015/06/02 v0.3}
+ \item Ayah's number has been added to the end of each verse of the output.
+ Thanks to \emph{Mahmood AminToosi} for suggesting this feature.
+ \end{Version}
+
+ \begin{Version}{2015/06/04 v0.4} %relactant about date
+ \item \cs{surahname} added. It outputs the arabic/anglicized title of a surah based on text direction.
+ \item The package renamed to \xpackage{quran}.
+ \end{Version}
+
+ \begin{Version}{2015/06/24 v0.5}
+ \item Package renamed from \xpackage{qurantext} to \xpackage{quran}
+ \item \cs{quranayah} added. It outputs a \meta{range} of ayahs from a surah.
+ \item \cs{quransurah} added. It outputs a \meta{range} of surahs.
+ Thanks to \emph{Mahmood AminToosi} for suggesting this new feature.
+ \end{Version}
+
+ \begin{Version}{2015/06/28 v0.6}
+ \item \cs{quranjuz} added outputing a juz's range of the holy Quran.
+ \end{Version}
+
+ \begin{Version}{2015/06/30 v0.7}
+ \item \cs{quranpage} added outputing one or more pages of the holy Quran,
+ \end{Version}
+
+ \begin{Version}{2015/07/02 v0.71}
+ \item A \cs{par} was appended to the basmalah. Thanks to \emph{Mahmood AminToosi} for suggesting this feature.
+ \end{Version}
+
+ \begin{Version}{2015/07/02 v0.72}
+ \item \cs{basmalah} added which typesets basmalah -- \hboxR{\Basmalah}.
+ \end{Version}
+
+ \begin{Version}{2015/07/04 v0.8}
+ \item \cs{quranquarter} and \cs{quranruku} added.
+ \end{Version}
+
+ \begin{Version}{2015/07/07 v0.9}
+ \item \cs{quranhizb} and \cs{quranmanzil} added.
+ \item The package was uploaded to CTAN.
+ \end{Version}
+
+ \begin{Version}{2015/07/10 v0.91}
+ \item ``Al-Ikhlas'' was set as default option for \cs{quransurah}.
+ \end{Version}
+
+ \begin{Version}{2015/07/11 v0.94}
+ \item \cs{ChangeAyahNumber} and\cs{ChangeBasmalah} added.
+ These macros change the way ayah's number and basmalah will appear.
+ \item A minor bug in extra white spaces around one ayah is solved now. Thanks \emph{Masoud Yazdani} for reporting this issue.
+ \end{Version}
+
+ \begin{Version}{2015/07/11 v0.941}
+ \item Reducing the size of quran text file by moving \cs{qt@par} from the file to \cs{qurantext}.
+ \end{Version}
+
+ \begin{Version}{2016/02/05 v1.0}
+ \item Support for using anglicized title of surah instead its index in \cs{quransurah} and \cs{quranayah}.
+ \end{Version}
+
+
+ \begin{Version}{2016/02/09 v1.05}
+ \item \cs{ChangeBasmalah} and \cs{ChangeAyahNumber} renamed to \cs{ToggleBasmalah} and \cs{ToggleAyahNumber} respectively.
+ \item A minor bug in \cs{quransurah*} fixed -- unwanted extra spaces in the output. Thanks \emph{Hosein Behboody} for reporting this issue.
+ \end{Version}
+
+ \begin{Version}{2016/04/21 v1.1}
+ \item \cs{indexconvert} macro converts a number between 1 to 6236 to its exact surah and ayah number in
+ the whole text of Quran.
+ \end{Version}
+
+ \begin{Version}{2016/05/15 v1.14}
+ \item Documentation updates.
+ \end{Version}
+
+ \begin{Version}{2016/10/05 v1.2}
+ \item Supports Uthmani script via \xoption{uthmani} option. This option asked by one of the package's user.
+ \end{Version}
+
+ \begin{Version}{2016/11/07 v1.21}
+ \item Some minor bugs in uploading to CTAN
+ \end{Version}
+
+ \begin{Version}{2016/11/08 v1.22}
+ \item Sources of two pdf files used in the documentation appended to the bundle.
+ \end{Version}
+
+ \begin{Version}{2016/11/12 v1.24}
+ \item Documentation updates.
+ \item Pause marks (waqf symbols) were missed from the penultimate version of uthmani script.
+ \end{Version}
+
+ \begin{Version}{2016/11/15 v1.241}
+ \item Documentation updates.
+ \end{Version}
+
+ \begin{Version}{2016/12/25 v1.25}
+ \item Documentation updates.
+ \end{Version}
+ \begin{Version}{2016/12/25 v1.251}
+ \item Documentation updates.
+ \end{Version}
+
+ \begin{Version}{2017/02/28 v1.252}
+ \item Minor improvements.
+ \end{Version}
+
+ \begin{Version}{2017/08/22 v1.26}
+ \item Minor improvements
+ \item Bug in \cs{quranayah[x][y]}; fixed by enclosing in a group. Thanks to \emph{Sayyed Saieed Mosavi Nadooshani} for reporting this issue.
+ \item Documentation updates.
+ \end{Version}
+
+ \begin{Version}{2016/08/22 v1.261}
+ \item Documentation updates--a typo in version number.
+ \end{Version}
+
+ \begin{Version}{2017/10/22 v1.3}
+ \item Transliteration supported., now all macros have an ``lt" version for typesetting transliteration of the original macros.
+ Thanks to \emph{Hamidreza Ahmadian} for suggesting this new feature.
+ \end{Version}
+
+ \begin{Version}{2017/10/28 v1.4}
+ \item Persian, English, and Deutsch translations added and ``fa", ``en", and ``de" version of macros defined for them.
+ Three new options, the `transfa`, `transen`, `transde` are defined.
+ \item There is also a new option, `\xoption{trans}' which can get the
+ `lt', `en', `de', and `fa' as its value seperated by comma.
+ \end{Version}
+
+ \begin{Version}{2017/12/22 v1.41}
+ \item in previous versions, \cs{quransurah} and \cs{quranayah} macros were case-sensitive in case of using surah names,
+ but by this version both macros are case-insensitive, i.e. there in no diffirences between Al-Fatihda, al-fatiha, al-Fatiha,
+ and the other possible combinations of lower-uppercase letters.
+ \end{Version}
+
+ \begin{Version}{2017/12/22 v1.42}
+ \item \cs{quransurahX} and \cs{quranayahX} macros also act case-insensitive with anglicized title of surahs.
+ X stands for `en', `de', `fa', or `lt'.
+ \end{Version}
+
+ \begin{Version}{2017/12/22 v1.42a}
+ \item Documentation update--a typo fixed.
+ \item Some files were missed in the last update to CTAN.
+ \end{Version}
+
+ \begin{Version}{2018/11/29 v1.42b}
+ \item A typo in quran-transde.def.
+ \end{Version}
+
+ \begin{Version}{2018/12/01}
+ \item \xpackage{quran-de} package is released adding 3 more translations of the German language.
+ \end{Version}
+
+ \begin{Version}{2018/12/31 v1.5}
+ \item Minor bugs in \cs{ToggleBasmalah} and \cs{quransurah}.
+ \end{Version}
+
+ \begin{Version}{2019/05/03}
+ \item \xpackage{quran-ur} package is released adding 8 translations of the Urdu language.
+ \end{Version}
+
+ \begin{Version}{2019/05/04 v1.51}
+ \item A typo in quran-transde.def.
+ \end{Version}
+
+ \begin{Version}{2020/03/07 v1.6}
+ \item support for getting any chunks of an ayah with two extra optional arguments for \cs{qurantext} and \cs{quranayah}.
+ This feature has been suggested and supported financially by \emph{Atiyah Elsheikh}.
+ May God bless him.
+ \item \cs{Basmalah} outputs basmalah without any surrounding whitespaces.
+ \item Documentation revision.
+ \end{Version}
+
+ \begin{Version}{2020/03/09 v1.61}
+ \item Applying current font in footnote by \cs{qt@doqt} when \cs{quranayah}/\cs{qurantext} is called by its ``\tt{+}'' optional argument. In the last version it used Amiri font.
+ \end{Version}
+
+ \begin{Version}{2020/03/12 v1.62}
+ \item License update to LPPL Version 1.3c from LPPL Version 1.3
+ \end{Version}
+
+ \begin{Version}{2020/03/14 v1.63}
+ \item Pause marks (waqf symbols) have been removed from \cs{quranayah} and \cs{qurantext}
+ whenever \oarg{chunk range} optional parameter is used.
+ \end{Version}
+
+ \def\cb{{\tiny$\bullet$\space}}
+ \def\mrule{\leaders\vrule height 2.5pt depth -1.5pt \hfill}
+ \begin{small}
+ \begin{longtable}{|c|l|p{9cm}|}
+ \toprule
+ Date & Ver. & \multicolumn{1}{c|}{Feature} \\
+ \midrule
+ \endhead
+ \bottomrule
+ \multicolumn{3}{r}{\scriptsize continued on next page}\\
+ \endfoot
+ \multicolumn{3}{c}{}\\
+ \caption{Brief History of the \xpackage{quran} Development}
+ \endlastfoot
+ 2015/06/01 & 0.1 & \cb Initial release in Parsi\LaTeX, named \xpackage{qurantext} \par
+ \cb \cs{qurantext} \\
+ 2015/06/02 & 0.2 & \cb Implementation of \cs{do@qt} in a nonrecursive style \\
+ 2015/06/02 & 0.3 & \cb Provision of ayah's number.\\
+ 2015/06/04 & 0.4 & \cb \cs{surahname} outputing the arabic/anglicized title of a surah\par
+ \cb package renamed to \xpackage{quran}\\
+ 2015/06/24 & 0.5 & \cb \cs{quranayah} and \cs{quransurah} \\
+ 2015/06/28 & 0.6 & \cb \cs{quranjuz} \\
+ 2015/06/30 & 0.7 & \cb \cs{quranpage} \\
+ 2015/07/02 & 0.71 & \cb Basmalah was followed by \cs{par}\\
+ 2015/07/02 & 0.72 & \cb \cs{basmalah} -- \hboxR{\Basmalah} \\
+ 2015/07/04 & 0.8 & \cb \cs{quranquarter} and \cs{quranruku} \\
+ 2015/07/07 & 0.9 & \cb \cs{quranhizb} and \cs{quranmanzil}\par
+ \cb The package was uploaded to CTAN. \\
+ 2015/07/10 & 0.91 & \cb ``Al-Ikhlas'' as a default parameter for \cs{quransurah} \\
+ 2015/07/11 & 0.94 & \cb \cs{ChangeAyahNumber} and\cs{ChangeBasmalah} \par Resolving a minor bug \\
+ 2015/07/11 & 0.941 & \cb Improvement in \cs{qurantext} \\
+ 2016/02/05 & 1.0 & \cb \cs{quransurah} and \cs{quranayah} support anglicized title of surahs \\
+ 2016/02/09 & 1.05 & \cb \cs{ChangeBasmalah} and \cs{ChangeAyahNumber} renamed to
+ \cs{ToggleBasmalah} and \cs{ToggleAyahNumber}\par
+ \cb A minor bug in \cs{quransurah*} fixed\\
+ 2016/04/21 & 1.1 & \cb \cs{indexconvert} \\
+ 2016/05/15 & 1.14 & \cb Documentation updates \\
+ 2016/10/05 & 1.2 & \cb \xoption{uthmani} option supporting Uthmani script \\
+ 2016/11/07 & 1.21 & \cb Some minor bugs \\
+ 2016/11/08 & 1.22 & \cb Documentation updates \\
+ 2016/11/12 & 1.24 & \cb Documentation updates\par
+ \cb Pause marks (waqf symbols) were missed from uthmani script\\
+ 2016/11/15 & 1.241 & \cb Documentation updates \\
+ 2016/12/25 & 1.25 & \cb Documentation updates \\
+ 2016/12/25 & 1.251 & \cb Documentation updates \\
+ 2017/02/28 & 1.252 & \cb Minor improvements \\
+ 2017/08/22 & 1.26 & \cb Minor improvements\par
+ \cb Bug fix in \cs{quranayah[x][y]}\par
+ \cb Documentation updates \\
+ 2016/08/22 & 1.261 & \cb Documentation updates \\
+ 2017/10/22 & 1.3 & \cb Transliteration supported via \xoption{translt} option \\
+ 2017/10/28 & 1.4 & \cb Persian, English, and Deutsch translations via \xoption{transfa}, \xoption{transen}, and \xoption{transde} options\par
+ \cb \xoption{trans} option with `lt', `en', `de', and `fa' values \\
+ 2017/12/22 & 1.41 & \cb case-insensitive \cs{quransurah} and \cs{quranayah} \\
+ 2017/12/22 & 1.42 & \cb case-insensitive \cs{quransurahX} and \cs{quranayahX} \par\tt{X} $\in$ \{`en', `de', `fa', `lt'\} \\
+ 2017/12/22 & 1.42a & \cb Documentation updates \\
+ 2018/11/29 & 1.42b & \cb A typo in \tt{quran-transde.def}\\
+ 2018/12/01 & \multicolumn{2}{c|}{ \null \mrule {\space}First release of the \xpackage{quran-de} package \mrule \space\null}\\
+ 2018/12/31 & 1.5 & \cb Bug fix in \cs{ToggleBasmalah} and \cs{quransurah} \\
+ 2019/05/03 & \multicolumn{2}{c|}{ \null \mrule {\space}First release of the \xpackage{quran-ur} package \mrule \space\null}\\
+ 2019/05/04 & 1.51 & \cb A typo in \tt{quran-transde.def}\\
+ 2020/03/07 & 1.6 & \cb \cs{qurantext} and \cs{quranayah} support any chunks of an ayah\par
+ \cb \cs{Basmalah} \hfil \cb Documentation revision\\
+ 2020/03/09 & 1.61 & \cb Minor update in \cs{quranayah} and \cs{qurantext} \\
+ 2020/03/12 & 1.62 & \cb License update to LPPL Version 1.3c \\
+ 2020/03/14 & 1.63 & \cb Removing pause marks with \meta{chunk range} optional parameter\\
+ \bottomrule
+ \end{longtable}
+ \end{small}
+
+\end{History}
+
\end{document}
Binary files old/doc/xelatex/quran/quran-test.pdf and new/doc/xelatex/quran/quran-test.pdf differ
Binary files old/doc/xelatex/quran/quran-test1.pdf and new/doc/xelatex/quran/quran-test1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/quran/quran-test1.tex new/doc/xelatex/quran/quran-test1.tex
--- old/doc/xelatex/quran/quran-test1.tex 2016-11-07 23:15:41.000000000 +0100
+++ new/doc/xelatex/quran/quran-test1.tex 2020-03-08 22:48:34.000000000 +0100
@@ -1,6 +1,6 @@
\documentclass[12pt]{article}
-\usepackage[uthmani]{quran}
+\usepackage[uthmani, wordwise]{quran}
%%% for typesetting arabic text
\usepackage{polyglossia}
\setotherlanguage{arabic}
@@ -12,7 +12,6 @@
\begin{document}
\setRTL
-\textarabic{\quranayah[2][10-20]}
-
-\textarabic{\quranayah*[2][10-20]}
+\textarabic{\quranayah[2][10-20][1-99]}
+\textarabic{\textbf{\quranayah*[2][10-20][100]}}
\end{document}
Binary files old/doc/xelatex/quran/quran-test2.pdf and new/doc/xelatex/quran/quran-test2.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/quran/quran-test2.tex new/doc/xelatex/quran/quran-test2.tex
--- old/doc/xelatex/quran/quran-test2.tex 2017-10-29 22:22:48.000000000 +0100
+++ new/doc/xelatex/quran/quran-test2.tex 2020-03-08 22:48:34.000000000 +0100
@@ -2,7 +2,7 @@
\documentclass{article}
\usepackage{forloop}
-\usepackage{quran}
+\usepackage[trans={lt,de,en,fa}]{quran}
%The xepersian package automatically load bidi, and I've loaded it because I want to set a font that supports Arabic letters
\usepackage{xepersian}
@@ -10,7 +10,7 @@
\settextfont[Scale=1.1]{Scheherazade}
\def\surna[#1]{\centerline{\hss\surahname*[#1]\hss\surahname[#1]\hss}}
-\def\test#1{
+\def\test#1{%
\par
\surna[#1]
\quransurah*[#1]
@@ -18,7 +18,15 @@
}
\begin{document}
+\quransurah*[1]
+\quranayah*[2][286][5-24]
+
+\quranayah*[1][1-7][3-4]
+
+\qurantext*[1-2][6]+
+
+\qurantext*[1-2][6-8]
% For typesetting بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ use below macro
%\centerline{\basmalah}
@@ -37,8 +45,8 @@
\quranayah*[76][1-22]
%%You can typeset whole of Holy Quran with below commands.
-%%\newcounter{ct}
-%%\forloop{ct}{1}{\value{ct} < 115} {\test{\value{ct}}}
+\newcounter{ct}
+\forloop{ct}{110}{\value{ct} < 115} {\test{\the\value{ct}}}
%%You can typeset whole of Holy Quran with below commands.
%%\newcounter{jz}
@@ -55,7 +63,7 @@
\hfill صفحة \arabic{pg} \par
\quranpage*[\value{pg}]\vfill}
-%\quranhizb*[117-120]
+%\quranhizb*[57-60]
%\quranquarter*[1-4]
%\quranquarter*[239-240]
Binary files old/doc/xelatex/quran/uthmanitext.pdf and new/doc/xelatex/quran/uthmanitext.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/quran/uthmanitext.tex new/doc/xelatex/quran/uthmanitext.tex
--- old/doc/xelatex/quran/uthmanitext.tex 2016-11-08 23:35:30.000000000 +0100
+++ new/doc/xelatex/quran/uthmanitext.tex 1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-\documentclass{standalone}
-
-\usepackage[uthmani]{quran}
-\usepackage{xepersian}
-\settextfont{Scheherazade}
-
-\begin{document}
-
-\begin{minipage}{.45\textwidth}
-{\quransurah*[1]}
-\end{minipage}
-
-\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/quran.doc.tlpobj new/tlpkg/tlpobj/quran.doc.tlpobj
--- old/tlpkg/tlpobj/quran.doc.tlpobj 2019-02-28 04:03:58.000000000 +0100
+++ new/tlpkg/tlpobj/quran.doc.tlpobj 2020-03-16 02:21:38.000000000 +0100
@@ -1,12 +1,10 @@
name quran.doc
category Package
-revision 49563
+revision 54333
shortdesc doc files of quran
relocated 1
-docfiles size=123
+docfiles size=138
RELOC/doc/xelatex/quran/README
- RELOC/doc/xelatex/quran/defaulttext.pdf
- RELOC/doc/xelatex/quran/defaulttext.tex
RELOC/doc/xelatex/quran/quran-doc.pdf
RELOC/doc/xelatex/quran/quran-doc.tex
RELOC/doc/xelatex/quran/quran-test.pdf
@@ -16,5 +14,3 @@
RELOC/doc/xelatex/quran/quran-test2.pdf
RELOC/doc/xelatex/quran/quran-test2.tex
RELOC/doc/xelatex/quran/quran.png
- RELOC/doc/xelatex/quran/uthmanitext.pdf
- RELOC/doc/xelatex/quran/uthmanitext.tex
++++++ quran.tar.xz ++++++
++++ 114066 lines of diff (skipped)
++++++ ran_toks.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/ran_toks/README.md new/doc/latex/ran_toks/README.md
--- old/doc/latex/ran_toks/README.md 2017-05-19 23:06:02.000000000 +0200
+++ new/doc/latex/ran_toks/README.md 2019-12-30 23:17:36.000000000 +0100
@@ -1,6 +1,6 @@
The ran_toks Package
Author: D. P. Story
-Dated: 2017/05/04
+Dated: 2019-12-28
This short package, with minimal requirements, defines macros for
randomizing a list of tokens. There are two approaches:
@@ -40,6 +40,9 @@
For users of AeB or eqexam, the latter structure can be used to randomize
the order of the questions on a quiz or exam.
+What's New (2019-12-28 ) Defined \rtVWHook to insert at the top of the
+rtVW environment. Also created an alternate package name of ran-toks.
+
What's new in v1.1: Added the convenience command \useTheseDBs to input files for
an application to constructing exams (using eqexam) from a series of DB files. Refer to the
new demo file mc-db.tex.
Binary files old/doc/latex/ran_toks/doc/rantoks_man.pdf and new/doc/latex/ran_toks/doc/rantoks_man.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/ran_toks/doc/rantoks_man.tex new/doc/latex/ran_toks/doc/rantoks_man.tex
--- old/doc/latex/ran_toks/doc/rantoks_man.tex 2017-05-19 23:06:02.000000000 +0200
+++ new/doc/latex/ran_toks/doc/rantoks_man.tex 1970-01-01 01:00:00.000000000 +0100
@@ -1,683 +0,0 @@
-\documentclass{article}
-\usepackage[fleqn]{amsmath}
-\usepackage[
- web={centertitlepage,designv,forcolorpaper,
- latextoc,pro}, %tight,
- eforms,aebxmp
-]{aeb_pro}
-\usepackage{ran_toks}
-
-\useThisSeed{1441984427}
-%\useLastAsSeed
-%\useThisSeed{2001383846}
-
-%2001383846 % initializing seed value
-%1629639958 % last random number used
-
-\let\pkg\textsf
-\let\env\texttt
-
-%\rtdebugtrue
-%\ranToksOn
-%\ranToksOff
-
-
-%\usepackage{myriadpro}
-\usepackage[altbullet]{lucidbry}
-
-%\usepackage{makeidx}
-%\makeindex
-\usepackage{acroman}
-
-\makeatletter
-\def\eq@fititin#1{\noindent\unskip\nobreak\hfill\penalty50
- \hskip2em\hbox{}\nobreak\hfill#1}
-\def\fitit{\eq@fititin{\exrtnlabelformat}}
-\@mparswitchfalse\reversemarginpar
-\renewcommand{\paragraph}
- {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt}
- {\normalfont\normalsize\bfseries}}
-\renewcommand{\subparagraph}
- {\@startsection{subparagraph}{5}{\parindent}{6pt}{-3pt}%
- {\normalfont\normalsize\bfseries}}
-\makeatother
-
-\def\anglemeta#1{$\langle\textit{\texttt{#1}}\rangle$}
-\let\ameta\anglemeta
-\def\meta#1{\textit{\texttt{#1}}}
-\def\darg#1{\texttt{\{#1\}}}
-\def\takeMeasure{\bgroup\obeyspaces\takeMeasurei}
-\def\takeMeasurei#1{\global\setbox\webtempboxi\hbox{\ttfamily#1}\egroup}
-\def\bxSize{\wd\webtempboxi+2\fboxsep+2\fboxrule}
-
-\usepackage[active]{srcltx}
-
-\let\amtIndent\leftmargini
-\def\SUB#1{${}_{\text{#1}}$}
-
-\newdimen\aebdimen \aebdimen\topsep
-\newcommand\bVerb[1][]{\begingroup#1\vskip\aebdimen\parindent0pt}%
-\def\eVerb{\vskip\aebdimen\endgroup\noindent}
-
-
-\urlstyle{rm}
-
-\DeclareDocInfo
-{
- university={\AcroTeX.Net},
- title={\texorpdfstring{The \textsf{ran\_toks}}{The manual for the ran\_toks}
- Package\texorpdfstring{\\[6pt]\large}{: }
- Randomizing the order of tokens},
- author={D. P. Story},
- email={dpstory@acrotex.net},
- subject=Documentation for the ran\_toks package,
- talksite={\url{www.acrotex.net}},
- version={1.1},
- Keywords={LaTeX,PDF,random, tokens, JavaScript,Adobe Acrobat},
- copyrightStatus=True,
- copyrightNotice={Copyright (C) \the\year, D. P. Story},
- copyrightInfoURL={http://www.acrotex.net}
-}
-\DeclareInitView{windowoptions={showtitle}}
-
-
-\def\dps{$\hbox{$\mathfrak D$\kern-.3em\hbox{$\mathfrak P$}%
- \kern-.6em \hbox{$\mathcal S$}}$}
-
-\universityLayout{fontsize=Large}
-\titleLayout{fontsize=LARGE}
-\authorLayout{fontsize=Large}
-\tocLayout{fontsize=Large,color=aeb}
-\sectionLayout{indent=-62.5pt,fontsize=large,color=aeb}
-\subsectionLayout{indent=-31.25pt,color=aeb}
-\subsubsectionLayout{indent=0pt,color=aeb}
-\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}}
-
-\def\exSrc{\makebox[0pt][r]{\large{\Pisymbol{webd}{157}}\enspace}}
-
-%\pagestyle{empty}
-%\parindent0pt\parskip\medskipamount
-
-\chngDocObjectTo{\newDO}{doc}
-\begin{docassembly}
-var titleOfManual="The ran_toks Package";
-var manualfilename="Manual_BG_Print_rt.pdf";
-var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
-var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
-var doc;
-var buildIt=false;
-if ( buildIt ) {
- console.println("Creating new " + manualfilename + " file.");
- doc = \appopenDoc({cPath: _pathToBlank, bHidden: true});
- var _path=this.path;
- var pos=_path.lastIndexOf("/");
- _path=_path.substring(0,pos)+"/"+manualfilename;
- \docSaveAs\newDO ({ cPath: _path });
- doc.closeDoc();
- doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true});
- f=doc.getField("ManualTitle");
- f.value=titleOfManual;
- doc.flattenPages();
- \docSaveAs\newDO({ cPath: manualfilename });
- doc.closeDoc();
-} else {
- console.println("Using the current "+manualfilename+" file.");
-}
-var _path=this.path;
-var pos=_path.lastIndexOf("/");
-_path=_path.substring(0,pos)+"/"+manualfilename;
-\addWatermarkFromFile({
- bOnTop:false,
- bOnPrint:false,
- cDIPath:_path
-});
-\executeSave();
-\end{docassembly}
-
-%\definePath\bgPath{"C:/Users/Public/Documents/%
-% ManualBGs/Manual_BG_Print_AeB.pdf"}
-%\begin{docassembly}
-%\addWatermarkFromFile({%
-% bOnTop: false,
-% cDIPath: \bgPath
-%})
-%\executeSave()
-%\end{docassembly}
-
-\begin{document}
-
-\maketitle
-
-\selectColors{linkColor=black}
-\tableofcontents
-\selectColors{linkColor=webgreen}
-
-\section{Introduction}
-
-This is a short package for randomizing the order of tokens. The package
-is long overdue; users of \textbf{AeB} and of \textsf{eqexam} have long asked for a way to
-randomize the order of the problems in a test or quiz, or anything for
-that matter.
-
-\newtopic\noindent\exSrc The \texttt{examples} folder contains three demonstration files:
-\begin{enumerate}
- \item \texttt{ran\_toks.tex} reproduces the sample code of this manual.
- \item \texttt{random\_tst.tex} shows how to use \pkg{ran\_toks} to
- randomize the \emph{questions} of an exam document created by the
- \pkg{eqexam} package.
- \item \texttt{random\_tst\_qz.tex} shows how to randomize choices of a
- multiple choice field in a \env{quiz} environment of the
- \pkg{exerquiz} package, when the choices contain verbatim text.
- \item \texttt{mc-db.tex} is an \pkg{eqexam} file that draws from the
- database files \texttt{db1.tex}, \texttt{db2.tex},
- \texttt{db3.tex}, and \texttt{db4.tex}, to construct the questions
- of the exam. The questions are drawn at random from the DB files. Refer
- to \hyperref[s:DBConcept]{Section~\ref*{s:DBConcept}} for a few more details.
-
-\end{enumerate}
-
-\section{The Preamble and Package Options}
-
-The preamble for this package is
-\bVerb\takeMeasure{\string\usepackage\darg{ran\_toks}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single]
-\usepackage{ran_toks}
-\end{Verbatim}
-\end{minipage}\eVerb
-The package itself has no options.
-
-The requirements for \textsf{ran\_toks} are the \textsf{verbatim} package
-(part of the standard {\LaTeX} distribution, and the macro file
-\texttt{random.tex} by Donald Arseneau.
-
-
-\section{The main commands and environments}\label{rtmain}
-
-There are two styles for defining a series of tokens to be randomized,
-using either the \cs{ranToks} command or the \cs{bRTVToks}/\cs{eRTVToks}
-pair. Each of these is discussed in the next two subsections.
-
-\subsection{The \texorpdfstring{\protect\cs{ranToks}}{\CMD{ranToks}} command}
-
-The \cs{ranToks} command was the original concept; declare a series of
-tokens to be randomized.
-\bVerb\takeMeasure{\string\ranToks\darg{\meta{name}}\{\%\enspace}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\ranToks{!meta(name)}{%
- {!meta(token!SUB(1))}
- {!meta(token!SUB(2))}
- ...
- {!meta(token!SUB(n))}
-}
-\end{Verbatim}
-\end{minipage}\eVerb
-were \meta{token\SUB{k}} is any non-verbatim content;\footnote{Any token that
-can be in the argument of a command.} each token is enclosed in braces
-(\darg{}), this is required. The \meta{name} parameter is required, and
-must be unique for the document; it is used to build the names of internal
-macros. Of course several such \cs{ranToks} can be used in the document,
-either in the preamble or in the body of the document. Multiple
-\cs{ranToks} commands must have a different \meta{name} parameter.
-
-\emph{After} a \cs{ranToks} command has been executed, the number of tokens
-counted is accessible through the \cs{nToksFor} command,
-\bVerb\takeMeasure{\string\nToksFor\darg{\meta{name}}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\nToksFor{!meta(name)}
-\end{Verbatim}
-\end{minipage}\eVerb
-The one argument is \meta{name}, and will expand to the total number
-of tokens listing as argument in the \cs{ranToks} command by the same
-name.
-
-The \cs{ranToks} command does not display the randomized tokens, for that
-the command \cs{useRanTok} is used.
-\bVerb\takeMeasure{\string\useRTName\darg{\meta{name}}}%
-\begin{minipage}{\bxSize}
-\begin{Verbatim}[frame=single,commandchars=!()]
-\useRanTok{!meta(num)}
-\useRTName{!meta(name)}
-\end{Verbatim}
-\end{minipage}\eVerb
-The argument of \cs{useRanTok} is a positive integer between 1 and
-\cs{nToksFor\darg{\meta{name}}}, the number of tokens declared by
-\cs{ranToks}, inclusive. There is no space created following the
-\cs{useRanTok} command, so if these are to be used ``inline'', enclose them
-in braces (\darg{}), for example, \darg{\cs{useRanTok\darg{1}}}. The use of
-\cs{useRTName} is optional unless the listing of the \cs{useRanTok} commands
-is separated from the \cs{ranToks} command that defined them by another
-\cs{ranToks} command of a different name. That should be clear!
-
-Consider this example.
-
-\begin{Verbatim}[xleftmargin=\amtIndent]
-\ranToks{myPals}{%
- {Jim}{Richard}{Don}
- {Alex}{Tom}{J\"{u}rgen}
-}
-\end{Verbatim}
-\ranToks{myPals}{%
- {Jim}{Richard}{Don}
- {Alex}{Tom}{J\"{u}rgen}
-}
-I have {\nToksFor{myPals}} pals, they are \useRanTok{1}, \useRanTok{2},
-\useRanTok{3}, \useRanTok{4}, {\useRanTok{5}} and \useRanTok{6}. (Listed
-in the order of best friend to least best friend.)
-The verbatim listing is,
-\begin{Verbatim}[xleftmargin=\amtIndent]
-I have {\nToksFor{myPals}} pals, they are \useRanTok{1},
-\useRanTok{2}, \useRanTok{3}, \useRanTok{4}, {\useRanTok{5}}
-and \useRanTok{6}.
-\end{Verbatim}
-Notice that \cs{useRanToks} are not enclosed in braces for 1--4 because
-they are each followed by a comma; the fifth token, \texttt{\darg{\cs{useRanTok\darg{5}}}}, is
-enclosed in braces to generate a space following the insertion of the text.
-
-Repeating the sentence yields, ``I have {\nToksFor{myPals}} pals, they are
-\useRanTok{1}, \useRanTok{2}, \useRanTok{3}, \useRanTok{4},
-{\useRanTok{5}} and \useRanTok{6}'', which is the exact same random order. To
-obtain a different order, re-execute the \cs{ranToks} command with the same
-arguments.\footnote{{\ttfamily\string\ranToks\darg{myPals}\darg{\darg{Jim}\darg{Richard}\darg{Don}\darg{Alex}\darg{Tom}\darg{J\string\"\darg{u}rgen}}} in this example.} Doing just that, \ranToks{myPals}{{Jim}{Richard}{Don}
-{Alex}{Tom}{J\"{u}rgen}}we obtain, ``I have {\nToksFor{myPals}} pals, they
-are \useRanTok{1}, \useRanTok{2}, \useRanTok{3}, \useRanTok{4},
-{\useRanTok{5}} and \useRanTok{6}.'' A new order?
-An alternative to re-executing \cs{ranToks} is to use the \cs{reorderRanToks} command:
-\bVerb\takeMeasure{\string\reorderRanToks\darg{\meta{name}}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\reorderRanToks{!meta(name)}
-\end{Verbatim}
-\end{minipage}\eVerb Now, executing \verb~\reorderRanToks{myPals}~ and compiling the sentence again yields,
-``I have {\nToksFor{myPals}} pals, they are
-\useRanTok{1}, \useRanTok{2}, \useRanTok{3}, \useRanTok{4},
-{\useRanTok{5}} and \useRanTok{6}.'' For most applications, re-randomizing
-the same token list in the same document is not very likely something you
-need to do.
-
-The \cs{reorderRanToks\darg{\meta{name}}} rearranges the list of tokens
-associated with \ameta{name}, which may not be what you want; the
-\cs{copyRanToks} command, on the other hand, makes a (randomized) copy of its
-first required argument \ameta{name\SUB1} and saves it as \ameta{name\SUB2}, without
-effecting the order of \ameta{name\SUB1}.
-\bVerb\takeMeasure{\string\copyRanToks\darg{\ameta{name\SUB1}}\darg{\ameta{name\SUB2}}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\copyRanToks{!ameta(name!SUB1)}{!ameta(name!SUB2)}
-\end{Verbatim}
-\end{minipage}\eVerb Thus, if \verb!\copyRanToks{myPals}{myPals1}! is executed, the token list name
-\texttt{myPals1} contains the names of my pals in another randomized order,
-while maintaining the same order of \texttt{myPals}.
-
-
-\newtopic
-My original application for this, the one that motivated writing this
-package at long last, was the need to arrange several form buttons
-randomly on the page. My point is that the listing given in the argument
-of \cs{ranToks} can pretty much be anything that is allowed to be an
-argument of a macro; this would exclude verbatim text created by \cs{verb}
-and verbatim environments.
-
-\subsection{The
-\texorpdfstring{\protect\cs{bRTVToks}/\protect\cs{eRTVToks}}
- {\CMD{bRTVToks}/\CMD{eRTVToks}} pair of commands}\label{ss:RTVToks}
-
-Sometimes the content to be randomized is quite large or contains verbatim
-text. For this, it may be more convenient to use the
-\cs{bRTVToks}/\penalty0\cs{eRTVToks} command pair. The syntax is
-\bVerb\takeMeasure{\string\bRTVToks\darg{\meta{name}}\quad}%
-\edef\WIDTH{\the\wd\webtempboxi}%
-\def\1{\rlap{\hspace*{\WIDTH}\texttt{\% <-{\sffamily{ End token listing}}}}}%
-\takeMeasure{\string\bRTVToks\darg{\meta{name}}\quad\% <-{\sffamily{ Begin token listing}}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\bRTVToks{!meta(name)}!quad% <-!sffamily( Begin token listing)
-\begin{rtVW}
-!qquad!ameta(content!SUB(1))
-\end{rtVW}
-...
-...
-\begin{rtVW}
-!qquad!ameta(content!SUB(n))
-\end{rtVW}
-!1\eRTVToks
-\end{Verbatim}
-\end{minipage}\eVerb
-The \cs{bRTVToks}\texttt{\{\meta{name}\}} command begins the (pseudo)
-environment and is ended by \cs{eRTVToks}. Between these two are a series of
-\texttt{rtVW} (random toks verbatim write) environments. When the document is
-compiled, the contents (\ameta{content\SUB{i}}) of each of these environments
-are written to the computer hard drive and saved under a different name
-(based on the parameter \meta{name}). Later, using the \cs{useRanTok}
-commands, they are input back into the document in a random order.
-
-The use of \cs{useRTName} and \cs{useRanTok} were explained and illustrated
-in the previous section. Let's go to the examples,
-\begin{Verbatim}[xleftmargin=\amtIndent]
-\bRTVToks{myThoughts}
-\begin{rtVW}
-\begin{minipage}[t]{.67\linewidth}
-Roses are red and violets are blue,
-I've forgotten the rest, have you too?
-\end{minipage}
-\end{rtVW}
-\begin{rtVW}
-\begin{minipage}[t]{.67\linewidth}
-I gave up saying bad things like
-\verb!$#%%%^*%^$@#! when I was just a teenager.
-\end{minipage}
-\end{rtVW}
-\begin{rtVW}
-\begin{minipage}[t]{.67\linewidth}
-I am a good guy, pass it on! The code for this last sentence is,
-\begin{verbatim}
-%#$% I am a good guy, pass it on! ^&*&^*
-\end{verbatim}
-How did that other stuff get in there?
-\end{minipage}
-\end{rtVW}
-\eRTVToks
-\end{Verbatim}
-OK, now, let's display these three in random order. Here we place them in
-an \texttt{enumerate} environment.
-
-\bRTVToks{myThoughts}%
-\begin{rtVW}
-\begin{minipage}[t]{.67\linewidth}
-Roses are red and violets are blue,
-I've forgotten the rest, have you too?
-\end{minipage}
-\end{rtVW}
-\begin{rtVW}
-\begin{minipage}[t]{.67\linewidth}
-I gave up saying bad things like
-\verb!$#%%%^*%^$@#! when I was just a teenager.
-\end{minipage}
-\end{rtVW}
-\begin{rtVW}
-\begin{minipage}[t]{.67\linewidth}
-I am a good guy, pass it on! The code for this last sentence is,
-\begin{verbatim}
-%#$% I am a good guy, pass it on! ^&*&^*
-\end{verbatim}
-How did that other stuff get in there?
-\end{minipage}
-\end{rtVW}
-\eRTVToks
-\begin{enumerate}
- \item \useRanTok{1}
- \item \useRanTok{2}
- \item \useRanTok{3}
-\end{enumerate}
-The verbatim listing of the example above is
-\begin{Verbatim}[xleftmargin=\amtIndent]
-\begin{enumerate}
- \item \useRanTok{1}
- \item \useRanTok{2}
- \item \useRanTok{3}
-\end{enumerate}
-\end{Verbatim}
-The \cs{reorderRanToks} works for lists created by the \cs{bRTVToks}/\penalty0\cs{bRTVToks} construct.
-If we say \cs{reorderRanToks\darg{myThoughts}} and reissue the above list, we obtain,
-\begin{enumerate}\ranToksOn\reorderRanToks{myThoughts}
- \displayListRandomly[\item]{myThoughts}
-\end{enumerate}
-The command \cs{copyRanToks} works for list created by
-\cs{bRTVToks}/\penalty0\cs{bRTVToks} as well.
-
-
-\paragraph*{On the \cs{displayListRandomly} command.}\label{para:DLR}
-In the enumerate example immediately above, the items in the list are
-explicitly listed as \cs{item \cs{useRanTok\darg{1}}} and so one; an
-alternate approach is to use the command \cs{displayListRandomly}, like so,
-\begin{Verbatim}[xleftmargin=\amtIndent]
-\begin{enumerate}
- \displayListRandomly[\item]{myThoughts}
-\end{enumerate}
-\end{Verbatim}
-The full syntax for \cs{displayListRandomly} is displayed next.
-\bVerb\takeMeasure{\string\displayListRandomly[\ameta{prior}][\ameta{post}]\darg{\meta{name}}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\displayListRandomly[!ameta(prior)][!ameta(post)]{!meta(name)}
-\end{Verbatim}
-\end{minipage}
-\eVerb The action of \cs{displayListRandomly} is to expand all tokens that
-are listed in the \meta{name} token list, each entry is displayed as
-\ameta{prior}\cs{useRanTok\darg{i}}\ameta{post}, where \texttt{i}
-goes from~1 to \cs{nToksFor\darg{\meta{name}}}. In the example above,
-\meta{prior} is \cs{item}, but normally, its default is empty. The defaults
-for \ameta{prior} and \ameta{post} are both empty.
-
-\subparagraph*{The optional arguments.} When only one optional argument is present,
-if is interpreted as \ameta{prior}. To obtain a \ameta{post} with no \ameta{prior}
-use the syntax,
-\begin{quote}
-\cs{displayListRandomly[][\ameta{post}]\darg{\ameta{name}}}
-\end{quote}
-Within \emph{each optional argument}, the four commands \cs{i},
-\cs{first}, \cs{last}, and \cs{lessone} are (locally) defined. The \cs{i} command is the index
-counter of the token currently being typeset; \cs{first} is the index of the
-first item; \cs{last} is the index of the last item; and \cs{lessone} is one
-less than \cs{last}. The two optional arguments and the four commands may use
-to perform logic on the token as it is being typeset. For example:
-\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
-List of pals: \displayListRandomly
- [\ifnum\i=\last and \fi]
- [\ifnum\i=\last.\else, \fi]{myPals}
-\end{Verbatim}
-yields,
-\begin{quote}
-List of pals: \displayListRandomly
- [\ifnum\i=\last and \fi]
- [\ifnum\i=\last.\else, \fi]{myPals}
-\end{quote}
-The optional arguments are wrapped to the next line to keep them within the margins, cool.
-
-The example above shows the list of my pals with an Oxford comma. How would
-you modify the optional argument to get the same listing without the Oxford
-comma? (\displayListRandomly[\ifnum\i=\last and \fi][\ifnum\i=\last.\else\ifnum\i=\lessone\relax\space\else, \fi\fi]{myPals})
-Hint: a solution involves the other command \cs{lessone}.
-
-
-
-\section{Additional arguments and commands}\label{AddCmds}
-
-The syntax given earlier for \cs{useRanTok} was not completely specified.
-It is
-\bVerb\takeMeasure{\string\useRanTok[\meta{name}]\darg{\meta{num}}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\useRanTok[!meta(name)]{!meta(num)}
-\end{Verbatim}
-\end{minipage}\eVerb
-The optional first parameter specifies the \meta{name} of the list from
-which to draw a random token; \meta{num} is the number of the
-token in the range of 1 and \cs{nToksFor\darg{\meta{name}}},
-inclusive. The optional argument is useful in special circumstances when
-you want to mix two random lists together.
-
-\newtopic\noindent To illustrate: \useRanTok[myPals]{1}, \useRanTok[myThoughts]{2}
-
-\newtopic\noindent The verbatim listing is
-\begin{Verbatim}[xleftmargin=\amtIndent]
-To illustrate: \useRanTok[myPals]{1}, \useRanTok[myThoughts]{2}
-\end{Verbatim}
-The typeset version looks a little strange, but recall, the text of
-\texttt{myThoughts} were each put in a \texttt{minipage} of width \texttt{.67\cs{linewidth}}.
-Without the \texttt{minipage}, the text would wrap around normally.
-
-\paragraph*{Accessing the original order.} The original order of the list of tokens is not lost, you can retrieve
-them using the command \cs{rtTokByNum},
-\bVerb\takeMeasure{\string\rtTokByNum[\meta{name}]\darg{\meta{num}}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\rtTokByNum[!meta(name)]{!meta(num)}
-\end{Verbatim}
-\end{minipage}\eVerb
-This command expands to the token declared in the list named \meta{name}
-that appears at the \meta{num} place in the list. (Rather awkwardly written.)
-For example, my really best pals are {\rtTokByNum[myPals]{3}} and
-\rtTokByNum[myPals]{4}, but don't tell them. The listing is,
-\begin{Verbatim}[xleftmargin=\amtIndent]
-For example, my really best pals are {\rtTokByNum[myPals]{3}}
-and \rtTokByNum[myPals]{4}, but don't tell them.
-\end{Verbatim}
-In some sense, \cs{rtTokByNum[\meta{name}]} acts like a simple array, the
-length of which is \cs{nToksFor\{\meta{name}\}}, and whose $k^{\text{th}}$
-element is \cs{rtTokByNum[\meta{name}]\{\meta{k}\}}.
-
-\paragraph*{Turning off randomization.} The randomization may be turned off
-using \cs{ranToksOff} or turned back on with \cs{ranToksOn}.
-\bVerb\takeMeasure{\string\ranToksOff\quad\string\ranToksOn}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\ranToksOff!quad\ranToksOn
-\end{Verbatim}
-\end{minipage}\eVerb
-This can be done globally in the preamble for the whole of the document,
-or in the body of the document just prior to either \cs{ranToks} or
-\cs{bRTVToks}. For example,
-\begin{Verbatim}[xleftmargin=\amtIndent]
-\ranToksOff
-\ranToks{integers}{ {1}{2}{3}{4} }
-\ranToksOn
-\end{Verbatim}
-As a check, executing `$\cs{useRanTok\darg{3}} = \cs{rtTokByNum\darg{3}} = 3 $' yields
-`\ranToksOff\ranToks{integers}{ {1}{2}{3}{4}}\ranToksOn
-$\useRanTok{3} = \rtTokByNum{3} = 3 $'? As anticipated.
-
-To create a non-randomized list of tokens that already have been created (and randomized), use
-\cs{copyRanToks}:
-\begin{Verbatim}[xleftmargin=\amtIndent]
-\ranToksOff\copyRanToks{myPals}{myOriginalPals}\ranToksOn
-\end{Verbatim}
-Then, using \cs{displayListRandomly} in a clever way,
-\begin{Verbatim}[xleftmargin=\amtIndent]
-\displayListRandomly[\ifnum\i=\last\space and \fi(\the\i)~]
- [\ifnum\i=\last.\else,\fi\space]{myOriginalPals}
-\end{Verbatim}
-we obtain: \ranToksOff\copyRanToks{myPals}{myOriginalPals}\ranToksOn
-\displayListRandomly[\ifnum\i=\last\space and \fi(\the\i)~][\ifnum\i=\last.\else,\fi\space]{myOriginalPals}
-The original list for \texttt{myPals} remains unchanged:
-\displayListRandomly[\ifnum\i=\last\space and \fi(\the\i)~][\ifnum\i=\last.\else,\fi\space]{myPals}
-
-The \cs{useRanTok} command---whether it operates on a randomized token list
-or not---behaves similarly to an array. Thus, if we wanted the extract
-the third entry of the non-randomized token list (array)
-\texttt{myOriginalPals}, we do so by expanding the command
-\verb!\useRanTok[myOriginalPals]{3}! to produce
-\useRanTok[myOriginalPals]{3}.
-
-\subparagraph*{Document preparation.}
-The command \cs{ranToksOff} is probably best in the preamble to turn off
-all randomization while the rest of the document is being composed.
-
-\paragraph*{The \textsf{ran\_toks} auxiliary file.} The package writes to a file named
-\cs{jobname\_rt.sav}, below represents two typical lines in this file.
-\begin{Verbatim}[xleftmargin=\amtIndent]
-1604051353 % initializing seed value
-5747283528 % last random number used
-\end{Verbatim}
-The first line is the initializing seed value used for the last
-compilation of the document; the second line is the last value of the
-pseudo-random number generator used in the document.
-
-Normally, the pseudo-random number generator provided by
-\texttt{random.tex} produces a new initial seed value every minute. So if
-you recompile again before another minute, you'll get the same initial
-seed value.
-
-\paragraph*{Controlling the initial seed value.} To obtain a new initial seed
-value each time you compile, place \cs{useLastAsSeed} in the preamble.
-\bVerb\takeMeasure{\string\useLastAsSeed}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single]
-\useLastAsSeed
-\end{Verbatim}
-\end{minipage}\eVerb
-When the document is compiled, the initial seed value taken as the second
-line in the \cs{jobname\_rt.sav} file, as seen in the above example.
-With this command in the preamble, a new set of random numbers is
-generated on each compile. If the file \cs{jobname\_rt.sav} does not
-exist, the generator will be initialized by its usual method, using the time and date.
-
-The command \cs{useThisSeed} allows you to reproduce a previous
-pseudo-random sequence.
-\bVerb\takeMeasure{\string\useThisSeed\darg{\meta{init\_seed\_value}}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\useThisSeed{!meta(init_seed_value)}
-\end{Verbatim}
-\end{minipage}\eVerb
-This command needs to be placed in the preamble. The value of
-\meta{init\_seed\_value} is an integer, normally taken from the
-first line of the \cs{jobname\_rt.sav} file.
-
-When creating tests (possibly using \textsf{eqexam}), the problems, or
-contiguous collections of problems, can be randomly ordered using the
-\cs{bRTVToks}/\penalty0\cs{eRTVToks} command pair paradigm. For example,
-suppose there are two classes and you want a random order (some of) the
-problems for each of the two classes. Proceed as follows:
-\begin{enumerate}
-\item Compile the document, open \cs{jobname\_rt.sav}, and copy the
- first line (in the above example, that would be
- \texttt{1604051353}).
-\item Place \cs{useThisSeed\darg{1604051353}} in the preamble. Compiling
- will bring back the same pseudo-random sequence very time.
-\item Comment this line out, and repeat the process (use
- \cs{useLastAsSeed} to generate new random sequences at each
- compile) until you get another distinct randomization, open
- \cs{jobname\_rt.sav}, and copy the first line again, say its \texttt{735794511}.
-\item Place \cs{useThisSeed\darg{735794511}} in the preamble.
-\item Label each
-\begin{Verbatim}
-%\useThisSeed{1604051353} % 11:00 class
-%\useThisSeed{735794511} % 12:30 class
-\end{Verbatim}
-To reproduce the random sequence for the class, just uncomment the random
-seed used for that class.
-\end{enumerate}
-If you are using \textsf{eqexam}, the process can be automated as follows:
-\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
-\vA{\useThisSeed{1604051353}} % 11:00 class
-\vB{\useThisSeed{735794511}} % 12:30 class
-\end{Verbatim}
-Again, this goes in the preamble.
-
-\section{Commands to support a DB application}\label{s:DBConcept}
-
-One user wanted to create exams using \pkg{eqexam}, but wanted to randomly
-select questions from a series of `database' files. My thought was that
-\pkg{ran\_toks} would do the job for him. After setting up a demo for him, I
-added the new command \cs{useTheseDBs} to \pkg{ran\_toks}:
-\bVerb\takeMeasure{\string\useTheseDBs\darg{\ameta{db\SUB{1}},\ameta{db\SUB{2}},...,\ameta{db\SUB{n}}}}%
-\begin{minipage}{\bxSize}\kern0pt
-\begin{Verbatim}[frame=single,commandchars=!()]
-\useTheseDBs{!ameta(db!SUB(1)),!ameta(db!SUB(2)),...,!ameta(db!SUB(n))}
-\useProbDBs{!ameta(db!SUB(1)),!ameta(db!SUB(2)),...,!ameta(db!SUB(n))}
-\end{Verbatim}
-\end{minipage}\eVerb The argument of \cs{useTheseDBs} is a comma-delimited
-list of file names. Each file name contains a
-\cs{bRTVToks}/\penalty0\cs{eRTVToks} construct. Within this pair are
-\env{rtVW} environments, as described in
-\hyperref[ss:RTVToks]{Section~\ref*{ss:RTVToks}}. The \cs{useTheseDBs}
-command inputs the files listed in its comma-delimited argument; a warning is
-emitted if one or more of the files are not found. The default extension is
-\texttt{.tex}, \cs{useTheseDBs\darg{db1,db2}} inputs the files
-\texttt{db1.tex} and \texttt{db2.tex}, if they exist, while
-\cs{useTheseDBs\darg{db1.def,db2.db}} inputs the files \texttt{db1.def} and
-\texttt{db2.db}, if they exist. The command \cs{useProbDBs} is an alias for
-\cs{useTheseDBs}.
-
-The placement of \cs{useTheseDBs} is anywhere prior to the insertion of the
-problems into the document, usually in the preamble.
-
-Refer to the demonstration file \texttt{mc-db.tex} for an example.
-
-\newtopic\noindent
-Now, I simply must get back to my retirement. \dps
-
-\end{document}
Binary files old/doc/latex/ran_toks/docs/ran_toks.pdf and new/doc/latex/ran_toks/docs/ran_toks.pdf differ
Binary files old/doc/latex/ran_toks/docs/rantoks_man.pdf and new/doc/latex/ran_toks/docs/rantoks_man.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/ran_toks/docs/rantoks_man.tex new/doc/latex/ran_toks/docs/rantoks_man.tex
--- old/doc/latex/ran_toks/docs/rantoks_man.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/ran_toks/docs/rantoks_man.tex 2019-12-30 23:17:36.000000000 +0100
@@ -0,0 +1,689 @@
+\documentclass{article}
+\usepackage[fleqn]{amsmath}
+\usepackage[
+ web={centertitlepage,designv,forcolorpaper,
+ latextoc,pro}, %tight,
+ eforms,aebxmp
+]{aeb_pro}
+\usepackage{ran_toks}
+
+\useThisSeed{1441984427}
+%\useLastAsSeed
+%\useThisSeed{2001383846}
+
+%2001383846 % initializing seed value
+%1629639958 % last random number used
+
+\let\pkg\textsf
+\let\env\texttt
+
+%\rtdebugtrue
+%\ranToksOn
+%\ranToksOff
+
+
+%\usepackage{myriadpro}
+\usepackage[altbullet]{lucidbry}
+
+%\usepackage{makeidx}
+%\makeindex
+\usepackage{acroman}
+
+\makeatletter
+\def\eq@fititin#1{\noindent\unskip\nobreak\hfill\penalty50
+ \hskip2em\hbox{}\nobreak\hfill#1}
+\def\fitit{\eq@fititin{\exrtnlabelformat}}
+\@mparswitchfalse\reversemarginpar
+\renewcommand{\paragraph}
+ {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt}
+ {\normalfont\normalsize\bfseries}}
+\renewcommand{\subparagraph}
+ {\@startsection{subparagraph}{5}{\parindent}{6pt}{-3pt}%
+ {\normalfont\normalsize\bfseries}}
+\makeatother
+
+\def\anglemeta#1{$\langle\textit{\texttt{#1}}\rangle$}
+\let\ameta\anglemeta
+\def\meta#1{\textit{\texttt{#1}}}
+\def\darg#1{\texttt{\{#1\}}}
+\def\takeMeasure{\bgroup\obeyspaces\takeMeasurei}
+\def\takeMeasurei#1{\global\setbox\webtempboxi\hbox{\ttfamily#1}\egroup}
+\def\bxSize{\wd\webtempboxi+2\fboxsep+2\fboxrule}
+
+\usepackage[active]{srcltx}
+
+\let\amtIndent\leftmargini
+\def\SUB#1{${}_{\text{#1}}$}
+
+\newdimen\aebdimen \aebdimen\topsep
+\newcommand\bVerb[1][]{\begingroup#1\vskip\aebdimen\parindent0pt}%
+\def\eVerb{\vskip\aebdimen\endgroup\noindent}
+
+
+\urlstyle{rm}
+
+\DeclareDocInfo
+{
+ university={\AcroTeX.Net},
+ title={\texorpdfstring{The \textsf{ran\_toks}}{The manual for the ran\_toks}
+ Package\texorpdfstring{\\[6pt]\large}{: }
+ Randomizing the order of tokens},
+ author={D. P. Story},
+ email={dpstory@acrotex.net},
+ subject=Documentation for the ran\_toks package,
+ talksite={\url{www.acrotex.net}},
+ version={1.2, 2019/12/28},
+ Keywords={LaTeX,PDF,random, tokens, JavaScript,Adobe Acrobat},
+ copyrightStatus=True,
+ copyrightNotice={Copyright (C) \the\year, D. P. Story},
+ copyrightInfoURL={http://www.acrotex.net}
+}
+\DeclareInitView{windowoptions={showtitle}}
+
+
+\def\dps{$\hbox{$\mathfrak D$\kern-.3em\hbox{$\mathfrak P$}%
+ \kern-.6em \hbox{$\mathcal S$}}$}
+
+\universityLayout{fontsize=Large}
+\titleLayout{fontsize=LARGE}
+\authorLayout{fontsize=Large}
+\tocLayout{fontsize=Large,color=aeb}
+\sectionLayout{indent=-62.5pt,fontsize=large,color=aeb}
+\subsectionLayout{indent=-31.25pt,color=aeb}
+\subsubsectionLayout{indent=0pt,color=aeb}
+\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}}
+
+\def\exSrc{\makebox[0pt][r]{\large{\Pisymbol{webd}{157}}\enspace}}
+
+%\pagestyle{empty}
+%\parindent0pt\parskip\medskipamount
+
+\chngDocObjectTo{\newDO}{doc}
+\begin{docassembly}
+var titleOfManual="The ran_toks Package";
+var manualfilename="Manual_BG_Print_rt.pdf";
+var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
+var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
+var doc;
+var buildIt=false;
+if ( buildIt ) {
+ console.println("Creating new " + manualfilename + " file.");
+ doc = \appopenDoc({cPath: _pathToBlank, bHidden: true});
+ var _path=this.path;
+ var pos=_path.lastIndexOf("/");
+ _path=_path.substring(0,pos)+"/"+manualfilename;
+ \docSaveAs\newDO ({ cPath: _path });
+ doc.closeDoc();
+ doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true});
+ f=doc.getField("ManualTitle");
+ f.value=titleOfManual;
+ doc.flattenPages();
+ \docSaveAs\newDO({ cPath: manualfilename });
+ doc.closeDoc();
+} else {
+ console.println("Using the current "+manualfilename+" file.");
+}
+var _path=this.path;
+var pos=_path.lastIndexOf("/");
+_path=_path.substring(0,pos)+"/"+manualfilename;
+\addWatermarkFromFile({
+ bOnTop:false,
+ bOnPrint:false,
+ cDIPath:_path
+});
+\executeSave();
+\end{docassembly}
+
+%\definePath\bgPath{"C:/Users/Public/Documents/%
+% ManualBGs/Manual_BG_Print_AeB.pdf"}
+%\begin{docassembly}
+%\addWatermarkFromFile({%
+% bOnTop: false,
+% cDIPath: \bgPath
+%})
+%\executeSave()
+%\end{docassembly}
+
+\begin{document}
+
+\maketitle
+
+\selectColors{linkColor=black}
+\tableofcontents
+\selectColors{linkColor=webgreen}
+
+\section{Introduction}
+
+This is a short package for randomizing the order of tokens. The package
+is long overdue; users of \textbf{AeB} and of \textsf{eqexam} have long asked for a way to
+randomize the order of the problems in a test or quiz, or anything for
+that matter.
+
+\newtopic\noindent\exSrc The \texttt{examples} folder contains three demonstration files:
+\begin{enumerate}
+ \item \texttt{ran\_toks.tex} reproduces the sample code of this manual.
+ \item \texttt{random\_tst.tex} shows how to use \pkg{ran\_toks} to
+ randomize the \emph{questions} of an exam document created by the
+ \pkg{eqexam} package.
+ \item \texttt{random\_tst\_qz.tex} shows how to randomize choices of a
+ multiple choice field in a \env{quiz} environment of the
+ \pkg{exerquiz} package, when the choices contain verbatim text.
+ \item \texttt{mc-db.tex} is an \pkg{eqexam} file that draws from the
+ database files \texttt{db1.tex}, \texttt{db2.tex},
+ \texttt{db3.tex}, and \texttt{db4.tex}, to construct the questions
+ of the exam. The questions are drawn at random from the DB files. Refer
+ to \hyperref[s:DBConcept]{Section~\ref*{s:DBConcept}} for a few more details.
+
+\end{enumerate}
+
+\section{The Preamble and Package Options}
+
+The preamble for this package is
+\bVerb\takeMeasure{\string\usepackage\darg{ran\_toks}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single]
+\usepackage{ran_toks}
+\end{Verbatim}
+\end{minipage}\eVerb
+The package itself has no options.
+
+The requirements for \textsf{ran\_toks} are the \textsf{verbatim} package
+(part of the standard {\LaTeX} distribution, and the macro file
+\texttt{random.tex} by Donald Arseneau.
+
+
+\section{The main commands and environments}\label{rtmain}
+
+There are two styles for defining a series of tokens to be randomized,
+using either the \cs{ranToks} command or the \cs{bRTVToks}/\cs{eRTVToks}
+pair. Each of these is discussed in the next two subsections.
+
+\subsection{The \texorpdfstring{\protect\cs{ranToks}}{\CMD{ranToks}} command}
+
+The \cs{ranToks} command was the original concept; declare a series of
+tokens to be randomized.
+\bVerb\takeMeasure{\string\ranToks\darg{\meta{name}}\{\%\enspace}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\ranToks{!meta(name)}{%
+ {!meta(token!SUB(1))}
+ {!meta(token!SUB(2))}
+ ...
+ {!meta(token!SUB(n))}
+}
+\end{Verbatim}
+\end{minipage}\eVerb
+were \meta{token\SUB{k}} is any non-verbatim content;\footnote{Any token that
+can be in the argument of a command.} each token is enclosed in braces
+(\darg{}), this is required. The \meta{name} parameter is required, and
+must be unique for the document; it is used to build the names of internal
+macros. Of course several such \cs{ranToks} can be used in the document,
+either in the preamble or in the body of the document. Multiple
+\cs{ranToks} commands must have a different \meta{name} parameter.
+
+\emph{After} a \cs{ranToks} command has been executed, the number of tokens
+counted is accessible through the \cs{nToksFor} command,
+\bVerb\takeMeasure{\string\nToksFor\darg{\meta{name}}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\nToksFor{!meta(name)}
+\end{Verbatim}
+\end{minipage}\eVerb
+The one argument is \meta{name}, and will expand to the total number
+of tokens listing as argument in the \cs{ranToks} command by the same
+name.
+
+The \cs{ranToks} command does not display the randomized tokens, for that
+the command \cs{useRanTok} is used.
+\bVerb\takeMeasure{\string\useRTName\darg{\meta{name}}}%
+\begin{minipage}{\bxSize}
+\begin{Verbatim}[frame=single,commandchars=!()]
+\useRanTok{!meta(num)}
+\useRTName{!meta(name)}
+\end{Verbatim}
+\end{minipage}\eVerb
+The argument of \cs{useRanTok} is a positive integer between 1 and
+\cs{nToksFor\darg{\meta{name}}}, the number of tokens declared by
+\cs{ranToks}, inclusive. There is no space created following the
+\cs{useRanTok} command, so if these are to be used ``inline'', enclose them
+in braces (\darg{}), for example, \darg{\cs{useRanTok\darg{1}}}. The use of
+\cs{useRTName} is optional unless the listing of the \cs{useRanTok} commands
+is separated from the \cs{ranToks} command that defined them by another
+\cs{ranToks} command of a different name. That should be clear!
+
+Consider this example.
+
+\begin{Verbatim}[xleftmargin=\amtIndent]
+\ranToks{myPals}{%
+ {Jim}{Richard}{Don}
+ {Alex}{Tom}{J\"{u}rgen}
+}
+\end{Verbatim}
+\ranToks{myPals}{%
+ {Jim}{Richard}{Don}
+ {Alex}{Tom}{J\"{u}rgen}
+}
+I have {\nToksFor{myPals}} pals, they are \useRanTok{1}, \useRanTok{2},
+\useRanTok{3}, \useRanTok{4}, {\useRanTok{5}} and \useRanTok{6}. (Listed
+in the order of best friend to least best friend.)
+The verbatim listing is,
+\begin{Verbatim}[xleftmargin=\amtIndent]
+I have {\nToksFor{myPals}} pals, they are \useRanTok{1},
+\useRanTok{2}, \useRanTok{3}, \useRanTok{4}, {\useRanTok{5}}
+and \useRanTok{6}.
+\end{Verbatim}
+Notice that \cs{useRanToks} are not enclosed in braces for 1--4 because
+they are each followed by a comma; the fifth token, \texttt{\darg{\cs{useRanTok\darg{5}}}}, is
+enclosed in braces to generate a space following the insertion of the text.
+
+Repeating the sentence yields, ``I have {\nToksFor{myPals}} pals, they are
+\useRanTok{1}, \useRanTok{2}, \useRanTok{3}, \useRanTok{4},
+{\useRanTok{5}} and \useRanTok{6}'', which is the exact same random order. To
+obtain a different order, re-execute the \cs{ranToks} command with the same
+arguments.\footnote{{\ttfamily\string\ranToks\darg{myPals}\darg{\darg{Jim}\darg{Richard}\darg{Don}\darg{Alex}\darg{Tom}\darg{J\string\"\darg{u}rgen}}} in this example.} Doing just that, \ranToks{myPals}{{Jim}{Richard}{Don}
+{Alex}{Tom}{J\"{u}rgen}}we obtain, ``I have {\nToksFor{myPals}} pals, they
+are \useRanTok{1}, \useRanTok{2}, \useRanTok{3}, \useRanTok{4},
+{\useRanTok{5}} and \useRanTok{6}.'' A new order?
+An alternative to re-executing \cs{ranToks} is to use the \cs{reorderRanToks} command:
+\bVerb\takeMeasure{\string\reorderRanToks\darg{\meta{name}}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\reorderRanToks{!meta(name)}
+\end{Verbatim}
+\end{minipage}\eVerb Now, executing \verb~\reorderRanToks{myPals}~ and compiling the sentence again yields,
+``I have {\nToksFor{myPals}} pals, they are
+\useRanTok{1}, \useRanTok{2}, \useRanTok{3}, \useRanTok{4},
+{\useRanTok{5}} and \useRanTok{6}.'' For most applications, re-randomizing
+the same token list in the same document is not very likely something you
+need to do.
+
+The \cs{reorderRanToks\darg{\meta{name}}} rearranges the list of tokens
+associated with \ameta{name}, which may not be what you want; the
+\cs{copyRanToks} command, on the other hand, makes a (randomized) copy of its
+first required argument \ameta{name\SUB1} and saves it as \ameta{name\SUB2}, without
+effecting the order of \ameta{name\SUB1}.
+\bVerb\takeMeasure{\string\copyRanToks\darg{\ameta{name\SUB1}}\darg{\ameta{name\SUB2}}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\copyRanToks{!ameta(name!SUB1)}{!ameta(name!SUB2)}
+\end{Verbatim}
+\end{minipage}\eVerb Thus, if \verb!\copyRanToks{myPals}{myPals1}! is executed, the token list name
+\texttt{myPals1} contains the names of my pals in another randomized order,
+while maintaining the same order of \texttt{myPals}.
+
+
+\newtopic
+My original application for this, the one that motivated writing this
+package at long last, was the need to arrange several form buttons
+randomly on the page. My point is that the listing given in the argument
+of \cs{ranToks} can pretty much be anything that is allowed to be an
+argument of a macro; this would exclude verbatim text created by \cs{verb}
+and verbatim environments.
+
+\subsection{The
+\texorpdfstring{\protect\cs{bRTVToks}/\protect\cs{eRTVToks}}
+ {\CMD{bRTVToks}/\CMD{eRTVToks}} pair of commands}\label{ss:RTVToks}
+
+Sometimes the content to be randomized is quite large or contains verbatim
+text. For this, it may be more convenient to use the
+\cs{bRTVToks}/\penalty0\cs{eRTVToks} command pair. The syntax is
+\bVerb\takeMeasure{\string\bRTVToks\darg{\meta{name}}\quad}%
+\edef\WIDTH{\the\wd\webtempboxi}%
+\def\1{\rlap{\hspace*{\WIDTH}\texttt{\% <-{\sffamily{ End token listing}}}}}%
+\takeMeasure{\string\bRTVToks\darg{\meta{name}}\quad\% <-{\sffamily{ Begin token listing}}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\bRTVToks{!meta(name)}!quad% <-!sffamily( Begin token listing)
+\begin{rtVW}
+!qquad!ameta(content!SUB(1))
+\end{rtVW}
+...
+...
+\begin{rtVW}
+!qquad!ameta(content!SUB(n))
+\end{rtVW}
+!1\eRTVToks
+\end{Verbatim}
+\end{minipage}\eVerb
+The \cs{bRTVToks}\texttt{\{\meta{name}\}} command begins the (pseudo)
+environment and is ended by \cs{eRTVToks}. Between these two are a series of
+\texttt{rtVW} (random toks verbatim write) environments. When the document is
+compiled, the contents (\ameta{content\SUB{i}}) of each of these environments
+are written to the computer hard drive and saved under a different name
+(based on the parameter \meta{name}). Later, using the \cs{useRanTok}
+commands, they are input back into the document in a random order.
+
+The \env{rtWVW} environment also writes the command
+\cs{RTVWHook}\marginpar{\small\itshape\flushright\cs{RTVWHook}} to the top of
+the file. Its initial value is \cs{relax}. It can be redefined using the convenience
+command \cs{rtVWHook\darg{\ameta{arg}}}, which expands to
+\verb|\def\RTVWHook{|\ameta{arg}\verb|}|.
+
+The use of \cs{useRTName} and \cs{useRanTok} were explained and illustrated
+in the previous section. Let's go to the examples,
+\begin{Verbatim}[xleftmargin=\amtIndent]
+\bRTVToks{myThoughts}
+\begin{rtVW}
+\begin{minipage}[t]{.67\linewidth}
+Roses are red and violets are blue,
+I've forgotten the rest, have you too?
+\end{minipage}
+\end{rtVW}
+\begin{rtVW}
+\begin{minipage}[t]{.67\linewidth}
+I gave up saying bad things like
+\verb!$#%%%^*%^$@#! when I was just a teenager.
+\end{minipage}
+\end{rtVW}
+\begin{rtVW}
+\begin{minipage}[t]{.67\linewidth}
+I am a good guy, pass it on! The code for this last sentence is,
+\begin{verbatim}
+%#$% I am a good guy, pass it on! ^&*&^*
+\end{verbatim}
+How did that other stuff get in there?
+\end{minipage}
+\end{rtVW}
+\eRTVToks
+\end{Verbatim}
+OK, now, let's display these three in random order. Here we place them in
+an \texttt{enumerate} environment.
+
+\bRTVToks{myThoughts}%
+\begin{rtVW}
+\begin{minipage}[t]{.67\linewidth}
+Roses are red and violets are blue,
+I've forgotten the rest, have you too?
+\end{minipage}
+\end{rtVW}
+\begin{rtVW}
+\begin{minipage}[t]{.67\linewidth}
+I gave up saying bad things like
+\verb!$#%%%^*%^$@#! when I was just a teenager.
+\end{minipage}
+\end{rtVW}
+\begin{rtVW}
+\begin{minipage}[t]{.67\linewidth}
+I am a good guy, pass it on! The code for this last sentence is,
+\begin{verbatim}
+%#$% I am a good guy, pass it on! ^&*&^*
+\end{verbatim}
+How did that other stuff get in there?
+\end{minipage}
+\end{rtVW}
+\eRTVToks
+\begin{enumerate}
+ \item \useRanTok{1}
+ \item \useRanTok{2}
+ \item \useRanTok{3}
+\end{enumerate}
+The verbatim listing of the example above is
+\begin{Verbatim}[xleftmargin=\amtIndent]
+\begin{enumerate}
+ \item \useRanTok{1}
+ \item \useRanTok{2}
+ \item \useRanTok{3}
+\end{enumerate}
+\end{Verbatim}
+The \cs{reorderRanToks} works for lists created by the \cs{bRTVToks}/\penalty0\cs{bRTVToks} construct.
+If we say \cs{reorderRanToks\darg{myThoughts}} and reissue the above list, we obtain,
+\begin{enumerate}\ranToksOn\reorderRanToks{myThoughts}
+ \displayListRandomly[\item]{myThoughts}
+\end{enumerate}
+The command \cs{copyRanToks} works for list created by
+\cs{bRTVToks}/\penalty0\cs{bRTVToks} as well.
+
+
+\paragraph*{On the \cs{displayListRandomly} command.}\label{para:DLR}
+In the enumerate example immediately above, the items in the list are
+explicitly listed as \cs{item \cs{useRanTok\darg{1}}} and so one; an
+alternate approach is to use the command \cs{displayListRandomly}, like so,
+\begin{Verbatim}[xleftmargin=\amtIndent]
+\begin{enumerate}
+ \displayListRandomly[\item]{myThoughts}
+\end{enumerate}
+\end{Verbatim}
+The full syntax for \cs{displayListRandomly} is displayed next.
+\bVerb\takeMeasure{\string\displayListRandomly[\ameta{prior}][\ameta{post}]\darg{\meta{name}}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\displayListRandomly[!ameta(prior)][!ameta(post)]{!meta(name)}
+\end{Verbatim}
+\end{minipage}
+\eVerb The action of \cs{displayListRandomly} is to expand all tokens that
+are listed in the \meta{name} token list, each entry is displayed as
+\ameta{prior}\cs{useRanTok\darg{i}}\ameta{post}, where \texttt{i}
+goes from~1 to \cs{nToksFor\darg{\meta{name}}}. In the example above,
+\meta{prior} is \cs{item}, but normally, its default is empty. The defaults
+for \ameta{prior} and \ameta{post} are both empty.
+
+\subparagraph*{The optional arguments.} When only one optional argument is present,
+if is interpreted as \ameta{prior}. To obtain a \ameta{post} with no \ameta{prior}
+use the syntax,
+\begin{quote}
+\cs{displayListRandomly[][\ameta{post}]\darg{\ameta{name}}}
+\end{quote}
+Within \emph{each optional argument}, the four commands \cs{i},
+\cs{first}, \cs{last}, and \cs{lessone} are (locally) defined. The \cs{i} command is the index
+counter of the token currently being typeset; \cs{first} is the index of the
+first item; \cs{last} is the index of the last item; and \cs{lessone} is one
+less than \cs{last}. The two optional arguments and the four commands may use
+to perform logic on the token as it is being typeset. For example:
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
+List of pals: \displayListRandomly
+ [\ifnum\i=\last and \fi]
+ [\ifnum\i=\last.\else, \fi]{myPals}
+\end{Verbatim}
+yields,
+\begin{quote}
+List of pals: \displayListRandomly
+ [\ifnum\i=\last and \fi]
+ [\ifnum\i=\last.\else, \fi]{myPals}
+\end{quote}
+The optional arguments are wrapped to the next line to keep them within the margins, cool.
+
+The example above shows the list of my pals with an Oxford comma. How would
+you modify the optional argument to get the same listing without the Oxford
+comma? (\displayListRandomly[\ifnum\i=\last and \fi][\ifnum\i=\last.\else\ifnum\i=\lessone\relax\space\else, \fi\fi]{myPals})
+Hint: a solution involves the other command \cs{lessone}.
+
+
+
+\section{Additional arguments and commands}\label{AddCmds}
+
+The syntax given earlier for \cs{useRanTok} was not completely specified.
+It is
+\bVerb\takeMeasure{\string\useRanTok[\meta{name}]\darg{\meta{num}}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\useRanTok[!meta(name)]{!meta(num)}
+\end{Verbatim}
+\end{minipage}\eVerb
+The optional first parameter specifies the \meta{name} of the list from
+which to draw a random token; \meta{num} is the number of the
+token in the range of 1 and \cs{nToksFor\darg{\meta{name}}},
+inclusive. The optional argument is useful in special circumstances when
+you want to mix two random lists together.
+
+\newtopic\noindent To illustrate: \useRanTok[myPals]{1}, \useRanTok[myThoughts]{2}
+
+\newtopic\noindent The verbatim listing is
+\begin{Verbatim}[xleftmargin=\amtIndent]
+To illustrate: \useRanTok[myPals]{1}, \useRanTok[myThoughts]{2}
+\end{Verbatim}
+The typeset version looks a little strange, but recall, the text of
+\texttt{myThoughts} were each put in a \texttt{minipage} of width \texttt{.67\cs{linewidth}}.
+Without the \texttt{minipage}, the text would wrap around normally.
+
+\paragraph*{Accessing the original order.} The original order of the list of tokens is not lost, you can retrieve
+them using the command \cs{rtTokByNum},
+\bVerb\takeMeasure{\string\rtTokByNum[\meta{name}]\darg{\meta{num}}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\rtTokByNum[!meta(name)]{!meta(num)}
+\end{Verbatim}
+\end{minipage}\eVerb
+This command expands to the token declared in the list named \meta{name}
+that appears at the \meta{num} place in the list. (Rather awkwardly written.)
+For example, my really best pals are {\rtTokByNum[myPals]{3}} and
+\rtTokByNum[myPals]{4}, but don't tell them. The listing is,
+\begin{Verbatim}[xleftmargin=\amtIndent]
+For example, my really best pals are {\rtTokByNum[myPals]{3}}
+and \rtTokByNum[myPals]{4}, but don't tell them.
+\end{Verbatim}
+In some sense, \cs{rtTokByNum[\meta{name}]} acts like a simple array, the
+length of which is \cs{nToksFor\{\meta{name}\}}, and whose $k^{\text{th}}$
+element is \cs{rtTokByNum[\meta{name}]\{\meta{k}\}}.
+
+\paragraph*{Turning off randomization.} The randomization may be turned off
+using \cs{ranToksOff} or turned back on with \cs{ranToksOn}.
+\bVerb\takeMeasure{\string\ranToksOff\quad\string\ranToksOn}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\ranToksOff!quad\ranToksOn
+\end{Verbatim}
+\end{minipage}\eVerb
+This can be done globally in the preamble for the whole of the document,
+or in the body of the document just prior to either \cs{ranToks} or
+\cs{bRTVToks}. For example,
+\begin{Verbatim}[xleftmargin=\amtIndent]
+\ranToksOff
+\ranToks{integers}{ {1}{2}{3}{4} }
+\ranToksOn
+\end{Verbatim}
+As a check, executing `$\cs{useRanTok\darg{3}} = \cs{rtTokByNum\darg{3}} = 3 $' yields
+`\ranToksOff\ranToks{integers}{ {1}{2}{3}{4}}\ranToksOn
+$\useRanTok{3} = \rtTokByNum{3} = 3 $'? As anticipated.
+
+To create a non-randomized list of tokens that already have been created (and randomized), use
+\cs{copyRanToks}:
+\begin{Verbatim}[xleftmargin=\amtIndent]
+\ranToksOff\copyRanToks{myPals}{myOriginalPals}\ranToksOn
+\end{Verbatim}
+Then, using \cs{displayListRandomly} in a clever way,
+\begin{Verbatim}[xleftmargin=\amtIndent]
+\displayListRandomly[\ifnum\i=\last\space and \fi(\the\i)~]
+ [\ifnum\i=\last.\else,\fi\space]{myOriginalPals}
+\end{Verbatim}
+we obtain: \ranToksOff\copyRanToks{myPals}{myOriginalPals}\ranToksOn
+\displayListRandomly[\ifnum\i=\last\space and \fi(\the\i)~][\ifnum\i=\last.\else,\fi\space]{myOriginalPals}
+The original list for \texttt{myPals} remains unchanged:
+\displayListRandomly[\ifnum\i=\last\space and \fi(\the\i)~][\ifnum\i=\last.\else,\fi\space]{myPals}
+
+The \cs{useRanTok} command---whether it operates on a randomized token list
+or not---behaves similarly to an array. Thus, if we wanted the extract
+the third entry of the non-randomized token list (array)
+\texttt{myOriginalPals}, we do so by expanding the command
+\verb!\useRanTok[myOriginalPals]{3}! to produce
+\useRanTok[myOriginalPals]{3}.
+
+\subparagraph*{Document preparation.}
+The command \cs{ranToksOff} is probably best in the preamble to turn off
+all randomization while the rest of the document is being composed.
+
+\paragraph*{The \textsf{ran\_toks} auxiliary file.} The package writes to a file named
+\cs{jobname\_rt.sav}, below represents two typical lines in this file.
+\begin{Verbatim}[xleftmargin=\amtIndent]
+1604051353 % initializing seed value
+5747283528 % last random number used
+\end{Verbatim}
+The first line is the initializing seed value used for the last
+compilation of the document; the second line is the last value of the
+pseudo-random number generator used in the document.
+
+Normally, the pseudo-random number generator provided by
+\texttt{random.tex} produces a new initial seed value every minute. So if
+you recompile again before another minute, you'll get the same initial
+seed value.
+
+\paragraph*{Controlling the initial seed value.} To obtain a new initial seed
+value each time you compile, place \cs{useLastAsSeed} in the preamble.
+\bVerb\takeMeasure{\string\useLastAsSeed}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single]
+\useLastAsSeed
+\end{Verbatim}
+\end{minipage}\eVerb
+When the document is compiled, the initial seed value taken as the second
+line in the \cs{jobname\_rt.sav} file, as seen in the above example.
+With this command in the preamble, a new set of random numbers is
+generated on each compile. If the file \cs{jobname\_rt.sav} does not
+exist, the generator will be initialized by its usual method, using the time and date.
+
+The command \cs{useThisSeed} allows you to reproduce a previous
+pseudo-random sequence.
+\bVerb\takeMeasure{\string\useThisSeed\darg{\meta{init\_seed\_value}}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\useThisSeed{!meta(init_seed_value)}
+\end{Verbatim}
+\end{minipage}\eVerb
+This command needs to be placed in the preamble. The value of
+\meta{init\_seed\_value} is an integer, normally taken from the
+first line of the \cs{jobname\_rt.sav} file.
+
+When creating tests (possibly using \textsf{eqexam}), the problems, or
+contiguous collections of problems, can be randomly ordered using the
+\cs{bRTVToks}/\penalty0\cs{eRTVToks} command pair paradigm. For example,
+suppose there are two classes and you want a random order (some of) the
+problems for each of the two classes. Proceed as follows:
+\begin{enumerate}
+\item Compile the document, open \cs{jobname\_rt.sav}, and copy the
+ first line (in the above example, that would be
+ \texttt{1604051353}).
+\item Place \cs{useThisSeed\darg{1604051353}} in the preamble. Compiling
+ will bring back the same pseudo-random sequence very time.
+\item Comment this line out, and repeat the process (use
+ \cs{useLastAsSeed} to generate new random sequences at each
+ compile) until you get another distinct randomization, open
+ \cs{jobname\_rt.sav}, and copy the first line again, say its \texttt{735794511}.
+\item Place \cs{useThisSeed\darg{735794511}} in the preamble.
+\item Label each
+\begin{Verbatim}
+%\useThisSeed{1604051353} % 11:00 class
+%\useThisSeed{735794511} % 12:30 class
+\end{Verbatim}
+To reproduce the random sequence for the class, just uncomment the random
+seed used for that class.
+\end{enumerate}
+If you are using \textsf{eqexam}, the process can be automated as follows:
+\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
+\vA{\useThisSeed{1604051353}} % 11:00 class
+\vB{\useThisSeed{735794511}} % 12:30 class
+\end{Verbatim}
+Again, this goes in the preamble.
+
+\section{Commands to support a DB application}\label{s:DBConcept}
+
+One user wanted to create exams using \pkg{eqexam}, but wanted to randomly
+select questions from a series of `database' files. My thought was that
+\pkg{ran\_toks} would do the job for him. After setting up a demo for him, I
+added the new command \cs{useTheseDBs} to \pkg{ran\_toks}:
+\bVerb\takeMeasure{\string\useTheseDBs\darg{\ameta{db\SUB{1}},\ameta{db\SUB{2}},...,\ameta{db\SUB{n}}}}%
+\begin{minipage}{\bxSize}\kern0pt
+\begin{Verbatim}[frame=single,commandchars=!()]
+\useTheseDBs{!ameta(db!SUB(1)),!ameta(db!SUB(2)),...,!ameta(db!SUB(n))}
+\useProbDBs{!ameta(db!SUB(1)),!ameta(db!SUB(2)),...,!ameta(db!SUB(n))}
+\end{Verbatim}
+\end{minipage}\eVerb The argument of \cs{useTheseDBs} is a comma-delimited
+list of file names. Each file name contains a
+\cs{bRTVToks}/\penalty0\cs{eRTVToks} construct. Within this pair are
+\env{rtVW} environments, as described in
+\hyperref[ss:RTVToks]{Section~\ref*{ss:RTVToks}}. The \cs{useTheseDBs}
+command inputs the files listed in its comma-delimited argument; a warning is
+emitted if one or more of the files are not found. The default extension is
+\texttt{.tex}, \cs{useTheseDBs\darg{db1,db2}} inputs the files
+\texttt{db1.tex} and \texttt{db2.tex}, if they exist, while
+\cs{useTheseDBs\darg{db1.def,db2.db}} inputs the files \texttt{db1.def} and
+\texttt{db2.db}, if they exist. The command \cs{useProbDBs} is an alias for
+\cs{useTheseDBs}.
+
+The placement of \cs{useTheseDBs} is anywhere prior to the insertion of the
+problems into the document, usually in the preamble.
+
+Refer to the demonstration file \texttt{mc-db.tex} for an example.
+
+\newtopic\noindent
+Now, I simply must get back to my retirement. \dps
+
+\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/ran_toks/examples/mc-db.tex new/doc/latex/ran_toks/examples/mc-db.tex
--- old/doc/latex/ran_toks/examples/mc-db.tex 2017-05-19 23:06:02.000000000 +0200
+++ new/doc/latex/ran_toks/examples/mc-db.tex 2019-12-30 23:17:36.000000000 +0100
@@ -34,7 +34,7 @@
Solve each without error. Passing is 100\%.
\medskip\noindent
-This part demonstrates how to not only randomly pull problems (two from each of the DB files) at random, but
+This part demonstrates how to not only randomly pull problems (two from each of the DB files), but
to randomize the order they are listed in the exam.
\end{instructions}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ran_toks.doc.tlpobj new/tlpkg/tlpobj/ran_toks.doc.tlpobj
--- old/tlpkg/tlpobj/ran_toks.doc.tlpobj 2019-02-28 04:04:07.000000000 +0100
+++ new/tlpkg/tlpobj/ran_toks.doc.tlpobj 2019-12-31 01:56:27.000000000 +0100
@@ -1,12 +1,13 @@
name ran_toks.doc
category Package
-revision 44429
+revision 53271
shortdesc doc files of ran_toks
relocated 1
-docfiles size=72
+docfiles size=99
RELOC/doc/latex/ran_toks/README.md
- RELOC/doc/latex/ran_toks/doc/rantoks_man.pdf
- RELOC/doc/latex/ran_toks/doc/rantoks_man.tex
+ RELOC/doc/latex/ran_toks/docs/ran_toks.pdf
+ RELOC/doc/latex/ran_toks/docs/rantoks_man.pdf
+ RELOC/doc/latex/ran_toks/docs/rantoks_man.tex
RELOC/doc/latex/ran_toks/examples/db1.tex
RELOC/doc/latex/ran_toks/examples/db2.tex
RELOC/doc/latex/ran_toks/examples/db3.tex
++++++ ran_toks.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/ran_toks/ran-toks.sty new/tex/latex/ran_toks/ran-toks.sty
--- old/tex/latex/ran_toks/ran-toks.sty 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/ran_toks/ran-toks.sty 2019-12-30 23:17:36.000000000 +0100
@@ -0,0 +1,28 @@
+%%
+%% This is file `ran-toks.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ran_toks.dtx (with options: `copyright,altpkgname')
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% ran_toks package, %%
+%% Copyright (C) 1999-2019 D. P. Story %%
+%% dpstory@uakron.edu, dpstory@acrotex.net %%
+%% %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1 of the %%
+%% License, or (at your option) any later version. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ran-toks}
+ [2019/12/28 v1.0 ran-toks Alt-name (dps)]
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{ran_toks}}
+\ProcessOptions
+\RequirePackage{ran_toks}[2019/12/28]
+\endinput
+%%
+%% End of file `ran-toks.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/ran_toks/ran_toks.sty new/tex/latex/ran_toks/ran_toks.sty
--- old/tex/latex/ran_toks/ran_toks.sty 2017-05-19 23:06:02.000000000 +0200
+++ new/tex/latex/ran_toks/ran_toks.sty 2019-12-30 23:17:36.000000000 +0100
@@ -7,9 +7,9 @@
%% ran_toks.dtx (with options: `copyright,package')
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Web package, %%
-%% Copyright (C) 1999-2017 D. P. Story %%
-%% dpstory@uakron.edu %%
+%% ran_toks package, %%
+%% Copyright (C) 1999-2019 D. P. Story %%
+%% dpstory@uakron.edu, dpstory@acrotex.net %%
%% %%
%% This program can redistributed and/or modified under %%
%% the terms of the LaTeX Project Public License %%
@@ -19,11 +19,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[1997/12/01]
\ProvidesPackage{ran_toks}
- [2017/05/04 v1.1 Randomizing tokens (dps)]
+ [2019/12/28 v1.2 Randomizing tokens (dps)]
\RequirePackage{verbatim}
\@ifundefined{nextrandom}{\input{random.tex}}{}
\def\nextrandom{\begingroup
- \ifnum\randomi<\@ne % then initialize with time
+ \ifnum\randomi<\@ne % then initialize with time
\global\randomi\time
\global\multiply\randomi388 \global\advance\randomi\year
\global\multiply\randomi31 \global\advance\randomi\day
@@ -61,120 +61,120 @@
\def\useLastAsSeed{\rt@useLastAsSeed}
\@onlypreamble\useLastAsSeed
\def\rt@useLastAsSeed{%
- \IfFileExists{\jobname_rt.sav}{%
- \PackageInfo{ran_toks}{Inputting \jobname_rt.sav}%
- \@ifundefined{readsavfile}{\newread\readsavfile}{}%
- \openin\readsavfile=\jobname_rt.sav
- \read\readsavfile to \InitSeedValue
- \read\readsavfile to \lastRandomNum
- \closein\readsavfile
- \randomi=\lastRandomNum
+ \IfFileExists{\jobname_rt.sav}{%
+ \PackageInfo{ran_toks}{Inputting \jobname_rt.sav}%
+ \@ifundefined{readsavfile}{\newread\readsavfile}{}%
+ \openin\readsavfile=\jobname_rt.sav
+ \read\readsavfile to \InitSeedValue
+ \read\readsavfile to \lastRandomNum
+ \closein\readsavfile
+ \randomi=\lastRandomNum
\xdef\InitSeedValue{\the\randomi}
- }{%
- \PackageInfo{ran_toks}{\jobname_rt.sav cannot
- be found, \MessageBreak
- using the random initializer}%
- }%
+ }{%
+ \PackageInfo{ran_toks}{\jobname_rt.sav cannot
+ be found, \MessageBreak
+ using the random initializer}%
+ }%
}
\@ifundefined{aeb@randomizeChoices}{%
\let\inputRandomSeed\useLastAsSeed
\let\useRandomSeed\useThisSeed}{}
\def\verbatimwrite{\@bsphack
- \let\do\@makeother\dospecials
- \catcode`\^^M\active \catcode`\^^I=12
- \def\verbatim@processline{%
- \immediate\write\verbatim@out
- {\the\verbatim@line}}%
- \verbatim@start}
+ \let\do\@makeother\dospecials
+ \catcode`\^^M\active \catcode`\^^I=12
+ \def\verbatim@processline{%
+ \immediate\write\verbatim@out
+ {\the\verbatim@line}}%
+ \verbatim@start}
\def\endverbatimwrite{\@esphack}
\def\rt@IWVO{\immediate\write\verbatim@out}
\def\InitSeedValue{\the\randomi}
\def\rt@writeSeedData{\ifsaveseed
- \@ifundefined{saveseedinfo}{\newwrite\saveseedinfo}{}
- \immediate\openout \saveseedinfo \jobname_rt.sav
- \let\verbatim@out\saveseedinfo
- \def\rt@msgi{initializing seed value}%
- \def\rt@msgii{last random number used}%
- \uccode`c=`\%\uppercase{%
- \rt@IWVO{\InitSeedValue\space c \rt@msgi}%
- \rt@IWVO{\the\randomi\space c \rt@msgii}}\immediate
- \closeout\saveseedinfo\fi}
+ \@ifundefined{saveseedinfo}{\newwrite\saveseedinfo}{}
+ \immediate\openout \saveseedinfo \jobname_rt.sav
+ \let\verbatim@out\saveseedinfo
+ \def\rt@msgi{initializing seed value}%
+ \def\rt@msgii{last random number used}%
+ \uccode`c=`\%\uppercase{%
+ \rt@IWVO{\InitSeedValue\space c \rt@msgi}%
+ \rt@IWVO{\the\randomi\space c \rt@msgii}}\immediate
+ \closeout\saveseedinfo\fi}
\AtEndDocument{\rt@writeSeedData}%
\def\rt@populateList#1{\rt@listIn={}\rt@nCnt\z@
- \@whilenum\rt@nCnt<#1\do{\advance\rt@nCnt\@ne
- \edef\rt@listInHold{\the\rt@listIn\noexpand\\{\the\rt@nCnt}}%
- \rt@listIn=\expandafter{\rt@listInHold}}}
+ \@whilenum\rt@nCnt<#1\do{\advance\rt@nCnt\@ne
+ \edef\rt@listInHold{\the\rt@listIn\noexpand\\{\the\rt@nCnt}}%
+ \rt@listIn=\expandafter{\rt@listInHold}}}
\def\rt@RandomizeList#1{\global
- \rt@listIn={}\global\rt@newListIn={}\global\rt@listOut={}%
- \rt@nMax=#1\relax\rt@populateList{\the\rt@nMax}%
- \ifwerandomize
- \expandafter\rt@randomizeList\else
- \global\rt@listOut=\expandafter{\the\rt@listIn}\fi
- \global\rt@nameedef{\rt@BaseName-List}{\the\rt@listOut}}
+ \rt@listIn={}\global\rt@newListIn={}\global\rt@listOut={}%
+ \rt@nMax=#1\relax\rt@populateList{\the\rt@nMax}%
+ \ifwerandomize
+ \expandafter\rt@randomizeList\else
+ \global\rt@listOut=\expandafter{\the\rt@listIn}\fi
+ \global\rt@nameedef{\rt@BaseName-List}{\the\rt@listOut}}
\def\rt@randomizeList{\let\\=\rt@processi
- \setrannum{\rt@getRanNum}{1}{\the\rt@nMax}%
+ \setrannum{\rt@getRanNum}{1}{\the\rt@nMax}%
\ifrtdebug\typeout{\string\rt@getRanNum=\the\rt@getRanNum}\fi
- \rt@nCnt\z@
+ \rt@nCnt\z@
\ifrtdebug\typeout{LISTING: \the\rt@listIn}\fi
- \the\rt@listIn
- \rt@loopTest
+ \the\rt@listIn
+ \rt@loopTest
}
\def\rt@loopTest{\advance\rt@nMax\m@ne
- \ifnum\rt@nMax>\z@
- \def\rt@next{%
- \rt@listIn=\expandafter{\the\rt@newListIn}%
- \rt@newListIn={}\rt@randomizeList}%
- \else
- \let\rt@next\relax
- \global\rt@listOut=\expandafter{\the\rt@listOut}%
-\ifrtdebug\typeout{Final Result: \string\rt@listOut=\the\rt@listOut}\fi
- \fi
- \rt@next
+ \ifnum\rt@nMax>\z@
+ \def\rt@next{%
+ \rt@listIn=\expandafter{\the\rt@newListIn}%
+ \rt@newListIn={}\rt@randomizeList}%
+ \else
+ \let\rt@next\relax
+ \global\rt@listOut=\expandafter{\the\rt@listOut}%
+ \ifrtdebug
+ \typeout{Final Result: \string\rt@listOut=\the\rt@listOut}\fi
+ \fi\rt@next
}
\def\rt@processi#1{\advance\rt@nCnt\@ne
- \ifnum\rt@nCnt=\rt@getRanNum
- \edef\rt@listOutHold{\the\rt@listOut}%
- \global\rt@listOut=\expandafter{\rt@listOutHold\\{#1}}%
-\ifrtdebug\typeout{Found it: \string\\{#1}}%
-\typeout{New \string\rt@listOut: \the\rt@listOut}\fi
- \else
- \edef\rt@listInHold{\the\rt@newListIn}%
- \rt@newListIn=\expandafter{\rt@listInHold\\{#1}}%
-\ifrtdebug\typeout{\string\rt@newListIn: \the\rt@newListIn}\fi
- \fi
+ \ifnum\rt@nCnt=\rt@getRanNum
+ \edef\rt@listOutHold{\the\rt@listOut}%
+ \global\rt@listOut=\expandafter{\rt@listOutHold\\{#1}}%
+ \ifrtdebug\typeout{Found it: \string\\{#1}}%
+ \typeout{New \string\rt@listOut: \the\rt@listOut}\fi
+ \else
+ \edef\rt@listInHold{\the\rt@newListIn}%
+ \rt@newListIn=\expandafter{\rt@listInHold\\{#1}}%
+ \ifrtdebug\typeout{\string\rt@newListIn: \the\rt@newListIn}\fi
+ \fi
}
\def\rt@modarith#1#2{\count\z@=#1\relax\count\tw@=#1\relax
- \advance\count\z@\m@ne\divide\count\z@ #2\relax
- \multiply\count\z@ #2\relax
- \advance\count\tw@-\count\z@
- \edef\rt@mod{\the\count\tw@}}
+ \advance\count\z@\m@ne\divide\count\z@ #2\relax
+ \multiply\count\z@ #2\relax
+ \advance\count\tw@-\count\z@
+ \edef\rt@mod{\the\count\tw@}}
\def\rt@badIndex#1#2{\PackageWarningNoLine{ran_toks}
- {The argument of \string\useRanTok{#1} on line
- \the\inputlineno\space is\MessageBreak
+ {The argument of \string\useRanTok{#1} on line
+ \the\inputlineno\space is\MessageBreak
greater than \string\nToksFor{#2} (\nToksFor{#2}),
- instead will use\MessageBreak
+ instead will use\MessageBreak
\string\useRanTok{\rt@mod}, obtained from modular
- arithmetic.\MessageBreak
+ arithmetic.\MessageBreak
You might want to fix this}
}
\def\rt@badTokName#1{%
- \PackageWarningNoLine{ran_toks}
- {The token list `#1' on line \the\inputlineno\space
- is undefined,\MessageBreak
+ \PackageWarningNoLine{ran_toks}
+ {The token list `#1' on line \the\inputlineno\space
+ is undefined,\MessageBreak
possibly simply mispelled; check spelling.\MessageBreak
If undefined, use \string\ranToks\space or \string\bRTVToks/%
- \string\eRTVToks\space\MessageBreak
+ \string\eRTVToks\space\MessageBreak
to define a list with the name `#1'}%
}
\def\rt@warnTokName#1{%
- \PackageWarningNoLine{ran_toks}
- {The token list `#1' on line \the\inputlineno\space
- is already defined,\MessageBreak
+ \PackageWarningNoLine{ran_toks}
+ {The token list `#1' on line \the\inputlineno\space
+ is already defined,\MessageBreak
will overwrite this list}%
}
\def\ranToks#1{\begingroup
- \useRTName{#1}%
- \r@nToks
+ \useRTName{#1}%
+ \r@nToks
}
\long\def\r@nToks#1{\rt@nMax\z@\r@ndToks#1\rt@NIL}
\def\rt@NIL{@nil}
@@ -182,120 +182,124 @@
\let\rt@BaseName\@empty
\newcommand{\bRTVToks}[1]{\rt@nCnt\z@\useRTName{#1}}
\newcommand{\eRTVToks}{\global
- \rt@nameedef{\rt@BaseName Cnt}{\the\rt@nCnt}%
- \expandafter\r@nVToks\expandafter{\rt@BaseName}}
+ \rt@nameedef{\rt@BaseName Cnt}{\the\rt@nCnt}%
+ \expandafter\r@nVToks\expandafter{\rt@BaseName}}
\def\reVerbEnd{\ifhmode\unskip\fi}
+\def\rtVWHook#1{\def\@rgi{#1}\ifx\@rgi\@empty
+ \let\RTVWHook\relax\else\def\RTVWHook{#1}\fi}
+\rtVWHook{}
\newenvironment{rtVW}{\global\advance\rt@nCnt\@ne
- \immediate\openout\rt@Verb@write
- \jobname_\rt@BaseName\the\rt@nCnt.cut
- \let\verbatim@out\rt@Verb@write
- \verbatimwrite
+ \immediate\openout\rt@Verb@write
+ \jobname_\rt@BaseName\the\rt@nCnt.cut
+ \let\verbatim@out\rt@Verb@write
+ \rt@IWVO{\string\RTVWHook}%
+ \verbatimwrite
}{%
- \endverbatimwrite
- \immediate\write\rt@Verb@write{\string\reVerbEnd}%
- \immediate\closeout\rt@Verb@write
+ \endverbatimwrite
+ \immediate\write\rt@Verb@write{\string\reVerbEnd}%
+ \immediate\closeout\rt@Verb@write
}
\def\r@nVToks#1{\begingroup
- \gdef\rt@BaseName{#1}%
- \expandafter\rt@nMax\@nameuse{#1Cnt}%
- \rt@listIn={}\rt@nCnt=0\relax\let\rt@listInHold\@empty
- \@whilenum\rt@nCnt<\rt@nMax\do{\advance\rt@nCnt\@ne
- \edef\rt@listInHold{%
- \the\rt@listIn{\noexpand\rt@inputVerb{#1\the\rt@nCnt}}}%
- \rt@listIn=\expandafter{\rt@listInHold}}\ifrtdebug
- \typeout{\string\r@nVToks: \the\rt@listIn}\fi
- \expandafter\r@nToks\expandafter{\the\rt@listIn}}
+ \gdef\rt@BaseName{#1}%
+ \expandafter\rt@nMax\@nameuse{#1Cnt}%
+ \rt@listIn={}\rt@nCnt=0\relax\let\rt@listInHold\@empty
+ \@whilenum\rt@nCnt<\rt@nMax\do{\advance\rt@nCnt\@ne
+ \edef\rt@listInHold{%
+ \the\rt@listIn{\noexpand\rt@inputVerb{#1\the\rt@nCnt}}}%
+ \rt@listIn=\expandafter{\rt@listInHold}}\ifrtdebug
+ \typeout{\string\r@nVToks: \the\rt@listIn}\fi
+ \expandafter\r@nToks\expandafter{\the\rt@listIn}}
\def\rt@inputVerb#1{\input{\jobname_#1.cut}}
\def\rt@PAR{\par}
\long\def\r@ndToks#1{\def\rt@rgi{#1}%
- \ifx\rt@rgi\rt@PAR\def\rt@next{\r@ndToks}\else
- \advance\rt@nMax\@ne
- \global\@namedef{rtTok\the\rt@nMax\rt@BaseName}{#1}%
- \def\rt@next{\@ifnextchar\rt@NIL
- {\rt@endToks\@gobble}{\r@ndToks}}\fi\rt@next}
+ \ifx\rt@rgi\rt@PAR\def\rt@next{\r@ndToks}\else
+ \advance\rt@nMax\@ne
+ \global\@namedef{rtTok\the\rt@nMax\rt@BaseName}{#1}%
+ \def\rt@next{\@ifnextchar\rt@NIL
+ {\rt@endToks\@gobble}{\r@ndToks}}\fi\rt@next}
\def\rt@performRanDefns#1{%
- \rt@RandomizeList{#1}\rt@nCnt\z@
- \let\\\rt@ssign\the\rt@listOut}
+ \rt@RandomizeList{#1}\rt@nCnt\z@
+ \let\\\rt@ssign\the\rt@listOut}
\def\rt@endToks{\global
- \rt@nameedef{nMax4\rt@BaseName}{\the\rt@nMax}%
- \rt@performRanDefns{\the\rt@nMax}\endgroup}
+ \rt@nameedef{nMax4\rt@BaseName}{\the\rt@nMax}%
+ \rt@performRanDefns{\the\rt@nMax}\endgroup}
\def\reorderRanToks#1{\begingroup\useRTName{#1}\expandafter
- \ifx\csname nMax4#1\endcsname\relax
- \rt@badTokName{#1}\else
- \rt@performRanDefns{\@nameuse{nMax4#1}}\fi
+ \ifx\csname nMax4#1\endcsname\relax
+ \rt@badTokName{#1}\else
+ \rt@performRanDefns{\@nameuse{nMax4#1}}\fi
\endgroup}
\newcommand\copyRanToks[2]{\begingroup\expandafter
- \ifx\csname nMax4#1\endcsname\relax
+ \ifx\csname nMax4#1\endcsname\relax
\rt@badTokName{#1}%
- \else\expandafter
- \ifx\csname nMax4#2\endcsname\relax
- \useRTName{#2}\global
- \rt@nameedef{nMax4#2}{\@nameuse{nMax4#1}}%
- \rt@nCnt=\csname nMax4#2\endcsname\relax
- \@whilenum\rt@nCnt>\z@\do{\global
- \rt@nameedef{rtTok\the\rt@nCnt#2}%
- {\noexpand\@nameuse{rtTok\the\rt@nCnt#1}}%
- \advance\rt@nCnt\m@ne}%
- \rt@performRanDefns{\@nameuse{nMax4#2}}\else
- \rt@warnTokName{#2}\fi
- \fi
+ \else\expandafter
+ \ifx\csname nMax4#2\endcsname\relax
+ \useRTName{#2}\global
+ \rt@nameedef{nMax4#2}{\@nameuse{nMax4#1}}%
+ \rt@nCnt=\csname nMax4#2\endcsname\relax
+ \@whilenum\rt@nCnt>\z@\do{\global
+ \rt@nameedef{rtTok\the\rt@nCnt#2}%
+ {\noexpand\@nameuse{rtTok\the\rt@nCnt#1}}%
+ \advance\rt@nCnt\m@ne}%
+ \rt@performRanDefns{\@nameuse{nMax4#2}}\else
+ \rt@warnTokName{#2}\fi
+ \fi
\endgroup}
\def\rt@ssign#1{\advance\rt@nCnt\@ne\global
- \rt@nameedef{rtRanTok\the\rt@nCnt\rt@BaseName}{\noexpand
- \@nameuse{rtTok#1\rt@BaseName}}}
+ \rt@nameedef{rtRanTok\the\rt@nCnt\rt@BaseName}{\noexpand
+ \@nameuse{rtTok#1\rt@BaseName}}}
\newcommand{\nToksFor}[1]{\expandafter
- \ifx\csname nMax4#1\endcsname\relax
- \textbf{??}\rt@badTokName{#1}\else
- \@nameuse{nMax4#1}\fi}
+ \ifx\csname nMax4#1\endcsname\relax
+ \textbf{??}\rt@badTokName{#1}\else
+ \@nameuse{nMax4#1}\fi}
\newcommand{\rtTokByNum}[2][\rt@BaseName]{\expandafter
- \ifx\csname nMax4#1\endcsname\relax
- \textbf{??}\rt@badTokName{#1}\else
- \@nameuse{rtTok#2#1}\expandafter\ignorespaces\fi}
+ \ifx\csname nMax4#1\endcsname\relax
+ \textbf{??}\rt@badTokName{#1}\else
+ \@nameuse{rtTok#2#1}\expandafter\ignorespaces\fi}
\newcommand{\useRanTok}[2][\rt@BaseName]{\bgroup
- \expandafter\ifx\csname nMax4#1\endcsname\relax
- \rt@badTokName{#1}\else
+ \expandafter\ifx\csname nMax4#1\endcsname\relax
+ \rt@badTokName{#1}\else
\ifnum#2>\nToksFor{#1}\rt@modarith{#2}{\nToksFor{#1}}%
- \rt@badIndex{#2}{#1}\@nameuse{rtRanTok\rt@mod#1}\else
- \@nameuse{rtRanTok#2#1}\fi\fi\egroup}
+ \rt@badIndex{#2}{#1}\@nameuse{rtRanTok\rt@mod#1}\else
+ \@nameuse{rtRanTok#2#1}\fi\fi\egroup}
\newcommand{\displayListRandomly}[1][]{\bgroup\def\rt@prior{#1}%
- \displ@yListRandomly}
+ \displ@yListRandomly}
\newcommand{\displ@yListRandomly}[2][]{\rt@nCnt\z@
- \expandafter\ifx\csname nMax4#2\endcsname\relax
- \rt@rgi\space\textbf{??}\rt@badTokName{#2}#1%
- \else
- \def\rt@post{#1}\useRTName{#2}\let\i\rt@nCnt
- \def\first{1}\edef\last{\@nameuse{nMax4#2}}%
- \@tempcnta\last \advance\@tempcnta\m@ne
- \edef\lessone{\the\@tempcnta}%
- \@whilenum\rt@nCnt<\last\advance\rt@nCnt\@ne
- \do{\rt@prior\useRanTok{\the\rt@nCnt}\rt@post}%
- \fi\egroup
-}
+ \expandafter\ifx\csname nMax4#2\endcsname\relax
+ \rt@rgi\space\textbf{??}\rt@badTokName{#2}#1%
+ \else
+ \def\rt@post{#1}\useRTName{#2}\let\i\rt@nCnt
+ \def\first{1}\edef\last{\@nameuse{nMax4#2}}%
+ \@tempcnta\last \advance\@tempcnta\m@ne
+ \edef\lessone{\the\@tempcnta}%
+ \@whilenum\rt@nCnt<\last\advance\rt@nCnt\@ne
+ \do{\rt@prior\useRanTok{\the\rt@nCnt}\rt@post}%
+ \fi
+\egroup}
\def\rt@gettonil#1\@nil{\def\to@nilarg{#1}}
\def\rt@ifspc{\ifx\@let@token\@sptoken
- \let\rt@next\rt@xifspc\else
- \let\rt@next\rt@gettonil\fi\rt@next}
+ \let\rt@next\rt@xifspc\else
+ \let\rt@next\rt@gettonil\fi\rt@next}
\begingroup
\def\:{\rt@xifspc}
\expandafter\gdef\: {\futurelet\@let@token\rt@ifspc}
\endgroup
\def\rt@strpspcs{\futurelet\@let@token\rt@ifspc}
\def\ProbDBWarningMsg#1{\filename@parse{#1}
- \PackageWarning{ran_toks}
- {The file \filename@area\filename@base.\ifx\filename@ext\relax
- tex\else\filename@ext\fi\space cannot be found}}
+ \PackageWarning{ran_toks}
+ {The file \filename@area\filename@base.\ifx\filename@ext\relax
+ tex\else\filename@ext\fi\space cannot be found}}
\def\useTheseDBs#1{\def\rt@dblist{#1}\ifx\rt@dblist\@empty\else
- \let\rt@DB@List\@empty
- \edef\temp@expand{\noexpand\@for\noexpand\@@tmp:=\rt@dblist}%
- \temp@expand\do{\ifx\@@tmp\@empty\else
- \expandafter\rt@strpspcs\@@tmp\@nil\edef\@@tmp{\to@nilarg}%
- \edef\rt@nextDB{\noexpand
- \InputIfFileExists{\@@tmp}{}{\noexpand
- \ProbDBWarningMsg{\@@tmp}}}%
- \toks\tw@=\expandafter{\rt@DB@List}%
- \toks@=\expandafter{\rt@nextDB}%
- \edef\rt@DB@List{\the\toks\tw@\space\the\toks@}\fi
- }\expandafter\rt@DB@List\fi}
+ \let\rt@DB@List\@empty
+ \edef\temp@expand{\noexpand\@for\noexpand\@@tmp:=\rt@dblist}%
+ \temp@expand\do{\ifx\@@tmp\@empty\else
+ \expandafter\rt@strpspcs\@@tmp\@nil\edef\@@tmp{\to@nilarg}%
+ \edef\rt@nextDB{\noexpand
+ \InputIfFileExists{\@@tmp}{}{\noexpand
+ \ProbDBWarningMsg{\@@tmp}}}%
+ \toks\tw@=\expandafter{\rt@DB@List}%
+ \toks@=\expandafter{\rt@nextDB}%
+ \edef\rt@DB@List{\the\toks\tw@\space\the\toks@}\fi
+ }\expandafter\rt@DB@List\fi}
\let\useProbDBs\useTheseDBs
\endinput
%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ran_toks.tlpobj new/tlpkg/tlpobj/ran_toks.tlpobj
--- old/tlpkg/tlpobj/ran_toks.tlpobj 2019-02-28 04:04:07.000000000 +0100
+++ new/tlpkg/tlpobj/ran_toks.tlpobj 2019-12-31 01:56:27.000000000 +0100
@@ -1,19 +1,19 @@
name ran_toks
category Package
-revision 44429
+revision 53271
shortdesc Randomise token strings
relocated 1
longdesc The package provides means of randomising lists of tokens, or
longdesc lists of chunks of tokens. Two mechanisms for defining chunks
-longdesc are provided: the macro \ranToks command accepts an argument
+longdesc are provided: the \ranToks command accepts an argument
longdesc containing tokens to be randomised; and the \bRTVToks/\eRTVToks
longdesc commands delimit a collection of tokens for randomising; each
longdesc group inside a rtVw constitutes one of these (typically larger)
longdesc token sets.
-runfiles size=3
+runfiles size=4
+ RELOC/tex/latex/ran_toks/ran-toks.sty
RELOC/tex/latex/ran_toks/ran_toks.sty
catalogue-ctan /macros/latex/contrib/ran_toks
-catalogue-date 2017-05-18 22:38:32 +0200
catalogue-license lppl1
catalogue-topics macro-supp
-catalogue-version 1.1
+catalogue-version 1.2
++++++ realhats.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/realhats/README.md new/doc/latex/realhats/README.md
--- old/doc/latex/realhats/README.md 2019-02-25 23:26:39.000000000 +0100
+++ new/doc/latex/realhats/README.md 2019-11-19 23:32:23.000000000 +0100
@@ -13,10 +13,18 @@
![Letters with hats on](readme_images/hats.png)
## Changelog
-### Version 2.0
+### Version 5.0 (2019-11-19)
+* Added Ash's hat
+### Version 4.0 (2019-11-02)
+* Vectorised the hats
+* Added dunce cap
+### Version 3.0 (2019-04-14)
+* Added optional parameters for `\hat` and `\usepackage` to control which hats are used.
+* Added crown
+### Version 2.0 (2019-02-25)
* Replaced tikz with stackengine
-* Added top hat, make LaTeX great again hat, fez, cowboy hat
-### Version 1.0
+* Added top hat, fez, cowboy hat
+### Version 1.0 (2019-02-05)
* First working version of package
* Added five hats
* Added documentation
Binary files old/doc/latex/realhats/readme_images/hats.png and new/doc/latex/realhats/readme_images/hats.png differ
Binary files old/doc/latex/realhats/realhats.pdf and new/doc/latex/realhats/realhats.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/realhats.doc.tlpobj new/tlpkg/tlpobj/realhats.doc.tlpobj
--- old/tlpkg/tlpobj/realhats.doc.tlpobj 2019-02-28 04:04:09.000000000 +0100
+++ new/tlpkg/tlpobj/realhats.doc.tlpobj 2019-11-20 01:54:34.000000000 +0100
@@ -1,9 +1,9 @@
name realhats.doc
category Package
-revision 50134
+revision 52865
shortdesc doc files of realhats
relocated 1
-docfiles size=949
+docfiles size=31
RELOC/doc/latex/realhats/README.md
RELOC/doc/latex/realhats/readme_images/hats.png
RELOC/doc/latex/realhats/realhats.pdf
++++++ realhats.tar.xz ++++++
Binary files old/tex/latex/realhats/hats/realhats-ash.pdf and new/tex/latex/realhats/hats/realhats-ash.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-beret.pdf and new/tex/latex/realhats/hats/realhats-beret.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-beret.png and new/tex/latex/realhats/hats/realhats-beret.png differ
Binary files old/tex/latex/realhats/hats/realhats-cowboy.pdf and new/tex/latex/realhats/hats/realhats-cowboy.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-cowboy.png and new/tex/latex/realhats/hats/realhats-cowboy.png differ
Binary files old/tex/latex/realhats/hats/realhats-crown.pdf and new/tex/latex/realhats/hats/realhats-crown.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-dunce.pdf and new/tex/latex/realhats/hats/realhats-dunce.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-fez.pdf and new/tex/latex/realhats/hats/realhats-fez.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-fez.png and new/tex/latex/realhats/hats/realhats-fez.png differ
Binary files old/tex/latex/realhats/hats/realhats-makelatexgreatagain.pdf and new/tex/latex/realhats/hats/realhats-makelatexgreatagain.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-makelatexgreatagain.png and new/tex/latex/realhats/hats/realhats-makelatexgreatagain.png differ
Binary files old/tex/latex/realhats/hats/realhats-santa.pdf and new/tex/latex/realhats/hats/realhats-santa.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-santa.png and new/tex/latex/realhats/hats/realhats-santa.png differ
Binary files old/tex/latex/realhats/hats/realhats-scottish.png and new/tex/latex/realhats/hats/realhats-scottish.png differ
Binary files old/tex/latex/realhats/hats/realhats-sombrero.pdf and new/tex/latex/realhats/hats/realhats-sombrero.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-sombrero.png and new/tex/latex/realhats/hats/realhats-sombrero.png differ
Binary files old/tex/latex/realhats/hats/realhats-tophat.pdf and new/tex/latex/realhats/hats/realhats-tophat.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-tophat.png and new/tex/latex/realhats/hats/realhats-tophat.png differ
Binary files old/tex/latex/realhats/hats/realhats-witch.pdf and new/tex/latex/realhats/hats/realhats-witch.pdf differ
Binary files old/tex/latex/realhats/hats/realhats-witch.png and new/tex/latex/realhats/hats/realhats-witch.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/realhats/realhats.sty new/tex/latex/realhats/realhats.sty
--- old/tex/latex/realhats/realhats.sty 2019-02-25 23:26:39.000000000 +0100
+++ new/tex/latex/realhats/realhats.sty 2019-11-19 23:32:23.000000000 +0100
@@ -28,38 +28,85 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{realhats}[2019/02/02 realhats]
+\ProvidesPackage{realhats}[2019/04/14 realhats 3.0]
\RequirePackage{amsmath}
\RequirePackage{graphicx}
\RequirePackage{ifthen}
-\RequirePackage[first=0, last=8]{lcg}
+\RequirePackage[first=0, last=9, counter=hat]{lcg}
\RequirePackage{calc}
\RequirePackage{stackengine}
\newcommand\myhat{}
+\newlength{\hatwidth} %hat width
\newlength{\hshif} %horizontal shift
\newlength{\vshif} %vertical shift
-\renewcommand{\hat}[1]{\rand\hatn{#1}{\arabic{rand}}}
+\global\def\hatused{-1}
+\DeclareOption{beret}{\global\def\hatused{beret}}
+\DeclareOption{santa}{\global\def\hatused{santa}}
+\DeclareOption{sombrero}{\global\def\hatused{sombrero}}
+\DeclareOption{witch}{\global\def\hatused{witch}}
+\DeclareOption{tophat}{\global\def\hatused{tophat}}
+\DeclareOption{ash}{\global\def\hatused{ash}}
+\DeclareOption{fez}{\global\def\hatused{fez}}
+\DeclareOption{cowboy}{\global\def\hatused{cowboy}}
+\DeclareOption{crown}{\global\def\hatused{crown}}
+\DeclareOption{dunce}{\global\def\hatused{dunce}}
+\ProcessOptions\relax
+
+\newcommand{\gethat}{%
+ \ifcase\thehat beret%
+ \or santa%
+ \or sombrero%
+ \or witch%
+ \or tophat%
+ \or ash%
+ \or fez%
+ \or cowboy%
+ \or crown%
+ \or dunce%
+ \fi
+}
+
+\renewcommand{\hat}[2][]{%
+ \ifthenelse{\equal{#1}{}}{%
+ \ifthenelse{\equal{\hatused}{-1}}%
+ {\rand\hatn{#2}{\gethat}}%
+ {\hatn{#2}{\hatused}}%
+ }{%
+ \ifthenelse{\equal{#1}{beret}}{\hatn{#2}{beret}}{}%
+ \ifthenelse{\equal{#1}{santa}}{\hatn{#2}{santa}}{}%
+ \ifthenelse{\equal{#1}{sombrero}}{\hatn{#2}{sombrero}}{}%
+ \ifthenelse{\equal{#1}{witch}}{\hatn{#2}{witch}}{}%
+ \ifthenelse{\equal{#1}{tophat}}{\hatn{#2}{tophat}}{}%
+ \ifthenelse{\equal{#1}{ash}}{\hatn{#2}{ash}}{}%
+ \ifthenelse{\equal{#1}{fez}}{\hatn{#2}{fez}}{}%
+ \ifthenelse{\equal{#1}{cowboy}}{\hatn{#2}{cowboy}}{}%
+ \ifthenelse{\equal{#1}{crown}}{\hatn{#2}{crown}}{}%
+ \ifthenelse{\equal{#1}{dunce}}{\hatn{#2}{dunce}}{}%
+ }%
+}
\newcommand{\hatn}[2]{\hatnoptions{#1}{#2}{0ex}{0ex}}
\newcommand{\hatnoptions}[4]{%
\setlength{\hshif}{1pt}
-\ifthenelse{\equal{#2}{0}}{\renewcommand\myhat{hats/realhats-beret}\setlength{\vshif}{-0.6ex} \setlength{\hshif}{0.5ex} }{}%
-\ifthenelse{\equal{#2}{1}}{\renewcommand\myhat{hats/realhats-santa}\setlength{\vshif}{-0.1ex} }{}%
-\ifthenelse{\equal{#2}{2}}{\renewcommand\myhat{hats/realhats-scottish}\setlength{\vshif}{-0.7ex} \setlength{\hshif}{0.6ex}}{}%
-\ifthenelse{\equal{#2}{3}}{\renewcommand\myhat{hats/realhats-sombrero}\setlength{\vshif}{-0.17ex} \addtolength{\hshif}{-1pt}}{}%
-\ifthenelse{\equal{#2}{4}}{\renewcommand\myhat{hats/realhats-witch}\setlength{\vshif}{-0.12ex} \addtolength{\hshif}{-1pt}}{}%
-\ifthenelse{\equal{#2}{5}}{\renewcommand\myhat{hats/realhats-tophat}\setlength{\vshif}{-0.6ex} \addtolength{\hshif}{-1pt}}{}%
-\ifthenelse{\equal{#2}{6}}{\renewcommand\myhat{hats/realhats-makelatexgreatagain}\setlength{\vshif}{-0.6ex} \addtolength{\hshif}{-1pt}}{}%
-\ifthenelse{\equal{#2}{7}}{\renewcommand\myhat{hats/realhats-fez}\setlength{\vshif}{-0.4ex} \addtolength{\hshif}{-1pt}}{}%
-\ifthenelse{\equal{#2}{8}}{\renewcommand\myhat{hats/realhats-cowboy}\setlength{\vshif}{-0.3ex} \setlength{\hshif}{0.2ex}}{}%
+\setlength{\hatwidth}{2ex}
+\ifthenelse{\equal{#2}{beret}}{\renewcommand\myhat{hats/realhats-beret}\setlength{\vshif}{-0.6ex} \setlength{\hshif}{0.5ex} }{}%
+\ifthenelse{\equal{#2}{santa}}{\renewcommand\myhat{hats/realhats-santa}\setlength{\vshif}{-0.1ex} }{}%
+\ifthenelse{\equal{#2}{sombrero}}{\renewcommand\myhat{hats/realhats-sombrero}\setlength{\vshif}{-0.17ex} \addtolength{\hshif}{-1pt}}{}%
+\ifthenelse{\equal{#2}{witch}}{\renewcommand\myhat{hats/realhats-witch}\setlength{\vshif}{-0.12ex} \addtolength{\hshif}{-1pt}}{}%
+\ifthenelse{\equal{#2}{tophat}}{\renewcommand\myhat{hats/realhats-tophat}\setlength{\vshif}{-0.4ex} \setlength{\hatwidth}{1.8ex} \addtolength{\hshif}{-1pt}}{}%
+\ifthenelse{\equal{#2}{ash}}{\renewcommand\myhat{hats/realhats-ash}\setlength{\vshif}{-0.6ex} \setlength{\hatwidth}{1.8ex} \addtolength{\hshif}{-1pt}}{}%
+\ifthenelse{\equal{#2}{fez}}{\renewcommand\myhat{hats/realhats-fez}\setlength{\vshif}{-0.4ex} \setlength{\hatwidth}{1ex} \addtolength{\hshif}{-1pt}}{}%
+\ifthenelse{\equal{#2}{cowboy}}{\renewcommand\myhat{hats/realhats-cowboy}\setlength{\vshif}{-0.3ex} \setlength{\hshif}{0.2ex}}{}%
+\ifthenelse{\equal{#2}{crown}}{\renewcommand\myhat{hats/realhats-crown}\setlength{\vshif}{-0.3ex} \setlength{\hshif}{0.2ex}}{}%
+\ifthenelse{\equal{#2}{dunce}}{\renewcommand\myhat{hats/realhats-dunce}\setlength{\vshif}{-0.3ex} \setlength{\hatwidth}{1.4ex}}{}%
\addtolength{\hshif}{#3}%
\addtolength{\vshif}{#4}%
\stackMath %
-\stackon[\vshif]{#1}{\hspace{\hshif}\includegraphics[width=2ex]{\myhat}}
+\stackon[\vshif]{#1}{\hspace{\hshif}\includegraphics[width=\hatwidth]{\myhat}}
}
\endinput
%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/realhats.tlpobj new/tlpkg/tlpobj/realhats.tlpobj
--- old/tlpkg/tlpobj/realhats.tlpobj 2019-02-28 04:04:10.000000000 +0100
+++ new/tlpkg/tlpobj/realhats.tlpobj 2019-11-20 01:54:34.000000000 +0100
@@ -1,24 +1,29 @@
name realhats
category Package
-revision 50134
+revision 52865
shortdesc Put real hats on symbols instead of ^
relocated 1
-longdesc This package makes \hat put real hats on symbols.
-runfiles size=973
- RELOC/tex/latex/realhats/hats/realhats-beret.png
- RELOC/tex/latex/realhats/hats/realhats-cowboy.png
- RELOC/tex/latex/realhats/hats/realhats-fez.png
- RELOC/tex/latex/realhats/hats/realhats-makelatexgreatagain.png
- RELOC/tex/latex/realhats/hats/realhats-santa.png
- RELOC/tex/latex/realhats/hats/realhats-scottish.png
- RELOC/tex/latex/realhats/hats/realhats-sombrero.png
- RELOC/tex/latex/realhats/hats/realhats-tophat.png
- RELOC/tex/latex/realhats/hats/realhats-witch.png
+longdesc This LaTeX package makes \hat put real hats on symbols. The
+longdesc package depends on amsmath, calc, graphicx, ifthen, lcg, and
+longdesc stackengine.
+runfiles size=18
+ RELOC/tex/latex/realhats/hats/realhats-ash.pdf
+ RELOC/tex/latex/realhats/hats/realhats-beret.pdf
+ RELOC/tex/latex/realhats/hats/realhats-cowboy.pdf
+ RELOC/tex/latex/realhats/hats/realhats-crown.pdf
+ RELOC/tex/latex/realhats/hats/realhats-dunce.pdf
+ RELOC/tex/latex/realhats/hats/realhats-fez.pdf
+ RELOC/tex/latex/realhats/hats/realhats-makelatexgreatagain.pdf
+ RELOC/tex/latex/realhats/hats/realhats-santa.pdf
+ RELOC/tex/latex/realhats/hats/realhats-sombrero.pdf
+ RELOC/tex/latex/realhats/hats/realhats-tophat.pdf
+ RELOC/tex/latex/realhats/hats/realhats-witch.pdf
RELOC/tex/latex/realhats/realhats.sty
catalogue-contact-bugs https://github.com/mscroggs/realhats/issues
-catalogue-contact-home https://github.com/mscroggs/realhats
-catalogue-ctan /graphics/pgf/contrib/realhats
-catalogue-date 2019-02-27 05:05:57 +0100
+catalogue-contact-home http://www.realhats.xyz
+catalogue-contact-repository https://github.com/mscroggs/realhats
+catalogue-ctan /macros/latex/contrib/realhats
+catalogue-date 2019-11-19 10:18:59 +0100
catalogue-license mit
-catalogue-topics pgf-tikz
-catalogue-version 2.0
+catalogue-topics amusements graphics graphics-incl
+catalogue-version 5.0
++++++ recipe.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/recipe.doc.tlpobj new/tlpkg/tlpobj/recipe.doc.tlpobj
--- old/tlpkg/tlpobj/recipe.doc.tlpobj 2019-02-28 04:04:12.000000000 +0100
+++ new/tlpkg/tlpobj/recipe.doc.tlpobj 2020-03-04 23:53:45.000000000 +0100
@@ -1,6 +1,6 @@
name recipe.doc
category Package
-revision 15878
+revision 54080
shortdesc doc files of recipe
relocated 1
docfiles size=11
++++++ recipe.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/recipe.tlpobj new/tlpkg/tlpobj/recipe.tlpobj
--- old/tlpkg/tlpobj/recipe.tlpobj 2019-02-28 04:04:12.000000000 +0100
+++ new/tlpkg/tlpobj/recipe.tlpobj 2020-03-04 23:53:45.000000000 +0100
@@ -1,16 +1,15 @@
name recipe
category Package
-revision 15878
+revision 54080
shortdesc A LaTeX class to typeset recipes
relocated 1
-longdesc The layout design is relative straightforward (and traditional:
-longdesc see 'sample output' under 'documentation'); the class needs
-longdesc uses the Bookman and BrushScript-Italic fonts.
+longdesc The layout design is relatively straightforward (and
+longdesc traditional: see 'sample output' under 'documentation'); the
+longdesc class uses the Bookman and the BrushScript-Italic fonts.
runfiles size=1
RELOC/tex/latex/recipe/recipe.cls
catalogue-also recipecard recipebook
catalogue-ctan /macros/latex/contrib/recipe
-catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license pd
catalogue-topics cooking
catalogue-version 0.9
++++++ register.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/register/README new/doc/latex/register/README
--- old/doc/latex/register/README 2018-05-20 01:28:36.000000000 +0200
+++ new/doc/latex/register/README 2020-03-22 21:50:14.000000000 +0100
@@ -10,9 +10,10 @@
digital hardware, i.e., registers. Such registers typically have many
fields and can be quite wide; they are thus a challenge to typeset in
a consistent manner. Register is similar in some aspects to the
-bytefield package. Anyone doing hardware documentation using LaTeX
-should examine both packages. Register requires version 2001/07/25 or
-newer of the float package.
+bytefield and bitpattern packages. Anyone doing hardware
+documentation using LaTeX should examine those packages.
+
+Register requires version 2001/07/25 or newer of the float package.
An example Perl module and script are provided, to convert the
register specifications into structures suitable for, say, a
@@ -38,7 +39,7 @@
Copyright and license
---------------------
-Copyright (C) 2001-2018 Matthew Lovell, lovells@gmail.com
+Copyright (C) 2001-2020 Matthew Lovell, lovells@gmail.com
This package may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3 of this
Binary files old/doc/latex/register/register.pdf and new/doc/latex/register/register.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/register.doc.tlpobj new/tlpkg/tlpobj/register.doc.tlpobj
--- old/tlpkg/tlpobj/register.doc.tlpobj 2019-02-28 04:04:15.000000000 +0100
+++ new/tlpkg/tlpobj/register.doc.tlpobj 2020-03-23 01:56:29.000000000 +0100
@@ -1,9 +1,9 @@
name register.doc
category Package
-revision 49581
+revision 54485
shortdesc doc files of register
relocated 1
-docfiles size=51
+docfiles size=83
RELOC/doc/latex/register/README
RELOC/doc/latex/register/Reg_macro.pm
RELOC/doc/latex/register/reg_list.pl
++++++ register.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/register/register.sty new/tex/latex/register/register.sty
--- old/tex/latex/register/register.sty 2019-01-02 23:39:10.000000000 +0100
+++ new/tex/latex/register/register.sty 2020-03-22 21:50:14.000000000 +0100
@@ -22,7 +22,7 @@
-\ProvidesPackage{register} [2019/01/01 v1.9 Register macros with
+\ProvidesPackage{register} [2020/03/22 v2.0 Register macros with
hyperref/LyX support]
\RequirePackage{ifthen}[1997/11/02]
@@ -34,22 +34,28 @@
\DeclareOption{TRflags}{\setboolean{RegisterTRFlags}{true}}
\DeclareOption{TRboxed}{\setboolean{RegisterTRBoxed}{true}}
\DeclareOption{color}{\setboolean{RegisterColors}{true}}
+\DeclareOption{botcaption}{\setboolean{RegisterBottom}{true}}
+\DeclareOption{nocaption}{\setboolean{RegisterNoCaption}{true}}
\DeclareOption*{% Emit a warning for other options
\PackageWarning{register}{Unknown option '\CurrentOption'}%
}
-\newboolean{RegisterLyX}
-\newboolean{RegisterHyperref}
-\newboolean{RegisterTRFlags}
-\newboolean{RegisterTRBoxed}
-\newboolean{RegisterColors}
+\newboolean{RegisterLyX}% Work with LyX
+\newboolean{RegisterHyperref}% Work with hyperref package
+\newboolean{RegisterTRFlags}% TR release flags
+\newboolean{RegisterTRBoxed}% Place frame around TR flags
+\newboolean{RegisterColors}% Permit color-filling register fields
+\newboolean{RegisterBottom}% Move caption location to beneath register
+\newboolean{RegisterNoCaption}% Disable environment's built-in caption
\setboolean{RegisterLyX}{false}
\setboolean{RegisterHyperref}{false}
\setboolean{RegisterTRFlags}{false}
\setboolean{RegisterTRBoxed}{false}
\setboolean{RegisterColors}{false}
+\setboolean{RegisterBottom}{false}
+\setboolean{RegisterNoCaption}{false}
\ProcessOptions\relax % Process package options
\ifthenelse{\boolean{RegisterColors}}{\RequirePackage{xcolor}[2007/01/21]}{}
@@ -59,7 +65,8 @@
\newcommand{\regListName}{List of Registers}
\newcommand{\regResetName}{Reset}
-\floatstyle{plaintop} \@ifundefined{chapter}
+\ifthenelse{\boolean{RegisterBottom}}{\floatstyle{plain}}{\floatstyle{plaintop}}
+\@ifundefined{chapter}
{\newfloat{Regfloat}{tbp}{rdf}[section]}
{\newfloat{Regfloat}{tbp}{rdf}[chapter]}
\floatname{Regfloat}{\regFloatName}
@@ -80,7 +87,7 @@
\newcommand{\regResetSize}{\scriptsize}
\newcommand{\regLabelSize}{\footnotesize}
\newcommand{\regLabelFamily}{\rmfamily}
-\newcommand{\regDescFamily}{\bf}
+\newcommand{\regDescFamily}{\bfseries}
\newlength{\regdescsep}
\newlength{\oldregdescsep}
\setlength{\regdescsep}{-\medskipamount}
@@ -136,9 +143,11 @@
\setlength{\partopsep}{0pt}%
\setlength{\topsep}{0pt}%
\setboolean{RegisterContext}{true}%
- \ifthenelse{\equal{#3}{}}%
- {\caption[#2]{\textsc{#2}}}% else
- {\caption[#2]{\textsc{#2} ({#3})}}%
+ \ifthenelse{\boolean{RegisterNoCaption}}{}%
+ {\ifthenelse{\equal{#3}{}}%
+ {\caption[#2]{\textsc{#2}}}% else
+ {\caption[#2]{\textsc{#2} ({#3})}}%
+ }%
\centering}
{% restore lengths
\leftskip\z@%
@@ -398,6 +407,10 @@
\@starttoc{\@nameuse{ext@Regfloat}}}}
\newcommand\l@Regfloat{\@dottedtocline{1}{1.5em}{2.3em}}
\@ifundefined{@mainmatter}{\newif\if@mainmatter \@mainmattertrue}{}
+\@ifclassloaded{memoir}{%
+\renewcommand{\memchapinfo}[4]{%
+ \addtocontents{rdf}{\protect\addvspace{10pt}}}
+}{%
\@ifundefined{chapter}{}
{% Adjust chapter definition slightly for Regfloats
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
@@ -422,7 +435,7 @@
\@makechapterhead{#2}%
\@afterheading
\fi}
-}
+}}
\newcommand\@GetTRSecondParam{}
\long\def\@GetTRSecondParam#1#2#3\@nil{#2}
\newcommand*{\GetTRPageRef}[1]{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/register.tlpobj new/tlpkg/tlpobj/register.tlpobj
--- old/tlpkg/tlpobj/register.tlpobj 2019-02-28 04:04:15.000000000 +0100
+++ new/tlpkg/tlpobj/register.tlpobj 2020-03-23 01:56:29.000000000 +0100
@@ -1,22 +1,22 @@
name register
category Package
-revision 49581
+revision 54485
shortdesc Typeset programmable elements in digital hardware (registers)
relocated 1
longdesc This package is designed for typesetting the programmable
-longdesc elements in digital hardware, i.e. registers. Such registers
+longdesc elements in digital hardware, i.e., registers. Such registers
longdesc typically have many fields and can be quite wide; they are thus
longdesc a challenge to typeset in a consistent manner. Register is
-longdesc similar in some aspects to the bytefield package. Anyone doing
-longdesc hardware documentation using LaTeX should examine both
-longdesc packages. Register requires a fairly recent version of the
-longdesc float package. An example Perl module and a Perl script are
-longdesc provided to translate the register specifications into
-longdesc programmable data structures.
-runfiles size=4
+longdesc similar in some aspects to the bytefield and bitpattern
+longdesc packages. Anyone doing hardware documentation using LaTeX
+longdesc should examine those packages. Register requires version
+longdesc 2001/07/25 or newer of the float package. An example Perl
+longdesc module and script are provided, to convert the register
+longdesc specifications into structures suitable for, say, a pre-silicon
+longdesc test environment.
+runfiles size=5
RELOC/tex/latex/register/register.sty
catalogue-ctan /macros/latex/contrib/register
-catalogue-date 2019-01-01 23:34:54 +0100
catalogue-license lppl1.3
catalogue-topics engineering comp-sci comp-net
-catalogue-version 1.9
+catalogue-version 2.0
++++++ reledmac.doc.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-t/reledmac.doc.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-t.new.3606/reledmac.doc.tar.xz differ: char 26, line 1
++++++ reledmac.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/reledmac/reledmac.sty new/tex/latex/reledmac/reledmac.sty
--- old/tex/latex/reledmac/reledmac.sty 2019-04-03 23:41:18.000000000 +0200
+++ new/tex/latex/reledmac/reledmac.sty 2020-03-08 22:48:18.000000000 +0100
@@ -35,7 +35,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2019/04/03 v2.31.2 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2020/03/08 v2.32.5 typesetting critical editions]%
\RequirePackage{xkeyval}
\newif\ifparledgroup
\newif\ifsameparallelpagenumber%
@@ -139,6 +139,11 @@
\ifx\directlua\undefined\else%
\directlua{tex.enableprimitives("",{"textdir","pardir","bodydir"})}
\fi
+\ifluatex%
+ \ifnum\luatexversion<110%
+ \PackageWarning{reledmac}{You need to use LuaTeX 1.1.0 or higher}{\@ehc}%
+ \fi%
+\fi%
\newif\ifl@dmemoir
\@ifclassloaded{memoir}{\l@dmemoirtrue}{\l@dmemoirfalse}
@@ -165,8 +170,11 @@
\reledmac@error{Numbering was not started}{\@ehc}}
\newcommand*{\led@err@NumberingShouldHaveStarted}{%
\reledmac@error{Numbering should already have been started}{\@ehc}}
+\newcommand*{\led@err@samewordRTL}{%
+ \reledmac@error{You can't use \string\sameword \MessageBreak with XeLaTeX \MessageBreak when typesetting RTL text.\MessageBreak Please use LuaTeX instead.}{\@ehc}%
+}%
\newcommand*{\led@err@edtextoutsidepstart}{%
- \reledmac@error{\string\edtext\space outside numbered paragraph (\pstart\space …\space\pend)}{\@ehc}}%
+ \reledmac@error{\string\edtext\space outside numbered paragraph (\pstart\space ...\space\pend)}{\@ehc}}%
\newcommand{\led@err@PstartInEdtext}[1]{%
\reledmac@error{\string\pstart\space in \string\edtext\space #1 argument}{\@ehc}%
@@ -213,7 +221,7 @@
\newcommand*{\led@err@PstartNotNumbered}{%
\reledmac@error{\string\pstart\space must be used within a
numbered section %
- (\string\beginnumbering\space …\space\string\endnumbering)}{\@ehc}}%
+ (\string\beginnumbering\space ...\space\string\endnumbering)}{\@ehc}}%
\newcommand*{\led@err@PstartInPstart}{%
\reledmac@error{\string\pstart\space encountered while another
\string\pstart\space was in effect}{\@ehc}}
@@ -291,7 +299,7 @@
\newcommand*{\led@err@ReverseColumns}{%
\reledmac@error{Start column is greater than end column}{\@ehc}}
\newcommand{\led@err@toendnotes@outsidenumbering}{%
- \reledmac@error{\string\toendnotes\space and related commands must be called inside a numbered texte (\string\beginnumbering\space …\space\string\endnumbering)}{\@ehc}%
+ \reledmac@error{\string\toendnotes\space and related commands must be called inside a numbered texte (\string\beginnumbering\space ...\space\string\endnumbering)}{\@ehc}%
}%
\newcommand{\led@err@EdtextWithoutFootnote}{%
\reledmac@error{edtext without Xfootnote. Check syntaxis}{\@ehc}%
@@ -321,7 +329,7 @@
\reledmac@error{Failed to patch the \string\makeindex\space command}{\@ehc}%
}%
\newcommand{\led@warn@edinde@outsidenumbering}{%
- \reledmac@warning{\string\edindex\space called outside of \string\beginnumbering\space …\space \string\endnumbering. \MessageBreak Automatically switched to \string\index.}%
+ \reledmac@warning{\string\edindex\space called outside of \string\beginnumbering\space ...\space \string\endnumbering. \MessageBreak Automatically switched to \string\index.}%
}%
\newcommand{\led@warning@hsizeX@deprecated}{%
\reledmac@warning{\string\hsizeX\space command deprecated, use \string\widthX\space instead.}%
@@ -1339,6 +1347,7 @@
}%
\newcommand*{\new@line}{%
+ \set@this@c@page%
\ifnumberline%
\IfStrEq{\led@pb@setting}{after}%
{\xifinlist{\the\absline@num}{\l@prev@nopb}%
@@ -1346,9 +1355,9 @@
{\numgdef{\@next@page}{\c@par@page+\@ne}%
\write\linenum@out{\string\@nl[\@next@page][\@next@page]}%
}%
- {\write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}}%
+ {\write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}}%
}%
- {\write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}}}%
+ {\write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}}}%
{}%
\IfStrEq{\led@pb@setting}{before}%
{\numdef{\next@absline}{\the\absline@num+\@ne}%
@@ -1357,9 +1366,9 @@
{\numgdef{\nc@page}{\c@par@page+\@ne}%
\write\linenum@out{\string\@nl[\nc@page][\nc@page]}%
}%
- {\write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}}%
+ {\write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}}%
}%
- {\write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}}%
+ {\write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}}%
}%
{}%
\IfStrEqCase{\led@pb@setting}%
@@ -1367,18 +1376,19 @@
{before}{\relax}%
{after}{\relax}%
}[%
- \write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}%
+ \write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}%
]%
\fi%
}
-\newcommand{\l@the@c@page}{%
+\newcount\@this@c@page%%
+\newcommand{\set@this@c@page}{%
\ifboolexpr{%
bool{sameparallelpagenumber}%
or bool{prevpgnotnumbered}%
}%
- {\the\c@par@page}%
- {\the\c@page}%
+ {\global\@this@c@page=\c@par@page}%
+ {\global\@this@c@page=\c@page}%
}%
\newif\if@noneed@Footnote%
@@ -1545,7 +1555,7 @@
\@edtext@level=0%
\newif\if@edtext@secondarg@%
\newcounter{edtext}
-\renewcommand{\theedtext}{edtxt@\arabic{edtext}}%
+\renewcommand{\theedtext}{edtxt@\the\c@edtext}%
\newcommand{\edtext}[2]{\leavevmode%
\ifnumberedpar@%
\@check@edtext@args{#1}{#2}%
@@ -1711,11 +1721,7 @@
\else%
\def\@tmpa##1{##1}%
\fi%
- \ifxetex%
- \@tmpa{\xdef\sw@txt{#1}}%
- \else%
- \@tmpa{\expandafter\xdef\expandafter\sw@txt\expandafter{\detokenize{#1}}}%
- \fi%
+ \@tmpa{\protected@xdef\sw@txt{#1}}%
\endgroup%
}%
\newcommand{\swnoexpands}{%
@@ -1740,6 +1746,11 @@
\fi%
}%
\newcommandx{\sameword}[2][1,usedefault]{%
+ \ifxetex%
+ \if@RTL%
+ \led@err@samewordRTL%
+ \fi%
+ \fi%
\leavevmode%
\get@sw@txt{#2}%
\unless\ifledRcol%
@@ -2111,6 +2122,7 @@
\add@penalties%
}
\def\print@eledsection{%
+ \disable@edindex%
\if@firstlineofpage%
\set@Xtxtbeforenotes%
\set@txtbeforenotesX%
@@ -2141,6 +2153,7 @@
\fi%
\vskip-\baselineskip%
\continuousnumberingwithcolumns@sync@linenumber@singletext%
+ \restore@edindex%
}
\newcommand*{\do@linehook}{}
\newcommand*{\do@insidelinehook}{}
@@ -2567,7 +2580,7 @@
\insert\csname ##1footins\endcsname%
\fi%
{%
- \nottoggle{Xparindent@##1}{\parindent=\z@}{}%
+ \Xsetparindent{##1}%
\ifcsdef{Xhsize\csuse{series@display##1}@##1}%
{\hsize \csuse{Xhsize\csuse{series@display##1}@##1}}%
{}%
@@ -2575,7 +2588,7 @@
\unvbox\@nameuse{mp##1footins}%
\fi%
\X@atbegininsertion{##1}%
- \ifcsstring{series@display##1}%
+ \ifcsstring{series@display##1}{normal}%
{%
\Xledsetnormalparstuff{##1}%
\rule\z@\splittopskip%
@@ -2953,7 +2966,7 @@
\newcommand*{\parafootstart}[1]{%
\rightskip=0pt \leftskip=0pt%
- \nottoggle{Xparindent@#1}{\parindent=\z@}{}%
+ \Xsetparindent{#1}%
\ifdimequal{0pt}{\Xprenotes@}{}%
{%
\iftoggle{Xprenotes@}{%
@@ -2967,8 +2980,11 @@
\setXnoteswidthliketwocolumns@{#1}%
\setXnotespositionliketwocolumns@{#1}%
\print@Xfootnoterule{#1}%
+ \let\old@bidi@RTL@everypar\bidi@RTL@everypar%
\let\bidi@RTL@everypar\@empty%
- \noindent\leavevmode}
+ \noindent\leavevmode%
+ \let\bidi@RTL@everypar\old@bidi@RTL@everypar%
+}%
\newcommand*{\paravfootnote}[2]{%
\csuse{Xbeforeinserting@#1}%
\insert\csname #1footins\endcsname
@@ -3062,7 +3078,7 @@
\setbox0=\hbox{\unhbox0 \removehboxes}%
\csuse{Xbhookgroup@#1}%
\csuse{Xnotefontsize@#1}%
- \nottoggle{Xparindent@#1}{\parindent=\z@}{}%
+ \Xsetparindent{#1}%
\unhbox0\par}}
\newcommand*{\makehboxofhboxes}{\setbox0=\hbox{}%
@@ -3156,6 +3172,7 @@
\prepare@Xgroupbyline{#1}{#2}{\threecolvfootnote@inserted}%
}%
{%
+ \let\bidi@RTL@everypar\relax%
\X@beforeinsertion{#1}%
\insert\csname #1footins\endcsname{%
\threecolvfootnote@inserted{#1}{#2}%
@@ -3185,7 +3202,7 @@
\nottoggle{Xgroupbyline@#1}%
{\hsize \csuse{Xhsizethreecol@#1}}%
{}%
- \nottoggle{Xparindent@#1}{\parindent=\z@}{}%
+ \Xsetparindent{#1}%
\tolerance=5000%
\Xsethangindent{#1}%
\@tempdima=\parindent%
@@ -3253,6 +3270,7 @@
\iftoggle{Xgroupbyline@#1}{%
\prepare@Xgroupbyline{#1}{#2}{\twocolvfootnote@inserted}%
}{%
+ \let\bidi@RTL@everypar\relax%
\X@beforeinsertion{#1}%
\insert\csname #1footins\endcsname{%
\twocolvfootnote@inserted{#1}{#2}%
@@ -3279,8 +3297,10 @@
}%
\newcommand{\twocol@begin@insert}[1]{%
\normal@pars%
- \hsize \csuse{Xhsizetwocol@#1}%
- \nottoggle{Xparindent@#1}{\parindent=\z@}{}%
+ \nottoggle{Xgroupbyline@#1}%
+ {\hsize \csuse{Xhsizetwocol@#1}}%
+ {}%
+ \Xsetparindent{#1}%
\tolerance=5000%
\Xsethangindent{#1}%
\@tempdima=\parindent%
@@ -3327,6 +3347,22 @@
\expandafter
\Xrigidbalance\csname mp#1footins\endcsname \tw@ \splittopskip}}
+\newcommand{\Xsetparindent}[1]{%
+ \nottoggle{Xparindent@#1}{%
+ \parindent=\z@%
+ }%
+ {%
+ \ifdef{\parindent@beforestanza}{\parindent=\parindent@beforestanza}{}%
+ }%
+}%
+\newcommand{\setparindentX}[1]{%
+ \nottoggle{parindentX@#1}{%
+ \parindent=\z@%
+ }%
+ {%
+ \ifdef{\parindent@beforestanza}{\parindent=\parindent@beforestanza}{}%
+ }%
+}%
\newcommand{\Xsethangindent}[1]{%
\if@RTL%
\hangindent=-\csuse{Xhangindent@#1}%
@@ -3637,6 +3673,31 @@
\fi%
\fi%
}{}%
+ \iftoggle{Xlinenumannotationonlyfirst@\@currentseries}{%
+ \ifboolexpr{%
+ (%
+ togl{Xlinenumannotationonlyfirstintwo@\@currentseries}%
+ and test{\ifcsequal{annot@start}{prevannot@start@\@currentseries}}%
+ and test{\ifcsequal{annot@end}{prevannot@end@\@currentseries}}%
+ )%
+ or%
+ (%
+ not togl{Xlinenumannotationonlyfirstintwo@\@currentseries}%
+ test{\ifcsequal{annot@start}{prevannot@start@\@currentseries}}%
+ )%
+ }{%
+ \def\@annot@start@print{%
+ \l@wrapcs@ifnotemptybox{Xwraplinenumannotation@\@currentseries}{\csuse{Xsymlinenumannotation@\@currentseries}}%
+ }%
+ \let\@annot@end@print\relax%
+ \ifx\linenumrep\@gobble%Don't print the dash if we're not printing the line number
+ \l@d@dashfalse%
+ \fi%
+ }{}%
+ \global\cslet{prevannot@start@\@currentseries}{\annot@start}%
+ \global\cslet{prevannot@end@\@currentseries}{\annot@end}%
+ }%
+ {}%
}%
\newif\ifistwofollowinglines@%
\newcommand{\setistwofollowinglines}[4]{%
@@ -3659,10 +3720,6 @@
}%
\def\printlines#1|#2|#3|#4|#5|#6|#7|#8|{%
\begingroup%
- \ifluatex%
- \edef\@tmp{\the\textdir}%
- \ifdefstring{\@tmp}{TLT}{}{\textdir TLT}%Test in order to prevent spurious space (bug #397)
- \fi%
\setprintlines{#1}{#2}{#3}{#4}{#5}{#6}%
\ifdimequal{\csuse{Xboxstartlinenum@\@currentseries}}{0pt}%
{\bgroup}%
@@ -3958,7 +4015,6 @@
\ifluatex%
\textdir\footnote@luatextextdir%
\pardir\footnote@luatexpardir%
- \par%
\fi%
\protected@edef\@currentlabel{%
\@nameuse{@thefnmark#1}%
@@ -4159,6 +4215,7 @@
\notbool{parapparatus@}{\newcommand*}{\newcommand}{\twocolvfootnoteX}[2]{%
\beforeinsertion@X{#1}%
+ \let\bidi@RTL@everypar\relax%
\insert\csname footins#1\endcsname\bgroup%
\hsize=\expandafter\dimexpr\csuse{widthX@#1}\relax%
\noindent\csuse{bhooknoteX@#1}%
@@ -4174,7 +4231,7 @@
\normal@pars%
\sethangindentX{#1}%
\hsize \csuse{hsizetwocolX@#1}%
- \nottoggle{parindentX@#1}{\parindent=\z@}{}%
+ \setparindentX{#1}%
\tolerance=5000\relax%
\par%
\@tempdima=\parindent%
@@ -4243,6 +4300,7 @@
\multiply\dimen\csname mpfootins#1\endcsname by \thr@@}
\notbool{parapparatus@}{\newcommand*}{\newcommand}{\threecolvfootnoteX}[2]{%
+ \let\bidi@RTL@everypar\relax%
\beforeinsertion@X{#1}%
\insert\csname footins#1\endcsname\bgroup%
\hsize=\expandafter\dimexpr\csuse{widthX@#1}\relax%
@@ -4258,7 +4316,7 @@
\sethangindentX{#1}%
\normal@pars%
\hsize \csuse{hsizethreecolX@#1}%
- \nottoggle{parindentX@#1}{\parindent=\z@}{}%
+ \setparindentX{#1}%
\tolerance=5000\relax%
\@tempdima=\parindent%
\csuse{colalignX@#1}%
@@ -4344,7 +4402,7 @@
}%
\leftskip=\z@
\rightskip=\z@
- \nottoggle{parindentX@#1}{\parindent=\z@}{}%
+ \setparindentX{#1}%
\vskip\skip\@nameuse{footins#1}%
\setnoteswidthliketwocolumnsX@{#1}%
\setnotesXpositionliketwocolumns@{#1}%
@@ -4449,7 +4507,7 @@
\setbox0=\hbox{\unhbox0 \removehboxes}%
\csuse{bhookgroupX@#1}%
\csuse{notefontsizeX@#1}%
- \nottoggle{parindentX@#1}{\parindent=\z@}{}%
+ \setparindentX{#1}%
\unhbox0\par}}
\newcommand{\insertparafootsepX}[1]{%
@@ -4505,12 +4563,14 @@
\newcommand*{\Xledsetnormalparstuff}[1]{%
\ledsetnormalparstuff@common%
- \nottoggle{Xparindent@#1}{\parindent=\z@}{\hspace{\parindent}}%
+ \Xsetparindent{#1}%
+ \iftoggle{Xparindent@#1}{\hspace{\parindent}}{}%
}%
\newcommand*{\ledsetnormalparstuffX}[1]{%
\ledsetnormalparstuff@common%
- \nottoggle{parindentX@#1}{\parindent=\z@}{\hspace{\parindent}}%
+ \setparindentX{#1}%
+ \iftoggle{parindentX@#1}{\hspace{\parindent}}{}%
}%
\newdimen\old@hsize%
@@ -4658,9 +4718,15 @@
\csuse{Xendbhooknote@#4}%
\csuse{Xendnotefontsize@#4}%
\hangindent=\csuse{Xendhangindent@#4}%
+ \Xendstorelineinfo{#1}{#4}%
\ifXendinsertsep@%
\hskip\csuse{Xendafternote@#4}\relax%
- \csuse{Xendsep@#4}%
+ \ifcsdef{prevendline#4}%
+ {\ifcsequal{prevendline#4}{lineinfo@}%
+ {\ifcsempty{Xendsymlinenum@#4}{\csuse{Xendsep@#4}}{}}%
+ {\csuse{Xendsep@#4}}%
+ }%
+ {\csuse{Xendsep@#4}}%
\else%
\iftoggle{Xendparagraph@#4}%
{\global\Xendinsertsep@true}%
@@ -4704,14 +4770,16 @@
\let\l@d@section=\@gobble
-\newcommand{\printlineendnote}[2]{%
+\newcommand{\Xendstorelineinfo}[2]{%
\l@dp@rsefootspec#1|%
\iftoggle{Xendnumberonlyfirstintwolines@#2}{%
- \xdef\lineinfo@{\l@dparsedstartpage - \l@dparsedstartline - \l@dparsedstartsub - \l@dparsedendpage - \l@dparsedendline - \l@dparsedendsub}%
- }%
- {%
- \xdef\lineinfo@{\l@dparsedstartpage - \l@dparsedstartline - \l@dparsedstartsub}%
- }%
+ \xdef\lineinfo@{\l@dparsedstartpage - \l@dparsedstartline - \l@dparsedstartsub - \l@dparsedendpage - \l@dparsedendline - \l@dparsedendsub}%
+ }%
+ {%
+ \xdef\lineinfo@{\l@dparsedstartpage - \l@dparsedstartline - \l@dparsedstartsub}%
+ }%
+}%
+\newcommand{\printlineendnote}[2]{%
\ifboolexpr{%
togl {nonum@}%
or togl {Xendnonumber@#2}%
@@ -4927,6 +4995,31 @@
\fi%
\fi%
}{}%
+ \iftoggle{Xendlinenumannotationonlyfirst@\@currentseries}{%
+ \ifboolexpr{%
+ (%
+ togl{Xendlinenumannotationonlyfirstintwo@\@currentseries}%
+ and test{\ifcsequal{annot@start}{prevannot@start@\@currentseries}}%
+ and test{\ifcsequal{annot@end}{prevannot@end@\@currentseries}}%
+ )%
+ or%
+ (%
+ not togl{Xendlinenumannotationonlyfirstintwo@\@currentseries}%
+ test{\ifcsequal{annot@start}{prevannot@start@\@currentseries}}%
+ )%
+ }{%
+ \def\@annot@start@print{%
+ \l@wrapcs@ifnotemptybox{Xendwraplinenumannotation@\@currentseries}{\csuse{Xendsymlinenumannotation@\@currentseries}}%
+ }%
+ \let\@annot@end@print\relax%
+ \ifx\linenumrep\@gobble%Don't print the dash if we're not printing the line number
+ \l@d@dashfalse%
+ \fi%
+ }{}%
+ \global\cslet{prevannot@start@\@currentseries}{\annot@start}%
+ \global\cslet{prevannot@end@\@currentseries}{\annot@end}%
+ }%
+ {}%
}%
\def\printendlines#1|#2|#3|#4|#5|#6|#7|#8|{%
\begingroup
@@ -5096,10 +5189,15 @@
\csgdef{Xboxendlinenum@#1}{0pt}%
\csgdef{Xboxsymlinenum@#1}{0pt}%
- \newtoggle{Xnumberonlyfirstinline@#1}%
\newtoggle{Xgroupbyline@#1}%
\newtoggle{Xgroupbylineseparetwolines@#1}%
+
+ \newtoggle{Xnumberonlyfirstinline@#1}%
\newtoggle{Xnumberonlyfirstintwolines@#1}%
+
+ \newtoggle{Xlinenumannotationonlyfirst@#1}%
+ \newtoggle{Xlinenumannotationonlyfirstintwo@#1}%
+
\csgdef{Xtwolines@#1}{}%
\csgdef{Xmorethantwolines@#1}{}%
\csgdef{Xsublinesep@#1}{\fullstop}%
@@ -5111,7 +5209,10 @@
\newtoggle{Xpstart@#1}%
\newtoggle{Xstanza@#1}%
\csgdef{Xstanzaseparator@#1}{}%
+
\csgdef{Xsymlinenum@#1}{}%
+ \csgdef{Xsymlinenumannotation@#1}{}%
+
\newtoggle{Xnonumber@#1}%
\csgdef{Xbeforenumber@#1}{0pt}%
\csgdef{Xtxtbeforenumber@#1}{}%
@@ -5170,7 +5271,7 @@
{\unexpanded{\let\index\nindex}}%
{}%
\ifbool{indtl@notenumber}%
- {\unexpanded{\let\index\nindex}}%There is no note number… so
+ {\unexpanded{\let\index\nindex}}%There is no note number... so
{}%
\noexpand\Xnote@true%
\noexpand\prepare@Xprenotes{#1}%
@@ -5207,7 +5308,7 @@
{\unexpanded{\let\index\nindex}}%
{}%
\ifbool{indtl@notenumber}%
- {\unexpanded{\let\index\nindex}}%There is no note number… so
+ {\unexpanded{\let\index\nindex}}%There is no note number... so
{}%
\noexpand\Xnote@true%
\noexpand\prepare@Xprenotes{#1}%
@@ -5327,18 +5428,22 @@
\expandafter\newcount\csname prevpage#1@num\endcsname%
\expandafter\newcount\csname prevpage#1@numR\endcsname%
\expandafter\gappto\expandafter\no@expands\expandafter{\expandafter\let\csname footnote#1\endcsname\@gobble}%
- \expandafter\newcommand\csname footnote#1mark\endcsname{%
+ \expandafter\newcommand\csname footnote#1mark\endcsname[1][]{%
\begingroup%
\prepare@prenotesX{#1}%
- \stepcounter{footnote#1}%
+ \ifstrempty{##1}{%
+ \stepcounter{footnote#1}%
+ }{%
+ \setcounter{footnote#1}{##1}%
+ }%
\protected@csxdef{@thefnmark#1}{\csuse{thefootnote#1}}%
\csuse{@footnotemark#1}%
\m@mmf@prepare%
\endgroup%
}%
- \expandafter\newcommand\csname footnote#1text\endcsname[1]{%
+ \expandafter\newcommand\csname footnote#1text\endcsname[2][]{%
\begingroup%
- \csuse{vfootnote#1}{#1}{\expandonce{##1}}%
+ \csuse{vfootnote#1}{#1}{\expandonce{##2}}{##1}%
\endgroup%
}%
\arrangementX@normal{#1}%
@@ -5418,12 +5523,19 @@
\newtoggle{Xendnonumber@#1}%
\csgdef{Xendhangindent@#1}{0pt}%
+
\newtoggle{Xendnumberonlyfirstinline@#1}%
\newtoggle{Xendnumberonlyfirstintwolines@#1}%
+ \newtoggle{Xendlinenumannotationonlyfirst@#1}%
+ \newtoggle{Xendlinenumannotationonlyfirstintwo@#1}%
+
\csgdef{Xendbeforesymlinenum@#1}{\csuse{Xendbeforenumber@#1}}%
\csgdef{Xendaftersymlinenum@#1}{\csuse{Xendafternumber@#1}}%
+
\csgdef{Xendsymlinenum@#1}{}%
+ \csgdef{Xendsymlinenumannotation@#1}{}%
+
\csgdef{Xendboxsymlinenum@#1}{0pt}%
\csgdef{Xendbhooklinenumber@#1}{}%
@@ -5576,6 +5688,7 @@
\newhookcommand@series@reload{Xbhookgroup}{critical}
\newhookcommand@series{Xboxsymlinenum}%
\newhookcommand@series{Xsymlinenum}
+ \newhookcommand@series{Xsymlinenumannotation}%
\newhookcommand@series{Xbeforenumber}
\newhookcommand@series{Xtxtbeforenumber}
\newhookcommand@series{Xafternumber}
@@ -5591,6 +5704,8 @@
\newhookcommand@series@reload{Xafterrule}{critical}
\newhooktoggle@series{Xnumberonlyfirstinline}
\newhooktoggle@series{Xnumberonlyfirstintwolines}
+ \newhooktoggle@series{Xlinenumannotationonlyfirst}%
+ \newhooktoggle@series{Xlinenumannotationonlyfirstintwo}%
\newhooktoggle@series{Xgroupbyline}%
\newhooktoggle@series{Xgroupbylineseparetwolines}%
\newhooktoggle@series{Xnonumber}
@@ -5702,11 +5817,16 @@
\newhooktoggle@series{Xendnumberonlyfirstinline}%
\newhooktoggle@series{Xendnumberonlyfirstintwolines}%
+ \newhooktoggle@series{Xendlinenumannotationonlyfirst}%
+ \newhooktoggle@series{Xendlinenumannotationonlyfirstintwo}%
+
\newhookcommand@series{Xendsymlinenum}%
\newhookcommand@series{Xendbeforesymlinenum}%
\newhookcommand@series{Xendaftersymlinenum}%
\newhookcommand@series{Xendboxsymlinenum}%
+ \newhookcommand@series{Xendsymlinenumannotation}%
+
\newhookcommand@series{Xendbhooklinenumber}%
\newhookcommand@series{Xendahooklinenumber}%
\newhookcommand@series{Xendbhookinplaceofnumber}%
@@ -6358,6 +6478,9 @@
\newtoggle{Xlineflag@SEref}%
\toggletrue{Xlineflag@SEref}%%Here exception
+\newtoggle{Xlinenumannotationonlyfirst@SEref}%Never changed, just for the test in \setprintlines
+\newtoggle{Xlinenumannotationonlyfirst@appref}%Idem
+
\def\Xlinenumannotationposition@appref{after}%
\def\Xlinenumannotationposition@SEref{after}%
@@ -6403,6 +6526,9 @@
\newtoggle{Xendlineflag@SErefwithpage}
\toggletrue{Xendlineflag@SErefwithpage}%Here, exception
+\newtoggle{Xendlinenumannotationonlyfirst@SEref}%Never changed, just for the test in \setprintendlines
+\newtoggle{Xendlinenumannotationonlyfirst@appref}%Idem
+
\def\Xendlinenumannotationposition@apprefwithpage{after}%
\def\Xendlinenumannotationposition@apprefwithpage@SErefwithpage{after}%
@@ -7223,6 +7349,8 @@
{\led@error@fail@patch@makeindex}%
\newcommand{\edindex}[1]{\@bsphack\@esphack}
\newcommandx{\dummy@edindex}[2][1=\expandonce\jobname,usedefault]{}%
+\newcommand{\disable@edindex}{\let\old@edindex\edindex\let\edindex\dummy@edindex}%
+\newcommand{\restore@edindex}{\let\edindex\old@edindex}%
\newcommand{\hyperlinkformat}[3]{%
\ifstrempty{#1}%
{\hyperlink{#2}{#3}}%
@@ -7540,6 +7668,8 @@
\noexpand\instanzatrue\expandafter
\begingroup%
\catcode`\noexpand\&\active%
+ \unexpanded{\newdimen\parindent@beforestanza%
+ \parindent@beforestanza=\parindent}%Keep in memory the standard \parindent
\global\stanza@count\@ne\stanza@modulo\@ne
\noexpand\ifnum\expandafter\noexpand
\csname sza@0@\endcsname=\z@\let\noexpand\stanza@hang\relax
@@ -7576,6 +7706,7 @@
{\before@every@stop@stanza\pend[#1][#2]}%
\endgroup%
\instanzafalse%
+ \global\undef\parindent@beforestanza%
}
\newcommand{\AtEveryStopStanza}[1]{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/reledmac/reledpar.sty new/tex/latex/reledmac/reledpar.sty
--- old/tex/latex/reledmac/reledpar.sty 2019-01-22 23:19:50.000000000 +0100
+++ new/tex/latex/reledmac/reledpar.sty 2020-03-08 22:48:18.000000000 +0100
@@ -28,7 +28,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledpar}[2019/01/22 v2.22.2 reledmac extension for parallel texts]%
+\ProvidesPackage{reledpar}[2020/03/08 v2.23.0 reledmac extension for parallel texts]%
\RequirePackage{xspace}%
\RequirePackage{xkeyval}
@@ -146,7 +146,7 @@
Use instead #1R or #1* in your preamble.}%
}
\newcommand{\led@error@missing@numbering}[1]{%
- \reledpar@error{Missing \string\pstart\space …\space\string\pend\space inside `#1` environment}{\@ehc}%
+ \reledpar@error{Missing \string\pstart\space ...\space\string\pend\space inside `#1` environment}{\@ehc}%
}%
\providecommand*{\newnamebox}[1]{%
\expandafter\newbox\csname #1\endcsname}
@@ -768,13 +768,15 @@
}%
\newcommand*{\new@lineL}{%
+ \set@this@c@page%
\ifnumberline%
- \write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}%
+ \write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}%
\fi%
}%
\newcommand*{\new@lineR}{%
+ \set@this@c@page%
\ifnumberline%
- \write\linenum@outR{\string\@nl[\the\c@par@page][\thepar@page]}%
+ \write\linenum@outR{\string\@nl[\the\@this@c@page][\thepage]}%
\fi%
}%
@@ -904,6 +906,8 @@
\newif\ifinstanzaL
\newif\ifinstanzaR
+ \newif\ifinastanzaL%
+ \newif\ifinastanzaR%
\newenvironment{Leftside}{%
\expandafter\ifvoid\csname l@dLcolrawbox1\endcsname\else%
\led@err@Leftside@PreviousNotPrinted%
@@ -927,6 +931,8 @@
\newcommand*{\Rightsidehook}{}
\newcommand*{\Rightsidehookend}{}
+\newcommand*{\Rightpagehook}{}%
+\newcommand*{\Leftpagehook}{}%
\newenvironment{Rightside}{%
\expandafter\ifvoid\csname l@dRcolrawbox1\endcsname\else%
\led@err@Rightside@PreviousNotPrinted%
@@ -1308,6 +1314,7 @@
\l@drsn@te}}%
\def\print@eledsectionL{%%
+ \disable@edindex%
\addtocounter{pstartL}{-1}%
\ifdefstring{\@eledsectnotoc}{L}{\ledsectnotoc}{}
\ifdefstring{\@eledsectmark}{L}{}{\ledsectnomark}
@@ -1333,6 +1340,7 @@
{\new@line \hbox{\l@dunhbox@line{\one@line}}}%
\fi%
\vskip\eledsection@correcting@skip%
+ \restore@edindex%
}
\newcommand{\add@apparatusL}{%
@@ -1451,6 +1459,7 @@
}
\def\print@eledsectionR{%
+ \disable@edindex%
\addtocounter{pstartR}{-1}%
\set@sectcountR%
\ifdefstring{\@eledsectnotoc}{R}{\ledsectnotoc}{}%
@@ -1476,7 +1485,8 @@
\hspace{3\paperwidth}%
{\new@lineR \hbox{\l@dunhbox@line{\one@lineR}}}%
\fi%
- \vskip\eledsection@correcting@skip
+ \vskip\eledsection@correcting@skip%
+ \restore@edindex%
}
\newcommand{\add@apparatusR}{%
\if@firstlineofpageR%
@@ -2105,6 +2115,9 @@
\noexpand\csname sza@0@\endcsname}\stanzaindentbase%
\@hangingsymbol%
\fi%
+ \ifinastanzaL%
+ \@hangingsymbol%
+ \fi%
\fi%
}%
\newcommand{\inserthangingsymbolR}{%
@@ -2114,6 +2127,9 @@
\noexpand\csname sza@0@\endcsname}\stanzaindentbase%
\@hangingsymbol%
\fi%
+ \ifinastanzaR%
+ \@hangingsymbol%
+ \fi%
\fi%
}%
@@ -2121,8 +2137,15 @@
\catcode`\&=\active
\newenvironmentx{astanza}[2][1,2,usedefault]{%
+ \ifledRcol%
+ \global\inastanzaRtrue%
+ \else%
+ \global\inastanzaLtrue%
+ \fi%
\catcode`\&\active
\global\stanza@count\@ne\stanza@modulo\@ne
+ \newdimen\parindent@beforestanza%
+ \parindent@beforestanza=\parindent%Keep in memory the standard \parindent
\ifnum\usenamecount{sza@0@}=\z@
\let\stanza@hang\relax
\let\endlock\relax
@@ -2146,7 +2169,9 @@
{\pstart[#1][#2]\at@start@every@stanza}%
\@astanza@line
\let\par\relax\ignorespaces%No paragraph in verses
-}{}
+}{%
+ \global\undef\parindent@beforestanza%
+}%
\newcommandx{\@stopastanza}[2][1,2,usedefault]{%
\endlock\mbox{}%
@@ -2221,6 +2246,9 @@
}
{ \let\old@otherlanguage\otherlanguage%
\renewcommand{\otherlanguage}[2][]{%
+ \ifdefined\xpg@set@group@aux%
+ \xpg@set@group@aux%
+ \fi%
\selectlanguage[#1]{#2}%
\ifledRcol \gdef\theledlanguageR{#2}%
\else \gdef\theledlanguageL{#2}%
@@ -2775,6 +2803,7 @@
\checkraw@text%
{ \loop\ifaraw@text%
\checkpageL%
+ \Leftpagehook%
\l@duselanguage{\theledlanguageL}%
{ \loop\ifl@dsamepage%
\ifdefstring{\@eledsectnotoc}{L}{\ledsectnotoc}{}%
@@ -2834,6 +2863,7 @@
\parledgroup@correction@notespacing@init%
\clearl@dleftpage }%
\checkpageR%
+ \Rightpagehook%
\l@duselanguage{\theledlanguageR}%
{ \loop\ifl@dsamepage%
\set@sectcountR%
@@ -2911,6 +2941,8 @@
\global\l@dnumpstartsR=\z@%
\global\instanzaLfalse%
\global\instanzaRfalse%
+ \global\inastanzaLfalse%
+ \global\inastanzaRfalse%
\global\l@dprintingpagesfalse%
\ifnum\edtext@later=\edtext@now%
\else%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/reledmac.tlpobj new/tlpkg/tlpobj/reledmac.tlpobj
--- old/tlpkg/tlpobj/reledmac.tlpobj 2019-04-04 01:24:51.000000000 +0200
+++ new/tlpkg/tlpobj/reledmac.tlpobj 2020-03-09 00:29:05.000000000 +0100
@@ -1,6 +1,6 @@
name reledmac
category Package
-revision 50740
+revision 54191
shortdesc Typeset scholarly editions
relocated 1
longdesc A package for typesetting scholarly critical editions,
@@ -9,7 +9,7 @@
longdesc package supports indexing by page and by line numbers, and
longdesc simple tabular- and array-style environments. The package is
longdesc distributed with the related reledpar package.
-runfiles size=93
+runfiles size=94
RELOC/tex/latex/reledmac/reledmac.sty
RELOC/tex/latex/reledmac/reledpar.sty
catalogue-also ednotes poemscol ledmac eledmac
@@ -17,7 +17,6 @@
catalogue-contact-repository https://github.com/maieul/ledmac/
catalogue-contact-support http://geekographie.maieul.net/146
catalogue-ctan /macros/latex/contrib/reledmac
-catalogue-date 2019-04-03 15:10:43 +0200
catalogue-license lppl1.3
catalogue-topics crit-ed
-catalogue-version 2.31.2
+catalogue-version 2.32.5
++++++ repere.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/metapost/repere/README.md new/doc/metapost/repere/README.md
--- old/doc/metapost/repere/README.md 2017-11-14 00:49:06.000000000 +0100
+++ new/doc/metapost/repere/README.md 2019-06-11 23:01:20.000000000 +0200
@@ -1,4 +1,4 @@
-Package repere - Version 17.11.2 - November 12, 2017
+Package repere - Version 19.06 - June 11, 2019
This package provides MetaPost macros for drawing secondary school mathematics figures in a coordinate system :
- axis, grids
Binary files old/doc/metapost/repere/repere-doc.pdf and new/doc/metapost/repere/repere-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/metapost/repere/repere-doc.tex new/doc/metapost/repere/repere-doc.tex
--- old/doc/metapost/repere/repere-doc.tex 2017-11-14 00:49:06.000000000 +0100
+++ new/doc/metapost/repere/repere-doc.tex 2019-06-11 23:01:20.000000000 +0200
@@ -3,10 +3,10 @@
%http://melusine.eu.org/syracuse/poulecl/geometriesyr16/distrib/geometriesyr1...
% To compile:
-% (pdf)latex repere-doc.tex
-% mpost repere-doc.mp
-% mpost repere-doc.mp
-% (pdf)latex repere-doc.tex
+% pdflatex repere-doc.tex
+% mptopdf repere-doc.mp
+% mptopdf repere-doc.mp
+% pdflatex repere-doc.tex
\usepackage{calc,ifthen}
@@ -149,6 +149,7 @@
\IfFileExists{\jobname.\thenumfig}%
{\begin{minipage}[c]{\largeurfig}
\centering \includegraphics{\jobname.\thenumfig}\par
+% \centering a\includegraphics{reperedocfig2.mps}a\par
\end{minipage}}{}
\par}
@@ -239,6 +240,7 @@
\begin{codecache}
+%outputtemplate := "%j-%c.mps";
input geometriesyr16;
input repere;
\end{codecache}
@@ -592,7 +594,7 @@
\item[pointe(A,B,C...)] permet de marquer plusieurs points.
-\item[nomme.pos(A,nom)] marque le point et affiche son nom à la position \verb+pos+. \verb+nom+ peut être soit une chaîne de caractères, soit une expression du type \verb+btex ... etex+, soit une autre figure. Si \verb+nom+ est omis, le nom \verb+A+ est affiché. S'il s'agit d'un élément d'un tableau de points (\verb+A1+, \verb+A2+...), le nombre est affiché en indice.
+\item[nomme.pos(A,nom)] marque le point et affiche son nom à la position \verb+pos+ (qui peut être \verb|rt|, \verb|urt|, \verb|top|, \verb|ulft|...). \verb+nom+ peut être soit une chaîne de caractères, soit une expression du type \verb+btex ... etex+, soit une autre figure. Si \verb+nom+ est omis, le nom \verb+A+ est affiché. S'il s'agit d'un élément d'un tableau de points (\verb+A1+, \verb+A2+...), le nombre est affiché en indice.
\end{description}
@@ -618,7 +620,23 @@
fin;
\end{exemple}
+\begin{description}
+\item[nomme{[a]}(A,nom)] Il est possible d'obtenir un placement plus fin des étiquettes en remplaçant la position au sens de \MP{} (\verb|rt|, \verb|urt|...) par un nombre qui représente alors la position de l'étiquette par rapport au point en degrés.
+\end{description}
+\begin{exemple}[0.55]
+repere(-3,3.5,1cm,-3,3,1cm);
+ pair A,B,C[];
+ A=(-2,-1);B=(1,-2);
+ nomme[40](A);nomme[70](A);nomme[100](A);
+ nomme[-110](B);
+ for i=0 upto 8:
+ C[i]:= (1+1.5*cosd(40i),1+1.5*sind(40i));
+ nomme[40*i](C[i]) couleur pourpre;
+ endfor
+draw cadre;
+fin;
+\end{exemple}
\subsection{Vecteurs}
@@ -680,6 +698,28 @@
fin;
\end{exemple}
+\subsection{Demi-droites}
+\begin{description}
+\item[demidroite(A,B)] demi-droite $[AB)$.
+
+\item[demidroite(A,a)] demi-droite d'origine $A$ qui fait un angle $a$ avec la direction $(Ox)$.
+\end{description}
+
+
+\begin{exemple}
+repere(-4,4,0.9cm,-3,4,0.9cm);
+pair A,B,C;
+numeric a;
+A=(-1,1);B=(2,2);C=(-1,-2);
+draw axes(1,0);
+draw demidroite(A,B);
+nomme.llft(A);nomme.lrt(B);
+draw demidroite(C,0) dashed evenly;
+draw demidroite(C,120);
+nomme.llft(C);
+fin;
+\end{exemple}
+
\subsection{Courbes et fonctions}
\MP{} permet de définir simplement des fonctions (en utilisant par exemple la syntaxe suivante :
\verb|vardef f(expr x)=2x+1 enddef;|) et de définir des courbes passant par des points donnés (\verb+A..B..C+). Ces possibilités sont utilisées dans les macros qui suivent.
@@ -973,6 +1013,30 @@
fin;
\end{exemple}
+\begin{description}
+\item[spline(A,,B,,C,...)()] Courbe passant par les points $A$, $B$, $C$ représentant une fonction cubique par morceaux telle que $f(x_A)=y_A$, $f(x_B)=y_B$... et, le cas échéant, $f'(x_A)=y'_A$, $f'(x_B)=y'_B$... sur l'intervalle définissant le repère.
+\item[spline(A,,B,,C,...)(xmin,xmax)] Même courbe que précédemment mais sur l'intervalle $[xmin;xmax]$.
+\end{description}
+
+\begin{exemple}[0.55]
+repere.orth(-1,10,7cm,-1,10);
+pair A,B,C,D;
+A=(0,1);B=(3,7);C=(6,2);D=(9,6);
+path S,T;
+S=spline(A,B,C,D)();
+T=spline(A,0.5,B,C,0,D,-2)();
+draw quadrillage(1,1);
+draw axes(1,1);
+draw S epaisseur 1 couleur bleu;
+draw T epaisseur 1 couleur rouge;
+draw tangente.double(T,0) couleur rouge;
+draw tangente.double(T,6) couleur rouge;
+draw tangente.double(T,9) couleur rouge;
+nomme.lrt(A);nomme.top(B);
+nomme.llft(C);nomme.rt(D);
+fin;
+\end{exemple}
+
\section{Suites}
\begin{description}
@@ -1442,13 +1506,19 @@
\subsection{Codage des segments et des angles}
\begin{description}
-\item[marqueangle(A,O,B,n)] Figure formée de \verb|n| arcs de cercle de centre $O$ et de rayon moyen \verb|taille_marque_a| (qui vaut par défaut \verb|0.4cm|) permettant de marquer l'angle géométrique $\widehat{AOB}$. Les arcs son séparés de \verb|sep_marque_a| qui vaut par défaut \verb|1.5|.
+\item[taille\_marque\_a] Valeur numérique (qui vaut par défaut \verb|0.4cm|) donnant le rayon des arcs de cercles servant à marquer les angles.
+
+\item[sep\_marque\_a] Valeur numérique (qui vaut par défaut \verb|1.5bp|) donnant la différence de rayon entre les différents arcs servant à marquer les angles.
+
+\item[marqueangle(A,O,B,n)] Figure formée de \verb|n| arcs de cercle de centre $O$ et de rayon moyen \verb|taille_marque_a| permettant de marquer l'angle géométrique $\widehat{AOB}$. Les arcs (si \verb|n| est supérieur à 1) sont séparés de \verb|sep_marque_a|.
Il s'agit d'un chemin fermé qui peut donc être rempli.
\item[marqueangle(A,O,B)] Arc de cercle de centre \verb|O| et de rayon \verb|taille_marque_a| permettant de marquer l'angle orienté avec \verb|drawarrow|.
-\item[nomme.pos(A,O,B,texte)] Place le texte entre \verb|A| et \verb|B|, à une distance \verb|taille_marque_a| du centre, à la position \verb|pos|.
+\item[nomme.pos(A,O,B,texte)] Place le texte à la position \verb|pos| par rapport au point central de l'arc de cercle de centre $O$ et de rayon \verb|taille_marque_a|. \verb|pos| peut être \verb|rt|, \verb|urt|, \verb|top|, etc. ou un angle donné par rapport à la direction $(Ox)$.
+
+\item[nomme(A,O,B,texte)] Même chose que précédemment mais la position est calculée automatiquement en fonction de l'angle.
\end{description}
@@ -1464,7 +1534,8 @@
drawarrow marqueangle(A,C,B);
fill marqueangle(B,A,C,1) withcolor vert;
draw marqueangle(B,A,C,1);
-nomme.rt(B,A,C,"\ang{45}");
+nomme[20](B,A,C,"\ang{45}");
+nomme(C,B,A,"$\alpha$");
fin;
\end{exemple}
@@ -1491,7 +1562,7 @@
drawoptions(withcolor vertfonce);
draw vecteur.lrt(B,u);draw vecteur.lrt(C,u);
fin;
-\end{exemple}%
+\end{exemple}
\section{Divers}
\subsection{Composition des étiquettes}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/repere.doc.tlpobj new/tlpkg/tlpobj/repere.doc.tlpobj
--- old/tlpkg/tlpobj/repere.doc.tlpobj 2019-02-28 04:04:18.000000000 +0100
+++ new/tlpkg/tlpobj/repere.doc.tlpobj 2019-06-12 01:38:45.000000000 +0200
@@ -1,9 +1,9 @@
name repere.doc
category Package
-revision 45779
+revision 51363
shortdesc doc files of repere
relocated 1
-docfiles size=129
+docfiles size=135
RELOC/doc/metapost/repere/README.md
RELOC/doc/metapost/repere/repere-doc.pdf
RELOC/doc/metapost/repere/repere-doc.tex
++++++ repere.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metapost/repere/repere.mp new/metapost/repere/repere.mp
--- old/metapost/repere/repere.mp 2017-11-14 00:49:06.000000000 +0100
+++ new/metapost/repere/repere.mp 2019-06-11 23:01:20.000000000 +0200
@@ -2,7 +2,7 @@
%% repere.mp %%
%% Macros pour la construction de figures dans un repère %%
%% o.peault@posteo.net %%
-%% Version 17.11.2 (Novembre 2017) %%
+%% Version 19.06 (Juin 2019) %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% This work may be distributed and/or modified under the conditions of
@@ -12,6 +12,10 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Mars 2019 : changement spline
+% Juin 2019 : demi-droites, nomme[<angle>]
+% À faire : extratextx, extratexty
+
input format;
if not known mplib: input latexmp fi;
@@ -965,21 +969,50 @@
for p_ = t: if pair p_: MarquePoint(p_); fi endfor;
enddef;
+% Juin 2019 : placement fin des étiquettes (angle donné)
+vardef thelabelang@#(expr s,z)=
+ save tmpang,tmpfig,tmppt,tmppath,tmpstr;
+ string tmpstr;
+ numeric tmpang;
+ pair tmppt;
+ path tmppath;
+ save p; picture p;
+ tmpstr := str @#;
+ if picture s: p=s
+ else: p = LaTeX(s)
+ fi;
+ tmppath := llcorner p -- lrcorner p -- urcorner p -- ulcorner p -- cycle;
+ if ASCII tmpstr = 91:
+ tmpang := scantokens substring(1,length(tmpstr)-1) of tmpstr
+ else:
+ tmpang := scantokens tmpstr
+ fi;
+ tmppt := tmppath intersectionpoint (0.5urcorner p-- (0.5urcorner p + 100 * (dir (180+tmpang))));
+ p shifted (-tmppt + _cart(z) + labeloffset*(cosd(tmpang),sind(tmpang)) )
+enddef;
+
+def labelang = draw thelabelang enddef;
+
vardef nommepoint@#(text t)=
save $,ch,dess,latch;
pair $;
string ch,latch;
picture dess;
+ if (ASCII str @# < 58) or (ASCII str @# = 91):
+ def mylabel = labelang enddef
+ else:
+ def mylabel = label enddef
+ fi;
if long_texte(t)=1:
dess:=image(draw MarquePointFig(t);
ch:=_chaine(t);
- label@#("$" & ch & "$",t) withcolor coullabel)
+ mylabel@#("$" & ch & "$",t) withcolor coullabel)
else:
dess:=image(%
for PP=t:
if pair PP: MarquePoint(PP); $:=PP
- else: if string PP: label@#(PP,$) else: label@#(PP scaled defaultscale,$) fi withcolor coullabel
+ else: if string PP: mylabel@#(PP,$) else: mylabel@#(PP scaled defaultscale,$) fi withcolor coullabel
fi;
endfor)
fi;
@@ -987,6 +1020,8 @@
enddef;
+
+
vardef nommecourbe@#(suffix p)(text t)=
save A,ch,dess;
pair A;
@@ -1043,7 +1078,7 @@
elseif prefnomme="left": xpart A < xpart B
elseif prefnomme="top": ypart A > ypart B
elseif prefnomme="bottom": ypart A < ypart B
- elseif hide(errmessage "string 'prefnomme' should be set to left, right, top or bottom")
+ else: hide(errmessage "string 'prefnomme' should be set to left, right, top or bottom")
fi
enddef;
@@ -1053,6 +1088,7 @@
pair Pt,P[];
numeric nbint,pp,T[];
intercourbestimes(T)(cadre,p);
+ show T[1];
Pt:=_O;pp:=0;
if known T[1]:
Pt:= point T[1] of p;
@@ -1103,22 +1139,39 @@
nommeautoobjtex(p,"$" & _chaine(p) & "$")
enddef;
+vardef estcadree primary f =
+ show llcorner f; show llcorner cadre transformed _T;
+ show urcorner f; show urcorner cadre;
+ (xpart urcorner f <= xpart urcorner (cadre transformed _T))
+ and (ypart urcorner f <= ypart urcorner (cadre transformed _T))
+ and (xpart llcorner f >= xpart llcorner (cadre transformed _T))
+ and (ypart llcorner f >= ypart llcorner (cadre transformed _T))
+enddef;
+
% Avec label donné
vardef nommeautoobjtex(expr p,leg)=
- save ptA,pos,ttmp;
+ save ptA,pos,ttmp,tmpfig;
pair ptA;
+ picture tmpfig;
numeric ttmp;
string pos;
ttmp:=pointnommetime(p);
ptA:= point ttmp of p;
pos:=position(ptA,ttmp,p);
- if string leg:
- scantokens("thelabel." & pos)(leg,ptA)
- else:
- scantokens("thelabel." & pos)(leg scaled defaultscale,ptA)
- fi
+ for i=0 upto 120:
+ tmpfig :=
+ if string leg:
+ scantokens("thelabel." & pos)(leg,ptA)
+ else:
+ scantokens("thelabel." & pos)(leg scaled defaultscale,ptA)
+ fi;
+ exitif estcadree tmpfig;
+ ptA := point (ttmp + ((-1)**(i+1))*round((i+1)/2)*length(p)/60) of p;
+ endfor
+ tmpfig
enddef;
+
vardef nommeautoobj(text t)=
if long_texte(t)=1: nommeautoobjsuf(t)
else: nommeautoobjtex(t)
@@ -1420,6 +1473,7 @@
pp:=subpath(xpart(pp intersectiontimes q)+0.01,length pp) of pp;
%0.01(?!) pour que le point trouvé ne soit pas dans le sous-chemin...
i:=i+1;
+ exitif i=10;
endfor;
enddef;
@@ -1620,28 +1674,67 @@
enddef;
-% Novembre 2017
+%% Novembre 2017
+%vardef deriveesplinecubique(suffix k)(suffix xs,ys)(expr n)=
+%% renvoie les dérivées pour interpolation avec splines cubiques
+%% source : https://en.wikipedia.org/wiki/Spline_interpolation
+%% xs[] et ys[] sont des listes, n est le nombre de valeurs
+%% Renvoie les dérivées dans la liste k[]
+% (2k[0] + k[1])/(xs[1] - xs[0]) = 3(ys[1]-ys[0])/((xs[1]-xs[0])**2);
+% for i=1 upto n-1:
+% k[i-1]/(xs[i] - xs[i-1]) + 2k[i]/(xs[i] - xs[i-1]) + 2k[i]/(xs[i+1] - xs[i]) + k[i+1]/(xs[i+1] - xs[i]) = 3(ys[i] - ys[i-1])/((xs[i]-xs[i-1])**2) + 3(ys[i+1] - ys[i])/((xs[i+1]-xs[i])**2);
+% endfor
+% (k[n-1] + 2k[n])/(xs[n]-xs[n-1]) = 3(ys[n]-ys[n-1])/((xs[n]-xs[n-1])**2);
+%enddef;
+
+%Mars 2019
vardef deriveesplinecubique(suffix k)(suffix xs,ys)(expr n)=
% renvoie les dérivées pour interpolation avec splines cubiques
% source : https://en.wikipedia.org/wiki/Spline_interpolation
% xs[] et ys[] sont des listes, n est le nombre de valeurs
% Renvoie les dérivées dans la liste k[]
- (2k[0] + k[1])/(xs[1] - xs[0]) = 3(ys[1]-ys[0])/((xs[1]-xs[0])**2);
+ if not derex[0]:
+ (2k[0] + k[1])/(xs[1] - xs[0]) = 3(ys[1]-ys[0])/((xs[1]-xs[0])**2)
+ fi;
for i=1 upto n-1:
- k[i-1]/(xs[i] - xs[i-1]) + 2k[i]/(xs[i] - xs[i-1]) + 2k[i]/(xs[i+1] - xs[i]) + k[i+1]/(xs[i+1] - xs[i]) = 3(ys[i] - ys[i-1])/((xs[i]-xs[i-1])**2) + 3(ys[i+1] - ys[i])/((xs[i+1]-xs[i])**2);
+ if not derex[i]:
+ k[i-1]/(xs[i] - xs[i-1]) + 2k[i]/(xs[i] - xs[i-1]) + 2k[i]/(xs[i+1] - xs[i]) + k[i+1]/(xs[i+1] - xs[i]) = 3(ys[i] - ys[i-1])/((xs[i]-xs[i-1])**2) + 3(ys[i+1] - ys[i])/((xs[i+1]-xs[i])**2)
+ fi;
endfor
- (k[n-1] + 2k[n])/(xs[n]-xs[n-1]) = 3(ys[n]-ys[n-1])/((xs[n]-xs[n-1])**2);
+ if not derex[n]:
+ (k[n-1] + 2k[n])/(xs[n]-xs[n-1]) = 3(ys[n]-ys[n-1])/((xs[n]-xs[n-1])**2)
+ fi;
enddef;
-% Novembre 2017
+%% Novembre 2017
+%vardef splineinterpolfonct_pt(text t)(expr x)=
+%% t est la liste des points A,B,C...
+% save xa,ya,dd,n;
+% numeric xa[],ya[],dd[],n;
+% n:=-1;
+% for i=t:
+% n := n + 1;
+% xa[n] := xpart i; ya[n] := ypart i;
+% endfor
+% deriveesplinecubique(dd)(xa,ya)(n);
+% splinederfonct((xa[0],ya[0],dd[0]) for ii=1 upto n: , (xa[ii],ya[ii],dd[ii]) endfor)(x)
+%enddef;
+
+% Mars 2019
vardef splineinterpolfonct_pt(text t)(expr x)=
-% t est la liste des points A,B,C...
- save xa,ya,dd,n;
+% t est la liste A,[y'1,]B,[y'2,]C,[y'3,]...
+ save xa,ya,dd,n,derex;
numeric xa[],ya[],dd[],n;
+ boolean derex[];
n:=-1;
for i=t:
- n := n + 1;
- xa[n] := xpart i; ya[n] := ypart i;
+ if numeric i:
+ dd[n]:=i;derex[n]:=true;
+ else:
+ n := n + 1;
+ derex[n]:=false;
+ xa[n] := xpart i; ya[n] := ypart i
+ fi;
endfor
deriveesplinecubique(dd)(xa,ya)(n);
splinederfonct((xa[0],ya[0],dd[0]) for ii=1 upto n: , (xa[ii],ya[ii],dd[ii]) endfor)(x)
@@ -1827,6 +1920,31 @@
enddef;
+% demi-droites juin 2019
+vardef demidroitept(expr A,B)=
+ A--(_diag/abs(A-B))[A,B]
+enddef;
+
+vardef demidroiteangle(expr A,alpha)=
+ demidroitept(A,A + dir alpha)
+enddef;
+
+vardef demidroite(text t)=
+ save reptmp,repbool;
+ path reptmp;
+ boolean repbool;
+ repbool:=false;
+ for i=t:
+ if numeric i: repbool := true fi;
+ endfor
+ if repbool:
+ reptmp := demidroiteangle(t)
+ else:
+ reptmp := demidroitept(t)
+ fi;
+ reptmp
+enddef;
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% DEMI-PLANS %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2420,15 +2538,18 @@
vardef nommeangle@#(expr A,O,B,p)=
save P,a;pair P;path a;
+ save marque_p; string marque_p;
+ marque_p:="";
a:=arc_marqueangle(A,O,B,taille_marque_a);
P:= point (arctime 0.5*arclength a of a) of a;
- if string p: thelabel@#(p,P)
- else: thelabel@#(p scaled defaultscale,P)
+ if str @# = "":
+ nommepoint[angle (P-O)](P,p)
+ else:
+ nommepoint@#(P,p)
fi
enddef;
-
taille_marque_ad:=0.3cm;
vardef marqueangledroit(expr A,O,B)=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/repere.tlpobj new/tlpkg/tlpobj/repere.tlpobj
--- old/tlpkg/tlpobj/repere.tlpobj 2019-02-28 04:04:18.000000000 +0100
+++ new/tlpkg/tlpobj/repere.tlpobj 2019-06-12 01:38:45.000000000 +0200
@@ -1,6 +1,6 @@
name repere
category Package
-revision 45779
+revision 51363
shortdesc Diagrams for school mathematics
relocated 1
longdesc This package provides MetaPost macros for drawing secondary
@@ -8,10 +8,10 @@
longdesc points, vectors functions (curves, tangents, integrals,
longdesc sequences) statistic diagrams plane geometry (polygons,
longdesc circles)
-runfiles size=18
+runfiles size=19
RELOC/metapost/repere/repere.mp
catalogue-ctan /graphics/metapost/contrib/macros/repere
-catalogue-date 2017-11-12 22:58:02 +0100
+catalogue-date 2019-06-11 19:31:47 +0200
catalogue-license lppl1.3
catalogue-topics teaching
-catalogue-version 17.11.2
+catalogue-version 19.06
++++++ resphilosophica.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/resphilosophica/README new/doc/latex/resphilosophica/README
--- old/doc/latex/resphilosophica/README 2019-03-15 22:16:18.000000000 +0100
+++ new/doc/latex/resphilosophica/README 2019-05-03 00:35:22.000000000 +0200
@@ -7,6 +7,8 @@
Changes
+ version 1.35 Changed margins
+
version 1.34 Deleted thin space before : in authors' addresses and
e-mails
Binary files old/doc/latex/resphilosophica/resphilosophica.pdf and new/doc/latex/resphilosophica/resphilosophica.pdf differ
Binary files old/doc/latex/resphilosophica/rpsample.pdf and new/doc/latex/resphilosophica/rpsample.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/resphilosophica/rpsample.tex new/doc/latex/resphilosophica/rpsample.tex
--- old/doc/latex/resphilosophica/rpsample.tex 2016-12-17 21:39:05.000000000 +0100
+++ new/doc/latex/resphilosophica/rpsample.tex 2019-05-03 00:35:22.000000000 +0200
@@ -1,8 +1,8 @@
-\documentclass[screen]{resphilosophica}
+%\documentclass[screen]{resphilosophica}
%\documentclass[manuscript]{resphilosophica}
%\documentclass[preprint]{resphilosophica}
%\documentclass[forthcoming]{resphilosophica}
-%\documentclass{resphilosophica}
+\documentclass{resphilosophica}
\usepackage{kantlipsum}
\title[A Sample Paper: A Template]{A Sample Paper:\\ \emph{A
Template}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/resphilosophica.doc.tlpobj new/tlpkg/tlpobj/resphilosophica.doc.tlpobj
--- old/tlpkg/tlpobj/resphilosophica.doc.tlpobj 2019-03-16 02:24:42.000000000 +0100
+++ new/tlpkg/tlpobj/resphilosophica.doc.tlpobj 2019-05-03 01:40:30.000000000 +0200
@@ -1,6 +1,6 @@
name resphilosophica.doc
category Package
-revision 50402
+revision 50935
shortdesc doc files of resphilosophica
relocated 1
docfiles size=138
++++++ resphilosophica.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/resphilosophica/resphilosophica.cls new/tex/latex/resphilosophica/resphilosophica.cls
--- old/tex/latex/resphilosophica/resphilosophica.cls 2019-03-15 22:16:18.000000000 +0100
+++ new/tex/latex/resphilosophica/resphilosophica.cls 2019-05-03 00:35:22.000000000 +0200
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{resphilosophica}
-[2019/03/14 v1.34 Typesetting articles for Res Philosophica]
+[2019/04/14 v1.35 Typesetting articles for Res Philosophica]
\RequirePackage{xkeyval}
\newif\ifRESP@fontauto
\RESP@fontautotrue
@@ -107,15 +107,15 @@
\fi
\setlength{\textwidth}{318pt}
\setlength{\textheight}{540pt}
-\setlength{\evensidemargin}{-10pt}
-\setlength{\oddsidemargin}{-26pt}
+\setlength{\evensidemargin}{-0.125in}
+\setlength{\oddsidemargin}{-0.25in}
\ifRESP@screen
-\setlength{\evensidemargin}{-18pt}
-\setlength{\oddsidemargin}{-18pt}
+\setlength{\evensidemargin}{-0.1875in}
+\setlength{\oddsidemargin}{-0.1875in}
\fi
\ifRESP@forthcoming
-\setlength{\evensidemargin}{-18pt}
-\setlength{\oddsidemargin}{-18pt}
+\setlength{\evensidemargin}{-0.1875in}
+\setlength{\oddsidemargin}{-0.1875in}
\fi
\setlength{\topmargin}{-48pt}
\listisep\medskipamount
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/resphilosophica.tlpobj new/tlpkg/tlpobj/resphilosophica.tlpobj
--- old/tlpkg/tlpobj/resphilosophica.tlpobj 2019-03-16 02:24:42.000000000 +0100
+++ new/tlpkg/tlpobj/resphilosophica.tlpobj 2019-05-03 01:40:30.000000000 +0200
@@ -1,6 +1,6 @@
name resphilosophica
category Package
-revision 50402
+revision 50935
shortdesc Typeset articles for the journal Res Philosophica
relocated 1
longdesc The bundle provides a class for typesetting articles for the
@@ -10,7 +10,7 @@
RELOC/bibtex/bst/resphilosophica/resphilosophica.bst
RELOC/tex/latex/resphilosophica/resphilosophica.cls
catalogue-ctan /macros/latex/contrib/resphilosophica
-catalogue-date 2019-03-15 08:43:01 +0100
+catalogue-date 2019-04-25 23:11:30 +0200
catalogue-license lppl1.3
catalogue-topics journalpub class
-catalogue-version 1.34
+catalogue-version 1.35
++++++ resumecls.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/resumecls/Makefile new/doc/xelatex/resumecls/Makefile
--- old/doc/xelatex/resumecls/Makefile 2013-03-18 23:32:39.000000000 +0100
+++ new/doc/xelatex/resumecls/Makefile 1970-01-01 01:00:00.000000000 +0100
@@ -1,56 +0,0 @@
-# +-----------------------------------------------------------------------------
-# | File: Makefile
-# | Author: huxuan
-# | E-mail: i(at)huxuan.org
-# | Created: 2012-12-18
-# | Last modified: 2013-03-17
-# | Description:
-# | Makefile for resumecls
-# |
-# | Copyrgiht (c) 2012-2013 by huxuan. All rights reserved.
-# +-----------------------------------------------------------------------------
-
-PACKAGE=resumecls
-
-.PHONY: all cls doc clean distclean
-
-all: doc
-
-# cls
-
-cls: $(PACKAGE).cls
-
-$(PACKAGE).cls: $(PACKAGE).ins $(PACKAGE).dtx
- latex $(PACKAGE).ins
-
-# doc
-
-doc: $(PACKAGE).pdf
-
-$(PACKAGE).pdf: $(PACKAGE).cls
- xelatex $(PACKAGE).dtx
- makeindex -s gind.ist -o $(PACKAGE).ind $(PACKAGE).idx
- makeindex -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo
- xelatex $(PACKAGE).dtx
- xelatex $(PACKAGE).dtx
-
-# clean & distclean
-
-clean:
- -@rm -f \
- *~ \
- *.aux \
- *.bbl \
- *.blg \
- *.dvi \
- *.glo \
- *.gls \
- *.idx \
- *.ilg \
- *.ind \
- *.log \
- *.out
-
-distclean: clean
- -@rm -f \
- *.cls
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/resumecls/README.md new/doc/xelatex/resumecls/README.md
--- old/doc/xelatex/resumecls/README.md 2015-06-16 23:21:16.000000000 +0200
+++ new/doc/xelatex/resumecls/README.md 2020-04-16 23:00:35.000000000 +0200
@@ -1,18 +1,27 @@
-# resumecls / [CTAN mirror](http://www.ctan.org/pkg/resumecls)
+# resumecls
-A LaTeX cls to typeset resume both in English and Chinese
+A LaTeX document class to typeset a resume or cv both in English and Chinese with more ease and flexibility.
-# Usage / How to get it
+## Installation
-- [`resumecls`](http://www.ctan.org/pkg/resumecls) has already been included in [CTAN](http://www.ctan.org/) Mirror.
-- To get the cls file you only need to update local CTAN Packages.
-- For how to use it you can refer to [`resumecls-example`](https://github.com/huxuan/resumecls-example) repo.
+Since [`resumecls`](http://www.ctan.org/pkg/resumecls) is included in the CTAN.
+You can install it by any package managers.
-## Manual Compile
+Take `tlgmr` as example,
-To get the cls file and document manually, you can make it either by Makefile or LaTeX command
+```shell
+tlmgr install resumecls
+```
+
+## Usage / Examples
+
+please refer to [`resumecls-example`](https://github.com/huxuan/resumecls-example).
+
+## Compile manually
+
+To get the document class file and document manually, you can compile via Makefile or LaTeX commands.
-### Compile by Makefile (Recommended if your os supported)
+### Compile by Makefile
#### Get resumecls.cls
```shell
@@ -24,19 +33,17 @@
make doc
```
-#### Clean
-Clean all generated files except for cls and pdf
+#### Clean intermediate generated files
```shell
make clean
```
-#### DistClean
-Clean all generated files
+#### Clean for distribution
```shell
make distclean
```
-### Compile by LaTeX command
+### Compile by LaTeX commands
#### Get resumecls.cls
```shell
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/resumecls/example/Makefile new/doc/xelatex/resumecls/example/Makefile
--- old/doc/xelatex/resumecls/example/Makefile 2015-06-16 23:21:16.000000000 +0200
+++ new/doc/xelatex/resumecls/example/Makefile 2020-04-16 23:00:35.000000000 +0200
@@ -3,17 +3,19 @@
# | Author: huxuan
# | E-mail: i(at)huxuan.org
# | Created: 2012-12-18
-# | Last modified: 2013-03-16
+# | Last modified: 2020-04-16
# | Description:
# | Makefile for resumecls examples
# |
-# | Copyrgiht (c) 2012-2013 by huxuan. All rights reserved.
+# | Copyrgiht (c) 2012-2020 by huxuan. All rights reserved.
# +-----------------------------------------------------------------------------
-include config.mk
-
.PHONY: resume resume-zh resume-en clean depclean
+RESUME=resume
+RESUMEZH=resume-zh
+RESUMEEN=resume-en
+
# resume
resume: resume-zh resume-en
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/resumecls/example/README.md new/doc/xelatex/resumecls/example/README.md
--- old/doc/xelatex/resumecls/example/README.md 2013-03-18 23:32:39.000000000 +0100
+++ new/doc/xelatex/resumecls/example/README.md 2020-04-16 23:00:35.000000000 +0200
@@ -1,19 +1,18 @@
# resumecls-example
-Examples to typeset resume in both Chinese and English by using resumecls
+Examples to typeset resume both in Chinese and English with resumecls.
## Preview
-- [resume-en.pdf](https://github.com/huxuan/resumecls-example/blob/master/resume-en.pdf?raw=tr...)
-- [resume-zh.pdf](https://github.com/huxuan/resumecls-example/blob/master/resume-zh.pdf?raw=tr...)
+An online version for preview is available on [overleaf](https://www.overleaf.com/read/yrtmzwhtzwtz).
## Workflow
```shell
git clone git://github.com/huxuan/resumecls-example.git
cd resumecls-example
-# Modify resume-en.tex resume-en.tex resume.bib (bib is optional)
-# Compile via Makefile or LaTeX command (More info below)
+# Modify resume-en.tex resume-en.tex resume.bib (bib is optional).
+# Compile via Makefile or LaTeX command (More info below).
```
## Compile
@@ -37,6 +36,6 @@
Notes:
-- To get English version, replace <resume> with 'resume-en'
-- To get Chinese version, replace <resume> with 'resume-zh'
-- If no bib info is needed, the first two steps can be passed
+- To get the English version, replace `<resume>` with 'resume-en'.
+- To get the Chinese version, replace `<resume>` with 'resume-zh'.
+- If no bib info is needed, the first two steps can be skipped.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/resumecls/example/config-sample.mk new/doc/xelatex/resumecls/example/config-sample.mk
--- old/doc/xelatex/resumecls/example/config-sample.mk 2013-03-18 23:32:39.000000000 +0100
+++ new/doc/xelatex/resumecls/example/config-sample.mk 1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-# +-----------------------------------------------------------------------------
-# | File: config
-# | Author: huxuan
-# | E-mail: i(at)huxuan.org
-# | Created: 2012-12-18
-# | Last modified: 2013-03-16
-# | Description:
-# | Configuration for Makefile
-# |
-# | Copyrgiht (c) 2012-2013 by huxuan. All rights reserved.
-# +-----------------------------------------------------------------------------
-
-RESUME=resume
-RESUMEZH=resume-zh
-RESUMEEN=resume-en
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/resumecls/example/config.mk new/doc/xelatex/resumecls/example/config.mk
--- old/doc/xelatex/resumecls/example/config.mk 2013-03-18 23:32:39.000000000 +0100
+++ new/doc/xelatex/resumecls/example/config.mk 1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-# +-----------------------------------------------------------------------------
-# | File: config
-# | Author: huxuan
-# | E-mail: i(at)huxuan.org
-# | Created: 2012-12-18
-# | Last modified: 2013-03-11
-# | Description:
-# | Configuration for Makefile
-# |
-# | Copyrgiht (c) 2012-2013 by huxuan. All rights reserved.
-# +-----------------------------------------------------------------------------
-
-RESUME=resume
-RESUMEZH=resume-zh
-RESUMEEN=resume-en
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/resumecls/example/resume-common.tex new/doc/xelatex/resumecls/example/resume-common.tex
--- old/doc/xelatex/resumecls/example/resume-common.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/xelatex/resumecls/example/resume-common.tex 2020-04-16 23:00:35.000000000 +0200
@@ -0,0 +1,15 @@
+% !Mode:: "TeX:UTF-8"
+% +-----------------------------------------------------------------------------
+% | File: resume-common.tex
+% | Author: huxuan
+% | E-mail: i(at)huxuan.org
+% | Created: 2020-04-16
+% | Last modified: 2020-04-16
+% | Description:
+% | Common information to typeset resume with resumecls
+% |
+% | Copyright (c) 2020-2020 by huxuan. All rights reserved.
+% +-----------------------------------------------------------------------------
+\mobile{+XX XXX XXXX XXXX}
+\mail{i@example.com}
+\homepage{http://example.com}
Binary files old/doc/xelatex/resumecls/example/resume-en.pdf and new/doc/xelatex/resumecls/example/resume-en.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/resumecls/example/resume-en.tex new/doc/xelatex/resumecls/example/resume-en.tex
--- old/doc/xelatex/resumecls/example/resume-en.tex 2015-09-21 23:59:00.000000000 +0200
+++ new/doc/xelatex/resumecls/example/resume-en.tex 2020-04-16 23:00:35.000000000 +0200
@@ -4,99 +4,88 @@
% | Author: huxuan
% | E-mail: i(at)huxuan.org
% | Created: 2012-12-18
-% | Last modified: 2013-03-16
+% | Last modified: 2020-04-16
% | Description:
% | A English Resume Example in LaTeX based on resumecls
% |
-% | Copyrgiht (c) 2012-2013 by huxuan. All rights reserved.
+% | Copyright (c) 2012-2020 by huxuan. All rights reserved.
% +-----------------------------------------------------------------------------
\documentclass[color]{resumecls}
-\ctexset{today=old}
+\include{resume-common}
\name{Name}
-\organization{unit, school or organization}
-\address{address, zip code}
-\mobile{+1 XXX XXXX XXXX}
-\mail{i@example.com}
-\homepage{http://example.com}
+\organization{School or Organization}
+\address{Address, Zip Code}
\leftfooter{Last Modified: \today}
\rightfooter{\url{http://example.com/resume-en.pdf}}
-\begin{document}
+\ctexset{today=old}
+\begin{document}
\begin{table}
-
\maketitle
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\heading{Education}
-\entry{2em}{Xrp{8em}}{%
- \heiti{School} & City & Time Period \\
+\heading{Experience (Compacted version)}
+\entry{0em}{Xlr}{{\bfseries Organization} \quad Department & Position & Time Period}
+\entry{2em}{X}{%
+ Description1 \\
+ Description2 \\
}
-\entry{4em}{lXX}{%
- Degree & College of XXX & Major in XX \\
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\heading{Education}
+\entry{0em}{Xrr}{{\bfseries School} & City & Time Period}
+\entry{2em}{lXX}{%
+ Degree1 & College1 & Major1 \\
+ Degree2 & College2 & Major2 \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{Research Experience}
-\entry{2em}{Xp{8em}}{%
- \heiti{Insitute} & Time Period \\
+\entry{0em}{Xr}{{\bfseries Insitute} & Time Period}
+\entry{2em}{X}{Lab \quad Position}
+\entry{4em}{X}{%
+ Description \\
+ bibtex can be used here, like \cite{label} \\
}
-\entry{4em}{X}{Lab \quad Position}
-\entry{6em}{X}{%
- Research Fields and Specific Content \\
- Publication (You can also use bibtex, like \cite{label}, see end of doc) \\
-}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{Working Experience}
-\entry{2em}{Xp{8em}}{%
- \heiti{Unit} & Time Period \\
-}
-\entry{4em}{X}{Department \quad Position}
-\entry{6em}{X}{%
- Specific Issues Responsible for \\
- Specific Content of Your Work \\
+\entry{0em}{Xr}{{\bfseries Organization} & Time Period}
+\entry{2em}{X}{Department \quad Position}
+\entry{4em}{X}{%
+ Description \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{School Experience}
-\entry{2em}{Xp{8em}}{%
- Experience 1 & Time Period \\
- Experience 2 & Time Period \\
+\entry{0em}{Xr}{%
+ Experience1 & Time Period \\
+ Experience2 & Time Period \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{Awards}
-\entry{2em}{Xr}{%
- Award 1 & Time \\
- Award 2 & Time \\
+\entry{0em}{Xr}{%
+ Award1 & Time \\
+ Award2 & Time \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{Professional Skill}
-\entry{2em}{lX}{%
+\entry{0em}{lX}{%
Proficient in & XXX \\
Experienced in & XXX \\
Familiar with & XXX \\
Use & XXX \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{Other listings, such as hobby, network profile and so on}
-\entry{2em}{lX}{%
- Label 1 & Content 1 \\
- Label 2 & Content 2 \\
+\entry{0em}{lX}{%
+ Label1 & Content1 \\
+ Label2 & Content2 \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% If there is no publications, just comment this part.
\heading{Appendix: Publications}
\vspace{-6em}
\bibliography{resume}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{table}
\end{document}
Binary files old/doc/xelatex/resumecls/example/resume-zh.pdf and new/doc/xelatex/resumecls/example/resume-zh.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/resumecls/example/resume-zh.tex new/doc/xelatex/resumecls/example/resume-zh.tex
--- old/doc/xelatex/resumecls/example/resume-zh.tex 2015-09-21 23:59:00.000000000 +0200
+++ new/doc/xelatex/resumecls/example/resume-zh.tex 2020-04-16 23:00:35.000000000 +0200
@@ -1,102 +1,91 @@
% !Mode:: "TeX:UTF-8"
% +-----------------------------------------------------------------------------
-% | File: resume-zh
+% | File: resume-zh.tex
% | Author: huxuan
% | E-mail: i(at)huxuan.org
% | Created: 2012-12-18
-% | Last modified: 2013-03-16
+% | Last modified: 2020-04-16
% | Description:
% | A Chinese Resume Example in LaTeX based on resumecls
% |
-% | Copyrgiht (c) 2012-2013 by huxuan. All rights reserved.
+% | Copyright (c) 2012-2020 by huxuan. All rights reserved.
% +-----------------------------------------------------------------------------
\documentclass[color]{resumecls}
-\ctexset{today=small}
+\include{resume-common}
\name{姓名}
\organization{单位、学校或组织}
\address{地址,邮编}
-\mobile{+86 XXX XXXX XXXX}
-\mail{i@example.com}
-\homepage{http://example.com}
\leftfooter{最后更新: \today}
\rightfooter{\url{http://example.com/resume-zh.pdf}}
-\begin{document}
+\ctexset{today=small}
+\begin{document}
\begin{table}
-
\maketitle
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\heading{教育经历}
-\entry{2em}{Xrp{8em}}{%
- \heiti{学校} & 城市 & 起止时间 \\
+\heading{经历(紧凑版)}
+\entry{0em}{Xlr}{{\bfseries 组织} \quad 部门 & 职位 & 起止时间}
+\entry{2em}{X}{%
+ 描述1 \\
+ 描述2 \\
}
-\entry{4em}{lXX}{%
- 学位 & XX学院 & XX专业 \\
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\heading{教育经历}
+\entry{0em}{Xrr}{{\bfseries 学校} & 城市 & 起止时间}
+\entry{2em}{lXX}{%
+ 学位1 & 学院1 & 专业1 \\
+ 学位2 & 学院2 & 专业2 \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{科研经历}
-\entry{2em}{Xp{8em}}{%
- \heiti{地点} & 起止时间 \\
+\entry{0em}{Xr}{{\bfseries 地点} & 起止时间}
+\entry{2em}{X}{实验室 \quad 职位}
+\entry{4em}{X}{%
+ 描述 \\
+ 这里可以使用bibtex,如\cite{label} \\
}
-\entry{4em}{X}{实验室名称 \quad 职位}
-\entry{6em}{X}{%
- 研究方向和具体内容 \\
- 发表成果(亦可使用bibtex,像这样\cite{label},见文档最后注释内容) \\
-}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{工作经历}
-\entry{2em}{Xp{8em}}{%
- \heiti{单位名称} & 起止时间 \\
-}
-\entry{4em}{X}{部门 \quad 职位}
-\entry{6em}{X}{%
- 负责的具体事项 \\
- 工作的具体内容 \\
+\entry{0em}{Xr}{{\bfseries 组织} & 起止时间}
+\entry{2em}{X}{部门 \quad 职位}
+\entry{4em}{X}{%
+ 描述 \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{校园经历}
-\entry{2em}{Xp{8em}}{%
+\entry{0em}{Xr}{%
经历1 & 起止时间 \\
经历2 & 起止时间 \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{获得荣誉}
-\entry{2em}{Xr}{%
+\entry{0em}{Xr}{%
荣誉1 & 颁发时间 \\
荣誉2 & 颁发时间 \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{专业技能}
-\entry{2em}{lX}{%
+\entry{0em}{lX}{%
精通 & XXX \\
熟悉 & XXX \\
掌握 & XXX \\
使用 & XXX \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\heading{其他列举事项-如个人爱好,网络资料等}
-\entry{2em}{lX}{%
+\entry{0em}{lX}{%
标签1 & 标签对应内容 \\
标签2 & 标签对应内容 \\
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 如果不需要发表成果,注释这一段即可
\heading{附:发表成果}
\vspace{-6em}
\bibliography{resume}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{table}
\end{document}
Binary files old/doc/xelatex/resumecls/resumecls.pdf and new/doc/xelatex/resumecls/resumecls.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/resumecls.doc.tlpobj new/tlpkg/tlpobj/resumecls.doc.tlpobj
--- old/tlpkg/tlpobj/resumecls.doc.tlpobj 2019-02-28 04:04:19.000000000 +0100
+++ new/tlpkg/tlpobj/resumecls.doc.tlpobj 2020-04-17 01:55:27.000000000 +0200
@@ -1,15 +1,13 @@
name resumecls.doc
category Package
-revision 38427
+revision 54768
shortdesc doc files of resumecls
relocated 1
-docfiles size=43
- RELOC/doc/xelatex/resumecls/Makefile
+docfiles size=45
RELOC/doc/xelatex/resumecls/README.md
RELOC/doc/xelatex/resumecls/example/Makefile
RELOC/doc/xelatex/resumecls/example/README.md
- RELOC/doc/xelatex/resumecls/example/config-sample.mk
- RELOC/doc/xelatex/resumecls/example/config.mk
+ RELOC/doc/xelatex/resumecls/example/resume-common.tex
RELOC/doc/xelatex/resumecls/example/resume-en.pdf
RELOC/doc/xelatex/resumecls/example/resume-en.tex
RELOC/doc/xelatex/resumecls/example/resume-zh.pdf
++++++ resumecls.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/xelatex/resumecls/resumecls.cls new/tex/xelatex/resumecls/resumecls.cls
--- old/tex/xelatex/resumecls/resumecls.cls 2015-09-21 23:59:00.000000000 +0200
+++ new/tex/xelatex/resumecls/resumecls.cls 2020-04-16 23:00:35.000000000 +0200
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2012-2015 by huxuan
+%% Copyright (C) 2012-2020 by huxuan
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -26,17 +26,16 @@
%% and the derived file resumecls.cls.
%%
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{resumecls}
- [2015/09/21 v0.3.2 Welcome, contributors]
+ [2020/04/16 v0.4.0 Hello 2020]
\newif\ifrclscolor\rclscolorfalse
\DeclareOption{color}{\rclscolortrue}
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexart}}
\ProcessOptions\relax
-\LoadClass[a4paper,12pt]{article}
+\LoadClass[a4paper,12pt]{ctexart}
\RequirePackage[top=.5in,bottom=.5in,left=.5in,right=.5in]{geometry}
\RequirePackage[xetex,unicode]{hyperref}
-\RequirePackage[noindent]{ctex}
\RequirePackage{tabularx}
\RequirePackage{color}
\RequirePackage{fancyhdr}
@@ -79,9 +78,9 @@
}
\renewcommand{\maketitle}{%
\entry{0em}{Xr}{%
- \bfseries\zihao{4}\rclsname & \rclsmobile \\
- \rclsorganization & \href{mailto:\rclsmail}{\rclsmail} \\
- \rclsaddress & \url{\rclshomepage} \\
+ \bfseries\zihao{4}\rclsname & \rclsmobile \\
+ \rclsorganization & \href{mailto:\rclsmail}{\rclsmail} \\
+ \rclsaddress & \url{\rclshomepage} \\
}
}
\pagestyle{fancy}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/resumecls.tlpobj new/tlpkg/tlpobj/resumecls.tlpobj
--- old/tlpkg/tlpobj/resumecls.tlpobj 2019-02-28 04:04:19.000000000 +0100
+++ new/tlpkg/tlpobj/resumecls.tlpobj 2020-04-17 01:55:27.000000000 +0200
@@ -1,15 +1,16 @@
name resumecls
category Package
-revision 38427
+revision 54768
shortdesc Typeset a resume both in English and Chinese
relocated 1
-longdesc This LaTeX class makes typeseting a resume or cv both in
-longdesc English and Chinese more easy.
+longdesc A LaTeX document class to typeset a resume or CV both in
+longdesc English and Chinese with more ease and flexibility.
runfiles size=1
RELOC/tex/xelatex/resumecls/resumecls.cls
-catalogue-contact-home http://huxuan.org/projects/resumecls/
+catalogue-contact-announce https://github.com/huxuan/resumecls/releases
+catalogue-contact-bugs https://github.com/huxuan/resumecls/issues
+catalogue-contact-home https://github.com/huxuan/resumecls
catalogue-ctan /macros/xetex/latex/resumecls
-catalogue-date 2017-04-18 05:31:40 +0200
catalogue-license lppl1.3
catalogue-topics cv chinese class
-catalogue-version 0.3.2
+catalogue-version 0.4.0
++++++ rgltxdoc.doc.tar.xz ++++++
Binary files old/doc/latex/rgltxdoc/rgltxdoc.pdf and new/doc/latex/rgltxdoc/rgltxdoc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/rgltxdoc.doc.tlpobj new/tlpkg/tlpobj/rgltxdoc.doc.tlpobj
--- old/tlpkg/tlpobj/rgltxdoc.doc.tlpobj 2019-02-28 04:04:23.000000000 +0100
+++ new/tlpkg/tlpobj/rgltxdoc.doc.tlpobj 2020-02-22 01:55:15.000000000 +0100
@@ -1,8 +1,8 @@
name rgltxdoc.doc
category Package
-revision 49684
+revision 53858
shortdesc doc files of rgltxdoc
relocated 1
-docfiles size=38
+docfiles size=42
RELOC/doc/latex/rgltxdoc/README.md
RELOC/doc/latex/rgltxdoc/rgltxdoc.pdf
++++++ rgltxdoc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/rgltxdoc/rgltxdoc.sty new/tex/latex/rgltxdoc/rgltxdoc.sty
--- old/tex/latex/rgltxdoc/rgltxdoc.sty 2019-01-13 00:08:55.000000000 +0100
+++ new/tex/latex/rgltxdoc/rgltxdoc.sty 2020-02-21 23:53:22.000000000 +0100
@@ -20,7 +20,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{rgltxdoc}
- [2019/01/05 v1 Common documentation code used for Richard Grewe's packages]
+ [2019/12/21 v1.3 Common documentation code used for Richard Grewe's packages]
\RequirePackage{ifluatex}
\RequirePackage{etoolbox}
\ifbool{luatex}{
@@ -29,7 +29,8 @@
\setmainlanguage[variant=american]{english}
}{
\RequirePackage[utf8]{inputenc}
- \RequirePackage[english]{babel}
+ \@ifpackageloaded{babel}{}
+ {\RequirePackage[english]{babel}}
}
\RequirePackage[a4paper,twoside=false]{geometry}
\RequirePackage[DIV=9,BCOR=2.25cm]{typearea}
@@ -47,10 +48,11 @@
\DeclareFontShape{T1}{lmtt}{m}{it}{<->sub*lmtt/m/sl}{}
}
\RequirePackage{microtype}
-\RequirePackage{csquotes}
+\RequirePackage[autostyle=true]{csquotes}
\MakeOuterQuote{"}
-\RequirePackage{enumitem}
+\RequirePackage[inline]{enumitem}
\RequirePackage[columns=2]{idxlayout}
+\RequirePackage{amsmath}
\RequirePackage{varioref}
\RequirePackage{hypdoc}
\RequirePackage[capitalise,noabbrev,nameinlink]{cleveref}
@@ -72,11 +74,46 @@
{#1}{\SpecialEnvIndex}
\NewNiceDescription{Counter}{#1}{#1}
{\SpecialOtherIndex{counter}{counters}}
-\newcommand\SpecialOtherIndex[3]{\@bsphack
+\NewNiceDescription{Key}{#1\,\textrm{=}\,\null}
+ {\begingroup
+ \newcommand\vmeta[1]{{\normalfont\meta{##1}}}%
+ \setkeys[rgltxdoc]{DescOpt}{#1}%
+ \setbox\z@\hbox{\qquad\let\rgltxdoc@@sep\@empty
+ \rgltxdoc@opt{default}{\cmdrgltxdoc@DescOpt@def}%
+ \rgltxdoc@opt{initially}{\cmdrgltxdoc@DescOpt@init}}%
+ \parbox[t]{\linewidth-\wd\z@}{%
+ \raggedright\cmdrgltxdoc@DescOpt@vals}%
+ \box\z@\endgroup}
+ {\SpecialOtherIndex{option-key}{option-keys}}
+\usepackage{xkeyval,calc}
+\define@key[rgltxdoc]{DescOpt}{vals}{%
+ \def\cmdrgltxdoc@DescOpt@vals{}\let\rgltxdoc@@sep\@empty%
+ \def\do##1{%
+ \protected@eappto\cmdrgltxdoc@DescOpt@vals{\rgltxdoc@@sep\texttt{##1}}%
+ \def\rgltxdoc@@sep{, }}%
+ \docsvlist{#1}}
+\define@cmdkey[rgltxdoc]{DescOpt}{init}{}
+\define@cmdkey[rgltxdoc]{DescOpt}{def}{}
+\newcommand\rgltxdoc@opt[2]{\ifdef{#2}
+ {\rgltxdoc@@sep\textsl{#1: }\texttt{#2}%
+ \def\rgltxdoc@@sep{, }}
+ {}}
+\newcommand*\SpecialOtherIndex[3]{%
+ \@bsphack
+ \begingroup
+ \HD@target
+ \let\HDorg@encapchar\encapchar
+ \edef\encapchar usage{%
+ \HDorg@encapchar hdclindex{\the\c@HD@hypercount}{usage}%
+ }%
+ \rgltxdoc@nohyp@SpecialOtherIndex{#1}{#2}{#3}%
+ \endgroup
+ \@esphack}
+\newcommand\rgltxdoc@nohyp@SpecialOtherIndex[3]{%
\index{#3\actualchar{\protect\ttfamily#3}
(#1)\encapchar usage}%
\index{#2:\levelchar#3\actualchar
- {\protect\ttfamily#3}\encapchar usage}\@esphack}
+ {\protect\ttfamily#3}\encapchar usage}}
\RequirePackage{pbox}
\newcommand\rgltxdoc@Desc{\medskip\par\noindent\rgltxdoc@DescRec}
\newcommand\rgltxdoc@DescRec[4]{%
@@ -84,9 +121,8 @@
{\rgltxdoc@DescRec@i{#1}{#2}{#3}{#4}}%
{\rgltxdoc@DescRec@i{#1}{#2}{#3}{#4}[]}}
\def\rgltxdoc@DescRec@i#1#2#3#4[#5]#6#7{%
- \leavevmode\null\hbox to\z@{\hss%
- \pbox[t]{3\marginparwidth}{\ttfamily #1{#6}}%
- \ifstrempty{#7}{\quad}{}}%
+ \rgltxdoc@inmargin{\ttfamily #1{#6}}%
+ {\ifstrempty{#7}{\quad}{}}%
#2{#7}\relax
\ifstrempty{#5}%
{#3{#6}}%
@@ -94,6 +130,10 @@
\ifnumgreater{#4}{1}%
{\\\rgltxdoc@DescRec{#1}{#2}{#3}{#4-1}}%
{\ifstrempty{#7}{}{\smallskip\par\noindent}\ignorespaces}}
+\newcommand\rgltxdoc@inmargin[2]{%
+ \leavevmode\null\hbox to\z@{\hss%
+ \pbox[t]{3\marginparwidth}{#1}%
+ #2}}
\RequirePackage{keyvaltable}
\kvtSet{headbg=black!10,rowbg=white..black!5}
\NewKeyValTable{KeyDesc}{%
@@ -114,6 +154,9 @@
\IfFileExists{#1.sty}
{\textsf{#1}}
{\rgltxdoc@err{Package `#1' not found. Spelling?}}}
+\newcommand\pkgnames{%
+ \def\do##1{\pkgname{##1}\def\do####1{, \pkgname{####1}}}%
+ \docsvlist}
\newcommand\cmarg[1]{\mbox{\texttt{\string{#1\string}}}}
\newcommand\coarg[1]{\mbox{\texttt{[#1]}}}
\RequirePackage{hologo}
@@ -148,6 +191,7 @@
{\expandafter\rgltxdoc@curlbltype@i\cref@currentlabel\@nil}}
\def\rgltxdoc@curlbltype@i[#1][#2][#3]#4\@nil{#1}
\newcommand\rgltxdoc@SaveSecs{%
+ \def\addcontentsline##1##2##3{}%
\@for\SC:=chapter,section,subsection,subsubsection\do{%
\@ifundefined{c@\SC}{}
{\csedef{rgltx@@ctr@\SC}{\the\value{\SC}}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/rgltxdoc.tlpobj new/tlpkg/tlpobj/rgltxdoc.tlpobj
--- old/tlpkg/tlpobj/rgltxdoc.tlpobj 2019-02-28 04:04:23.000000000 +0100
+++ new/tlpkg/tlpobj/rgltxdoc.tlpobj 2020-02-22 01:55:15.000000000 +0100
@@ -1,6 +1,6 @@
name rgltxdoc
category Package
-revision 49684
+revision 53858
shortdesc Common code for documentation of the author's packages
relocated 1
longdesc This package combines several other packages and defines
@@ -14,7 +14,6 @@
catalogue-contact-bugs https://github.com/Ri-Ga/rgltxdoc/issues
catalogue-contact-repository https://github.com/Ri-Ga/rgltxdoc
catalogue-ctan /macros/latex/contrib/rgltxdoc
-catalogue-date 2019-01-13 08:19:28 +0100
catalogue-license lppl1.2
catalogue-topics doc-supp
-catalogue-version 1
+catalogue-version 1.3
++++++ rmpage.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/rmpage.doc.tlpobj new/tlpkg/tlpobj/rmpage.doc.tlpobj
--- old/tlpkg/tlpobj/rmpage.doc.tlpobj 2019-02-28 04:04:24.000000000 +0100
+++ new/tlpkg/tlpobj/rmpage.doc.tlpobj 2020-03-04 23:53:45.000000000 +0100
@@ -1,6 +1,6 @@
name rmpage.doc
category Package
-revision 20002
+revision 54080
shortdesc doc files of rmpage
relocated 1
docfiles size=194
++++++ rmpage.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/rmpage.tlpobj new/tlpkg/tlpobj/rmpage.tlpobj
--- old/tlpkg/tlpobj/rmpage.tlpobj 2019-02-28 04:04:24.000000000 +0100
+++ new/tlpkg/tlpobj/rmpage.tlpobj 2020-03-04 23:53:45.000000000 +0100
@@ -1,6 +1,6 @@
name rmpage
category Package
-revision 20002
+revision 54080
shortdesc A package to help change page layout parameters in LaTeX
relocated 1
longdesc The package lets you change page layout parameters in small
@@ -17,7 +17,6 @@
RELOC/tex/latex/rmpage/rmpage.sty
RELOC/tex/latex/rmpage/rmpgen.cfg
catalogue-ctan /macros/latex/contrib/rmpage
-catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics geometry
catalogue-version 0.92
++++++ roboto.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/roboto/ChangeLogLaTeX.txt new/doc/fonts/roboto/ChangeLogLaTeX.txt
--- old/doc/fonts/roboto/ChangeLogLaTeX.txt 2019-04-06 23:04:13.000000000 +0200
+++ new/doc/fonts/roboto/ChangeLogLaTeX.txt 2019-05-03 20:26:42.000000000 +0200
@@ -1,3 +1,13 @@
+2019-04-20
+
+ Support for LGR encoding. Condensed fonts now accessible
+ using standard c series codes.
+
+2019-04-07
+
+ Support for standard NFSS series codes. New macros for
+ localized use of non-default weights and figure styles.
+
2019-03-01 and 2019-03-03:
FontFace and NFSSFamily declarations provided by Mario
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/roboto/README new/doc/fonts/roboto/README
--- old/doc/fonts/roboto/README 2019-04-06 23:04:13.000000000 +0200
+++ new/doc/fonts/roboto/README 2019-12-11 22:53:45.000000000 +0100
@@ -1,5 +1,5 @@
This is the README for the roboto package, version
-2019-04-05.
+2019-12-11.
This package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX
support for the Roboto, RobotoCondensed, RobotoMono and
@@ -78,7 +78,7 @@
The default figure style is proportional-lining but the
following options may be used to get other styles (in
-Roboto, RobotoCondensed, and RobotoSlab):
+Roboto and RobotoCondensed):
oldstyle (or osf)
tabular (or t)
@@ -101,13 +101,13 @@
\robotoBold{...} \robotomonoBold{...}
\robotoBlack{...} \robotomonoBlack{...}
-Font encodings supported are OT1, T1, LY1 and TS1.
+Font encodings supported are OT1, T1, TS1, LY1 and LGR.
-Commands \roboto, \robotocondensed, \robotoslab, and
-\robotomono select the Roboto, RobotoCondensed, RobotoSlab
-and RobotoMono font family, respectively.
+Commands \roboto, \robotocondensed, \robotoboldcondensed,
+\robotoslab, \robotolgr, \robotoslablgr and \robotomono select
+those font families or series.
-The original fonts are available at
+The original truetype fonts are available at
http://www.google.com/webfonts and are licensed under the
Apache License, (version 2); the text may be found in the
doc directory. The opentype and type1 versions were created
Binary files old/doc/fonts/roboto/roboto-samples.pdf and new/doc/fonts/roboto/roboto-samples.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/roboto/roboto-samples.tex new/doc/fonts/roboto/roboto-samples.tex
--- old/doc/fonts/roboto/roboto-samples.tex 2019-04-06 23:04:13.000000000 +0200
+++ new/doc/fonts/roboto/roboto-samples.tex 2019-05-03 20:26:42.000000000 +0200
@@ -1,5 +1,5 @@
\documentclass{article}
-\usepackage[T1]{fontenc}
+\usepackage[LGR,T1]{fontenc}
\usepackage[sfdefault]{roboto}
\usepackage{roboto-mono}
\usepackage{lipsum}
@@ -27,6 +27,10 @@
\textsc{\lipsum[1]}
+\subsection*{Italic Small Capitals}
+
+\textsc{\textit{\lipsum[2]}}
+
\subsection*{Default Numbers}
1234567890
@@ -39,40 +43,79 @@
\robotoTLF{1234567890}
-\robotocondensed
+\subsection*{Ligatures}
+
+
+Officially broken off. Often offline, find me flowerless.
+
+
+\section*{LGR}
+
+
+{\robotolgr\noindent
+ a b g d e z h j i k l m n x o p r s t u f q y w\\
+ A B G D E Z H J I K L M N X O P R S T U F Q Y W\\
+}
+
\subsection*{Condensed Regular}
-\lipsum[1]
+{\robotocondensed\lipsum[1]}
\subsection*{Condensed Italic}
-\textit{\lipsum[2]}
+{\robotocondensed\textit{\lipsum[2]}}
\subsection*{Condensed Bold}
-\textbf{\lipsum[3]}
+{\robotoboldcondensed\lipsum[3]}
\subsection*{Condensed Bold Italic}
-\textbf{\textit{\lipsum[4]}}
+{\robotoboldcondensed\textit{\lipsum[4]}}
\subsection*{Condensed Small Capitals}
-\textsc{\lipsum[1]}
+{\robotocondensed\textsc{\lipsum[1]}}
+
+\subsection*{Ligatures}
+
+{\robotocondensed Officially broken off. Often offline, find me flowerless.}
+
+
+\section*{LGR Condensed}
+
+
+{\robotolgr\robotocondensed\noindent
+ a b g d e z h j i k l m n x o p r s t u f q y w\\
+ A B G D E Z H J I K L M N X O P R S T U F Q Y W\\
+}
-\robotoslab
\subsection*{Slab Serif Regular}
-\lipsum[1]
+{\robotoslab\lipsum[1]}
\subsection*{Slab Serif Bold}
-\textbf{\lipsum[3]}
+{\robotoslab\textbf{\lipsum[3]}}
+
+\subsection*{Slab Ligatures}
+
+
+{\robotoslab Officially broken off. Often offline, find me flowerless.}
+
+
+\section*{Slab LGR}
+
+
+{\robotoslablgr\noindent
+ a b g d e z h j i k l m n x o p r s t u f q y w\\
+ A B G D E Z H J I K L M N X O P R S T U F Q Y W\\
+}
\subsection*{Mono Regular}
@@ -91,5 +134,18 @@
\texttt{\textbf{\textit{\lipsum[4]}}}
+\subsection*{Mono Non-Ligatures}
+
+
+{\robotomono Officially broken off. Often offline, find me flowerless.}
+
+
+\section*{Mono LGR}
+
+
+{\robotomonolgr\noindent
+ a b g d e z h j i k l m n x o p r s t u f q y w\\
+ A B G D E Z H J I K L M N X O P R S T U F Q Y W\\
+}
\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/roboto.doc.tlpobj new/tlpkg/tlpobj/roboto.doc.tlpobj
--- old/tlpkg/tlpobj/roboto.doc.tlpobj 2019-04-06 23:34:36.000000000 +0200
+++ new/tlpkg/tlpobj/roboto.doc.tlpobj 2020-03-24 02:03:30.000000000 +0100
@@ -1,9 +1,9 @@
name roboto.doc
category Package
-revision 50809
+revision 54512
shortdesc doc files of roboto
relocated 1
-docfiles size=114
+docfiles size=121
RELOC/doc/fonts/roboto/COPYRIGHT.txt
RELOC/doc/fonts/roboto/ChangeLogLaTeX.txt
RELOC/doc/fonts/roboto/DESCRIPTION.en_us.html
++++++ roboto.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-t/roboto.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-t.new.3606/roboto.tar.xz differ: char 25, line 1