Hello community,
here is the log from the commit of package texlive-specs-o for openSUSE:Factory checked in at 2017-06-25 19:22:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/texlive-specs-o (Old)
and /work/SRC/openSUSE:Factory/.texlive-specs-o.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texlive-specs-o"
Sun Jun 25 19:22:18 2017 rev:26 rq:504805 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/texlive-specs-o/texlive-specs-o.changes 2017-06-08 14:55:29.350651000 +0200
+++ /work/SRC/openSUSE:Factory/.texlive-specs-o.new/texlive-specs-o.changes 2017-06-25 19:27:24.507555514 +0200
@@ -1,0 +2,42 @@
+Mon Jun 19 13:31:54 UTC 2017 - werner@suse.de
+
+- Fix texlive-pdftex-def dependency as now texlive-graphics-def does
+ provide pdftex.def
+- Fix texlive-rotating dependency as now texlive-graphics does
+ provide rotating.sty
+
+-------------------------------------------------------------------
+Fri Jun 16 12:14:49 UTC 2017 - werner@suse.de
+
+- Notive: Some patches have been moved
+ * bbold_bbold11.dif from texlive-specs-b to texlive-specs-c
+ * context_fourier-map.dif from texlive-specs-e to texlive-specs-f
+ * dvips_config.dif from texlive-specs-g to texlive-specs-h
+ * jadetex_ini.dif from texlive-specs-l to texlive-specs-m
+ * texdoc_cnf.dif from texlive-specs-v to texlive-specs-w
+ * texdraw_info.dif from texlive-specs-v to texlive-specs-w
+ this entry exists only to silent the auto factory bot
+
+-------------------------------------------------------------------
+Tue Jun 13 10:38:52 UTC 2017 - werner@suse.de
+
+- Final TeXLive 2017 20170520
+- Remove patch fontspec_emph.dif as now upstream
+- Update patches
+ * kpathsea_cnf.dif
+ * latex2man_tmphandling.dif
+ * latexdiff_perl.dif
+ * latexpand_perl.dif
+ * luaotfload_varfonts.dif
+ * luatex_cnf.dif
+ * musixtex_various.dif
+ * tetex_scripts.dif
+ * tex4ht_env.dif
+ * texconfig_scripts.dif
+
+-------------------------------------------------------------------
+Thu Jun 1 12:29:31 UTC 2017 - werner@suse.de
+
+- Update to TeXLive 2017 20170520 pretest
+
+-------------------------------------------------------------------
Old:
----
luatex-def.doc.tar.xz
luatex-def.tar.xz
medstarbeamer.doc.tar.xz
medstarbeamer.tar.xz
meetingmins.doc.tar.xz
meetingmins.tar.xz
memdesign.doc.tar.xz
memexsupp.doc.tar.xz
memexsupp.tar.xz
memoir.doc.tar.xz
memoir.tar.xz
memory.doc.tar.xz
memory.tar.xz
mentis.doc.tar.xz
mentis.tar.xz
menu.doc.tar.xz
menu.tar.xz
menukeys.doc.tar.xz
menukeys.tar.xz
merriweather.doc.tar.xz
merriweather.tar.xz
metafont-beginners.doc.tar.xz
metafont.doc.tar.xz
metafont.tar.xz
metago.doc.tar.xz
metago.tar.xz
metalogo.doc.tar.xz
metalogo.tar.xz
metaobj.doc.tar.xz
metaobj.tar.xz
metaplot.doc.tar.xz
metaplot.tar.xz
metapost-examples.doc.tar.xz
metapost.doc.tar.xz
metapost.tar.xz
metatex.doc.tar.xz
metatex.tar.xz
metatype1.source.tar.xz
metauml.doc.tar.xz
metauml.tar.xz
method.doc.tar.xz
method.tar.xz
metre.doc.tar.xz
metre.tar.xz
metrix.doc.tar.xz
metrix.tar.xz
mex.doc.tar.xz
mex.tar.xz
mf2pt1.doc.tar.xz
mf2pt1.tar.xz
mfirstuc.doc.tar.xz
mfirstuc.tar.xz
mflogo-font.doc.tar.xz
mflogo-font.tar.xz
mflogo.doc.tar.xz
mflogo.tar.xz
mflua.tar.xz
mfnfss.doc.tar.xz
mfnfss.tar.xz
mfpic.doc.tar.xz
mfpic.tar.xz
mfpic4ode.doc.tar.xz
mfpic4ode.tar.xz
mftinc.doc.tar.xz
mftinc.tar.xz
mfware.doc.tar.xz
mfware.tar.xz
mhchem.doc.tar.xz
mhchem.tar.xz
mhequ.doc.tar.xz
mhequ.tar.xz
miama.doc.tar.xz
miama.tar.xz
microtype-de.doc.tar.xz
microtype.doc.tar.xz
microtype.tar.xz
midnight.doc.tar.xz
midnight.tar.xz
midpage.doc.tar.xz
midpage.tar.xz
mil3.doc.tar.xz
miller.doc.tar.xz
miller.tar.xz
minibox.doc.tar.xz
minibox.tar.xz
New:
----
lshort-italian.doc.tar.xz
lshort-japanese.doc.tar.xz
lshort-korean.doc.tar.xz
lshort-mongol.doc.tar.xz
lshort-persian.doc.tar.xz
lshort-polish.doc.tar.xz
lshort-portuguese.doc.tar.xz
lshort-russian.doc.tar.xz
lshort-slovak.doc.tar.xz
lshort-slovenian.doc.tar.xz
lshort-spanish.doc.tar.xz
lshort-thai.doc.tar.xz
lshort-turkish.doc.tar.xz
lshort-ukr.doc.tar.xz
lshort-vietnamese.doc.tar.xz
lstaddons.doc.tar.xz
lstaddons.tar.xz
lstbayes.doc.tar.xz
lstbayes.tar.xz
lt3graph.doc.tar.xz
lt3graph.tar.xz
ltablex.doc.tar.xz
ltablex.tar.xz
ltabptch.doc.tar.xz
ltabptch.tar.xz
ltb2bib.doc.tar.xz
ltb2bib.tar.xz
ltxdockit.doc.tar.xz
ltxdockit.tar.xz
ltxfileinfo.doc.tar.xz
ltxfileinfo.tar.xz
ltximg.doc.tar.xz
ltximg.tar.xz
ltxindex.doc.tar.xz
ltxindex.tar.xz
ltxkeys.doc.tar.xz
ltxkeys.tar.xz
ltxmisc.tar.xz
ltxnew.doc.tar.xz
ltxnew.tar.xz
ltxtools.doc.tar.xz
ltxtools.tar.xz
lua-alt-getopt.doc.tar.xz
lua-alt-getopt.tar.xz
lua-check-hyphen.doc.tar.xz
lua-check-hyphen.tar.xz
lua-visual-debug.doc.tar.xz
lua-visual-debug.tar.xz
lua2dox.doc.tar.xz
lua2dox.tar.xz
luabibentry.doc.tar.xz
luabibentry.tar.xz
luabidi.doc.tar.xz
luabidi.tar.xz
luacode.doc.tar.xz
luacode.tar.xz
luahyphenrules.doc.tar.xz
luahyphenrules.tar.xz
luaindex.doc.tar.xz
luaindex.tar.xz
luainputenc.doc.tar.xz
luainputenc.tar.xz
luaintro.doc.tar.xz
lualatex-doc-de.doc.tar.xz
lualatex-doc.doc.tar.xz
lualatex-math.doc.tar.xz
lualatex-math.tar.xz
luamesh.doc.tar.xz
luamesh.tar.xz
luapackageloader.doc.tar.xz
luapackageloader.tar.xz
lwarp.doc.tar.xz
lwarp.tar.xz
markdown.doc.tar.xz
markdown.tar.xz
math-into-latex-4.doc.tar.xz
mathpunctspace.doc.tar.xz
mathpunctspace.tar.xz
mcexam.doc.tar.xz
mcexam.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texlive-specs-o.spec ++++++
++++ 26163 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/texlive-specs-o/texlive-specs-o.spec
++++ and /work/SRC/openSUSE:Factory/.texlive-specs-o.new/texlive-specs-o.spec
++++++ luatex-def.doc.tar.xz -> luacode.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/lualatex/luatex-def/README.md new/doc/lualatex/luatex-def/README.md
--- old/doc/lualatex/luatex-def/README.md 2016-01-23 23:23:32.000000000 +0100
+++ new/doc/lualatex/luatex-def/README.md 1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-# luatex-def
-
-luatex option file for LaTeX2e color and graphics
-
-Licence: LPPL
-Maintained by the LaTeX3 project
-
-https://github.com/latex3/luatex-def
-
-This first version of luatex.def is a modified version of pdftex.def.
-
-This is only needed for LuaTeX releases from 0.87 on: it will not work with the version 0.80 in current TeX Live and MiKTeX distributions but is being made available for testing.
-
-If you have a test version of LuaTeX 0.88 you may use this file via
-
-`\usepackage[luatex]{graphicx}`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/lualatex/luacode/luacode.sty new/tex/lualatex/luacode/luacode.sty
--- old/tex/lualatex/luacode/luacode.sty 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/lualatex/luacode/luacode.sty 2016-11-25 19:34:04.000000000 +0100
@@ -0,0 +1,164 @@
+%%
+%% This is file `luacode.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% luacode.dtx (with options: `texpackage')
+%%
+%% See the source file for author and licensing information.
+%%
+\begingroup\catcode61\catcode48\catcode32=10\relax% = and space
+ \catcode123 1 % {
+ \catcode125 2 % }
+ \catcode 35 6 % #
+ \toks0{\endlinechar\the\endlinechar}%
+ \edef\x{\endlinechar13}%
+ \def\y#1 #2 {%
+ \toks0\expandafter{\the\toks0 \catcode#1 \the\catcode#1}%
+ \edef\x{\x \catcode#1 #2}}%
+ \y 13 5 % carriage return
+ \y 61 12 % =
+ \y 32 10 % space
+ \y 123 1 % {
+ \y 125 2 % }
+ \y 35 6 % #
+ \y 64 11 % @ (letter)
+ \y 39 12 % '
+ \y 40 12 % (
+ \y 41 12 % )
+ \y 42 12 % *
+ \y 45 12 % -
+ \y 46 12 % .
+ \y 47 12 % /
+ \y 91 12 % [
+ \y 93 12 % ]
+ \y 94 7 % ^
+ \y 96 12 % `
+ \y 126 13 % ~
+ \toks0\expandafter{\the\toks0 \relax\noexpand\endinput}%
+ \edef\y#1{\noexpand\expandafter\endgroup%
+ \noexpand\ifx#1\relax \edef#1{\the\toks0}\x\relax%
+ \noexpand\else \noexpand\expandafter\noexpand\endinput%
+ \noexpand\fi}%
+\expandafter\y\csname luacode@sty@endinput\endcsname%
+\ProvidesPackage{luacode}[2012/01/23 v1.2a lua-in-tex helpers (mpg)]
+\RequirePackage{ifluatex}
+\ifluatex\else
+ \PackageError{luacode}{LuaTeX is required for this package. Aborting.}{%
+ This package can only be used with the LuaTeX engine\MessageBreak
+ (command `lualatex'). Package loading has been stopped\MessageBreak
+ to prevent additional errors.}
+ \expandafter\luacode@sty@endinput
+\fi
+\RequirePackage{luatexbase}
+\newcommand \luacode@printdbg [1] {%
+ texio.write_nl('log',
+ '-- BEGIN luacode debug (on input line \the\inputlineno)')
+ texio.write_nl('log', "\luatexluaescapestring{#1}")
+ texio.write_nl('log',
+ '-- END luacode debug (on input line \the\inputlineno)')
+}
+\newcommand \luacode@dbg@exec [1] {%
+ \directlua {
+ \luacode@maybe@printdbg{#1}
+ #1
+ }%
+}
+\begingroup \catcode`\~\active \expandafter\endgroup
+\@firstofone{%
+ \newcommand \luacode@execute [1] {%
+ \begingroup
+ \escapechar92
+ \newlinechar10
+ \edef\\{\string\\}%
+ \edef~{\string~}%
+ \let\%=\luacode@percentchar
+ \let\#=\luacode@sharpchar
+ \expandafter\expandafter\expandafter\endgroup
+ \luacode@dbg@exec{#1}}
+}
+\begingroup \escapechar\m@ne \edef\aux{\endgroup
+ \unexpanded{\newcommand\luacode@percentchar}{\string\%}%
+ \unexpanded{\newcommand\luacode@sharpchar }{\string\#}%
+}\aux
+\newcommand*\luacode@begin [1] {%
+ \begingroup
+ \escapechar92
+ \luatexcatcodetable#1\relax
+ \edef\luacode@endmark{\string\end{\@currenvir}}%
+ \expandafter\def \expandafter\luacode@endmark \expandafter{%
+ \luatexscantextokens \expandafter{\luacode@endmark}}%
+ \luacode@grab@body}
+\newcommand\luacode@end{%
+ \edef\luacode@next{%
+ \noexpand\luacode@execute{\the\luacode@lines}%
+ \noexpand\end{\@currenvir}}%
+ \expandafter\endgroup
+ \luacode@next}
+\newtoks\luacode@lines
+\newcommand*\luacode@addline [1] {%
+ \luacode@lines\expandafter{\the\luacode@lines#1^^J}}
+\newcommand \luacode@grab@body [1] {%
+ \luacode@lines{}%
+ \endlinechar10
+ \luacode@grab@lines}
+\long\def\luacode@grab@lines#1^^J{%
+ \def\luacode@curr{#1}%
+ \luacode@strip@spaces
+ \ifx\luacode@curr\luacode@endmark
+ \expandafter\luacode@end
+ \else
+ \expandafter\luacode@addline\expandafter{\luacode@curr}%
+ \expandafter\luacode@grab@lines
+ \fi}
+\begingroup\catcode32 12 \expandafter\endgroup
+\@firstofone{\newcommand\luacode@spaceother{ }}
+\newcommand \luacode@strip@spaces {%
+ \expandafter\luacode@strip@sp@peek\luacode@curr\@nil}
+\newcommand \luacode@strip@sp@peek {%
+ \futurelet\@let@token\luacode@strip@sp@look}
+\newcommand \luacode@strip@sp@look {%
+ \expandafter\ifx\luacode@spaceother\@let@token
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi{%
+ \afterassignment\luacode@strip@sp@peek
+ \let\@let@token=
+ }{%
+ \luacode@strip@sp@def
+ }}
+\@ifdefinable \luacode@strip@sp@def \relax
+\def \luacode@strip@sp@def #1\@nil{%
+ \def\luacode@curr{#1}}
+\newluatexcatcodetable \luacode@table@soft
+\begingroup
+\ifdefined\SetCatcodeRange \else
+ \let\SetCatcodeRange\setcatcoderange
+\fi
+\setluatexcatcodetable \luacode@table@soft {%
+ \luatexcatcodetable\CatcodeTableOther
+ \catcode 92 0
+ \catcode 123 1
+ \catcode 125 2
+ \SetCatcodeRange {65}{90} {11}
+ \SetCatcodeRange {97}{122}{11}
+}
+\endgroup
+\newcommand \LuaCodeDebugOn {\let \luacode@maybe@printdbg \luacode@printdbg}
+\newcommand \LuaCodeDebugOff {\let \luacode@maybe@printdbg \@gobble}
+\LuaCodeDebugOff
+\@ifdefinable\luadirect {\let\luadirect\luacode@dbg@exec}
+\newcommand*\luaexec [1] {\luacode@execute{#1}}
+\newenvironment {luacode} {\luacode@begin\luacode@table@soft} {}
+\newenvironment {luacode*} {\luacode@begin\CatcodeTableOther} {}
+\newcommand \luacodestar {\@nameuse{luacode*}}
+\def \endluacodestar {\@nameuse{endluacode*}}
+\newcommand \luastring [1] {"\luatexluaescapestring{#1}"}
+\newcommand \luastringO [1] {\luastring{\unexpanded\expandafter{#1}}}
+\newcommand \luastringN [1] {\luastring{\unexpanded{#1}}}
+\luacode@sty@endinput
+\endinput
+%%
+%% End of file `luacode.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luacode.tlpobj new/tlpkg/tlpobj/luacode.tlpobj
--- old/tlpkg/tlpobj/luacode.tlpobj 1970-01-01 01:00:00.000000000 +0100
+++ new/tlpkg/tlpobj/luacode.tlpobj 2017-04-14 17:48:01.000000000 +0200
@@ -0,0 +1,17 @@
+name luacode
+category Package
+revision 25193
+shortdesc Helper for executing lua code from within TeX
+relocated 1
+longdesc Executing Lua code from within TeX with directlua can sometimes
+longdesc be tricky: there is no easy way to use the percent character,
+longdesc counting backslashes may be hard, and Lua comments don't work
+longdesc the way you expect. The package provides the \luaexec command
+longdesc and the luacode(*) environments to help with these problems.
+runfiles size=2
+ RELOC/tex/lualatex/luacode/luacode.sty
+catalogue-ctan /macros/luatex/latex/luacode
+catalogue-date 2016-06-24 19:18:15 +0200
+catalogue-license lppl1.3
+catalogue-topics lua-supp luatex
+catalogue-version 1.2a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatex-def.doc.tlpobj new/tlpkg/tlpobj/luatex-def.doc.tlpobj
--- old/tlpkg/tlpobj/luatex-def.doc.tlpobj 2016-04-14 19:19:16.000000000 +0200
+++ new/tlpkg/tlpobj/luatex-def.doc.tlpobj 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-name luatex-def.doc
-category Package
-revision 39467
-shortdesc doc files of luatex-def
-relocated 1
-docfiles size=1
- RELOC/doc/lualatex/luatex-def/README.md
++++++ lualibs.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/lualibs/NEWS new/doc/luatex/lualibs/NEWS
--- old/doc/luatex/lualibs/NEWS 2016-04-10 00:38:30.000000000 +0200
+++ new/doc/luatex/lualibs/NEWS 2017-02-06 01:01:05.000000000 +0100
@@ -1,4 +1,7 @@
History of the lualibs package
+2017/02/01 v2.5/
+ * sync with Context beta as of 2017-02-01
+
2016/04/06 v2.4/
* sync with Context beta as of 2016-04-06
* basic maintenance
Binary files old/doc/luatex/lualibs/lualibs.pdf and new/doc/luatex/lualibs/lualibs.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lualibs.doc.tlpobj new/tlpkg/tlpobj/lualibs.doc.tlpobj
--- old/tlpkg/tlpobj/lualibs.doc.tlpobj 2016-04-14 19:19:06.000000000 +0200
+++ new/tlpkg/tlpobj/lualibs.doc.tlpobj 2017-04-14 17:48:01.000000000 +0200
@@ -1,9 +1,9 @@
name lualibs.doc
category Package
-revision 40370
+revision 43153
shortdesc doc files of lualibs
relocated 1
-docfiles size=27
+docfiles size=30
RELOC/doc/luatex/lualibs/LICENSE
RELOC/doc/luatex/lualibs/NEWS
RELOC/doc/luatex/lualibs/README
++++++ lualibs.tar.xz ++++++
++++ 9636 lines of diff (skipped)
++++++ luamplib.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luamplib/NEWS new/doc/luatex/luamplib/NEWS
--- old/doc/luatex/luamplib/NEWS 2016-04-02 23:57:49.000000000 +0200
+++ new/doc/luatex/luamplib/NEWS 2017-06-06 23:48:32.000000000 +0200
@@ -1,5 +1,10 @@
History of the luamplib package
+2017/06/02 2.12.1
+ * when \mplibglobaltextext{enable} is declared, metapost variables
+ containing btex ... etex labels can be inherited across code chunks.
+ Of course, \mplibcodeinherit should also be switched on.
+
2016/03/31 2.11.3
* fix a bug regarding nested mplibcode environments (issue #63)
Binary files old/doc/luatex/luamplib/luamplib.pdf and new/doc/luatex/luamplib/luamplib.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luamplib/test-luamplib-latex.tex new/doc/luatex/luamplib/test-luamplib-latex.tex
--- old/doc/luatex/luamplib/test-luamplib-latex.tex 2015-03-26 22:52:52.000000000 +0100
+++ new/doc/luatex/luamplib/test-luamplib-latex.tex 2017-06-06 23:48:32.000000000 +0200
@@ -62,7 +62,21 @@
endfor;
endfig;
\end{mplibcode}%
-B\par
+B\par\leavevmode
+\mplibcodeinherit{enable}%
+\mplibglobaltextext{enable}%
+\everymplib{ beginfig(0);}\everyendmplib{ endfig;}%
+\begin{mplibcode}
+ label(btex $\sqrt{2}$ etex, origin);
+ draw fullcircle scaled 20;
+ picture pic; pic := currentpicture;
+\end{mplibcode}%
+\begin{mplibcode}
+ currentpicture := pic scaled 2;
+\end{mplibcode}%
+\everymplib{}\everyendmplib{}%
+\mplibcodeinherit{disable}%
+\mplibglobaltextext{disable}\par
\mplibsetformat{metafun}%
\begin{mplibcode}
verbatimtex \moveright 0.4\hsize etex
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luamplib/test-luamplib-plain.tex new/doc/luatex/luamplib/test-luamplib-plain.tex
--- old/doc/luatex/luamplib/test-luamplib-plain.tex 2015-03-26 22:52:52.000000000 +0100
+++ new/doc/luatex/luamplib/test-luamplib-plain.tex 2017-06-06 23:48:32.000000000 +0200
@@ -60,7 +60,21 @@
endfor;
endfig;
\endmplibcode
-B\par
+B\par\leavevmode
+\mplibcodeinherit{enable}%
+\mplibglobaltextext{enable}%
+\everymplib{ beginfig(0);}\everyendmplib{ endfig;}%
+\mplibcode
+ label(btex $\sqrt{2}$ etex, origin);
+ draw fullcircle scaled 20;
+ picture pic; pic := currentpicture;
+\endmplibcode
+\mplibcode
+ currentpicture := pic scaled 2;
+\endmplibcode
+\everymplib{}\everyendmplib{}%
+\mplibcodeinherit{disable}%
+\mplibglobaltextext{disable}\par
\mplibsetformat{metafun}%
\mplibcode
verbatimtex \moveright 0.4\hsize etex
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luamplib.doc.tlpobj new/tlpkg/tlpobj/luamplib.doc.tlpobj
--- old/tlpkg/tlpobj/luamplib.doc.tlpobj 2016-04-14 19:19:07.000000000 +0200
+++ new/tlpkg/tlpobj/luamplib.doc.tlpobj 2017-06-07 02:21:49.000000000 +0200
@@ -1,9 +1,9 @@
name luamplib.doc
category Package
-revision 40217
+revision 44496
shortdesc doc files of luamplib
relocated 1
-docfiles size=44
+docfiles size=45
RELOC/doc/luatex/luamplib/NEWS
RELOC/doc/luatex/luamplib/README
RELOC/doc/luatex/luamplib/luamplib.pdf
++++++ luamplib.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luamplib/luamplib.lua new/tex/luatex/luamplib/luamplib.lua
--- old/tex/luatex/luamplib/luamplib.lua 2016-04-02 23:57:49.000000000 +0200
+++ new/tex/luatex/luamplib/luamplib.lua 2017-06-06 23:48:32.000000000 +0200
@@ -18,8 +18,8 @@
luatexbase.provides_module {
name = "luamplib",
- version = "2.11.3",
- date = "2016/03/31",
+ version = "2.12.1",
+ date = "2017/06/02",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
@@ -641,9 +641,12 @@
luamplib.textextlabelpreamble = textextlabelpreamble
local TeX_code_t = {}
+local texboxnum = { 2047 }
local function domakeTEXboxes (data)
- local num = 255 -- output box
+ local num = texboxnum[1]
+ texboxnum[2] = num
+ local global = luamplib.globaltextext and "\\global" or ""
if data and data.fig then
local figures = data.fig
for f=1, #figures do
@@ -658,7 +661,7 @@
local str = prescript and prescript.MPlibmkTEXbox
if str then
num = num + 1
- texsprint(format("\\setbox%i\\hbox{%s}",num,str))
+ texsprint(format("%s\\setbox%i\\hbox{%s}", global, num, str))
end
local texcode = prescript and prescript.MPlibVerbTeX
if texcode and texcode ~= "" then
@@ -668,6 +671,9 @@
end
end
end
+ if luamplib.globaltextext then
+ texboxnum[1] = num
+ end
end
local function protect_tex_text_common (data)
@@ -754,7 +760,7 @@
local function processwithTEXboxes (data)
if not data then return end
- local num = 255 -- output box
+ local num = texboxnum[2]
local prepreamble = format("TEXBOX_:=%i;\n",num)
while true do
num = num + 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luamplib/luamplib.sty new/tex/luatex/luamplib/luamplib.sty
--- old/tex/luatex/luamplib/luamplib.sty 2016-04-02 23:57:49.000000000 +0200
+++ new/tex/luatex/luamplib/luamplib.sty 2017-06-06 23:48:32.000000000 +0200
@@ -14,7 +14,7 @@
\else
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2016/03/31 v2.11.3 mplib package for LuaTeX]
+ [2017/06/02 v2.12.1 mplib package for LuaTeX]
\ifx\newluafunction\@undefined
\input ltluatex
\fi
@@ -197,6 +197,16 @@
\fi
\endgroup
}
+\def\mplibglobaltextext#1{%
+ \begingroup
+ \def\tempa{enable}\def\tempb{#1}%
+ \ifx\tempa\tempb
+ \directlua{luamplib.globaltextext = true}%
+ \else
+ \directlua{luamplib.globaltextext = false}%
+ \fi
+ \endgroup
+}
\ifx\mplibscratchbox\undefined \newbox\mplibscratchbox \fi
\def\mplibstarttoPDF#1#2#3#4{%
\hbox\bgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luamplib.tlpobj new/tlpkg/tlpobj/luamplib.tlpobj
--- old/tlpkg/tlpobj/luamplib.tlpobj 2016-04-14 19:19:07.000000000 +0200
+++ new/tlpkg/tlpobj/luamplib.tlpobj 2017-06-07 02:21:49.000000000 +0200
@@ -1,6 +1,6 @@
name luamplib
category Package
-revision 40217
+revision 44496
shortdesc Use LuaTeX's built-in MetaPost interpreter
relocated 1
longdesc The package enables the user to specify MetaPost diagrams
@@ -11,7 +11,7 @@
RELOC/tex/luatex/luamplib/luamplib.lua
RELOC/tex/luatex/luamplib/luamplib.sty
catalogue-ctan /macros/luatex/generic/luamplib
-catalogue-date 2016-04-02 19:29:34 +0200
+catalogue-date 2017-06-06 10:04:50 +0200
catalogue-license gpl2
catalogue-topics mp-use graphics-in-tex luatex
-catalogue-version 2.11.3
+catalogue-version 2.12.1
++++++ luaotfload.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/luatex/luaotfload/NEWS new/texmf-dist/doc/luatex/luaotfload/NEWS
--- old/texmf-dist/doc/luatex/luaotfload/NEWS 2016-05-06 00:12:02.000000000 +0200
+++ new/texmf-dist/doc/luatex/luaotfload/NEWS 2017-01-31 01:01:04.000000000 +0100
@@ -1,5 +1,13 @@
Change History
--------------
+2017-01-29, luaotfload v2.8:
+ * Latest fontloader code.
+ * Support for Luatex 1.0.
+ * Integration of the extended AFM handler.
+ * Fixes to font family assignment.
+ * Skip initialization if Luaotfload is already loaded.
+ * Optical sizes advertised by fonts treated as big points.
+
2016/04/21, luaotfload v2.7:
* Rework lookup chaining.
* Combining glyphs from different fonts (``combo: ...`` requests).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/luatex/luaotfload/README new/texmf-dist/doc/luatex/luaotfload/README
--- old/texmf-dist/doc/luatex/luaotfload/README 2016-04-21 22:55:25.000000000 +0200
+++ new/texmf-dist/doc/luatex/luaotfload/README 2017-02-06 01:01:05.000000000 +0100
@@ -39,7 +39,7 @@
Patrick Gundlach
Philipp Stephani
David Carlisle
-
+Yan Zhou @zhouyan
Installation
-------------------------------------------------------------------------------
@@ -56,7 +56,7 @@
distribution's manual for details.
3. a. Grab the sources from CTAN or github.
- b. Run 'make install TEXMFROOT=/path/to/texmf'.
+ b. Run 'make install DESTDIR=/path/to/texmf'.
c. See 2c.
4. Try to figure it out by looking at the Makefile and comments in the sources.
Binary files old/texmf-dist/doc/luatex/luaotfload/filegraph.pdf and new/texmf-dist/doc/luatex/luaotfload/filegraph.pdf differ
Binary files old/texmf-dist/doc/luatex/luaotfload/luaotfload.pdf and new/texmf-dist/doc/luatex/luaotfload/luaotfload.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/luaotfload-tool.1 new/texmf-dist/doc/man/man1/luaotfload-tool.1
--- old/texmf-dist/doc/man/man1/luaotfload-tool.1 2016-04-21 22:55:25.000000000 +0200
+++ new/texmf-dist/doc/man/man1/luaotfload-tool.1 2017-01-31 01:01:05.000000000 +0100
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD-TOOL 1 "2016-04-21" "2.7" "text processing"
+.TH LUAOTFLOAD-TOOL 1 "2017-01-28" "2.8" "text processing"
.SH NAME
luaotfload-tool \- generate and query the Luaotfload font names database
.
Binary files old/texmf-dist/doc/man/man1/luaotfload-tool.man1.pdf and new/texmf-dist/doc/man/man1/luaotfload-tool.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man5/luaotfload.conf.5 new/texmf-dist/doc/man/man5/luaotfload.conf.5
--- old/texmf-dist/doc/man/man5/luaotfload.conf.5 2016-04-21 22:55:25.000000000 +0200
+++ new/texmf-dist/doc/man/man5/luaotfload.conf.5 2017-01-31 01:01:05.000000000 +0100
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD.CONF 5 "2016-04-21" "2.7" "text processing"
+.TH LUAOTFLOAD.CONF 5 "2017-01-29" "2.8" "text processing"
.SH NAME
luaotfload.conf \- Luaotfload configuration file
.
@@ -200,6 +200,14 @@
T}
_
T{
+designsize\-dimen
+T} T{
+b
+T} T{
+\fBbp\fP
+T}
+_
+T{
formats
T} T{
s
@@ -247,14 +255,6 @@
\fBtrue\fP
T}
_
-T{
-use\-fontforge
-T} T{
-b
-T} T{
-\fBfalse\fP
-T}
-_
.TE
.sp
The flag \fBcompress\fP determines whether the font index (usually
@@ -264,6 +264,10 @@
and has no effect on the runtime behavior of Luaotfload, the flag
should remain set. Most editors come with zlib support anyways.
.sp
+The setting \fBdesignsize\-dimen\fP applies when looking up fonts from
+families with design sizes. The default of DTP\-style “big points”
+can be changed for \fBpt\fP or even \fBdd\fP\&.
+.sp
The list of \fBformats\fP must be a comma separated sequence of strings
containing one or more of these elements:
.INDENT 0.0
@@ -302,12 +306,8 @@
.sp
If \fBupdate\-live\fP is set, Luaotfload will reload the database if it
cannot find a requested font. Those who prefer to update manually using
-\fBluaotfload\-tool\fP should unset this flag.
-.sp
-The option \fBuse\-fontforge\fP switches name scanning back to the old
-method that relies on the builtin \fBfontloader\fP library. This is
-interesting for reference until the Fontforge code will be removed
-eventually.
+\fBluaotfload\-tool\fP should unset this flag. This option does not affect
+rebuilds due to version mismatch.
.SS Section \fBdefault\-features\fP
.sp
By default Luaotfload enables \fBnode\fP mode and picks the default font
@@ -453,6 +453,14 @@
T}
_
T{
+anon\-sequence
+T} T{
+s
+T} T{
+\fB"tex,path,name"\fP
+T}
+_
+T{
color\-callback
T} T{
s
@@ -494,6 +502,21 @@
_
.TE
.sp
+Unqualified font lookups are treated with the flexible “anonymous”
+mechanism. This involves a chain of lookups applied successively until
+the first one yields a match. By default, the lookup will first search
+for TFM fonts using the Kpathsea library. If this wasn’t successful, an
+attempt is made at interpreting the request as an absolute path (like
+the \fB[/path/to/font/foo.ttf]\fP syntax) or a file name
+(\fBfile:foo.ttf\fP). Finally, the request is interpreted as a font name
+and retrieved from the index (\fBname:Foo Regular\fP). This behavior can
+be configured by specifying a list as the value to \fBanon\-sequence\fP\&.
+Available items are \fBtex\fP, \fBpath\fP, \fBname\fP \-\- representing the
+lookups described above, respectively \-\-, and \fBfile\fP for searching a
+filename but not an absolute path. Also, \fBmy\fP lookups are valid
+values but they should only be used from within TeX documents, because
+there is no means of customizing a \fBmy\fP lookups on the command line.
+.sp
The \fBcolor\-callback\fP option determines the stage at which fonts that
defined with a \fBcolor=xxyyzz\fP feature will be colorized. By default
this happens in a \fBpost_linebreak_filter\fP but alternatively the
Binary files old/texmf-dist/doc/man/man5/luaotfload.conf.man5.pdf and new/texmf-dist/doc/man/man5/luaotfload.conf.man5.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luaotfload.doc.tlpobj new/tlpkg/tlpobj/luaotfload.doc.tlpobj
--- old/tlpkg/tlpobj/luaotfload.doc.tlpobj 2016-05-06 03:15:16.000000000 +0200
+++ new/tlpkg/tlpobj/luaotfload.doc.tlpobj 2017-04-14 17:48:02.000000000 +0200
@@ -1,8 +1,8 @@
name luaotfload.doc
category Package
-revision 40902
+revision 43194
shortdesc doc files of luaotfload
-docfiles size=104
+docfiles size=102
texmf-dist/doc/luatex/luaotfload/COPYING
texmf-dist/doc/luatex/luaotfload/NEWS
texmf-dist/doc/luatex/luaotfload/README
++++++ luaotfload.tar.xz ++++++
++++ 87001 lines of diff (skipped)
++++++ luaotfload_varfonts.dif ++++++
--- /var/tmp/diff_new_pack.jtuDIg/_old 2017-06-25 19:27:29.806806877 +0200
+++ /var/tmp/diff_new_pack.jtuDIg/_new 2017-06-25 19:27:29.810806311 +0200
@@ -5,7 +5,7 @@
--- texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua
+++ texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua 2016-06-09 10:26:02.571996404 +0000
-@@ -161,6 +161,7 @@ do
+@@ -162,6 +162,7 @@ do
-- standard context tree setup
local cachepaths = kpse.expand_var('$TEXMFCACHE') or ""
@@ -13,7 +13,7 @@
-- quite like tex live or so (the weird $TEXMFCACHE test seems to be needed on miktex)
-@@ -174,6 +175,31 @@ do
+@@ -175,6 +176,31 @@ do
cachepaths = kpse.expand_var('$VARTEXMF') or ""
end
@@ -47,7 +47,7 @@
if cachepaths == "" then
--- texmf-dist/tex/luatex/luaotfload/fontloader-reference.lua
+++ texmf-dist/tex/luatex/luaotfload/fontloader-reference.lua 2016-06-09 10:23:51.482497993 +0000
-@@ -3734,12 +3734,35 @@ if not caches.namespace or caches.namesp
+@@ -4531,12 +4531,35 @@ if not caches.namespace or caches.namesp
end
do
local cachepaths=kpse.expand_var('$TEXMFCACHE') or ""
++++++ luasseq.doc.tar.xz ++++++
++++++ luasseq.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luasseq.tlpobj new/tlpkg/tlpobj/luasseq.tlpobj
--- old/tlpkg/tlpobj/luasseq.tlpobj 2016-04-14 19:19:14.000000000 +0200
+++ new/tlpkg/tlpobj/luasseq.tlpobj 2017-04-14 17:48:05.000000000 +0200
@@ -10,6 +10,6 @@
RELOC/scripts/luasseq/luasseq.lua
RELOC/tex/lualatex/luasseq/luasseq.sty
catalogue-ctan /macros/luatex/latex/luasseq
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics maths luatex
++++++ luatex.doc.tar.xz ++++++
++++ 3557 lines of diff (skipped)
++++++ luatex.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/web2c/texmfcnf.lua new/texmf-dist/web2c/texmfcnf.lua
--- old/texmf-dist/web2c/texmfcnf.lua 2016-04-07 00:40:36.000000000 +0200
+++ new/texmf-dist/web2c/texmfcnf.lua 2017-04-13 19:59:45.000000000 +0200
@@ -45,13 +45,13 @@
-- only used for FONTCONFIG_PATH & TEXMFCACHE in TeX Live
TEXMFSYSVAR = "selfautoparent:texmf-var",
- TEXMFVAR = "home:.texlive2016/texmf-var",
+ TEXMFVAR = "home:.texlive2017/texmf-var",
-- We have only one cache path but there can be more. The first writable one
-- will be chosen but there can be more readable paths.
TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR",
- TEXMFCONFIG = "home:.texlive2016/texmf-config",
+ TEXMFCONFIG = "home:.texlive2017/texmf-config",
-- I don't like this texmf under home and texmf-home would make more
-- sense. One never knows what installers put under texmf anywhere and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatex.tlpobj new/tlpkg/tlpobj/luatex.tlpobj
--- old/tlpkg/tlpobj/luatex.tlpobj 2016-05-09 03:15:55.000000000 +0200
+++ new/tlpkg/tlpobj/luatex.tlpobj 2017-05-04 02:07:05.000000000 +0200
@@ -1,6 +1,6 @@
name luatex
category TLCore
-revision 40963
+revision 44166
shortdesc The LuaTeX engine
longdesc LuaTeX is an extended version of pdfTeX using Lua as an
longdesc embedded scripting language. The LuaTeX project's main
@@ -12,6 +12,14 @@
longdesc development; its specification has been declared stable, but
longdesc absolute stability may not in practice be assumed. Source code
longdesc is available from ctan:/systems/texlive/source.
+depend cm
+depend etex
+depend hyphen-base
+depend knuth-lib
+depend luatex
+depend plain
+depend tex-ini-files
+depend unicode-data
depend luatex.ARCH
execute AddFormat name=luatex engine=luatex options="luatex.ini" patterns=language.def,language.dat.lua fmttriggers=cm,etex,hyphen-base,knuth-lib,luatex,plain,tex-ini-files,unicode-data
execute AddFormat name=dviluatex engine=luatex options="dviluatex.ini" patterns=language.def,language.dat.lua fmttriggers=cm,etex,hyphen-base,knuth-lib,luatex,plain,tex-ini-files,unicode-data
@@ -20,6 +28,6 @@
texmf-dist/tex/generic/config/luatex-unicode-letters.tex
texmf-dist/tex/generic/config/luatexiniconfig.tex
texmf-dist/web2c/texmfcnf.lua
-catalogue-date 2016-04-09 08:42:09 +0200
+catalogue-date 2017-04-18 05:31:40 +0200
catalogue-license gpl2
catalogue-topics engine
++++++ luatex85.doc.tar.xz ++++++
Binary files old/doc/generic/luatex85/luatex85.pdf and new/doc/generic/luatex85/luatex85.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatex85.doc.tlpobj new/tlpkg/tlpobj/luatex85.doc.tlpobj
--- old/tlpkg/tlpobj/luatex85.doc.tlpobj 2016-04-14 19:24:33.000000000 +0200
+++ new/tlpkg/tlpobj/luatex85.doc.tlpobj 2017-04-14 17:49:59.000000000 +0200
@@ -1,8 +1,8 @@
name luatex85.doc
category Package
-revision 39902
+revision 41456
shortdesc doc files of luatex85
relocated 1
-docfiles size=42
+docfiles size=43
RELOC/doc/generic/luatex85/README.md
RELOC/doc/generic/luatex85/luatex85.pdf
++++++ luatex85.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/luatex85/luatex85.sty new/tex/generic/luatex85/luatex85.sty
--- old/tex/generic/luatex85/luatex85.sty 2016-03-02 00:22:50.000000000 +0100
+++ new/tex/generic/luatex85/luatex85.sty 2016-11-25 19:33:35.000000000 +0100
@@ -12,10 +12,11 @@
%% This file may be distributed under the terms of the LPPL.
%% See README for details.
\ifx\ProvidesPackage\undefined
-\def\next#1#2[#3]{\wlog{#2 #3}}
+\def\next#1#2[#3]{\wlog{#2 #3}\expandafter\gdef
+\csname ver@luatex85.sty\endcsname{#3}}
\expandafter\next\fi
\ProvidesPackage{luatex85}
- [2016/03/01 v1.0 pdftex aliases for luatex]
+ [2016/06/15 v1.4 pdftex aliases for luatex]
\ifx\pdfvariable\undefined
\expandafter\endinput
\fi
@@ -49,14 +50,17 @@
\let\ifpdfprimitive \ifprimitive
\let\ifpdfabsnum \ifabsnum
\let\ifpdfabsdim \ifabsdim
-\protected\def\pdftexversion {\numexpr\pdffeedback version\relax}
- \def\pdftexrevision {\pdffeedback revision}
+\directlua{tex.enableprimitives('pdf',{'tracingfonts'})}
+\protected\def\pdftexversion {\numexpr 140\relax}
+ \def\pdftexrevision {7}
\protected\def\pdflastlink {\numexpr\pdffeedback lastlink\relax}
\protected\def\pdfretval {\numexpr\pdffeedback retval\relax}
\protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax}
\protected\def\pdflastannot {\numexpr\pdffeedback lastannot\relax}
\def\pdfxformname {\pdffeedback xformname}
- \def\pdfcreationdate {\pdffeedback creationdate}
+{\outputmode=1
+ \xdef\pdfcreationdate {\pdffeedback creationdate}
+}
\def\pdffontname {\pdffeedback fontname}
\def\pdffontobjnum {\pdffeedback fontobjnum}
\def\pdffontsize {\pdffeedback fontsize}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatex85.tlpobj new/tlpkg/tlpobj/luatex85.tlpobj
--- old/tlpkg/tlpobj/luatex85.tlpobj 2016-04-14 19:24:33.000000000 +0200
+++ new/tlpkg/tlpobj/luatex85.tlpobj 2017-04-14 17:49:59.000000000 +0200
@@ -1,6 +1,6 @@
name luatex85
category Package
-revision 39902
+revision 41456
shortdesc pdfTeX aliases for LuaTeX
relocated 1
longdesc The package provides emulation of pdfTeX primitives for LuaTeX
@@ -8,7 +8,7 @@
runfiles size=2
RELOC/tex/generic/luatex85/luatex85.sty
catalogue-ctan /macros/generic/luatex85
-catalogue-date 2016-03-10 05:58:30 +0100
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics lua-supp
-catalogue-version 1.0
+catalogue-version 1.4
++++++ luatex_cnf.dif ++++++
--- /var/tmp/diff_new_pack.jtuDIg/_old 2017-06-25 19:27:30.414720996 +0200
+++ /var/tmp/diff_new_pack.jtuDIg/_new 2017-06-25 19:27:30.418720431 +0200
@@ -1,9 +1,9 @@
---
- texmf-dist/web2c/texmfcnf.lua | 26 +++++++++++++++++---------
- 1 file changed, 17 insertions(+), 9 deletions(-)
+ texmf-dist/web2c/texmfcnf.lua | 24 ++++++++++++++++--------
+ 1 file changed, 16 insertions(+), 8 deletions(-)
--- texmf-dist/web2c/texmfcnf.lua
-+++ texmf-dist/web2c/texmfcnf.lua 2017-05-26 12:17:09.907157993 +0000
++++ texmf-dist/web2c/texmfcnf.lua 2017-06-13 14:14:48.228714762 +0000
@@ -42,16 +42,24 @@ return {
-- "selfautoparent:",
-- }
@@ -18,7 +18,7 @@
-- only used for FONTCONFIG_PATH & TEXMFCACHE in TeX Live
- TEXMFSYSVAR = "selfautoparent:texmf-var",
-- TEXMFVAR = "home:.texlive2016/texmf-var",
+- TEXMFVAR = "home:.texlive2017/texmf-var",
+ TEXMFSYSVAR = "/var/lib/texmf",
+ TEXMFVAR = "$TEXMFSYSVAR",
+ HOMECACHE = "home:.cache/texmf/fonts",
@@ -27,7 +27,7 @@
-- will be chosen but there can be more readable paths.
- TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR",
-- TEXMFCONFIG = "home:.texlive2016/texmf-config",
+- TEXMFCONFIG = "home:.texlive2017/texmf-config",
+ TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR;$HOMECACHE",
+ TEXMFCONFIG = "$TEXMFSYSCONFIG",
@@ -57,12 +57,3 @@
TEXFONTMAPS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/map/{pdftex,dvips}//",
ENCFONTS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/enc/{dvips,pdftex}//",
-@@ -100,7 +108,7 @@ return {
- PERLINPUTS = ".;$TEXMF/scripts/context/perl",
- PYTHONINPUTS = ".;$TEXMF/scripts/context/python",
- RUBYINPUTS = ".;$TEXMF/scripts/context/ruby",
-- LUAINPUTS = ".;$TEXINPUTS;$TEXMF/scripts/context/lua//",
-+ LUAINPUTS = ".;$TEXINPUTS;$TEXMF/scripts/context/lua//",
- CLUAINPUTS = ".;$SELFAUTOLOC/lib/{context,luatex,}/lua//",
-
- -- Not really used by MkIV so they might go away.
++++++ luatexbase.doc.tar.xz ++++++
++++++ luatexbase.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatexbase.tlpobj new/tlpkg/tlpobj/luatexbase.tlpobj
--- old/tlpkg/tlpobj/luatexbase.tlpobj 2016-04-14 19:24:34.000000000 +0200
+++ new/tlpkg/tlpobj/luatexbase.tlpobj 2017-04-14 17:49:59.000000000 +0200
@@ -22,7 +22,7 @@
RELOC/tex/luatex/luatexbase/luatexbase.loader.lua
RELOC/tex/luatex/luatexbase/luatexbase.sty
catalogue-ctan /macros/luatex/generic/luatexbase
-catalogue-date 2015-10-04 14:09:45 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics luatex
catalogue-version 1.3
++++++ luatexja.doc.tar.xz ++++++
++++ 1776 lines of diff (skipped)
++++++ luatexja.tar.xz ++++++
++++ 12681 lines of diff (skipped)
++++++ luatexko.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luatexko/ChangeLog new/doc/luatex/luatexko/ChangeLog
--- old/doc/luatex/luatexko/ChangeLog 2016-05-15 00:11:33.000000000 +0200
+++ new/doc/luatex/luatexko/ChangeLog 2017-05-01 23:54:46.000000000 +0200
@@ -1,3 +1,16 @@
+2017-05-01 Dohyun Kim <nomos at ktug org>
+
+ Version 1.17
+
+ * luatexko.lua: rewrite reorderTM (reorder-tone-marks) function
+
+
+2017-02-06 Dohyun Kim <nomos at ktug org>
+
+ Version 1.16
+
+ * luatexko.sty: patch {rm|sf|tt}family of fontspec 2017
+
2016-05-14 Dohyun Kim <nomos at ktug org>
Version 1.15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luatexko/README new/doc/luatex/luatexko/README
--- old/doc/luatex/luatexko/README 2016-05-15 00:11:33.000000000 +0200
+++ new/doc/luatex/luatexko/README 2017-05-01 23:54:46.000000000 +0200
@@ -1,4 +1,4 @@
-LuaTeX-ko Package version 1.15 (2016/05/14)
+LuaTeX-ko Package version 1.17 (2017/05/01)
===========================================
This is a Lua(La)TeX macro package that supports typesetting Korean
Binary files old/doc/luatex/luatexko/luatexko-doc.pdf and new/doc/luatex/luatexko/luatexko-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luatexko/luatexko-doc.tex new/doc/luatex/luatexko/luatexko-doc.tex
--- old/doc/luatex/luatexko/luatexko-doc.tex 2016-05-15 00:11:33.000000000 +0200
+++ new/doc/luatex/luatexko/luatexko-doc.tex 2017-05-01 23:54:46.000000000 +0200
@@ -8,20 +8,21 @@
%%
%% public domain
-\RequirePackage{luatex85}
+%\RequirePackage{luatex85}
\documentclass[a4paper]{article}
\usepackage[hmargin=3.8cm]{geometry}
\usepackage[hangul]{luatexko}
\usepackage{luamplib}
-\setmainhangulfont{KoPubBatang_Pro}[
+\setmainhangulfont{Noto Serif CJK KR}[
AutoFakeSlant,
+ Script=Hangul,
+ Language=Korean,
UprightFont=* Light,
BoldFont=* Bold,
InterLatinCJK=.125em,
Expansion, Protrusion,
]
\setsanshangulfont{Noto Sans CJK KR}[
- CharRaise=-0.1ex,
Script=Hangul,
Language=Korean,
UprightFont=* DemiLight,
@@ -61,7 +62,7 @@
\author{Dohyun Kim \normalsize |<nomos at ktug org>| \and
Soojin Nam \normalsize |<jsunam at gmail com>| \and
\normalsize \url{http://github.com/dohyunkim/luatexko}}
-\date{Version 1.15\quad 2016/05/14}
+\date{Version 1.17\quad 2017/05/01}
\maketitle
\begin{quote}\small
@@ -321,6 +322,7 @@
\framebox[\linewidth]{\begin{vertical}{17em}
\sffamily
\addhangulfontfeature{Vertical=RotatedGlyphs,
+ RawFeature=vertical,
CharacterWidth=Full, CharRaise=0.1ex, }
\parindent-1em\leftskip1em \linespread{1.5}\selectfont
\noindent 님의 침묵(The Silent Beloved)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatexko.doc.tlpobj new/tlpkg/tlpobj/luatexko.doc.tlpobj
--- old/tlpkg/tlpobj/luatexko.doc.tlpobj 2016-05-15 03:20:04.000000000 +0200
+++ new/tlpkg/tlpobj/luatexko.doc.tlpobj 2017-05-02 19:43:19.000000000 +0200
@@ -1,9 +1,9 @@
name luatexko.doc
category Package
-revision 41128
+revision 44141
shortdesc doc files of luatexko
relocated 1
-docfiles size=61
+docfiles size=65
RELOC/doc/luatex/luatexko/ChangeLog
RELOC/doc/luatex/luatexko/README
RELOC/doc/luatex/luatexko/luatexko-doc.pdf
++++++ luatexko.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luatexko/luatexko-core.sty new/tex/luatex/luatexko/luatexko-core.sty
--- old/tex/luatex/luatexko/luatexko-core.sty 2016-05-15 00:11:33.000000000 +0200
+++ new/tex/luatex/luatexko/luatexko-core.sty 2017-02-09 00:01:05.000000000 +0100
@@ -1,6 +1,6 @@
% luatexko-core.sty
%
-% Copyright (c) 2013-2016 Dohyun Kim <nomos at ktug org>
+% Copyright (c) 2013-2017 Dohyun Kim <nomos at ktug org>
% Soojin Nam <jsunam at gmail com>
%
% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
\ifcsname ifpdf\endcsname\else \input ifpdf.sty \fi
\catcode`@ = 11
\else
- \ProvidesPackage{luatexko-core}[2016/05/14 v1.15 Typesetting Korean with LuaTeX]
+ \ProvidesPackage{luatexko-core}[2017/02/06 v1.16 Typesetting Korean with LuaTeX]
\RequirePackage{luaotfload}[2016/04/21]
\RequirePackage{ifpdf}
\fi
@@ -32,7 +32,11 @@
\let\luaescapestring\luatexluaescapestring
\fi
\ifdefined\pdffontsize\else % luatex 0.87
- \def\pdffontsize{\pdffeedback fontsize}
+ \ifpdf
+ \def\pdffontsize{\pdffeedback fontsize}
+ \else
+ \def\pdffontsize{\the\fontdimen6 }
+ \fi
\protected\def\pdfliteral{\pdfextension literal}
\fi
@@ -282,24 +286,25 @@
\global\advance\luakoulineboxcnt\@ne
\count@\luakoulineboxcnt
\leavevmode}
-\protected\def\uline#1{%
+\protected\def\ulineluatexko#1{%
\luako@uline@code@common
\luako@nested@ulinedown
\dimen@\dimexpr\ulinedown+\ulinewidth\relax
\dimen@ii-\dimexpr\ulinedown\relax
\setbox\z@\hbox{\vrule width\z@ height\dimen@ii depth\dimen@}%
\directlua{ luatexko.uline_boundary(\the\count@,tex.box[0].head) }%
- #1%
+ #1\relax
\directlua{ luatexko.uline_boundary(\the\count@) }%
\endgroup}
-\protected\def\sout#1{{\def\ulinedown{-0.5ex-\ulinewidth/2}\uline{#1}}}
-\protected\def\uuline#1{\uline{\uline{#1}}}
+\let\uline\ulineluatexko
+\protected\def\sout#1{{\def\ulinedown{-0.5ex-\ulinewidth/2}\ulineluatexko{#1}}}
+\protected\def\uuline#1{\ulineluatexko{\ulineluatexko{#1}}}
% ulem with arbitray box
\protected\def\markoverwith#1#2{%
\luako@uline@code@common
\setbox\z@\hbox{#1}%
\directlua{ luatexko.uline_boundary(\the\count@,tex.box[0]) }%
- #2%
+ #2\relax
\directlua{ luatexko.uline_boundary(\the\count@) }%
\endgroup}
\protected\def\uwave{\ifx\ltxko@sixly\undefined \font\ltxko@sixly=lasy6 \fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luatexko/luatexko-normalize.lua new/tex/luatex/luatexko/luatexko-normalize.lua
--- old/tex/luatex/luatexko/luatexko-normalize.lua 2016-04-27 00:05:58.000000000 +0200
+++ new/tex/luatex/luatexko/luatexko-normalize.lua 2017-02-09 00:01:05.000000000 +0100
@@ -1,6 +1,6 @@
-- luatexko-normalize.lua
--
--- Copyright (c) 2013-2016 Dohyun Kim <nomos at ktug org>
+-- Copyright (c) 2013-2017 Dohyun Kim <nomos at ktug org>
-- Soojin Nam <jsunam at gmail com>
--
-- This work may be distributed and/or modified under the
@@ -13,8 +13,8 @@
luatexbase.provides_module({
name = "luatexko-normalize",
- version = "1.13",
- date = "2016/04/25",
+ version = "1.16",
+ date = "2017/02/06",
author = "Dohyun Kim, Soojin Nam",
description = "Hangul normalization",
license = "LPPL v1.3+",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luatexko/luatexko-uhc2utf8.lua new/tex/luatex/luatexko/luatexko-uhc2utf8.lua
--- old/tex/luatex/luatexko/luatexko-uhc2utf8.lua 2016-04-27 00:05:58.000000000 +0200
+++ new/tex/luatex/luatexko/luatexko-uhc2utf8.lua 2017-02-09 00:01:05.000000000 +0100
@@ -1,6 +1,6 @@
-- luatexko-uhc2utf8.lua
--
--- Copyright (c) 2013-2016 Dohyun Kim <nomos at ktug org>
+-- Copyright (c) 2013-2017 Dohyun Kim <nomos at ktug org>
-- Soojin Nam <jsunam at gmail com>
--
-- This work may be distributed and/or modified under the
@@ -13,8 +13,8 @@
luatexbase.provides_module({
name = "luatexko-uhc2utf8",
- version = "1.13",
- date = "2016/04/25",
+ version = "1.16",
+ date = "2017/02/06",
author = "Dohyun Kim, Soojin Nam",
description = "UHC (CP949) input encoding",
license = "LPPL v1.3+",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luatexko/luatexko.lua new/tex/luatex/luatexko/luatexko.lua
--- old/tex/luatex/luatexko/luatexko.lua 2016-05-15 00:11:33.000000000 +0200
+++ new/tex/luatex/luatexko/luatexko.lua 2017-05-01 23:54:46.000000000 +0200
@@ -1,6 +1,6 @@
-- luatexko.lua
--
--- Copyright (c) 2013-2016 Dohyun Kim <nomos at ktug org>
+-- Copyright (c) 2013-2017 Dohyun Kim <nomos at ktug org>
-- Soojin Nam <jsunam at gmail com>
--
-- This work may be distributed and/or modified under the
@@ -13,8 +13,8 @@
luatexbase.provides_module {
name = 'luatexko',
- date = '2016/05/14',
- version = '1.15',
+ date = '2017/05/01',
+ version = '1.17',
description = 'Korean linebreaking and font-switching',
author = 'Dohyun Kim, Soojin Nam',
license = 'LPPL v1.3+',
@@ -129,135 +129,113 @@
local cjkclass = {
[0x2018] = 1, -- ‘
[0x201C] = 1, -- “
- [0xFF08] = 1, -- (
- [0xFE35] = 1, -- ( vert
- [0x3014] = 1, -- 〔
- [0xFE39] = 1, -- 〔 vert
- [0xFF3B] = 1, -- [
- [0xFE47] = 1, -- [ vert
- [0xFF5B] = 1, -- {
- [0xFE37] = 1, -- { vert
+ [0x2329] = 1, -- 〈
[0x3008] = 1, -- 〈
- [0xFE3F] = 1, -- 〈 vert
[0x300A] = 1, -- 《
- [0xFE3D] = 1, -- 《 vert
[0x300C] = 1, -- 「
- [0xFE41] = 1, -- 「 vert
[0x300E] = 1, -- 『
- [0xFE43] = 1, -- 『 vert
[0x3010] = 1, -- 【
- [0xFE3B] = 1, -- 【 vert
- [0x3001] = 2, -- 、
- [0xFE11] = 2, -- 、 vert
- [0xFF0C] = 2, -- ,
- [0xFE10] = 2, -- , vert
+ [0x3014] = 1, -- 〔
+ [0x3016] = 1, -- 〖
+ [0x3018] = 1, -- 〘
+ [0x301A] = 1, -- 〚
+ [0x301D] = 1, -- 〝
+ [0xFE17] = 1, -- ︗
+ [0xFE35] = 1, -- ︵
+ [0xFE37] = 1, -- ︷
+ [0xFE39] = 1, -- ︹
+ [0xFE3B] = 1, -- ︻
+ [0xFE3D] = 1, -- ︽
+ [0xFE3F] = 1, -- ︿
+ [0xFE41] = 1, -- ﹁
+ [0xFE43] = 1, -- ﹃
+ [0xFE47] = 1, -- ﹇
+ [0xFF08] = 1, -- (
+ [0xFF3B] = 1, -- [
+ [0xFF5B] = 1, -- {
+ [0xFF5F] = 1, -- ⦅
+ [0xFF62] = 1, -- 「 half
[0x2019] = 2, -- ’
[0x201D] = 2, -- ”
- [0xFF09] = 2, -- )
- [0xFE36] = 2, -- ) vert
- [0x3015] = 2, -- 〕
- [0xFE3A] = 2, -- 〕 vert
- [0xFF3D] = 2, -- ]
- [0xFE48] = 2, -- ] vert
- [0xFF5D] = 2, -- }
- [0xFE38] = 2, -- } vert
+ [0x232A] = 2, -- 〉
+ [0x3001] = 2, -- 、
[0x3009] = 2, -- 〉
- [0xFE40] = 2, -- 〉 vert
[0x300B] = 2, -- 》
- [0xFE3E] = 2, -- 》 vert
[0x300D] = 2, -- 」
- [0xFE42] = 2, -- 」 vert
[0x300F] = 2, -- 』
- [0xFE44] = 2, -- 』 vert
[0x3011] = 2, -- 】
- [0xFE3C] = 2, -- 】 vert
+ [0x3015] = 2, -- 〕
+ [0x3017] = 2, -- 〗
+ [0x3019] = 2, -- 〙
+ [0x301B] = 2, -- 〛
+ [0x301E] = 2, -- 〞
+ [0x301F] = 2, -- 〟
+ [0xFE10] = 2, -- ︐
+ [0xFE11] = 2, -- ︑
+ [0xFE18] = 2, -- ︘
+ [0xFE36] = 2, -- ︶
+ [0xFE38] = 2, -- ︸
+ [0xFE3A] = 2, -- ︺
+ [0xFE3C] = 2, -- ︼
+ [0xFE3E] = 2, -- ︾
+ [0xFE40] = 2, -- ﹀
+ [0xFE42] = 2, -- ﹂
+ [0xFE44] = 2, -- ﹄
+ [0xFE48] = 2, -- ﹈
+ [0xFF09] = 2, -- )
+ [0xFF0C] = 2, -- ,
+ [0xFF3D] = 2, -- ]
+ [0xFF5D] = 2, -- }
+ [0xFF60] = 2, -- ⦆
+ [0xFF63] = 2, -- 」 half
+ [0xFF64] = 2, -- 、 half
[0x00B7] = 3, -- ·
[0x30FB] = 3, -- ・
[0xFF1A] = 3, -- :
--- [0xFE13] = 3, -- : vert
[0xFF1B] = 3, -- ;
--- [0xFE14] = 3, -- ; vert
+ [0xFF65] = 3, -- ・ half
[0x3002] = 4, -- 。
- [0xFE12] = 4, -- 。 vert
+ [0xFE12] = 4, -- ︒
[0xFF0E] = 4, -- .
- [0x2015] = 5, -- ―
- [0x2026] = 5, -- …
- [0xFE19] = 5, -- … vert
+ [0xFF61] = 4, -- 。 half
+ [0x2015] = 5, -- ―
[0x2025] = 5, -- ‥
- [0xFE30] = 5, -- ‥ vert
- [0xFE31] = 5, -- ︱ vert
- [0xFF1F] = 6, -- ?
+ [0x2026] = 5, -- …
+ [0xFE19] = 5, -- ︙
+ [0xFE30] = 5, -- ︰
+ [0xFE31] = 5, -- ︱
+ [0xFE15] = 6, -- ︕
+ [0xFE16] = 6, -- ︖
[0xFF01] = 6, -- !
- [0xFE16] = 6, -- ︖ vert
- [0xFE15] = 6, -- ︕ vert
+ [0xFF1F] = 6, -- ?
}
-local inhibitxspcode = {
+local inhibitxspcode = setmetatable({
[0x002D] = 0, -- - hyphen minus
[0x003C] = 0, -- <
[0x003E] = 1, -- >
- [0x00B0] = 1,
- [0x2015] = 0,
- [0x2018] = 2,
- [0x2019] = 1,
- [0x201C] = 2,
- [0x201D] = 1,
- [0x2026] = 0,
- [0xFE19] = 0,
- [0x2032] = 1,
- [0x2033] = 1,
- [0x3001] = 1,
- [0xFE11] = 1,
- [0x3002] = 1,
- [0xFE12] = 1,
- [0x3008] = 2,
- [0xFE3F] = 2,
- [0x3009] = 1,
- [0xFE40] = 1,
- [0x300A] = 2,
- [0xFE3D] = 2,
- [0x300B] = 1,
- [0xFE3E] = 1,
- [0x300C] = 2,
- [0xFE41] = 2,
- [0x300D] = 1,
- [0xFE42] = 1,
- [0x300E] = 2,
- [0xFE43] = 2,
- [0x300F] = 1,
- [0xFE44] = 1,
- [0x3010] = 2,
- [0xFE3B] = 2,
- [0x3011] = 1,
- [0xFE3C] = 1,
+ [0x00B0] = 1, -- °
+ [0x2032] = 1, -- ′
+ [0x2033] = 1, -- ″
+ [0x25CC] = 2, -- dotted circle
[0x3012] = 2, -- 〒
- [0x3014] = 2,
- [0xFE39] = 2,
- [0x3015] = 1,
- [0xFE3A] = 1,
- [0x301C] = 0,
- [0xFF08] = 2,
- [0xFE35] = 2,
- [0xFF09] = 1,
- [0xFE36] = 1,
- [0xFF0C] = 1,
- [0xFE10] = 1,
- [0xFF0E] = 1,
- [0xFF1B] = 1,
- [0xFE14] = 1,
- [0xFF1F] = 1,
- [0xFF3B] = 2,
- [0xFE47] = 2,
- [0xFF3D] = 1,
- [0xFE48] = 1,
- [0xFF5B] = 2,
- [0xFE37] = 2,
- [0xFF5D] = 1,
- [0xFE38] = 1,
- [0xFFE5] = 0,
-}
+ [0x301C] = 0, -- 〜
+ [0xFE14] = 1, -- ︔
+ [0xFF1B] = 1, -- ;
+ [0xFFE5] = 0, -- ¥
+},{
+ __index = function (_,c)
+ if cjkclass[c] == 1 then
+ return 2
+ elseif cjkclass[c] == 2 or cjkclass[c] == 4 or cjkclass[c] == 6 then
+ return 1
+ elseif cjkclass[c] == 5 then
+ return 0
+ end
+ end
+})
-local postbreakpenalty = {
+local postbreakpenalty = setmetatable({
[0x0023] = 500,
[0x0024] = 500,
[0x0025] = 500,
@@ -266,37 +244,24 @@
[0x003C] = 10000, -- <
[0x005B] = 10000,
[0x0060] = 10000,
+ [0x007B] = 10000, -- {
+ [0x00AB] = 10000, -- «
[0x2013] = 50, -- en-dash
[0x2014] = 50, -- em-dash
- [0x2018] = 10000,
- [0x201C] = 10000,
- [0x3008] = 10000,
- [0xFE3F] = 10000,
- [0x300A] = 10000,
- [0xFE3D] = 10000,
- [0x300C] = 10000,
- [0xFE41] = 10000,
- [0x300E] = 10000,
- [0xFE43] = 10000,
- [0x3010] = 10000,
- [0xFE3B] = 10000,
- [0x3014] = 10000,
- [0xFE39] = 10000,
[0xFF03] = 200,
[0xFF04] = 200,
[0xFF05] = 200,
[0xFF06] = 200,
- [0xFF08] = 10000,
- [0xFE35] = 10000,
- [0xFF3B] = 10000,
- [0xFE47] = 10000,
- [0xFF40] = 10000,
- [0xFF5B] = 10000,
- [0xFE37] = 10000,
- [0xFF62] = 10000, -- 「
-}
+ [0xFF40] = 10000, -- `
+},{
+ __index = function (_,c)
+ if cjkclass[c] == 1 then
+ return 10000
+ end
+ end
+})
-local prebreakpenalty = {
+local prebreakpenalty = setmetatable({
[0x0021] = 10000,
[0x0022] = 10000,
[0x0027] = 10000,
@@ -312,35 +277,18 @@
[0x003E] = 10000, -- >
[0x003F] = 10000,
[0x005D] = 10000,
- [0x00B4] = 10000,
- [0x00B7] = 10000, -- ·
+ [0x007D] = 10000, -- }
+ [0x00B4] = 10000, -- ´
+ [0x00BB] = 10000, -- »
[0x2013] = 10000, -- –
[0x2014] = 10000, -- —
- [0x2015] = 10000,
- [0x2019] = 10000,
- [0x201D] = 10000,
[0x2025] = 5000, -- 250, -- ‥
- [0xFE30] = 5000, -- 250, -- ︰
[0x2026] = 5000, -- 250, -- …
- [0xFE19] = 5000, -- 250, -- ︙
[0x2212] = 5000, -- 200, -- − minus sign
- [0x3001] = 10000,
- [0xFE11] = 10000,
- [0x3002] = 10000,
- [0xFE12] = 10000,
- [0x3005] = 10000,
- [0x3009] = 10000,
- [0xFE40] = 10000,
- [0x300B] = 10000,
- [0xFE3E] = 10000,
- [0x300D] = 10000,
- [0xFE42] = 10000,
- [0x300F] = 10000,
- [0xFE44] = 10000,
- [0x3011] = 10000,
- [0xFE3C] = 10000,
- [0x3015] = 10000,
- [0xFE3A] = 10000,
+ [0x3005] = 10000, -- 々
+ [0x301C] = 10000, -- 〜
+ [0x3035] = 10000, -- 〵
+ [0x303B] = 10000, -- 〻
[0x3041] = 150,
[0x3043] = 150,
[0x3045] = 150,
@@ -351,8 +299,13 @@
[0x3085] = 150,
[0x3087] = 150,
[0x308E] = 150,
- [0x309B] = 10000,
- [0x309C] = 10000,
+ [0x3095] = 150,
+ [0x3096] = 150,
+ [0x309B] = 10000, -- ゛
+ [0x309C] = 10000, -- ゜
+ [0x309D] = 10000, -- ゝ
+ [0x309E] = 10000, -- ゞ
+ [0x30A0] = 10000, -- ゠
[0x30A1] = 150,
[0x30A3] = 150,
[0x30A5] = 150,
@@ -365,27 +318,25 @@
[0x30EE] = 150,
[0x30F5] = 150,
[0x30F6] = 150,
- [0x30FB] = 10000,
- [0x30FC] = 10000,
- [0xFF01] = 10000,
- [0xFF09] = 10000,
- [0xFE36] = 10000,
+ [0x30FC] = 10000, -- ー
+ [0x30FD] = 10000, -- ヽ
+ [0x30FE] = 10000, -- ヾ
+ [0xFE13] = 10000, -- ︓
+ [0xFE14] = 10000, -- ︔
+ [0xFE19] = 5000, -- 250, -- ︙
+ [0xFE30] = 5000, -- 250, -- ︰
+ [0xFE32] = 10000, -- ︲
[0xFF0B] = 5000, -- 200, -- +
- [0xFF0C] = 10000,
- [0xFE10] = 10000,
- [0xFF0E] = 10000,
- [0xFF1A] = 10000,
- [0xFE13] = 10000,
- [0xFF1B] = 10000,
- [0xFE14] = 10000,
[0xFF1D] = 5000, -- 200, -- =
- [0xFF1F] = 10000,
- [0xFF3D] = 10000,
- [0xFE48] = 10000,
- [0xFF5D] = 10000,
- [0xFE38] = 10000,
- [0xFF63] = 10000, -- 」
-}
+ [0xFF9E] = 10000, -- ゙
+ [0xFF9F] = 10000, -- ゚
+},{
+ __index = function (_,c)
+ if cjkclass[c] and cjkclass[c] > 1 then
+ return 10000
+ end
+ end
+})
local xspcode = {
[0x0027] = 2,
@@ -593,10 +544,14 @@
end
end
+local type1fonts = {}
+
local function get_font_table (fid)
if fid then
if fontdata[fid] then
return fontdata[fid]
+ elseif type1fonts[fid] then
+ return type1fonts[fid]
else
return font.fonts[fid]
end
@@ -1479,11 +1434,37 @@
esh = esh and tex_round(esh)
if esp == gsp and est == gst and esh == gsh then else return end
local hf = get_font_table(hfontid)
- if hf and hf.encodingbytes == 2 then else return end
+-- if hf and hf.encodingbytes == 2 then else return end
return gsp, hf
end
-local type1fonts = {} -- due to too verbose log
+local function virtual_unifont (prefix,size)
+ local data = {
+ name = prefix.."vf",
+ type = "virtual",
+ fonts = {},
+ characters = {},
+ }
+ local fonts = data.fonts
+ local chars = data.characters
+ for index = 0, 255 do
+ local name = string.format(prefix.."%02x", index)
+ if kpse_find_file(name,"tfm") then
+ local tfm = font.read_tfm(name, size)
+ data.parameters = data.parameters or tfm.parameters
+ fonts[#fonts+1] = { name=name, size=size }
+ local fid = #fonts
+ local zro = 256 * index
+ for i,v in pairs(tfm.characters) do
+ local slot = zro + i
+ chars[slot] = v
+ chars[slot].commands = { { "slot", fid, i } }
+ end
+ end
+ end
+ return data
+end
+
local function nanumtype1font(curr)
local currchar, currfont = d_getchar(curr), d_getfont(curr)
if currchar > 0xFFFF then return end
@@ -1500,38 +1481,21 @@
series = fnt_t.name:find("^cmb") and "b" or "m"
end
local shape = fnt_t.parameters.slant > 0 and "o" or ""
- local subfnt = stringformat("%s%s%s%02x",family,series,shape,currchar/256)
+ local prefix = stringformat("%s%s%s",family,series,shape)
local fsize = fnt_t.size or 655360
- local fspec = stringformat("%s@%d",subfnt,fsize)
- local newfnt = type1fonts[fspec]
- if newfnt == false then return end
- local newchr = currchar % 256
- local function ital_corr (curr,chr_t)
- if shape ~= "o" then return end
- local nxt = d_getnext(curr)
- if nxt and d_getid(nxt) == kernnode and d_getsubtype(nxt) == kern_type_itlc and d_getfield(nxt,"kern") == 0 then
- d_setfield(nxt,"kern", chr_t.italic or 0)
- end
- end
- if newfnt then
- local fntchr = get_font_char(newfnt,newchr)
- if fntchr then
- d_setfield(curr,"font", newfnt)
- d_setchar(curr, newchr)
- ital_corr(curr,fntchr)
- end
- elseif kpse_find_file(subfnt,"tfm") then
- local ft, id = fonts.constructors.readanddefine(subfnt,fsize)
- local fntchr = ft and ft.characters[newchr]
- if id and fntchr then
- type1fonts[fspec] = id
- d_setfield(curr,"font", id)
- d_setchar(curr, newchr)
- ital_corr(curr,fntchr)
+ local fspec = stringformat("%s@%d",prefix,fsize)
+ local fontid = type1fonts[fspec]
+ if fontid == nil then -- bypass false
+ local fontdata = virtual_unifont(prefix, fsize)
+ fontid = fontdata and fontdefine(fontdata)
+ if fontid then
+ type1fonts[fspec] = fontid
+ type1fonts[fontid] = fontdata
+ else
+ type1fonts[fspec] = false
end
- else
- type1fonts[fspec] = false
end
+ return fontid
end
local function font_substitute(head)
@@ -1569,58 +1533,60 @@
uni = uni and get_cjk_class(uni)
if uni and uni < 7 then ftable = {hanja, hangul, fallback} end
end
+ local fid
for i = 1,3 do
- local fid = ftable[i]
+ fid = ftable[i]
myfontchar = fid and get_font_char(fid, currchar)
- if myfontchar then
- d_setfield(curr,"font",fid)
- --- charraise option charraise
- local charraise = get_font_feature(fid, "charraise")
- if charraise then
- charraise = tex_sp(charraise)
- local curryoffset = d_getfield(curr,"yoffset") or 0
- d_setfield(curr,"yoffset", charraise + curryoffset)
- end
- ---
- local nxt = d_getnext(curr)
- local nxtid = nxt and d_getid(nxt)
- if nxtid == glyphnode and is_unicode_vs(d_getchar(nxt)) then
- nxt = d_getnext(nxt)
- nxtid = nxt and d_getid(nxt)
- end
- if eng and nxtid then
- local nxtsubtype = d_getsubtype(nxt)
- -- adjust next glue by hangul font space
- if nxtid == gluenode and nxtsubtype == glue_type_space and get_font_char(fid,32) then
- local oldwd, ft = hangulspaceskip(eng, fid, nxt)
- if oldwd and ft then
- local newwd = ft.space_char_width
- if not newwd then
- local newsp = d_tonode(d_copy_node(curr))
- newsp.char = 32
- newsp = nodes.simple_font_handler(newsp)
- newwd = newsp and newsp.width
- ft.space_char_width = newwd
- node.free(newsp)
- end
- if newwd and oldwd ~= newwd then
- d_setglue(nxt, newwd, newwd/2, newwd/3)
- end
+ if myfontchar then break end
+ end
+ if not myfontchar and not hangulpunctuations[currchar] then
+ fid = nanumtype1font(curr)
+ myfontchar = fid and get_font_char(fid, currchar)
+ end
+ if myfontchar then
+ d_setfield(curr,"font",fid)
+ --- charraise option charraise
+ local charraise = get_font_feature(fid, "charraise")
+ if charraise then
+ charraise = tex_sp(charraise)
+ local curryoffset = d_getfield(curr,"yoffset") or 0
+ d_setfield(curr,"yoffset", charraise + curryoffset)
+ end
+ ---
+ local nxt = d_getnext(curr)
+ local nxtid = nxt and d_getid(nxt)
+ if nxtid == glyphnode and is_unicode_vs(d_getchar(nxt)) then
+ nxt = d_getnext(nxt)
+ nxtid = nxt and d_getid(nxt)
+ end
+ if eng and nxtid then
+ local nxtsubtype = d_getsubtype(nxt)
+ -- adjust next glue by hangul font space
+ if nxtid == gluenode and nxtsubtype == glue_type_space and get_font_char(fid,32) then
+ local oldwd, ft = hangulspaceskip(eng, fid, nxt)
+ if oldwd and ft then
+ local newwd = ft.space_char_width
+ if not newwd then
+ local newsp = d_tonode(d_copy_node(curr))
+ newsp.char = 32
+ newsp = nodes.simple_font_handler(newsp)
+ newwd = newsp and newsp.width
+ ft.space_char_width = newwd
+ node.free(newsp)
end
- -- adjust next italic correction kern
- elseif nxtid == kernnode and nxtsubtype == kern_type_itlc and d_getfield(nxt,"kern") == 0 then
- local ksl = get_font_table(fid).parameters.slant
- if ksl and ksl > 0 then
- d_setfield(nxt,"kern", myfontchar.italic or 0)
+ if newwd and oldwd ~= newwd then
+ d_setglue(nxt, newwd, newwd/2, newwd/3)
end
end
+ -- adjust next italic correction kern
+ elseif nxtid == kernnode and nxtsubtype == kern_type_itlc and d_getfield(nxt,"kern") == 0 then
+ local ksl = get_font_table(fid).parameters.slant
+ if ksl and ksl > 0 then
+ d_setfield(nxt,"kern", myfontchar.italic or 0)
+ end
end
- break
end
end
- if not myfontchar then
- nanumtype1font(curr)
- end
end
end
end
@@ -1642,38 +1608,43 @@
-- reorder hangul tone marks
-----------------------------
local function reorderTM (head)
- local curr = d_nodetail(head)
+ local curr, todo = head, nil
while curr do
- if d_getid(curr) == glyphnode then
+ local nid = d_getid(curr)
+ if nid == glyphnode then
local uni = d_get_unicode_char(curr)
if uni == 0x302E or uni == 0x302F then
- local done = false
- local unichar = get_font_char(d_getfont(curr), uni)
- if unichar and unichar.width > 0 then
- local p = d_getprev(curr)
- while p and d_getid(p) == glyphnode do
- local pc = get_cjk_class(d_get_unicode_char(p))
- if pc == 9 then
- elseif pc == 7 or pc == 8 then
- head = d_remove_node(head,curr)
- d_setprev(curr, nil) -- prev might survive!
- head, curr = d_insert_before(head,p,curr)
- done = true
- break
- else
- break
- end
- p = d_getprev(p)
+ local tmgl = get_font_char(d_getfont(curr), uni)
+ local tmwidth = tmgl and tmgl.width or 0
+ if todo then
+ if tmwidth > 0 then
+ local tm = curr
+ head, curr = d_remove_node(head, curr)
+ d_setprev(tm, nil) -- prev might survive!
+ head = d_insert_before(head, todo, tm)
+ curr = d_getprev(curr)
+ end
+ elseif get_font_char(d_getfont(curr), 0x25CC) then
+ local u25CC = d_copy_node(curr)
+ d_setchar(u25CC, 0x25CC)
+ if tmwidth > 0 then
+ head, curr = d_insert_after(head, curr, u25CC)
+ else
+ head = d_insert_before(head, curr, u25CC)
end
end
- if not done and get_font_char(d_getfont(curr), 0x25CC) then
- local u_25CC = d_copy_node(curr)
- d_setchar(u_25CC, 0x25CC)
- d_insert_after(head, curr, u_25CC)
- end
+ todo = nil
+ elseif is_hangul(uni) or is_chosong(uni) or uni == 0x25CC then
+ todo = curr
+ elseif is_jungjongsong(uni) then
+ else
+ todo = nil
end
+ elseif nid == kernnode then
+ else
+ todo = nil
end
- curr = d_getprev(curr)
+ curr = d_getnext(curr)
end
return head
end
@@ -1824,9 +1795,22 @@
end
luatexko.uline_boundary = uline_boundary
+local skippable = {
+ [gluenode ] = true,
+ [penaltynode] = true,
+ [kernnode ] = true,
+ [whatsitnode] = true,
+}
local function draw_underline(head,curr,glueset,gluesign,glueorder,ubox,start)
- if not start then
- start = d_getid(head) == gluenode and d_getsubtype(head) < 100 and d_getnext(head) or head
+ start = start or head
+ while start do
+ if not skippable[d_getid(start)] then break end
+ start = d_getnext(start)
+ end
+ while curr do
+ local p = d_getprev(curr)
+ if not skippable[d_getid(p)] then break end
+ curr = p
end
local width = d_nodedimensions(glueset,gluesign,glueorder,start,curr)
if width and width > 0 then
@@ -2085,7 +2069,7 @@
--- vertical gpos
local res = vf.resources or {}
if res.verticalgposhack then
- return vf -- avoid multiple running
+ return -- avoid multiple running
end
local fea = shared.features or {}
fea.kern = nil -- only for horizontal typesetting
@@ -2120,7 +2104,6 @@
end
end
res.verticalgposhack = true
- return vf
end
local otffeatures = fonts.constructors.newfeatures("otf")
@@ -2159,11 +2142,6 @@
-- italic correction for fake-slant font
------------------------------------
local function fakeslant_itlc (tfmdata)
- --[[ should be removed
- if tfmdata.format == "unknown" then
- tfmdata.name = tfmdata.name:gsub("^\"(.-)\"$","%1")
- end
- --]]
local slfactor = tfmdata.parameters.slantfactor
if slfactor and slfactor > 0 then else return end
tfmdata.parameters.slant = slfactor * 65536
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luatexko/luatexko.sty new/tex/luatex/luatexko/luatexko.sty
--- old/tex/luatex/luatexko/luatexko.sty 2016-05-15 00:11:33.000000000 +0200
+++ new/tex/luatex/luatexko/luatexko.sty 2017-02-09 00:01:05.000000000 +0100
@@ -1,6 +1,6 @@
% luatexko.sty
%
-% Copyright (c) 2013-2016 Dohyun Kim <nomos at ktug org>
+% Copyright (c) 2013-2017 Dohyun Kim <nomos at ktug org>
% Soojin Nam <jsunam at gmail com>
%
% This work may be distributed and/or modified under the
@@ -23,7 +23,7 @@
\expandafter\endinput
\fi
-\ProvidesPackage{luatexko}[2016/05/14 v1.15 Typesetting Korean with LuaLaTeX]
+\ProvidesPackage{luatexko}[2017/02/06 v1.16 Typesetting Korean with LuaLaTeX]
\ifdefined\adjustspacing\else % luatex < 0.87
\let\adjustspacing\pdfadjustspacing
@@ -87,19 +87,9 @@
]
{Ligatures=TeX}
%% macros for Korean fonts
- \cs_new:Nn \__luako_pass_args:nnn
+ \DeclareDocumentCommand \setmainhangulfont { O{} m O{} }
{
- \IfNoValueTF {#2}
- { \__luako_post_args:w {#1} {#3} }
- { #1 {#2} {#3} }
- }
- \NewDocumentCommand \__luako_post_args:w { m m O{} }
- { #1 {#3} {#2} }
- \DeclareDocumentCommand \setmainhangulfont { o m }
- { \__luako_pass_args:nnn \__luako_setmainhangulfont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setmainhangulfont:nn
- {
- \newfontfamily \serifhangul@font [#1] {#2}
+ \newfontfamily \serifhangul@font [#1,#3] {#2}
\str_if_eq_x:nnT \familydefault \rmdefault
{
\cs_set_eq:NN \hangul@font \serifhangul@font
@@ -107,11 +97,9 @@
}
\ignorespaces
}
- \DeclareDocumentCommand \setmainhanjafont { o m }
- { \__luako_pass_args:nnn \__luako_setmainhanjafont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setmainhanjafont:nn
+ \DeclareDocumentCommand \setmainhanjafont { O{} m O{} }
{
- \newfontfamily \serifhanja@font [#1] {#2}
+ \newfontfamily \serifhanja@font [#1,#3] {#2}
\str_if_eq_x:nnT \familydefault \rmdefault
{
\cs_set_eq:NN \hanja@font \serifhanja@font
@@ -119,11 +107,9 @@
}
\ignorespaces
}
- \DeclareDocumentCommand \setmainfallbackfont { o m }
- { \__luako_pass_args:nnn \__luako_setmainfallbackfont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setmainfallbackfont:nn
+ \DeclareDocumentCommand \setmainfallbackfont { O{} m O{} }
{
- \newfontfamily \seriffallback@font [#1] {#2}
+ \newfontfamily \seriffallback@font [#1,#3] {#2}
\str_if_eq_x:nnT \familydefault \rmdefault
{
\cs_set_eq:NN \fallback@font \seriffallback@font
@@ -131,11 +117,9 @@
}
\ignorespaces
}
- \DeclareDocumentCommand \setsanshangulfont { o m }
- { \__luako_pass_args:nnn \__luako_setsanshangulfont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setsanshangulfont:nn
+ \DeclareDocumentCommand \setsanshangulfont { O{} m O{} }
{
- \newfontfamily \sanshangul@font [#1] {#2}
+ \newfontfamily \sanshangul@font [#1,#3] {#2}
\str_if_eq_x:nnT \familydefault \sfdefault
{
\cs_set_eq:NN \hangul@font \sanshangul@font
@@ -143,11 +127,9 @@
}
\ignorespaces
}
- \DeclareDocumentCommand \setsanshanjafont { o m }
- { \__luako_pass_args:nnn \__luako_setsanshanjafont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setsanshanjafont:nn
+ \DeclareDocumentCommand \setsanshanjafont { O{} m O{} }
{
- \newfontfamily \sanshanja@font [#1] {#2}
+ \newfontfamily \sanshanja@font [#1,#3] {#2}
\str_if_eq_x:nnT \familydefault \sfdefault
{
\cs_set_eq:NN \hanja@font \sanshanja@font
@@ -155,11 +137,9 @@
}
\ignorespaces
}
- \DeclareDocumentCommand \setsansfallbackfont { o m }
- { \__luako_pass_args:nnn \__luako_setsansfallbackfont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setsansfallbackfont:nn
+ \DeclareDocumentCommand \setsansfallbackfont { O{} m O{} }
{
- \newfontfamily \sansfallback@font [#1] {#2}
+ \newfontfamily \sansfallback@font [#1,#3] {#2}
\str_if_eq_x:nnT \familydefault \sfdefault
{
\cs_set_eq:NN \fallback@font \sansfallback@font
@@ -167,11 +147,9 @@
}
\ignorespaces
}
- \DeclareDocumentCommand \setmonohangulfont { o m }
- { \__luako_pass_args:nnn \__luako_setmonohangulfont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setmonohangulfont:nn
+ \DeclareDocumentCommand \setmonohangulfont { O{} m O{} }
{
- \newfontfamily \monohangul@font [#1] {#2}
+ \newfontfamily \monohangul@font [#1,#3] {#2}
\str_if_eq_x:nnT \familydefault \ttdefault
{
\cs_set_eq:NN \hangul@font \monohangul@font
@@ -179,11 +157,9 @@
}
\ignorespaces
}
- \DeclareDocumentCommand \setmonohanjafont { o m }
- { \__luako_pass_args:nnn \__luako_setmonohanjafont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setmonohanjafont:nn
+ \DeclareDocumentCommand \setmonohanjafont { O{} m O{} }
{
- \newfontfamily \monohanja@font [#1] {#2}
+ \newfontfamily \monohanja@font [#1,#3] {#2}
\str_if_eq_x:nnT \familydefault \ttdefault
{
\cs_set_eq:NN \hanja@font \monohanja@font
@@ -191,11 +167,9 @@
}
\ignorespaces
}
- \DeclareDocumentCommand \setmonofallbackfont { o m }
- { \__luako_pass_args:nnn \__luako_setmonofallbackfont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setmonofallbackfont:nn
+ \DeclareDocumentCommand \setmonofallbackfont { O{} m O{} }
{
- \newfontfamily \monofallback@font [#1] {#2}
+ \newfontfamily \monofallback@font [#1,#3] {#2}
\str_if_eq_x:nnT \familydefault \ttdefault
{
\cs_set_eq:NN \fallback@font \monofallback@font
@@ -203,95 +177,77 @@
}
\ignorespaces
}
- \DeclareDocumentCommand \newhangulfontfamily { m o m }
- { \__luako_pass_args:nnn { \__luako_newhangulfontfamily:Nnn #1 } {#2} {#3} }
- \cs_new:Nn \__luako_newhangulfontfamily:Nnn
+ \DeclareDocumentCommand \newhangulfontfamily { m O{} m O{} }
{
- \exp_args:Nc \newfontfamily { luatexkofont@ \token_to_str:N #1 } [#2] {#3}
+ \exp_args:Nc \newfontfamily { luatexkofont@ \token_to_str:N #1 } [#2,#4] {#3}
\DeclareRobustCommand #1
{
\cs_set_eq:Nc \hangul@font { luatexkofont@ \token_to_str:N #1 }
\luatexko@hangul@selectfont
}
}
- \DeclareDocumentCommand \newhanjafontfamily { m o m }
- { \__luako_pass_args:nnn { \__luako_newhanjafontfamily:Nnn #1 } {#2} {#3} }
- \cs_new:Nn \__luako_newhanjafontfamily:Nnn
+ \DeclareDocumentCommand \newhanjafontfamily { m O{} m O{} }
{
- \exp_args:Nc \newfontfamily { luatexkofont@ \token_to_str:N #1 } [#2] {#3}
+ \exp_args:Nc \newfontfamily { luatexkofont@ \token_to_str:N #1 } [#2,#4] {#3}
\DeclareRobustCommand #1
{
\cs_set_eq:Nc \hanja@font { luatexkofont@ \token_to_str:N #1 }
\luatexko@hanja@selectfont
}
}
- \DeclareDocumentCommand \newfallbackfontfamily { m o m }
- { \__luako_pass_args:nnn { \__luako_newfallbackfontfamily:Nnn #1 } {#2} {#3} }
- \cs_new:Nn \__luako_newfallbackfontfamily:Nnn
+ \DeclareDocumentCommand \newfallbackfontfamily { m O{} m O{} }
{
- \exp_args:Nc \newfontfamily { luatexkofont@ \token_to_str:N #1 } [#2] {#3}
+ \exp_args:Nc \newfontfamily { luatexkofont@ \token_to_str:N #1 } [#2,#4] {#3}
\DeclareRobustCommand #1
{
\cs_set_eq:Nc \fallback@font { luatexkofont@ \token_to_str:N #1 }
\luatexko@fallback@selectfont
}
}
- \DeclareDocumentCommand \newhangulfontface { m o m }
- { \__luako_pass_args:nnn { \__luako_newhangulfontface:Nnn #1 } {#2} {#3} }
- \cs_new:Nn \__luako_newhangulfontface:Nnn
+ \DeclareDocumentCommand \newhangulfontface { m O{} m O{} }
{
- \exp_args:Nc \newfontface { luatexkofont@ \token_to_str:N #1 } [#2] {#3}
+ \exp_args:Nc \newfontface { luatexkofont@ \token_to_str:N #1 } [#2,#4] {#3}
\DeclareRobustCommand #1
{
\cs_set_eq:Nc \hangul@font { luatexkofont@ \token_to_str:N #1 }
\luatexko@hangul@selectfont
}
}
- \DeclareDocumentCommand \newhanjafontface { m o m }
- { \__luako_pass_args:nnn { \__luako_newhanjafontface:Nnn #1 } {#2} {#3} }
- \cs_new:Nn \__luako_newhanjafontface:Nnn
+ \DeclareDocumentCommand \newhanjafontface { m O{} m O{} }
{
- \exp_args:Nc \newfontface { luatexkofont@ \token_to_str:N #1 } [#2] {#3}
+ \exp_args:Nc \newfontface { luatexkofont@ \token_to_str:N #1 } [#2,#4] {#3}
\DeclareRobustCommand #1
{
\cs_set_eq:Nc \hanja@font { luatexkofont@ \token_to_str:N #1 }
\luatexko@hanja@selectfont
}
}
- \DeclareDocumentCommand \newfallbackfontface { m o m }
- { \__luako_pass_args:nnn { \__luako_newfallbackfontface:Nnn #1 } {#2} {#3} }
- \cs_new:Nn \__luako_newfallbackfontface:Nnn
+ \DeclareDocumentCommand \newfallbackfontface { m O{} m O{} }
{
- \exp_args:Nc \newfontface { luatexkofont@ \token_to_str:N #1 } [#2] {#3}
+ \exp_args:Nc \newfontface { luatexkofont@ \token_to_str:N #1 } [#2,#4] {#3}
\DeclareRobustCommand #1
{
\cs_set_eq:Nc \fallback@font { luatexkofont@ \token_to_str:N #1 }
\luatexko@fallback@selectfont
}
}
- \DeclareDocumentCommand \hangulfontspec { o m }
- { \__luako_pass_args:nnn \__luako_hangulfontspec:nn {#1} {#2} }
- \cs_new:Nn \__luako_hangulfontspec:nn
+ \DeclareDocumentCommand \hangulfontspec { O{} m O{} }
{
- \newfontfamily \hangul@font [#1] {#2}
+ \newfontfamily \hangul@font [#1,#3] {#2}
\luatexko@hangul@selectfont
\ignorespaces
}
\cs_set_eq:NN \adhochangulfont \hangulfontspec
- \DeclareDocumentCommand \hanjafontspec { o m }
- { \__luako_pass_args:nnn \__luako_hanjafontspec:nn {#1} {#2} }
- \cs_new:Nn \__luako_hanjafontspec:nn
+ \DeclareDocumentCommand \hanjafontspec { O{} m O{} }
{
- \newfontfamily \hanja@font [#1] {#2}
+ \newfontfamily \hanja@font [#1,#3] {#2}
\luatexko@hanja@selectfont
\ignorespaces
}
\cs_set_eq:NN \adhochanjafont \hanjafontspec
- \DeclareDocumentCommand \fallbackfontspec { o m }
- { \__luako_pass_args:nnn \__luako_fallbackfontspec:nn {#1} {#2} }
- \cs_new:Nn \__luako_fallbackfontspec:nn
+ \DeclareDocumentCommand \fallbackfontspec { O{} m O{} }
{
- \newfontfamily \fallback@font [#1] {#2}
+ \newfontfamily \fallback@font [#1,#3] {#2}
\luatexko@fallback@selectfont
\ignorespaces
}
@@ -348,12 +304,63 @@
}
\cs_set_eq:NN \addfallbackfontfeatures \addfallbackfontfeature
% hangul math font command
- \DeclareDocumentCommand \setmathhangulfont { o m }
- { \__luako_pass_args:nnn \__luako_setmathhangulfont:nn {#1} {#2} }
- \cs_new:Nn \__luako_setmathhangulfont:nn
+ \DeclareDocumentCommand \setmathhangulfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \luatexko@math@hangul@family {#1} {#2}
+ \fontspec_set_family:Nnn \luatexko@math@hangul@family {#1,#3} {#2}
}
+% fontspec 2017
+\RenewDocumentCommand \setmainfont { O{} m O{} }
+ {
+ \fontspec_set_family:Nnn \g__fontspec_rmfamily_family {#1,#3} {#2}
+ \tl_set_eq:NN \rmdefault \g__fontspec_rmfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \rmfamily }
+ {
+ \exp_not:N \luatexko@serif@fonts
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__fontspec_rmfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\rmdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ \normalfont
+ \ignorespaces
+ }
+\RenewDocumentCommand \setsansfont { O{} m O{} }
+ {
+ \fontspec_set_family:Nnn \g__fontspec_sffamily_family {#1,#3} {#2}
+ \tl_set_eq:NN \sfdefault \g__fontspec_sffamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \sffamily }
+ {
+ \exp_not:N \luatexko@sans@fonts
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__fontspec_sffamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\sfdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ \normalfont
+ \ignorespaces
+ }
+\RenewDocumentCommand \setmonofont { O{} m O{} }
+ {
+ \fontspec_set_family:Nnn \g__fontspec_ttfamily_family {#1,#3} {#2}
+ \tl_set_eq:NN \ttdefault \g__fontspec_ttfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \ttfamily }
+ {
+ \exp_not:N \luatexko@mono@fonts
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__fontspec_ttfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\ttdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ \normalfont
+ \ignorespaces
+ }
+\cs_set_eq:NN \setromanfont \setmainfont
\ExplSyntaxOff
\fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatexko.tlpobj new/tlpkg/tlpobj/luatexko.tlpobj
--- old/tlpkg/tlpobj/luatexko.tlpobj 2016-05-15 03:20:05.000000000 +0200
+++ new/tlpkg/tlpobj/luatexko.tlpobj 2017-05-02 19:43:19.000000000 +0200
@@ -1,6 +1,6 @@
name luatexko
category Package
-revision 41128
+revision 44141
shortdesc Typeset Korean with Lua(La)TeX
relocated 1
longdesc This is a Lua(La)TeX macro package that supports typesetting
@@ -19,7 +19,7 @@
RELOC/tex/luatex/luatexko/luatexko.lua
RELOC/tex/luatex/luatexko/luatexko.sty
catalogue-ctan /macros/luatex/generic/luatexko
-catalogue-date 2016-05-14 05:33:07 +0200
-catalogue-license lppl1.3
+catalogue-date 2017-05-01 10:20:42 +0200
+catalogue-license lppl1.3c
catalogue-topics luatex korean
-catalogue-version 1.15
+catalogue-version 1.17
++++++ luatextra.doc.tar.xz ++++++
++++++ luatextra.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatextra.tlpobj new/tlpkg/tlpobj/luatextra.tlpobj
--- old/tlpkg/tlpobj/luatextra.tlpobj 2016-04-14 19:24:40.000000000 +0200
+++ new/tlpkg/tlpobj/luatextra.tlpobj 2017-04-14 17:50:01.000000000 +0200
@@ -11,7 +11,7 @@
runfiles size=1
RELOC/tex/lualatex/luatextra/luatextra.sty
catalogue-ctan /macros/luatex/latex/luatextra
-catalogue-date 2015-08-09 10:51:45 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license pd
catalogue-topics luatex
catalogue-version 1.0.1
++++++ luatodonotes.doc.tar.xz ++++++
++++++ luatodonotes.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatodonotes.tlpobj new/tlpkg/tlpobj/luatodonotes.tlpobj
--- old/tlpkg/tlpobj/luatodonotes.tlpobj 2016-04-14 19:24:40.000000000 +0200
+++ new/tlpkg/tlpobj/luatodonotes.tlpobj 2017-04-14 17:50:02.000000000 +0200
@@ -18,7 +18,7 @@
RELOC/tex/lualatex/luatodonotes/path_point.lua
catalogue-also todonotes
catalogue-ctan /macros/luatex/latex/luatodonotes
-catalogue-date 2015-12-05 05:56:05 +0100
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.2
catalogue-topics notes editorial luatex use-lua
catalogue-version 0.3
++++++ luaxml.doc.tar.xz ++++++
++++++ luaxml.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luaxml.tlpobj new/tlpkg/tlpobj/luaxml.tlpobj
--- old/tlpkg/tlpobj/luaxml.tlpobj 2016-04-14 19:24:40.000000000 +0200
+++ new/tlpkg/tlpobj/luaxml.tlpobj 2017-04-14 17:50:02.000000000 +0200
@@ -17,7 +17,7 @@
RELOC/tex/luatex/luaxml/luaxml-stack.lua
RELOC/tex/luatex/luaxml/luaxml-testxml.lua
catalogue-ctan /macros/luatex/generic/luaxml
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license other-free
catalogue-topics foreign-import luatex
catalogue-version 0.0.2
++++++ lxfonts.doc.tar.xz ++++++
++++++ lxfonts.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lxfonts.tlpobj new/tlpkg/tlpobj/lxfonts.tlpobj
--- old/tlpkg/tlpobj/lxfonts.tlpobj 2016-04-14 19:24:41.000000000 +0200
+++ new/tlpkg/tlpobj/lxfonts.tlpobj 2017-04-14 17:50:03.000000000 +0200
@@ -107,7 +107,7 @@
RELOC/tex/latex/lxfonts/ulmsa.fd
RELOC/tex/latex/lxfonts/ulmsb.fd
catalogue-ctan /fonts/lxfonts
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics font font-mf font-type1 font-sans font-maths
catalogue-version 2.0b
++++++ ly1.doc.tar.xz ++++++
++++++ ly1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ly1.tlpobj new/tlpkg/tlpobj/ly1.tlpobj
--- old/tlpkg/tlpobj/ly1.tlpobj 2016-04-14 19:24:42.000000000 +0200
+++ new/tlpkg/tlpobj/ly1.tlpobj 2017-04-14 17:50:03.000000000 +0200
@@ -82,6 +82,6 @@
RELOC/tex/latex/ly1/texnansi.sty
RELOC/tex/plain/ly1/texnansi.tex
catalogue-ctan /fonts/psfonts/ly1
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics font-supp
++++++ m-tx.doc.tar.xz ++++++
Binary files old/texmf-dist/doc/man/man1/prepmx.man1.pdf and new/texmf-dist/doc/man/man1/prepmx.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/m-tx.doc.tlpobj new/tlpkg/tlpobj/m-tx.doc.tlpobj
--- old/tlpkg/tlpobj/m-tx.doc.tlpobj 2016-05-09 03:15:55.000000000 +0200
+++ new/tlpkg/tlpobj/m-tx.doc.tlpobj 2017-05-04 02:07:09.000000000 +0200
@@ -1,8 +1,8 @@
name m-tx.doc
category Package
-revision 40961
+revision 44166
shortdesc doc files of m-tx
-docfiles size=230
+docfiles size=226
texmf-dist/doc/generic/m-tx/Makefile
texmf-dist/doc/generic/m-tx/README
texmf-dist/doc/generic/m-tx/README.devel
++++++ m-tx.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/m-tx.tlpobj new/tlpkg/tlpobj/m-tx.tlpobj
--- old/tlpkg/tlpobj/m-tx.tlpobj 2016-05-09 03:15:56.000000000 +0200
+++ new/tlpkg/tlpobj/m-tx.tlpobj 2017-05-04 02:07:09.000000000 +0200
@@ -1,6 +1,6 @@
name m-tx
category Package
-revision 40961
+revision 44166
shortdesc A preprocessor for pmx
longdesc M-Tx is a preprocessor to pmx, which is itself a preprocessor
longdesc to musixtex, a music typesetting system. The prime motivation
@@ -12,7 +12,7 @@
texmf-dist/scripts/m-tx/m-tx.lua
texmf-dist/tex/generic/m-tx/mtx.tex
catalogue-ctan /support/m-tx
-catalogue-date 2016-05-07 16:52:45 +0200
-catalogue-license gpl2
+catalogue-date 2017-04-18 05:31:40 +0200
+catalogue-license mit
catalogue-topics music
catalogue-version 0.62a
++++++ macros2e.doc.tar.xz ++++++
++++++ macroswap.doc.tar.xz ++++++
++++++ macroswap.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/macroswap.tlpobj new/tlpkg/tlpobj/macroswap.tlpobj
--- old/tlpkg/tlpobj/macroswap.tlpobj 2016-04-14 19:24:46.000000000 +0200
+++ new/tlpkg/tlpobj/macroswap.tlpobj 2017-04-14 17:50:05.000000000 +0200
@@ -8,7 +8,7 @@
runfiles size=1
RELOC/tex/latex/macroswap/macroswap.sty
catalogue-ctan /macros/latex/contrib/macroswap
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.2
catalogue-topics macro-supp
catalogue-version 1.1
++++++ mafr.doc.tar.xz ++++++
++++++ mafr.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mafr.tlpobj new/tlpkg/tlpobj/mafr.tlpobj
--- old/tlpkg/tlpobj/mafr.tlpobj 2016-04-14 19:24:46.000000000 +0200
+++ new/tlpkg/tlpobj/mafr.tlpobj 2017-04-14 17:50:05.000000000 +0200
@@ -13,7 +13,7 @@
RELOC/tex/latex/mafr/fiche.cls
RELOC/tex/latex/mafr/mafr.sty
catalogue-ctan /macros/latex/contrib/mafr
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics maths french exercise
catalogue-version 1.0
++++++ magaz.doc.tar.xz ++++++
++++++ magaz.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/magaz.tlpobj new/tlpkg/tlpobj/magaz.tlpobj
--- old/tlpkg/tlpobj/magaz.tlpobj 2016-04-14 19:24:46.000000000 +0200
+++ new/tlpkg/tlpobj/magaz.tlpobj 2017-04-14 17:50:05.000000000 +0200
@@ -9,7 +9,7 @@
runfiles size=3
RELOC/tex/latex/magaz/magaz.sty
catalogue-ctan /macros/latex/contrib/magaz
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license other-free
catalogue-topics layout typesetting
catalogue-version 0.4
++++++ mailing.doc.tar.xz ++++++
++++++ mailing.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mailing.tlpobj new/tlpkg/tlpobj/mailing.tlpobj
--- old/tlpkg/tlpobj/mailing.tlpobj 2016-04-14 19:24:46.000000000 +0200
+++ new/tlpkg/tlpobj/mailing.tlpobj 2017-04-14 17:50:05.000000000 +0200
@@ -11,6 +11,6 @@
runfiles size=1
RELOC/tex/latex/mailing/mailing.sty
catalogue-ctan /macros/latex/contrib/mailing
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics mailing
++++++ mailmerge.doc.tar.xz ++++++
++++++ mailmerge.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mailmerge.tlpobj new/tlpkg/tlpobj/mailmerge.tlpobj
--- old/tlpkg/tlpobj/mailmerge.tlpobj 2016-04-14 19:24:46.000000000 +0200
+++ new/tlpkg/tlpobj/mailmerge.tlpobj 2017-04-14 17:50:05.000000000 +0200
@@ -13,7 +13,7 @@
RELOC/tex/latex/mailmerge/mailmerge.sty
catalogue-also mailing merge postcards
catalogue-ctan /macros/latex/contrib/mailmerge
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.2
catalogue-topics mailing
catalogue-version 1.0
++++++ make4ht.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/make4ht/README new/texmf-dist/doc/support/make4ht/README
--- old/texmf-dist/doc/support/make4ht/README 2015-12-12 00:15:24.000000000 +0100
+++ new/texmf-dist/doc/support/make4ht/README 2017-04-27 18:43:40.000000000 +0200
@@ -60,9 +60,12 @@
Make:htlatex()
Make:match("html$", "tidy -m -xml -utf8 -q -i ${filename}")
- `Make:htlatex()` is preconfigured command for calling LaTeX with `tex4ht` loaded on the input file. In this case it will be called one time. After compilation, `tidy` command is executed on the output `html` file.
+`Make:htlatex()` is preconfigured command for calling LaTeX with `tex4ht`
+loaded on the input file. In this case it will be called one time. After
+compilation, `tidy` command is executed on the output `html` file.
-Note that you don't have to call `tex4ht` and `t4ht` commands explicitly in the build file, they are called automatically.
+Note that you don't have to call `tex4ht` and `t4ht` commands explicitly in the
+build file, they are called automatically.
You can add more commands like `Make:htlatex` with
@@ -76,7 +79,11 @@
`command` can be text template, or function:
Make:add("text", "hello, input file: ${input}")
- Make:add("function", function(params) for k, v in pairs(params) do print(k..": "..v) end)
+ Make:add("function", function(params)
+ for k, v in pairs(params) do
+ print(k..": "..v)
+ end
+ )
`parameters` is a table or `nil` value.
@@ -101,7 +108,7 @@
packages
: insert additionl LaTeX code which is inserted before `\documentclass`.
- useful for passing options to packages or additional packages loading
+ Useful for passing options to packages or additional packages loading
tex4ht_sty_par
@@ -125,7 +132,8 @@
correct_exit
-: expected `exit code` from the command.
+: expected `exit code` from the command. The compilation will be terminted
+ when the command `exit code` is different.
You may add your own parameters, they will be accessible in templates and
@@ -138,9 +146,9 @@
called also by `make4ht`. With `repetition`, second execution is blocked.
You can set expected exit code from a command with `correct_exit`. Compilation
-is stopped when command returns different exit code. Situation is little bit
-difficult with LaTeX (all engines and formats in fact), because it doesn't
-differentiate between fatal and non fatal errors and returns same exit code
+is stopped when command returns different exit code. The situation is
+different for LaTeX (for all TeX engines and formats, in fact), because it doesn't
+differentiate between fatal and non fatal errors, and it returns the same exit code
in all cases. Log parsing is used because of that, error code `1` is returned
in the case of fatal error, `0` is used otherwise.
@@ -193,10 +201,18 @@
: `\hrule` commands are translated to series of underscore characters
by `tex4ht`, this filter translate these underscores to `<hr>` elements
-entites
-: convert prohibited named entities to numeric entities (currently, only ` `, as it causes validation errors, and `tex4ht` is producing it sometimes
+entites
+: convert prohibited named entities to numeric entities (currently, only
+ ` `, as it causes validation errors, and `tex4ht` is producing it
+ sometimes
+
+fix-links
+
+: replace colons in local links and `id` attributes with underscores. Some
+ cross-reference commands may produce colons in internal links, which results in
+ validation error.
Function `filter` accepts also function arguments, in this case this function
takes file contents as parameter and modified contents are returned.
@@ -222,7 +238,7 @@
commands are called.
This conversion is normally configured in the `env file`,
-which is system dependent and which has a little bit unintuitive syntax.
+which is system dependent and which has a bit unintuitive syntax.
This configuration is processed by `t4ht` application and conversion
commands are called for all pictures.
@@ -243,9 +259,9 @@
- source - `dvi` file with the pictures
- page - page number of the converted image
-## `mode` variable
+## The `mode` variable
-Variable `mode` contains contents of `-mode` command line option.
+The `mode` variable contains contents of `--mode` command line option.
It can be used to run some commands conditionally. For example:
if mode == "draft" then
@@ -256,11 +272,22 @@
Make:htlatex{}
end
-In this example (which is default configuration used by `make4ht`),
-LaTeX is called only once when `make4ht` is called with
+In this example (which is the default configuration used by `make4ht`),
+LaTeX is called only once when `make4ht` is called with `draft` mode:
make4ht -m draft filename
+## The `settings` table
+
+You may want to access to the parameters also outside commands, file matches
+and image conversion functions. For example, if you want to convert your file to
+the `OpenDocument Format`, you can use the following settings, based on `oolatex`
+command:
+
+ settings.tex4ht_sty_par = settings.tex4ht_sty_par ..",ooffice"
+ settings.tex4ht_par = settings.tex4ht_par .. " ooffice/! -cmozhtf"
+ settings.t4ht_par = settings.t4ht_par .. " -cooxtpipes -coo "
+
# Command line options
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/make4ht/changelog.tex new/texmf-dist/doc/support/make4ht/changelog.tex
--- old/texmf-dist/doc/support/make4ht/changelog.tex 2015-12-12 00:15:24.000000000 +0100
+++ new/texmf-dist/doc/support/make4ht/changelog.tex 2017-04-27 18:43:40.000000000 +0200
@@ -2,6 +2,61 @@
\begin{itemize}
\item
+ 2017/04/26
+
+ \begin{itemize}
+ \itemsep1pt\parskip0pt\parsep0pt
+ \item
+ Released version \texttt{v0.1c}
+ \end{itemize}
+\item
+ 2017/03/16
+
+ \begin{itemize}
+ \itemsep1pt\parskip0pt\parsep0pt
+ \item
+ check for \texttt{TeX capacity exceeded} error in the \LaTeX~run.
+ \end{itemize}
+\item
+ 2016/12/19
+
+ \begin{itemize}
+ \itemsep1pt\parskip0pt\parsep0pt
+ \item
+ use full input name in \texttt{tex\_file} variable. This should
+ enable use of files without \texttt{.tex} extension.
+ \end{itemize}
+\item
+ 2016/10/22
+
+ \begin{itemize}
+ \itemsep1pt\parskip0pt\parsep0pt
+ \item
+ new command available in the build file:
+ \texttt{Make:add\_file(filename)}. This enables filters and commands
+ to register files to the output.
+ \item
+ use ipairs instead of pairs for traversing files and executing
+ filters. This should ensure correct order of executions.
+ \end{itemize}
+\item
+ 2016/10/18
+
+ \begin{itemize}
+ \itemsep1pt\parskip0pt\parsep0pt
+ \item
+ new filter: replace colons in \texttt{id} and \texttt{href}
+ attributes with underscores
+ \end{itemize}
+\item
+ 2016/01/11
+
+ \begin{itemize}
+ \itemsep1pt\parskip0pt\parsep0pt
+ \item
+ fixed bug in loading documents with full path specified
+ \end{itemize}
+\item
2015/12/06 version 0.1b
\begin{itemize}
Binary files old/texmf-dist/doc/support/make4ht/make4ht-doc.pdf and new/texmf-dist/doc/support/make4ht/make4ht-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/make4ht/make4ht-doc.tex new/texmf-dist/doc/support/make4ht/make4ht-doc.tex
--- old/texmf-dist/doc/support/make4ht/make4ht-doc.tex 2015-12-12 00:15:24.000000000 +0100
+++ new/texmf-dist/doc/support/make4ht/make4ht-doc.tex 2017-04-27 18:43:40.000000000 +0200
@@ -11,10 +11,11 @@
\setmainfont{TeX Gyre Schola}
\fi
\usepackage{microtype}
+\providecommand\tightlist{\relax}
\title{The \texttt{make4ht} build system}
\author{Michal Hoftich\footnote{\url{michal.h21@gmail.com}}}
-\date{Version 0.1b\\12/11/2015}
+\date{Version \version\\\gitdate}
\begin{document}
\maketitle
\tableofcontents
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/make4ht/readme.tex new/texmf-dist/doc/support/make4ht/readme.tex
--- old/texmf-dist/doc/support/make4ht/readme.tex 2015-12-12 00:15:24.000000000 +0100
+++ new/texmf-dist/doc/support/make4ht/readme.tex 2017-04-27 18:43:40.000000000 +0200
@@ -93,7 +93,11 @@
\begin{verbatim}
Make:add("text", "hello, input file: ${input}")
-Make:add("function", function(params) for k, v in pairs(params) do print(k..": "..v) end)
+Make:add("function", function(params)
+ for k, v in pairs(params) do
+ print(k..": "..v)
+ end
+)
\end{verbatim}
\texttt{parameters} is a table or \texttt{nil} value.
@@ -111,7 +115,7 @@
parameters to \texttt{latex}
\item[packages]
insert additionl LaTeX code which is inserted before
-\texttt{\textbackslash{}documentclass}. useful for passing options to
+\texttt{\textbackslash{}documentclass}. Useful for passing options to
packages or additional packages loading
\item[tex4ht\_sty\_par]
parameters to \texttt{tex4ht.sty}
@@ -124,7 +128,8 @@
\item[repetition]
limit number of command execution.
\item[correct\_exit]
-expected \texttt{exit code} from the command.
+expected \texttt{exit code} from the command. The compilation will be
+terminted when the command \texttt{exit code} is different.
\end{description}
You may add your own parameters, they will be accessible in templates
@@ -139,11 +144,11 @@
You can set expected exit code from a command with
\texttt{correct\_exit}. Compilation is stopped when command returns
-different exit code. Situation is little bit difficult with LaTeX (all
-engines and formats in fact), because it doesn't differentiate between
-fatal and non fatal errors and returns same exit code in all cases. Log
-parsing is used because of that, error code \texttt{1} is returned in
-the case of fatal error, \texttt{0} is used otherwise.
+different exit code. The situation is different for LaTeX (for all TeX
+engines and formats, in fact), because it doesn't differentiate between
+fatal and non fatal errors, and it returns the same exit code in all
+cases. Log parsing is used because of that, error code \texttt{1} is
+returned in the case of fatal error, \texttt{0} is used otherwise.
\subsection{File matches}\label{file-matches}
@@ -197,6 +202,10 @@
convert prohibited named entities to numeric entities (currently, only
\texttt{\ }, as it causes validation errors, and \texttt{tex4ht} is
producing it sometimes
+\item[fix-links]
+replace colons in local links and \texttt{id} attributes with
+underscores. Some cross-reference commands may produce colons in
+internal links, which results in validation error.
\end{description}
Function \texttt{filter} accepts also function arguments, in this case
@@ -226,7 +235,7 @@
\texttt{dvi to image} commands are called.
This conversion is normally configured in the \texttt{env file}, which
-is system dependent and which has a little bit unintuitive syntax. This
+is system dependent and which has a bit unintuitive syntax. This
configuration is processed by \texttt{t4ht} application and conversion
commands are called for all pictures.
@@ -254,10 +263,11 @@
page - page number of the converted image
\end{itemize}
-\subsection{\texttt{mode} variable}\label{mode-variable}
+\subsection{The \texttt{mode} variable}\label{the-mode-variable}
-Variable \texttt{mode} contains contents of \texttt{-mode} command line
-option. It can be used to run some commands conditionally. For example:
+The \texttt{mode} variable contains contents of \texttt{-{}-mode}
+command line option. It can be used to run some commands conditionally.
+For example:
\begin{verbatim}
if mode == "draft" then
@@ -269,14 +279,27 @@
end
\end{verbatim}
-In this example (which is default configuration used by
+In this example (which is the default configuration used by
\texttt{make4ht}), LaTeX is called only once when \texttt{make4ht} is
-called with
+called with \texttt{draft} mode:
\begin{verbatim}
make4ht -m draft filename
\end{verbatim}
+\subsection{The \texttt{settings} table}\label{the-settings-table}
+
+You may want to access to the parameters also outside commands, file
+matches and image conversion functions. For example, if you want to
+convert your file to the \texttt{OpenDocument Format}, you can use the
+following settings, based on \texttt{oolatex} command:
+
+\begin{verbatim}
+settings.tex4ht_sty_par = settings.tex4ht_sty_par ..",ooffice"
+settings.tex4ht_par = settings.tex4ht_par .. " ooffice/! -cmozhtf"
+settings.t4ht_par = settings.t4ht_par .. " -cooxtpipes -coo "
+\end{verbatim}
+
\section{Command line options}\label{command-line-options}
\begin{verbatim}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/make4ht.doc.tlpobj new/tlpkg/tlpobj/make4ht.doc.tlpobj
--- old/tlpkg/tlpobj/make4ht.doc.tlpobj 2016-04-14 19:24:46.000000000 +0200
+++ new/tlpkg/tlpobj/make4ht.doc.tlpobj 2017-04-28 02:09:02.000000000 +0200
@@ -1,8 +1,8 @@
name make4ht.doc
category Package
-revision 39075
+revision 44079
shortdesc doc files of make4ht
-docfiles size=24
+docfiles size=26
texmf-dist/doc/support/make4ht/README
texmf-dist/doc/support/make4ht/changelog.tex
texmf-dist/doc/support/make4ht/make4ht-doc.pdf
++++++ make4ht.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/make4ht/filters/make4ht-fix-links.lua new/texmf-dist/scripts/make4ht/filters/make4ht-fix-links.lua
--- old/texmf-dist/scripts/make4ht/filters/make4ht-fix-links.lua 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/scripts/make4ht/filters/make4ht-fix-links.lua 2017-04-27 18:43:40.000000000 +0200
@@ -0,0 +1,19 @@
+-- replace colons in `id` or `href` attributes for local links with underscores
+--
+
+local function fix_href_colons(s)
+ return s:gsub('(href=".-")', function(a)
+ if a:match("[a-z]%://") then return a end
+ return a:gsub(":","_")
+ end)
+end
+
+local function fix_id_colons(s)
+ return s:gsub('(id=".-")', function(a)
+ return a:gsub(":", "_")
+ end)
+end
+
+return function(s)
+ return fix_id_colons(fix_href_colons(s))
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/make4ht/make4ht new/texmf-dist/scripts/make4ht/make4ht
--- old/texmf-dist/scripts/make4ht/make4ht 2015-12-12 00:15:24.000000000 +0100
+++ new/texmf-dist/scripts/make4ht/make4ht 2017-04-27 18:43:40.000000000 +0200
@@ -24,6 +24,11 @@
<filename> (string) Input file name
]]
+-- set version number. the template should be replaced by the
+-- actual version number by the build script
+local version = "v0.1c"
+mkparams.version_number = version
+
local args = mkparams.get_args()
local parameters = mkparams.process_args(args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/make4ht/make4ht-dom.lua new/texmf-dist/scripts/make4ht/make4ht-dom.lua
--- old/texmf-dist/scripts/make4ht/make4ht-dom.lua 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/scripts/make4ht/make4ht-dom.lua 2017-04-27 18:43:40.000000000 +0200
@@ -0,0 +1,448 @@
+--- DOM module for LuaXML
+-- @module make4ht-dom
+local dom = {}
+local xml = require("luaxml-mod-xml")
+local handler = require("luaxml-mod-handler")
+local query = require("make4ht-parse-query")
+
+
+local void = {area = true, base = true, br = true, col = true, hr = true, img = true, input = true, link = true, meta = true, param = true}
+
+local actions = {
+ TEXT = {text = "%s"},
+ COMMENT = {start = "<!-- ", text = "%s", stop = " -->"},
+ ELEMENT = {start = "<%s%s>", stop = "%s>", void = "<%s%s />"},
+ DECL = {start = "<?%s %s?>"},
+ DTD = {start = "<!DOCTYPE ", text = "%s" , stop=">"}
+}
+
+--- It serializes the DOM object back to XML
+-- @function serialize_dom
+-- @param parser DOM object
+-- @param current
+-- @param level
+-- @param output
+-- @return table
+function serialize_dom(parser, current,level, output)
+ local output = output or {}
+ local function get_action(typ, action)
+ local ac = actions[typ] or {}
+ local format = ac[action] or ""
+ return format
+ end
+ local function insert(format, ...)
+ table.insert(output, string.format(format, ...))
+ end
+ local function prepare_attributes(attr)
+ local t = {}
+ local attr = attr or {}
+ for k, v in pairs(attr) do
+ t[#t+1] = string.format("%s='%s'", k, v)
+ end
+ if #t == 0 then return "" end
+ -- add space before attributes
+ return " " .. table.concat(t, " ")
+ end
+ local function start(typ, el, attr)
+ local format = get_action(typ, "start")
+ insert(format, el, prepare_attributes(attr))
+ end
+ local function text(typ, text)
+ local format = get_action(typ, "text")
+ insert(format, text)
+ end
+ local function stop(typ, el)
+ local format = get_action(typ, "stop")
+ insert(format,el)
+ end
+ local level = level or 0
+ local spaces = string.rep(" ",level)
+ local root= current or parser._handler.root
+ local name = root._name or "unnamed"
+ local xtype = root._type or "untyped"
+ local text_content = root._text or ""
+ local attributes = root._attr or {}
+ -- if xtype == "TEXT" then
+ -- print(spaces .."TEXT : " .. root._text)
+ -- elseif xtype == "COMMENT" then
+ -- print(spaces .. "Comment : ".. root._text)
+ -- else
+ -- print(spaces .. xtype .. " : " .. name)
+ -- end
+ -- for k, v in pairs(attributes) do
+ -- print(spaces .. " ".. k.."="..v)
+ -- end
+ if xtype == "DTD" then
+ text_content = string.format('%s %s "%s" "%s"', name, attributes["_type"], attributes._name, attributes._uri )
+ attributes = {}
+ elseif xtype == "ELEMENT" and void[name] then
+ local format = get_action(xtype, "void")
+ insert(format, name, prepare_attributes(attributes))
+ return output
+ end
+
+ start(xtype, name, attributes)
+ text(xtype,text_content)
+ local children = root._children or {}
+ for _, child in ipairs(children) do
+ output = serialize_dom(parser,child, level + 1, output)
+ end
+ stop(xtype, name)
+ return output
+end
+
+local parse = function(x)
+ local domHandler = handler.domHandler()
+ local Parser = xml.xmlParser(domHandler)
+ -- preserve whitespace
+ Parser.options.stripWS = nil
+ Parser:parse(x)
+ Parser.current = Parser._handler.root
+ Parser.__index = Parser
+
+ local function save_methods(element)
+ setmetatable(element,Parser)
+ local children = element._children or {}
+ for _, x in ipairs(children) do
+ save_methods(x)
+ end
+ end
+ local parser = setmetatable({}, Parser)
+
+ --- @class Parser
+ function Parser.root_node(self)
+ return self._handler.root
+ end
+
+
+ function Parser.get_element_type(self, el)
+ local el = el or self
+ return el._type
+ end
+ function Parser.is_element(self, el)
+ local el = el or self
+ return self:get_element_type(el) == "ELEMENT"
+ end
+
+ function Parser.is_text(self, el)
+ local el = el or self
+ return self:get_element_type(el) == "TEXT"
+ end
+
+ local lower = string.lower
+
+ function Parser.get_element_name(self, el)
+ local el = el or self
+ return el._name or "unnamed"
+ end
+
+ function Parser.get_attribute(self, name)
+ local el = self
+ if self:is_element(el) then
+ local attr = el._attr or {}
+ return attr[name]
+ end
+ end
+
+ function Parser.set_attribute(self, name, value)
+ local el = self
+ if self:is_element(el) then
+ el._attr[name] = value
+ return true
+ end
+ end
+
+
+ function Parser.serialize(self, current)
+ local current = current
+ -- if no current element is added and self is not plain parser object
+ -- (_type is then nil), use the current object as serialized root
+ if not current and self._type then
+ current = self
+ end
+ return table.concat(serialize_dom(self, current))
+ end
+
+ function Parser.get_path(self,path, current)
+ local function traverse_path(path_elements, current, t)
+ local t = t or {}
+ if #path_elements == 0 then
+ -- for _, x in ipairs(current._children or {}) do
+ -- table.insert(t,x)
+ -- end
+ table.insert(t,current)
+ return t
+ end
+ local current_path = table.remove(path_elements, 1)
+ for _, x in ipairs(self:get_children(current)) do
+ if self:is_element(x) then
+ local name = string.lower(self:get_element_name(x))
+ if name == current_path then
+ t = traverse_path(path_elements, x, t)
+ end
+ end
+ end
+ return t
+ end
+ local current = current or self:root_node() -- self._handler.root
+ local path_elements = {}
+ local path = string.lower(path)
+ for el in path:gmatch("([^%s]+)") do table.insert(path_elements, el) end
+ return traverse_path(path_elements, current)
+ end
+
+ function Parser.calculate_specificity(self, query)
+ local query = query or {}
+ local specificity = 0
+ for _, item in ipairs(query.query or {}) do
+ for key, value in pairs(item) do
+ if key == "id" then
+ specificity = specificity + 100
+ elseif key == "tag" then
+ specificity = specificity + 1
+ else
+ specificity = specificity + 10
+ end
+ end
+ end
+ return specificity
+ end
+
+ function Parser.match_querylist(self, querylist)
+ local matches = {}
+ local querylist = querylist
+
+ local function test_part(key, value, el)
+ -- print("testing", key, value, el:get_element_name())
+ if key == "tag" then
+ return el:get_element_name() == value
+ elseif key == "id" then
+ local id = el:get_attribute "id"
+ return id and id == value
+ elseif key == "class" then
+ local class = el:get_attribute "class"
+ if not class then return false end
+ local c = {}
+ for part in class:gmatch "([^%s]+)" do
+ c[part] = true
+ end
+ return c[value] == true
+ end
+ -- TODO: Add more cases
+ -- just return true for not supported selectors
+ return true
+ end
+
+ local function test_object(query, el)
+ -- test one object in CSS selector
+ local matched = {}
+ for key, value in pairs(query) do
+ matched[#matched+1] = test_part(key, value, el)
+ end
+ if #matched == 0 then return false end
+ for k, v in ipairs(matched) do
+ if v ~= true then return false end
+ end
+ return true
+ end
+
+ local function match_query(query, el)
+ local query = query or {}
+ local object = table.remove(query) -- get current object from the query stack
+ if not object then return true end -- if the query stack is empty, then we can be sure that it matched previous items
+ if not el:is_element() then return false end -- if there is object to test, but current node isn't element, test failed
+ local result = test_object(object, el)
+ if result then
+ return match_query(query, el:get_parent())
+ end
+ return false
+ end
+ for _,element in ipairs(querylist) do
+ local query = {}
+ for k,v in ipairs(element.query) do query[k] = v end
+ if #query > 0 then -- don't try to match empty query
+ local result = match_query(query, self)
+ if result then matches[#matches+1] = element end
+ end
+ end
+ return matches
+ end
+
+ function Parser.get_selector_path(self, selectorlist)
+ local nodelist = {}
+ self:traverse_elements(function(el)
+ local matches = el:match_querylist(selectorlist)
+ print("Matching", el:get_element_name(), #matches)
+ if #matches > 0 then nodelist[#nodelist+1] = el
+ end
+ end)
+ return nodelist
+ end
+
+ --- Parse CSS selector to match table
+ function Parser.prepare_selector(self, selector)
+ local querylist = {}
+ local function parse_selector(item)
+ local query = {}
+ -- for i = #item, 1, -1 do
+ -- local part = item[i]
+ for _, part in ipairs(item) do
+ local t = {}
+ for _, atom in ipairs(part) do
+ local key = atom[1]
+ local value = atom[2]
+ t[key] = value
+ end
+ query[#query + 1] = t
+ end
+ return query
+ end
+ -- for item in selector:gmatch("([^%s]+)") do
+ -- elements[#elements+1] = parse_selector(item)
+ -- end
+ local parts = query.parse_query(selector) or {}
+ -- several selectors may be separated using ",", we must process them separately
+ for _, part in ipairs(parts) do
+ querylist[#querylist+1] = {query = parse_selector(part)}
+ end
+ return querylist
+ end
+
+ function Parser.get_children(self, el)
+ local el = el or self
+ local children = el._children or {}
+ return children
+ end
+
+ function Parser.get_parent(self, el)
+ local el = el or self
+ return el._parent
+ end
+
+ function Parser.traverse_elements(self, fn, current)
+ local current = current or self:root_node()
+ local status = true
+ if self:is_element(current) or self:get_element_type(current) == "ROOT"then
+ local status = fn(current)
+ -- don't traverse child nodes when the user function return false
+ if status ~= false then
+ for _, child in ipairs(self:get_children(current)) do
+ self:traverse_elements(fn, child)
+ end
+ end
+ end
+ end
+
+ function Parser.traverse_node_list(self, nodelist, fn)
+ local nodelist = nodelist or {}
+ for _, node in ipairs(nodelist) do
+ for _, element in ipairs(node._children) do
+ fn(element)
+ end
+ end
+ end
+
+ function Parser.replace_node(self, new)
+ local old = self
+ local parent = self:get_parent(old)
+ local id,msg = self:find_element_pos( old)
+ if id then
+ parent._children[id] = new
+ return true
+ end
+ return false, msg
+ end
+
+ function Parser.add_child_node(self, child)
+ local parent = self
+ child._parent = parent
+ table.insert(parent._children, child)
+ end
+
+
+ function Parser.copy_node(self, element)
+ local element = element or self
+ local t = {}
+ for k, v in pairs(element) do
+ if type(v) == "table" and k~="_parent" then
+ t[k] = self:copy_node(v)
+ else
+ t[k] = v
+ end
+ end
+ save_methods(t)
+ return t
+ end
+
+ function Parser.create_element(self, name, attributes, parent)
+ local parent = parent or self
+ local new = {}
+ new._type = "ELEMENT"
+ new._name = name
+ new._attr = attributes or {}
+ new._children = {}
+ new._parent = parent
+ save_methods(new)
+ return new
+ end
+
+ function Parser.remove_node(self, element)
+ local element = element or self
+ local parent = self:get_parent(element)
+ local pos = self:find_element_pos(element)
+ -- if pos then table.remove(parent._children, pos) end
+ if pos then
+ -- table.remove(parent._children, pos)
+ parent._children[pos] = setmetatable({_type = "removed"}, Parser)
+ end
+ end
+
+ function Parser.find_element_pos(self, el)
+ local el = el or self
+ local parent = self:get_parent(el)
+ if not self:is_element(parent) and self:get_element_type(parent) ~= "ROOT" then return nil, "The parent isn't element" end
+ for i, x in ipairs(parent._children) do
+ if x == el then return i end
+ end
+ return false, "Cannot find element"
+ end
+
+ function Parser.get_siblibgs(self, el)
+ local el = el or self
+ local parent = el:get_parent()
+ if parent:is_element() then
+ return parent:get_children()
+ end
+ end
+
+ function Parser.get_sibling_node(self, change)
+ local el = self
+ local pos = el:find_element_pos()
+ local siblings = el:get_siblibgs()
+ if pos and siblings then
+ return siblings[pos + change]
+ end
+ end
+
+ function Parser.get_next_node(self, el)
+ local el = el or self
+ return el:get_sibling_node(1)
+ end
+
+ function Parser.get_prev_node(self, el)
+ local el = el or self
+ return el:get_sibling_node(-1)
+ end
+
+
+ -- include the methods to all xml nodes
+ save_methods(parser._handler.root)
+ -- parser:
+ return parser
+end
+
+
+local M = {}
+M.parse = parse
+M.serialize= serialize_dom
+return M
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/make4ht/make4ht-lib.lua new/texmf-dist/scripts/make4ht/make4ht-lib.lua
--- old/texmf-dist/scripts/make4ht/make4ht-lib.lua 2015-07-04 01:24:59.000000000 +0200
+++ new/texmf-dist/scripts/make4ht/make4ht-lib.lua 2017-04-27 18:43:40.000000000 +0200
@@ -116,9 +116,9 @@
self.matches[k].params = v
end
-- Loop over files, run command on matched
- for _, file in pairs(files)do
+ for _, file in ipairs(files)do
statuses[file] = {}
- for _, s in pairs(self.matches) do
+ for _, s in ipairs(self.matches) do
local pattern= s.pattern
if file:match(pattern) then
local status, msg = self:run_command(file,s)
@@ -134,6 +134,27 @@
return statuses
end
+-- add files from the mk4 file
+-- we must add them to the table generated from the lg file, so they can be processed later
+--
+Make.add_file = function(self, filename)
+ -- self.lgfile should be present, as it is created once the lg_file was parsed for the first time
+ local lg = self.lgfile or {}
+ local files = lg.files or {}
+ -- run filters on the file
+ local filtertable = {filename}
+ -- should we care about return status?
+ self:file_matches(filtertable)
+ -- break if the file is present already
+ -- start at the end, it it was added by a build file, the file will be likely at the end
+ for i = #files,1,-1 do
+ if files[i] == filename then return false, "File was already added" end
+ end
+ -- save the added file to the lg_file
+ table.insert(lg.files, filename)
+ self.lg = lg
+end
+
Make.run = function(self)
local return_codes = {}
local params = self.params or {}
@@ -174,12 +195,13 @@
end
local lgfile = params.input and params.input .. ".lg" or nil
if lgfile then
- local lg = mkutils.parse_lg(lgfile)
+ self.lgfile = self.lgfile or mkutils.parse_lg(lgfile)
+ local lg = self.lgfile
-- First convert images from lg files
self:image_convert(lg["images"])
-- Then run file matchers on lg files and converted images
local files = lg["files"]
- for _,v in pairs(lg["images"]) do
+ for _,v in ipairs(lg["images"]) do
local v = v.output
-- print(v)
table.insert(files,v)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/make4ht/mathnode.lua new/texmf-dist/scripts/make4ht/mathnode.lua
--- old/texmf-dist/scripts/make4ht/mathnode.lua 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/scripts/make4ht/mathnode.lua 2017-04-27 18:43:40.000000000 +0200
@@ -0,0 +1,87 @@
+-- local mathnodepath = os.getenv "mathjaxnodepath"
+--
+-- print("mathnode", mathnodepath)
+local mkutils = require "mkutils"
+-- other possible value is page2svg
+local mathnodepath = "page2html"
+-- options for MathJax command
+local options = "--format MathML"
+-- math fonts position
+-- don't alter fonts if not set
+local fontdir = nil
+-- if we copy fonts
+local fontdest = nil
+local fontformat = "otf"
+
+local function compile(src)
+ local tmpfile = os.tmpname()
+ local filename = src
+ print("Compile using MathJax")
+ local command = mathnodepath .. " ".. options .. " < " .. filename .. " > " .. tmpfile
+ print(command)
+ local status = os.execute(command)
+ print("Result written to: ".. tmpfile)
+ mkutils.cp(tmpfile, src)
+ os.remove(tmpfile)
+end
+
+local function extract_css(file)
+ local f = io.open(file, "r")
+ local contents = f:read("*all")
+ f:close()
+ local css = ""
+ local filename = ""
+ contents = contents:gsub('<style id="(MathJax.-)">(.+)</style>', function(name, style)
+ css = style
+ filename = (name or "") .. ".css"
+ return '<link rel="stylesheet" type="text/css" href="'..filename ..'" />'
+ end)
+ local x = assert(io.open(file, "w"))
+ x:write(contents)
+ x:close()
+ return filename, css
+end
+
+--
+local function use_fonts(css)
+ local family_pattern = "font%-family:%s*(.-);.-%/([^%/]+)%.".. fontformat
+ local family_build = "@font-face {font-family: %s; src: url('%s/%s.%s') format('%s')}"
+ local fontdir = fontdir:gsub("/$","")
+ css = css:gsub("(@font%-face%s*{.-})", function(face)
+ -- if not face:match("url%(") then return face end
+ if not face:match("url%(") then return "" end
+ -- print(face)
+ local family, filename = face:match(family_pattern)
+ print(family, filename)
+ local newfile = string.format("%s/%s.%s", fontdir, filename, fontformat)
+ Make:add_file(newfile)
+ return family_build:format(family, fontdir, filename, fontformat, fontformat)
+ -- return face
+ end)
+ return css
+end
+
+
+local function save_css(filename, css)
+ local f = io.open(filename, "w")
+ f:write(css)
+ f:close()
+end
+
+return function(text, arguments)
+ -- if arguments.prg then mathnodepath = arguments.prg end
+ mathnodepath = arguments.prg or mathnodepath
+ options = arguments.options or options
+ fontdir = arguments.fontdir or fontdir
+ fontdest = arguments.fontdest or fontdest
+ fontformat = arguments.fontformat or fontformat
+ compile(text)
+ filename, css = extract_css(text)
+ if fontdir then
+ css = use_fonts(css)
+ end
+ save_css(filename, css)
+ Make:add_file(filename)
+ -- print(css)
+ print(filename)
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/make4ht/mkparams.lua new/texmf-dist/scripts/make4ht/mkparams.lua
--- old/texmf-dist/scripts/make4ht/mkparams.lua 2015-12-12 00:15:24.000000000 +0100
+++ new/texmf-dist/scripts/make4ht/mkparams.lua 2017-04-27 18:43:40.000000000 +0200
@@ -2,6 +2,12 @@
local mkutils = require "mkutils"
local m = {} -- use ugly module system for new lua versions support
+-- these two variables will be used in the version number
+-- progname will be set in get_args
+m.progname = "make4ht"
+-- set the version number before call to process_args()
+m.version_number = "v0.1"
+
m.optiontext = [[
${progname} - build system for tex4ht
Usage:
@@ -43,7 +49,7 @@
end
if args.version ==true then
- print "make4ht version 0.1b"
+ print(string.format("%s version %s", m.progname, m.version_number))
os.exit()
end
@@ -66,14 +72,15 @@
local compiler = args.lua and "dvilualatex" or args.xetex and "xelatex --no-pdf" or "latex"
+ local tex_file = args.filename
local input = mkutils.remove_extension(args.filename)
-
local latex_params = {}
- local tex_file = input
local insert_latex = get_inserter(args,latex_params)
insert_latex("shell-escape","-shell-escape")
local latex_cli_params = args[4] or ""
if not latex_cli_params:match("%-jobname") then
+ -- we must strip out directories from jobname when full path to document is given
+ input = input:match("([^%/]+)$")
table.insert(latex_params,"-jobname="..input)
else
-- when user specifies -jobname, we must change name of the input file,
@@ -117,12 +124,13 @@
--end
local tex4ht = ""
+ local dvi= args.xetex and "xdv" or "dvi"
if args[2] and args[2] ~="" then
tex4ht = args[2]
else
tex4ht = args.utf8 and " -cmozhtf -utf8" or ""
- local xdv = args.xetex and " -.xdv" or ""
- tex4ht = tex4ht .. xdv
+ if args.xetex then tex4ht = tex4ht .. " -.xdv" end
+ -- tex4ht = tex4ht .. xdv
end
local t4ht = args[3] or ""
@@ -146,6 +154,7 @@
,tex4ht_par=tex4ht
,t4ht_par=t4ht
,mode = mode
+ ,dvi = dvi
,build_file = build_file
--,t4ht_dir_format=t4ht_dir_format
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/make4ht/mkutils.lua new/texmf-dist/scripts/make4ht/mkutils.lua
--- old/texmf-dist/scripts/make4ht/mkutils.lua 2015-12-12 00:15:24.000000000 +0100
+++ new/texmf-dist/scripts/make4ht/mkutils.lua 2017-04-27 18:43:40.000000000 +0200
@@ -92,9 +92,13 @@
end
+--
local cp_func = os.type == "unix" and "cp" or "copy"
+-- maybe it would be better to actually move the files
+-- in reality it isn't.
+-- local cp_func = os.type == "unix" and "mv" or "move"
function cp(src,dest)
- local command = string.format('%s %s %s', cp_func, src, dest)
+ local command = string.format('%s "%s" "%s"', cp_func, src, dest)
if cp_func == "copy" then command = command:gsub("/",'\\') end
print("Copy: "..command)
os.execute(command)
@@ -262,15 +266,14 @@
return 1
end
local len = f:seek("end")
-
- f:seek("set", len - 256)
+ f:seek("set", len - 1256)
local text = f:read("*a")
f:close()
- if text:match("No pages of output") then return 1 end
+ if text:match("No pages of output") or text:match("TeX capacity exceeded, sorry") then return 1 end
return 0
end
,{correct_exit=0})
-env.Make:add("tex4ht","tex4ht ${tex4ht_par} \"${input}\"", nil, 1)
+env.Make:add("tex4ht","tex4ht ${tex4ht_par} \"${input}.${dvi}\"", nil, 1)
env.Make:add("t4ht","t4ht ${t4ht_par} \"${input}.${ext}\"",{ext="dvi"},1)
function load_config(settings, config_name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/make4ht.tlpobj new/tlpkg/tlpobj/make4ht.tlpobj
--- old/tlpkg/tlpobj/make4ht.tlpobj 2016-04-14 19:24:47.000000000 +0200
+++ new/tlpkg/tlpobj/make4ht.tlpobj 2017-04-28 02:09:02.000000000 +0200
@@ -1,25 +1,28 @@
name make4ht
category Package
-revision 39075
+revision 44079
shortdesc A build system for tex4ht
longdesc make4ht is a simple build system for tex4ht. It is both
longdesc executable, which simplifies tex4ht execution, and a library
longdesc which can be used to create customized conversion programs.
depend make4ht.ARCH
-runfiles size=17
+runfiles size=23
texmf-dist/scripts/make4ht/filters/make4ht-cleanspan-nat.lua
texmf-dist/scripts/make4ht/filters/make4ht-cleanspan.lua
texmf-dist/scripts/make4ht/filters/make4ht-entities.lua
texmf-dist/scripts/make4ht/filters/make4ht-filter.lua
+ texmf-dist/scripts/make4ht/filters/make4ht-fix-links.lua
texmf-dist/scripts/make4ht/filters/make4ht-fixligatures.lua
texmf-dist/scripts/make4ht/filters/make4ht-hruletohr.lua
texmf-dist/scripts/make4ht/lapp-mk4.lua
texmf-dist/scripts/make4ht/make4ht
+ texmf-dist/scripts/make4ht/make4ht-dom.lua
texmf-dist/scripts/make4ht/make4ht-lib.lua
+ texmf-dist/scripts/make4ht/mathnode.lua
texmf-dist/scripts/make4ht/mkparams.lua
texmf-dist/scripts/make4ht/mkutils.lua
catalogue-ctan /support/make4ht
-catalogue-date 2015-12-11 14:29:27 +0100
+catalogue-date 2017-04-26 13:36:53 +0200
catalogue-license lppl1.3
catalogue-topics cvt-html
-catalogue-version 0.1b
+catalogue-version 0.1c
++++++ makebarcode.doc.tar.xz ++++++
++++++ makebarcode.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makebarcode.tlpobj new/tlpkg/tlpobj/makebarcode.tlpobj
--- old/tlpkg/tlpobj/makebarcode.tlpobj 2016-04-14 19:24:47.000000000 +0200
+++ new/tlpkg/tlpobj/makebarcode.tlpobj 2017-04-14 17:50:06.000000000 +0200
@@ -13,7 +13,7 @@
runfiles size=5
RELOC/tex/latex/makebarcode/makebarcode.sty
catalogue-ctan /macros/latex/contrib/makebarcode
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics barcode
catalogue-version 1.0
++++++ makebase.doc.tar.xz ++++++
++++++ makebase.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makebase.tlpobj new/tlpkg/tlpobj/makebase.tlpobj
--- old/tlpkg/tlpobj/makebase.tlpobj 2016-05-10 23:45:45.000000000 +0200
+++ new/tlpkg/tlpobj/makebase.tlpobj 2017-04-14 17:50:06.000000000 +0200
@@ -13,7 +13,7 @@
runfiles size=1
RELOC/tex/latex/makebase/makebase.sty
catalogue-ctan /macros/latex/contrib/makebase
-catalogue-date 2016-05-10 19:30:05 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics numbers
catalogue-version 0.2
++++++ makebox.doc.tar.xz ++++++
++++++ makebox.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makebox.tlpobj new/tlpkg/tlpobj/makebox.tlpobj
--- old/tlpkg/tlpobj/makebox.tlpobj 2016-04-14 19:24:47.000000000 +0200
+++ new/tlpkg/tlpobj/makebox.tlpobj 2017-04-14 17:50:06.000000000 +0200
@@ -9,7 +9,7 @@
runfiles size=1
RELOC/tex/latex/makebox/makebox.sty
catalogue-ctan /macros/latex/contrib/makebox
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics boxing
catalogue-version 0.1
++++++ makecell.doc.tar.xz ++++++
++++++ makecell.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makecell.tlpobj new/tlpkg/tlpobj/makecell.tlpobj
--- old/tlpkg/tlpobj/makecell.tlpobj 2016-04-14 19:24:48.000000000 +0200
+++ new/tlpkg/tlpobj/makecell.tlpobj 2017-04-14 17:50:06.000000000 +0200
@@ -16,7 +16,7 @@
runfiles size=4
RELOC/tex/latex/makecell/makecell.sty
catalogue-ctan /macros/latex/contrib/makecell
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics table
catalogue-version 0.1e
++++++ makecirc.doc.tar.xz ++++++
++++++ makecirc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makecirc.tlpobj new/tlpkg/tlpobj/makecirc.tlpobj
--- old/tlpkg/tlpobj/makecirc.tlpobj 2016-04-14 19:24:49.000000000 +0200
+++ new/tlpkg/tlpobj/makecirc.tlpobj 2017-04-14 17:50:07.000000000 +0200
@@ -14,6 +14,6 @@
RELOC/metapost/makecirc/latex.mp
RELOC/metapost/makecirc/makecirc.mp
catalogue-ctan /graphics/metapost/contrib/macros/makecirc
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics diagram-circ
++++++ makecmds.doc.tar.xz ++++++
++++++ makecmds.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makecmds.tlpobj new/tlpkg/tlpobj/makecmds.tlpobj
--- old/tlpkg/tlpobj/makecmds.tlpobj 2016-04-14 19:24:49.000000000 +0200
+++ new/tlpkg/tlpobj/makecmds.tlpobj 2017-04-14 17:50:07.000000000 +0200
@@ -10,6 +10,6 @@
runfiles size=1
RELOC/tex/latex/makecmds/makecmds.sty
catalogue-ctan /macros/latex/contrib/makecmds
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics macro-supp
++++++ makedtx.doc.tar.xz ++++++
++++++ makedtx.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makedtx.tlpobj new/tlpkg/tlpobj/makedtx.tlpobj
--- old/tlpkg/tlpobj/makedtx.tlpobj 2016-04-14 19:24:49.000000000 +0200
+++ new/tlpkg/tlpobj/makedtx.tlpobj 2017-04-14 17:50:07.000000000 +0200
@@ -13,7 +13,7 @@
texmf-dist/tex/latex/makedtx/creatdtx.sty
catalogue-also sty2dtx
catalogue-ctan /support/makedtx
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics package-devel
catalogue-version 0.94b
++++++ makeglos.doc.tar.xz ++++++
++++++ makeglos.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makeglos.tlpobj new/tlpkg/tlpobj/makeglos.tlpobj
--- old/tlpkg/tlpobj/makeglos.tlpobj 2016-04-14 19:24:50.000000000 +0200
+++ new/tlpkg/tlpobj/makeglos.tlpobj 2017-04-14 17:50:07.000000000 +0200
@@ -10,6 +10,6 @@
RELOC/tex/latex/makeglos/makeglos.sty
catalogue-also nomencl glosstex gloss
catalogue-ctan /macros/latex/contrib/makeglos
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics glossary
++++++ makeindex.doc.tar.xz ++++++
Binary files old/texmf-dist/doc/man/man1/makeindex.man1.pdf and new/texmf-dist/doc/man/man1/makeindex.man1.pdf differ
Binary files old/texmf-dist/doc/man/man1/mkindex.man1.pdf and new/texmf-dist/doc/man/man1/mkindex.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makeindex.doc.tlpobj new/tlpkg/tlpobj/makeindex.doc.tlpobj
--- old/tlpkg/tlpobj/makeindex.doc.tlpobj 2016-04-27 03:20:55.000000000 +0200
+++ new/tlpkg/tlpobj/makeindex.doc.tlpobj 2017-05-04 02:07:09.000000000 +0200
@@ -1,8 +1,8 @@
name makeindex.doc
category Package
-revision 40768
+revision 44166
shortdesc doc files of makeindex
-docfiles size=131
+docfiles size=122
texmf-dist/doc/man/man1/makeindex.1
texmf-dist/doc/man/man1/makeindex.man1.pdf
texmf-dist/doc/man/man1/mkindex.1
++++++ makeindex.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makeindex.tlpobj new/tlpkg/tlpobj/makeindex.tlpobj
--- old/tlpkg/tlpobj/makeindex.tlpobj 2016-04-27 03:20:56.000000000 +0200
+++ new/tlpkg/tlpobj/makeindex.tlpobj 2017-05-04 02:07:09.000000000 +0200
@@ -1,6 +1,6 @@
name makeindex
category Package
-revision 40768
+revision 44166
catalogue makeindexk
shortdesc Makeindex development sources
longdesc The package contains the development sources of makeindex, as
@@ -16,6 +16,6 @@
texmf-dist/makeindex/base/tex.ist
texmf-dist/tex/plain/makeindex/idxmac.tex
catalogue-ctan /indexing/makeindexk
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license other-free
catalogue-topics index
++++++ makeplot.doc.tar.xz ++++++
++++++ makeplot.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makeplot.tlpobj new/tlpkg/tlpobj/makeplot.tlpobj
--- old/tlpkg/tlpobj/makeplot.tlpobj 2016-04-14 19:24:53.000000000 +0200
+++ new/tlpkg/tlpobj/makeplot.tlpobj 2017-04-14 17:50:09.000000000 +0200
@@ -11,7 +11,7 @@
runfiles size=5
RELOC/tex/latex/makeplot/makeplot.sty
catalogue-ctan /graphics/pstricks/contrib/makeplot
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics graphics-plot
catalogue-version 1.0.6
++++++ makeshape.doc.tar.xz ++++++
++++++ makeshape.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makeshape.tlpobj new/tlpkg/tlpobj/makeshape.tlpobj
--- old/tlpkg/tlpobj/makeshape.tlpobj 2016-04-14 19:24:54.000000000 +0200
+++ new/tlpkg/tlpobj/makeshape.tlpobj 2017-04-14 17:50:09.000000000 +0200
@@ -11,7 +11,7 @@
runfiles size=2
RELOC/tex/latex/makeshape/makeshape.sty
catalogue-ctan /graphics/pgf/contrib/makeshape
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics pgf-tikz
catalogue-version 2.1
++++++ mandi.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/mandi/README new/doc/latex/mandi/README
--- old/doc/latex/mandi/README 2016-03-17 00:24:03.000000000 +0100
+++ new/doc/latex/mandi/README 2016-11-25 19:29:27.000000000 +0100
@@ -4,7 +4,7 @@
the astronomical commands were inspired by my own classroom needs. This package
does not do computations. It only provides commands for typesetting.
-Run the file mandi.dtx through (pdf)LaTeX to generate mandi.ins, mandi.sty,
-vdemo.py, and mandi.pdf (user documentation). I assume a TeX Live 2011 or later
-distribution is installed.
+Run mandi.ins through pdfLaTeX to generate files mandi.sty and vdemo.py. Run
+mandi.dtx through pdfLaTeX to generate mandi.pdf (documentation). I assume a
+TeX Live 2011 or later distribution is installed.
Binary files old/doc/latex/mandi/mandi.pdf and new/doc/latex/mandi/mandi.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/mandi/vdemo.py new/doc/latex/mandi/vdemo.py
--- old/doc/latex/mandi/vdemo.py 2014-12-30 23:59:31.000000000 +0100
+++ new/doc/latex/mandi/vdemo.py 2016-11-25 19:29:27.000000000 +0100
@@ -1,4 +1,4 @@
-from __future__ import division,print_function
+from __future__ import division, print_function
from visual import *
G = 6.7e-11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mandi.doc.tlpobj new/tlpkg/tlpobj/mandi.doc.tlpobj
--- old/tlpkg/tlpobj/mandi.doc.tlpobj 2016-04-14 19:24:55.000000000 +0200
+++ new/tlpkg/tlpobj/mandi.doc.tlpobj 2017-04-14 17:50:09.000000000 +0200
@@ -1,9 +1,9 @@
name mandi.doc
category Package
-revision 40050
+revision 41598
shortdesc doc files of mandi
relocated 1
-docfiles size=288
+docfiles size=315
RELOC/doc/latex/mandi/README
RELOC/doc/latex/mandi/mandi.pdf
RELOC/doc/latex/mandi/vdemo.py
++++++ mandi.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/mandi/mandi.sty new/tex/latex/mandi/mandi.sty
--- old/tex/latex/mandi/mandi.sty 2016-03-17 00:24:03.000000000 +0100
+++ new/tex/latex/mandi/mandi.sty 2016-11-25 19:33:53.000000000 +0100
@@ -19,16 +19,16 @@
%%
%% The Current Maintainer of this work is Paul J. Heafner.
%%
-%% This work consists of the files mandi.dtx
-%% README
-%% mandi.pdf
+%% This work consists of the files mandi.dtx
+%% mandi.ins
+%% mandi.pdf
+%% README
%%
-%% and includes the derived files mandi.ins
-%% mandi.sty and
-%% vdemo.py.
+%% and includes the derived files mandi.sty
+%% vdemo.py.
%% ---------------------------------------------------------------------------
%%
-\ProvidesPackage{mandi}[2016/03/15 2.5.1 Macros for physics and astronomy]
+\ProvidesPackage{mandi}[2016/06/30 2.6.1 Macros for physics and astronomy]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\RequirePackage{amsmath}
@@ -36,6 +36,7 @@
\RequirePackage{array}
\RequirePackage{cancel}
\RequirePackage[dvipsnames]{xcolor}
+\RequirePackage{enumitem}
\RequirePackage{environ}
\RequirePackage{esint}
\RequirePackage[g]{esvect}
@@ -52,12 +53,14 @@
\RequirePackage[framemethod=TikZ]{mdframed}
\RequirePackage{stackengine}
\RequirePackage{suffix}
+\RequirePackage{tensor}
\RequirePackage{xargs}
\RequirePackage{xparse}
\RequirePackage{xspace}
\RequirePackage{ifthen}
\RequirePackage{calligra}
\RequirePackage{hyperref}
+\hypersetup{colorlinks=true,urlcolor=blue}
\DeclareMathAlphabet{\mathcalligra}{T1}{calligra}{m}{n}
\DeclareFontShape{T1}{calligra}{m}{n}{<->s*[2.2]callig15}{}
\DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `basename #1 .tif`.png}
@@ -97,27 +100,32 @@
\newcolumntype{C}[1]{>{\centering}m{#1}}
\newboolean{@optromanvectors}
\newboolean{@optboldvectors}
-\newboolean{@optsingleabsbars}
+\newboolean{@optsinglemagbars}
\newboolean{@optbaseunits}
\newboolean{@optdrvdunits}
\newboolean{@optapproxconsts}
\newboolean{@optuseradians}
\setboolean{@optromanvectors}{false} % this is where you set the default option
\setboolean{@optboldvectors}{false} % this is where you set the default option
-\setboolean{@optsingleabsbars}{false} % this is where you set the default option
+\setboolean{@optsinglemagbars}{false} % this is where you set the default option
\setboolean{@optbaseunits}{false} % this is where you set the default option
\setboolean{@optdrvdunits}{false} % this is where you set the default option
\setboolean{@optapproxconsts}{false} % this is where you set the default option
\setboolean{@optuseradians}{false} % this is where you set the default option
\DeclareOption{romanvectors}{\setboolean{@optromanvectors}{true}}
\DeclareOption{boldvectors}{\setboolean{@optboldvectors}{true}}
-\DeclareOption{singleabsbars}{\setboolean{@optsingleabsbars}{true}}
+\DeclareOption{singlemagbars}{\setboolean{@optsinglemagbars}{true}}
\DeclareOption{baseunits}{\setboolean{@optbaseunits}{true}}
\DeclareOption{drvdunits}{\setboolean{@optdrvdunits}{true}}
\DeclareOption{approxconsts}{\setboolean{@optapproxconsts}{true}}
\DeclareOption{useradians}{\setboolean{@optuseradians}{true}}
\ProcessOptions\relax
-\newcommand*{\mandiversion}{2.5.0}
+\newcommand*{\mandiversion}{\ifmmode%
+ 2.6.1\mbox{ dated }2016/06/30%
+ \else%
+ 2.6.1 dated 2016/06/30%
+ \fi
+ }%
\typeout{mandi: You're using mandi version \mandiversion.}
\@ifpackageloaded{amssymb}{%
\csundef{square}
@@ -242,9 +250,9 @@
{\ifthenelse{\boolean{@optromanvectors}}
{\typeout{mandi: You'll get Roman vectors.}}
{\typeout{mandi: You'll get italic vectors.}}}
-\ifthenelse{\boolean{@optsingleabsbars}}
- {\typeout{mandi: You'll get single absolute value bars.}}
- {\typeout{mandi: You'll get double absolute value bars.}}
+\ifthenelse{\boolean{@optsinglemagbars}}
+ {\typeout{mandi: You'll get single magnitude bars.}}
+ {\typeout{mandi: You'll get double magnitude bars.}}
\ifthenelse{\boolean{@optbaseunits}}
{\perpusebaseunit %
\typeout{mandi: You'll get base units.}}
@@ -587,6 +595,10 @@
{\kg\usk\s\reciprocalcubed}%
[\W\per\m\squared]%
[\W\per\m\squared]
+\newphysicsquantity{momentumflux}%
+ {\reciprocal\m\usk\kg\usk\s\reciprocalsquared}%
+ [\N\per\m\squared]%
+ [\N\per\m\squared]
\newphysicsquantity{electroncurrent}%
{\reciprocal\s}%
[\ensuremath{\mathrm{e}}\per\s]%
@@ -631,7 +643,34 @@
{\m\usk\A}%
[\m\usk\A]%
[\m\usk\A]
-\newcommand*{\lv}{\ensuremath{\left\langle}}
+\newcommand*{\vectordisplacement}[1]{\ensuremath{\displacement{\mivector{#1}}}}
+\newcommand*{\vectorvelocity}[1]{\ensuremath{\velocity{\mivector{#1}}}}
+\newcommand*{\vectorvelocityc}[1]{\ensuremath{\velocityc{\mivector{#1}}}}
+\newcommand*{\vectoracceleration}[1]{\ensuremath{\acceleration{\mivector{#1}}}}
+\newcommand*{\vectormomentum}[1]{\ensuremath{\momentum{\mivector{#1}}}}
+\newcommand*{\vectorforce}[1]{\ensuremath{\force{\mivector{#1}}}}
+\newcommand*{\vectorgravitationalfield}[1]
+ {\ensuremath{\gravitationalfield{\mivector{#1}}}}
+\newcommand*{\vectorimpulse}[1]{\ensuremath{\impulse{\mivector{#1}}}}
+\newcommand*{\vectorangularvelocity}[1]{\ensuremath{\angularvelocity{\mivector{#1}}}}
+\newcommand*{\vectorangularacceleration}[1]
+ {\ensuremath{\angularacceleration{\mivector{#1}}}}
+\newcommand*{\vectorangularmomentum}[1]{\ensuremath{\angularmomentum{\mivector{#1}}}}
+\newcommand*{\vectorangularimpulse}[1]{\ensuremath{\angularimpulse{\mivector{#1}}}}
+\newcommand*{\vectortorque}[1]{\ensuremath{\torque{\mivector{#1}}}}
+\newcommand*{\vectorwavenumber}[1]{\ensuremath{\wavenumber{\mivector{#1}}}}
+\newcommand*{\vectorelectricfield}[1]{\ensuremath{\electricfield{\mivector{#1}}}}
+\newcommand*{\vectorelectricdipolemoment}[1]
+ {\ensuremath{\electricdipolemoment{\mivector{#1}}}}
+\newcommand*{\vectormagneticfield}[1]{\ensuremath{\magneticfield{\mivector{#1}}}}
+\newcommand*{\vectorcmagneticfield}[1]{\ensuremath{\cmagneticfield{\mivector{#1}}}}
+\newcommand*{\vectormagneticdipolemoment}[1]
+ {\ensuremath{\magneticdipolemoment{\mivector{#1}}}}
+\newcommand*{\vectorcurrentdensity}[1]{\ensuremath{\currentdensity{\mivector{#1}}}}
+ \newcommand*{\lv}{\ensuremath{\left\langle}}
+\newcommand*{\vectorenergyflux}[1]{\ensuremath{\energyflux{\mivector{#1}}}}
+\newcommand*{\vectormomentumflux}[1]{\ensuremath{\momentumflux{\mivector{#1}}}}
+\newcommand*{\poyntingvector}{\vectorenergyflux}
\newcommand*{\rv}{\ensuremath{\right\rangle}}
\ExplSyntaxOn % Written in LaTeX3
\NewDocumentCommand{\magvectncomps}{ m O{} }
@@ -658,13 +697,12 @@
}%
\ExplSyntaxOff
\newcommand*{\zerovect}{\vect{0}}
-\newcommand*{\ncompszerovect}{\mivector{0,0,0}}
\ifthenelse{\boolean{@optboldvectors}}
{\newcommand*{\vect}[1]{\ensuremath{\boldsymbol{#1}}}}
{\ifthenelse{\boolean{@optromanvectors}}
{\newcommand*{\vect}[1]{\ensuremath{\vv{\mathrm{#1}}}}}
{\newcommand*{\vect}[1]{\ensuremath{\vv{#1}}}}}
-\ifthenelse{\boolean{@optsingleabsbars}}
+\ifthenelse{\boolean{@optsinglemagbars}}
{\newcommand*{\magvect}[1]{\ensuremath{\absof{\vect{#1}}}}}
{\newcommand*{\magvect}[1]{\ensuremath{\magof{\vect{#1}}}}}
\newcommand*{\magsquaredvect}[1]{\ensuremath{\magvect{#1}\squared}}
@@ -676,7 +714,8 @@
{\ifthenelse{\boolean{@optromanvectors}}
{\newcommand*{\dirvect}[1]{\ensuremath{\widehat{\mathrm{#1}}}}}
{\newcommand*{\dirvect}[1]{\ensuremath{\widehat{#1}}}}}
-\newcommand*{\direction}{\dirvect}
+\newcommand*{\direction}[1]{\ensuremath{\mivector{#1}}}
+\newcommand*{\vectordirection}{\direction}
\newcommand*{\componentalong}[2]{\ensuremath{\mathrm{comp}_{#1}{#2}}}
\newcommand*{\expcomponentalong}[2]{\ensuremath{\frac{\vectdotvect{#2}{#1}}
{\magof{#1}}}}
@@ -714,7 +753,7 @@
\newcommand*{\ddirection}{\ddirvect}
\newcommand*{\Ddirvect}[1]{\ensuremath{\Delta\dirvect{#1}}}
\newcommand*{\Ddirection}{\Ddirvect}
-\ifthenelse{\boolean{@optsingleabsbars}}
+\ifthenelse{\boolean{@optsinglemagbars}}
{\newcommand*{\magdvect}[1]{\ensuremath{\absof{\dvect{#1}}}}
\newcommand*{\magDvect}[1]{\ensuremath{\absof{\Dvect{#1}}}}}
{\newcommand*{\magdvect}[1]{\ensuremath{\magof{\dvect{#1}}}}
@@ -741,7 +780,7 @@
\compDervect{#1}{x}{#2},%
\compDervect{#1}{y}{#2},%
\compDervect{#1}{z}{#2}\rv}}
-\ifthenelse{\boolean{@optsingleabsbars}}
+\ifthenelse{\boolean{@optsinglemagbars}}
{\newcommand*{\magdervect}[2]{\ensuremath{\absof{\dervect{#1}{#2}}}}
\newcommand*{\magDervect}[2]{\ensuremath{\absof{\Dervect{#1}{#2}}}}}
{\newcommand*{\magdervect}[2]{\ensuremath{\magof{\dervect{#1}{#2}}}}
@@ -764,7 +803,7 @@
\compvectsub{#1}{#2}{x},%
\compvectsub{#1}{#2}{y},%
\compvectsub{#1}{#2}{z}\rv}}
-\ifthenelse{\boolean{@optsingleabsbars}}
+\ifthenelse{\boolean{@optsinglemagbars}}
{\newcommand*{\magvectsub}[2]{\ensuremath{\absof{\vectsub{#1}{#2}}}}}
{\newcommand*{\magvectsub}[2]{\ensuremath{\magof{\vectsub{#1}{#2}}}}}
\newcommand*{\magsquaredvectsub}[2]{\ensuremath{\magvectsub{#1}{#2}\squared}}
@@ -793,7 +832,7 @@
\newcommand*{\Dermagvectsub}[3]{\ensuremath{\DbyD{\magvectsub{#1}{#2}}{#3}}}
\newcommand*{\dervectsub}[3]{\ensuremath{\dbyd{\vectsub{#1}{#2}}{#3}}}
\newcommand*{\Dervectsub}[3]{\ensuremath{\DbyD{\vectsub{#1}{#2}}{#3}}}
-\ifthenelse{\boolean{@optsingleabsbars}}
+\ifthenelse{\boolean{@optsinglemagbars}}
{\newcommand*{\magdervectsub}[3]{\ensuremath{\absof{\dervectsub{#1}{#2}{#3}}}}
\newcommand*{\magDervectsub}[3]{\ensuremath{\absof{\Dervectsub{#1}{#2}{#3}}}}}
{\newcommand*{\magdervectsub}[3]{\ensuremath{\magof{\dervectsub{#1}{#2}{#3}}}}
@@ -1462,10 +1501,9 @@
\newcommand*{\sumoverall}[1]{\ensuremath{\displaystyle
\sum_{\substack{\text{\tiny{all }}\text{\tiny{{#1}}}}}}}
\newcommand*{\dx}[1]{\ensuremath{\,\mathrm{d}{#1}}}
-\newcommand*{\evalfromto}[3]{\ensuremath{%
- \Bigg.{#1}\Bigg\rvert_{#2}^{#3}}}
-\newcommand*{\evalat}[2]{\ensuremath{\Bigg.{#1}\Bigg\rvert_{#2}}}
-\newcommand*{\evaluatedat}[1]{\ensuremath{\Bigg.\Bigg\rvert_{#1}}}
+\newcommandx{\evaluatedfromto}[2][2,usedefault]{\ensuremath{%
+ \Bigg.\Bigg\rvert_{#1}^{#2}}}
+\newcommand*{\evaluatedat}{\evaluatedfromto}
\newcommandx{\integral}[4][1,2,usedefault]{\ensuremath{%
\int_{\ifthenelse{\equal{#1}{}}{}{#4=#1}}^{\ifthenelse{%
\equal{#2}{}}{}{#4=#2}}}{#3}\dx{#4}}
@@ -1566,21 +1604,17 @@
\newcommand*{\Lagr}{\ensuremath{\mathcal{L}}}
\newcommandx{\flux}[1][1]{\ensuremath{\ssub{\Phi}{#1}}}
\newcommand*{\absof}[1]{\ensuremath{%
- \left\lvert{\ifblank{#1}{\:\cdot\:}{#1}}\right\rvert}}
+ \left\lvert{\ifblank{#1}{\:\_\:}{#1}}\right\rvert}}
\newcommand*{\inparens}[1]{\ensuremath{%
- \left({\ifblank{#1}{\:\cdot\:}{#1}}\right)}}
+ \left({\ifblank{#1}{\:\_\:}{#1}}\right)}}
\newcommand*{\magof}[1]{\ensuremath{%
- \left\lVert{\ifblank{#1}{\:\cdot\:}{#1}}\right\rVert}}
+ \left\lVert{\ifblank{#1}{\:\_\:}{#1}}\right\rVert}}
\newcommand*{\dimsof}[1]{\ensuremath{%
- \left[{\ifblank{#1}{\:\cdot\:}{#1}}\right]}}
+ \left[{\ifblank{#1}{\:\_\:}{#1}}\right]}}
\newcommand*{\unitsof}[1]{\ensuremath{%
- \left[{\ifblank{#1}{\:\cdot\:}{#1}}\right]_u}}
+ \left[{\ifblank{#1}{\:\_\:}{#1}}\right]_u}}
\newcommand*{\changein}[1]{\ensuremath{\delta{#1}}}
\newcommand*{\Changein}[1]{\ensuremath{\Delta{#1}}}
-\newcommandx{\scin}[3][1,3=\!\!,usedefault]{\ensuremath{%
- \ifthenelse{\equal{#1}{}}
- {\unit{10^{#2}}{#3}}
- {\unit{{#1}\times 10^{#2}}{#3}}}}
\newcommandx{\timestento}[2][2=\!\!,usedefault]{\ensuremath{%
\ifthenelse{\equal{#2}{}}
{\unit{\;\times\;10^{#1}}{}}
@@ -1674,6 +1708,47 @@
\xLongleftarrow[\text{\tiny{#1}}]{}}}
\newcommand*{\brelatedto}[2]{\ensuremath{%
\xLongleftrightarrow[\text{\tiny{#1}}]{\text{\tiny{#2}}}}}
+\newcommand*{\genericinteractionplaces}[5]{\ensuremath{\inparens{#1}
+ \frac{\inparens{#2}\inparens{#3}}{\inparens{#4}^2}{{\ifblank{#5}{%
+ \mivector{\_ , \_ , \_}}{#5}}}}}
+\newcommand*{\genericfieldofparticleplaces}[4]{\ensuremath{\inparens{#1}
+ \frac{\inparens{#2}}{\inparens{#3}^2}{{\ifblank{#4}{\mivector{\_ , \_ , \_}}{#4}}}}}
+\newcommand*{\genericpotentialenergyplaces}[4]{\ensuremath{%
+ \inparens{#1}\frac{\inparens{#2}\inparens{#3}}{\inparens{#4}}}}
+\newcommand*{\genericelectricdipoleplaces}[5]{%
+ \ensuremath{\inparens{#1}\frac{\inparens{#2}\inparens{#3}}{\inparens{#4}^3}%
+ {{\ifblank{#5}{\mivector{\_ , \_ , \_}}{#5}}}}}
+\newcommand*{\genericelectricdipoleonaxisplaces}[5]{%
+ \ensuremath{\inparens{#1}\frac{2\inparens{#2}\inparens{#3}}{\inparens{#4}^3}%
+ {{\ifblank{#5}{\mivector{\_ , \_ , \_}}{#5}}}}}
+\newcommand*{\gfieldofparticle}{\ensuremath{\universalgravmathsymbol\frac{M}%
+ {\magsquaredvect{r}}\inparens{-\dirvect{r}}}}
+\newcommand*{\gravitationalinteractionplaces}[4]{%
+ \genericinteractionplaces{\universalgrav}{#1}{#2}{#3}{#4}}
+\newcommand*{\gfieldofparticleplaces}[3]{%
+ \genericfieldofparticleplaces{\universalgrav}{#1}{#2}{#3}}
+\newcommand*{\electricinteractionplaces}[4]{%
+ \genericinteractionplaces{\oofpez}{#1}{#2}{#3}{#4}}
+\newcommand*{\Efieldofparticleplaces}[3]{%
+ \genericfieldofparticleplaces{\oofpez}{#1}{#2}{#3}}
+\newcommand*{\Bfieldofparticleplaces}[5]{\ensuremath{\inparens{\mzofp}%
+ \frac{\inparens{#1}\inparens{#2}}{\inparens{#3}^2}{{\ifblank{#4}{%
+ \mivector{\_ , \_ , \_}}{#4}}}\times{{\ifblank{#5}{\mivector{\_ , \_ , \_}}{#5}}}}}
+\newcommand*{\springinteractionplaces}[3]{\ensuremath{\inparens{#1}
+ \inparens{#2}{{\ifblank{#3}{\mivector{\_ , \_ , \_}}{#3}}}}}
+\newcommand*{\gravitationalpotentialenergyplaces}[3]{%
+ -\genericpotentialenergyplaces{\universalgrav}{#1}{#2}{#3}}
+\newcommand*{\electricpotentialenergyplaces}[3]{%
+ \genericpotentialenergyplaces{\oofpez}{#1}{#2}{#3}}
+\newcommand*{\springpotentialenergyplaces}[2]{\ensuremath{%
+ \onehalf\inparens{#1}\inparens{#2}^2}}
+\newcommand*{\electricdipoleonaxisplaces}[4]{%
+ \genericelectricdipoleonaxisplaces{\oofpez}{\absof{#1}}{#2}{#3}{{\ifblank{#4}{%
+ \mivector{\_ , \_ , \_}}{#4}}}}
+\newcommand*{\electricdipoleonbisectorplaces}[4]{%
+ \genericelectricdipoleplaces{\oofpez}{\absof{#1}}{#2}{#3}{{\ifblank{#4}{%
+ \mivector{\_ , \_ , \_}}{#4}}}}
+\newcommand{\define}[2]{\newcommand{#1}{#2}}
\newcommand*{\momentumprinciple}{\ensuremath{%
\vectsub{p}{sys,final}=\vectsub{p}{sys,initial}+\Fnetsys\Delta t}}
\newcommand*{\LHSmomentumprinciple}{\ensuremath{\vectsub{p}{sys,final}}}
@@ -1702,10 +1777,10 @@
\dirvectsub{r}{12}}}
\newcommand*{\springinteraction}{\ensuremath{\ks\magvect{s}(-\dirvect{s})}}
\newcommand*{\Bfieldofparticle}{\ensuremath{%
- \mzofpmathsymbol\frac{Q\magvect{v}}{\magvect{r}\squared}\dirvect{v}\times
+ \mzofpmathsymbol\frac{Q\magvect{v}}{\magsquaredvect{r}}\dirvect{v}\times
\dirvect{r}}}
\newcommand*{\Efieldofparticle}{\ensuremath{%
- \oofpezmathsymbol\frac{Q}{\magvect{r}\squared}\dirvect{r}}}
+ \oofpezmathsymbol\frac{Q}{\magsquaredvect{r}}\dirvect{r}}}
\newcommandx{\Esys}[1][1]{\ifthenelse{%
\equal{#1}{}}{\ssub{E}{sys}}{\ssub{E}{sys,#1}}}
\newcommandx{\Us}[1][1]{\ifthenelse{%
@@ -1882,8 +1957,12 @@
\newcommandx{\Eulerlagrange}[1][1={q_i},usedefault]{\ensuremath{%
\DbyD{\mathcal{L}}{#1}-\DbyDt\inparens{\DbyD{\mathcal{L}}{\dot{#1}}} = 0}}
\newcommand*{\vpythonline}{\lstinline[style=vpython]}
+\newcommand*{\glowscriptline}{\lstinline[style=vpython]}
\lstnewenvironment{vpythonblock}[1][]{\lstset{style=vpython,caption={#1}}}{}
+\lstnewenvironment{glowscriptblock}[1][]{\lstset{style=vpython,caption={#1}}}{}
\newcommand*{\vpythonfile}[1][]{\newpage\lstinputlisting[style=vpython,caption={#1}]}
+\newcommand*{\glowscriptfile}[1][]{%
+ \newpage\lstinputlisting[style=vpython,caption={#1}]}
\newcommandx{\emptyanswer}[2][1=0.80,2=0.1,usedefault]
{\begin{minipage}{#1\textwidth}\hfill\vspace{#2\textheight}\end{minipage}}
\newenvironmentx{activityanswer}[5][1=white,2=black,3=black,4=0.90,%
@@ -2259,6 +2338,13 @@
\BODY
\end{align*}
}%
+\newenvironment{problem}[1]{%
+ \newpage%
+ \section*{#1}%
+ \newlist{parts}{enumerate}{2}%
+ \setlist[parts]{label=(\alph*)}}{\newpage}
+\newcommand{\problempart}{\item}%
+\newcommand{\reason}[1]{\parbox{2cm}{#1}}
\newcommand*{\checkpoint}{%
\vspace{1cm}\begin{center}%
\colorbox{yellow!80}{|--------- CHECKPOINT ---------|}%
@@ -2272,6 +2358,7 @@
\end{center}%
\end{figure}}
\newcommand*{\sneakyone}[1]{\ensuremath{\cancelto{1}{#1}}}
+\newcommand*{\qed}{\ensuremath{\text{ Q.E.D.}}}
\newcommand*{\chkquantity}[1]{%
\begin{center}
\begin{tabular}{C{4.5cm} C{4cm} C{4cm} C{4cm}}
@@ -2281,7 +2368,6 @@
\end{tabular}
\end{center}
}%
-\newcommand*{\qed}{\ensuremath{\text{ Q.E.D.}}}
\newcommand*{\chkconstant}[1]{%
\begin{center}
\begin{tabular}{C{4cm} C{2cm} C{3cm} C{3cm} C{3cm} C{3cm}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mandi.tlpobj new/tlpkg/tlpobj/mandi.tlpobj
--- old/tlpkg/tlpobj/mandi.tlpobj 2016-04-14 19:24:55.000000000 +0200
+++ new/tlpkg/tlpobj/mandi.tlpobj 2017-04-14 17:50:09.000000000 +0200
@@ -1,6 +1,6 @@
name mandi
category Package
-revision 40050
+revision 41598
shortdesc Macros for introductory physics and astronomy
relocated 1
longdesc The package contains commands for students and teachers of
@@ -8,11 +8,11 @@
longdesc intelligently handle SI units so the user need not do so. There
longdesc are other features that should make LaTeX easy for introductory
longdesc physics students.
-runfiles size=22
+runfiles size=23
RELOC/tex/latex/mandi/mandi.sty
catalogue-also siunitx
catalogue-ctan /macros/latex/contrib/mandi
-catalogue-date 2016-03-17 05:56:23 +0100
+catalogue-date 2016-07-01 11:44:17 +0200
catalogue-license lppl1.3
catalogue-topics physics
-catalogue-version 2.5.1
+catalogue-version 2.6.1
++++++ manfnt-font.tar.xz ++++++
++++++ manfnt.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/manfnt.tlpobj new/tlpkg/tlpobj/manfnt.tlpobj
--- old/tlpkg/tlpobj/manfnt.tlpobj 2016-04-14 19:24:55.000000000 +0200
+++ new/tlpkg/tlpobj/manfnt.tlpobj 2017-04-14 17:50:10.000000000 +0200
@@ -1,6 +1,6 @@
name manfnt
category Package
-revision 35799
+revision 42428
shortdesc LaTeX support for the TeX book symbols
relocated 1
longdesc A LaTeX package for easy access to the symbols of the Knuth's
@@ -9,6 +9,6 @@
runfiles size=1
RELOC/tex/latex/manfnt/manfnt.sty
catalogue-ctan /macros/latex/contrib/manfnt
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics font-supp
++++++ manuscript.doc.tar.xz ++++++
++++++ manuscript.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/manuscript.tlpobj new/tlpkg/tlpobj/manuscript.tlpobj
--- old/tlpkg/tlpobj/manuscript.tlpobj 2016-04-14 19:24:56.000000000 +0200
+++ new/tlpkg/tlpobj/manuscript.tlpobj 2017-04-14 17:50:10.000000000 +0200
@@ -9,7 +9,7 @@
runfiles size=1
RELOC/tex/latex/manuscript/manuscript.sty
catalogue-ctan /macros/latex/contrib/manuscript
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics typesetting
catalogue-version 1.7
++++++ margbib.doc.tar.xz ++++++
++++++ margbib.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/margbib.tlpobj new/tlpkg/tlpobj/margbib.tlpobj
--- old/tlpkg/tlpobj/margbib.tlpobj 2016-04-14 19:24:56.000000000 +0200
+++ new/tlpkg/tlpobj/margbib.tlpobj 2017-04-14 17:50:10.000000000 +0200
@@ -8,7 +8,7 @@
runfiles size=1
RELOC/tex/latex/margbib/margbib.sty
catalogue-ctan /macros/latex/contrib/margbib
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics cite-supp marginal
catalogue-version 1.0c
++++++ marginfix.doc.tar.xz ++++++
++++++ marginfix.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/marginfix.tlpobj new/tlpkg/tlpobj/marginfix.tlpobj
--- old/tlpkg/tlpobj/marginfix.tlpobj 2016-04-14 19:24:56.000000000 +0200
+++ new/tlpkg/tlpobj/marginfix.tlpobj 2017-04-14 17:50:10.000000000 +0200
@@ -16,7 +16,7 @@
runfiles size=4
RELOC/tex/latex/marginfix/marginfix.sty
catalogue-ctan /macros/latex/contrib/marginfix
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics marginal
catalogue-version 1.1
++++++ marginnote.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/marginnote/README.txt new/doc/latex/marginnote/README.txt
--- old/doc/latex/marginnote/README.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/marginnote/README.txt 2017-04-22 23:22:17.000000000 +0200
@@ -0,0 +1,18 @@
+LaTeX package marginnote
+Copyright (c) Markus Kohm, 2005-2017
+-------------------------------------------------------------------
+Version:
+ 2017/04/22 v1.2b
+Licence:
+ This work may be distributed and/or modified under the conditions
+ of the LaTeX Project Public License, version 1.3c of the license.
+ 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 and of this work.
+Abstract:
+ This package provides the command \marginnote that may be used
+ instead of \marginpar at almost every place, where \marginpar
+ cannot be used, e.g. inside floats, footnotes, frames made with
+ framed package. See marginnote.pdf for more information.
+-------------------------------------------------------------------
Binary files old/doc/latex/marginnote/marginnote.pdf and new/doc/latex/marginnote/marginnote.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/marginnote.doc.tlpobj new/tlpkg/tlpobj/marginnote.doc.tlpobj
--- old/tlpkg/tlpobj/marginnote.doc.tlpobj 2016-04-14 19:24:56.000000000 +0200
+++ new/tlpkg/tlpobj/marginnote.doc.tlpobj 2017-04-23 02:07:09.000000000 +0200
@@ -1,7 +1,8 @@
name marginnote.doc
category Package
-revision 25880
+revision 43979
shortdesc doc files of marginnote
relocated 1
-docfiles size=71
+docfiles size=76
+ RELOC/doc/latex/marginnote/README.txt
RELOC/doc/latex/marginnote/marginnote.pdf
++++++ marginnote.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/marginnote/marginnote.sty new/tex/latex/marginnote/marginnote.sty
--- old/tex/latex/marginnote/marginnote.sty 2012-04-09 18:25:47.000000000 +0200
+++ new/tex/latex/marginnote/marginnote.sty 2017-04-22 23:22:17.000000000 +0200
@@ -6,36 +6,25 @@
%%
%% marginnote.dtx (with options: `package')
%%
-%% IMPORTANT NOTE:
+%% IMPORTANT NOTICE:
%%
-%% This is a generated file and you are not allowed to distribute it
-%% without the source ot the work. See below about more informations
-%% about the files the work consists of.
+%% For the copyright see the source file.
%%
-%% Copyright (c) Markus Kohm 2005-2012
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% 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.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
-%%
-%% This work has the LPPL maintenance status "maintained".
-%%
-%% The author of the initial version of these work was
-%% Markus Kohm
-%%
-%% This work consists of the files marginnote.dtx, marginnote.ins,
-%% and REAMDE.
-%%
-%% Important Recommendation:
-%% The LPPL requires that distributions of the Work contain all the files of
-%% the Work (see ``Important Recommendations'' at lppl.txt).
-%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from marginnote.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file marginnote.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%%% From File: $Id: marginnote.dtx 13 2017-04-22 09:25:22Z mjk $
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{marginnote}[%
- 2012/03/29 v1.1i non floating margin notes for LaTeX]
+ 2017/04/22 v1.2b
+ non floating margin notes for LaTeX]
\begingroup
\def\@tempb{}%
\def\@tempa{%
@@ -117,9 +106,16 @@
\ProcessOptions\relax
\newcommand*{\newmarginnote}{\@newl@bel{mn}}
\newif\if@mn@pdfmode\@mn@pdfmodefalse
+\newcommand*{\@mn@mode@prefix}{pdf}
\AtBeginDocument{%
\begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname pdflastxpos\endcsname\relax\else % bg or 1
+ \expandafter\ifx\csname pdflastxpos\endcsname\relax
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname lastxpos\endcsname\relax\else
+ \@mn@pdfmodetrue
+ \renewcommand*{\@mn@mode@prefix}{}%
+ \fi
+ \else % bg or 1
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdftexversion\endcsname\relax % bg 2
\begingroup\expandafter\expandafter\expandafter\endgroup
@@ -146,7 +142,8 @@
\if@mn@verbose
\if@mn@pdfmode
\PackageInfo{marginnote}{%
- \string\pdfoutput\space not 0 and \string\pdflastxpos\space
+ \string\pdfoutput\space not 0 or unimportant and\MessageBreak
+ \string\pdflastxpos\space or \string\lastxpos\space
available.\MessageBreak
Extended position detection mode activated\@gobble
}%
@@ -185,10 +182,10 @@
\let\@mn@currpage\relax
\let\@mn@currxpos\relax
\if@mn@pdfmode
- \pdfsavepos
+ \@nameuse{\@mn@mode@prefix savepos}%
\protected@write\@auxout{\let\themn@abspage\relax}{%
\string\newmarginnote{note.\@mn@thispage.\@mn@atthispage}{%
- {\themn@abspage}{\noexpand\number\pdflastxpos sp}}%
+ {\themn@abspage}{\noexpand\number\@nameuse{\@mn@mode@prefix lastxpos}sp}}%
}%
\else
\protected@write\@auxout{\let\themn@abspage\relax}{%
@@ -215,16 +212,37 @@
\edef\@mn@currpage{\csname
mn@note.\@mn@thispage.\@mn@atthispage\endcsname}%
\edef\@mn@currxpos{\expandafter\@secondoftwo\@mn@currpage}%
- \edef\@mn@currxpos{\the\dimexpr \@mn@currxpos -\hoffset\relax}%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname pdfhorigin\endcsname\relax\else
+ \ifx\@mn@currxpos\@empty\else
+ \edef\@mn@currxpos{\the\dimexpr \@mn@currxpos -\hoffset\relax}%
\begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname pdfoutput\endcsname\relax\else
- \ifnum \pdfoutput=1 %
- \edef\@mn@currxpos{\the\dimexpr \@mn@currxpos -\pdfhorigin
- +1in\relax}%
+ \expandafter\ifx\csname pdfhorigin\endcsname\relax\else
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdfoutput\endcsname\relax
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname outputmode\endcsname\relax\else
+ \ifnum \outputmode=1 %
+ \edef\@mn@currxpos{\the\dimexpr \@mn@currxpos -\pdfhorigin
+ +1in\relax}%
+ \fi
+ \fi
+ \else
+ \ifnum \pdfoutput=1 %
+ \edef\@mn@currxpos{\the\dimexpr \@mn@currxpos -\pdfhorigin
+ +1in\relax}%
+ \fi
\fi
\fi
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname \@mn@mode@prefix pagewidth\endcsname\relax\else
+ \@mn@if@RTL{%
+ \PackageInfo{marginnote}{Margin note
+ \@mn@thispage.\@mn@atthispage\space in RTL mode}%
+ \edef\@mn@currxpos{%
+ \the\dimexpr\@nameuse{\@mn@mode@prefix pagewidth}
+ -\@mn@currxpos\relax
+ }%
+ }{}%
+ \fi
\fi
\edef\@mn@currpage{\expandafter\@firstoftwo\@mn@currpage}%
\if@mn@verbose
@@ -245,6 +263,14 @@
\fi
\fi
}
+\newcommand*{\@mn@if@RTL}{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname if@RTL\endcsname\iftrue
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
\newcommand*{\marginnote}{%
\@dblarg\@mn@marginnote
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/marginnote.tlpobj new/tlpkg/tlpobj/marginnote.tlpobj
--- old/tlpkg/tlpobj/marginnote.tlpobj 2016-04-14 19:24:57.000000000 +0200
+++ new/tlpkg/tlpobj/marginnote.tlpobj 2017-04-23 02:07:09.000000000 +0200
@@ -1,6 +1,6 @@
name marginnote
category Package
-revision 25880
+revision 43979
shortdesc Notes in the margin, even where \marginpar fails
relocated 1
longdesc This package provides the command \marginnote that may be used
@@ -10,7 +10,7 @@
runfiles size=4
RELOC/tex/latex/marginnote/marginnote.sty
catalogue-ctan /macros/latex/contrib/marginnote
-catalogue-date 2015-08-03 05:43:12 +0200
-catalogue-license lppl
+catalogue-date 2017-04-22 12:44:46 +0200
+catalogue-license lppl1.3c
catalogue-topics notes
-catalogue-version 1.1i
+catalogue-version 1.2b
++++++ marvosym.doc.tar.xz ++++++
++++++ marvosym.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/marvosym.tlpobj new/tlpkg/tlpobj/marvosym.tlpobj
--- old/tlpkg/tlpobj/marvosym.tlpobj 2016-04-14 19:24:57.000000000 +0200
+++ new/tlpkg/tlpobj/marvosym.tlpobj 2017-04-14 17:50:11.000000000 +0200
@@ -21,7 +21,7 @@
RELOC/tex/latex/marvosym/marvosym.sty
RELOC/tex/latex/marvosym/umvs.fd
catalogue-ctan /fonts/marvosym
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license ofl
catalogue-topics font font-mf font-ttf font-symbol font-supp
catalogue-version 2.2a
++++++ matc3.doc.tar.xz ++++++
++++++ matc3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/matc3.tlpobj new/tlpkg/tlpobj/matc3.tlpobj
--- old/tlpkg/tlpobj/matc3.tlpobj 2016-04-14 19:24:58.000000000 +0200
+++ new/tlpkg/tlpobj/matc3.tlpobj 2017-04-14 17:50:11.000000000 +0200
@@ -10,7 +10,7 @@
RELOC/tex/latex/matc3/matc3.sty
catalogue-also matc3mem
catalogue-ctan /macros/latex/contrib/matc3
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics maths
catalogue-version 1.0.1
++++++ matc3mem.doc.tar.xz ++++++
++++++ matc3mem.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/matc3mem.tlpobj new/tlpkg/tlpobj/matc3mem.tlpobj
--- old/tlpkg/tlpobj/matc3mem.tlpobj 2016-04-14 19:24:58.000000000 +0200
+++ new/tlpkg/tlpobj/matc3mem.tlpobj 2017-04-14 17:50:11.000000000 +0200
@@ -11,7 +11,7 @@
RELOC/tex/latex/matc3mem/matc3mem.cls
catalogue-also matc3
catalogue-ctan /macros/latex/contrib/matc3mem
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics maths
catalogue-version 1.1
++++++ match_parens.doc.tar.xz ++++++
++++++ match_parens.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/match_parens.tlpobj new/tlpkg/tlpobj/match_parens.tlpobj
--- old/tlpkg/tlpobj/match_parens.tlpobj 2016-04-14 19:24:58.000000000 +0200
+++ new/tlpkg/tlpobj/match_parens.tlpobj 2017-04-14 17:50:11.000000000 +0200
@@ -12,7 +12,7 @@
runfiles size=2
texmf-dist/scripts/match_parens/match_parens
catalogue-ctan /support/match_parens
-catalogue-date 2016-04-13 20:27:48 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics debug-supp
catalogue-version 1.43
++++++ math-e.doc.tar.xz ++++++
++++++ mathabx-type1.doc.tar.xz ++++++
++++++ mathabx-type1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathabx-type1.tlpobj new/tlpkg/tlpobj/mathabx-type1.tlpobj
--- old/tlpkg/tlpobj/mathabx-type1.tlpobj 2016-04-14 19:25:01.000000000 +0200
+++ new/tlpkg/tlpobj/mathabx-type1.tlpobj 2017-04-14 17:50:13.000000000 +0200
@@ -35,6 +35,6 @@
RELOC/fonts/type1/public/mathabx-type1/mathx9.pfb
catalogue-also mathabx
catalogue-ctan /fonts/ps-type1/mathabx
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics font font-type1 font-symbol-maths
++++++ mathabx.doc.tar.xz ++++++
++++++ mathabx.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathabx.tlpobj new/tlpkg/tlpobj/mathabx.tlpobj
--- old/tlpkg/tlpobj/mathabx.tlpobj 2016-04-14 19:25:00.000000000 +0200
+++ new/tlpkg/tlpobj/mathabx.tlpobj 2017-04-14 17:50:13.000000000 +0200
@@ -94,6 +94,6 @@
RELOC/tex/generic/mathabx/mathabx.sty
RELOC/tex/generic/mathabx/mathabx.tex
catalogue-ctan /fonts/mathabx
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics font font-mf font-symbol-maths
++++++ mathalfa.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/mathalfa/README new/doc/latex/mathalfa/README
--- old/doc/latex/mathalfa/README 2016-03-28 23:52:09.000000000 +0200
+++ new/doc/latex/mathalfa/README 2017-02-25 00:01:03.000000000 +0100
@@ -9,9 +9,11 @@
alphabets in order to allow each to be scaled independently and
without silently quantizing the sizes.
-This version (1.08) adds two more alphabets---bb=libus sets blackboard bold to the double-struck alphabet from LibertinusT1Math, and cal=stix sets the calligraphic alphabet to the one in six-mathcal.pfb.
+This version (1.09) adds two more calligraphic/script alphabets, both upright---txupr is based on the math calligraphic font from the TX fonts, and boondoxupr is derived from the stix math script fonts, version 1.1.
-Copyright 2012--2016 Michael Sharpe
+Version (1.08) adds two more alphabets---bb=libus sets blackboard bold to the double-struck alphabet from LibertinusT1Math, and cal=stix sets the calligraphic alphabet to the one in stix-mathcal.pfb.
+
+Copyright 2012--2017 Michael Sharpe
msharpe at ucsd dot edu
License:
Binary files old/doc/latex/mathalfa/mathalfa.pdf and new/doc/latex/mathalfa/mathalfa.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/mathalfa/mathalfa.tex new/doc/latex/mathalfa/mathalfa.tex
--- old/doc/latex/mathalfa/mathalfa.tex 2012-05-05 02:45:59.000000000 +0200
+++ new/doc/latex/mathalfa/mathalfa.tex 2017-02-25 00:01:03.000000000 +0100
@@ -1,4 +1,6 @@
\documentclass[11pt]{amsart}
+\pdfmapfile{+TXUprCal.map}
+\pdfmapfile{+BOONDOXUprScr.map}
\usepackage[margin=1in]{geometry}
\usepackage[parfill]{parskip}\usepackage{url}
\usepackage{graphicx}
@@ -85,10 +87,10 @@
after loading the {\tt mathalfa} package. (You may find this a useful option if you specified {\tt cal=dutchcal}, as that font is quite light.)
\item
Use of \textsf{zapfc} as a value for either \textsf{cal} or \textsf{scr} requires that you install the \textsf{urwchancal} package from\\
- \url{http://ctan.tug.org/tex-archive/fonts/urwchancal}.\\
+ \url{http://mirror.tug.org/fonts/urwchancal}.\\
(It is distributed as part of \TeX\ Live as of March 2011.)
\item Use of the \textsf{rsfso} as a value for either \textsf{cal} or \textsf{scr} requires that you install the \textsf{rsfso} package from\\
- \url{http://ctan.tug.org/tex-archive/fonts/rsfso}.\\
+ \url{http://mirror.tug.org/fonts/rsfso}.\\
(It is distributed as part of \TeX\ Live as of March 2011.)
\item Use of \textsf{mma} as a value requires that you download and install the fonts from\\
\url{http://support.wolfram.com/technotes/latestfonts.en.html}.\\
@@ -233,7 +235,7 @@
\sample{{\tt\small mt} (Mathtime Pro 2 fraktur-bold):} {\usefont{U}{mt2mf}{b}{n}\al}
-\sample{{\tt\small boondox} (BOONDOX fraktur-bold):} {\usefont{U}{BOONDOX-frak}{b}{n}\al}
+\sample{{\tt\small boondox} (BOONDOX fraktur-bold):} {\usefont{U}{BOONDOX-frak}{b}{n}\al}
}
\def\spc{\hspace*{7pt}}
@@ -247,6 +249,10 @@
\sample{{\small\tt\spc mtc} (Mathtime Pro 2 Curly script):} {\usefont{U}{mt2ms}{m}{n}\al}
+\sample{{\small\tt\spc txupr} (TXUprCal):} {\usefont{U}{txuprcal}{m}{n}\al}
+
+\sample{{\small\tt\spc boondoxupr} (BOONDOXUprScr):} {\usefont{U}{boondoxuprscr}{m}{n}\al}
+
\vspace{4pt}\textsc{Restrained:}\\[3pt]
\sample{{\small\tt \spc cm} (CM calligraphic, cmsy):} {\usefont{OMS}{cmsy}{m}{n}\al}
@@ -327,8 +333,6 @@
\sample{{\tt\small\spc pazo} (Mathpazo bb):} {\usefont{U}{fplmbb}{m}{n}\al}
-\sample{{\tt\small\spc tx} (tx bb):} {\usefont{U}{tx-ds}{m}{n}\al}
-
\sample{{\tt\small\spc px} (px bb):} {\usefont{U}{px-ds}{m}{n}\al}
\sample{{\tt\small\spc px} (px bb bold):} {\usefont{U}{px-ds}{b}{n}\al}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathalfa.doc.tlpobj new/tlpkg/tlpobj/mathalfa.doc.tlpobj
--- old/tlpkg/tlpobj/mathalfa.doc.tlpobj 2016-04-14 19:25:02.000000000 +0200
+++ new/tlpkg/tlpobj/mathalfa.doc.tlpobj 2017-04-14 17:50:14.000000000 +0200
@@ -1,9 +1,9 @@
name mathalfa.doc
category Package
-revision 40164
+revision 43332
shortdesc doc files of mathalfa
relocated 1
-docfiles size=104
+docfiles size=244
RELOC/doc/latex/mathalfa/README
RELOC/doc/latex/mathalfa/mathalfa.pdf
RELOC/doc/latex/mathalfa/mathalfa.tex
++++++ mathalfa.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/mathalfa/mathalfa.sty new/tex/latex/mathalfa/mathalfa.sty
--- old/tex/latex/mathalfa/mathalfa.sty 2016-03-28 23:52:09.000000000 +0200
+++ new/tex/latex/mathalfa/mathalfa.sty 2017-02-25 00:01:05.000000000 +0100
@@ -1,14 +1,14 @@
\NeedsTeXFormat{LaTeX2e}
-\def\mathalfaVersion{1.08}
-\def\mathalfaDate{2016/03/25}
+\def\mathalfaVersion{1.09}
+\def\mathalfaDate{2017/02/23}
\ProvidesPackage{mathalfa}[\mathalfaDate\space-\space\mathalfaVersion
mathalfa (License LPPL) Michael Sharpe]
\RequirePackage{xkeyval}
% available choices
\def\bb@lst{ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof, libus}
-\def\cal@lst{cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams, stix}
+\def\cal@lst{cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams, stix,txupr,boondoxupr}
\def\frak@lst{euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx}
-\def\scr@lst{rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams}
+\def\scr@lst{rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams,txupr,boondoxupr}
\def\mathalfa@bbnr{-1}\def\mathalfa@calnr{-1}
\def\mathalfa@fraknr{-1}\def\mathalfa@scrnr{-1}
\def\minusone{-1}
@@ -61,7 +61,7 @@
%\ifx\mathalfa@scrnr\minusone\else\let\mathscr\relax\fi
% Code to set up the math alphabets specified, not necessarily using the fd files
% Blackboard Bold
-\ifcase\mathalfa@bbnr\relax% item 0 of {ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof}
+\ifcase\mathalfa@bbnr\relax% item 0 of {ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof,libus}
\DeclareFontFamily{U}{msb}{}%
\DeclareFontShape{U}{msb}{m}{n}{<-7>\mathalfa@bbscaled msbm5
<7-9>\mathalfa@bbscaled msbm7
@@ -170,7 +170,7 @@
\DeclareMathAlphabet{\mathbb}{U}{libusbb}{m}{n}
\fi
% \mathcal
-\ifcase\mathalfa@calnr\relax% item 0 of {cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal,pxtx,bickham,stix}
+\ifcase\mathalfa@calnr\relax% item 0 of {cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal,pxtx,bickham,stix,txupr,boondoxupr}
\DeclareFontFamily{U}{cmsy}{\skewchar\font48 }
\DeclareFontShape{U}{cmsy}{m}{n}{%
<-5.5>\mathalfa@calscaled cmsy5%
@@ -330,6 +330,24 @@
\DeclareMathAlphabet{\mathcal}{U}{stixcal}{m}{n}
\SetMathAlphabet{\mathcal}{bold}{U}{stixcal}{b}{n}
\DeclareMathAlphabet{\mathbcal} {U}{stixcal}{b}{n}
+\or %txupr
+ \DeclareFontFamily{U}{TXuprcal}{\skewchar \font =45}
+ \DeclareFontShape{U}{TXuprcal}{m}{n}{
+ <-> \mathalfa@calscaled txUprCal-Regular}{}
+ \DeclareFontShape{U}{TXuprcal}{b}{n}{
+ <-> \mathalfa@calscaled txUprCal-Bold}{}
+ \DeclareMathAlphabet{\mathcal}{U}{TXuprcal}{m}{n}
+ \SetMathAlphabet{\mathcal}{bold}{U}{TXuprcal}{b}{n}
+ \DeclareMathAlphabet{\mathbcal}{U}{TXuprcal}{b}{n}
+\or %boondoxupr
+ \DeclareFontFamily{U}{boondoxuprcal}{\skewchar \font =45}
+ \DeclareFontShape{U}{boondoxuprcal}{m}{n}{
+ <-> \mathalfa@calscaled BOONDOXUprScr-Regular}{}
+ \DeclareFontShape{U}{boondoxuprcal}{b}{n}{
+ <-> \mathalfa@calscaled BOONDOXUprScr-Bold}{}
+ \DeclareMathAlphabet{\mathcal}{U}{boondoxuprcal}{m}{n}
+ \SetMathAlphabet{\mathcal}{bold}{U}{boondoxuprcal}{b}{n}
+ \DeclareMathAlphabet{\mathbcal}{U}{boondoxuprcal}{b}{n}
\fi
% \mathfrak
\ifcase\mathalfa@fraknr\relax% item 0 of {euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx}
@@ -399,7 +417,7 @@
\DeclareMathAlphabet{\mathbfrak} {U}{txfrak}{b}{n}
\fi
% \mathscr
-\ifcase\mathalfa@scrnr\relax% item 0 of {rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo, dutchcal}
+\ifcase\mathalfa@scrnr\relax% item 0 of {rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo, dutchcal,pxtx, bickham, bickhams,txupr,boondoxupr}
%rsfs--avoid using mathrsfs so as to avoid rounding of sizes and to get scaling
\DeclareFontFamily{U}{rsfs}{\skewchar\font127 }
\DeclareFontShape{U}{rsfs}{m}{n}{%
@@ -517,6 +535,24 @@
\DeclareMathAlphabet{\mathscr}{U}{bickhamscr}{m}{n}
\SetMathAlphabet{\mathscr}{bold}{U}{bickhamscr}{b}{n}
\DeclareMathAlphabet{\mathbscr} {U}{bickhamscr}{b}{n}
+\or %txupr
+ \DeclareFontFamily{U}{txuprscr}{\skewchar \font =45}
+ \DeclareFontShape{U}{txuprscr}{m}{n}{
+ <-> \mathalfa@scrscaled txUprCal-Regular}{}
+ \DeclareFontShape{U}{txuprscr}{b}{n}{
+ <-> \mathalfa@scrscaled txUprCal-Bold}{}
+ \DeclareMathAlphabet{\mathscr}{U}{txuprscr}{m}{n}
+ \SetMathAlphabet{\mathscr}{bold}{U}{txuprscr}{b}{n}
+ \DeclareMathAlphabet{\mathbscr}{U}{txuprscr}{b}{n}
+\or %boondoxupr
+ \DeclareFontFamily{U}{Boondoxuprs}{\skewchar \font =45}
+ \DeclareFontShape{U}{Boondoxuprs}{m}{n}{
+ <-> \mathalfa@scrscaled BOONDOXUprScr-Regular}{}
+ \DeclareFontShape{U}{Boondoxuprs}{b}{n}{
+ <-> \mathalfa@scrscaled BOONDOXUprScr-Bold}{}
+ \DeclareMathAlphabet{\mathscr}{U}{Boondoxuprs}{m}{n}
+ \SetMathAlphabet{\mathscr}{bold}{U}{Boondoxuprs}{b}{n}
+ \DeclareMathAlphabet{\mathbscr}{U}{Boondoxuprs}{b}{n}
\fi
\ifnum\mathalfa@bbnr>-1\relax \def\Bbb{}\let\Bbb\mathbb\fi
\ifx\mathbcal\@undefined\def\mathbcal{\PackageError{mathalfa}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathalfa.tlpobj new/tlpkg/tlpobj/mathalfa.tlpobj
--- old/tlpkg/tlpobj/mathalfa.tlpobj 2016-04-14 19:25:03.000000000 +0200
+++ new/tlpkg/tlpobj/mathalfa.tlpobj 2017-04-14 17:50:14.000000000 +0200
@@ -1,6 +1,6 @@
name mathalfa
category Package
-revision 40164
+revision 43332
shortdesc General package for loading maths alphabets in LaTeX
relocated 1
longdesc The package provides means of loading maths alphabets (such as
@@ -10,7 +10,7 @@
runfiles size=7
RELOC/tex/latex/mathalfa/mathalfa.sty
catalogue-ctan /macros/latex/contrib/mathalfa
-catalogue-date 2016-03-28 07:37:54 +0200
+catalogue-date 2017-02-24 08:43:41 +0100
catalogue-license lppl1.3
catalogue-topics maths
-catalogue-version 1.08
+catalogue-version 1.09
++++++ mathastext.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/mathastext/README.md new/doc/latex/mathastext/README.md
--- old/doc/latex/mathastext/README.md 2016-05-13 23:21:22.000000000 +0200
+++ new/doc/latex/mathastext/README.md 2016-11-25 19:29:28.000000000 +0100
@@ -14,7 +14,7 @@
Copyright (C) 2011-2016 Jean-Francois Burnol (`jfbu at free dot fr`)
- Source: mathastext.dtx 1.3p 2016/05/13
+ Source: mathastext.dtx 1.3r 2016/11/06
cumulative Change Log at bottom of this file.
@@ -83,10 +83,15 @@
INSTALLATION
============
+### Using the manager of your TeX installation
+
+mathastext is in TeXLive and MikTeX. Just use the package manager to upgrade
+or install it.
+
### From `mathastext.tds.zip`
-This is the fastest way: `unzip -d <destfolder> mathastext.tds.zip`,
-where `<destfolder>` could be `~/texmf` or (macosx), `~/Library/texmf`.
+user install in \$HOME folder: `unzip -d <destfolder> mathastext.tds.zip`,
+where `<destfolder>` could be `~/texmf` or on macosx `~/Library/texmf`.
### From `mathastext.dtx`
@@ -119,11 +124,28 @@
other options therein. Alternative: pdflatex mathastext.dtx (thrice).
This produces the documentation without the source code.
-> (One cannot use lualatex/xelatex to compile the documentation.)
+> (One cannot use lualatex or xelatex to compile the documentation.)
CHANGE LOG
==========
+1.3r \[2016/11/06\]
+----
+
+* documentation tweaks.
+
+1.3q \[2016/10/31\]
+----
+
+* new option `unicodeminus`.
+
+* the `Recent Changes` section of the documentation has been removed as it
+ was a duplicate of information available in the `Change Log`.
+
+* some other
+ changes in the documentation, in particular the use of straight quotes
+ in verbatim.
+
1.3p \[2016/05/13\]
----
@@ -142,7 +164,7 @@
`node` and `base`, and only the latter is functional in math mode. But
by default text fonts are declared in mode `node`. Thus `mathastext`
now intervenes to make it so that the font it declares in math mode
- will use mode `basic`. This fixes issues with for example old style
+ will use mode `base`. This fixes issues with for example old style
figures being used while the text font used lining figures (or vice
versa, depending on the font). But see the code comments for more.
Binary files old/doc/latex/mathastext/mathastext.pdf and new/doc/latex/mathastext/mathastext.pdf differ
Binary files old/doc/latex/mathastext/mathastexttestalphabets.pdf and new/doc/latex/mathastext/mathastexttestalphabets.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathastext.doc.tlpobj new/tlpkg/tlpobj/mathastext.doc.tlpobj
--- old/tlpkg/tlpobj/mathastext.doc.tlpobj 2016-05-14 03:23:16.000000000 +0200
+++ new/tlpkg/tlpobj/mathastext.doc.tlpobj 2017-04-14 17:50:14.000000000 +0200
@@ -1,9 +1,9 @@
name mathastext.doc
category Package
-revision 41096
+revision 42447
shortdesc doc files of mathastext
relocated 1
-docfiles size=126
+docfiles size=125
RELOC/doc/latex/mathastext/README.md
RELOC/doc/latex/mathastext/mathastext.pdf
RELOC/doc/latex/mathastext/mathastexttestalphabets.pdf
++++++ mathastext.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/mathastext/mathastext.sty new/tex/latex/mathastext/mathastext.sty
--- old/tex/latex/mathastext/mathastext.sty 2016-05-13 23:21:22.000000000 +0200
+++ new/tex/latex/mathastext/mathastext.sty 2016-11-25 19:33:53.000000000 +0100
@@ -23,7 +23,7 @@
%%----------------------------------------------------------------
%% Package: mathastext
%% Info: Use the text font in math mode (JFB)
-%% Version: 1.3p 2016/05/13
+%% Version: 1.3r 2016/11/06
%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
%% Copyright (C) 2011-2016 Jean-Francois Burnol <jfbu at free dot fr>
%% Examples of use of mathastext:
@@ -32,7 +32,7 @@
%%----------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage {mathastext}
- [2016/05/13 v1.3p Use the text font in math mode (JFB)]
+ [2016/11/06 v1.3r Use the text font in math mode (JFB)]
\let\mst@Umathcharnumdef\Umathcharnumdef
\let\mst@Umathcodenum \Umathcodenum
\let\mst@Umathcode \Umathcode
@@ -200,8 +200,15 @@
\DeclareOption{fouriervec}{\mst@fouriervectrue}
\newif\ifmst@subdued
\DeclareOption{subdued}{\mst@subduedtrue}
-\DeclareOption*{\PackageWarningNoLine{mathastext}
- {Unknown option `\CurrentOption\string'}}
+\def\mst@unicodeminus {2013}
+\def\mst@checkoption #1unicodeminus#2\mst@#3\mst@@
+ {\ifx\\#3\\\PackageWarningNoLine{mathastext}
+ {Unknown option `\CurrentOption\string'}\else
+ \ifx\\#2\\\def\mst@unicodeminus {2212}\else
+ \expandafter\def\expandafter\mst@unicodeminus\expandafter{\@secondoftwo#2}%
+ \fi\fi}
+\DeclareOption*%
+ {\expandafter\mst@checkoption\CurrentOption\mst@ unicodeminus\mst@\mst@@}
\ProcessOptions\relax
\newmuskip\mst@exists@muskip %% v 1.15e
\newmuskip\mst@forall@muskip
@@ -1110,7 +1117,7 @@
\DeclareMathSymbol \csname mst@#1\endcsname{\mathalpha}{mtletterfont}{`#1}%
\expandafter\mst@addtodo@az\expandafter #1\csname mst@#1\endcsname
}%
-\@for\mst@tmp:=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z\do
+\@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do
{\expandafter\mst@DeclareMathLetter\mst@tmp}%
\ifmst@frenchmath \def\mst@font@tbu{mtoperatorfont}%
\else \def\mst@font@tbu{mtletterfont}%
@@ -1121,7 +1128,7 @@
\DeclareMathSymbol \csname mst@#1\endcsname{\mathalpha}{\mst@font@tbu}{`#1}%
\expandafter\mst@addtodo@AZ\expandafter #1\csname mst@#1\endcsname
}%
-\@for\mst@tmp:=A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z\do
+\@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do
{\expandafter\mst@DeclareMathLetter\mst@tmp}%
\let\mst@DeclareMathLetter\relax
%%
@@ -1231,7 +1238,7 @@
\else
\ifmst@XeOrLua
\mst@Umathcharnumdef\mst@minus@sign=\mst@Umathcodenum`\-\relax
-%% I used this prior to the new \luatexUmathcodenum, as available with TL2013:
+%% I used this prior to the new \luatexUmathcodenum, as available since TL2013:
%% \mathchardef\mst@minus@sign=8704\relax % "2200
\else
\mathchardef\mst@minus@sign=\mathcode`\-\relax
@@ -1249,8 +1256,8 @@
\def\mst@dothe@endashstuff{\edef\mst@tmp@enc{\encodingdefault}
\if1\mst@OneifUniEnc
\AtBeginDocument{% Unicode engines and font
- \mst@Umathcode`\-=2 \symmtoperatorfont "2013\relax
- \mst@Umathchardef\mst@varfam@minus=7 \symmtoperatorfont "2013\relax
+ \mst@Umathcode`\-=2 \symmtoperatorfont "\mst@unicodeminus\relax
+ \mst@Umathchardef\mst@varfam@minus=7 \symmtoperatorfont "\mst@unicodeminus\relax
}
\else
\ifx\mst@tmp@enc\mst@ti % T1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathastext.tlpobj new/tlpkg/tlpobj/mathastext.tlpobj
--- old/tlpkg/tlpobj/mathastext.tlpobj 2016-05-14 03:23:16.000000000 +0200
+++ new/tlpkg/tlpobj/mathastext.tlpobj 2017-04-14 17:50:14.000000000 +0200
@@ -1,6 +1,6 @@
name mathastext
category Package
-revision 41096
+revision 42447
shortdesc Use the text font in maths mode
relocated 1
longdesc The package uses a text font (usually the document's text font)
@@ -12,13 +12,13 @@
longdesc fonts are available. The package also offers a simple mechanism
longdesc for using many different choices of (text hence, now, maths)
longdesc font in the same document. Of course, using one font for two
-longdesc purposes helps produce smaller PDF files. The package, running
-longdesc under LuaTeX, requires the TeX live 2013 distribution (or
-longdesc later).
+longdesc purposes helps produce smaller PDF files. The package, if
+longdesc running under LuaTeX, requires the TeX live 2013 distribution
+longdesc (or later).
runfiles size=21
RELOC/tex/latex/mathastext/mathastext.sty
catalogue-ctan /macros/latex/contrib/mathastext
-catalogue-date 2016-05-13 15:48:16 +0200
+catalogue-date 2016-11-06 20:13:27 +0100
catalogue-license lppl1.3
catalogue-topics font font-maths font-sel
-catalogue-version 1.3p
+catalogue-version 1.3r
++++++ mathcomp.doc.tar.xz ++++++
++++++ mathcomp.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathcomp.tlpobj new/tlpkg/tlpobj/mathcomp.tlpobj
--- old/tlpkg/tlpobj/mathcomp.tlpobj 2016-04-14 19:25:04.000000000 +0200
+++ new/tlpkg/tlpobj/mathcomp.tlpobj 2017-04-14 17:50:14.000000000 +0200
@@ -9,7 +9,7 @@
RELOC/tex/latex/mathcomp/mathcomp.sty
catalogue-also textcomp
catalogue-ctan /macros/latex/contrib/mathcomp
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics font-supp-maths
catalogue-version 0.1f
++++++ mathdesign.doc.tar.xz ++++++
++++++ mathdesign.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathdesign.tlpobj new/tlpkg/tlpobj/mathdesign.tlpobj
--- old/tlpkg/tlpobj/mathdesign.tlpobj 2016-04-14 19:25:04.000000000 +0200
+++ new/tlpkg/tlpobj/mathdesign.tlpobj 2017-04-14 17:50:15.000000000 +0200
@@ -1256,7 +1256,7 @@
RELOC/tex/latex/mathdesign/omlmdgrdc.fd
catalogue-also fourier
catalogue-ctan /fonts/mathdesign
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics font font-type1 font-maths font-supp-maths
catalogue-version 2.31
++++++ mathdots.doc.tar.xz ++++++
++++++ mathdots.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathdots.tlpobj new/tlpkg/tlpobj/mathdots.tlpobj
--- old/tlpkg/tlpobj/mathdots.tlpobj 2016-04-14 19:25:12.000000000 +0200
+++ new/tlpkg/tlpobj/mathdots.tlpobj 2017-04-14 17:50:18.000000000 +0200
@@ -12,7 +12,7 @@
RELOC/tex/generic/mathdots/mathdots.sty
RELOC/tex/generic/mathdots/mathdots.tex
catalogue-ctan /macros/generic/mathdots
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics maths
catalogue-version 0.9
++++++ mathexam.doc.tar.xz ++++++
++++++ mathexam.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathexam.tlpobj new/tlpkg/tlpobj/mathexam.tlpobj
--- old/tlpkg/tlpobj/mathexam.tlpobj 2016-04-14 19:25:12.000000000 +0200
+++ new/tlpkg/tlpobj/mathexam.tlpobj 2017-04-14 17:50:18.000000000 +0200
@@ -14,7 +14,7 @@
runfiles size=1
RELOC/tex/latex/mathexam/mathexam.sty
catalogue-ctan /macros/latex/contrib/mathexam
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics exam maths
catalogue-version 1.00
++++++ mathpartir.doc.tar.xz ++++++
++++++ mathpartir.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathpartir.tlpobj new/tlpkg/tlpobj/mathpartir.tlpobj
--- old/tlpkg/tlpobj/mathpartir.tlpobj 2016-04-14 19:25:12.000000000 +0200
+++ new/tlpkg/tlpobj/mathpartir.tlpobj 2017-04-14 17:50:18.000000000 +0200
@@ -17,7 +17,7 @@
runfiles size=4
RELOC/tex/latex/mathpartir/mathpartir.sty
catalogue-ctan /macros/latex/contrib/mathpartir
-catalogue-date 2016-03-02 05:15:12 +0100
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl2
catalogue-topics maths
catalogue-version 1.3.2
++++++ mathpazo.doc.tar.xz ++++++
++++++ mathpazo.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathpazo.tlpobj new/tlpkg/tlpobj/mathpazo.tlpobj
--- old/tlpkg/tlpobj/mathpazo.tlpobj 2016-04-14 19:25:13.000000000 +0200
+++ new/tlpkg/tlpobj/mathpazo.tlpobj 2017-04-14 17:50:18.000000000 +0200
@@ -19,11 +19,9 @@
longdesc regular and bold weights, other glyphs (Euro and dotlessj) in
longdesc upright and slanted shapes in regular and bold weights, and the
longdesc uppercase letters commonly used to represent various number
-longdesc sets (C, I, N, Q, R, and Z) in blackboard bold. The set also
-longdesc includes a set of 'true' small-caps fonts, also suitable for
-longdesc use with Palatino (or one of its clones). LaTeX macro support
-longdesc (using package mathpazo.sty) is provided in psnfss (a required
-longdesc part of any LaTeX distribution).
+longdesc sets (C, I, N, Q, R, and Z) in blackboard bold. LaTeX macro
+longdesc support (using package mathpazo.sty) is provided in psnfss (a
+longdesc required part of any LaTeX distribution).
runfiles size=41
RELOC/fonts/afm/public/mathpazo/fplmb.afm
RELOC/fonts/afm/public/mathpazo/fplmbb.afm
@@ -56,7 +54,7 @@
RELOC/fonts/vf/public/mathpazo/zplmr7y.vf
catalogue-also pxfonts newpx tex-gyre-math-pagella
catalogue-ctan /fonts/mathpazo
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics font font-type1 font-maths font-bbd
catalogue-version 1.003
++++++ maths-symbols.doc.tar.xz ++++++
++++++ mathspec.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/mathspec/README new/doc/xelatex/mathspec/README
--- old/doc/xelatex/mathspec/README 2009-10-03 16:59:49.000000000 +0200
+++ new/doc/xelatex/mathspec/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,48 +0,0 @@
-The mathspec package
---------------------
-Font selection for mathematics with XeLaTeX
-version 0.2
-Andrew Gilbert Moschou
-Wednesday, 30 September 2009
-
-This work is released under the LPPL v1.3c or later.
-
-The mathspec package provides an interface to select ordinary text fonts for
-typesetting mathematics with XeLaTeX.
-
-
-The package is developmental and later versions might to be incompatible with
-this version. This version is incompatible with earlier versions. The package
-requires at least version 0.9995 of XeTeX.
-
-Implementation
---------------
-
-\usepackage[<mathspec and fontspec options>]{mathspec}
-
-End user commands
------------------
-
-\setmathsfont(<set>)[]{<font name>}
-\setmathfont(<set>)[]{<font name>}
-
-\setmathrm[<font features>]{<font name>}
-\setmathsf[<font features>]{<font name>}
-\setmathtt[<font features>]{<font name>}
-\setmathcal[<font features>]{<font name>}
-\setmathbb[<font features>]{<font name>}
-\setmathfrak[<font features>]{<font name>}
-
-\setallmainfonts(<sets>)[<font features>]{<font name>}
-\setprimaryfont[<font features>]{<font name>}
-\setallsansfont[<font features>]{<font name>}
-\setallmonofonts[<font features>]{<font name>}
-
-\exchangeforms{<list>}
-\normalisevarforms[<list>]
-\normalizevarforms[<list>]
-
-"<character>
-\"<string>"
-\setminwhitespace
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/mathspec/README.txt new/doc/xelatex/mathspec/README.txt
--- old/doc/xelatex/mathspec/README.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/xelatex/mathspec/README.txt 2016-12-23 00:01:03.000000000 +0100
@@ -0,0 +1,49 @@
+The mathspec package
+--------------------
+Font selection for mathematics with XeLaTeX
+version 0.2b
+Andrew Gilbert Moschou
+22 Dec 2016
+
+* v0.2b by Will Robertson: a bug fix update for fontspec and the new TU encoding
+
+This work is released under the LPPL v1.3c or later.
+
+The mathspec package provides an interface to select ordinary text fonts for
+typesetting mathematics with XeLaTeX.
+
+The package is developmental and later versions might to be incompatible with
+this version. This version is incompatible with earlier versions. The package
+requires at least version 0.9995 of XeTeX.
+
+Implementation
+--------------
+
+\usepackage[<mathspec and fontspec options>]{mathspec}
+
+End user commands
+-----------------
+
+\setmathsfont(<set>)[]{<font name>}
+\setmathfont(<set>)[]{<font name>}
+
+\setmathrm[<font features>]{<font name>}
+\setmathsf[<font features>]{<font name>}
+\setmathtt[<font features>]{<font name>}
+\setmathcal[<font features>]{<font name>}
+\setmathbb[<font features>]{<font name>}
+\setmathfrak[<font features>]{<font name>}
+
+\setallmainfonts(<sets>)[<font features>]{<font name>}
+\setprimaryfont[<font features>]{<font name>}
+\setallsansfont[<font features>]{<font name>}
+\setallmonofonts[<font features>]{<font name>}
+
+\exchangeforms{<list>}
+\normalisevarforms[<list>]
+\normalizevarforms[<list>]
+
+"<character>
+\"<string>"
+\setminwhitespace
+
Binary files old/doc/xelatex/mathspec/mathspec.pdf and new/doc/xelatex/mathspec/mathspec.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/mathspec/mathspec.tex new/doc/xelatex/mathspec/mathspec.tex
--- old/doc/xelatex/mathspec/mathspec.tex 2009-10-03 16:59:49.000000000 +0200
+++ new/doc/xelatex/mathspec/mathspec.tex 2016-12-23 00:01:03.000000000 +0100
@@ -30,16 +30,51 @@
style=latex,#1}}
{}
-\setmainfont[Numbers=OldStyle]{Sabon LT Std}
-\setallsansfonts[Numbers={OldStyle,Proportional},Scale=MatchLowercase]{Candara}
-\setallmonofonts[Numbers=OldStyle,Scale=MatchLowercase]{Consolas}
-\setmathsfont(Digits,Latin)[Scale=MatchLowercase]{Bembo MT}
-\setmathsfont(Greek)[Scale=MatchLowercase]{STIXGeneral}
-\setmathrm{Sabon LT Std}
+\linespread{1.05}
+\setmainfont[
+ Extension = .otf,
+ UprightFont = *-regular,
+ ItalicFont = *-italic,
+ BoldFont = *-bold,
+ BoldItalicFont = *-bolditalic,
+ Numbers=OldStyle,
+ Scale=MatchLowercase,
+ ]{texgyrepagella}
+\setallsansfonts[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,
+ Numbers={OldStyle,Proportional},
+ Scale=MatchLowercase
+ ]{UniversalisADFStd}
+\setallmonofonts[
+ Scale=MatchLowercase,
+ BoldFont=Inconsolatazi4-Bold.otf,
+ AutoFakeSlant]{Inconsolatazi4-Regular.otf}
+\setmathsfont(Digits,Latin)[
+ Scale = 0.85,
+ Extension = .otf ,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,
+ ]{LibreBaskerville}
+\setmathsfont(Greek)[
+ Extension = .otf ,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,
+ Scale=MatchLowercase,
+ ]{STIX}
+\setmathrm[Scale=MatchLowercase]{LibreBaskerville-Regular.otf}
+
\exchangeforms{phi}
\setminwhitespace[750]
-\newfontfamily\MathematicalPi{Mathematical Pi LT Std}
+\newfontfamily\MathematicalPi{STIXMath-Regular.otf}
\newcommand\MP[1]{{\MathematicalPi #1}}
\makeatletter
@@ -132,8 +167,9 @@
pdfsubject={Font selection for mathematics with XeLaTeX},
pdfauthor={Andrew Gilbert Moschou}}
-\title{The \textsf{\spotcolor mathspec} package\\[0.25em]\mdseries\itshape\normalsize Font selection for mathematics with \XeLaTeX\\[1ex]\mdseries\upshape version 0.2}
-\author{Andrew Gilbert Moschou\\\texttt{andmos@gmail.com}}
+\title{The \textsf{\spotcolor mathspec} package\\[0.25em]\mdseries\itshape\normalsize Font selection for mathematics with \XeLaTeX\\[1ex]\mdseries\upshape version 0.2b}
+\author{Andrew Gilbert Moschou\thanks{v0.2b update by Will Robertson (\texttt{will.robertson@latex-project.org}).}\\\texttt{andmos@gmail.com}
+}
\makeatletter\let\@today\today\def\today{\scshape\MakeLowercase{\@today}}\makeatother
\hyphenation{in-com-pa-ti-ble Hoef-ler ma-the-ma-tics des-pite}
@@ -170,7 +206,11 @@
\cmditem{usepackage}\oprm{\sty{mathspec} and \sty{fontspec} options}|{mathspec}|
-\noindent To use the package, put \cmd{usepackage}|{mathspec}| in the preamble of the document. It is not necessary to put \cmd{usepackage}|{fontspec}| because \sty{mathspec} will ensure that \sty{fontspec} is loaded anyway. To load \sty{fontspec} with some options, parse them through \sty{mathspec}, for example, \cmd{usepackage}|[quiet]|\permitbreak|{mathspec}| is equivalent to \cmd{usepackage}\permitbreak|[quiet]|\permitbreak|{fontspec}|\cmd{usepackage}|{mathspec}|.
+\noindent To use the package, put \cmd{usepackage}|{mathspec}| in the preamble of the document. It is not necessary to put \cmd{usepackage}|{fontspec}| because \sty{mathspec} will ensure that \sty{fontspec} is loaded anyway. To load \sty{fontspec} with some options, parse them through \sty{mathspec}, for example, \cmd{usepackage}|[quiet]|\permitbreak|{mathspec}| is equivalent to:
+\begin{verbatim}
+ \usepackage[quiet]{fontspec}
+ \usepackage{mathspec}
+\end{verbatim}
Actually, \sty{mathspec} ordinarily loads \sty{fontspec} with the \opt{no-math} option. To cancel this, explicitly use the \opt{math} option: e.g.\ \cmd{usepackage}|[math]{mathspec}|.
@@ -253,6 +293,7 @@
\subsection{Examples}
+The following command:
\begin{example}
\setmathsfont(Digits,Latin,Greek)
[Numbers={Lining,Proportional}]{Minion Pro}
@@ -265,8 +306,7 @@
\end{example}
and indicates that all digits, Latin and Greek characters are to be set in Minion Pro with lining, proportional digits, with digits and uppercase Greek in regular and Latin and lowercase Greek in italic, which are the default shapes.
-\bigskip
-
+The following command:
\begin{example}
\setmathsfont(Digits,Greek)
[Uppercase=Plain,Lowercase=Regular,Scale=MatchLowercase]
@@ -353,7 +393,7 @@
\subsection{A further example}
-This document is typeset with the following:
+This document used to be typeset with the following:
\begin{example}
\setmainfont[Numbers=OldStyle]{Sabon LT Std}
@@ -511,10 +551,10 @@
\begin{table}
\begin{tabular}{@{}rl@{}}\topbottomrule
-Text & \fontspec{Bembo MT}\itshape abcdefghijklmnopqrstuvwxyz\\
+Text & \fontspec[ItalicFont=LibreBaskerville-Italic.otf]{LibreBaskerville-Regular.otf}\itshape abcdefghijklmnopqrstuvwxyz\\
Mathematics & $\"abcdefghijklmnopqrstuvwxyz"$\\\bottomrule
\end{tabular}
-\caption{Bembo \acr{MT} in text and spaced mathematics.\label{tab:stix}}
+\caption{Libre Baskerville in text and spaced mathematics.\label{tab:stix}}
\end{table}
\end{ltxsyntax}
@@ -523,16 +563,16 @@
\begin{example}
\begin{align}
"f\left("x\right) &= \sum_{"n = -\infty}^\infty"c_{"n}"e^{\"jnx"} \\
-"c_{"n} &= \frac{1}{2"π}\int_{-"π}^"π"f\left("x\right)"e^{-\"jnx"}\,\mathrm d"x
+"c_{"n} &= \frac{1}{2"π}\int_{-"π}^"π"f\bigl("x\bigr)"e^{-\"jnx"}\,\mathrm d"x
\end{align}
\end{example}
\begin{align}
"f\left("x\right) &= \sum_{"n = -\infty}^\infty "c_{"n}"e^{\"jnx"}\\
-"c_{"n} &= \frac 1{2"π}\int_{-"π}^{"π}"f\left("x\right)"e^{-\"jnx"}\,\mathrm d"x
+"c_{"n} &= \frac 1{2"π}\int_{-"π}^{"π}"f\bigl("x\bigr)"e^{-\"jnx"}\,\mathrm d"x
\end{align}
-Also note that the spacing is improved by replacing |(x)| with |\left(x\right)| (which you should be doing anyway).
+Also note that the spacing is improved by replacing |(x)| with |\bigl(x\bigr)| (which you should be doing anyway). %% changed from \left..\right to \bigl..\bigr (WSPR)
\section{Compatability}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathspec.doc.tlpobj new/tlpkg/tlpobj/mathspec.doc.tlpobj
--- old/tlpkg/tlpobj/mathspec.doc.tlpobj 2016-04-14 19:25:14.000000000 +0200
+++ new/tlpkg/tlpobj/mathspec.doc.tlpobj 2017-04-14 17:50:19.000000000 +0200
@@ -1,9 +1,9 @@
name mathspec.doc
category Package
-revision 15878
+revision 42773
shortdesc doc files of mathspec
relocated 1
-docfiles size=94
- RELOC/doc/xelatex/mathspec/README
+docfiles size=50
+ RELOC/doc/xelatex/mathspec/README.txt
RELOC/doc/xelatex/mathspec/mathspec.pdf
RELOC/doc/xelatex/mathspec/mathspec.tex
++++++ mathspec.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/xelatex/mathspec/mathspec.sty new/tex/xelatex/mathspec/mathspec.sty
--- old/tex/xelatex/mathspec/mathspec.sty 2009-10-03 16:59:49.000000000 +0200
+++ new/tex/xelatex/mathspec/mathspec.sty 2016-12-23 00:01:03.000000000 +0100
@@ -1,14 +1,12 @@
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{mathspec}
- [2009/09/30 v0.2 LaTeX Package (Mathematics font selection for XeLaTeX)]
+ [2016/12/22 v0.2b LaTeX Package (Mathematics font selection for XeLaTeX)]
-%% Require etoolbox for convenience and amstext for well sized text in maths
-%% mode. ifxetex is obvious.
+%% Requirements:
\RequirePackage{etoolbox}
\RequirePackage{amstext}
-\RequirePackage{ifxetex}
-%% Require a recent XeTeX version.
+\RequirePackage{ifxetex}
\RequireXeTeX
\ifcsundef{XeTeXglyphbounds}
{\PackageError{mathspec}
@@ -51,7 +49,7 @@
\ifnumcomp{#3}{<}{#1}{\boolfalse{temp}}{\relax}%
\ifbool{temp}}
-%% Options.
+%% Options:
\DeclareOption{normalskips}
{\PackageWarning{mathspec}
{Package option `normalskips' is deprecated}}
@@ -70,14 +68,23 @@
\providecommand\currentmathstyle{\relax}
-%% Check whether a package is loaded.
-%% \eu@package@loaded{<package>}
-\newcommand\eu@package@loaded[1]{
- \@ifpackageloaded{#1}
- {\eu@booltrue{eu@#1@loaded}}
- {\eu@boolfalse{eu@#1@loaded}}}
-%% Test for amsmath. Do I need to do this here or at all?
-\eu@package@loaded{amsmath}
+%% @-namespace fontspec variable:
+\ExplSyntaxOn
+\def\eu@enc{\g_fontspec_encoding_tl}
+\ExplSyntaxOff
+%% This is needed to transition to the TU encoding instead of EU1 (WSPR)
+
+%% Deprecated commands in fontspec:
+\ExplSyntaxOn
+\tl_set:Nn \zf@enc { \g_fontspec_encoding_tl }
+\cs_set:Npn \zf@fontspec #1 #2
+ {
+ \fontspec_select:nn {#1} {#2}
+ \tl_set:Nn \zf@family { \l_fontspec_family_tl }
+ \tl_set:Nn \zf@basefont { \l_fontspec_font }
+ }
+\ExplSyntaxOff
+%% These are still defined in fontspec at time of writing but maybe be removed in the future. (WSPR)
%% Define the undefined Greek letters. Include all variant forms (same as normal
%% forms if variant forms are unavailable). Latin F for digamma is better than
@@ -97,15 +104,12 @@
\DeclareMathSymbol{\Chi}{\mathalpha}{operators}{"58}
\DeclareMathSymbol{\omicron}{\mathord}{letters}{"6F}
\let\varbeta\beta
-\ifdef{\varkappa}
- {\relax}
+\ifdef{\varkappa}{\relax}
{\let\varkappa\kappa}
-\ifdef{\varTheta}
- {\let\eu@cm@varTheta\varTheta}
+\ifdef{\varTheta}{\let\eu@cm@varTheta\varTheta}
{\relax}
\let\varTheta\Theta
-\ifdef{\digamma}
- {\let\Digamma\digamma}
+\ifdef{\digamma}{\let\Digamma\digamma}
{\DeclareMathSymbol{\Digamma}{\mathalpha}{operators}{"46}
\DeclareMathSymbol{\digamma}{\mathord}{letters}{"46}}
@@ -257,7 +261,7 @@
\eu@boolfalse{Digits}
\fi
\eu@ifsomebooltrue{Digits}
- {\DeclareSymbolFont{Digits:m:n}{EU1}{\eu@Digitsmathsfont}{m}{n}}
+ {\DeclareSymbolFont{Digits:m:n}{\eu@enc}{\eu@Digitsmathsfont}{m}{n}}
\eu@ifbooltrue{Digits}
{\fontfamily\eu@Digitsmathsfont\selectfont
\DeclareMathSymbol{0}{\mathord}{\eu@DigitsArabic@symfont}{`0}
@@ -298,8 +302,8 @@
\eu@boolfalse{LatinLowercase}
\fi
\eu@ifsomebooltrue{LatinUppercase,LatinLowercase}
- {\DeclareSymbolFont{Latin:m:n}{EU1}{\eu@Latinmathsfont}{m}{n}
- \DeclareSymbolFont{Latin:m:it}{EU1}{\eu@Latinmathsfont}{m}{it}}
+ {\DeclareSymbolFont{Latin:m:n}{\eu@enc}{\eu@Latinmathsfont}{m}{n}
+ \DeclareSymbolFont{Latin:m:it}{\eu@enc}{\eu@Latinmathsfont}{m}{it}}
\eu@ifbooltrue{LatinUppercase}
{\fontfamily\eu@Latinmathsfont\selectfont
\DeclareMathSymbol{A}{\mathalpha}{\eu@LatinUppercase@symfont}{`A}
@@ -384,8 +388,8 @@
\eu@boolfalse{GreekLowercase}
\fi
\eu@ifsomebooltrue{GreekUppercase,GreekLowercase}
- {\DeclareSymbolFont{Greek:m:n}{EU1}{\eu@Greekmathsfont}{m}{n}
- \DeclareSymbolFont{Greek:m:it}{EU1}{\eu@Greekmathsfont}{m}{it}}
+ {\DeclareSymbolFont{Greek:m:n}{\eu@enc}{\eu@Greekmathsfont}{m}{n}
+ \DeclareSymbolFont{Greek:m:it}{\eu@enc}{\eu@Greekmathsfont}{m}{it}}
\eu@ifbooltrue{GreekUppercase}
{\fontfamily\eu@Greekmathsfont\selectfont
\XeTeXDeclareMathSymbol{Α}{\mathalpha}{\eu@GreekUppercase@symfont}{`Α}[\Alpha]
@@ -932,34 +936,34 @@
\ernewcommand\setmathrm[2][]{
\zf@fontspec{#1}{#2}
\let\eu@mathrm\zf@family
- \DeclareMathAlphabet{\mathrm}{EU1}{\eu@mathrm}{m}{n}
- \SetMathAlphabet{\mathrm}{bold}{EU1}{\eu@mathrm}{bx}{n}
- \DeclareMathAlphabet{\mathit}{EU1}{\eu@mathrm}{m}{it}
- \DeclareMathAlphabet{\mathbf}{EU1}{\eu@mathrm}{bx}{n}
- \SetMathAlphabet{\mathit}{bold}{EU1}{\eu@mathrm}{bx}{it}
- \DeclareSymbolFont{Operators:m:n}{EU1}{\eu@mathrm}{m}{n}
+ \DeclareMathAlphabet{\mathrm}{\eu@enc}{\eu@mathrm}{m}{n}
+ \SetMathAlphabet{\mathrm}{bold}{\eu@enc}{\eu@mathrm}{bx}{n}
+ \DeclareMathAlphabet{\mathit}{\eu@enc}{\eu@mathrm}{m}{it}
+ \DeclareMathAlphabet{\mathbf}{\eu@enc}{\eu@mathrm}{bx}{n}
+ \SetMathAlphabet{\mathit}{bold}{\eu@enc}{\eu@mathrm}{bx}{it}
+ \DeclareSymbolFont{Operators:m:n}{\eu@enc}{\eu@mathrm}{m}{n}
\def\operator@font{\expandafter\mathgroup\csname symOperators:m:n\endcsname}}
\ernewcommand\setmathcal[2][]{
\zf@fontspec{#1}{#2}
\let\eu@mathcal\zf@family
- \DeclareMathAlphabet{\mathcal}{EU1}{\eu@mathcal}{m}{n}}
+ \DeclareMathAlphabet{\mathcal}{\eu@enc}{\eu@mathcal}{m}{n}}
\ernewcommand\setmathsf[2][]{
\zf@fontspec{#1}{#2}
\let\eu@mathsf\zf@family
- \DeclareMathAlphabet{\mathsf}{EU1}{\eu@mathsf}{m}{n}
- \SetMathAlphabet{\mathsf}{bold}{EU1}{\eu@mathsf}{bx}{n}}
+ \DeclareMathAlphabet{\mathsf}{\eu@enc}{\eu@mathsf}{m}{n}
+ \SetMathAlphabet{\mathsf}{bold}{\eu@enc}{\eu@mathsf}{bx}{n}}
\ernewcommand\setmathtt[2][]{
\zf@fontspec{#1}{#2}
\let\eu@mathtt\zf@family
- \DeclareMathAlphabet{\mathtt}{EU1}{\eu@mathtt}{m}{n}}
+ \DeclareMathAlphabet{\mathtt}{\eu@enc}{\eu@mathtt}{m}{n}}
\ernewcommand\setmathfrak[2][]{
\zf@fontspec{#1}{#2}
\let\eu@mathfrak\zf@family
- \DeclareMathAlphabet{\mathfrak}{EU1}{\eu@mathfrak}{m}{n}}
+ \DeclareMathAlphabet{\mathfrak}{\eu@enc}{\eu@mathfrak}{m}{n}}
\ernewcommand\setmathbb[2][]{
\zf@fontspec{#1}{#2}
\let\eu@mathbb\zf@family
- \DeclareMathAlphabet{\mathbb}{EU1}{\eu@mathbb}{m}{n}}
+ \DeclareMathAlphabet{\mathbb}{\eu@enc}{\eu@mathbb}{m}{n}}
%% If amsmath is loaded, it must be loaded before mathspec. Checking for its
%% existence \AtBeginDocument is too late because the damage is already done
@@ -988,14 +992,10 @@
%% 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 recent distributions of LaTeX.
%%
%% This work has the LPPL maintenance status ‘maintained’.
-%%
%% The Current Maintainer of this work is Andrew Gilbert Moschou.
-%%
-%% This work consists of the files mathspec.sty and mathsepc4.tex.
+%% This work consists of the files mathspec.sty and mathspec.tex.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathspec.tlpobj new/tlpkg/tlpobj/mathspec.tlpobj
--- old/tlpkg/tlpobj/mathspec.tlpobj 2016-04-14 19:25:14.000000000 +0200
+++ new/tlpkg/tlpobj/mathspec.tlpobj 2017-04-14 17:50:19.000000000 +0200
@@ -1,6 +1,6 @@
name mathspec
category Package
-revision 15878
+revision 42773
shortdesc Specify arbitrary fonts for mathematics in XeTeX
relocated 1
longdesc The mathspec package provides an interface to typeset
@@ -12,7 +12,7 @@
runfiles size=11
RELOC/tex/xelatex/mathspec/mathspec.sty
catalogue-ctan /macros/xetex/latex/mathspec
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-12-23 08:58:28 +0100
catalogue-license lppl
catalogue-topics font-maths font-sel
-catalogue-version 0.2
+catalogue-version 0.2b
++++++ mathspic.doc.tar.xz ++++++
++++++ mathspic.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathspic.tlpobj new/tlpkg/tlpobj/mathspic.tlpobj
--- old/tlpkg/tlpobj/mathspic.tlpobj 2016-04-14 19:25:19.000000000 +0200
+++ new/tlpkg/tlpobj/mathspic.tlpobj 2017-04-14 17:50:21.000000000 +0200
@@ -20,7 +20,7 @@
texmf-dist/scripts/mathspic/mathspic.pl
texmf-dist/tex/latex/mathspic/mathspic.sty
catalogue-ctan /graphics/mathspic
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics graphics-prep
catalogue-version 1.13
++++++ mathtools.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/mathtools/README new/doc/latex/mathtools/README
--- old/doc/latex/mathtools/README 2015-11-12 23:18:09.000000000 +0100
+++ new/doc/latex/mathtools/README 2017-06-06 23:53:26.000000000 +0200
@@ -39,6 +39,7 @@
gathered environments.
-- Math versions of \makebox, \llap, \rlap etc.
-- Cramped math styles.
+ -- Macro generators.
-- and more...
mathtools requires mhsetup.
@@ -63,8 +64,9 @@
=======
The mhsetup package defines various programming tools needed by
-both empheq and mathtools. In the future, most of these tools will
-probably be an integral part of LaTeX3.
+both empheq and mathtools. The syntax is the same as for expl3,
+but there is no code overlap (anymore as of May 2017).
+In the future, most of these tools will probably be an integral part of LaTeX3 (they were).
BUG REPORTS
@@ -79,4 +81,4 @@
Please report bugs to daleif@math.au.dk
===========
-This README file was last revised 2015/05/11.
+This README file was last revised 2017/05/24.
Binary files old/doc/latex/mathtools/empheq.pdf and new/doc/latex/mathtools/empheq.pdf differ
Binary files old/doc/latex/mathtools/mathtools.pdf and new/doc/latex/mathtools/mathtools.pdf differ
Binary files old/doc/latex/mathtools/mhsetup.pdf and new/doc/latex/mathtools/mhsetup.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mathtools.doc.tlpobj new/tlpkg/tlpobj/mathtools.doc.tlpobj
--- old/tlpkg/tlpobj/mathtools.doc.tlpobj 2016-04-14 19:25:20.000000000 +0200
+++ new/tlpkg/tlpobj/mathtools.doc.tlpobj 2017-06-07 02:21:50.000000000 +0200
@@ -1,9 +1,9 @@
name mathtools.doc
category Package
-revision 38833
+revision 44504
shortdesc doc files of mathtools
relocated 1
-docfiles size=242
+docfiles size=243
RELOC/doc/latex/mathtools/README
RELOC/doc/latex/mathtools/empheq.pdf
RELOC/doc/latex/mathtools/mathtools.pdf
++++++ mathtools.tar.xz ++++++
++++ 2148 lines of diff (skipped)
++++++ matlab-prettifier.doc.tar.xz ++++++
++++++ matlab-prettifier.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/matlab-prettifier.tlpobj new/tlpkg/tlpobj/matlab-prettifier.tlpobj
--- old/tlpkg/tlpobj/matlab-prettifier.tlpobj 2016-04-14 19:25:21.000000000 +0200
+++ new/tlpkg/tlpobj/matlab-prettifier.tlpobj 2017-04-14 17:50:22.000000000 +0200
@@ -10,7 +10,7 @@
RELOC/tex/latex/matlab-prettifier/matlab-prettifier.sty
catalogue-also matlabweb
catalogue-ctan /macros/latex/contrib/matlab-prettifier
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics listing
catalogue-version 0.3
++++++ mattens.doc.tar.xz ++++++
++++++ mattens.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mattens.tlpobj new/tlpkg/tlpobj/mattens.tlpobj
--- old/tlpkg/tlpobj/mattens.tlpobj 2016-04-14 19:25:22.000000000 +0200
+++ new/tlpkg/tlpobj/mattens.tlpobj 2017-04-14 17:50:22.000000000 +0200
@@ -10,7 +10,7 @@
runfiles size=3
RELOC/tex/latex/mattens/mattens.sty
catalogue-ctan /macros/latex/contrib/mattens
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics maths engineering
catalogue-version 1.3
++++++ maybemath.doc.tar.xz ++++++
++++++ maybemath.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/maybemath.tlpobj new/tlpkg/tlpobj/maybemath.tlpobj
--- old/tlpkg/tlpobj/maybemath.tlpobj 2016-04-14 19:25:22.000000000 +0200
+++ new/tlpkg/tlpobj/maybemath.tlpobj 2017-04-14 17:50:22.000000000 +0200
@@ -18,6 +18,6 @@
runfiles size=1
RELOC/tex/latex/maybemath/maybemath.sty
catalogue-ctan /macros/latex/contrib/maybemath
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics maths font-sel
++++++ mbenotes.doc.tar.xz ++++++
++++++ mbenotes.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mbenotes.tlpobj new/tlpkg/tlpobj/mbenotes.tlpobj
--- old/tlpkg/tlpobj/mbenotes.tlpobj 2016-04-14 19:25:23.000000000 +0200
+++ new/tlpkg/tlpobj/mbenotes.tlpobj 2017-04-14 17:50:22.000000000 +0200
@@ -10,7 +10,7 @@
runfiles size=10
RELOC/tex/latex/mbenotes/mbenotes.sty
catalogue-ctan /macros/latex/contrib/mbenotes
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.2
catalogue-topics notes
catalogue-version 2
++++++ mcaption.doc.tar.xz ++++++
++++++ mcaption.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mcaption.tlpobj new/tlpkg/tlpobj/mcaption.tlpobj
--- old/tlpkg/tlpobj/mcaption.tlpobj 2016-04-14 19:25:23.000000000 +0200
+++ new/tlpkg/tlpobj/mcaption.tlpobj 2017-04-14 17:50:22.000000000 +0200
@@ -11,7 +11,7 @@
runfiles size=2
RELOC/tex/latex/mcaption/mcaption.sty
catalogue-ctan /macros/latex/contrib/mcaption
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics caption
catalogue-version 3.0
++++++ mceinleger.doc.tar.xz ++++++
++++++ mceinleger.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mceinleger.tlpobj new/tlpkg/tlpobj/mceinleger.tlpobj
--- old/tlpkg/tlpobj/mceinleger.tlpobj 2016-04-14 19:25:23.000000000 +0200
+++ new/tlpkg/tlpobj/mceinleger.tlpobj 2017-04-14 17:50:22.000000000 +0200
@@ -11,6 +11,6 @@
RELOC/tex/latex/mceinleger/mceinleger.sty
catalogue-also cdcover
catalogue-ctan /macros/latex/contrib/mceinleger
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics covers
++++++ mcf2graph.doc.tar.xz ++++++
++++ 5138 lines of diff (skipped)
++++++ mcf2graph.tar.xz ++++++
++++ 1943 lines of diff (skipped)
++++++ mcite.doc.tar.xz ++++++
++++++ mcite.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mcite.tlpobj new/tlpkg/tlpobj/mcite.tlpobj
--- old/tlpkg/tlpobj/mcite.tlpobj 2016-04-14 19:25:24.000000000 +0200
+++ new/tlpkg/tlpobj/mcite.tlpobj 2017-04-14 17:50:23.000000000 +0200
@@ -10,7 +10,7 @@
runfiles size=2
RELOC/tex/latex/mcite/mcite.sty
catalogue-ctan /macros/latex/contrib/mcite
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics cite-supp
catalogue-version 1.6
++++++ mciteplus.doc.tar.xz ++++++
++++++ mciteplus.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mciteplus.tlpobj new/tlpkg/tlpobj/mciteplus.tlpobj
--- old/tlpkg/tlpobj/mciteplus.tlpobj 2016-04-14 19:25:25.000000000 +0200
+++ new/tlpkg/tlpobj/mciteplus.tlpobj 2017-04-14 17:50:23.000000000 +0200
@@ -15,7 +15,7 @@
RELOC/bibtex/bst/mciteplus/apsrmpM.bst
RELOC/tex/latex/mciteplus/mciteplus.sty
catalogue-ctan /macros/latex/contrib/mciteplus
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics cite-supp
catalogue-version 1.2
++++++ mcmthesis.doc.tar.xz ++++++
++++++ mcmthesis.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mcmthesis.tlpobj new/tlpkg/tlpobj/mcmthesis.tlpobj
--- old/tlpkg/tlpobj/mcmthesis.tlpobj 2016-04-14 19:25:26.000000000 +0200
+++ new/tlpkg/tlpobj/mcmthesis.tlpobj 2017-04-14 17:50:23.000000000 +0200
@@ -9,7 +9,7 @@
runfiles size=3
RELOC/tex/latex/mcmthesis/mcmthesis.cls
catalogue-ctan /macros/latex/contrib/mcmthesis
-catalogue-date 2016-02-01 08:18:51 +0100
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics dissertation class
catalogue-version 6.2
++++++ mdframed.doc.tar.xz ++++++
++++++ mdframed.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mdframed.tlpobj new/tlpkg/tlpobj/mdframed.tlpobj
--- old/tlpkg/tlpobj/mdframed.tlpobj 2016-04-14 19:25:28.000000000 +0200
+++ new/tlpkg/tlpobj/mdframed.tlpobj 2017-04-14 17:50:24.000000000 +0200
@@ -16,7 +16,7 @@
RELOC/tex/latex/mdframed/mdframed.sty
catalogue-also framed
catalogue-ctan /macros/latex/contrib/mdframed
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics boxing box-breaking decoration
catalogue-version 1.9b
++++++ mdputu.doc.tar.xz ++++++
++++++ mdputu.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mdputu.tlpobj new/tlpkg/tlpobj/mdputu.tlpobj
--- old/tlpkg/tlpobj/mdputu.tlpobj 2016-04-14 19:25:28.000000000 +0200
+++ new/tlpkg/tlpobj/mdputu.tlpobj 2017-04-14 17:50:24.000000000 +0200
@@ -21,7 +21,7 @@
RELOC/tex/latex/mdputu/ot1mdputu.fd
RELOC/tex/latex/mdputu/t1mdputu.fd
catalogue-ctan /fonts/mdputu
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license other-free
catalogue-topics font-maths font-virtual
catalogue-version 1.2
++++++ mdsymbol.doc.tar.xz ++++++
++++++ mdsymbol.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mdsymbol.tlpobj new/tlpkg/tlpobj/mdsymbol.tlpobj
--- old/tlpkg/tlpobj/mdsymbol.tlpobj 2016-04-14 19:25:28.000000000 +0200
+++ new/tlpkg/tlpobj/mdsymbol.tlpobj 2017-04-14 17:50:24.000000000 +0200
@@ -107,7 +107,7 @@
RELOC/fonts/type1/public/mdsymbol/MdSymbolF-Semibold.pfb
RELOC/tex/latex/mdsymbol/mdsymbol.sty
catalogue-ctan /fonts/mdsymbol
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license ofl
catalogue-topics font-symbol font-symbol-maths font-mf font-type1 font-otf
catalogue-version 0.5
++++++ mdwtools.doc.tar.xz ++++++
++++++ mdwtools.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mdwtools.tlpobj new/tlpkg/tlpobj/mdwtools.tlpobj
--- old/tlpkg/tlpobj/mdwtools.tlpobj 2016-04-14 19:25:32.000000000 +0200
+++ new/tlpkg/tlpobj/mdwtools.tlpobj 2017-04-14 17:50:26.000000000 +0200
@@ -24,7 +24,7 @@
RELOC/tex/latex/mdwtools/sverb.sty
RELOC/tex/latex/mdwtools/syntax.sty
catalogue-ctan /macros/latex/contrib/mdwtools
-catalogue-date 2015-08-03 05:43:12 +0200
+catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics list-supp notes footnote syntax maths macro-supp table verbatim
catalogue-version 1.05.4
++++++ media9.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/media9/ChangeLog new/doc/latex/media9/ChangeLog
--- old/doc/latex/media9/ChangeLog 2016-03-24 23:27:10.000000000 +0100
+++ new/doc/latex/media9/ChangeLog 2017-04-26 00:27:45.000000000 +0200
@@ -1,3 +1,61 @@
+2017-04-25
+ * v0.79 : media9.sty
+ * v0.14 : pdfbase.sty
+ * fix: improved A-Reader-related workaround for annotations/links
+ located on OCGs
+
+2017-03-23
+ * v0.78 : media9.sty
+ * v0.13 : pdfbase.sty
+ * fix: ocg-related improvements
+
+2017-03-16
+ * v0.77 : media9.sty
+ * v0.12 : pdfbase.sty
+ * fix: PDF annotation and Form XObject producing macros improved
+
+2017-02-08
+ * v0.76 : media9.sty
+ * fix: error in the caption of Fig. 8, documentation `media9.pdf' rebuilt
+
+2017-02-03
+ * v0.75 : media9.sty
+ * fix: RTL related (luaTeX)
+
+2017-01-30
+ * v0.74 : media9.sty
+ * fix: usability in righ-to-left typesetting context
+
+2017-01-24
+ * v0.73 : media9.sty
+ * v0.13 : pdfbase.sty
+ * fix: pdfbase.sty: xform generation via dvips: rescale oversized boxes to
+ fit within papersize to prevent cropping
+
+2017-01-10
+ * v0.72 : media9.sty
+ * v0.12 : pdfbase.sty
+ * fix: pdfbase.sty, media9.sty: `landscape' environment:
+ drivers XeTeX and dvipdfmx also supported
+
+2017-01-09
+ * v0.71 : media9.sty
+ * v0.11 : pdfbase.sty
+ * fix: pdfbase.sty: support for `landscape' environment of
+ the pdflscape/lscape packages
+
+2016-11-08
+ * v0.70 : media9.sty
+ * v0.10 : pdfbase.sty
+ * fix: pdfbase.sty & pdftex: sometimes, incorrect page ressources
+ for marked content were written when using \pbs_pdfbdc:nn;
+ reported by _FrnchFrgg_
+
+2016-06-08
+ * v0.69 : media9.sty
+ * v0.9 : pdfbase.sty
+ * fix: incompatibility with LuaTeX 0.95.0
+
2016-03-22
* v0.68 : media9.sty
* v0.8 : pdfbase.sty
Binary files old/doc/latex/media9/media9.pdf and new/doc/latex/media9/media9.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/media9.doc.tlpobj new/tlpkg/tlpobj/media9.doc.tlpobj
--- old/tlpkg/tlpobj/media9.doc.tlpobj 2016-04-14 19:25:33.000000000 +0200
+++ new/tlpkg/tlpobj/media9.doc.tlpobj 2017-04-26 02:08:12.000000000 +0200
@@ -1,9 +1,9 @@
name media9.doc
category Package
-revision 40124
+revision 44045
shortdesc doc files of media9
relocated 1
-docfiles size=885
+docfiles size=941
RELOC/doc/latex/media9/ChangeLog
RELOC/doc/latex/media9/README
RELOC/doc/latex/media9/media9.pdf
++++++ media9.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/media9/media9.sty new/tex/latex/media9/media9.sty
--- old/tex/latex/media9/media9.sty 2016-03-24 23:27:10.000000000 +0100
+++ new/tex/latex/media9/media9.sty 2017-04-26 00:27:45.000000000 +0200
@@ -39,10 +39,9 @@
\RequirePackage{l3keys2e}
\RequirePackage{xparse}
\RequirePackage{atbegshi}
-\RequirePackage{atenddvi}
-\def\g@mix@date@tl{2016/03/22}
-\def\g@mix@version@tl{0.68}
+\def\g@mix@date@tl{2017/04/25}
+\def\g@mix@version@tl{0.79}
\def\g@mix@liiikerneldate{2015/09/27}
\def\g@mix@liiipkgdate{2015/09/27}
@@ -328,7 +327,7 @@
\cs_set_eq:NN\mix_pdfannot:nnnn\pbs_pdfannot:nnnn
\cs_set_eq:NN\mix_appendtofields:n\pbs_appendtofields:n
\cs_set_eq:NN\mix_pdflink:nn \pbs_pdflink:nn
-\cs_new:Nn\mix_pdfxform:n{\pbs_pdfxform:nnn{1}{1}{#1}}
+\cs_new:Nn\mix_pdfxform:n{\pbs_pdfxform:nnnnn{1}{1}{}{}{#1}}
\cs_set_eq:NN\mix_pdfximage:n \pbs_pdfximage:n
\cs_set_eq:NN\mix_pdfcatalog:n \pbs_pdfcatalog:n
@@ -379,15 +378,24 @@
}{
\sys_if_engine_luatex:TF{
\RequirePackage{pdftexcmds}
- \cs_new:Nn\mix_filemdfivesum:n{\pdf@filemdfivesum{#1}}
- \cs_new:Nn\mix_unescapehex:n{<#1>}
+ \cs_new_nopar:Nn\mix_filemdfivesum:n{\pdf@filemdfivesum{#1}}
+ %\cs_new:Nn\mix_unescapehex:n{<#1>}
+ \cs_new_nopar:Nn\mix_unescapehex:n{(\pdf@unescapehex{#1})}
}{
- \cs_new:Nn\mix_filemdfivesum:n{#1}
+ \cs_if_exist:NTF\mdfivesum{
+ \cs_new_nopar:Nn\mix_filemdfivesum:n{\mdfivesum file {#1}}
+ }{
+ \cs_new_nopar:Nn\mix_filemdfivesum:n{#1}
+ }
}
}
%creating global definitions
\cs_new:Npn\mix@newkey#1#2{\tl_gset:cx{#1}{#2}}
+\AtBeginDocument{
+ \iow_now:Nx\@mainaux{
+ \token_to_str:N\providecommand\token_to_str:N\mix@newkey[2]{}}
+}
%macros for writing global defs to \jobname.aux
\msg_set:nnn{media9}{rerun}{Rerun~to~get~internal~references~right!}
@@ -427,24 +435,6 @@
}
}
-\cs_gset_eq:NN\mix_atenddvi_checkimpl_orig:\AtEndDvi@CheckImpl%
-\def\AtEndDvi@CheckImpl{
- \mix_atenddvi_checkimpl_orig:
- \cs_if_exist:NTF\AtEndDvi@LastPage{
- \int_compare:nF{\AtEndDvi@LastPage=\value{abspage}}{
- \cs_if_exist:NF\g_mix_rerunwarned_tl{
- \tl_new:N\g_mix_rerunwarned_tl
- \msg_warning:nn{media9}{rerun}
- }
- }
- }{
- \cs_if_exist:NF\g_mix_rerunwarned_tl{
- \tl_new:N\g_mix_rerunwarned_tl
- \msg_warning:nn{media9}{rerun}
- }
- }
-}
-
%reset various variables for every new media inclusion
\cs_new:Nn\mix_reset:{
\tl_gset:Nx\g_mix_label_tl{rm@\int_use:N\g_mix_rmcnt_int}
@@ -881,10 +871,23 @@
}
\ExplSyntaxOn
+%environment for setting LTR typesetting direction with e-TeX based engines
+\cs_new:Nn\mix_beginLTR:{
+ \cs_if_exist:NT\TeXXeTstate{
+ \int_compare:nT{\TeXXeTstate>\c_zero}{\beginL}
+ }
+}
+\cs_new:Nn\mix_endLTR:{
+ \cs_if_exist:NT\TeXXeTstate{
+ \int_compare:nT{\TeXXeTstate>\c_zero}{\endL}
+ }
+}
+
\ior_new:N\l_mix_vfile_stream %file stream for 3D views files
\NewDocumentCommand\includemedia{O{}mm}{%#1 options, #2 text/image #3 media file
\mix_uriend:
\group_begin:
+ \mix_beginLTR:
\leavevmode
%empty stream as appearance dummy
\cs_if_exist:NF\g_mix_appearance_tl{
@@ -1131,7 +1134,7 @@
% #1:width, #2:height, #3:depth, #4:content (key-value)
\mix_pdfannot:nnnn{\g_mix_wd_tl}{\g_mix_ht_tl}{\g_mix_dp_tl}{
/Subtype/RichMedia
- /F~4\cs_if_exist_use:N\ocgxii@insert@OC
+ /F~4
/BS~<>
/Contents~(media~embedded~by~media9~[\g_mix_version_tl~(\g_mix_date_tl)])
/NM~(\g_mix_label_tl)
@@ -1191,21 +1194,24 @@
}{%insert play button overlay
\mix_insert_btnocg: %create OCG
\cs_gset_eq:Nc\mix_pbtn:NN{g@mix@pbtn@\g_mix_usrpbtn_tl @tl}
- %\hbox_set:Nn\l_mix_pbtn_box{\mix_pbtn:NN\g_mix_wd_tl\g_mix_tt_tl}
- \sbox\l_mix_pbtn_box{\mix_pbtn:NN\g_mix_wd_tl\g_mix_tt_tl}
- \box_move_down:nn{\g_mix_dp_tl}{
- \hbox_to_wd:nn{\g_mix_wd_tl}{
- \vbox_to_ht:nn{\g_mix_tt_tl}{
- \vss
- \ocgbase_oc_bdc:n{\g_mix_btnocg_tl}
- \box_use:N\l_mix_pbtn_box
- \ocgbase_oc_emc:
+ \group_begin:
+ \cs_if_exist:NT\textdir{\textdir TLT}
+ \sbox\l_mix_pbtn_box{\mix_pbtn:NN\g_mix_wd_tl\g_mix_tt_tl}
+ \box_move_down:nn{\g_mix_dp_tl}{
+ \hbox_to_wd:nn{\g_mix_wd_tl}{
+ \vbox_to_ht:nn{\g_mix_tt_tl}{
+ \vss
+ \ocgbase_oc_bdc:n{\g_mix_btnocg_tl}
+ \box_use:N\l_mix_pbtn_box
+ \ocgbase_oc_emc:
+ }
}
}
- }
+ \group_end:
}
\int_gincr:N\g_mix_rmcnt_int
}
+ \mix_endLTR:
\group_end:
}
\tl_set_eq:NN\l_mix_includemedia_tl\includemedia
@@ -2177,16 +2183,16 @@
tooltip .value_required:n = {true},
overface .code:n = {
- %\hbox_set:Nn\l_mix_poster_box{#1}
- \sbox\l_mix_poster_box{#1}
+ \sbox\l_mix_poster_box{
+ \bool_if:NTF\g_pbs_lscape_bool{\rotatebox{90}{#1}}{#1}}
\mix_pdfxform:n{\l_mix_poster_box}
\tl_gset:Nx\g_mix_overbtn_tl{\mix_pdflastxform:}
},
overface .value_required:n = {true},
downface .code:n = {
- %\hbox_set:Nn\l_mix_poster_box{#1}
- \sbox\l_mix_poster_box{#1}
+ \sbox\l_mix_poster_box{
+ \bool_if:NTF\g_pbs_lscape_bool{\rotatebox{90}{#1}}{#1}}
\mix_pdfxform:n{\l_mix_poster_box}
\tl_gset:Nx\g_mix_downbtn_tl{\mix_pdflastxform:}
},
@@ -2353,6 +2359,7 @@
\NewDocumentCommand\mediabutton{O{}m}{%#1 options, #2 normal button text
\mix_uriend:
\group_begin:
+ \mix_beginLTR:
\leavevmode
%reset various variables
\tl_gclear:N\g_mix_overbtn_tl
@@ -2372,22 +2379,16 @@
\tl_set:Nx\height{\dim_use:N\box_ht:N\l_mix_poster_box}
\tl_set:Nx\depth {\dim_use:N\box_dp:N\l_mix_poster_box}
\bool_if:NTF\g_mix_btndraft_bool{\box_use:N\l_mix_poster_box}{
+ \sbox\l_mix_poster_box{\bool_if:NTF\g_pbs_lscape_bool{\rotatebox{90}{
+ \box_use:N\l_mix_poster_box}}{\box_use:N\l_mix_poster_box}}
\mix_pdfxform:n{\l_mix_poster_box}
\tl_set:Nx\g_mix_normalbtn_tl{\mix_pdflastxform:}
- \bool_if:nT{ %dummy Widget for ocgx2, AR seems to need it
-% \cs_if_exist_p:N\ocgxii@insert@OC && !\tl_if_blank_p:V\ocgxii@insert@OC
- !\cs_if_exist:NTF\ocgxii@insert@OC{
- \tl_if_blank_p:V\ocgxii@insert@OC
- }{
- \c_true_bool
- }
- }{\mix_pdfannot:nnnn{\width}{\height}{\depth}{/Subtype/Widget/F~2}}
%insert widget annotation
\mix_pdfannot:nnnn{\width}{\height}{\depth}{
/Subtype/Widget
/T~(mbtn@\int_use:N\g_mix_mbtncnt_int)
\tl_if_empty:NF\g_mix_tooltip_tl{/TU~(\g_mix_tooltip_tl)}
- /FT/Btn/Ff~65536\cs_if_exist_use:N\ocgxii@insert@OC
+ /FT/Btn/Ff~65536
\tl_if_empty:NTF\g_mix_downbtn_tl{/H/I}{/H/P}
/AP~<<
/N~\g_mix_normalbtn_tl
@@ -2412,7 +2413,9 @@
}
\int_gincr:N\g_mix_mbtncnt_int
}
+ \mix_endLTR:
\group_end:
}
\tl_set_eq:NN\l_mix_mediabutton_tl\mediabutton
\tl_set:Nn\mediabutton{\mix_uribegin:\l_mix_mediabutton_tl}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/media9/pdfbase.sty new/tex/latex/media9/pdfbase.sty
--- old/tex/latex/media9/pdfbase.sty 2016-03-24 23:27:10.000000000 +0100
+++ new/tex/latex/media9/pdfbase.sty 2017-04-26 00:27:45.000000000 +0200
@@ -67,10 +67,12 @@
%
% --------
%
-% \pbs_pdfxform:nnn
-% #1: add pgf/tikz transparency, shading etc. resources? (1|0)
-% #2: used as PDF annotation appearance? (1|0)
-% #3: savebox number
+% \pbs_pdfxform:nnnnn
+% #1: add pgf/tikz resources (transparency, shading)? (1|0) %dvipdfmx/xetex
+% #2: used as PDF annotation appearance? (1|0) %dvips/pdftex
+% #3: additional resources %all BUT dvips
+% #4: additional dictionary entries
+% #5: savebox number
% creates PDF Form XObject from savebox content
%
% \pbs_pdflastxform:
@@ -105,6 +107,12 @@
% ... \pbs_pdfemc:
% #1: tag, #2: properties dictionary obj ID
%
+% --------
+%
+% alternative \AtEndDvi
+% \pbs_at_end_dvi:n
+% #1: \specials or \write to be inserted on the very last page
+%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This work may be distributed and/or modified under the
@@ -121,15 +129,26 @@
\RequirePackage{expl3}
\RequirePackage{l3keys2e}
-\RequirePackage{atbegshi}
-\RequirePackage{atenddvi}
-\def\g@pbs@date@tl{2016/03/22}
-\def\g@pbs@version@tl{0.8}
+\def\g@pbs@date@tl{2017/03/23}
+\def\g@pbs@version@tl{0.14}
\ProvidesExplPackage{pdfbase}{\g@pbs@date@tl}{\g@pbs@version@tl}
{driver independent access to low-level PDF features}
+\int_new:N\g_pbs_page_int %abs. page counter
+
+%creating global definitions
+\cs_new:Npn\pbs@newkey#1#2{\tl_gset:cx{#1}{#2}}
+
+\msg_set:nnn{pdfbase}{rerun}{Rerun~to~get~internal~references~right!}
+
+%LaTeX2e wrapper
+\cs_new_nopar:Npn\pbs@seq@push@cx#1#2{
+ \seq_if_exist:cF{#1}{\seq_new:c{#1}}
+ \seq_gput_right:cx{#1}{#2}
+}
+
%wrong image file type for Image XObject generation
\msg_gset:nnn{pdfbase}{wrong~image~resource}{
Image~resource~file\\~~'#1'\\has~wrong~type.\\\\
@@ -144,7 +163,43 @@
}
}
+% page (bop, eop) hooks
+\cs_new:Nn\pbs_bop_action:n{\seq_gput_right:Nn\g_pbs_bop_seq{#1}}
+\cs_new:Nn\pbs_eop_action:n{\seq_gput_right:Nn\g_pbs_eop_seq{#1}}
+\seq_new:N\g_pbs_bop_seq
+\seq_new:N\g_pbs_eop_seq
+
+% own AtEndDvi implementation
+\cs_new:Nn\pbs_at_end_dvi:n{\seq_gput_right:Nn\g_pbs_eod_seq{#1}}
+\seq_new:N\g_pbs_eod_seq
+\pbs@newkey{pbs@last@page}{0}
+
+% AtEndDvi check
+\AtBeginDocument{
+ \iow_now:Nx\@mainaux{
+ \token_to_str:N\providecommand\token_to_str:N\pbs@newkey[2]{}
+ \token_to_str:N\providecommand\token_to_str:N\pbs@seq@push@cx[2]{}
+ \token_to_str:N\providecommand\token_to_str:N\pbs@at@end@dvi@check{}}
+ \iow_now:Nx\@mainaux{\token_to_str:N\pbs@at@end@dvi@check}
+ \cs_new:Npn\pbs@at@end@dvi@check{
+ \bool_if:nT{
+ !\tl_if_exist:NTF\pbs@last@page{
+ \int_compare_p:n{\pbs@last@page=\g_pbs_page_int}
+ }{
+ \c_false_bool
+ }
+ }{
+ \cs_if_exist:NF\g_pbs_rerunwarned_tl{
+ \tl_new:N\g_pbs_rerunwarned_tl
+ \msg_warning:nn{pdfbase}{rerun}
+ }
+ }
+ }
+}
+
+%%%%%%%%%%%%%%%%%
%package options
+%%%%%%%%%%%%%%%%%
%unknown package option error message
\msg_gset:nnnn{pdfbase}{unknown~package~option}{Unknown~package~option~`#1'.}{
@@ -154,6 +209,13 @@
\bool_new:N\g_pbs_pkgbigfiles_bool
\bool_new:N\g_pbs_dvipdfmx_bool
+\bool_new:N\g_pbs_lscape_bool %if we are inside landscape env
+\AtBeginDocument{
+ \cs_if_exist:NT\landscape{%
+ \tl_put_right:Nn\landscape{\bool_gset_true:N\g_pbs_lscape_bool}
+ \tl_put_left:Nn\endlandscape{\bool_gset_false:N\g_pbs_lscape_bool}
+ }
+}
\keys_define:nn{pdfbase}{
xetex .bool_gset:N = \g_pbs_dvipdfmx_bool,
@@ -171,13 +233,40 @@
\ProcessKeysOptions{pdfbase}
\sys_if_engine_xetex:T{\bool_gset_true:N\g_pbs_dvipdfmx_bool}
-\cs_new:Nn\pbs_first_of_two:nn{#1} %helpers
-\cs_new:Nn\pbs_second_of_two:nn{#2}
+\cs_new_nopar:Nn\pbs_first_of_two:nn{#1} %helpers
+\cs_new_nopar:Nn\pbs_second_of_two:nn{#2}
+\cs_new_nopar:Nn\pbs_insert_properties_entry:{}
+\cs_new_nopar:Nn\pbs_delete_properties_entry:{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%commands for creating PDF objects, annots etc.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\sys_if_output_pdf:TF{
+ %in LuaTeX-0.95.0, pdfTeX primitives got new names
+ \bool_if:nT{
+ \sys_if_engine_luatex_p: && !\int_compare_p:n{\luatexversion<95}
+ }{
+ \cs_set_protected:Npn\pdfnames{\pdfextension~names~}
+ \cs_set_protected:Npn\pdfobj{\pdfextension~obj~}
+ \cs_set_protected:Npn\pdfrefobj{\pdfextension~refobj~}
+ \cs_set_protected:Npn\pdfannot{\pdfextension~annot~}
+ \cs_set_protected:Npn\pdfstartlink{\pdfextension~startlink~}
+ \cs_set_protected:Npn\pdfendlink{\pdfextension~endlink\relax}
+ \cs_set_protected:Npn\pdfliteral{\pdfextension~literal~}
+ \cs_set_protected:Npn\pdfcatalog{\pdfextension~catalog~}
+ \cs_set:Npn\pdflastlink{\numexpr\pdffeedback~lastlink\relax}
+ \cs_set:Npn\pdflastobj{\numexpr\pdffeedback~lastobj\relax}
+ \cs_set:Npn\pdflastannot{\numexpr\pdffeedback~lastannot\relax}
+ \cs_set:Npn\pdfpageref{\numexpr\pdffeedback~pageref\relax}
+ \cs_set:Npx\pdfpageresources{\pdfvariable~pageresources}
+ \cs_set_eq:NN\pdfximage\saveimageresource
+ \cs_set_eq:NN\pdfrefximage\useimageresource
+ \cs_set_eq:NN\pdflastximage\lastsavedimageresourceindex
+ \cs_set_eq:NN\pdflastximagepages\lastsavedimageresourcepages
+ \cs_set_eq:NN\pdfxform\saveboxresource
+ \cs_set_eq:NN\pdfrefxform\useboxresource
+ \cs_set_eq:NN\pdflastxform\lastsavedboxresourceindex
+ }
%helper func to remove `0 R' part from pdf obj reference
\cs_new_nopar:Nn\pbs_reftonum:n{\_pbs_reftonum:f{#1}}
\cs_new_nopar:Nn\_pbs_reftonum:n{\exp_after:wN\_pbs_reftonum:w#1}
@@ -205,23 +294,45 @@
}
\tl_gset:Nx\g_pbs_pdflastobj_tl{\the\pdflastobj\space 0~R}
}
-
\cs_new_nopar:Nn\pbs_pdfannot:nnnn{
- \immediate\pdfannot~width~#1~height~#2~depth~#3 {#4}
+ %dumb dummy Widget, workaround for AR bug;
+ %see https://forums.adobe.com/message/5787612#5787612
+ \str_if_eq_x:nnF{\cs_if_exist_use:N\ocgbase_insert_oc:}{}{
+ \immediate\pdfannot~width~3pt~height~3pt~depth~\c_zero_dim {
+ /Ff~65537/FT/Btn/Subtype/Widget
+ }
+ }
+ \immediate\pdfannot~width~#1~height~#2~depth~#3 {
+ \cs_if_exist_use:N\ocgbase_insert_oc:~#4}
\tl_gset:Nx\g_pbs_pdflastann_tl{\the\pdflastannot\space 0~R}
}
\cs_new:Nn\pbs_pdflink:nn{
- \immediate\pdfstartlink~user~{#1}#2\pdfendlink
- }
-
- \cs_new_nopar:Nn\pbs_pdfxform:nnn{ % #1 not used
+ %dumb dummy Widget, workaround for AR bug;
+ %see https://forums.adobe.com/message/5787612#5787612
+ \str_if_eq_x:nnF{\cs_if_exist_use:N\ocgbase_insert_oc:}{}{
+ \immediate\pdfannot~width~3pt~height~3pt~depth~\c_zero_dim {
+ /Ff~65537/FT/Btn/Subtype/Widget
+ }
+ }
+ \immediate\pdfstartlink~user~{
+ \cs_if_exist_use:N\ocgbase_insert_oc:~#1}#2\pdfendlink
+ }
+
+ \cs_new_nopar:Nn\pbs_pdfxform:nnnnn{ % #1 not used
+ %additional resources
+ \tl_set:Nx\l_tmpa_tl{\the\pdfpageresources~#3}\tl_trim_spaces:N\l_tmpa_tl
+ %additional dict entries
+ \tl_set:Nx\l_tmpb_tl{#4}
+ \tl_trim_spaces:N\l_tmpb_tl
\int_compare:nT{#2>\c_zero}{\immediate}
- \pdfxform~resources~{\the\pdfpageresources}~#3
+ \pdfxform~
+ \str_if_eq_x:nnF{\l_tmpb_tl}{}{attr~{\l_tmpb_tl}~}
+ \str_if_eq_x:nnF{\l_tmpa_tl}{}{resources~{\l_tmpa_tl}~}#5
\tl_gset:Nx\g_pbs_pdflastxform_tl{\the\pdflastxform\space 0~R}
}
- \cs_new:Nn\pbs_pdfrefxform:n{% #1: xform obj ID
+ \cs_new_nopar:Nn\pbs_pdfrefxform:n{% #1: xform obj ID
\hbox_overlap_right:n{\smash{\pdfrefxform\pbs_reftonum:n{#1}}}
}
@@ -264,30 +375,50 @@
\cs_new_nopar:Nn\pbs_pdfbdc:nn{
\pdfliteral~page~{#1/rm@oc\int_use:N\g_pbs_oc_int\space BDC}
- \tl_if_empty:NTF\g_pbs_ocmap_tl{
- \tl_gset:Nx\g_pbs_ocmap_tl{/rm@oc\int_use:N\g_pbs_oc_int\space#2}
+ %decide whether the current property is to be written to the page
+ %resources or to the xobject resources, depending on whether marked content
+ %is written to a page stream or to an xobject stream (for compatibility with
+ %`xsavebox' package)
+ \bool_if:nTF{
+ \cs_if_exist:NTF\xsb_count_props:{
+ \int_compare_p:n{\xsb_count_props:>\c_zero}
+ }{
+ \c_false_bool
+ }
}{
- \tl_gput_right:Nx\g_pbs_ocmap_tl{~/rm@oc\int_use:N\g_pbs_oc_int\space#2}
+ \xsb_addto_props:n{/rm@oc\int_use:N\g_pbs_oc_int\space#2}
+ }{
+ \iow_shipout_x:Nx\@mainaux{\token_to_str:N\pbs@seq@push@cx{
+ pbs@props@\exp_not:N\int_use:N\g_pbs_page_int
+ }{/rm@oc\int_use:N\g_pbs_oc_int\space#2}}
}
- \pbs_zap_properties:
- \group_begin:
- \tl_set:Nx\l_pbs_temp_tl{\group_end:
- \global\pdfpageresources{
- \the\pdfpageresources
- /Properties<<\g_pbs_ocmap_tl>>
- }
- }\l_pbs_temp_tl
\int_gincr:N\g_pbs_oc_int
}
- \tl_new:N\g_pbs_ocmap_tl
\cs_new_nopar:Nn\pbs_pdfemc:{\pdfliteral~page~{EMC}}
- %modify output routine to strip OCG properties from \pdfpageresources
- \AtBeginShipout{\tl_gclear:N\g_pbs_ocmap_tl}
- \tl_gset:Nx\g_pbs_output_tl{\the\output}
- \global\output{
- \g_pbs_output_tl \tl_if_blank:VT\g_pbs_ocmap_tl{\pbs_zap_properties:}
+ %inserts /Properties <<...>> entry into page resources
+ \cs_gset:Nn\pbs_insert_properties_entry:{
+ \pbs_zap_properties: %purge those from previous page
+ \tl_set:Nx\l_tmpa_tl{\seq_if_exist:cT{pbs@props@\int_use:N\g_pbs_page_int}{
+ \seq_use:cn{pbs@props@\int_use:N\g_pbs_page_int}{~}}}
+ \tl_trim_spaces:N\l_tmpa_tl
+ \str_if_eq_x:nnF{\l_tmpa_tl}{}{
+ \group_begin:
+ \tl_set:Nx\l_pbs_temp_tl{\group_end:
+ \global\pdfpageresources{
+ \the\pdfpageresources
+ /Properties<<\seq_if_exist:cT{pbs@props@\int_use:N\g_pbs_page_int}{
+ \seq_use:cn{pbs@props@\int_use:N\g_pbs_page_int}{~}
+ }>>
+ }
+ }\l_pbs_temp_tl
+ }
+ }
+
+ %deletes /Properties <<...>> from page resources
+ \cs_gset:Nn\pbs_delete_properties_entry:{
+ \pbs_zap_properties:
}
}{
%pgf + transparency related settings
@@ -322,47 +453,87 @@
}
\tl_gset_eq:NN\g_pbs_pdflastobj_tl\l_pbs_usenum_tl
}
-
\cs_new_nopar:Nn\pbs_pdfannot:nnnn{
- \special{pdf:ann~@pbs@obj\int_use:N\g_pbs_obj_int\space
- width~\dim_eval:n{#1}\space
- height~\dim_eval:n{#2}\space
- depth~\dim_eval:n{#3}~<<#4>>
+ \bool_if:NTF\g_pbs_lscape_bool{
+ %fix missing annotation rotation of (x)dvipdfmx on landscape pages
+ \box_move_up:nn{\dim_eval:n{#2}}{\vbox:n{
+ %dumb dummy Widget, workaround for AR bug;
+ %see https://forums.adobe.com/message/5787612#5787612
+ \str_if_eq_x:nnF{\cs_if_exist_use:N\ocgbase_insert_oc:}{}{
+ \special{pdf:ann~
+ width~3pt~height~3pt~depth~0pt~<>
+ }
+ }
+ \special{pdf:ann~@pbs@obj\int_use:N\g_pbs_obj_int\space
+ width~\dim_eval:n{#2+#3}\space
+ height~\dim_eval:n{#1}\space
+ depth~\dim_eval:n{\c_zero_dim}~<<
+ \cs_if_exist_use:N\ocgbase_insert_oc:~#4>>
+ }
+ }}
+ }{
+ %dumb dummy Widget, workaround for AR bug;
+ %see https://forums.adobe.com/message/5787612#5787612
+ \str_if_eq_x:nnF{\cs_if_exist_use:N\ocgbase_insert_oc:}{}{
+ \special{pdf:ann~
+ width~3pt~height~3pt~depth~0pt~<>
+ }
+ }
+ \special{pdf:ann~@pbs@obj\int_use:N\g_pbs_obj_int\space
+ width~\dim_eval:n{#1}\space
+ height~\dim_eval:n{#2}\space
+ depth~\dim_eval:n{#3}~<<\cs_if_exist_use:N\ocgbase_insert_oc:~#4>>
+ }
}
\tl_gset:Nx\g_pbs_pdflastann_tl{@pbs@obj\int_use:N\g_pbs_obj_int}
\int_gincr:N\g_pbs_obj_int
}
\cs_new:Nn\pbs_pdflink:nn{
- \special{pdf:bann~<<#1>>}#2\special{pdf:eann}
+ %dumb dummy Widget, workaround for AR bug;
+ %see https://forums.adobe.com/message/5787612#5787612
+ \str_if_eq_x:nnF{\cs_if_exist_use:N\ocgbase_insert_oc:}{}{
+ \special{pdf:ann~
+ width~3pt~height~3pt~depth~0pt~<>
+ }
+ }
+ \special{pdf:bann~<<\cs_if_exist_use:N\ocgbase_insert_oc:~#1>>}#2
+ \special{pdf:eann}
}
- \cs_new_nopar:Nn\pbs_pdfxform:nnn{ % #2 not used
+ \cs_new_nopar:Nn\pbs_pdfxform:nnnnn{ % #2 not used
\begin{picture}(0,0)
\put(0,0){
\special{pdf:bxobj~@pbs@obj\int_use:N\g_pbs_obj_int\space
- width\space \dim_use:N\box_wd:N#3\space
- height\space\dim_use:N\box_ht:N#3\space
- depth\space \dim_use:N\box_dp:N#3
+ width\space \dim_use:N\box_wd:N#5\space
+ height\space\dim_use:N\box_ht:N#5\space
+ depth\space \dim_use:N\box_dp:N#5
}
- \box_use:N#3
+ \box_use:N#5
+ \tl_clear:N\l_tmpa_tl{}
%transparency et al. for PGF
\bool_if:nT{\int_compare_p:n{#1>\c_zero} && \g_pbs_pgfloaded_bool}{
- \tl_set:Nn\l_pbs_temp_tl{}
\ifpgf@sys@pdf@extgs@exists
- \tl_set:Nn\l_pbs_temp_tl{/ExtGState~@pgfextgs}
+ \tl_set:Nn\l_tmpa_tl{/ExtGState~@pgfextgs}
\fi
\ifpgf@sys@pdf@patterns@exists
- \tl_put_right:Nn\l_pbs_temp_tl{/Pattern~@pgfpatterns}
+ \tl_put_right:Nn\l_tmpa_tl{/Pattern~@pgfpatterns}
\fi
\ifpgf@sys@pdf@colorspaces@exists
- \tl_put_right:Nn\l_pbs_temp_tl{/ColorSpace~@pgfcolorspaces}
+ \tl_put_right:Nn\l_tmpa_tl{/ColorSpace~@pgfcolorspaces}
\fi
- \tl_if_blank:VF\l_pbs_temp_tl{
- \special{pdf:put~@resources~<<\l_pbs_temp_tl>>}
- }
}
- \special{pdf:exobj}
+ %additional resources
+ \tl_put_right:Nx\l_tmpa_tl{~#3}\tl_trim_spaces:N\l_tmpa_tl
+ \str_if_eq_x:nnF{\l_tmpa_tl}{}{
+ \special{pdf:put~@resources~<<\l_tmpa_tl>>}
+ }
+ %additional dict entries
+ \tl_set:Nx\l_tmpa_tl{#4}
+ \tl_trim_spaces:N\l_tmpa_tl
+ \special{pdf:exobj %close form xobject
+ \str_if_eq_x:nnF{\l_tmpa_tl}{}{<<\l_tmpa_tl>>}
+ }
}
\end{picture}
\tl_gset:Nx\g_pbs_pdflastxform_tl{@pbs@obj\int_use:N\g_pbs_obj_int}
@@ -433,8 +604,8 @@
\bool_if:NT\g_pbs_pkgbigfiles_bool{
\special{psfile=\jobname.pbsdat}
- %open auxiliary file \jobname.pbsdat for writing hex encoded streams of the
- %files to be embedded. This file is inserted into PS during dvips run
+ %open auxiliary file \jobname.pbsdat for writing hex encoded streams of
+ %the files to be embedded. This file is inserted into PS during dvips run
\iow_new:N\g_pbs_mstreams_stream
\iow_open:Nn\g_pbs_mstreams_stream{\jobname.pbsdat}
\iow_now:Nn\g_pbs_mstreams_stream{
@@ -471,17 +642,17 @@
{stream}{/stream}
{fstream}{/stream}
}~
- /OBJ~pdfmark~
+ /OBJ~pdfmark
}
}
\str_case:nn{#2}{
- {dict}{\special{ps:~mark~\l_pbs_usenum_tl~<<#3>>/PUT~pdfmark~}}
+ {dict}{\special{ps:~mark~\l_pbs_usenum_tl~<<#3>>/PUT~pdfmark}}
{array}{
- \special{ps:~mark~\l_pbs_usenum_tl~0~[#3]/PUTINTERVAL~pdfmark~}
+ \special{ps:~mark~\l_pbs_usenum_tl~0~[#3]/PUTINTERVAL~pdfmark}
}
{stream}{\special{ps::[nobreak]
~mark~\l_pbs_usenum_tl~(\pbs_second_of_two:nn#3)/PUT~pdfmark~
- ~mark~\l_pbs_usenum_tl~<<\pbs_first_of_two:nn#3>>/PUT~pdfmark~
+ ~mark~\l_pbs_usenum_tl~<<\pbs_first_of_two:nn#3>>/PUT~pdfmark
}}
{fstream}{
\tl_set:Nn\l_pbs_offset_tl{0}
@@ -507,7 +678,7 @@
\pbs_second_of_two:nn#3
})~
/ASCIIHexDecode~filter~/PUT~
- pdfmark~
+ pdfmark
}
}
\tl_set:Nx\l_pbs_offset_tl{\int_eval:n{\l_pbs_offset_tl+32767}}
@@ -521,7 +692,7 @@
}{
\special{ps:~
mark~\l_pbs_usenum_tl~<<\pbs_first_of_two:nn#3>>~/PUT~pdfmark~
- mark~\l_pbs_usenum_tl~/CLOSE~pdfmark~
+ mark~\l_pbs_usenum_tl~/CLOSE~pdfmark
}
}
\message{>}
@@ -543,20 +714,39 @@
}
\end{picture}
\group_end:
- \special{ps:~
- mark~
- /_objdef~{pbs@obj\int_use:N\g_pbs_obj_int}
- /Rect~[pbs@llx~pbs@lly~pbs@urx~pbs@ury]
- #4
- /ANN~pdfmark~
+ %dumb dummy Widget, workaround for AR bug;
+ %see https://forums.adobe.com/message/5787612#5787612
+ \str_if_eq_x:nnF{\cs_if_exist_use:N\ocgbase_insert_oc:}{}{
+ \special{ps:~
+ mark~
+ /_objdef~{pbs@obj\int_use:N\g_pbs_obj_int}
+ /Rect~[pbs@llx~pbs@lly~pbs@urx~pbs@ury]
+ /Ff~65537/FT/Btn/Subtype/Widget
+ /ANN~pdfmark
+ }
+ \int_gincr:N\g_pbs_obj_int
+ }
+ %the actual annotation
+ \str_if_eq_x:nnF{#4}{}{
+ \special{ps:~
+ mark~
+ /_objdef~{pbs@obj\int_use:N\g_pbs_obj_int}
+ /Rect~[pbs@llx~pbs@lly~pbs@urx~pbs@ury]
+ \cs_if_exist_use:N\ocgbase_insert_oc:~#4
+ /ANN~pdfmark
+ }
+ \tl_gset:Nx\g_pbs_pdflastann_tl{{pbs@obj\int_use:N\g_pbs_obj_int}}
+ \int_gincr:N\g_pbs_obj_int
}
- \tl_gset:Nx\g_pbs_pdflastann_tl{{pbs@obj\int_use:N\g_pbs_obj_int}}
- \int_gincr:N\g_pbs_obj_int
}
\cs_new:Nn\pbs_pdflink:nn{
+ %dumb dummy Widget, workaround for AR bug;
+ %see https://forums.adobe.com/message/5787612#5787612
+ \pbs_pdfannot:nnnn{3pt}{3pt}{0pt}{}
\cs_if_exist:NTF\pdfmark{
- \pdfmark[#2]{pdfmark=/ANN,Raw={#1}}
+ \pdfmark[#2]{pdfmark=/ANN,Raw={
+ \cs_if_exist_use:N\ocgbase_insert_oc:~#1}}
}{
\hbox_set:Nn\l_tmpb_box{#2}
\pbs_pdfannot:nnnn{
@@ -575,67 +765,56 @@
output.
}
- \cs_new_nopar:Nn\pbs_pdfxform:nnn{ % #1 not used
- \bool_if:nT{
- \dim_compare_p:n{\box_wd:N#3>\paperwidth} ||
- \dim_compare_p:n{\box_ht:N#3+\box_dp:N#3>\paperheight}
+ \cs_new_nopar:Nn\pbs_pdfxform:nnnnn{ % #1, #3 not used (resources are
+ %managed by pdfmarks)
+ %rescale box to fit within the papersize while distilling
+ \tl_gset:cx{scale_{pbs@obj\int_use:N\g_pbs_obj_int}}{\fp_eval:n{min(1.0,
+ \dim_ratio:nn{\paperwidth}{\box_wd:N#5},
+ \dim_ratio:nn{\paperheight}{\box_ht:N#5+\box_dp:N#5}
+ )}}
+ \box_scale:Nnn#5{
+ \tl_use:c{scale_{pbs@obj\int_use:N\g_pbs_obj_int}}
}{
- \msg_warning:nn{pdfbase}{content~too~large}
+ \tl_use:c{scale_{pbs@obj\int_use:N\g_pbs_obj_int}}
}
- %mark bbox of box#3
\group_begin:
+ %mark bbox of box#5
\dim_set:Nn\unitlength{1pt}
\begin{picture}(0,0)
- %mark BBox of the graphics
- \put(0,-\dim_to_decimal:n{\box_dp:N#3}){
+ \put(0,-\dim_to_decimal:n{\box_dp:N#5}){
\special{ps:
- currentpoint~/pbs@lly~exch~def~/pbs@llx~exch~def~
+ currentpoint~/pbs@lly~exch~def~/pbs@llx~exch~def
}
}
\put(
- \dim_to_decimal:n{\box_wd:N#3},
- \dim_to_decimal:n{\box_ht:N#3}
+ \dim_to_decimal:n{\box_wd:N#5},
+ \dim_to_decimal:n{\box_ht:N#5}
){
\special{ps:
- currentpoint~/pbs@ury~exch~def~/pbs@urx~exch~def~
- }
- }
- %define some length values in current PS coordinate units
- \put(0,0){
- \special{ps:
- currentpoint~/origin@y~exch~def~/origin@x~exch~def~
- }
- }
- \dim_set:Nn\unitlength{1in}
- \put(1,1){
- \special{ps:
- currentpoint~origin@y~exch~sub~/one@inch@y~exch~def~
- origin@x~sub~/one@inch@x~exch~def~
+ currentpoint~/pbs@ury~exch~def~/pbs@urx~exch~def
}
}
\end{picture}
\group_end:
- \tl_gset:cx{origin:{pbs@obj\int_use:N\g_pbs_obj_int}}{
- origin@pbs@\int_use:N\g_pbs_obj_int
- }
\special{ps:~
gsave~
- %keep a record of lower left corner coordinates
- true~setglobal~globaldict~
- /origin@pbs@\int_use:N\g_pbs_obj_int~[currentpoint]~cvx~put~
- false~setglobal~
+ currentpoint~/pbs@cury~exch~def~/pbs@curx~exch~def~
%translate graphics to upper left page corner
- \bool_if:NF\g_pbs_powerdot_bool{
+ \bool_if:nF{\g_pbs_powerdot_bool||\g_pbs_lscape_bool}{
{
pbs@llx~neg~pbs@ury~neg~translate~
- one@inch@x~DVImag~div~neg~one@inch@y~DVImag~div~neg~translate
+ Resolution~neg~VResolution~neg~translate %one inch left, one inch up
}?pdfmark~
}
%distill graphics into XObject
- mark~
+ gsave~pbs@curx~pbs@cury~translate~ %move origin (0,0) to the current
+ mark~ %position
/_objdef~{pbs@obj\int_use:N\g_pbs_obj_int}
- /BBox~[pbs@llx~pbs@lly~pbs@urx~pbs@ury]
- /BP~pdfmark~
+ /BBox~[
+ pbs@llx~pbs@curx~sub~pbs@lly~pbs@cury~sub~
+ pbs@urx~pbs@curx~sub~pbs@ury~pbs@cury~sub
+ ]
+ /BP~pdfmark~grestore~
\int_compare:nT{#2>\c_zero}{
%operations needed if used as annotation appearance
{
@@ -657,40 +836,43 @@
}{%flip around horizontal axis in portrait mode
[1~0~0~-1~0~pbs@lly~pbs@ury~add]~concat
}ifelse
- }?pdfmark~
+ }?pdfmark
}
}
- \begin{picture}(0,0)\put(0,0){\box_use:N#3}\end{picture}
+ \begin{picture}(0,0)\put(0,0){\box_use:N#5}\end{picture}
\special{ps:~mark~/EP~pdfmark~grestore}
+ %additional dict entries
+ \tl_set:Nx\l_tmpa_tl{#4}
+ \tl_trim_spaces:N\l_tmpa_tl
+ \str_if_eq_x:nnF{\l_tmpa_tl}{}{
+ \special{ps:~mark~{pbs@obj\int_use:N\g_pbs_obj_int}~<<\l_tmpa_tl>>~
+ /PUT~pdfmark}
+ }
\tl_gset:Nx\g_pbs_pdflastxform_tl{{pbs@obj\int_use:N\g_pbs_obj_int}}
\int_gincr:N\g_pbs_obj_int
- \int_compare:nTF{#2>\c_zero}{
+ \int_compare:nT{#2>\c_zero}{
%Form XObjects for use as annotation appearances require that
- %dvips generated PostScript to be further precessed with ps2pdf
- %may not have the exaggerated dpi resolution resulting from dvips
+ %dvips generated PostScript to be further processed with ps2pdf
+ %must not have the exaggerated dpi resolution resulting from dvips
%option `-Ppdf'.
\tl_if_exist:NF\g_pbs_dpiwarned_tl{
\tl_new:N\g_pbs_dpiwarned_tl
- \AtEndDvi{\special{ps::[nobreak]\pbs_dpiwarning:}}
- }
- }{%Form XObject to be inserted using \SP pdfmark:
- %The /SP pdfmark for placement of Form XObjects works reliably only
- %since gs-9.14. As gs-9.14 had some other TeX-related issues, we
- %require 9.15.
- \tl_if_exist:NF\g_pbs_gsoldwarned_tl{
- \tl_new:N\g_pbs_gsoldwarned_tl
- \AtEndDvi{\special{ps::[nobreak]\pbs_gsoldwarning:}}
+ \pbs_at_end_dvi:n{\special{ps::[nobreak]\pbs_dpiwarning:}}
}
}
}
\cs_new_nopar:Nn\pbs_pdfrefxform:n{% #1: xform obj ID
+ %The /SP pdfmark for placement of Form XObjects works reliably only
+ %since gs-9.14. As gs-9.14 had some other TeX-related issues, we
+ %require 9.15.
+ \tl_if_exist:NF\g_pbs_gsoldwarned_tl{
+ \tl_new:N\g_pbs_gsoldwarned_tl
+ \pbs_at_end_dvi:n{\special{ps::[nobreak]\pbs_gsoldwarning:}}
+ }
\special{ps:~
- gsave~
- currentpoint~pop~\tl_use:c{origin:#1}~pop~sub~
- currentpoint~exch~pop~\tl_use:c{origin:#1}~exch~pop~sub~translate~
- mark~#1~/SP~pdfmark~
- grestore~
+ gsave~currentpoint~translate~1~\tl_use:c{scale_#1}~div~dup~scale~
+ mark~#1~/SP~pdfmark~grestore
}
}
@@ -702,13 +884,13 @@
||\str_if_eq_p:Vn\l_pbs_ext_tl{eps}
}{
\special{ps:~
- mark~/_objdef~{pbs@obj\int_use:N\g_pbs_obj_int}~/NI~pdfmark~
+ mark~/_objdef~{pbs@obj\int_use:N\g_pbs_obj_int}~/NI~pdfmark
}
\special{psfile=#1~hsize=0~vsize=0}
\special{ps:~
{
0~0~1~[1~0~0~1~0~0]~{}~image~%empty dummy, in case #1 is not
- }?pdfmark~ %a valid raster image file
+ }?pdfmark %a valid raster image file
}
\tl_gset:Nx\g_pbs_pdflastximage_tl{{pbs@obj\int_use:N\g_pbs_obj_int}}
\int_gincr:N\g_pbs_obj_int
@@ -729,7 +911,7 @@
\special{ps:~mark~#1~#2~/BDC~pdfmark}
\tl_if_exist:NF\g_pbs_gsoldwarned_tl{
\tl_new:N\g_pbs_gsoldwarned_tl
- \AtEndDvi{\special{ps::[nobreak]\pbs_gsoldwarning:}}
+ \pbs_at_end_dvi:n{\special{ps::[nobreak]\pbs_gsoldwarning:}}
}
}
\cs_new_nopar:Nn\pbs_pdfemc:{\special{ps:~mark~/EMC~pdfmark}}
@@ -744,7 +926,7 @@
%adding AcroForm dict to PDF Catalog
\tl_new:N\g_pbs_fields_tl %takes object IDs of Fields (aka annots with
\tl_if_exist:NF\g_pbs_acroFormAdded_tl{ % /Subtype/Widget)
- \AtEndDvi{
+ \pbs_at_end_dvi:n{
\tl_if_empty:NF\g_pbs_fields_tl{
\pbs_pdfobj:nnn{}{array}{\g_pbs_fields_tl}
\pbs_pdfcatalog:n{
@@ -757,6 +939,32 @@
\tl_gput_right:Nx\g_pbs_fields_tl{#1\space}
}
+%modify output routine for output box insertions
+\cs_set_eq:NN\pbs_outputpage_orig:\@outputpage
+\cs_set_nopar:Npn\@outputpage{
+ \int_gincr:N\g_pbs_page_int
+ \iow_now:Nx\@mainaux{
+ \token_to_str:N\pbs@newkey{pbs@last@page}{\int_use:N\g_pbs_page_int}
+ }
+ \hbox_set:Nn\@outputbox{
+ \seq_map_inline:Nn\g_pbs_bop_seq{\hbox_to_zero:n{##1\hss}}
+ \tl_set:Nx\l_pbs_box_wd_tl{\dim_use:N\box_wd:N\@outputbox}
+ \box_use_clear:N\@outputbox
+ \skip_horizontal:n{-\l_pbs_box_wd_tl}
+ \seq_map_inline:Nn\g_pbs_eop_seq{\hbox_to_zero:n{##1\hss}}
+ %at end of dvi
+ \int_compare:nT{\pbs@last@page=\g_pbs_page_int}{
+ \seq_map_inline:Nn\g_pbs_eod_seq{\hbox_to_zero:n{##1\hss}}
+ }
+ }
+ %insert /Properties into current page's resources
+ \pbs_insert_properties_entry:
+ \pbs_outputpage_orig:
+ %purge /Properties from current page's resources,
+ %because they aren't needed any longer
+ \pbs_delete_properties_entry:
+}
+
\group_begin:
\char_set_catcode_active:N\+\let+\space
\cs_new_nopar:Nx\pbs_gsoldwarning:{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/media9.tlpobj new/tlpkg/tlpobj/media9.tlpobj
--- old/tlpkg/tlpobj/media9.tlpobj 2016-04-14 19:25:36.000000000 +0200
+++ new/tlpkg/tlpobj/media9.tlpobj 2017-04-26 02:08:13.000000000 +0200
@@ -1,6 +1,6 @@
name media9
category Package
-revision 40124
+revision 44045
shortdesc Multimedia inclusion package with Adobe Reader-9/X compatibility
relocated 1
longdesc The package provides an interface to embed interactive Flash
@@ -13,7 +13,7 @@
longdesc compression. The package is based on the RichMedia Annotation,
longdesc an Adobe addition to the PDF specification. It replaces the now
longdesc obsolete movie15 package.
-runfiles size=497
+runfiles size=499
RELOC/tex/latex/media9/javascript/3Dmenu.js
RELOC/tex/latex/media9/javascript/3Dspintool.js
RELOC/tex/latex/media9/javascript/animation.js
@@ -27,7 +27,7 @@
RELOC/tex/latex/media9/players/VPlayer.swf
RELOC/tex/latex/media9/players/VPlayer9.swf
catalogue-ctan /macros/latex/contrib/media9
-catalogue-date 2016-03-22 13:28:35 +0100
+catalogue-date 2017-04-25 16:46:53 +0200
catalogue-license lppl1.3
catalogue-topics multimedia
-catalogue-version 0.68
+catalogue-version 0.79