Hello community,
here is the log from the commit of package texlive-specs-m for openSUSE:Factory checked in at 2020-05-29 21:18:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/texlive-specs-m (Old)
and /work/SRC/openSUSE:Factory/.texlive-specs-m.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texlive-specs-m"
Fri May 29 21:18:12 2020 rev:42 rq:806899 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/texlive-specs-m/texlive-specs-m.changes 2019-11-07 23:11:04.328174871 +0100
+++ /work/SRC/openSUSE:Factory/.texlive-specs-m.new.3606/texlive-specs-m.changes 2020-05-29 21:29:06.161172062 +0200
@@ -1,0 +2,60 @@
+Mon May 18 08:47:10 UTC 2020 - Dr. Werner Fink
+
+- Enhance spec file generator to find missing .so man page
+ links for better dependency resolution (bsc#1171682)
+
+-------------------------------------------------------------------
+Wed May 13 13:59:14 UTC 2020 - Dr. Werner Fink
+
+- Modify patch texdoc_cnf.dif to ignore tlpkg/texlive.tlpdb as
+ kpathsea uses the ls-R files as well
+
+-------------------------------------------------------------------
+Tue May 12 09:03:38 UTC 2020 - Dr. Werner Fink
+
+- Correct obsoletes for new packages
+
+-------------------------------------------------------------------
+Wed May 6 11:27:35 UTC 2020 - Dr. Werner Fink
+
+- Scan *.def files as well for RequirePackage
+
+-------------------------------------------------------------------
+Tue May 5 13:55:07 UTC 2020 - Dr. Werner Fink
+
+- Add Requires to tex(epstopdf-base.sty) to fix package split
+ of texlive-epstopdf
+
+-------------------------------------------------------------------
+Mon May 4 09:00:25 UTC 2020 - Dr. Werner Fink
+
+- Skip *-dev packages from file dependendcy scanner as otherwise
+ we see doubling name space for some style files like amsmath.sty
+
+-------------------------------------------------------------------
+Mon Apr 27 06:52:15 UTC 2020 - Dr. Werner Fink
+
+- Add patch pythontex_p2top3.dif and a removes file to fully
+ switch pythontex packages of TeXLive to python3
+
+-------------------------------------------------------------------
+Mon Apr 20 10:29:02 UTC 2020 - Dr. Werner Fink
+
+- Update to TeXLive 2020
+ * Port patches
+ kpathsea_cnf.dif
+ latexpand_perl.dif
+ luaotfload_varfonts.dif
+ luatex_cnf.dif
+ musixtex_various.dif
+ * Delete patches not needed anymore as files have moved
+ tetex_scripts.dif
+ * Delete patche updmap-map_roboto.dif as fixed upstream
+ * Add new patches to catch moved files
+ texlive-scripts-extra_scripts.dif
+ texlive-scripts_scripts.dif
+ * Add new patch xetex_conf.dif to fit FHS location
+ * Remove TeXLive installer files breaking rpm database
+ texlive-scripts.removes
+
+-------------------------------------------------------------------
New:
----
is-bst.doc.tar.xz
is-bst.tar.xz
jbact.tar.xz
jmb.tar.xz
kblocks.doc.tar.xz
kblocks.tar.xz
kvdefinekeys.doc.tar.xz
kvdefinekeys.tar.xz
kvoptions.doc.tar.xz
kvoptions.tar.xz
kvsetkeys.doc.tar.xz
kvsetkeys.tar.xz
l3backend.doc.tar.xz
l3backend.tar.xz
labels4easylist.doc.tar.xz
labels4easylist.tar.xz
langsci-avm.doc.tar.xz
langsci-avm.tar.xz
latex-amsmath-dev.doc.tar.xz
latex-amsmath-dev.tar.xz
latex-base-dev.doc.tar.xz
latex-base-dev.tar.xz
latex-bin-dev.doc.tar.xz
latex-graphics-dev.doc.tar.xz
latex-graphics-dev.tar.xz
latex-tools-dev.doc.tar.xz
latex-tools-dev.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texlive-specs-m.spec ++++++
++++ 14848 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/texlive-specs-m/texlive-specs-m.spec
++++ and /work/SRC/openSUSE:Factory/.texlive-specs-m.new.3606/texlive-specs-m.spec
++++++ ipaex.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/ipaex/README new/doc/fonts/ipaex/README
--- old/doc/fonts/ipaex/README 2016-10-08 00:23:28.000000000 +0200
+++ new/doc/fonts/ipaex/README 2019-09-06 00:24:58.000000000 +0200
@@ -1,3 +1,7 @@
+README for IPA and IPAex font bundle
+====================================
+Version: 2019-09-05
+
These are both the IPA and IPAex fonts as provided at
http://ipafont.ipa.go.jp/
The license of the fonts can be found in the accompanying file
@@ -12,9 +16,10 @@
norbert@preining.info
Norbert Preining
-2016-10-07
+2019-09-05
Changes:
+2019-09-05 IPAex 4.01
2016-10-07 IPAex 3.01
2014-11-14 IPAex 2.01, IPA 3.03
inclusion of IPAPGothic (ipagp.ttf) IPAPMincho (ipamp.ttf)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/ipaex/Readme_IPAexfont00301.txt new/doc/fonts/ipaex/Readme_IPAexfont00301.txt
--- old/doc/fonts/ipaex/Readme_IPAexfont00301.txt 2016-10-08 00:23:28.000000000 +0200
+++ new/doc/fonts/ipaex/Readme_IPAexfont00301.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-IPAexフォント
-— はじめにお読みください —
-
-IPAexフォントは、JIS X 0213:2004に準拠したTrueTypeアウトラインベースのOpenTypeフォントです。
-
-IPAexフォントの使用または利用に当たっては、添付の「IPAフォントライセンスv1.0」に定める条件に従ってください。
-IPAexフォントを使用し、複製し、または頒布する行為、その他、「IPAフォントライセンスv1.0」に定める権利の利用を行った場合、受領者は「IPAフォントライセンスv1.0」に同意したものと見なします。
-
-
-IPAexフォント2書体パック(IPAexゴシック、IPAex明朝) IPAexfont00301.zip
-|--はじめにお読みください Readme_IPAexfont00301.txt
-|--IPAフォントライセンスv1.0 IPA_Font_License_Agreement_v1.0.txt
-|--IPAexゴシック(Ver.003.01) ipaexg.ttf
-|--IPAex明朝(Ver.003.01) ipaexm.ttf
-
-
-「IPAフォント」は、IPAの登録商標です。
-
-=========================
-IPAex Font
--- Readme --
-
-IPAex Fonts are JIS X 0213:2004 compliant OpenType fonts based on TrueType outlines.
-
-In using IPAex fonts, please comply with the terms and conditions set out in "IPA Font License Agreement v1.0" included in this package.
-Any use, reproduction or distribution of the IPA Font or any exercise of rights under "IPA Font License Agreement v1.0" by a Recipient constitutes the Recipient's acceptance of the License Agreement.
-
-
-IPAex Fonts 2 fonts package (IPAex Gothic、IPAex Mincho) IPAexfont00301.zip
-|--Readme Readme_IPAexfont00301.txt
-|--IPA Font License Agreement v1.0 IPA_Font_License_Agreement_v1.0.txt
-|--IPAexGothic(Ver.003.01) ipaexg.ttf
-|--IPAexMincho(Ver.003.01) ipaexm.ttf
-
-
-"IPA Font" is a registered trademark of IPA in Japan.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/ipaex/Readme_IPAexfont00401.txt new/doc/fonts/ipaex/Readme_IPAexfont00401.txt
--- old/doc/fonts/ipaex/Readme_IPAexfont00401.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/ipaex/Readme_IPAexfont00401.txt 2019-09-06 00:24:58.000000000 +0200
@@ -0,0 +1,36 @@
+IPAexフォント
+― はじめにお読みください ―
+
+IPAexフォントは、JIS X 0213:2012に準拠したTrueTypeアウトラインベースのOpenTypeフォントです。
+
+IPAexフォントの使用または利用に当たっては、添付の「IPAフォントライセンスv1.0」に定める条件に従ってください。
+IPAexフォントを使用し、複製し、または頒布する行為、その他、「IPAフォントライセンスv1.0」に定める権利の利用を行った場合、受領者は「IPAフォントライセンスv1.0」に同意したものと見なします。
+
+
+IPAexフォント2書体パック(IPAexゴシック、IPAex明朝) IPAexfont00401.zip
+|--はじめにお読みください Readme_IPAexfont00401.txt
+|--IPAフォントライセンスv1.0 IPA_Font_License_Agreement_v1.0.txt
+|--IPAexゴシック(Ver.004.01) ipaexg.ttf
+|--IPAex明朝(Ver.004.01) ipaexm.ttf
+
+
+「IPAフォント」は、IPAの登録商標です。
+
+=========================
+IPAex Font
+-- Readme --
+
+IPAex Fonts are JIS X 0213:2012 compliant OpenType fonts based on TrueType outlines.
+
+In using IPAex fonts, please comply with the terms and conditions set out in "IPA Font License Agreement v1.0" included in this package.
+Any use, reproduction or distribution of the IPA Font or any exercise of rights under "IPA Font License Agreement v1.0" by a Recipient constitutes the Recipient's acceptance of the License Agreement.
+
+
+IPAex Fonts 2 fonts package (IPAex Gothic、IPAex Mincho) IPAexfont00401.zip
+|--Readme Readme_IPAexfont00401.txt
+|--IPA Font License Agreement v1.0 IPA_Font_License_Agreement_v1.0.txt
+|--IPAexGothic(Ver.004.01) ipaexg.ttf
+|--IPAexMincho(Ver.004.01) ipaexm.ttf
+
+
+"IPA Font" is a registered trademark of IPA in Japan.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ipaex.doc.tlpobj new/tlpkg/tlpobj/ipaex.doc.tlpobj
--- old/tlpkg/tlpobj/ipaex.doc.tlpobj 2019-02-28 03:43:08.000000000 +0100
+++ new/tlpkg/tlpobj/ipaex.doc.tlpobj 2019-09-06 01:53:57.000000000 +0200
@@ -1,10 +1,10 @@
name ipaex.doc
category Package
-revision 45751
+revision 52032
shortdesc doc files of ipaex
relocated 1
docfiles size=8
RELOC/doc/fonts/ipaex/IPA_Font_License_Agreement_v1.0.txt
RELOC/doc/fonts/ipaex/README
- RELOC/doc/fonts/ipaex/Readme_IPAexfont00301.txt
+ RELOC/doc/fonts/ipaex/Readme_IPAexfont00401.txt
RELOC/doc/fonts/ipaex/Readme_IPAfont00303.txt
++++++ ipaex.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-m/ipaex.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-m.new.3606/ipaex.tar.xz differ: char 25, line 1
++++++ jadetex.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jadetex.doc.tlpobj new/tlpkg/tlpobj/jadetex.doc.tlpobj
--- old/tlpkg/tlpobj/jadetex.doc.tlpobj 2019-02-28 03:43:52.000000000 +0100
+++ new/tlpkg/tlpobj/jadetex.doc.tlpobj 2020-03-10 23:59:50.000000000 +0100
@@ -1,6 +1,6 @@
name jadetex.doc
category Package
-revision 48634
+revision 54227
shortdesc doc files of jadetex
docfiles size=34
texmf-dist/doc/man/man1/jadetex.1
++++++ jadetex.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jadetex.tlpobj new/tlpkg/tlpobj/jadetex.tlpobj
--- old/tlpkg/tlpobj/jadetex.tlpobj 2019-02-28 03:43:53.000000000 +0100
+++ new/tlpkg/tlpobj/jadetex.tlpobj 2020-03-10 23:59:50.000000000 +0100
@@ -1,6 +1,6 @@
name jadetex
category Package
-revision 48634
+revision 54227
shortdesc Macros supporting Jade DSSSL output
longdesc Macro package on top of LaTeX to typeset TeX output of the Jade
longdesc DSSSL implementation.
@@ -9,36 +9,56 @@
depend pdftex
depend tex
depend amsfonts
+depend atbegshi
+depend atveryend
+depend auxhook
depend babel
+depend bigintcalc
+depend bitset
depend cm
depend colortbl
depend cyrillic
depend dehyph
depend ec
+depend etexcmds
depend fancyhdr
depend graphics
depend graphics-cfg
depend graphics-def
+depend hycolor
depend hyperref
+depend hyph-utf8
depend hyphen-base
-depend ifxetex
+depend iftex
+depend infwarerr
+depend intcalc
+depend kvdefinekeys
+depend kvoptions
+depend kvsetkeys
+depend l3kernel
depend latex-fonts
depend latexconfig
+depend letltxmacro
+depend ltxcmds
depend marvosym
-depend oberdiek
+depend pdfescape
+depend pdftexcmds
depend psnfss
+depend rerunfilecheck
depend stmaryrd
depend symbol
depend tex-ini-files
depend tipa
depend tools
depend ulem
+depend uniquecounter
+depend unicode-data
depend url
depend wasysym
depend zapfding
depend jadetex.ARCH
-execute AddFormat name=jadetex engine=pdftex patterns=language.dat options="*jadetex.ini" fmttriggers=amsfonts,babel,cm,colortbl,cyrillic,dehyph,ec,fancyhdr,graphics,graphics-cfg,graphics-def,hyperref,hyphen-base,ifxetex,latex,latex-fonts,latexconfig,marvosym,oberdiek,passivetex,psnfss,stmaryrd,symbol,tex-ini-files,tipa,tools,ulem,url,wasysym,zapfding
-execute AddFormat name=pdfjadetex engine=pdftex patterns=language.dat options="*pdfjadetex.ini" fmttriggers=amsfonts,babel,cm,colortbl,cyrillic,dehyph,ec,fancyhdr,graphics,graphics-cfg,graphics-def,hyperref,hyphen-base,ifxetex,latex,latex-fonts,latexconfig,marvosym,oberdiek,passivetex,psnfss,stmaryrd,symbol,tex-ini-files,tipa,tools,ulem,url,wasysym,zapfding
+execute AddFormat name=jadetex engine=pdftex patterns=language.dat options="*jadetex.ini" fmttriggers=amsfonts,atbegshi,atveryend,auxhook,babel,bigintcalc,bitset,cm,colortbl,cyrillic,dehyph,ec,etexcmds,fancyhdr,graphics,graphics-cfg,graphics-def,hycolor,hyperref,hyph-utf8,hyphen-base,iftex,infwarerr,intcalc,kvdefinekeys,kvoptions,kvsetkeys,l3kernel,latex,latex-fonts,latexconfig,letltxmacro,ltxcmds,marvosym,passivetex,pdfescape,pdftexcmds,psnfss,rerunfilecheck,stmaryrd,symbol,tex-ini-files,tipa,tools,ulem,uniquecounter,unicode-data,url,wasysym,zapfding
+execute AddFormat name=pdfjadetex engine=pdftex patterns=language.dat options="*pdfjadetex.ini" fmttriggers=amsfonts,atbegshi,atveryend,auxhook,babel,bigintcalc,bitset,cm,colortbl,cyrillic,dehyph,ec,etexcmds,fancyhdr,graphics,graphics-cfg,graphics-def,hycolor,hyperref,hyph-utf8,hyphen-base,iftex,infwarerr,intcalc,kvdefinekeys,kvoptions,kvsetkeys,l3kernel,latex,latex-fonts,latexconfig,letltxmacro,ltxcmds,marvosym,passivetex,pdfescape,pdftexcmds,psnfss,rerunfilecheck,stmaryrd,symbol,tex-ini-files,tipa,tools,ulem,uniquecounter,unicode-data,url,wasysym,zapfding
runfiles size=60
texmf-dist/tex/jadetex/base/dsssl.def
texmf-dist/tex/jadetex/base/jadetex.ini
@@ -48,7 +68,6 @@
texmf-dist/tex/jadetex/base/ut1omlgc.fd
catalogue-contact-repository http://jadetex.sourceforge.net/
catalogue-ctan /macros/jadetex
-catalogue-date 2017-04-18 05:31:40 +0200
catalogue-license other-free
catalogue-topics foreign-import
catalogue-version 3.13
++++++ japanese-otf-uptex.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/japanese-otf-uptex/00otf-uptex.txt new/doc/fonts/japanese-otf-uptex/00otf-uptex.txt
--- old/doc/fonts/japanese-otf-uptex/00otf-uptex.txt 2019-04-02 23:04:45.000000000 +0200
+++ new/doc/fonts/japanese-otf-uptex/00otf-uptex.txt 2020-03-04 00:03:50.000000000 +0100
@@ -1,5 +1,5 @@
[ Title ]
-japanese-otf-uptex Ver.0.23 2019/04/01
+japanese-otf-uptex Ver.0.25 2020/02/28
[ Abstract ]
@@ -34,7 +34,7 @@
script/umkpkana.pl : perl script making pl, ovp for proportional kana
script/umkvpkana.pl : perl script making pl, ovp for proportional kana
-sty/otf.sty : basic style file
+sty/otf.sty : basic style file
sty/mlutf.sty : style file for multi option
test/uplatex/* : test samples.
@@ -382,3 +382,18 @@
Added.
COPYRIGHT ::
Update year.
+2019.09.07 Ver0.24
+ ## Thank @aminophen san.
+ sty/otf.sty, sty/mlutf.sty ::
+ Increment version number.
+ script/CheckDVICode.pm ::
+ Make half width U+00B7 in VFs.
+2020.02.28 Ver0.25
+ sty/otf.sty, sty/mlutf.sty ::
+ Increment version number.
+ script/CheckDVICode.pm, script/sp_list_j.txt,
+ test/uplatex/sp_jp_{utf,text}.tex ::
+ Update references:
+ Adobe-Japan1-7 cid2code.txt (Version 07/30/2019).
+ COPYRIGHT ::
+ Update year.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/japanese-otf-uptex/COPYRIGHT new/doc/fonts/japanese-otf-uptex/COPYRIGHT
--- old/doc/fonts/japanese-otf-uptex/COPYRIGHT 2019-04-02 23:04:45.000000000 +0200
+++ new/doc/fonts/japanese-otf-uptex/COPYRIGHT 2020-03-04 00:03:50.000000000 +0100
@@ -1,5 +1,5 @@
Copyright (C) 2003--2019 SAITO Shuzaburo and INOUE Koichi
-Copyright (C) 2007--2019 TANAKA Takuji
+Copyright (C) 2007--2020 TANAKA Takuji
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/japanese-otf-uptex/README new/doc/fonts/japanese-otf-uptex/README
--- old/doc/fonts/japanese-otf-uptex/README 2019-04-02 23:04:45.000000000 +0200
+++ new/doc/fonts/japanese-otf-uptex/README 2020-03-04 00:03:50.000000000 +0100
@@ -3,7 +3,7 @@
From 00otf-uptex.txt:
[ Title ]
-japanese-otf-uptex Ver.0.23 2019/04/01
+japanese-otf-uptex Ver.0.25 2020/02/28
[ Abstract ]
@@ -22,11 +22,11 @@
The original source has been downloaded from
https://github.com/t-tk/japanese-otf-uptex
as
- https://github.com/t-tk/japanese-otf-uptex/releases/tag/v0.23
+ https://github.com/t-tk/japanese-otf-uptex/releases/tag/v0.25
After that the scripts run and the generated tfm and vf files included.
Norbert Preining
TANAKA Takuji
-2019-04-02
+2020-02-29
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/japanese-otf-uptex/test/uplatex/sp_jp_text.tex new/doc/fonts/japanese-otf-uptex/test/uplatex/sp_jp_text.tex
--- old/doc/fonts/japanese-otf-uptex/test/uplatex/sp_jp_text.tex 2019-04-02 23:04:45.000000000 +0200
+++ new/doc/fonts/japanese-otf-uptex/test/uplatex/sp_jp_text.tex 2020-03-04 00:03:50.000000000 +0100
@@ -1,6 +1,6 @@
%
% This file is generated from the data of UniJIS-UTF32
-% in cid2code.txt (Version 02/05/2019)
+% in cid2code.txt (Version 07/30/2019)
% for Adobe-Japan1-7
%
% Reference:
@@ -26,15 +26,15 @@
🅂🅃🅄🅅🅆🅇🅈🅉🈂🈷
🅰🅱🅲🅳🅴🅵🅶🅷🅸🅹
🅺🅻🅼🅽🅾🅿🆀🆁🆂🆃
-🆄🆅🆆🆇🆈🆉眞𠤎𦥑𫟘
-沿芽槪割𦈢𠮷𩵋卿𫞎憲
-𠩤浩𫝆𫝷滋𠮟勺爵周将
-𭕄𠀋城𩙿真𠆢𮕩𫝑成𧾷
-𣳾炭𥫗彫潮𡈽冬𤴔姬𫞉
-諭輸𥙿𦚰𠘨𠂊𠦄卉寃拔
-𦦙𣏌杞𪧦𫞽絣𮉸𠔿𦉪𠂰
-𮛪𨦇𨸗𫠚𤋮桒𣲾𠘑嶲你
-𣘺𣏾𢘉
+🆄🆅🆆🆇🆈🆉🞜眞𠤎𦥑
+𫟘沿芽槪割𦈢𠮷𩵋卿𫞎
+憲𠩤浩𫝆𫝷滋𠮟勺爵周
+将𭕄𠀋城𩙿真𠆢𮕩𫝑成
+𧾷𣳾炭𥫗彫潮𡈽冬𤴔姬
+𫞉諭輸𥙿𦚰𠘨𠂊𠦄卉寃
+拔𦦙𣏌杞𪧦𫞽絣𮉸𠔿𦉪
+𠂰𮛪𨦇𨸗𫠚𤋮桒𣲾𠘑嶲
+你𣘺𣏾𢘉
Adobe-Japan1-5\\
𡌛𡑮𡢽𡚴𡸴𣇄𣗄𣜿𣝣𤟱
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/japanese-otf-uptex/test/uplatex/sp_jp_utf.tex new/doc/fonts/japanese-otf-uptex/test/uplatex/sp_jp_utf.tex
--- old/doc/fonts/japanese-otf-uptex/test/uplatex/sp_jp_utf.tex 2019-04-02 23:04:45.000000000 +0200
+++ new/doc/fonts/japanese-otf-uptex/test/uplatex/sp_jp_utf.tex 2020-03-04 00:03:50.000000000 +0100
@@ -1,6 +1,6 @@
%
% This file is generated from the data of UniJIS-UTF32
-% in cid2code.txt (Version 02/05/2019)
+% in cid2code.txt (Version 07/30/2019)
% for Adobe-Japan1-7
%
% Reference:
@@ -26,15 +26,15 @@
\UTF{1F142}\UTF{1F143}\UTF{1F144}\UTF{1F145}\UTF{1F146}\UTF{1F147}\UTF{1F148}\UTF{1F149}\UTF{1F202}\UTF{1F237}%
\UTF{1F170}\UTF{1F171}\UTF{1F172}\UTF{1F173}\UTF{1F174}\UTF{1F175}\UTF{1F176}\UTF{1F177}\UTF{1F178}\UTF{1F179}%
\UTF{1F17A}\UTF{1F17B}\UTF{1F17C}\UTF{1F17D}\UTF{1F17E}\UTF{1F17F}\UTF{1F180}\UTF{1F181}\UTF{1F182}\UTF{1F183}%
-\UTF{1F184}\UTF{1F185}\UTF{1F186}\UTF{1F187}\UTF{1F188}\UTF{1F189}\UTF{2F945}\UTF{2090E}\UTF{26951}\UTF{2B7D8}%
-\UTF{2F8FC}\UTF{2F995}\UTF{2F8EA}\UTF{2F822}\UTF{26222}\UTF{20BB7}\UTF{29D4B}\UTF{2F833}\UTF{2B78E}\UTF{2F8AC}%
-\UTF{20A64}\UTF{2F903}\UTF{2B746}\UTF{2B777}\UTF{2F90B}\UTF{20B9F}\UTF{2F828}\UTF{2F921}\UTF{2F83F}\UTF{2F873}%
-\UTF{2D544}\UTF{2000B}\UTF{2F852}\UTF{2967F}\UTF{2F947}\UTF{201A2}\UTF{2E569}\UTF{2B751}\UTF{2F8B2}\UTF{27FB7}%
-\UTF{23CFE}\UTF{2F91A}\UTF{25AD7}\UTF{2F89A}\UTF{2F90F}\UTF{2123D}\UTF{2F81A}\UTF{24D14}\UTF{2F862}\UTF{2B789}%
-\UTF{2F9D0}\UTF{2F9DF}\UTF{2567F}\UTF{266B0}\UTF{20628}\UTF{2008A}\UTF{20984}\UTF{2F82C}\UTF{2F86D}\UTF{2F8B6}%
-\UTF{26999}\UTF{233CC}\UTF{2F8DB}\UTF{2A9E6}\UTF{2B7BD}\UTF{2F96C}\UTF{2E278}\UTF{2053F}\UTF{2626A}\UTF{200B0}%
-\UTF{2E6EA}\UTF{28987}\UTF{28E17}\UTF{2B81A}\UTF{242EE}\UTF{2F8E1}\UTF{23CBE}\UTF{20611}\UTF{2F9F4}\UTF{2F804}%
-\UTF{2363A}\UTF{233FE}\UTF{22609}
+\UTF{1F184}\UTF{1F185}\UTF{1F186}\UTF{1F187}\UTF{1F188}\UTF{1F189}\UTF{1F79C}\UTF{2F945}\UTF{2090E}\UTF{26951}%
+\UTF{2B7D8}\UTF{2F8FC}\UTF{2F995}\UTF{2F8EA}\UTF{2F822}\UTF{26222}\UTF{20BB7}\UTF{29D4B}\UTF{2F833}\UTF{2B78E}%
+\UTF{2F8AC}\UTF{20A64}\UTF{2F903}\UTF{2B746}\UTF{2B777}\UTF{2F90B}\UTF{20B9F}\UTF{2F828}\UTF{2F921}\UTF{2F83F}%
+\UTF{2F873}\UTF{2D544}\UTF{2000B}\UTF{2F852}\UTF{2967F}\UTF{2F947}\UTF{201A2}\UTF{2E569}\UTF{2B751}\UTF{2F8B2}%
+\UTF{27FB7}\UTF{23CFE}\UTF{2F91A}\UTF{25AD7}\UTF{2F89A}\UTF{2F90F}\UTF{2123D}\UTF{2F81A}\UTF{24D14}\UTF{2F862}%
+\UTF{2B789}\UTF{2F9D0}\UTF{2F9DF}\UTF{2567F}\UTF{266B0}\UTF{20628}\UTF{2008A}\UTF{20984}\UTF{2F82C}\UTF{2F86D}%
+\UTF{2F8B6}\UTF{26999}\UTF{233CC}\UTF{2F8DB}\UTF{2A9E6}\UTF{2B7BD}\UTF{2F96C}\UTF{2E278}\UTF{2053F}\UTF{2626A}%
+\UTF{200B0}\UTF{2E6EA}\UTF{28987}\UTF{28E17}\UTF{2B81A}\UTF{242EE}\UTF{2F8E1}\UTF{23CBE}\UTF{20611}\UTF{2F9F4}%
+\UTF{2F804}\UTF{2363A}\UTF{233FE}\UTF{22609}
Adobe-Japan1-5\\
\UTF{2131B}\UTF{2146E}\UTF{218BD}\UTF{216B4}\UTF{21E34}\UTF{231C4}\UTF{235C4}\UTF{2373F}\UTF{23763}\UTF{247F1}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/japanese-otf-uptex.doc.tlpobj new/tlpkg/tlpobj/japanese-otf-uptex.doc.tlpobj
--- old/tlpkg/tlpobj/japanese-otf-uptex.doc.tlpobj 2019-04-03 01:24:55.000000000 +0200
+++ new/tlpkg/tlpobj/japanese-otf-uptex.doc.tlpobj 2020-03-04 23:51:11.000000000 +0100
@@ -1,6 +1,6 @@
name japanese-otf-uptex.doc
category Package
-revision 50707
+revision 54080
shortdesc doc files of japanese-otf-uptex
relocated 1
docfiles size=40
++++++ japanese-otf-uptex.tar.xz ++++++
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothbn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothbn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothbn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothbn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgotheb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgotheb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgotheb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgotheb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothebn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothebn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothebn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothebn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpgothrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpmgothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpmgothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpmgothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpmgothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpmgothrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpmgothrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpmgothrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpmgothrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminbn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminbn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminbn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminbn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminl-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminl-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminl-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminl-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminln-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminln-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminln-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminln-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgexpminrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgexpminrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothbn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothbn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothbn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothbn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgotheb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgotheb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgotheb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgotheb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothebn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothebn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothebn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothebn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlgothrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlmgothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlmgothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlmgothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlmgothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlmgothrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlmgothrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlmgothrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlmgothrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminbn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminbn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminbn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminbn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminl-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminl-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminl-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminl-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminln-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminln-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminln-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminln-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upbrsgnmlminrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothbn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothbn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothbn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothbn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgotheb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgotheb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgotheb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgotheb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothebn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothebn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothebn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothebn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpgothrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpgothrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpmgothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpmgothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpmgothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpmgothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpmgothrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpmgothrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpmgothrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpmgothrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminbn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminbn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminbn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminbn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminl-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminl-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminl-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminl-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminln-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminln-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminln-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminln-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upexpminrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upexpminrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothbn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothbn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothbn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothbn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgotheb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgotheb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgotheb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgotheb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothebn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothebn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothebn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothebn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlgothrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlgothrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlmgothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlmgothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlmgothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlmgothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlmgothrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlmgothrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlmgothrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlmgothrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminb-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminb-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminbn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminbn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminbn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminbn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminl-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminl-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminl-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminl-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminln-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminln-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminln-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminln-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminr-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminr-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminrn-h.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminrn-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/upnmlminrn-v.vf and new/fonts/vf/public/japanese-otf-uptex/upnmlminrn-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubygothb-h.vf and new/fonts/vf/public/japanese-otf-uptex/uprubygothb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubygothb-v.vf and new/fonts/vf/public/japanese-otf-uptex/uprubygothb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubygotheb-h.vf and new/fonts/vf/public/japanese-otf-uptex/uprubygotheb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubygotheb-v.vf and new/fonts/vf/public/japanese-otf-uptex/uprubygotheb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubygothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/uprubygothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubygothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/uprubygothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubymgothr-h.vf and new/fonts/vf/public/japanese-otf-uptex/uprubymgothr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubymgothr-v.vf and new/fonts/vf/public/japanese-otf-uptex/uprubymgothr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubyminb-h.vf and new/fonts/vf/public/japanese-otf-uptex/uprubyminb-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubyminb-v.vf and new/fonts/vf/public/japanese-otf-uptex/uprubyminb-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubyminl-h.vf and new/fonts/vf/public/japanese-otf-uptex/uprubyminl-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubyminl-v.vf and new/fonts/vf/public/japanese-otf-uptex/uprubyminl-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubyminr-h.vf and new/fonts/vf/public/japanese-otf-uptex/uprubyminr-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/uprubyminr-v.vf and new/fonts/vf/public/japanese-otf-uptex/uprubyminr-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfgrj-h.vf and new/fonts/vf/public/japanese-otf-uptex/utfgrj-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfgrj-v.vf and new/fonts/vf/public/japanese-otf-uptex/utfgrj-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjgbj-h.vf and new/fonts/vf/public/japanese-otf-uptex/utfjgbj-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjgbj-v.vf and new/fonts/vf/public/japanese-otf-uptex/utfjgbj-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjgej-h.vf and new/fonts/vf/public/japanese-otf-uptex/utfjgej-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjgej-v.vf and new/fonts/vf/public/japanese-otf-uptex/utfjgej-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjgrj-h.vf and new/fonts/vf/public/japanese-otf-uptex/utfjgrj-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjgrj-v.vf and new/fonts/vf/public/japanese-otf-uptex/utfjgrj-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjmbj-h.vf and new/fonts/vf/public/japanese-otf-uptex/utfjmbj-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjmbj-v.vf and new/fonts/vf/public/japanese-otf-uptex/utfjmbj-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjmgrj-h.vf and new/fonts/vf/public/japanese-otf-uptex/utfjmgrj-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjmgrj-v.vf and new/fonts/vf/public/japanese-otf-uptex/utfjmgrj-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjmlj-h.vf and new/fonts/vf/public/japanese-otf-uptex/utfjmlj-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjmlj-v.vf and new/fonts/vf/public/japanese-otf-uptex/utfjmlj-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjmrj-h.vf and new/fonts/vf/public/japanese-otf-uptex/utfjmrj-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfjmrj-v.vf and new/fonts/vf/public/japanese-otf-uptex/utfjmrj-v.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfmrj-h.vf and new/fonts/vf/public/japanese-otf-uptex/utfmrj-h.vf differ
Binary files old/fonts/vf/public/japanese-otf-uptex/utfmrj-v.vf and new/fonts/vf/public/japanese-otf-uptex/utfmrj-v.vf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/japanese-otf-uptex/mlutf.sty new/tex/platex/japanese-otf-uptex/mlutf.sty
--- old/tex/platex/japanese-otf-uptex/mlutf.sty 2019-04-02 23:04:45.000000000 +0200
+++ new/tex/platex/japanese-otf-uptex/mlutf.sty 2020-03-04 00:03:50.000000000 +0100
@@ -1,5 +1,5 @@
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{mlutf}[2004/04/17 v1.1.2 psitau, u0.23 ttk]
+\ProvidesPackage{mlutf}[2004/04/17 v1.1.2 psitau, u0.25 ttk]
%force catcode of \" be 12
\count@\catcode`\"
\catcode`\"=12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/japanese-otf-uptex/otf.sty new/tex/platex/japanese-otf-uptex/otf.sty
--- old/tex/platex/japanese-otf-uptex/otf.sty 2019-04-02 23:04:45.000000000 +0200
+++ new/tex/platex/japanese-otf-uptex/otf.sty 2020-03-04 00:03:50.000000000 +0100
@@ -1,5 +1,5 @@
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{otf}[2019/04/01 v1.7b8 psitau, u0.23 ttk]
+\ProvidesPackage{otf}[2019/04/01 v1.7b8 psitau, u0.25 ttk]
\RequirePackage{keyval}
%for processing options
\newif\if@kana \@kanafalse
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/japanese-otf-uptex.tlpobj new/tlpkg/tlpobj/japanese-otf-uptex.tlpobj
--- old/tlpkg/tlpobj/japanese-otf-uptex.tlpobj 2019-04-03 01:24:55.000000000 +0200
+++ new/tlpkg/tlpobj/japanese-otf-uptex.tlpobj 2020-03-04 23:51:11.000000000 +0100
@@ -1,6 +1,6 @@
name japanese-otf-uptex
category Package
-revision 50707
+revision 54080
shortdesc Support for Japanese OTF files in upLaTeX
relocated 1
longdesc The bundle offers support of the fonts in the japanese-otf
@@ -1030,7 +1030,6 @@
catalogue-contact-home http://www.t-lab.opal.ne.jp/tex/uptex.html
catalogue-contact-repository https://github.com/texjporg/japanese-otf-mirror
catalogue-ctan /language/japanese/japanese-otf-uptex
-catalogue-date 2019-04-02 19:34:38 +0200
catalogue-license bsd3
catalogue-topics font-use font-cjk japanese
-catalogue-version 0.23
+catalogue-version 0.25
++++++ jfmutil.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/fonts/jfmutil/README-ja.md new/texmf-dist/doc/fonts/jfmutil/README-ja.md
--- old/texmf-dist/doc/fonts/jfmutil/README-ja.md 2019-02-11 23:04:43.000000000 +0100
+++ new/texmf-dist/doc/fonts/jfmutil/README-ja.md 2019-09-04 23:47:23.000000000 +0200
@@ -466,6 +466,9 @@
更新履歴
--------
+ * Version 1.2.3 〈2019/09/02〉
+ - バグ・不具合の修正。
+
* Version 1.2.2 〈2019/02/09〉
- バグ修正。
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/fonts/jfmutil/README.md new/texmf-dist/doc/fonts/jfmutil/README.md
--- old/texmf-dist/doc/fonts/jfmutil/README.md 2019-02-11 23:04:43.000000000 +0100
+++ new/texmf-dist/doc/fonts/jfmutil/README.md 2019-09-04 23:47:23.000000000 +0200
@@ -85,6 +85,9 @@
Revision History
----------------
+ * Version 1.2.3 〈2019/09/02〉
+ - Bug fix.
+
* Version 1.2.2 〈2019/02/09〉
- Bug fix.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jfmutil.doc.tlpobj new/tlpkg/tlpobj/jfmutil.doc.tlpobj
--- old/tlpkg/tlpobj/jfmutil.doc.tlpobj 2019-02-28 03:45:18.000000000 +0100
+++ new/tlpkg/tlpobj/jfmutil.doc.tlpobj 2019-09-05 01:53:58.000000000 +0200
@@ -1,6 +1,6 @@
name jfmutil.doc
category Package
-revision 50002
+revision 52026
shortdesc doc files of jfmutil
docfiles size=9
texmf-dist/doc/fonts/jfmutil/LICENSE
++++++ jfmutil.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/jfmutil/jfmutil.pl new/texmf-dist/scripts/jfmutil/jfmutil.pl
--- old/texmf-dist/scripts/jfmutil/jfmutil.pl 2019-02-11 23:04:43.000000000 +0100
+++ new/texmf-dist/scripts/jfmutil/jfmutil.pl 2019-09-04 23:47:23.000000000 +0200
@@ -12,8 +12,8 @@
#------------------------------------------------- ZRTeXtor module
package ZRTeXtor;
-our $VERSION = 1.005_00;
-our $mod_date = "2018/01/21";
+our $VERSION = 1.007_00;
+our $mod_date = "2019/09/02";
use Encode qw(encode decode);
# Here follows excerpt from ZRTeXtor.pm
@@ -255,15 +255,17 @@
# Wrapper for 'tftopl' command.
sub x_tftopl
{
- my ($tfm, $cmd) = @_; my ($ftmp, $ftfm, $cout, $cerr);
+ my ($tfm, $cmd) = @_; my ($ftmp, $ftfm, $fpl, $cout, $cerr);
if (!defined $cmd) { $cmd = $cmd_name{tftopl}; }
if ($tfm =~ m/\.tfm$/i && $tfm !~ /\0/) { $ftfm = $tfm; }
else {
$ftfm = $ftmp = get_temp_name() . ".tfm";
(write_whole_file($ftmp, $tfm, 1)) or return;
}
- ($cout, $cerr) = x_captured_exec("$cmd $ftfm");
+ $fpl = get_temp_name() . ".pl";
+ ($cout, $cerr) = x_captured_exec("$cmd $ftfm $fpl");
if (defined $ftmp) { unlink($ftmp); }
+ $cout = read_whole_file($fpl); unlink($fpl);
if ($cout eq '' || $cout =~ /CHANGED!\)\s*$/) {
return error("tftopl failed: $ftfm");
}
@@ -480,6 +482,9 @@
else {
if ($lin =~ m/\(/) { $lins[$_] =~ s/\(/X0028/g; $repl = 1; }
if ($lin =~ m/\)/) { $lins[$_] =~ s/\)/X0029/g; $repl = 1; }
+ if ($lin =~ m/\bU [\dA-F]{4}/) {
+ $lins[$_] =~ s/\bU ([\dA-F]{4})/U$1/g; $repl = 1;
+ }
}
}
if ($lin =~ m/^\(CHARSINTYPE /) { $mod = 1; }
@@ -1944,6 +1949,7 @@
(defined $cspc) or $cspc = jfm_charlist('GL94DB');
# Next I check consistency about existence of entries
# (e.g. CIT 4 should exist iff TYPE 4 exists).
+ ($#cist >= 0 && $#cit < 0) and $#cit = 0;
(defined $tydsc[0])
or return error("no TYPE for type 0");
(vf_check_match("TYPE", \@tydsc, "CIT", \@cit, 1, "type"))
@@ -2242,8 +2248,11 @@
# coderange consistency
@fs = sort { $a <=> $b } (keys %$typ);
foreach $cc (@fs) {
- (defined $chdsc->{$cc}) or return error(
- sprintf("charpacket missing in VF: code %04X", $cc));
+ (defined $chdsc->{$cc}) and next;
+ if ($vf_strict) {
+ return error(sprintf("charpacket missing in VF: code %04X", $cc));
+ }
+ delete $typ->{$cc};
}
#
@ccs = sort { $a <=> $b } (keys %$chdsc);
@@ -2772,8 +2781,8 @@
#================================================= BEGIN
use Encode qw(encode decode);
my $prog_name = 'jfmutil';
-my $version = '1.2.2';
-my $mod_date = '2019/02/09';
+my $version = '1.2.3';
+my $mod_date = '2019/09/02';
#use Data::Dump 'dump';
#
my ($sw_hex, $sw_uptool, $sw_noencout, $inenc, $exenc, $sw_lenient);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jfmutil.tlpobj new/tlpkg/tlpobj/jfmutil.tlpobj
--- old/tlpkg/tlpobj/jfmutil.tlpobj 2019-02-28 03:45:18.000000000 +0100
+++ new/tlpkg/tlpobj/jfmutil.tlpobj 2019-09-05 01:53:58.000000000 +0200
@@ -1,6 +1,6 @@
name jfmutil
category Package
-revision 50002
+revision 52026
shortdesc Utility to process pTeX-extended TFM and VF
longdesc This program provides functionality to process data files (JFM
longdesc and VF) that form logical fonts used in (u)pTeX. The functions
@@ -15,7 +15,7 @@
runfiles size=26
texmf-dist/scripts/jfmutil/jfmutil.pl
catalogue-ctan /fonts/utilities/jfmutil
-catalogue-date 2019-02-11 14:03:12 +0100
+catalogue-date 2019-09-03 22:04:21 +0200
catalogue-license mit
catalogue-topics font-proc
-catalogue-version 1.2.2
+catalogue-version 1.2.3
++++++ jlreq.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jlreq/LICENSE new/doc/latex/jlreq/LICENSE
--- old/doc/latex/jlreq/LICENSE 2019-01-15 22:39:30.000000000 +0100
+++ new/doc/latex/jlreq/LICENSE 2020-02-08 23:16:07.000000000 +0100
@@ -1,6 +1,6 @@
(2-clause BSD license)
jlreq and jlreq-trimmarks
-Copyright 2017-2019, Noriyuki Abe.
+Copyright 2017-2020, Noriyuki Abe.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jlreq/README-ja.md new/doc/latex/jlreq/README-ja.md
--- old/doc/latex/jlreq/README-ja.md 2019-04-01 23:08:48.000000000 +0200
+++ new/doc/latex/jlreq/README-ja.md 2020-02-08 23:16:07.000000000 +0100
@@ -4,7 +4,7 @@
[日本語組版処理の要件](https://www.w3.org/TR/jlreq/ja/)の実装を試みる[LuaTeX-ja](https://osdn.jp/projects/luatex-ja/wiki/FrontPage) / pLaTeX / upLaTeX用のクラスファイルと,それに必要なJFMの組み合わせです.
## 提供されるもの
-クラスファイルjlreq.clsと,横書きLuaTeX-ja用のJFMであるjfm-jlreq.luaが用意されています.また,縦書きのJFMやpLaTeX / upLaTeX 用のJFMを生成するいくつかのスクリプトがあります.
+クラスファイルjlreq.clsと,横書きLuaTeX-ja用のJFMであるjfm-jlreq.luaが用意されています.また,縦書きのJFMやpLaTeX / upLaTeX用のJFMを生成するいくつかのスクリプトがあります.
## インストール
`make`で必要なJFMを生成してください.その後,
@@ -16,6 +16,15 @@
と配置します.`make install`とすると,$TEXMF=$TEXMFHOMEとしてこのコピーを行います.
+## 動作環境
+pLaTeX / upLaTeX / LuaLaTeX上で動きます.以下のパッケージを内部で読み込みます.
+
+* (常時):xkeyval,everyhook,filehook,etoolbox,ifthen,lmodern
+* (LuaLaTeX利用時):luatexja,luatexja-adjust
+
+リリース時点での最新版での動作を確認しています.
+
+
## 使い方
通常通り
```latex
@@ -71,6 +80,7 @@
### その他
* ルビや圏点は提供されません.[PXrubrica](https://github.com/zr-tex8r/PXrubrica)または`luatexja-ruby`(LuaLaTeX,LuaTeX-jaパッケージに付属)を使うと良いかと思います.
+* pLaTeX / upLaTeX利用時はそれぞれ`zw`および`zh`に展開されるマクロ`\zw`と`\zh`が定義されます.LuaLaTeX利用時はLuaTeX-ja内で同名のマクロが定義されます.
* 日本語組版処理の要件2.3.2.dによれば,横組みにおける二段組の最後のページの各段の行数は揃えることが望ましいとされていますが,この処理は行われません.`nidanfloat`パッケージを使い,
```latex
@@ -79,10 +89,20 @@
とするとこの処理が行われます.ただし,最終ページでの`\newpage`や`\clearpage`が正しく動作しません.詳しくは`nidanfloat`パッケージのマニュアルをご覧ください.
* フォントを設定する機能は有していません.和文フォントは,LuaLaTeX利用時は`luatexja-fontspec`や`luatexja-preset`(いずれもLuaTeX-jaパッケージに付属)により設定することができます.dvipdfmxを使う場合は,[PXchfon](https://github.com/zr-tex8r/PXchfon)での設定が可能です.
+* 和文間の空白((u)pTeXでは`\kanjiskip`に,LuateX-jaでは`kanjiskip`パラメータに格納されているもの)は,デフォルトでは1/4文字分までの空きを許容した設定になっています.これは日本語組版処理の要件に従ったものですが,TeXでの機能の制限などもあり,場合によってはあまり適切ではない結果を生じることがあります.この値を変更する場合は,`\jlreqkanjiskip`を再定義してください.例えば,
+ ```latex
+ \documentclass{jlreq}
+ \renewcommand{\jlreqkanjiskip}{0pt plus .1\zw minus .01\zw}
+ \begin{document}
+ (本文)
+ \begin{document}
+ ```
+
+ のようにします.
## 各種設計
-設計はクラスオプションまたは`\jlreqsetup`によりkeyval形式で行います.ただし,クラスオプションではLaTeXの実装により,本来可能な入力が受け付けられないがケースあります.多くの場合は空白を除くことにより解決します.
+設計はクラスオプションまたは`\jlreqsetup`によりkeyval形式で行います.ただし,クラスオプションではLaTeXの実装により,本来可能な入力が受け付けられないケースがあります.多くの場合は空白を除くことにより解決します.
以下では次の用法を使います.
@@ -439,7 +459,19 @@
- `zref`パッケージの利用をやめた.
- 新元号を追加.
- バグ修正.
-
+* 2019-05-07
+ - わずかな誤差で行数が減ってしまうのを防ぐために,`\textwidth`と`\textheight`を少しだけ増やした.
+ - `\DeclarePageStyle`内の`running_head_ii`などの実装を変更.
+ - バグ修正
+* 2019-09-24
+ - `\@cite`と`\@biblabel`を再定義していたのをやめた.
+ - 別行見出しの前に`\allowbreak`を追加.
+ - バグ修正.
+* 2020-02-07
+ - `itemization_label_length`のデフォルト値を`\leftmargini`などにした.
+ - `\rmfamily`などの再定義をやめ,`\@rmfamilyhook`などにコードを挿入することにした.
+ - `\parskip`を`0pt`に変更.
+ - バグ修正.
--------------
Noriyuki Abe
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jlreq/README.md new/doc/latex/jlreq/README.md
--- old/doc/latex/jlreq/README.md 2019-04-01 23:08:48.000000000 +0200
+++ new/doc/latex/jlreq/README.md 2020-02-08 23:16:07.000000000 +0100
@@ -111,7 +111,19 @@
- Stopped to use `zref` package.
- New regnal year.
- Fixed bugs.
-
+* 2019-05-07
+ - Added a small length to `\textwidth` and `\textheight`.
+ - Changed the implementation of `running_head_ii` etc. in `\DeclarePageStyle`.
+ - Fixed bugs.
+* 2019-09-24
+ - Deleted the (re-)definitions of `\@cite` and `\@biblabel`.
+ - Added `\allowbreak` before block headings.
+ - Fixed bugs.
+* 2020-02-07
+ - Changed the default value of `itemization_label_length` to `\leftmargini` etc.
+ - Removed the redefinitions `\rmfamily` etc and added a code to `\@rmfamilyhook`.
+ - Changed `\parskip` to `0pt`.
+ - Fixed bugs.
--------------
Noriyuki Abe
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jlreq/jlreq-ja.html new/doc/latex/jlreq/jlreq-ja.html
--- old/doc/latex/jlreq/jlreq-ja.html 2019-04-01 23:08:48.000000000 +0200
+++ new/doc/latex/jlreq/jlreq-ja.html 2020-02-08 23:16:07.000000000 +0100
@@ -90,7 +90,7 @@
<h2 id="これは何">これは何?</h2>
<p><a href="https://www.w3.org/TR/jlreq/ja/">日本語組版処理の要件</a>の実装を試みる<a href="https://osdn.jp/projects/luatex-ja/wiki/FrontPage">LuaTeX-ja</a> / pLaTeX / upLaTeX用のクラスファイルと,それに必要なJFMの組み合わせです.</p>
<h2 id="提供されるもの">提供されるもの</h2>
-<p>クラスファイルjlreq.clsと,横書きLuaTeX-ja用のJFMであるjfm-jlreq.luaが用意されています.また,縦書きのJFMやpLaTeX / upLaTeX 用のJFMを生成するいくつかのスクリプトがあります.</p>
+<p>クラスファイルjlreq.clsと,横書きLuaTeX-ja用のJFMであるjfm-jlreq.luaが用意されています.また,縦書きのJFMやpLaTeX / upLaTeX用のJFMを生成するいくつかのスクリプトがあります.</p>
<h2 id="インストール">インストール</h2>
<p><code>make</code>で必要なJFMを生成してください.その後,</p>
<ul>
@@ -100,11 +100,18 @@
<li>jlreq.cls, jlreq-helpers.sty -> $TEXMF/tex/latex/jlreq</li>
</ul>
<p>と配置します.<code>make install</code>とすると,$TEXMF=$TEXMFHOMEとしてこのコピーを行います.</p>
+<h2 id="動作環境">動作環境</h2>
+<p>pLaTeX / upLaTeX / LuaLaTeX上で動きます.以下のパッケージを内部で読み込みます.</p>
+<ul>
+<li>(常時):xkeyval,everyhook,filehook,etoolbox,ifthen,lmodern</li>
+<li>(LuaLaTeX利用時):luatexja,luatexja-adjust</li>
+</ul>
+<p>リリース時点での最新版での動作を確認しています.</p>
<h2 id="使い方">使い方</h2>
<p>通常通り</p>
-<pre class="sourceCode latex" id="cb1"><code class="sourceCode latex"><a class="sourceLine" id="cb1-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">jlreq</span>}</a></code></pre>
+<div class="sourceCode" id="cb1"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb1-1"><a href="#cb1-1"></a><span class="bu">\documentclass</span>{<span class="ex">jlreq</span>}</span></code></pre></div>
<p>とします.これで横書きのarticle相当の文書クラスとなります.エンジンは自動判定されますが,指定する場合はクラスオプションに<code>platex/uplatex/lualatex</code>のいずれかを渡してください.縦書きにするには<code>tate</code>オプションを渡します.また,reportやbook相当の文書クラスとするには,それぞれ<code>report</code>や<code>book</code>オプションを渡します.たとえば,縦書きの本を作成するには</p>
-<pre class="sourceCode latex" id="cb2"><code class="sourceCode latex"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="bu">\documentclass</span>[tate,book]{<span class="ex">jlreq</span>}</a></code></pre>
+<div class="sourceCode" id="cb2"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb2-1"><a href="#cb2-1"></a><span class="bu">\documentclass</span>[tate,book]{<span class="ex">jlreq</span>}</span></code></pre></div>
<p>とします.</p>
<p>その他,<code>oneside / twoside / onecolumn / twocolumn / titlepage / notitlepage / draft / final / openright / openany / leqno / fleqn</code>というよくあるオプションを受け付けます.</p>
<p>標準的な文書クラスと同じように中身を書くことができますが,次のような命令が追加 / 拡張されています.なお,本ドキュメントでは<a href="https://www.w3.org/TR/jlreq/ja/">日本語組版処理の要件</a>における用語を断りなく使います.</p>
@@ -117,7 +124,7 @@
<h3 id="sidenote"><code>\sidenote</code></h3>
<p>この命令は傍注の幅が正の時にのみ定義されます.デフォルトの基本版面ではこの幅は0に設定されています.従って<code>\sidenote</code>は定義されません.後の基本版面の設定を参考にしてください.</p>
<p><code>\sidenote</code>は傍注(縦組みの場合は脚注)を出力します.内部では<code>\marginpar</code>を使っています.デフォルトでは<code>\footnote</code>と同様の書式となりますが,<code>\jlreqsetup</code>で<code>sidenote_type=symbol</code>が指定されている場合,その書式は<code>\sidenote{該当項目}{注}</code>となります.たとえば</p>
-<pre class="sourceCode latex" id="cb3"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1">刊行できる<span class="fu">\sidenote</span>{原稿}{印刷などの方法により……}を入手する仕事である.</a></code></pre>
+<div class="sourceCode" id="cb3"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb3-1"><a href="#cb3-1"></a>刊行できる<span class="fu">\sidenote</span>{原稿}{印刷などの方法により……}を入手する仕事である.</span></code></pre></div>
<p>とします.後の説明も参照してください.</p>
<h3 id="endnote"><code>\endnote</code></h3>
<p>後注を指定します.<code>\footnote</code>と同様の書式です.デフォルトでは,注自身の出力は見出し直前に行われます.この動作は<code>\jlreqsetup</code>に<code>endnote_position</code>を渡すことで制御できます.詳しくは後の注関係の説明をご覧ください.また<code>\theendnotes</code>を実行するとその場に出力をします.</p>
@@ -135,13 +142,21 @@
<h3 id="その他">その他</h3>
<ul>
<li><p>ルビや圏点は提供されません.<a href="https://github.com/zr-tex8r/PXrubrica">PXrubrica</a>または<code>luatexja-ruby</code>(LuaLaTeX,LuaTeX-jaパッケージに付属)を使うと良いかと思います.</p></li>
+<li><p>pLaTeX / upLaTeX利用時はそれぞれ<code>zw</code>および<code>zh</code>に展開されるマクロ<code>\zw</code>と<code>\zh</code>が定義されます.LuaLaTeX利用時はLuaTeX-ja内で同名のマクロが定義されます.</p></li>
<li><p>日本語組版処理の要件2.3.2.dによれば,横組みにおける二段組の最後のページの各段の行数は揃えることが望ましいとされていますが,この処理は行われません.<code>nidanfloat</code>パッケージを使い,</p>
-<pre class="sourceCode latex" id="cb5"><code class="sourceCode latex"><a class="sourceLine" id="cb5-1" data-line-number="1"><span class="bu">\usepackage</span>[balance]{<span class="ex">nidanfloat</span>}</a></code></pre>
+<div class="sourceCode" id="cb5"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb5-1"><a href="#cb5-1"></a><span class="bu">\usepackage</span>[balance]{<span class="ex">nidanfloat</span>}</span></code></pre></div>
<p>とするとこの処理が行われます.ただし,最終ページでの<code>\newpage</code>や<code>\clearpage</code>が正しく動作しません.詳しくは<code>nidanfloat</code>パッケージのマニュアルをご覧ください.</p></li>
<li><p>フォントを設定する機能は有していません.和文フォントは,LuaLaTeX利用時は<code>luatexja-fontspec</code>や<code>luatexja-preset</code>(いずれもLuaTeX-jaパッケージに付属)により設定することができます.dvipdfmxを使う場合は,<a href="https://github.com/zr-tex8r/PXchfon">PXchfon</a>での設定が可能です.</p></li>
+<li><p>和文間の空白((u)pTeXでは<code>\kanjiskip</code>に,LuateX-jaでは<code>kanjiskip</code>パラメータに格納されているもの)は,デフォルトでは1/4文字分までの空きを許容した設定になっています.これは日本語組版処理の要件に従ったものですが,TeXでの機能の制限などもあり,場合によってはあまり適切ではない結果を生じることがあります.この値を変更する場合は,<code>\jlreqkanjiskip</code>を再定義してください.例えば,</p>
+<div class="sourceCode" id="cb6"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb6-1"><a href="#cb6-1"></a><span class="bu">\documentclass</span>{<span class="ex">jlreq</span>}</span>
+<span id="cb6-2"><a href="#cb6-2"></a><span class="fu">\renewcommand</span>{<span class="ex">\jlreqkanjiskip</span>}{0pt plus .1<span class="fu">\zw</span> minus .01<span class="fu">\zw</span>}</span>
+<span id="cb6-3"><a href="#cb6-3"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb6-4"><a href="#cb6-4"></a>(本文)</span>
+<span id="cb6-5"><a href="#cb6-5"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>のようにします.</p></li>
</ul>
<h2 id="各種設計">各種設計</h2>
-<p>設計はクラスオプションまたは<code>\jlreqsetup</code>によりkeyval形式で行います.ただし,クラスオプションではLaTeXの実装により,本来可能な入力が受け付けられないがケースあります.多くの場合は空白を除くことにより解決します.</p>
+<p>設計はクラスオプションまたは<code>\jlreqsetup</code>によりkeyval形式で行います.ただし,クラスオプションではLaTeXの実装により,本来可能な入力が受け付けられないケースがあります.多くの場合は空白を除くことにより解決します.</p>
<p>以下では次の用法を使います.</p>
<ul>
<li><code>[A/B]</code>:AまたはBです.<code>[A/B/C]</code>等も同様.</li>
@@ -305,10 +320,10 @@
</ul>
<h4 id="連続して掲げる見出しの行取り">連続して掲げる見出しの行取り</h4>
<p><code>\SetBlockHeadingSpaces</code>により,見出しが連続して掲げられたときの行取りを設定することができます.<code>\SetBlockHeadingSpaces</code>は</p>
-<pre class="sourceCode latex" id="cb7"><code class="sourceCode latex"><a class="sourceLine" id="cb7-1" data-line-number="1"><span class="fu">\SetBlockHeadingSpaces</span>{</a>
-<a class="sourceLine" id="cb7-2" data-line-number="2"> {_part{lines=3,before_lines=1},_section{lines=2},_subsection{lines=2}}</a>
-<a class="sourceLine" id="cb7-3" data-line-number="3"> [lines=5]{_section,23pt,_subsection,16pt}</a>
-<a class="sourceLine" id="cb7-4" data-line-number="4">}</a></code></pre>
+<div class="sourceCode" id="cb8"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb8-1"><a href="#cb8-1"></a><span class="fu">\SetBlockHeadingSpaces</span>{</span>
+<span id="cb8-2"><a href="#cb8-2"></a> {_part{lines=3,before_lines=1},_section{lines=2},_subsection{lines=2}}</span>
+<span id="cb8-3"><a href="#cb8-3"></a> [lines=5]{_section,23pt,_subsection,16pt}</span>
+<span id="cb8-4"><a href="#cb8-4"></a>}</span></code></pre></div>
<p>のように使います.この意味は次の通りです.</p>
<ul>
<li><code>\part</code>,<code>\section</code>,<code>\subsection</code>という順番で見出しが掲げられていて,その前後が見出しでない場合は,<code>\part</code>は三行取り+前に一行空き,<code>\section</code>と<code>\subsection</code>は二行取りとなります.</li>
@@ -343,14 +358,14 @@
</ul>
<h3 id="modifyheading"><code>\ModifyHeading</code></h3>
<p>既に(上のどれかを使い)定義された見出し命令の設定を変更します.たとえば</p>
-<pre class="sourceCode latex" id="cb8"><code class="sourceCode latex"><a class="sourceLine" id="cb8-1" data-line-number="1"><span class="fu">\ModifyHeading</span>{section}{lines=10}</a></code></pre>
+<div class="sourceCode" id="cb9"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb9-1"><a href="#cb9-1"></a><span class="fu">\ModifyHeading</span>{section}{lines=10}</span></code></pre></div>
<p>とすると,<code>\section</code>のフォントなどの設定はそのままに,行取りのみが10行に変更されます.見出しの種類を変更することはできません.</p>
<h3 id="saveheading"><code>\SaveHeading</code></h3>
<p>見出し命令の定義を待避します.</p>
-<pre class="sourceCode latex" id="cb9"><code class="sourceCode latex"><a class="sourceLine" id="cb9-1" data-line-number="1"><span class="fu">\SaveHeading</span>{section}{<span class="fu">\restoresection</span>} <span class="co">% \sectionの中身を\restoresectionに待避.</span></a>
-<a class="sourceLine" id="cb9-2" data-line-number="2"><span class="fu">\RenewBlockHeading</span>{section}{1}{font=……} <span class="co">% \sectionを新しく定義する.</span></a>
-<a class="sourceLine" id="cb9-3" data-line-number="3">……</a>
-<a class="sourceLine" id="cb9-4" data-line-number="4"><span class="fu">\restoresection</span> <span class="co">% \sectionの中身を元に戻す.</span></a></code></pre>
+<div class="sourceCode" id="cb10"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb10-1"><a href="#cb10-1"></a><span class="fu">\SaveHeading</span>{section}{<span class="fu">\restoresection</span>} <span class="co">% \sectionの中身を\restoresectionに待避.</span></span>
+<span id="cb10-2"><a href="#cb10-2"></a><span class="fu">\RenewBlockHeading</span>{section}{1}{font=……} <span class="co">% \sectionを新しく定義する.</span></span>
+<span id="cb10-3"><a href="#cb10-3"></a>……</span>
+<span id="cb10-4"><a href="#cb10-4"></a><span class="fu">\restoresection</span> <span class="co">% \sectionの中身を元に戻す.</span></span></code></pre></div>
<p>のように使います.</p>
<h2 id="ページスタイル">ページスタイル</h2>
<pre><code>\NewPageStyle{<ページスタイル名>}{<設定>}
@@ -398,7 +413,7 @@
<li>クラスオプション<code>jlreq_notes</code>が渡されると,日本語組版処理の記述と矛盾する設定が行われた場合に通知がされます.</li>
</ul>
<h2 id="ライセンス">ライセンス</h2>
-<p>このパッケージは二条項BSDライセンスの元で配布されています.詳しくは<a href="LICENSE" class="uri">LICENSE</a>をご覧ください.</p>
+<p>このパッケージは二条項BSDライセンスの元で配布されています.詳しくは<a href="LICENSE">LICENSE</a>をご覧ください.</p>
<h2 id="履歴">履歴</h2>
<ul>
<li>2017-02-08
@@ -536,9 +551,28 @@
<li>新元号を追加.</li>
<li>バグ修正.</li>
</ul></li>
+<li>2019-05-07
+<ul>
+<li>わずかな誤差で行数が減ってしまうのを防ぐために,<code>\textwidth</code>と<code>\textheight</code>を少しだけ増やした.</li>
+<li><code>\DeclarePageStyle</code>内の<code>running_head_ii</code>などの実装を変更.</li>
+<li>バグ修正</li>
+</ul></li>
+<li>2019-09-24
+<ul>
+<li><code>\@cite</code>と<code>\@biblabel</code>を再定義していたのをやめた.</li>
+<li>別行見出しの前に<code>\allowbreak</code>を追加.</li>
+<li>バグ修正.</li>
+</ul></li>
+<li>2020-02-07
+<ul>
+<li><code>itemization_label_length</code>のデフォルト値を<code>\leftmargini</code>などにした.</li>
+<li><code>\rmfamily</code>などの再定義をやめ,<code>\@rmfamilyhook</code>などにコードを挿入することにした.</li>
+<li><code>\parskip</code>を<code>0pt</code>に変更.</li>
+<li>バグ修正.</li>
+</ul></li>
</ul>
<hr />
-<p>Noriyuki Abe <a href="https://github.com/abenori/jlreq" class="uri">https://github.com/abenori/jlreq</a></p>
+<p>Noriyuki Abe <a href="https://github.com/abenori/jlreq">https://github.com/abenori/jlreq</a></p>
</article>
</body>
</html>
Binary files old/doc/latex/jlreq/jlreq-ja.pdf and new/doc/latex/jlreq/jlreq-ja.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jlreq/jlreq-trimmarks-ja.html new/doc/latex/jlreq/jlreq-trimmarks-ja.html
--- old/doc/latex/jlreq/jlreq-trimmarks-ja.html 2019-04-01 23:08:48.000000000 +0200
+++ new/doc/latex/jlreq/jlreq-trimmarks-ja.html 2020-02-08 23:16:07.000000000 +0100
@@ -136,60 +136,60 @@
</ul>
<h3 id="bleed_margin"><code>bleed_margin</code></h3>
<p>仕上がりと裁ち落としの間(ドブ)の長さを指定します.次のようにすると,上下左右を独立に変更できます.</p>
-<pre class="sourceCode latex" id="cb2"><code class="sourceCode latex"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="bu">\usepackage</span>[bleed_margin={top=3mm,bottom=5mm,gutter=0mm,fore-edge=2mm}]{<span class="ex">jlreq-trimmarks</span>}</a></code></pre>
+<div class="sourceCode" id="cb2"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb2-1"><a href="#cb2-1"></a><span class="bu">\usepackage</span>[bleed_margin={top=3mm,bottom=5mm,gutter=0mm,fore-edge=2mm}]{<span class="ex">jlreq-trimmarks</span>}</span></code></pre></div>
<h2 id="jlreqtrimmarkssetup"><code>\jlreqtrimmarkssetup</code></h2>
<p>パッケージオプションで指定できない設定を行えます.keyval形式です.</p>
<h3 id="banner"><code>banner</code></h3>
<p><code>show=banner</code>時に出力される文字列.通常は左上に出力されますが,四つ角および上下左右の中心に出力することもできます.指定は</p>
-<pre class="sourceCode latex" id="cb3"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
-<a class="sourceLine" id="cb3-2" data-line-number="2"> banner={</a>
-<a class="sourceLine" id="cb3-3" data-line-number="3"> <場所(上下,左右中央)>={</a>
-<a class="sourceLine" id="cb3-4" data-line-number="4"> <細かな位置>={</a>
-<a class="sourceLine" id="cb3-5" data-line-number="5"> <ページ数の偶奇に応じて>={</a>
-<a class="sourceLine" id="cb3-6" data-line-number="6"> <表示項目></a>
-<a class="sourceLine" id="cb3-7" data-line-number="7"> }</a>
-<a class="sourceLine" id="cb3-8" data-line-number="8"> }</a>
-<a class="sourceLine" id="cb3-9" data-line-number="9"> }</a>
-<a class="sourceLine" id="cb3-10" data-line-number="10"> }</a>
-<a class="sourceLine" id="cb3-11" data-line-number="11">}</a></code></pre>
+<div class="sourceCode" id="cb3"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb3-1"><a href="#cb3-1"></a><span class="fu">\jlreqtrimmarkssetup</span>{</span>
+<span id="cb3-2"><a href="#cb3-2"></a> banner={</span>
+<span id="cb3-3"><a href="#cb3-3"></a> <場所(上下,左右中央)>={</span>
+<span id="cb3-4"><a href="#cb3-4"></a> <細かな位置>={</span>
+<span id="cb3-5"><a href="#cb3-5"></a> <ページ数の偶奇に応じて>={</span>
+<span id="cb3-6"><a href="#cb3-6"></a> <表示項目></span>
+<span id="cb3-7"><a href="#cb3-7"></a> }</span>
+<span id="cb3-8"><a href="#cb3-8"></a> }</span>
+<span id="cb3-9"><a href="#cb3-9"></a> }</span>
+<span id="cb3-10"><a href="#cb3-10"></a> }</span>
+<span id="cb3-11"><a href="#cb3-11"></a>}</span></code></pre></div>
<p>のようになります.キー名は省略することもできます.例えば次のように指定します.</p>
-<pre class="sourceCode latex" id="cb4"><code class="sourceCode latex"><a class="sourceLine" id="cb4-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
-<a class="sourceLine" id="cb4-2" data-line-number="2"> banner={</a>
-<a class="sourceLine" id="cb4-3" data-line-number="3"> top-right={</a>
-<a class="sourceLine" id="cb4-4" data-line-number="4"> tate={</a>
-<a class="sourceLine" id="cb4-5" data-line-number="5"> odd={奇数ページの右上に縦書きで表示},</a>
-<a class="sourceLine" id="cb4-6" data-line-number="6"> even={偶数ページの右上に縦書きで表示},</a>
-<a class="sourceLine" id="cb4-7" data-line-number="7"> },</a>
-<a class="sourceLine" id="cb4-8" data-line-number="8"> yoko={右上に横書きで表示}, <span class="co">% ページの偶奇によらず共通</span></a>
-<a class="sourceLine" id="cb4-9" data-line-number="9"> corner={右上角に横書きで表示},</a>
-<a class="sourceLine" id="cb4-10" data-line-number="10"> in-yoko={右上版面内に横書きで表示},</a>
-<a class="sourceLine" id="cb4-11" data-line-number="11"> in-tate={右上版面内に縦書きで表示},</a>
-<a class="sourceLine" id="cb4-12" data-line-number="12"> },</a>
-<a class="sourceLine" id="cb4-13" data-line-number="13"> bottom-center={</a>
-<a class="sourceLine" id="cb4-14" data-line-number="14"> left={中央下の左に表示}, <span class="co">% odd=, even=も使用可能</span></a>
-<a class="sourceLine" id="cb4-15" data-line-number="15"> right={中央下の右に表示},</a>
-<a class="sourceLine" id="cb4-16" data-line-number="16"> in={中央下の版面内に表示},</a>
-<a class="sourceLine" id="cb4-17" data-line-number="17"> },</a>
-<a class="sourceLine" id="cb4-18" data-line-number="18"> center-gutter={</a>
-<a class="sourceLine" id="cb4-19" data-line-number="19"> above={ノド側中央の上側に表示},</a>
-<a class="sourceLine" id="cb4-20" data-line-number="20"> below={ノド側中央の下側に表示},</a>
-<a class="sourceLine" id="cb4-21" data-line-number="21"> },</a>
-<a class="sourceLine" id="cb4-22" data-line-number="22"> }</a>
-<a class="sourceLine" id="cb4-23" data-line-number="23">}</a></code></pre>
+<div class="sourceCode" id="cb4"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb4-1"><a href="#cb4-1"></a><span class="fu">\jlreqtrimmarkssetup</span>{</span>
+<span id="cb4-2"><a href="#cb4-2"></a> banner={</span>
+<span id="cb4-3"><a href="#cb4-3"></a> top-right={</span>
+<span id="cb4-4"><a href="#cb4-4"></a> tate={</span>
+<span id="cb4-5"><a href="#cb4-5"></a> odd={奇数ページの右上に縦書きで表示},</span>
+<span id="cb4-6"><a href="#cb4-6"></a> even={偶数ページの右上に縦書きで表示},</span>
+<span id="cb4-7"><a href="#cb4-7"></a> },</span>
+<span id="cb4-8"><a href="#cb4-8"></a> yoko={右上に横書きで表示}, <span class="co">% ページの偶奇によらず共通</span></span>
+<span id="cb4-9"><a href="#cb4-9"></a> corner={右上角に横書きで表示},</span>
+<span id="cb4-10"><a href="#cb4-10"></a> in-yoko={右上版面内に横書きで表示},</span>
+<span id="cb4-11"><a href="#cb4-11"></a> in-tate={右上版面内に縦書きで表示},</span>
+<span id="cb4-12"><a href="#cb4-12"></a> },</span>
+<span id="cb4-13"><a href="#cb4-13"></a> bottom-center={</span>
+<span id="cb4-14"><a href="#cb4-14"></a> left={中央下の左に表示}, <span class="co">% odd=, even=も使用可能</span></span>
+<span id="cb4-15"><a href="#cb4-15"></a> right={中央下の右に表示},</span>
+<span id="cb4-16"><a href="#cb4-16"></a> in={中央下の版面内に表示},</span>
+<span id="cb4-17"><a href="#cb4-17"></a> },</span>
+<span id="cb4-18"><a href="#cb4-18"></a> center-gutter={</span>
+<span id="cb4-19"><a href="#cb4-19"></a> above={ノド側中央の上側に表示},</span>
+<span id="cb4-20"><a href="#cb4-20"></a> below={ノド側中央の下側に表示},</span>
+<span id="cb4-21"><a href="#cb4-21"></a> },</span>
+<span id="cb4-22"><a href="#cb4-22"></a> }</span>
+<span id="cb4-23"><a href="#cb4-23"></a>}</span></code></pre></div>
<p>場所は<code>top/bottom/center</code>と<code>left/right/center/gutter/fore-edge</code>の可能な組み合わせが指定可能です.各項目に<code>\thepage</code>を指定するとページ数を出力できます.</p>
<p>次のような指定も可能です.</p>
-<pre class="sourceCode latex" id="cb5"><code class="sourceCode latex"><a class="sourceLine" id="cb5-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
-<a class="sourceLine" id="cb5-2" data-line-number="2"> banner={</a>
-<a class="sourceLine" id="cb5-3" data-line-number="3"> tate={左上に縦書き}, <span class="co">% 場所が省略されるとtop-leftと見なされる.</span></a>
-<a class="sourceLine" id="cb5-4" data-line-number="4"> odd={左上奇数ページ}, <span class="co">% 省略されたのでyokoと見なされる.</span></a>
-<a class="sourceLine" id="cb5-5" data-line-number="5"> top-right={</a>
-<a class="sourceLine" id="cb5-6" data-line-number="6"> odd={右上奇数ページ} <span class="co">% ここもyokoが省略されている.</span></a>
-<a class="sourceLine" id="cb5-7" data-line-number="7"> }</a>
-<a class="sourceLine" id="cb5-8" data-line-number="8"> }</a>
-<a class="sourceLine" id="cb5-9" data-line-number="9">}</a></code></pre>
+<div class="sourceCode" id="cb5"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb5-1"><a href="#cb5-1"></a><span class="fu">\jlreqtrimmarkssetup</span>{</span>
+<span id="cb5-2"><a href="#cb5-2"></a> banner={</span>
+<span id="cb5-3"><a href="#cb5-3"></a> tate={左上に縦書き}, <span class="co">% 場所が省略されるとtop-leftと見なされる.</span></span>
+<span id="cb5-4"><a href="#cb5-4"></a> odd={左上奇数ページ}, <span class="co">% 省略されたのでyokoと見なされる.</span></span>
+<span id="cb5-5"><a href="#cb5-5"></a> top-right={</span>
+<span id="cb5-6"><a href="#cb5-6"></a> odd={右上奇数ページ} <span class="co">% ここもyokoが省略されている.</span></span>
+<span id="cb5-7"><a href="#cb5-7"></a> }</span>
+<span id="cb5-8"><a href="#cb5-8"></a> }</span>
+<span id="cb5-9"><a href="#cb5-9"></a>}</span></code></pre></div>
<h3 id="trimmarks_width"><code>trimmarks_width</code></h3>
<p>トンボ自身の太さを指定します.</p>
-<h3 id="color"><code>color</code></h3>
+<h3 id="-color"><code> color</code></h3>
<p>トンボの色.この機能を利用するには,あらかじめ<code>\color</code>を定義するパッケージ(<code>color</code>パッケージまたはその派生)を読み込んでおく必要があります.ここでの指定は次のようにして<code>\color</code>命令に変換されます.</p>
<ul>
<li><p><code>cy</code>や<code>myk</code>のように<code>cmyk</code>という文字列の一部の場合は,<code>cmyk</code>で指定された色のみの色になります.例えば<code>color=cy</code>は<code>\color[cmyk]{1,0,1,0}</code>となります.</p></li>
@@ -200,7 +200,7 @@
</ul></li>
</ul>
<h2 id="ライセンス">ライセンス</h2>
-<p>このパッケージは二条項BSDライセンスの元で配布されています.詳しくは<a href="LICENSE" class="uri">LICENSE</a>をご覧ください.</p>
+<p>このパッケージは二条項BSDライセンスの元で配布されています.詳しくは<a href="LICENSE">LICENSE</a>をご覧ください.</p>
<h2 id="履歴">履歴</h2>
<ul>
<li>2018-05-19
@@ -233,7 +233,7 @@
</ul></li>
</ul>
<hr />
-<p>Noriyuki Abe <a href="https://github.com/abenori/jlreq" class="uri">https://github.com/abenori/jlreq</a></p>
+<p>Noriyuki Abe <a href="https://github.com/abenori/jlreq">https://github.com/abenori/jlreq</a></p>
</article>
</body>
</html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jlreq/jlreq-trimmarks.html new/doc/latex/jlreq/jlreq-trimmarks.html
--- old/doc/latex/jlreq/jlreq-trimmarks.html 2019-04-01 23:08:48.000000000 +0200
+++ new/doc/latex/jlreq/jlreq-trimmarks.html 2020-02-08 23:16:07.000000000 +0100
@@ -135,56 +135,56 @@
</ul>
<h3 id="bleed_margin"><code>bleed_margin</code></h3>
<p>Set the bleed margin. You can also specify as follows.</p>
-<pre class="sourceCode latex" id="cb2"><code class="sourceCode latex"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="bu">\usepackage</span>[bleed_margin={top=3mm,bottom=5mm,gutter=0mm,fore-edge=2mm}]{<span class="ex">jlreq-trimmarks</span>}</a></code></pre>
+<div class="sourceCode" id="cb2"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb2-1"><a href="#cb2-1"></a><span class="bu">\usepackage</span>[bleed_margin={top=3mm,bottom=5mm,gutter=0mm,fore-edge=2mm}]{<span class="ex">jlreq-trimmarks</span>}</span></code></pre></div>
<h2 id="jlreqtrimmarkssetup"><code>\jlreqtrimmarkssetup</code></h2>
<p>Set the additional settings with the keyval style.</p>
<h3 id="banner"><code>banner</code></h3>
<p>The things which the package outputs when <code>show=banner</code> is specified in the package option. Normally it is showed in the left of the top. You can also put them in many places with</p>
-<pre class="sourceCode latex" id="cb3"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
-<a class="sourceLine" id="cb3-2" data-line-number="2"> banner={</a>
-<a class="sourceLine" id="cb3-3" data-line-number="3"> <Position (top/bottom, left/right, center)>={</a>
-<a class="sourceLine" id="cb3-4" data-line-number="4"> <more precise position>={</a>
-<a class="sourceLine" id="cb3-5" data-line-number="5"> <odd/even>={</a>
-<a class="sourceLine" id="cb3-6" data-line-number="6"> <content></a>
-<a class="sourceLine" id="cb3-7" data-line-number="7"> }</a>
-<a class="sourceLine" id="cb3-8" data-line-number="8"> }</a>
-<a class="sourceLine" id="cb3-9" data-line-number="9"> }</a>
-<a class="sourceLine" id="cb3-10" data-line-number="10"> }</a>
-<a class="sourceLine" id="cb3-11" data-line-number="11">}</a></code></pre>
+<div class="sourceCode" id="cb3"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb3-1"><a href="#cb3-1"></a><span class="fu">\jlreqtrimmarkssetup</span>{</span>
+<span id="cb3-2"><a href="#cb3-2"></a> banner={</span>
+<span id="cb3-3"><a href="#cb3-3"></a> <Position (top/bottom, left/right, center)>={</span>
+<span id="cb3-4"><a href="#cb3-4"></a> <more precise position>={</span>
+<span id="cb3-5"><a href="#cb3-5"></a> <odd/even>={</span>
+<span id="cb3-6"><a href="#cb3-6"></a> <content></span>
+<span id="cb3-7"><a href="#cb3-7"></a> }</span>
+<span id="cb3-8"><a href="#cb3-8"></a> }</span>
+<span id="cb3-9"><a href="#cb3-9"></a> }</span>
+<span id="cb3-10"><a href="#cb3-10"></a> }</span>
+<span id="cb3-11"><a href="#cb3-11"></a>}</span></code></pre></div>
<p>Here is an example.</p>
-<pre class="sourceCode latex" id="cb4"><code class="sourceCode latex"><a class="sourceLine" id="cb4-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
-<a class="sourceLine" id="cb4-2" data-line-number="2"> banner={</a>
-<a class="sourceLine" id="cb4-3" data-line-number="3"> top-right={</a>
-<a class="sourceLine" id="cb4-4" data-line-number="4"> vertical={</a>
-<a class="sourceLine" id="cb4-5" data-line-number="5"> odd={In the right of the top, only in odd pages, vertical mode.},</a>
-<a class="sourceLine" id="cb4-6" data-line-number="6"> even={In the right of the top, only in even pages, vertical mode.},</a>
-<a class="sourceLine" id="cb4-7" data-line-number="7"> },</a>
-<a class="sourceLine" id="cb4-8" data-line-number="8"> horizontal={In the right of the top, horizontal mode.}, <span class="co">% does not depend on the parity of the page number</span></a>
-<a class="sourceLine" id="cb4-9" data-line-number="9"> corner={In the corner of the right of the top, horizontal mode.},</a>
-<a class="sourceLine" id="cb4-10" data-line-number="10"> in-horizontal={In the right of the top, horizontal mode, in the trim area.},</a>
-<a class="sourceLine" id="cb4-11" data-line-number="11"> in-vertical={In the right of the top, vertical mode, in the trim area.},</a>
-<a class="sourceLine" id="cb4-12" data-line-number="12"> },</a>
-<a class="sourceLine" id="cb4-13" data-line-number="13"> bottom-center={</a>
-<a class="sourceLine" id="cb4-14" data-line-number="14"> left={In the left in the center of the bottom}, <span class="co">% odd=, even= is also available</span></a>
-<a class="sourceLine" id="cb4-15" data-line-number="15"> right={In the right in the center of the bottom},</a>
-<a class="sourceLine" id="cb4-16" data-line-number="16"> in={In the trim area in the center of the bottom.},</a>
-<a class="sourceLine" id="cb4-17" data-line-number="17"> }</a>
-<a class="sourceLine" id="cb4-18" data-line-number="18"> }</a>
-<a class="sourceLine" id="cb4-19" data-line-number="19">}</a></code></pre>
+<div class="sourceCode" id="cb4"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb4-1"><a href="#cb4-1"></a><span class="fu">\jlreqtrimmarkssetup</span>{</span>
+<span id="cb4-2"><a href="#cb4-2"></a> banner={</span>
+<span id="cb4-3"><a href="#cb4-3"></a> top-right={</span>
+<span id="cb4-4"><a href="#cb4-4"></a> vertical={</span>
+<span id="cb4-5"><a href="#cb4-5"></a> odd={In the right of the top, only in odd pages, vertical mode.},</span>
+<span id="cb4-6"><a href="#cb4-6"></a> even={In the right of the top, only in even pages, vertical mode.},</span>
+<span id="cb4-7"><a href="#cb4-7"></a> },</span>
+<span id="cb4-8"><a href="#cb4-8"></a> horizontal={In the right of the top, horizontal mode.}, <span class="co">% does not depend on the parity of the page number</span></span>
+<span id="cb4-9"><a href="#cb4-9"></a> corner={In the corner of the right of the top, horizontal mode.},</span>
+<span id="cb4-10"><a href="#cb4-10"></a> in-horizontal={In the right of the top, horizontal mode, in the trim area.},</span>
+<span id="cb4-11"><a href="#cb4-11"></a> in-vertical={In the right of the top, vertical mode, in the trim area.},</span>
+<span id="cb4-12"><a href="#cb4-12"></a> },</span>
+<span id="cb4-13"><a href="#cb4-13"></a> bottom-center={</span>
+<span id="cb4-14"><a href="#cb4-14"></a> left={In the left in the center of the bottom}, <span class="co">% odd=, even= is also available</span></span>
+<span id="cb4-15"><a href="#cb4-15"></a> right={In the right in the center of the bottom},</span>
+<span id="cb4-16"><a href="#cb4-16"></a> in={In the trim area in the center of the bottom.},</span>
+<span id="cb4-17"><a href="#cb4-17"></a> }</span>
+<span id="cb4-18"><a href="#cb4-18"></a> }</span>
+<span id="cb4-19"><a href="#cb4-19"></a>}</span></code></pre></div>
<p>A possible combination of <code>top/bottom/center</code> and <code>left/right/center/gutter/fore-edge</code> can be used for the position. You can use <code>\thepage</code> to output the number of the page.</p>
<p>The keys can be ommited. For example:</p>
-<pre class="sourceCode latex" id="cb5"><code class="sourceCode latex"><a class="sourceLine" id="cb5-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
-<a class="sourceLine" id="cb5-2" data-line-number="2"> banner={</a>
-<a class="sourceLine" id="cb5-3" data-line-number="3"> vertical={Vertical mode, in the top of the left},</a>
-<a class="sourceLine" id="cb5-4" data-line-number="4"> odd={In the top of the left, only in odd pages.}, <span class="co">% regarded as `horizontal`</span></a>
-<a class="sourceLine" id="cb5-5" data-line-number="5"> top-right={</a>
-<a class="sourceLine" id="cb5-6" data-line-number="6"> odd={In the top of the right, only in odd pages, horizontal mode.}</a>
-<a class="sourceLine" id="cb5-7" data-line-number="7"> }</a>
-<a class="sourceLine" id="cb5-8" data-line-number="8"> }</a>
-<a class="sourceLine" id="cb5-9" data-line-number="9">}</a></code></pre>
+<div class="sourceCode" id="cb5"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb5-1"><a href="#cb5-1"></a><span class="fu">\jlreqtrimmarkssetup</span>{</span>
+<span id="cb5-2"><a href="#cb5-2"></a> banner={</span>
+<span id="cb5-3"><a href="#cb5-3"></a> vertical={Vertical mode, in the top of the left},</span>
+<span id="cb5-4"><a href="#cb5-4"></a> odd={In the top of the left, only in odd pages.}, <span class="co">% regarded as `horizontal`</span></span>
+<span id="cb5-5"><a href="#cb5-5"></a> top-right={</span>
+<span id="cb5-6"><a href="#cb5-6"></a> odd={In the top of the right, only in odd pages, horizontal mode.}</span>
+<span id="cb5-7"><a href="#cb5-7"></a> }</span>
+<span id="cb5-8"><a href="#cb5-8"></a> }</span>
+<span id="cb5-9"><a href="#cb5-9"></a>}</span></code></pre></div>
<h3 id="trimmarks_width"><code>trimmarks_width</code></h3>
<p>Set the width of trim marks.</p>
-<h3 id="color"><code>color</code></h3>
+<h3 id="-color"><code> color</code></h3>
<p>Set the color of the trim marks. You have to load a package which defines <code>\color</code> (`color' package or its variant) before loading this package to use this function. Here are some examples of specifying the color.</p>
<ul>
<li><code>color=c</code> -> <code>\color[cmyk]{1,0,0,0}</code></li>
@@ -193,7 +193,7 @@
<li><code>[cmyk]0.5,0.5,0.5,0</code> -> <code>\color[cmyk]{0.5,0.5,0.5,0}</code></li>
</ul>
<h2 id="license">LICENSE</h2>
-<p>This package is distributed under the BSD 2-Clause License. See <a href="LICENSE" class="uri">LICENSE</a>.</p>
+<p>This package is distributed under the BSD 2-Clause License. See <a href="LICENSE">LICENSE</a>.</p>
<h2 id="changelog">CHANGELOG</h2>
<ul>
<li>2018-05-19
@@ -226,7 +226,7 @@
</ul></li>
</ul>
<hr />
-<p>Noriyuki Abe <a href="https://github.com/abenori/jlreq" class="uri">https://github.com/abenori/jlreq</a></p>
+<p>Noriyuki Abe <a href="https://github.com/abenori/jlreq">https://github.com/abenori/jlreq</a></p>
</article>
</body>
</html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jlreq/jlreq.html new/doc/latex/jlreq/jlreq.html
--- old/doc/latex/jlreq/jlreq.html 2019-04-01 23:08:48.000000000 +0200
+++ new/doc/latex/jlreq/jlreq.html 2020-02-08 23:16:07.000000000 +0100
@@ -69,9 +69,9 @@
</ul>
<p>The other way to install is just to run <code>make install</code>. It will install all files in <code>$TEXMFHOME</code>.</p>
<h2 id="usage">Usage</h2>
-<p>See <a href="jlreq-ja.html" class="uri">jlreq-ja.html</a> (in Japanese).</p>
+<p>See <a href="jlreq-ja.html">jlreq-ja.html</a> (in Japanese).</p>
<h2 id="license">LICENSE</h2>
-<p>This package is distributed under the BSD 2-Clause License. See <a href="LICENSE" class="uri">LICENSE</a>.</p>
+<p>This package is distributed under the BSD 2-Clause License. See <a href="LICENSE">LICENSE</a>.</p>
<h2 id="changelog">CHANGELOG</h2>
<ul>
<li>2017-02-08
@@ -209,9 +209,28 @@
<li>New regnal year.</li>
<li>Fixed bugs.</li>
</ul></li>
+<li>2019-05-07
+<ul>
+<li>Added a small length to <code>\textwidth</code> and <code>\textheight</code>.</li>
+<li>Changed the implementation of <code>running_head_ii</code> etc. in <code>\DeclarePageStyle</code>.</li>
+<li>Fixed bugs.</li>
+</ul></li>
+<li>2019-09-24
+<ul>
+<li>Deleted the (re-)definitions of <code>\@cite</code> and <code>\@biblabel</code>.</li>
+<li>Added <code>\allowbreak</code> before block headings.</li>
+<li>Fixed bugs.</li>
+</ul></li>
+<li>2020-02-07
+<ul>
+<li>Changed the default value of <code>itemization_label_length</code> to <code>\leftmargini</code> etc.</li>
+<li>Removed the redefinitions <code>\rmfamily</code> etc and added a code to <code>\@rmfamilyhook</code>.</li>
+<li>Changed <code>\parskip</code> to <code>0pt</code>.</li>
+<li>Fixed bugs.</li>
+</ul></li>
</ul>
<hr />
-<p>Noriyuki Abe <a href="https://github.com/abenori/jlreq" class="uri">https://github.com/abenori/jlreq</a></p>
+<p>Noriyuki Abe <a href="https://github.com/abenori/jlreq">https://github.com/abenori/jlreq</a></p>
</article>
</body>
</html>
Binary files old/doc/latex/jlreq/jlreq.pdf and new/doc/latex/jlreq/jlreq.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jlreq.doc.tlpobj new/tlpkg/tlpobj/jlreq.doc.tlpobj
--- old/tlpkg/tlpobj/jlreq.doc.tlpobj 2019-04-02 01:24:45.000000000 +0200
+++ new/tlpkg/tlpobj/jlreq.doc.tlpobj 2020-02-09 01:54:35.000000000 +0100
@@ -1,15 +1,17 @@
name jlreq.doc
category Package
-revision 50697
+revision 53717
shortdesc doc files of jlreq
relocated 1
-docfiles size=40
+docfiles size=158
RELOC/doc/latex/jlreq/LICENSE
RELOC/doc/latex/jlreq/README-ja.md
RELOC/doc/latex/jlreq/README.md
RELOC/doc/latex/jlreq/jlreq-ja.html
+ RELOC/doc/latex/jlreq/jlreq-ja.pdf
RELOC/doc/latex/jlreq/jlreq-trimmarks-ja.html
RELOC/doc/latex/jlreq/jlreq-trimmarks-ja.md
RELOC/doc/latex/jlreq/jlreq-trimmarks.html
RELOC/doc/latex/jlreq/jlreq-trimmarks.md
RELOC/doc/latex/jlreq/jlreq.html
+ RELOC/doc/latex/jlreq/jlreq.pdf
++++++ jlreq.tar.xz ++++++
++++ 1909 lines of diff (skipped)
++++++ jmlr.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jmlr/CHANGES new/doc/latex/jmlr/CHANGES
--- old/doc/latex/jmlr/CHANGES 2017-08-01 23:39:04.000000000 +0200
+++ new/doc/latex/jmlr/CHANGES 2020-03-26 22:29:05.000000000 +0100
@@ -1,18 +1,45 @@
-v1.24:
+v1.27 (2020-03-26):
+
+ * jmlrutils.sty:
+
+ Bug fix: subfigure and subtable references were producing
+ extraneous text (added check for LaTeX kernel version)
+
+v1.26 (2020-01-31):
+
+ * jmlr.cls:
+
+ - removed \vbox from \@jmlrmaketitle to allow for extremely long
+ author/affiliation list. Added \ignorespaces before \@author
+ to allow for spacing the contents in the code for clarity
+ at the start of a long author list.
+
+v1.25 (2020-01-17):
+
+ * jmlr.cls:
+
+ - Added check for graphics.sty 2019/07/01 (which now detokenizes
+ filename)
+
+ * jmlrutils.sty:
+
+ - Added \proofname
+
+v1.24 (2017-08-01):
* moved non-class related code into new package jmlrutils.sty
* fixed bug in \includeteximage
-v1.23:
+v1.23 (2017-03-09):
* added pmlr class option
-v1.22:
+v1.22 (2015-04-11):
* added oneside and twoside class options
-v1.21:
+v1.21 (2015-02-24):
* jmlr.cls
@@ -25,19 +52,19 @@
- added \nopagebreak after \@editorialteam
-v1.20:
+v1.20 (2014-10-15):
* jmlrbook.cls
- added \jmlrprefaceheader, \jmlrlocation
-v1.19:
+v1.19 (2014-09-29):
* jmlrbook.cls
- changed \chapter* to \chapter in preface environment
-v1.18:
+v1.18 (2013-10-17):
* jmlrbook.cls
@@ -58,7 +85,7 @@
- Added \theorembodyfont, \theoremheaderfont, \theorempostheader
and \theoremsep
-v1.17:
+v1.17 (2012-05-30):
* jmlr.cls
@@ -79,7 +106,7 @@
- added optional argument to \logo
-v1.16:
+v1.16 (2012-05-15):
* jmlr.cls
@@ -89,7 +116,7 @@
- added code to deal with \c@lenddoca clash
-v1.15:
+v1.15 (2012-05-12):
* jmlrbook.cls
@@ -102,7 +129,7 @@
- added \markleft
-v1.14:
+v1.14 (2012-04-24):
* jmlrbook.cls
@@ -110,7 +137,7 @@
information to aux file
- fixed bug in fetching time zone information
-v1.13:
+v1.13 (2012-02-25):
* jmlrbook.cls
@@ -122,7 +149,7 @@
- added \@pre@hyperref hook
-v1.12:
+v1.12 (2012-01-05):
* jmlr.cls
@@ -163,7 +190,7 @@
- added debugging option --noexecute
-v1.11:
+v1.11 (2011-03-24):
* jmlr.cls
@@ -193,7 +220,7 @@
- abstract html source files now input original aux files to allow
for citations.
-v1.10:
+v1.10 (2011-01-05):
jmlr.cls
@@ -236,7 +263,7 @@
* added time stamp at the end of each of the generated html file.
-v1.09:
+v1.09 (2010-12-01):
jmlr.cls
@@ -265,16 +292,16 @@
* Added \label to \jmlrmaketitlehook
-v1.08:
+v1.08 (2010-07-27):
* Fixed \thanks so that the footnote symbol is raised and isn't
followed by a full stop.
-v1.07:
+v1.07 (2010-06-30):
* Added check for two column
-v1.06:
+v1.06 (2010-06-17):
jmlr.cls
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jmlr/README new/doc/latex/jmlr/README
--- old/doc/latex/jmlr/README 2017-08-01 23:39:04.000000000 +0200
+++ new/doc/latex/jmlr/README 2020-03-26 22:29:05.000000000 +0100
@@ -1,8 +1,17 @@
-LaTeX Class : jmlr bundle v1.24
+LaTeX Class : jmlr bundle v1.27 (2020-03-26)
-Last Modified : 2017-08-01
+Author : Nicola L. C. Talbot
+ dickimaw-books.com/contact
-Author : Nicola L. C. Talbot
+LICENCE
+
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/license/lppl1.3
+for the details of that license.
+
+Copyright 2006-2020 Nicola Talbot
+
+DESCRIPTION
This bundle provides:
@@ -60,12 +69,6 @@
setspace
fink
-LICENCE
-
-This material is subject to the LaTeX Project Public License.
-See http://www.ctan.org/license/lppl1.3
-for the details of that license.
-
RELATED SOFTWARE:
http://www.dickimaw-books.com/software/makejmlrbookgui/
Binary files old/doc/latex/jmlr/jmlr.pdf and new/doc/latex/jmlr/jmlr.pdf differ
Binary files old/doc/latex/jmlr/sample-books/jmlrbook-sample.pdf and new/doc/latex/jmlr/sample-books/jmlrbook-sample.pdf differ
Binary files old/doc/latex/jmlr/sample-books/proceedings-sample.pdf and new/doc/latex/jmlr/sample-books/proceedings-sample.pdf differ
Binary files old/doc/latex/jmlr/sample-papers/jmlr-sample.pdf and new/doc/latex/jmlr/sample-papers/jmlr-sample.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jmlr/sample-papers/jmlr-sample.tex new/doc/latex/jmlr/sample-papers/jmlr-sample.tex
--- old/doc/latex/jmlr/sample-papers/jmlr-sample.tex 2015-02-25 00:10:45.000000000 +0100
+++ new/doc/latex/jmlr/sample-papers/jmlr-sample.tex 2020-03-26 22:29:05.000000000 +0100
@@ -128,9 +128,9 @@
Please also ensure that your document will compile with PDF\LaTeX.
If you have an error message that's puzzling you, first check for it
at the UK TUG FAQ
-\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex}. If
+\url{https://texfaq.org/FAQ-man-latex}. If
that doesn't help, create a minimal working example (see
-\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/minexample/}) and post
+\url{https://www.dickimaw-books.com/latex/minexample/}) and post
to somewhere like \TeX\ on StackExchange
(\url{http://tex.stackexchange.com/}) or the \LaTeX\ Community Forum
(\url{http://www.latex-community.org/forum/}).
Binary files old/doc/latex/jmlr/sample-papers/jmlrwcp-sample.pdf and new/doc/latex/jmlr/sample-papers/jmlrwcp-sample.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jmlr/sample-papers/jmlrwcp-sample.tex new/doc/latex/jmlr/sample-papers/jmlrwcp-sample.tex
--- old/doc/latex/jmlr/sample-papers/jmlrwcp-sample.tex 2017-08-01 23:39:04.000000000 +0200
+++ new/doc/latex/jmlr/sample-papers/jmlrwcp-sample.tex 2020-03-26 22:29:05.000000000 +0100
@@ -102,9 +102,9 @@
Please also ensure that your document will compile with PDF\LaTeX.
If you have an error message that's puzzling you, first check for it
at the UK TUG FAQ
-\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex}. If
+\url{https://texfaq.org/FAQ-man-latex}. If
that doesn't help, create a minimal working example (see
-\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/minexample/}) and post
+\url{https://www.dickimaw-books.com/latex/minexample}) and post
to somewhere like TeX on StackExchange
(\url{http://tex.stackexchange.com/}) or the LaTeX Community Forum
(\url{http://www.latex-community.org/forum/}).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jmlr.doc.tlpobj new/tlpkg/tlpobj/jmlr.doc.tlpobj
--- old/tlpkg/tlpobj/jmlr.doc.tlpobj 2019-02-28 03:45:24.000000000 +0100
+++ new/tlpkg/tlpobj/jmlr.doc.tlpobj 2020-03-26 23:29:41.000000000 +0100
@@ -1,9 +1,9 @@
name jmlr.doc
category Package
-revision 44935
+revision 54562
shortdesc doc files of jmlr
relocated 1
-docfiles size=523
+docfiles size=532
RELOC/doc/latex/jmlr/CHANGES
RELOC/doc/latex/jmlr/INSTALL
RELOC/doc/latex/jmlr/README
++++++ jmlr.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/jmlr/jmlr.cls new/tex/latex/jmlr/jmlr.cls
--- old/tex/latex/jmlr/jmlr.cls 2017-08-01 23:39:04.000000000 +0200
+++ new/tex/latex/jmlr/jmlr.cls 2020-03-26 22:29:05.000000000 +0100
@@ -7,7 +7,7 @@
%% jmlr.dtx (with options: `jmlr.cls,package')
%%
%% jmlr.dtx
-%% Copyright 2017 Nicola Talbot
+%% Copyright 2020 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -41,7 +41,7 @@
%% First editor:
%% Second editor:
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jmlr}[2017/08/01 v1.24 (NLCT) Journal of Machine Learning Research]
+\ProvidesClass{jmlr}[2020/03/26 v1.27 (NLCT) Journal of Machine Learning Research]
\RequirePackage{xkeyval}
\RequirePackage{calc}
\RequirePackage{etoolbox}
@@ -450,16 +450,17 @@
\fi
\vskip \aftermaketitskip
}
-\def\@jmlrmaketitle{\vbox{\hsize\textwidth
- \linewidth\hsize
- \jmlrpretitle
+\def\@jmlrmaketitle{%
+ {%
+ \jmlrpretitle
{%
\def\titletag##1{##1}%
\@title
}%
- \jmlrposttitle
- \jmlrpreauthor \@author \jmlrpostauthor
-}}
+ \jmlrposttitle
+ \jmlrpreauthor \ignorespaces\@author \jmlrpostauthor
+ }%
+}
\newcommand*\kernelmachines{(for
{\textsc{http://www.kernel-machines.org}})}
\newcommand*{\editorname}{Editor}
@@ -588,11 +589,10 @@
\newcommand{\acks}[1]{\section*{Acknowledgments}#1}
\newcommand{\researchnote}[1]{\noindent {\LARGE\itshape Research Note} #1}
\providecommand{\ifprint}[2]{\ifgrayscale#1\else#2\fi}
-%% \begin{macrocode}
\ifjmlrhtml
\else
\let\@org@Ginclude@graphics\Ginclude@graphics
- \def\Ginclude@graphics#1{%
+ \def\@jmlr@old@Ginclude@graphics#1{%
\begingroup
\let\input@path\Ginput@path
\ifprint{\filename@parse{#1-gray}}{\filename@parse{#1}}%
@@ -628,6 +628,91 @@
\csname Gin@rule@\Gin@ext\endcsname{\Gin@base\Gin@ext}}%
\fi
\endgroup}
+\def\@jmlr@new@Ginclude@graphics#1{%
+ \ifx\detokenize\@undefined\else
+ \edef\Gin@extensions{\detokenize\expandafter{\Gin@extensions}}%
+ \fi
+ \begingroup
+ \let\input@path\Ginput@path
+ \ifprint{\set@curr@file{#1-gray}}{\set@curr@file{#1}}%
+ \expandafter\filename@parse\expandafter{\@curr@file}%
+ \ifx\filename@ext\Gin@gzext
+ \expandafter\filename@parse\expandafter{\filename@base}%
+ \ifx\filename@ext\relax
+ \let\filename@ext\Gin@gzext
+ \else
+ \edef\Gin@ext{\Gin@ext\Gin@sepdefault\Gin@gzext}%
+ \fi
+ \fi
+ \let\@jmlr@filename@ext\filename@ext
+ \ifx\filename@ext\relax
+ \@for\Gin@temp:=\Gin@extensions\do{%
+ \ifx\Gin@ext\relax
+ \Gin@getbase\Gin@temp
+ \fi}%
+ \ifprint
+ {\ifx\Gin@ext\relax
+ \set@curr@file{#1}%
+ \expandafter\filename@parse\expandafter{\@curr@file}%
+ \ifx\filename@ext\Gin@gzext
+ \expandafter\filename@parse\expandafter{\filename@base}%
+ \ifx\filename@ext\relax
+ \let\filename@ext\Gin@gzext
+ \else
+ \edef\Gin@ext{\Gin@ext\Gin@sepdefault\Gin@gzext}%
+ \fi
+ \fi
+ \let\@jmlr@filename@ext\filename@ext
+ \ifx\filename@ext\relax
+ \@for\Gin@temp:=\Gin@extensions\do{%
+ \ifx\Gin@ext\relax
+ \Gin@getbase\Gin@temp
+ \fi}%
+ \fi
+ \fi}{}%
+ \fi
+ \ifx\@jmlr@filename@ext\relax
+ \else
+ \Gin@getbase{\Gin@sepdefault\filename@ext}%
+ \ifx\Gin@ext\relax
+ \let\Gin@savedbase\filename@base
+ \let\Gin@savedext\filename@ext
+ \edef\filename@base{\filename@base\Gin@sepdefault\filename@ext}%
+ \let\filename@ext\relax
+ \@for\Gin@temp:=\Gin@extensions\do{%
+ \ifx\Gin@ext\relax
+ \Gin@getbase\Gin@temp
+ \fi}%
+ \ifx\Gin@ext\relax
+ \let\filename@base\Gin@savedbase
+ \let\filename@ext\Gin@savedext
+ \fi
+ \fi
+ \ifx\Gin@ext\relax
+ \@warning{File `#1' not found}%
+ \def\Gin@base{\filename@area\filename@base}%
+ \edef\Gin@ext{\Gin@sepdefault\filename@ext}%
+ \fi
+ \fi
+ \ifx\Gin@ext\relax
+ \@latex@error{File `#1' not found}%
+ {I could not locate the file with any of these extensions:^^J%
+ \Gin@extensions^^J\@ehc}%
+ \else
+ \@ifundefined{Gin@rule@\Gin@ext}%
+ {\ifx\Gin@rule@*\@undefined
+ \@latex@error{Unknown graphics extension: \Gin@ext}\@ehc
+ \else
+ \expandafter\Gin@setfile\Gin@rule@*{\Gin@base\Gin@ext}%
+ \fi}%
+ {\expandafter\expandafter\expandafter\Gin@setfile
+ \csname Gin@rule@\Gin@ext\endcsname{\Gin@base\Gin@ext}}%
+ \fi
+ \endgroup
+}
+ \@ifpackagelater{graphics}{2019/07/01}
+ {\let\Ginclude@graphics\@jmlr@new@Ginclude@graphics}%
+ {\let\Ginclude@graphics\@jmlr@old@Ginclude@graphics}%
\fi
\newcommand{\artappendix}{\par
\setcounter{section}{0}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/jmlr/jmlrbook.cls new/tex/latex/jmlr/jmlrbook.cls
--- old/tex/latex/jmlr/jmlrbook.cls 2017-08-01 23:39:04.000000000 +0200
+++ new/tex/latex/jmlr/jmlrbook.cls 2020-03-26 22:29:05.000000000 +0100
@@ -7,7 +7,7 @@
%% jmlr.dtx (with options: `jmlrbook.cls,package')
%%
%% jmlr.dtx
-%% Copyright 2017 Nicola Talbot
+%% Copyright 2020 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -41,7 +41,7 @@
%% First editor:
%% Second editor:
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jmlrbook}[2017/08/01 v1.24 (NLCT) JMLR Book Style]
+\ProvidesClass{jmlrbook}[2020/03/26 v1.27 (NLCT) JMLR Book Style]
\RequirePackage{xkeyval}
\RequirePackage{setspace}
\newcommand*\jmlrprefacepath{}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/jmlr/jmlrutils.sty new/tex/latex/jmlr/jmlrutils.sty
--- old/tex/latex/jmlr/jmlrutils.sty 2017-08-01 23:39:04.000000000 +0200
+++ new/tex/latex/jmlr/jmlrutils.sty 2020-03-26 22:29:05.000000000 +0100
@@ -7,7 +7,7 @@
%% jmlr.dtx (with options: `jmlrutils.sty,package')
%%
%% jmlr.dtx
-%% Copyright 2017 Nicola Talbot
+%% Copyright 2020 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -40,7 +40,7 @@
%% Right brace \} Tilde \~}
%% First editor:
%% Second editor:
-\ProvidesPackage{jmlrutils}[2017/08/01]
+\ProvidesPackage{jmlrutils}[2020/03/26 v1.27 (NLCT)]
\newif\ifjmlrutilsmaths
\jmlrutilsmathstrue
\DeclareOption{maths}{\jmlrutilsmathstrue}
@@ -216,12 +216,24 @@
\newcommand*{\@p@subfigure}[1]{%
\protect\@subfigurelabel{\thefigure}{\thesubfigure}%
}
- \newcommand*\@subfigurelabel[2]{#1\subfigurelabel{#2}}
- \newcommand*\@subfigref[1]{%
- {%
- \def\@subfigurelabel##1##2{\subfigurelabel{##2}}%
- \ref{#1}%
- }%
+ \@ifl@t@r\fmtversion{2019/08/22}%
+ {
+ \newcommand*\@subfigurelabel[3]{#1\subfigurelabel{#2}}
+ \newcommand*\@subfigref[1]{%
+ {%
+ \def\@subfigurelabel##1##2##3{\subfigurelabel{##2}}%
+ \ref{#1}%
+ }%
+ }
+ }%
+ {
+ \newcommand*\@subfigurelabel[2]{#1\subfigurelabel{#2}}
+ \newcommand*\@subfigref[1]{%
+ {%
+ \def\@subfigurelabel##1##2{\subfigurelabel{##2}}%
+ \ref{#1}%
+ }%
+ }
}
\newcommand*{\subfigref}[1]{%
\let\@objectname\@empty
@@ -280,13 +292,25 @@
\newcommand*{\@p@subtable}[1]{%
\protect\@subtablelabel{\thetable}{\thesubtable}%
}
- \newcommand*\@subtablelabel[2]{#1\subtablelabel{#2}}
- \newcommand*\@subtabref[1]{%
- {%
- \def\@subtablelabel##1##2{\subtablelabel{##2}}%
- \ref{#1}%
- }%
- }
+ \@ifl@t@r\fmtversion{2019/08/22}%
+ {
+ \newcommand*\@subtablelabel[3]{#1\subtablelabel{#2}}
+ \newcommand*\@subtabref[1]{%
+ {%
+ \def\@subtablelabel##1##2##3{\subtablelabel{##2}}%
+ \ref{#1}%
+ }%
+ }
+ }%
+ {
+ \newcommand*\@subtablelabel[2]{#1\subtablelabel{#2}}
+ \newcommand*\@subtabref[1]{%
+ {%
+ \def\@subtablelabel##1##2{\subtablelabel{##2}}%
+ \ref{#1}%
+ }%
+ }
+ }%
\newcommand*{\subtabref}[1]{%
\let\@objectname\@empty
\def\@objectref{}%
@@ -374,9 +398,10 @@
\newcommand{\jmlrBlackBox}{\rule{1.5ex}{1.5ex}}
\providecommand{\BlackBox}{\jmlrBlackBox}
\newcommand{\jmlrQED}{\hfill\jmlrBlackBox\par\bigskip}
+\providecommand{\proofname}{Proof}
\newenvironment{proof}%
{%
- \par\noindent{\bfseries\upshape Proof\ }%
+ \par\noindent{\bfseries\upshape \proofname\ }%
}%
{\jmlrQED}
\newcommand*{\theorembodyfont}[1]{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jmlr.tlpobj new/tlpkg/tlpobj/jmlr.tlpobj
--- old/tlpkg/tlpobj/jmlr.tlpobj 2019-02-28 03:45:25.000000000 +0100
+++ new/tlpkg/tlpobj/jmlr.tlpobj 2020-03-26 23:29:41.000000000 +0100
@@ -1,6 +1,6 @@
name jmlr
category Package
-revision 44935
+revision 54562
shortdesc Class files for the Journal of Machine Learning Research
relocated 1
longdesc The jmlr bundle provides a class for authors (jmlr) and a class
@@ -11,14 +11,13 @@
longdesc or a greyscale nonhyperlinked book for printing. Production
longdesc editors can use makejmlrbookgui to help build the proceedings
longdesc from the articles.
-runfiles size=29
+runfiles size=30
RELOC/scripts/jmlr/makejmlrbook
RELOC/tex/latex/jmlr/jmlr.cls
RELOC/tex/latex/jmlr/jmlrbook.cls
RELOC/tex/latex/jmlr/jmlrutils.sty
-catalogue-contact-bugs http://www.dickimaw-books.com/cgi-bin/bugtracker.cgi
+catalogue-contact-bugs https://www.dickimaw-books.com/bugtracker.php?category=jmlr
catalogue-ctan /macros/latex/contrib/jmlr
-catalogue-date 2017-08-01 19:14:03 +0200
catalogue-license lppl1.3
catalogue-topics journalpub class
-catalogue-version 1.24
+catalogue-version 1.27
++++++ jnuexam.doc.tar.xz ++++++
Binary files old/doc/latex/jnuexam/exam-a-a3input.pdf and new/doc/latex/jnuexam/exam-a-a3input.pdf differ
Binary files old/doc/latex/jnuexam/exam-a-a3split.pdf and new/doc/latex/jnuexam/exam-a-a3split.pdf differ
Binary files old/doc/latex/jnuexam/exam-a-empty.pdf and new/doc/latex/jnuexam/exam-a-empty.pdf differ
Binary files old/doc/latex/jnuexam/exam-a.pdf and new/doc/latex/jnuexam/exam-a.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jnuexam/exam-a.tex new/doc/latex/jnuexam/exam-a.tex
--- old/doc/latex/jnuexam/exam-a.tex 2018-11-21 22:59:30.000000000 +0100
+++ new/doc/latex/jnuexam/exam-a.tex 2019-11-08 22:40:58.000000000 +0100
@@ -39,10 +39,10 @@
\vfill
\begin{problem}
-已知二阶行列式 $\text{$\left|\begin{array}{cc}
+已知二阶行列式 $\left|\begin{array}{cc}
1 & 2\\
- 3 & x
-\end{array}\right|$=0}$,则 $x=$ \fillout{$-6$}.
+\end{array}\right|=0$,则 $x=$ \fillout{$-6$}.
\end{problem}
\vfill
@@ -178,10 +178,10 @@
\begin{solution}
\everymath{\displaystyle}%
-原式$=\int\e^{2x}\,\sec^2 x\dx+2\int\e^{2x}\,\tan x\dx$ \score{2}
-\hspace{5em}${}=\int\e^{2x}\,\d(\tan x)+ 2\int\e^{2x}\,\tan x\dx$ \score{4}
-\hspace{5em}${}=\e^{2x}\,\tan x - 2\int\e^{2x}\,\tan x\dx+ 2\int\e^{2x}\,\tan x\dx$ \score{6}
-\hspace{5em}${}=\e^{2x}\,\tan x + C$ \score{8}
+原式 \? $=\int\e^{2x}\,\sec^2 x\dx+2\int\e^{2x}\,\tan x\dx$ \score{2}
+\+ $=\int\e^{2x}\,\d(\tan x)+ 2\int\e^{2x}\,\tan x\dx$ \score{4}
+\+ $=\e^{2x}\,\tan x - 2\int\e^{2x}\,\tan x\dx+ 2\int\e^{2x}\,\tan x\dx$ \score{6}
+\+ $=\e^{2x}\,\tan x + C$ \score{8}
\end{solution}
\vfill
@@ -220,7 +220,7 @@
\bigskip
\begin{solution}
-$A = \left|\begin{array}{cccc}
+$A \? = \left|\begin{array}{cccc}
0 & 1 & 2 & 3\\
1 & 2 & 3 & 0\\
2 & 3 & 0 & 1\\
@@ -235,7 +235,7 @@
- 1 & - 6 & 1\\
- 6 & - 8 & 2
\end{array}\right|$ \score{4}
-\qquad $= -\left|\begin{array}{ccc}
+\+ $= -\left|\begin{array}{ccc}
1 & 2 & 3\\
0 & - 4 & 4\\
0 & 4 & 20
@@ -255,11 +255,11 @@
\bigskip
\begin{solution}
-$f = x_1^2 + 2 x_1 x_2 - 6 x_1 x_3 + 2 x_2^2 - 12 x_2 x_3 + 9 x^2_3$ \par
-\qquad$= x_1^2 + 2 x_1 (x_2 - 3 x_3) + (x_2 - 3 x_3)^2 + x_2^2 - 6 x_2 x_3 $ \par
-\qquad$= (x_1 + x_2 - 3 x_3)^2 + x_2^2 - 6 x_2 x_3$ \score{3}
-\qquad$= (x_1 + x_2 - 3 x_3)^2 + x_2^2 - 2 x_2 \cdot 3 x_3 + (3 x_3)^2 - 9x_3^2$ \par
-\qquad$= (x_1 + x_2 - 3 x_3)^2 + (x_2 - 3 x_3)^2 - 9 x_3^2$ \score{6}
+$f \? = x_1^2 + 2 x_1 x_2 - 6 x_1 x_3 + 2 x_2^2 - 12 x_2 x_3 + 9 x^2_3$ \par
+ \+ $= x_1^2 + 2 x_1 (x_2 - 3 x_3) + (x_2 - 3 x_3)^2 + x_2^2 - 6 x_2 x_3 $ \par
+ \+ $= (x_1 + x_2 - 3 x_3)^2 + x_2^2 - 6 x_2 x_3$ \score{3}
+ \+ $= (x_1 + x_2 - 3 x_3)^2 + x_2^2 - 2 x_2 \cdot 3 x_3 + (3 x_3)^2 - 9x_3^2$ \par
+ \+ $= (x_1 + x_2 - 3 x_3)^2 + (x_2 - 3 x_3)^2 - 9 x_3^2$ \score{6}
令$y_1 = x_1 + x_2 - 3 x_3, y_2 = x_2 - 3 x_3, y_3 = x_3$, \newline
则$f = y_1^2 + y_2^2 - 9y_3^2$为标准形.\score{8}
\end{solution}
@@ -270,19 +270,19 @@
\begin{problem}
设每发炮弹命中飞机的概率是0.2且相互独立,现在发射100发炮弹.\par
-\step 用切贝谢夫不等式估计命中数目$\xi$在10发到30发之间的概率.\par
-\step 用中心极限定理估计命中数目$\xi$在10发到30发之间的概率.
+(1) 用切贝谢夫不等式估计命中数目$\xi$在10发到30发之间的概率.\par
+(2) 用中心极限定理估计命中数目$\xi$在10发到30发之间的概率.
\end{problem}
\bigskip
\begin{solution}
$E\xi = n p = 100 \cdot 0.2 = 20, D\xi = n p q = 100 \cdot 0.2 \cdot 0.8 = 16$. \score{2}
-\step $P (10 < \xi < 30) = P (| \xi - E \xi | < 10) \ge 1 - \frac{D\xi}{10^2}
+(1) $P (10 < \xi < 30) = P (|\xi - E\xi| < 10) \ge 1 - \frac{D\xi}{10^2}
= 1 - \frac{16}{100} = 0.84$. \score{4}
-\step $P (10 < \xi < 30) \approx \Phi_0 \left( \frac{30 - 20}{\sqrt{16}}\right)
- - \Phi_0 \left( \frac{10 - 20}{\sqrt{16}} \right)$ \score{6}
-\qquad $= 2 \Phi_0 (2.5) - 1 = 2 \cdot 0.9938 - 1 =0.9876$ \score{8}
+(2) $P (10 < \xi < 30) \? \approx \Phi_0\left(\frac{30 - 20}{\sqrt{16}}\right)
+ - \Phi_0\left(\frac{10 - 20}{\sqrt{16}}\right)$ \score{6}
+ \+ $= 2 \Phi_0(2.5) - 1 = 2 \cdot 0.9938 - 1 =0.9876$ \score{8}
\end{solution}
\vfill
@@ -295,11 +295,11 @@
\bigskip
\begin{solution}
-\step 待检假设 $H_0 : \mu = 3140$. \score{1}
-\step 选取统计量 $T = \frac{\bar{X}-\mu}{S / \sqrt{n}} \sim t(n-1)$. \score{3}
-\step 查表得到 $t_{\alpha} = t_{\alpha} (n - 1) = t_{0.01} (15) =2.947$. \score{5}
-\step 计算统计值 $t = \frac{\bar{x} - \mu_0}{s/\sqrt{n}} =\frac{3160-3140}{100/4} = 0.8$.\score{7}
-\step 由于 $| t | < t_{\alpha}$, 故接受 $H_0$, 即假设成立. \score{8}
+(1) 待检假设 $H_0 : \mu = 3140$. \score{1}
+(2) 选取统计量 $T = \frac{\widebar{X}-\mu}{S / \sqrt{n}} \sim t(n-1)$. \score{3}
+(3) 查表得到 $t_{\alpha} = t_{\alpha} (n - 1) = t_{0.01} (15) =2.947$. \score{5}
+(4) 计算统计值 $t = \frac{\widebar{x} - \mu_0}{s/\sqrt{n}} =\frac{3160-3140}{100/4} = 0.8$.\score{7}
+(5) 由于 $| t | < t_{\alpha}$, 故接受 $H_0$, 即假设成立. \score{8}
\end{solution}
\vfill
@@ -308,6 +308,8 @@
\makepart{证明题}{共~2~小题,每小题~8~分,共~16~分}
+\renewcommand{\solutionname}{证} % 将“解”字改为“证”字
+
\begin{problem}
设数列$\{x_n\}$满足$x_1=\sqrt2$,$x_{n+1}=\sqrt{2+x_n}$.证明数列收敛,并求出极限.
\end{problem}
@@ -315,13 +317,13 @@
\bigskip
\begin{solution}
-\step 事实上,由于$x_1<2$,且$x_k<2$时
+(1) 事实上,由于$x_1<2$,且$x_k<2$时
$$x_{k+1}=\sqrt{2+x_k}<\sqrt{2+2}=2,$$
由数学归纳法知对所有$n$都有$x_n<2$,即数列有上界.
又由于
$$\frac{x_{n+1}}{x_n}=\sqrt{\frac{2}{x_n^2}+\frac{1}{x_n}}>\sqrt{\frac{2}{2^2}+\frac{1}{2}}=1,$$
所以数列单调增加.由极限存在准则II,数列必定收敛.\score{4}
-\step 设数列的极限为$A$,对递推公式两边同时取极限得到
+(2) 设数列的极限为$A$,对递推公式两边同时取极限得到
$$A=\sqrt{2+A}.$$
解得$A=2$,即数列$\{x_n\}$的极限为$2$.\score{8}
\end{solution}
@@ -329,29 +331,29 @@
\vfill
\begin{problem}
-设事件$A$和$B$相互独立,证明$A$和$\bar{B}$相互独立.
+设事件$A$和$B$相互独立,证明$A$和$\widebar{B}$相互独立.
\end{problem}
\bigskip
\begin{solution}
-$P (A \cdot \bar{B}) = P (A - B) = P (A - A B)$ \score{2}
-\qquad $= P (A) - P (A B) = P (A) - P (A) P (B)$ \score{4}
-\qquad $= P (A) (1 - P (B)) = P (A) P (\bar{B})$ \score{6}
-所以$A$和$\bar{B}$相互独立.\score{8}
+\? $P (A \cdot \widebar{B}) = P (A - B) = P (A - A B)$ \score{2}
+\< $= P (A) - P (A B) = P (A) - P (A) P (B)$ \score{4}
+\< $= P (A) (1 - P (B)) = P (A) P (\widebar{B})$ \score{6}
+所以$A$和$\widebar{B}$相互独立.\score{8}
\end{solution}
\vfill
\makedata{一些可能用到的数据} %附录数据
-\begin{tabu}{*{4}{X[l,$]}}
+\begin{tabularx}{\linewidth}{*{4}{>{$}X<{$}}}
\hline
\Phi_0(0.5)=0.6915 & \Phi_0(1)=0.8413 & \Phi_0(2)=0.9773 & \Phi_0(2.5)=0.9938 \\
t_{0.01}(8)=3.355 & t_{0.01}(9)=3.250 & t_{0.01}(15)=2.947 & t_{0.01}(16)=2.921 \\
\chi_{0.005}^2(8)=22.0 & \chi_{0.005}^2(9)=23.6 & \chi_{0.005}^2(15)=32.8 & \chi_{0.005}^2(16)=34.3 \\
\chi_{0.995}^2(8)=1.34 & \chi_{0.995}^2(9)=1.73 & \chi_{0.995}^2(15)=4.60 & \chi_{0.995}^2(16)=5.14 \\
\hline
-\end{tabu}
+\end{tabularx}
\end{document}
Binary files old/doc/latex/jnuexam/exam-b-a3input.pdf and new/doc/latex/jnuexam/exam-b-a3input.pdf differ
Binary files old/doc/latex/jnuexam/exam-b-a3split.pdf and new/doc/latex/jnuexam/exam-b-a3split.pdf differ
Binary files old/doc/latex/jnuexam/exam-b-empty.pdf and new/doc/latex/jnuexam/exam-b-empty.pdf differ
Binary files old/doc/latex/jnuexam/exam-b.pdf and new/doc/latex/jnuexam/exam-b.pdf differ
Binary files old/doc/latex/jnuexam/jnuexam.pdf and new/doc/latex/jnuexam/jnuexam.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jnuexam/jnuexam.tex new/doc/latex/jnuexam/jnuexam.tex
--- old/doc/latex/jnuexam/jnuexam.tex 2018-11-21 22:59:30.000000000 +0100
+++ new/doc/latex/jnuexam/jnuexam.tex 2019-11-08 22:40:58.000000000 +0100
@@ -5,9 +5,7 @@
\usepackage[UTF8,noindent]{ctex}
\usepackage{arev}
-\usepackage{ragged2e}
-\usepackage{listings}
-\usepackage{tabu}
+\usefonttheme{professionalfonts}
\makeatletter
@@ -28,39 +26,45 @@
\setlength{\parskip}{7pt plus 1pt minus 1pt}
-\justifying
-\let\oldraggedright\raggedright
-\let\raggedright\justifying
-
-\lstset{
- basicstyle=\ttfamily\color{blue!50!red}
-}
-
-\lstnewenvironment{code}{}{}
-
\setbeamersize{text margin left=8mm,text margin right=8mm}
-\newenvironment{framex}{\begin{frame}[fragile=singleslide,environment=framex]}{\end{frame}}
+\setbeamercolor{normal text}{bg=gray!20}
\setbeamertemplate{frametitle}{\strut\insertframetitle\strut\par}
\setbeamertemplate{navigation symbols}{}
+\newcommand{\cdotfill}{\leavevmode\xleaders\hbox to 0.5em{\hss$\cdot$\hss}\hfill\kern0pt\relax}
+
+\usepackage{tabularx}
+
\newcommand{\ulinefill}[1]{\xleaders\hbox{\underline{\vphantom{#1}\kern1pt}}\hfill\kern0pt}
\newcommand{\fillbox}[1]{\ulinefill{#1}\underline{#1}\ulinefill{#1}}
-\setbeamercolor{normal text}{bg=gray!20}
-
\setbeamertemplate{title page}{%
\renewcommand{\arraystretch}{2}%
\usebeamerfont{title}
- \begin{tabu}{|X|}
+ \begin{tabularx}{\linewidth}{|X|}
\hline
模板名称:\fillbox{\usebeamercolor[fg]{title}\inserttitle} \\
模板作者:\fillbox{\insertauthor} \\
所在单位:\fillbox{\insertinstitute} \\
更新日期:\fillbox{\the\year}年\fillbox{\the\month}月\fillbox{\the\day}日\\
\hline
- \end{tabu}%
+ \end{tabularx}%
+}
+
+\usepackage{ragged2e}
+
+\justifying
+\let\oldraggedright\raggedright
+\let\raggedright\justifying
+
+\usepackage{fancyvrb}
+
+\newenvironment{framex}{\begin{frame}[fragile=singleslide,environment=framex]}{\end{frame}}
+
+\DefineVerbatimEnvironment{code}{Verbatim}{%
+ formatcom=\color{blue!50!red}%
}
\begin{document}
@@ -136,6 +140,22 @@
\end{framex}
\begin{framex}
+\frametitle{判断题目}
+\begin{code}
+\makepart{判断题}{题数分值}
+
+\begin{problem}
+第一道判断题描述。\true
+\end{problem}
+
+\begin{problem}
+第二道判断题描述。\false
+\end{problem}
+\end{code}
+其中 \verb!\true! 和 \verb!\false! 命令分别表示正确和错误。
+\end{framex}
+
+\begin{framex}
\frametitle{填空题目}
\begin{code}
\makepart{填空题}{题数分值}
@@ -243,6 +263,15 @@
\end{framex}
\begin{framex}
+\frametitle{解答名称}
+通过重新定义 \verb!\solutionname! 命令,可以改变 \verb!solution! 环境的名称。
+比如下面例子将“解答”二字改为“证明”:
+\begin{code}
+\renewcommand{\solutionname}{证明}
+\end{code}
+\end{framex}
+
+\begin{framex}
\frametitle{评分命令}
计算题和证明题等主观题的排版方法是完全一样的。在编写这些主观题的解答时,
可以用 \verb!\score! 命令给出各步骤得分。比如:
@@ -256,6 +285,40 @@
\end{framex}
\begin{framex}
+\frametitle{对齐命令}
+此文档类提供几个对齐命令,用于在不同行之间对齐。比如
+\vskip1em\hrule
+我们有$(a+b)^2 = (a+b)(a+b)$ \par
+\leavevmode\phantom{我们有$(a+b)^2$}${}= a^2 + 2ab + b^2$ \cdotfill 2分
+\vskip0.6em\hrule\vskip1em
+\begin{code}
+我们有$(a+b)^2 \? = (a+b)(a+b)$ \\
+ \+$= a^2+2ab+b^2$ \score{2}
+\end{code}
+第一个公式内部的 \verb!\?! 保存当前水平位置,
+而第二个公式前面的 \verb!\+! 表示跳到之前保存的位置。
+\par
+这两个对齐命令 \verb!\?! 和 \verb!\+! 需要编译两次才能生效。
+\end{framex}
+
+\begin{framex}
+\frametitle{对齐命令}
+此文档类提供几个对齐命令,用于在不同行的对齐。比如
+\vskip1em\hrule
+我们有$(a+b)^2 = (a+b)(a+b)$ \par
+\leavevmode\phantom{我们\,}${}= a^2 + 2ab + b^2$ \cdotfill 2分
+\vskip0.6em\hrule\vskip1em
+\begin{code}
+我们有 \? $(a+b)^2 = (a+b)(a+b)$ \\
+ \< $= a^2+2ab+b^2$ \score{2}
+\end{code}
+第一行公式前面的 \verb!\?! 保存当前水平位置,
+而第二行公式前面的 \verb!\{\centering\arraybackslash}X}
+\newcolumntype{n}[1]{>{\centering\arraybackslash}m{#1}}
+
\setlength{\parindent}{0em}
-\setlength{\lineskiplimit}{3pt}
-\setlength{\lineskip}{3pt}
+\setlength{\lineskiplimit}{4pt}
+\setlength{\lineskip}{4pt}
%% ---------------------------------------------------------------------------
%% 密封线命令 \mifengxian
@@ -116,10 +131,10 @@
\newcommand{\head@table@a}{%
\begin{tabular}{l}
- \underbox{11em}{\niandu}学年度第\underbox{5.5em}{\xueqi}学期 \\
- 课程名称:\underbox{17.5em}{\kecheng\ifx\zhuanye\my@empty\else\kern0pt(\zhuanye)\fi} \\
- 授课教师:\underparbox{17.5em}{\centering\rule{0pt}{3ex}\jiaoshi} \\
- 考试时间:\underbox{17.5em}{\shijian} \\
+ \underbox{11\ccwd}{\niandu}学年度第\underbox{5.5\ccwd}{\xueqi}学期 \\
+ 课程名称:\underbox{17.5\ccwd}{\kecheng\ifx\zhuanye\my@empty\else\kern0pt(\zhuanye)\fi} \\
+ 授课教师:\underparbox{17.5\ccwd}{\centering\rule{0pt}{3ex}\jiaoshi} \\
+ 考试时间:\underbox{17.5\ccwd}{\shijian} \\
\end{tabular}
}
@@ -136,9 +151,9 @@
\newcommand{\head@table@c}{%
\begin{tabular}{l}
- \underspace{10em}学院\underspace{8em}专业\underspace{7.5em}班\kern0pt(\kern0pt{}级\kern0pt) \\[1em]
- 姓名\underspace{8em}学号\underspace{10em}\hfill
- \bfseries 内招~[\ischeck{\neizhao}] 外招~[\ischeck{\waizhao}] %\\[0.8em]
+ \underspace{10\ccwd}学院\underspace{8\ccwd}专业\underspace{7.5\ccwd}班\kern0pt(\kern0pt{}级\kern0pt) \\[1em]
+ 姓名\underspace{8\ccwd}学号\underspace{10\ccwd}\hfill
+ \bfseries 内招~[\ischeck{\neizhao}]~~外招~[\ischeck{\waizhao}] %\\[0.8em]
\end{tabular}
}
@@ -151,25 +166,25 @@
\ifx\shijuan\my@temp@c\renewcommand{\shijuan}{D}\fi
\fi
\noindent
- \begin{tabu}{|@{}X@{}|}
+ \begin{tabularx}{\linewidth}{|@{}X@{}|}
\hline\renewcommand{\arraystretch}{1.5}%
- \begin{tabu}{@{}>{\bfseries}l@{}|@{}X@{}|@{}l@{}}
+ {\begin{tabularx}{\linewidth}{@{}>{\bfseries}l@{}|@{}X@{}|@{}l@{}}
\begin{tabular}{l}教\\ 师\\ 填\\ 写\end{tabular} & \head@table@a & \head@table@b
- \end{tabu}\\
+ \end{tabularx}}\\
\hline\renewcommand{\arraystretch}{0.9}%
- \begin{tabu}{@{}>{\bfseries}l@{}|@{}X@{}}
+ {\begin{tabularx}{\linewidth}{@{}>{\bfseries}l@{}|@{}X@{}}
\begin{tabular}{l}考\\ 生\\ 填\\ 写\end{tabular} & \head@table@c
- \end{tabu}\\
+ \end{tabularx}}\\
\hline
- \end{tabu}
- \vspace{1em}
- \noindent\begin{tabu}{|*{8}{X[c]|}}
+ \end{tabularx}
+ \par\vspace{1em}
+ \noindent\begin{tabularx}{\linewidth}{|*{8}{Y|}}
\hline
- \bfseries{题 号} & 一 & 二 & 三 & 四 & 五 & 六 & 总 分\\
+ \textbf{题号} & 一 & 二 & 三 & 四 & 五 & 六 & 总分\\
\hline
- \bfseries{得 分} & & & & & & & \\
+ \parbox[c][2em][c]{2.2em}{\bfseries 得分} & & & & & & & \\
\hline
- \end{tabu}
+ \end{tabularx}
}
%% ---------------------------------------------------------------------------
@@ -218,6 +233,7 @@
\xdef\allproblems{}
\xdef\lastproblem{}
\newcounter{problem}
+\newcommand{\solutionname}{解}
\newcounter{choice} % 后面选择题的 abcd 环境要用到
\newcounter{step} % 后面解答题的 \step 命令要用到
@@ -228,14 +244,14 @@
\setcounter{problem}{0}%
\stepcounter{section}%
\vspace{1em}%
- \noindent\begin{tabu}{|X[c]|X[c]|X[6]}
+ \noindent\begin{tabularx}{\linewidth}{|n{1.7cm}|n{1.7cm}|X}
\cline{1-2}
得分 & 评阅人 & \textbf{\Chinese{section}、#1}\\
\cline{1-2}
& & (#2) \\
\cline{1-2}
- \end{tabu}
- \vspace{1em}
+ \end{tabularx}
+ \par\vspace{1em}
}
\newcommand{\makedata}[1]{%
@@ -249,11 +265,11 @@
\newenvironment{problemreal}{%
\stepcounter{problem}\setcounter{choice}{0}\setcounter{step}{0}%
- \textsf{\color{blue}\arabic{problem}}.\;\,\ignorespaces
+ \textbf{\textsf{{\color{blue}\arabic{problem}}.}}\;\,\ignorespaces
}{\par}
\newenvironment{solutionreal}{%
\setcounter{step}{0}%
- \textsf{\color{blue}解答}\quad\ignorepars
+ \textbf{\textsf{{\color{blue}\solutionname}.}}\;\,\ignorepars
}{\par}
\let \oldnewpage = \newpage
@@ -373,15 +389,16 @@
\newcommand{\answertable}[3][1em]{%
答题须知:本题答案必须写在如下表格中,否则不给分.\par
- \begin{tabu}{|c|*{#3}{X[c]|}}
+ \begin{tabularx}{\linewidth}{|c|*{#3}{Y|}}
\hline
\answer@lines{#1}{#2}{#3}
- \end{tabu}%
+ \end{tabularx}%
\par\vspace{0.8em}%
}
%% ---------------------------------------------------------------------------
%% 答案切换命令 \answer
+%% 判断命令 \true 和 \false
%% 填空命令 \fillin 和 \fillout
%% 选择命令 \pickin 和 \pickout
%% 四个选项排版环境 abcd,根据四个选项的长度自动排成一行、两行或四行
@@ -389,11 +406,14 @@
\newcommand{\answer}[1]{\ifanswer#1\else\phantom{#1}\fi}
+\newcommand{\cdotfill}{\leavevmode\xleaders\hbox to 0.5em{\hss$\cdot$\hss}\hfill\kern0pt\relax}
+\newcommand{\true}{\unskip\nobreak\cdotfill(\makebox[1.5em]{\color{blue}\answer{$\checkmark$}})}
+\newcommand{\false}{\unskip\nobreak\cdotfill(\makebox[1.5em]{\color{blue}\answer{\sffamily x}})}
+
\newcommand{\ulinefill}[1]{\xleaders\hbox{\underline{\vphantom{#1}\kern1pt}}\hfill\kern0pt}
\newcommand{\fillout}[1]{\allowbreak\hbox{}\nobreak\ulinefill{#1}\underline{\color{blue}\answer{#1}}\ulinefill{#1}}
\newcommand{\fillin}[1]{\underline{\hspace{1em}\color{blue}\answer{#1}\hspace{1em}}}
-\newcommand{\cdotfill}{\leavevmode\xleaders\hbox to 0.5em{\hss$\cdot$\hss}\hfill\kern0pt\relax}
\newcommand{\pickout}[1]{\unskip\nobreak\cdotfill(\makebox[1.5em]{\color{blue}\answer{#1}})}
\newcommand{\pickin}[1]{\unskip\nobreak\hspace{0.3em}(\makebox[1.5em]{\color{blue}\answer{#1}})\hspace{0.3em}\ignorespaces}
@@ -431,21 +451,86 @@
\fi
}
-%\newcommand{\my@item}{\ifnum\value{choice}=0\par\fi\stepcounter{choice}}
-%\newcommand{\fullitem}[1]{\my@item\parbox{\linewidth}{(\Alph{choice})\ #1\rule[-0.5em]{0pt}{0.5em}}\hfill\ignorespaces}
-%\newcommand{\halfitem}[2][0.5]{\my@item\makebox[#1\linewidth][l]{(\Alph{choice})\ #2}\hfill\ignorespaces}
-%\newcommand{\quaritem}[2][0.25]{\my@item\makebox[#1\linewidth][l]{(\Alph{choice})\ #2}\hfill\ignorespaces}
-
%% ---------------------------------------------------------------------------
%% 解答题步骤命令 \step
%% ---------------------------------------------------------------------------
\newcommand{\step}{%
\stepcounter{step}%
- \makebox[2em][l]{\ttfamily(\arabic{step})}%
+ \textsf{(\arabic{step})}\;\,%
}
%% ---------------------------------------------------------------------------
+%% 自由对齐命令 \tabpoint, \tabto, \tableft
+%% 命令 \tabpoint 记录当前的水平位置,也可以简写为 \?
+%% 命令 \tabto 跳到之前记录的位置,也可以简写为 \+
+%% 命令 \tableft 跳到之前记录的位置的左侧,也可以简写为 \<
+%% 这些自由对齐命令需要编译两次才能生效
+%% ---------------------------------------------------------------------------
+
+\usepackage{zref-savepos}
+
+\@ifundefined{zsaveposx}{\let\zsaveposx\zsavepos}{} % 旧版本无 \zsaveposx 命令
+
+\newcounter{saveposcnt}
+\newcounter{useposcnt}
+\renewcommand*{\thesaveposcnt}{savepos\number\value{saveposcnt}}
+\renewcommand*{\theuseposcnt}{usepos\number\value{useposcnt}}
+
+\def\my@alignment@offset{}
+
+\def\my@alignment@list{}
+\forcsvlist{\listadd\my@alignment@list}{=,<,>,\le,\ge,\leq,\geq,\approx}
+
+\newlength{\my@alignment@kern}
+
+\newcommand*{\my@alignment@check}[1]{%
+ \ifx\my@let@token #1%
+ \def\my@alignment@offset{5}%
+ \listbreak
+ \fi
+}
+
+\newcommand{\my@alignment@next}{%
+ \ifdefempty{\my@alignment@offset}{%
+ \def\my@alignment@offset{0}%
+ \forlistloop{\my@alignment@check}{\my@alignment@list}%
+ }{}%
+ \settowidth{\my@alignment@kern}{$\mkern\my@alignment@offset mu$}%
+ \stepcounter{saveposcnt}%
+ \rlap{\kern\my@alignment@kern\zsaveposx{\thesaveposcnt}}%
+}
+
+\newcommand*{\tabpoint}[1][]{%
+ \leavevmode
+ \def\my@alignment@offset{#1}%
+ \futurelet\my@let@token\my@alignment@next
+}
+\let \? = \tabpoint
+
+\newcommand*{\tabto}{%
+ \stepcounter{useposcnt}%
+ \zsaveposx{\theuseposcnt}%
+ \noindent
+ \hskip\zposx{\thesaveposcnt}sp\relax
+ \hskip-\zposx{\theuseposcnt}sp\relax
+ \ignorespaces
+}
+\let \+ = \tabto
+
+\newcommand*{\tableft}{%
+ \settowidth{\my@alignment@kern}{$=\mkern5mu$}%
+ \stepcounter{useposcnt}%
+ \zsaveposx{\theuseposcnt}%
+ \noindent
+ \hskip\zposx{\thesaveposcnt}sp\relax
+ \hskip-\zposx{\theuseposcnt}sp\relax
+ \hskip-\my@alignment@kern
+ \ignorespaces
+}
+\let \< = \tableft
+
+%% ---------------------------------------------------------------------------
%% 评分命令 \score
%% ---------------------------------------------------------------------------
@@ -467,6 +552,14 @@
}
%% ---------------------------------------------------------------------------
+%% 文档选项 display 将全部公式都设为展示公式
+%% 命令 \display 将当前环境的公式都设为展示公式
+%% ---------------------------------------------------------------------------
+
+\newcommand{\display}{\everymath\expandafter{\the\everymath\displaystyle}}
+\ifbool{display}{\display}{}
+
+%% ---------------------------------------------------------------------------
%% 载入个人定制文件 jnuexam.cfg
%% 中文字体切换选项 sourcehan
%% ---------------------------------------------------------------------------
@@ -526,6 +619,7 @@
\RequirePackage{CJKfntef}
\RequirePackage{multirow}
\RequirePackage{diagbox}
+\RequirePackage{tabu}
\RequirePackage{relsize}
\newcommand{\Int}{\mathop{\mathlarger{\int}}}
@@ -557,9 +651,15 @@
\renewrobustcmd{\d}{\ifbool{mmode}{\diff}{\oldd}}%
}
-\newcommand{\va}{\vec{a\vphantom{b}}}
+% from mathabx package
+\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
+\DeclareFontShape{U}{mathx}{m}{n}{<-> mathx10}{}
+\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}
+\DeclareMathAccent{\widebar}{0}{mathx}{"73}
+
+\newcommand{\va}{\vec{a}}
\newcommand{\vb}{\vec{b}}
-\newcommand{\vc}{\vec{c\vphantom{b}}}
+\newcommand{\vc}{\vec{c}}
\newcommand{\vd}{\vec{d}}
\newcommand{\ve}{\vec{e}}
\newcommand{\vi}{\vec{i}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jnuexam.tlpobj new/tlpkg/tlpobj/jnuexam.tlpobj
--- old/tlpkg/tlpobj/jnuexam.tlpobj 2019-02-28 03:45:26.000000000 +0100
+++ new/tlpkg/tlpobj/jnuexam.tlpobj 2019-11-09 01:54:35.000000000 +0100
@@ -1,15 +1,15 @@
name jnuexam
category Package
-revision 49212
+revision 52696
shortdesc Exam class for Jinan University
relocated 1
longdesc The package provides an exam class for Jinan University
longdesc (China).
-runfiles size=5
+runfiles size=6
RELOC/tex/latex/jnuexam/jnuexam.cls
catalogue-contact-home https://lvjr.bitbucket.io/jnuexam.html
catalogue-ctan /macros/latex/contrib/jnuexam
-catalogue-date 2018-11-21 15:54:53 +0100
+catalogue-date 2019-11-08 10:54:48 +0100
catalogue-license lppl1.3
catalogue-topics exam class chinese
-catalogue-version 0.5
+catalogue-version 0.7
++++++ jsclasses.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/jsclasses/LICENSE new/doc/platex/jsclasses/LICENSE
--- old/doc/platex/jsclasses/LICENSE 2019-04-06 23:11:50.000000000 +0200
+++ new/doc/platex/jsclasses/LICENSE 2020-02-02 23:42:26.000000000 +0100
@@ -1,6 +1,6 @@
Copyright 1995-1999 ASCII MEDIA WORKS
Copyright 1999-2016 Haruhiko Okumura
-Copyright 2016-2019 Japanese TeX Development Community
+Copyright 2016-2020 Japanese TeX Development Community
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/platex/jsclasses/README.md new/doc/platex/jsclasses/README.md
--- old/doc/platex/jsclasses/README.md 2019-04-06 23:11:50.000000000 +0200
+++ new/doc/platex/jsclasses/README.md 2020-02-02 23:42:26.000000000 +0100
@@ -37,7 +37,7 @@
## Release Date
-2019-04-06
+2020-02-02
Haruhiko Okumura,
Japanese TeX Development Community
Binary files old/doc/platex/jsclasses/jsclasses.pdf and new/doc/platex/jsclasses/jsclasses.pdf differ
Binary files old/doc/platex/jsclasses/jslogo.pdf and new/doc/platex/jsclasses/jslogo.pdf differ
Binary files old/doc/platex/jsclasses/okumacro.pdf and new/doc/platex/jsclasses/okumacro.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jsclasses.doc.tlpobj new/tlpkg/tlpobj/jsclasses.doc.tlpobj
--- old/tlpkg/tlpobj/jsclasses.doc.tlpobj 2019-04-06 23:33:50.000000000 +0200
+++ new/tlpkg/tlpobj/jsclasses.doc.tlpobj 2020-02-03 01:54:45.000000000 +0100
@@ -1,9 +1,9 @@
name jsclasses.doc
category Package
-revision 50813
+revision 53641
shortdesc doc files of jsclasses
relocated 1
-docfiles size=233
+docfiles size=235
RELOC/doc/platex/jsclasses/LICENSE
RELOC/doc/platex/jsclasses/README.md
RELOC/doc/platex/jsclasses/jsclasses.pdf
++++++ jsclasses.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/jsclasses/jsarticle.cls new/tex/platex/jsclasses/jsarticle.cls
--- old/tex/platex/jsclasses/jsarticle.cls 2019-04-06 23:11:50.000000000 +0200
+++ new/tex/platex/jsclasses/jsarticle.cls 2020-02-02 23:42:26.000000000 +0100
@@ -25,7 +25,7 @@
\fi
\NeedsTeXFormat{pLaTeX2e}
\ProvidesClass{jsarticle}
- [2019/04/06 jsclasses (okumura, texjporg)]
+ [2020/02/02 jsclasses (okumura, texjporg)]
\def\jsc@clsname{jsarticle}
\newif\ifjsc@needsp@tch
\jsc@needsp@tchfalse
@@ -463,6 +463,7 @@
\DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\ifx\@rmfamilyhook\@undefined % old
\DeclareRobustCommand\rmfamily
{\not@math@alphabet\rmfamily\mathrm
\romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -472,6 +473,25 @@
\DeclareRobustCommand\ttfamily
{\not@math@alphabet\ttfamily\mathtt
\romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
+\AtBeginDocument{%
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
+ % my definitions above should have been overwritten, recover it!
+ % \selectfont is executed twice but I don't care about speed...
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
+ {\kanjifamily\mcdefault\selectfont}%
+ \expandafter\g@addto@macro\csname sffamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \fi}
+\else % 2020-02-02
+\g@addto@macro\@rmfamilyhook
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
+\g@addto@macro\@sffamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\g@addto@macro\@ttfamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\fi
\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
\DeclareRobustCommand\textmc[1]{%
\relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -1373,11 +1393,11 @@
\renewcommand{\theenumiii}{\@roman\c@enumiii}
\renewcommand{\theenumiv}{\@Alph\c@enumiv}
\newcommand{\labelenumi}{\theenumi.}
-\newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
+\newcommand{\labelenumii}{\inhibitglue (\theenumii )\inhibitglue}
\newcommand{\labelenumiii}{\theenumiii.}
\newcommand{\labelenumiv}{\theenumiv.}
\renewcommand{\p@enumii}{\theenumi}
-\renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
+\renewcommand{\p@enumiii}{\theenumi\inhibitglue (\theenumii )}
\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/jsclasses/jsbook.cls new/tex/platex/jsclasses/jsbook.cls
--- old/tex/platex/jsclasses/jsbook.cls 2019-04-06 23:11:50.000000000 +0200
+++ new/tex/platex/jsclasses/jsbook.cls 2020-02-02 23:42:26.000000000 +0100
@@ -25,7 +25,7 @@
\fi
\NeedsTeXFormat{pLaTeX2e}
\ProvidesClass{jsbook}
- [2019/04/06 jsclasses (okumura, texjporg)]
+ [2020/02/02 jsclasses (okumura, texjporg)]
\def\jsc@clsname{jsbook}
\newif\ifjsc@needsp@tch
\jsc@needsp@tchfalse
@@ -468,6 +468,7 @@
\DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\ifx\@rmfamilyhook\@undefined % old
\DeclareRobustCommand\rmfamily
{\not@math@alphabet\rmfamily\mathrm
\romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -477,6 +478,25 @@
\DeclareRobustCommand\ttfamily
{\not@math@alphabet\ttfamily\mathtt
\romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
+\AtBeginDocument{%
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
+ % my definitions above should have been overwritten, recover it!
+ % \selectfont is executed twice but I don't care about speed...
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
+ {\kanjifamily\mcdefault\selectfont}%
+ \expandafter\g@addto@macro\csname sffamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \fi}
+\else % 2020-02-02
+\g@addto@macro\@rmfamilyhook
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
+\g@addto@macro\@sffamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\g@addto@macro\@ttfamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\fi
\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
\DeclareRobustCommand\textmc[1]{%
\relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -1480,11 +1500,11 @@
\renewcommand{\theenumiii}{\@roman\c@enumiii}
\renewcommand{\theenumiv}{\@Alph\c@enumiv}
\newcommand{\labelenumi}{\theenumi.}
-\newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
+\newcommand{\labelenumii}{\inhibitglue (\theenumii )\inhibitglue}
\newcommand{\labelenumiii}{\theenumiii.}
\newcommand{\labelenumiv}{\theenumiv.}
\renewcommand{\p@enumii}{\theenumi}
-\renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
+\renewcommand{\p@enumiii}{\theenumi\inhibitglue (\theenumii )}
\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/jsclasses/jslogo.sty new/tex/platex/jsclasses/jslogo.sty
--- old/tex/platex/jsclasses/jslogo.sty 2017-02-24 23:17:33.000000000 +0100
+++ new/tex/platex/jsclasses/jslogo.sty 2019-07-25 23:47:53.000000000 +0200
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{jslogo}
- [2017/02/24 okumura, texjporg]
+ [2019/07/25 okumura, texjporg]
\def\jslg@small#1{\hbox{$\m@th$%
\csname S@\f@size\endcsname
\fontsize\sf@size\z@
@@ -207,8 +207,8 @@
\def\upLaTeX{u\pLaTeX}
\def\upLaTeXe{u\pLaTeXe}
\def\AmSTeX{\protect\AmS-\protect\TeX{}}
-\DeclareRobustCommand{\BibTeX}{B\kern-.05em\jslg@small{I\kern-.025em B}%
- \ifx\f@family\cmr\kern-.08em\else\kern-.15em\fi\TeX}
+\DeclareRobustCommand{\BibTeX}{%
+ B\kern-.05em\jslg@small{I\kern-.025em B}\kern-.15em\TeX}
\DeclareRobustCommand{\SliTeX}{%
S\kern-.06emL\kern-.18em\jslg@uppersmall{I}\kern -.03em\TeX}
\providecommand*\pdfstringdefPreHook{}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/jsclasses/jspf.cls new/tex/platex/jsclasses/jspf.cls
--- old/tex/platex/jsclasses/jspf.cls 2019-04-06 23:11:50.000000000 +0200
+++ new/tex/platex/jsclasses/jspf.cls 2020-02-02 23:42:26.000000000 +0100
@@ -25,7 +25,7 @@
\fi
\NeedsTeXFormat{pLaTeX2e}
\ProvidesClass{jspf}
- [2019/04/06 jsclasses (okumura, texjporg)]
+ [2020/02/02 jsclasses (okumura, texjporg)]
\def\jsc@clsname{jspf}
\newif\ifjsc@needsp@tch
\jsc@needsp@tchfalse
@@ -459,6 +459,7 @@
\DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\ifx\@rmfamilyhook\@undefined % old
\DeclareRobustCommand\rmfamily
{\not@math@alphabet\rmfamily\mathrm
\romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -468,6 +469,25 @@
\DeclareRobustCommand\ttfamily
{\not@math@alphabet\ttfamily\mathtt
\romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
+\AtBeginDocument{%
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
+ % my definitions above should have been overwritten, recover it!
+ % \selectfont is executed twice but I don't care about speed...
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
+ {\kanjifamily\mcdefault\selectfont}%
+ \expandafter\g@addto@macro\csname sffamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \fi}
+\else % 2020-02-02
+\g@addto@macro\@rmfamilyhook
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
+\g@addto@macro\@sffamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\g@addto@macro\@ttfamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\fi
\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
\DeclareRobustCommand\textmc[1]{%
\relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -1246,11 +1266,11 @@
\renewcommand{\theenumiii}{\@roman\c@enumiii}
\renewcommand{\theenumiv}{\@Alph\c@enumiv}
\newcommand{\labelenumi}{\theenumi.}
-\newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
+\newcommand{\labelenumii}{\inhibitglue (\theenumii )\inhibitglue}
\newcommand{\labelenumiii}{\theenumiii.}
\newcommand{\labelenumiv}{\theenumiv.}
\renewcommand{\p@enumii}{\theenumi}
-\renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
+\renewcommand{\p@enumiii}{\theenumi\inhibitglue (\theenumii )}
\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/jsclasses/jsreport.cls new/tex/platex/jsclasses/jsreport.cls
--- old/tex/platex/jsclasses/jsreport.cls 2019-04-06 23:11:50.000000000 +0200
+++ new/tex/platex/jsclasses/jsreport.cls 2020-02-02 23:42:26.000000000 +0100
@@ -25,7 +25,7 @@
\fi
\NeedsTeXFormat{pLaTeX2e}
\ProvidesClass{jsreport}
- [2019/04/06 jsclasses (okumura, texjporg)]
+ [2020/02/02 jsclasses (okumura, texjporg)]
\def\jsc@clsname{jsreport}
\newif\ifjsc@needsp@tch
\jsc@needsp@tchfalse
@@ -464,6 +464,7 @@
\DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\ifx\@rmfamilyhook\@undefined % old
\DeclareRobustCommand\rmfamily
{\not@math@alphabet\rmfamily\mathrm
\romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -473,6 +474,25 @@
\DeclareRobustCommand\ttfamily
{\not@math@alphabet\ttfamily\mathtt
\romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
+\AtBeginDocument{%
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
+ % my definitions above should have been overwritten, recover it!
+ % \selectfont is executed twice but I don't care about speed...
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
+ {\kanjifamily\mcdefault\selectfont}%
+ \expandafter\g@addto@macro\csname sffamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \fi}
+\else % 2020-02-02
+\g@addto@macro\@rmfamilyhook
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
+\g@addto@macro\@sffamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\g@addto@macro\@ttfamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\fi
\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
\DeclareRobustCommand\textmc[1]{%
\relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -1432,11 +1452,11 @@
\renewcommand{\theenumiii}{\@roman\c@enumiii}
\renewcommand{\theenumiv}{\@Alph\c@enumiv}
\newcommand{\labelenumi}{\theenumi.}
-\newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
+\newcommand{\labelenumii}{\inhibitglue (\theenumii )\inhibitglue}
\newcommand{\labelenumiii}{\theenumiii.}
\newcommand{\labelenumiv}{\theenumiv.}
\renewcommand{\p@enumii}{\theenumi}
-\renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
+\renewcommand{\p@enumiii}{\theenumi\inhibitglue (\theenumii )}
\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/jsclasses/kiyou.cls new/tex/platex/jsclasses/kiyou.cls
--- old/tex/platex/jsclasses/kiyou.cls 2019-04-06 23:11:50.000000000 +0200
+++ new/tex/platex/jsclasses/kiyou.cls 2020-02-02 23:42:26.000000000 +0100
@@ -25,7 +25,7 @@
\fi
\NeedsTeXFormat{pLaTeX2e}
\ProvidesClass{kiyou}
- [2019/04/06 jsclasses (okumura, texjporg)]
+ [2020/02/02 jsclasses (okumura, texjporg)]
\def\jsc@clsname{kiyou}
\newif\ifjsc@needsp@tch
\jsc@needsp@tchfalse
@@ -470,6 +470,7 @@
\DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\ifx\@rmfamilyhook\@undefined % old
\DeclareRobustCommand\rmfamily
{\not@math@alphabet\rmfamily\mathrm
\romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
@@ -479,6 +480,25 @@
\DeclareRobustCommand\ttfamily
{\not@math@alphabet\ttfamily\mathtt
\romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
+\AtBeginDocument{%
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
+ % my definitions above should have been overwritten, recover it!
+ % \selectfont is executed twice but I don't care about speed...
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
+ {\kanjifamily\mcdefault\selectfont}%
+ \expandafter\g@addto@macro\csname sffamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \fi}
+\else % 2020-02-02
+\g@addto@macro\@rmfamilyhook
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
+\g@addto@macro\@sffamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\g@addto@macro\@ttfamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\fi
\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
\DeclareRobustCommand\textmc[1]{%
\relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}}
@@ -1328,11 +1348,11 @@
\renewcommand{\theenumiii}{\@roman\c@enumiii}
\renewcommand{\theenumiv}{\@Alph\c@enumiv}
\newcommand{\labelenumi}{\theenumi.}
-\newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
+\newcommand{\labelenumii}{\inhibitglue (\theenumii )\inhibitglue}
\newcommand{\labelenumiii}{\theenumiii.}
\newcommand{\labelenumiv}{\theenumiv.}
\renewcommand{\p@enumii}{\theenumi}
-\renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
+\renewcommand{\p@enumiii}{\theenumi\inhibitglue (\theenumii )}
\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/platex/jsclasses/okumacro.sty new/tex/platex/jsclasses/okumacro.sty
--- old/tex/platex/jsclasses/okumacro.sty 2018-06-23 22:55:43.000000000 +0200
+++ new/tex/platex/jsclasses/okumacro.sty 2019-07-25 23:47:53.000000000 +0200
@@ -24,7 +24,7 @@
\epTeXinputencoding utf8 % ^^A added (2017-10-04)
\fi
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{okumacro}[2018/06/11 okumura, texjporg]
+\ProvidesPackage{okumacro}[2019/07/25 okumura, texjporg]
\providecommand{\rubyfamily}{}
\def\kanjistrut{\iftdir
\vrule \@height0.5zw \@depth0.5zw \@width\z@
@@ -249,9 +249,8 @@
\newcommand{\PiCTeX}{\PiC\kern-.11em\TeX}
\newcommand{\JTeX}{\leavevmode\lower.5ex\hbox{J}\kern-.17em\TeX}
\newcommand{\JLaTeX}{\leavevmode\lower.5ex\hbox{\rm J}\kern-.17em\LaTeX}
-\DeclareRobustCommand{\JBibTeX}{$\mbox{%
- \lower.5ex\hbox{J}\ifx\f@family\cmr\kern-.15em\else\kern-.05em\fi
- \BibTeX}$}
+\DeclareRobustCommand{\JBibTeX}{$\m@th\mbox{%
+ \lower.5ex\hbox{J}\kern-.05em\BibTeX}$}
\newcommand{\pTeXsT}{p\kern-.21em\TeX\kern-.10em s\kern-.21em T}
\newcommand{\iTeX}{\accent'27\i\TeX}
\newcommand{\MlTeX}{M\kern-.1667em\lower.5ex\hbox{L}\kern-.25em\TeX}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jsclasses.tlpobj new/tlpkg/tlpobj/jsclasses.tlpobj
--- old/tlpkg/tlpobj/jsclasses.tlpobj 2019-04-06 23:33:50.000000000 +0200
+++ new/tlpkg/tlpobj/jsclasses.tlpobj 2020-02-03 01:54:46.000000000 +0100
@@ -1,6 +1,6 @@
name jsclasses
category Package
-revision 50813
+revision 53641
shortdesc Classes tailored for use with Japanese
relocated 1
longdesc Classes jsarticle and jsbook are provided, together with
@@ -19,6 +19,5 @@
RELOC/tex/platex/jsclasses/okuverb.sty
catalogue-contact-repository https://github.com/texjporg/jsclasses
catalogue-ctan /macros/latex/contrib/jsclasses
-catalogue-date 2019-04-06 10:47:48 +0200
catalogue-license bsd
catalogue-topics japanese class
++++++ jslectureplanner.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jslectureplanner/README new/doc/latex/jslectureplanner/README
--- old/doc/latex/jslectureplanner/README 2019-02-06 22:59:40.000000000 +0100
+++ new/doc/latex/jslectureplanner/README 2020-02-04 23:16:50.000000000 +0100
@@ -68,6 +68,10 @@
== CHANGES ==
+* V. 1.9 (2020-02-04): - Allow \SetBeamerFrameBreak within SessionBlock.
+ - Fix \SetAutoOffset at first session and add optional argument
+ to alter first session (fix contributed by Richard Zach).
+
* V. 1.8 (2019-02-06): - Add extradate option to \NewSession to support fix dates.
- Add possibility to enter exam dates that are not added to
the standard program (option exam of \NewSession).
@@ -83,8 +87,8 @@
(the short and long date formats would override such settings).
- Add support for lecture and session start time, duration and thus
also end time calculation.
- - Add support for displaying the next semester (\AdjSem and
- \AdjSemVerb).
+ - Add support for displaying the next semester (\adjsemester and
+ \adjsemesterverb).
* V. 1.7 (2018-12-14): - Allow options in \makebeamerprogram also with blocksonly.
- Add overlayarg option to \makebeamerprogram.
Binary files old/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdf and new/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf and new/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf and new/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf and new/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf and new/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf and new/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf and new/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf and new/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf and new/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf and new/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/lecturebib.pdf and new/doc/latex/jslectureplanner/examples/German/lecturebib.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf and new/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf and new/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf and new/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/lecturescript.pdf and new/doc/latex/jslectureplanner/examples/German/lecturescript.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf and new/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf and new/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf and new/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf and new/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf differ
Binary files old/doc/latex/jslectureplanner/examples/German/presentation-list.pdf and new/doc/latex/jslectureplanner/examples/German/presentation-list.pdf differ
Binary files old/doc/latex/jslectureplanner/jslectureplanner.pdf and new/doc/latex/jslectureplanner/jslectureplanner.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/jslectureplanner/jslectureplanner.tex new/doc/latex/jslectureplanner/jslectureplanner.tex
--- old/doc/latex/jslectureplanner/jslectureplanner.tex 2019-02-06 22:59:40.000000000 +0100
+++ new/doc/latex/jslectureplanner/jslectureplanner.tex 2020-02-04 23:16:50.000000000 +0100
@@ -72,7 +72,7 @@
\author{J�rgen Spitzm�ller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/jslectureplanner}.}}
-\date{Version 1.8, 2019/02/06}
+\date{Version 1.9, 2020/02/04}
\maketitle
@@ -312,12 +312,21 @@
Default is 90.
\item \jcsmacro{LecInterval\{\jparam{interval}\}}: Adjust the interval (in days) between two sessions.
The preset interval is 7 (=~weekly courses).
-\item \jcsmacro{SetAutoOffset\{\jparam{n}\}\{\jparam{days}\}}: Automatically shift all subsequent sessions
- by \jparam{days} extra days after every \jparam{n}th session. This is useful if you have each week
- two regular sessions and then a pause until the next week (for instance, a Tuesday +
- Thursday course could be defined via \jcsmacro{LecInterval\{2\}} and
- \jcsmacro{SetAutoOffset\{2\}\{3\}}). \jparam{n} must be a positive integer, \jparam{days} can
- also be a negative integer value.
+\item \jcsmacro{SetAutoOffset[\jparam{first}]\{\jparam{n}\}\{\jparam{days}\}}:
+ Automatically shift all subsequent sessions
+ by \jparam{days} extra days after every \jparam{n}th session,
+ counting the first session as the \jparam{first}th session for
+ this purpose. This is useful if your course meets multiple times
+ a week. For instance, a course meeting Tuesdays and Thursdays
+ could be defined via \jcsmacro{LecInterval\{2\}} and
+ \jcsmacro{SetAutoOffset\{2\}\{3\}}, a course meeting Monday,
+ Wednesday, Friday using \jcsmacro{LecInterval\{2\}} and
+ \jcsmacro{SetAutoOffset\{3\}\{1\}}. \jparam{n} must be a
+ positive integer, \jparam{days} can also be a negative integer
+ value. Use the optional \jparam{first} if the first session in
+ the course is not the first session in a group. For instance, if
+ your course meets Monday/Wednesday/Friday but the first day of
+ term is a Wednesday, use \jcsmacro{SetAutoOffset[2]\{3\}\{1\}}.
\end{itemize}
\subsubsection{Additional information}\label{ses-add}
@@ -437,10 +446,10 @@
\end{itemize}
\item \jcsmacro{SetLecOffset\{\jparam{n}\}}: Shift the date of all subsequent sessions by \jparam{n} days.
\jparam{n} can also be negative.
-\item \jcsmacro{SetBeamerFrameBreak}: Add a frame break in
-the beamer program at this position (more precisely, start a new frame).
-This also increments the frame counter which is used for subsequent program
-frame titles. Note that you can insert maximally 3 breaks.
+\item \jcsmacro{SetBeamerFrameBreak}: Add a frame break in the beamer program at this position
+ (more precisely, start a new frame; see sec.~\ref{sec:lecprog} for details).
+ This also increments the frame counter which is used for subsequent program
+ frame titles. Note that you can insert maximally 3 breaks.
\item \jcsmacro{SetBeamerHook\{\jparam{code}\}}: Add arbitrary LaTeX code to the
beamer program
\item \jcsmacro{begin\{SessionBlock\}\{\jparam{Block title}\}}\\
@@ -545,14 +554,18 @@
\end{frame}
\end{lstlisting}
-Note that multiple subsequent frames (not just slides) are generated if the metadata
-file contains \jcsmacro{SetBeamerFrameBreak} macros.
-Also note that you can refer to the frames via the automatically generated
-labels \emph{beamerprogram} (for the first frame), \emph{beamerprogram2}
-for the second, etc. Finally note that the number of program frames
-is currently limited to 4. If you need more, you should probably rethink
-your program structure.
-
+Note that
+\begin{itemize}
+ \item multiple subsequent frames (not just slides) are generated if the metadata
+ file contains \jcsmacro{SetBeamerFrameBreak} macros (this is because beamer frame breaks
+ via \jfoption{allowframebreaks} and \jfcsmacro{framebreak} do not allow for overlays).
+ \item you can refer to the frames via the automatically generated
+ labels \emph{beamerprogram} (for the first frame), \emph{beamerprogram2}
+ for the second, etc.
+ \item the number of program frames is currently limited to 4. If you need more, you should probably rethink
+ your program structure.
+\end{itemize}
+%
\joption{\jparam{options}} include
\begin{itemize}
\item \joption{title=\jparam{title}}: Program title (\jparam{Heading})
@@ -1164,7 +1177,7 @@
I could not have written the packages of the \jslp\ bundle without the expertise of the incredible \LaTeX\
community. The packages heavily rely on functions and features
provided by other packages (which are listed in sec.~\ref{sec:req-jslp} and \ref{sec:req-jsmt}).
-I am deeply indepted to the authors of those packages.
+I am deeply indebted to the authors of those packages.
Furthermore, \emph{stackexchange} proved to be a great source of knowledge which
provided me with solutions for specific tasks:
\jsmt\ heavily draws on code for dynamic table generation that has been
@@ -1173,17 +1186,25 @@
a \emph{stackexchange} post by Enrico Gregorio (\url{http://tex.stackexchange.com/a/50131}).
The time span calculation uses code provided by Christian Hupfer at
\url{https://tex.stackexchange.com/a/473552/19291}.
-Thank you, Herbert, Enrico and Christian! Finally, Dominik Wa�enhoven tested the package and provided
+Thank you, Herbert, Enrico and Christian!
+Richard Zach provided a fix and enhancement to \jcsmacro{SetAutoOffset}. Many thanks for this.
+Finally, Dominik Wa�enhoven tested the package and provided
me with multiple suggestions, which effectively manifested in major new features such as
the \jslp\ style files. Thanks, Dominik.
\section{Release History}
\begin{itemize}
+\item 2020/02/04 (v. 1.9):
+ \begin{itemize}
+ \item Allow \jcsmacro{SetBeamerFrameBreak} within \joption{SessionBlock}.
+ \item Fix \jcsmacro{SetAutoOffset} at first session and add optional argument
+ to alter first session (fix contributed by Richard Zach).
+ \end{itemize}
\item 2019/02/06 (v. 1.8):
\begin{itemize}
- \item Add support for displaying the next semester (\jcsmacro{AdjSem} and
- \jcsmacro{AdjSemVerb}).
+ \item Add support for displaying the next semester (macros \jcsmacro{adjsemester} and
+ \jcsmacro{adjsemesterverb}).
\item Add support for lecture and session start time, duration and thus also end time
calculation.
\item Add unstyled date formats which allow preceding \jfcsmacro{DTMsetdatestyle}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jslectureplanner.doc.tlpobj new/tlpkg/tlpobj/jslectureplanner.doc.tlpobj
--- old/tlpkg/tlpobj/jslectureplanner.doc.tlpobj 2019-02-28 03:45:27.000000000 +0100
+++ new/tlpkg/tlpobj/jslectureplanner.doc.tlpobj 2020-02-05 01:54:53.000000000 +0100
@@ -1,6 +1,6 @@
name jslectureplanner.doc
category Package
-revision 49963
+revision 53672
shortdesc doc files of jslectureplanner
relocated 1
docfiles size=401
++++++ jslectureplanner.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/jslectureplanner/jslectureplanner.sty new/tex/latex/jslectureplanner/jslectureplanner.sty
--- old/tex/latex/jslectureplanner/jslectureplanner.sty 2019-02-06 22:59:40.000000000 +0100
+++ new/tex/latex/jslectureplanner/jslectureplanner.sty 2020-02-04 23:16:50.000000000 +0100
@@ -23,8 +23,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\filedate{2019/02/06}
-\def\fileversion{1.8}
+\def\filedate{2020/02/04}
+\def\fileversion{1.9}
\def\filename{jslectureplanner.sty}
\NeedsTeXFormat{LaTeX2e}
@@ -1039,13 +1039,15 @@
}
% Automatic Offset after n sessions
-\newcommand*\SetAutoOffset[2]{%
- \setcounter{autooffsettrigger}{#1}
- \setcounter{autooffset}{#2}
+\newcommand*{\SetAutoOffset}[3][1]{%
+ \setcounter{autooffsetcounter}{#1}
+ \setcounter{autooffsettrigger}{#2}
+ \setcounter{autooffset}{#3}
}
% 3) Definition of thematic blocks
%
+\newtoggle{inblock}
\newcommand*\StartBlock[1]{%
\stepcounter{blocks}%
\protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]%
@@ -1057,6 +1059,7 @@
\protected@xappto\programblocklistbeamer{\noexpand\item[{\Roman{blocks}}.] #1}%
\csxdef{@currentblock}{#1}%
\csxdef{@currentblockno}{\Roman{blocks}}%
+ \global\toggletrue{inblock}%
}
\newcommand*\EndBlock{%
@@ -1064,6 +1067,7 @@
\gappto\programlistbeamer{\end{description}}
\csxdef{@currentblock}{}%
\csxdef{@currentblockno}{}%
+ \global\togglefalse{inblock}%
}
\newcommand*\NewBlock[1]{%
@@ -1071,23 +1075,36 @@
\StartBlock{#1}
}
+\newcommand*\@PauseBlock{%
+ \gappto\programlist{\end{labeling}}
+ \gappto\programlistbeamer{\end{description}}
+}
+
+\newcommand*\@ResumeBlock{%
+ % the \item here is necessary since this is nested immediately into another list
+ \gappto\programlist{\item \begin{labeling}{\lecprogramlistindent}}%
+ \gappto\programlistbeamer{\item \begin{description}[\lecprogramlistindent]}
+}
+
\newenvironment{SessionBlock}[1]{\StartBlock{#1}}{\EndBlock}
% 4) Beamer-specific features
%
% Beamer frame breaks
\newcommand*\SetBeamerFrameBreak{%
+ \iftoggle{inblock}{\@PauseBlock}{}%
\stepcounter{fbreaks}
- \@ifundefined{programlistbeamerii}{%
+ \ifdefined\programlistbeamerii
+ \ifdefined\programlistbeameriii
+ \global\let\programlistbeameriv\programlistbeamer
+ \else
+ \global\let\programlistbeameriii\programlistbeamer
+ \fi
+ \else%
\global\let\programlistbeamerii\programlistbeamer
- }{%
- \@ifundefined{programlistbeameriii}{%
- \global\let\programlistbeameriii\programlistbeamer
- }{%
- \global\let\programlistbeameriv\programlistbeamer
- }
- }
+ \fi
\global\let\programlistbeamer\empty
+ \iftoggle{inblock}{\@ResumeBlock}{}%
}
% Beamer program hook
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/jslectureplanner/jsmembertable.sty new/tex/latex/jslectureplanner/jsmembertable.sty
--- old/tex/latex/jslectureplanner/jsmembertable.sty 2019-02-06 22:59:40.000000000 +0100
+++ new/tex/latex/jslectureplanner/jsmembertable.sty 2020-02-04 23:16:50.000000000 +0100
@@ -24,8 +24,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\filedate{2019/02/06}
-\def\fileversion{1.8}
+\def\filedate{2020/02/04}
+\def\fileversion{1.9}
\def\filename{jsmembertable.sty}
\NeedsTeXFormat{LaTeX2e}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/jslectureplanner.tlpobj new/tlpkg/tlpobj/jslectureplanner.tlpobj
--- old/tlpkg/tlpobj/jslectureplanner.tlpobj 2019-02-28 03:45:28.000000000 +0100
+++ new/tlpkg/tlpobj/jslectureplanner.tlpobj 2020-02-05 01:54:54.000000000 +0100
@@ -1,6 +1,6 @@
name jslectureplanner
category Package
-revision 49963
+revision 53672
shortdesc Creation and management of university course material
relocated 1
longdesc The jslectureplanner package facilitates the generation and
@@ -21,7 +21,6 @@
RELOC/tex/latex/jslectureplanner/jsmembertable.sty
catalogue-contact-repository https://github.com/jspitz/jslectureplanner
catalogue-ctan /macros/latex/contrib/jslectureplanner
-catalogue-date 2019-02-09 05:50:04 +0100
catalogue-license lppl1.3
catalogue-topics teaching
-catalogue-version 1.8
+catalogue-version 1.9
++++++ junicode.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/junicode/COPYING new/doc/fonts/junicode/COPYING
--- old/doc/fonts/junicode/COPYING 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/junicode/COPYING 2020-02-28 23:21:39.000000000 +0100
@@ -0,0 +1,93 @@
+(c) 1998-2018 Peter S. Baker
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/junicode/ChangeLog new/doc/fonts/junicode/ChangeLog
--- old/doc/fonts/junicode/ChangeLog 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/junicode/ChangeLog 2020-02-28 23:21:39.000000000 +0100
@@ -0,0 +1,154 @@
+2018-06-25 Peter Baker
+
+ * all: Corrected bug that caused incorrect clipping in MS Word for
+ the Mac. Added sigma in Regular and Italic faces. Incorrect glyph
+ was displayed for EBA1 in Regular face. uni1EBD added for Bold and
+ BoldItalic. Anchor added for E8BF in Regular and
+ Italic. Linespacing numbers revised: we've returned to using
+ linegap numbers.
+
+2017-09-06 Peter Baker
+
+ * Junicode, Junicode-Italic: Mkmk failed in different ways in
+ different applications. It turned out this was about the ways
+ different shaping engines handled normalization. Solution was to
+ add anchors to the precomposed characters in the Unicode
+ Normalization List (single-storey only).
+
+2017-08-27 Peter Baker
+
+ * Junicode, Junicode-Italic: MUFI 4.0 now fully implemented in
+ regular and italic faces.
+
+2017-08-16 Peter Baker
+
+ * Junicode-Italic: Characters and features added to bring italic
+ face into line with regular. It is now possible to switch back and
+ forth between regular and italic losslessly.
+
+ * Junicode: Greek ranges removed and placed in a new font, Foulis
+ Greek, which has all the kerning and OT features that were in
+ Junicode Greek.
+
+ * Junicode, Junicode-Italic: Removed ss14 feature as no longer
+ necessary, now that combining ogonek above is part of the Unicode
+ standard (U+1DCE). mgrk removed as no longer necessary; Greek math
+ and PUA charaacters moved from unencoded area to vacated Greek
+ range. hist now substitues longs for s everywhere except at
+ word-end and before apostrophe + letter. fina removed as not
+ appropriate for Latin script.
+
+ * All: ccmp "make precomposed" disabled. Must decide whether to
+ retain this feature.
+
+ * Junicode, Junicode-Italic: Selection of cap combining marks
+ expanded. These are covered by case feature, used automatically in
+ some applications. Coverage of mark and mkmk features expanded.
+
+ * All: Source format is now UFO. Ongoing cleanup of decayed glyphs
+ (FontForge TrueType editing being somewhat lossy). Change of
+ format and editor should stop the decay.
+
+ * Junicode-Bold, Junicode-BoldItalic: These two faces are being
+ maintained but not developed further. Anyone want to take them
+ over?
+
+ * All: Too many minor changes to list, over five years.
+
+2012-12-27 Peter Baker
+
+ * Junicode*: ss17 now used for linguistic alternates. Regularized
+ underline position and thickness. Added uni0294.alt, accessible
+ via ss17. theta1 is now present in all faces. anchor added for
+ scaron.
+
+ * Junicode-Italic, Junicode-Regular: Number Forms range now
+ complete and up-to-date.
+
+ * Junicode-Italic: subs lookup added. Roman numbers in Number
+ Forms range accessible via dlig.
+
+ * Junicode-BoldItalic: below-char anchors added for Basic
+ Latin. uni330 (combining tilde below) added.
+
+ * Junicode-Bold: more below-char anchors added in Basic
+ Latin. uni330 (combining tilde below) added.
+
+2012-11-17 Peter Baker
+
+ * Junicode*: f_f ligature now behaves like f when vowel with
+ diacritic follows. -f option for ttfautohint forces hinting of all
+ characters in the font. Kerning of f-ligatures corrected. Common
+ ligatures moved to unencoded slots (references left behind for
+ backward compatibility), improving searchability in PDF
+ files. Metrics slightly changed to address Windows clipping
+ problems.
+
+ * Junicode-Bold, Junicode-Regular: Small caps added for some base
+ letter + diacritic combos.
+
+ * Junicode-Regular: Fixups of Greek outlines. digamma, koppa, Cap
+ stigma added. Two more ligatures added from the Foulis-Wilson
+ specimen.
+
+ * Junicode-Italic: Several cap swashes added: A, J, D, Q, AE
+ (these are used in Hickes's Thesaurus). k_i, s_t ligatures added.
+
+2012-04-08 Peter Baker
+
+ * Junicode-Regular: All ligatures and stylistic alternates found
+ in the Foulis Homer have been added in the regular face: these are
+ accessed via hlig and salt. It may be necessary to set the script
+ explicitly to Greek to access these Greek features. The style of
+ rho used in the Foulis Homer has been made the default.
+
+2012-04-01 Peter Baker
+
+ * Junicode-Regular, Junicode-Italic, Junicode-Bold,
+ Junicode-BoldItalic: Gothic now in all four faces. Original Gothic
+ moved to Bold; Gothic in Regular harmonizes with small caps;
+ skewed versions in Italic and BoldItalic.
+ * Junicode.tex: revised Gothic specimen; added note on use of mgrk
+ to get IPA shapes of beta and theta.
+
+2012-03-27 Peter Baker
+
+ * Junicode-Regular: Added Gothic range; added lookups ss19
+ (Latin-to-Gothic tranliteration) and ss20 (Gothic-to-Latin
+ transliteration).
+
+2012-03-07 Peter Baker
+
+ * Junicode-Bold, Junicode-Italic, Junicode-BoldItalic: Swashes
+ (for Middle English) for all 4 faces
+ * All: Improvements for Turkish (including dotted small-cap
+ i). These should be automatic via locl.
+ * All: Improved shape of dcaron, tcaron, lcaron (with kerning) for
+ Eastern European languages
+ * Junicode-Bold: small caps for bold face
+ * Junicode-Bold, Junicode-BoldItalic: added capital Eszett, U+1E9E
+ * Junicode-Regular, Junicode-Bold: small cap Eszett when c2sc is
+ applied to U+1E9E
+ * Junicode-Regular, Junicode-Italic, Junicode-Bold: IPA shapes of
+ beta, theta available at U+701, U+702 (and alternative omega in
+ regular at U+703). Preferred method of accessing these is still
+ via standard beta and theta + mgrk
+ * All: arrows at U+2190 - U+2193; emptyset at U+2205
+ * All: f.alt accessible via salt
+ * All: kern f + exclam
+ * All: obsolete MUFI code points removed; these codes may be reused.
+ * All: minimal Panose values
+ * All: additional small caps for Eastern European languages
+ * All: additional small caps for Turkish
+ * Junicode-Bold, Junicode-Italic, Junicode-BoldItalic: more MUFI
+ characters here and there
+ * Junicode-Regular, Junicode-Italic: some filling in of Latin
+ Extended B
+ * Junicode-Regular, Junicode-Italic: deleted s03 lookup
+ * Junicode-Regular: A number of Fleurons in retired MUFI code
+ points in the PUA
+ * Junicode-Regular: continuing to add Greek historic
+ ligatures. Try omicron + upsilon, epsilon + iota, alpha + iota,
+ alpha + upsilon, with various accents.
+ * Junicode-Regular: reordered GPOS kern lookups to fix a problem
+ in Scribus
Binary files old/doc/fonts/junicode/Junicode.pdf and new/doc/fonts/junicode/Junicode.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/junicode/Junicode.tex new/doc/fonts/junicode/Junicode.tex
--- old/doc/fonts/junicode/Junicode.tex 2012-11-18 01:43:31.000000000 +0100
+++ new/doc/fonts/junicode/Junicode.tex 1970-01-01 01:00:00.000000000 +0100
@@ -1,646 +0,0 @@
-%&program=xelatex
-%&encoding=UTF-8 Unicode
-
-\documentclass[12pt,a4paper,openany]{book}
-
-\usepackage{fontspec}
-
-\usepackage{microtype}
-
-\setmainfont[Contextuals=Alternate]{Junicode}
-
-\newICUfeature{StyleSet}{insular}{+ss02,-liga}
-\newICUfeature{StyleSet}{highline}{+ss04}
-\newICUfeature{StyleSet}{medline}{+ss05}
-\newICUfeature{StyleSet}{enlarged}{+ss06}
-\newICUfeature{StyleSet}{underdot}{+ss07}
-\newICUfeature{StyleSet}{altyogh}{+ss08}
-\newICUfeature{StyleSet}{altpua}{+ss09}
-\newICUfeature{StyleSet}{althook}{+ss14}
-\newICUfeature{StyleSet}{altogonek}{+ss15}
-\newICUfeature{StyleSet}{oldpunct}{+ss18}
-\newICUfeature{StyleSet}{gothic}{+ss19}
-\newICUfeature{StyleSet}{gothtolat}{+ss20}
-\newICUfeature{MirrorRunes}{on}{+rtlm}
-\newICUfeature{IPAMode}{on}{+mgrk,-liga}
-\newICUfeature{Fractions}{on}{+frac}
-\newICUfeature{Superscripts}{on}{+sups}
-\newICUfeature{Subscripts}{on}{+subs}
-\newcommand{\salt}[1]{{\addfontfeatures{Alternate=0}{#1}}}
-\newcommand{\saltb}[1]{{\addfontfeatures{Alternate=1}{#1}}}
-\usepackage{color}
-\definecolor{titlblue}{rgb}{0.34,0.33,0.63}
-\definecolor{titlred}{rgb}{0.75,0.29,0.31}
-\definecolor{titlbrown}{rgb}{0.41,0.34,0.30}
-\definecolor{myRed}{rgb}{0.5,0,0}
-\definecolor{myPink}{rgb}{1.0,0.7,0.7}
-\definecolor{myBlue}{rgb}{0,0,0.5}
-\definecolor{myLightBlue}{rgb}{0.7,0.7,1.0}
-\definecolor{myGreen}{rgb}{0,0.5,0}
-\definecolor{myMaroon}{rgb}{0.35,0,0.5}
-\usepackage{fancyhdr}
-\pagestyle{fancy}
-\fancyfoot{}
-\renewcommand{\headrulewidth}{0pt}
-\newcommand{\sampletext}{Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 12345 \addfontfeatures{Numbers=OldStyle}12345}
-\newcommand{\sctext}{Cum multa divinitus, pontifices, a
-ma\-ioribus nos\-tris in\-venta atque in\-sti\-tuta sunt}
-
-\frenchspacing
-\setlength{\parskip}{0ex plus0ex minus0ex}
-\tolerance=1000
-
-\begin{document}
-\begin{titlepage}
-\huge\noindent
-{\color{myRed}}\\[5cm]
-\Huge \hfill {\color{myBlue}Junicode}\hfill \\[1cm]
-\huge \hfill the font for medievalists\hfill \\[1cm]
- \Huge\hfill {\color{myRed}}\hfill \\[1cm]
- \huge\hfill {\itshape specimens and user’s guide}\hfill \\
-\vfill
-{\color{myRed}}
-\end{titlepage}
-\mainmatter
-\fancyhead[CE]{\scshape\color{myRed} {\addfontfeatures{Numbers=OldStyle}\thepage}\hspace{10pt}junicode}
-\fancyhead[CO]{\scshape\color{myRed} {junicode}\hspace{10pt}{\addfontfeatures{Numbers=OldStyle}\thepage}}
-\chapter*{\color{myBlue}Junicode}
-\large
-
-\noindent The Junicode font is designed to
-meet the needs of medieval scholars; however, it has a large enough
-character set to be useful to the general user. It comes in Regular,
-Italic, Bold and Bold Italic faces. The Regular face has the fullest
-character set and is richest in OpenType features.
-
-Both the selection and design of the characters in Junicode reflect
-the needs of medievalists. However, many persons writing in ancient
-and modern languages have found the font useful. If you wish to see
-better support for any language, please leave a request at the
-Junicode project page (http://sourceforge.net/projects/junicode).
-
-Junicode implements most of the recommendation of the Medieval Unicode
-Font Initiative (version 3.0). Look for special MUFI characters
-(those not in the Unicode standard) in the Private Use Area (U+E000
-and above). Download the complete recommendation at
-http://www.mufi.info/.
-
-Junicode is licensed under the SIL Open Font License: for the full
-text, go to
-http://scripts.sil.org/OFL. Briefly: You may use Junicode in any
-kind of publication, print or electronic, without fee or
-restriction. You may modify the font for your own use. You may
-distribute your modified version in accordance with the terms of the
-license.
-
-\begin{center}
-\Huge\color{myRed}
-\end{center}
-
-\chapter*{\color{myBlue}Specimens}
-
-\fontspec{Junicode}
-\noindent {\tiny \sampletext} {\small \sampletext} {\large \sampletext}
-{\Large \sampletext} {\LARGE \sampletext} {\huge \sampletext}\\
-
-{\itshape\noindent {\tiny \sampletext} {\small \sampletext} {\large \sampletext}
-{\Large \sampletext} {\LARGE \sampletext} {\huge \sampletext}}\\
-
-{\bfseries\noindent {\tiny \sampletext} {\small \sampletext} {\large \sampletext}
-{\Large \sampletext} {\LARGE \sampletext} {\huge \sampletext}}\\
-
-{\bfseries\itshape\noindent {\tiny \sampletext} {\small \sampletext} {\large \sampletext}
-{\Large \sampletext} {\LARGE \sampletext} {\huge \sampletext}}\\
-
-\noindent {\scshape {\tiny \sctext} {\small \sctext} {\large \sctext}
-{\Large \sctext} {\LARGE \sctext}}\\
-
-\noindent {\scshape\bfseries {\tiny \sctext} {\small \sctext} {\large \sctext}
-{\Large \sctext} {\LARGE \sctext}}\\
-
-\noindent{\Large abcdefghijklmnopqrstuvwxyz æðþȝ\\
-ABCDEFGHIJKLMNOPQRSTUVWXYZ ÆÐÞȜ\\
-αβγδεζηθικλμνξοπρςστυφχψω\\
-ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ}\newpage
-
-\subsection*{Old and Middle English}
-
-\noindent{\small\itshape The default letter-shapes are suitable for
-setting Old and Middle English.}\\[1ex]
-Wē æthrynon mid ūrum ārum þā ȳðan þæs dēopan wǣles; wē
-ġesāwon ēac þā muntas ymbe þǣre sealtan sǣ strande, and wē mid
-āðēnedum hræġle and ġesundfullum windum þǣr ġewīcodon on þām
-ġemǣrum þǣre fæġerestan þēode. Þā ȳðan ġetācniað þisne dēopan
-cræft, and þā muntas ġetācniað ēac þā miċelnyssa þisses cræftes.\\
-
-\noindent S{\scshape iþen} þe sege and þe assaut watz sesed at Troye,\\
-Þe borȝ brittened and brent to brondez and askez,\\
-Þe tulk þat þe trammes of tresoun þer wroȝt\\
-Watz tried for his tricherie, þe trewest on erthe:\\
-Hit watz Ennias þe athel, and his highe kynde,\\
-Þat siþen depreced prouinces, and patrounes bicome\\
-Welneȝe of al þe wele in þe west iles.\\
-
-\noindent{\small\itshape Apply the OpenType feature ss02 (Style Set 2)
-for insular letter-forms.}\\[1ex]
-{\addfontfeature{StyleSet=insular,Ligatures=NoCommon,StyleSet=altogonek}
-Her cynewulf benam sigebryht his rices \& weſtſeaxna wiotan for
-un\-ryht\-um dędū buton hamtúnſcire \& he hæfde þa oþ he ofslog
-þone aldormon þe hī lengeſt wunode \& hiene þa cynewulf on
-andred adræfde \& ħ þær wunade oþ þæt hine án ſwán ofſtang
-æt pryfetesflodan \& he wręc þone aldormon cumbran \& se cynewulf
-oft miclum gefeohtum feaht uuiþ bretwalū.}
-
-
-
-\subsection*{Old Icelandic}
-
-\fontspec[Language=Icelandic]{Junicode}
-{\small\itshape For Nordic shapes of þ and ð, specify the Icelandic
-language, if your application has good language support; or apply the OpenType
-ss01 (Style Set 1) feature.}\\[1ex]
-Um haustit sendi Mǫrðr Valgarðsson orð at Gunnarr myndi vera einn heimi, en
-lið alt myndi vera niðri í eyjum at lúka heyverkum. Riðu þeir Gizurr Hvíti ok
-Geirr Goði austr yfir ár, þegar þeir spurðu þat, ok austr yfir sanda til Hofs.
-Þá sendu þeir orð Starkaði undir Þríhyrningi; ok fundusk þeir þar allir er at
-Gunnari skyldu fara, ok réðu hversu at skyldi fara.
-
-\subsection*{Runic}
-\fontspec{Junicode}
-ᚠᛁᛋᚳ ᚠᛚᚩᛞᚢ ᚪᚻᚩᚠ ᚩᚾ ᚠᛖᚱᚷᛖᚾᛒᛖᚱᛁᚷ ᚹᚪᚱᚦ ᚷᚪ᛬ᛇᚱᛁᚳ ᚷᚱᚩᚱᚾ ᚦᚨᚱ ᚻᛖ ᚩᚾ ᚷᚱᛖᚢᛏ ᚷᛁᛇᚹᚩᛗ
-ᚻᚱᚩᚾᚨᛇ ᛒᚪᚾ\\
-ᚱᚩᛗᚹᚪᛚᚢᛇ ᚪᚾᛞ ᚱᛖᚢᛗᚹᚪᛚᚢᛇ ᛏᚹᛟᚷᛖᚾ ᚷᛁᛒᚱᚩᚦᚫᚱ ᚪᚠᛟᛞᛞᚫ ᛞᛁᚫ ᚹᚣᛚᛁᚠ ᚩᚾ ᚱᚩᛗᚫ\linebreak[0]ᚳᚫᛇᛏᛁ᛬
-ᚩᚦᛚᚫ ᚢᚾᚾᛖᚷ
-
-\subsection*{German}
-
-Ich ſag üch aber / minen fründen / Foͤꝛchtēd üch nit voꝛ denen die den
-lyb toͤdend / vnd darnach nichts habennd das ſy mer thuͤgind. Ich wil
-üch aber zeigē voꝛ welchem ir üch \saltb{f}oͤꝛchten ſollend. Foͤꝛchtend üch voꝛ
-dem / der / nach dem er toͤdet hat / ouch macht hat zewerffen inn die
-hell: ja ich ſag üch / voꝛ dem ſelben \saltb{f}oͤꝛchtēd üch. Koufft man nit
-fünff Sparen vm̄ zween pfennig\\[1ex]
-{\Large Die straße ist zu schmal für autos. Wohin fährt dieser Zug?}\\
-DIE STRAẞE IST ZU SCHMAL FÜR AUTOS.
-{\itshape DIE STRAẞE IST ZU SCHMAL FÜR AUTOS.}
-{\bfseries DIE STRAẞE IST ZU SCHMAL FÜR AUTOS.}
-{\itshape\bfseries DIE STRAẞE IST ZU SCHMAL FÜR AUTOS.}\\[1ex]
-{\scshape Die straße ist zu schmal für autos.
-\bfseries Die straße ist zu schmal für autos.}
-{\itshape Use c2sc for small cap Eszett:}
-{\addfontfeature{Letters=UppercaseSmallCaps}DIE STRAẞE IST ZU SCHMAL FÜR AUTOS.
-\bfseries DIE STRAẞE IST ZU SCHMAL FÜR AUTOS.}
-
-
-
-\subsection*{Latin}
-
-{\small\itshape Junicode contains the most common Latin abbreviations,
- making it suitable for diplomatic editions of Latin texts.}\\[1ex]
-{\addfontfeatures{StyleSet=altogonek}Adiuuanos dſ̄ ſalutariſ noſter \&
- ꝓpt̄ głam nominiſ tui dnē liƀanoſ· \& ꝓpitiuſ eſto peccatiſ noſtriſ
- ꝓpter nomen tuum· Ne forte dicant ingentib: ubi eſt dſ̄ eorum \&
- innoteſcat innationib: corā oculiſ nr̄iſ· Poſuerunt moſticina
- ſeruorū ruorū eſcaſ uolatilib: cęli carneſ ſcōꝝ tuoꝝ beſtiiſ tenice·
- Facti ſumꝰ ob\kern+0.2ptꝓbrium uiciniſ nr̄iſ·}
-
-\subsection*{Gothic}
-
-jabai auk ƕas gasaiƕiþ þuk þana habandan kunþi in galiuge stada
-anakumbjandan, niu miþwissei is siukis wis\-an\-dins timrjada du
-galiugagudam gasaliþ matjan? fraqistniþ auk sa unmahteiga ana
-þeinamma witubnja broþar in þize Xristus gaswalt. swaþ~þan
-frawaurkjandans wiþra broþruns, slahandans ize gahugd siuka, du
-Xristau fra\-waur\-keiþ.\\
-
-{\noindent\small\itshape Use ss19 to produce Gothic letters
- automatically from transliterated text and ss20 to produce Latin
- letters from Gothic. Available in all four faces.}\\[1ex]
-{\addfontfeature{StyleSet=gothic}jabai auk ƕas gasaiƕiþ þuk þana
- habandan kunþi in ga\-liuge stada anakumbjandan, niu miþwissei is
- siukis wis\-an\-dins timrjada du galiugagudam gasaliþ matjan?
- {\bfseries jabai auk ƕas gasaiƕiþ þuk þana habandan kunþi in
- ga\-liuge stada anakumbjandan, niu miþwissei is siukis
- wis\-an\-dins timrjada du galiugagudam gasaliþ matjan?}
- \textit{abgdeqzh \bfseries abgdeqzh}}
-
-\subsection*{Sanskrit Transliteration}
-
-\noindent mānaṁ dvividhaṁ viṣayadvai vidyātśaktyaśaktitaḥ \\
- arthakriyāyāṁ keśadirnārtho ’narthādhimokṣataḥ\\[1ex]
-sadr̥śāsadr̥śatvācca viṣayāviṣayatvataḥ \\
- śabdasyānyanimittānāṁ bhāve dhīsadasattvataḥ
-
-\subsection*{International Phonetic Alphabet}
-\fontspec[IPAMode=on]{Junicode}
-hwɑn θɑt ɑːprɪl wiθ is ʃuːrəs soːtə θə drʊxt ɔf mɑrʧ hɑθ peːrsəd toː
-θə roːte ɑnd bɑːðəd ɛvrɪ væɪn ɪn swɪʧ lɪkuːr ɔf hwɪʧ vɛrtɪu
-ɛnʤɛndrəd ɪs θə fluːr hwɑn zɛfɪrʊs eːk wɪθ hɪs sweːtə bræːθ
-\fontspec{Junicode}
-
-\subsection*{Greek}
-
-{\small\itshape The Greek typeface (available only in the regular
- face) is based on the Greek Double Pica cut by Alexander Wilson of
- Glasgow in the eighteenth century. It is not really suitable for
- setting modern Greek; those who want a more modern Greek face that
- harmonizes well with Junicode should consider GFS Didot
- Classic or GFS Porson.}\\[1ex]
-{\addfontfeature{Script=Greek}βίβλος
-γενέσεως ἰησοῦ χ\kern+1pt\salt{ρ}ιστοῦ υἱοῦ δαυὶδ
-υἱοῦ ἀβραάμ.
-ἀβραὰμ
-ἐγέννησεν τὸν ἰσαάκ, ἰσαὰκ δὲ ἐγέννησεν
-τὸν ἰακώβ, ἰακὼβ δὲ ἐγέννησεν τὸν
-ἰούδαν καὶ τοὺς ἀδελφοὺς αὐτοῦ,
-ἰούδας
-δὲ ἐγέννησεν τὸν φάρες καὶ τὸν ζάρα
-ἐκ τῆς θαμάρ, φάρες δὲ ἐγέννησεν τὸν
-ἑσρώμ, ἑσρὼμ δὲ ἐγέννησεν τὸν ἀράμ,
-ἀρὰμ
-δὲ ἐγέννησεν τὸν ἀμιναδάβ, ἀμιναδὰβ
-δὲ ἐγέννησεν τὸν ναασσών, ναασσὼν δὲ
-ἐγέννησεν τὸν σαλμών,
-σαλμὼν
-δὲ ἐγέννησεν τὸν βόες ἐκ τῆς ῥαχάβ,
-βόες δὲ ἐγέννησεν}\\[1ex]
-{\small\itshape Use the OpenType feature hlig and salt for old-style ligatures
-and alternative letter-shapes:}\\[1ex]
-{\addfontfeature{Script=Greek,Ligatures=Historic}βί\salt{β}λος
-γενέσεως ἰησοῦ χ\kern+1pt\salt{ρ}ισ\salt{τ}οῦ υἱοῦ δαυὶδ
-υἱοῦ ἀ\salt{β}ραάμ.
-ἀ\salt{β}ραὰμ
-ἐγέννησεν τὸν ἰσαάκ, ἰσαὰκ δὲ ἐγέννησεν
-τὸν ἰακώ\salt{β}, ἰακὼ\salt{β} δὲ ἐγέννησεν τὸν
-ἰούδαν καὶ τοὺς ἀδελφοὺς αὐτοῦ,
-ἰούδας
-δὲ ἐγέννησεν τὸν \salt{φ}άρες καὶ τὸν ζάρα
-ἐκ τῆς \salt{θ}αμάρ, φάρες δὲ ἐγέννησεν τὸν
-ἑσρώμ, ἑσρὼμ δὲ ἐγέννησεν τὸν ἀράμ,
-ἀρὰμ
-δὲ ἐγέννησεν τὸν ἀμιναδά\salt{β}, ἀμιναδὰ\salt{β}
-δὲ ἐγέννησεν τὸν ναασσών, ναασσὼν δὲ
-ἐγέννησεν τὸν σαλμών,
-σαλμὼν
-δὲ ἐγέννησεν τὸν βόες ἐκ τῆς ῥαχά\salt{β},
-βόες δὲ ἐγέννησεν}\\[1ex]
-
-\subsection*{Lithuanian}
-
-{\small\itshape Lithuanian poses several typographical challenges. An
- accented i retains its dot: i̇́; and certain characters with ogonek
- must avoid colliding with a following j:
- {\upshape\addfontfeatures{Contextuals=Alternate} ęj ųj}. Make sure
- Contextual Alternates (calt) is turned on; for i̇́, use i followed
- by non-spacing dot accent (0307) and acute (0301).}\\[1ex]
-Visa žemė turėjo vieną kalbą ir tuos pačius žodžius. Kai žmonės
-kėlėsi iš rytų, jie rado slėnį Šinaro krašte ir ten įsikūrė. Vieni
-kitiems sakė: Eime, pasidirbkime plytų ir jas išdekime. – Vietoj
-akmens jie naudojo plytas, o vietoj kalkių – bitumą. Eime, – jie
-sakė, – pasistatykime miestą ir bokštą su dangų siekiančia viršūne ir
-pasidarykime sau vardą, kad nebūtume išblaškyti po visą žemės veidą.
-
-\subsection*{Polish}
-{\small\itshape The default shape and position of ogonek in Junicode are suitable
-for modern Polish. For the medieval Latin e-caudata, consider using
-ss15.}\\[1ex]
-Mieszkańcy całej ziemi mieli jedną mowę, czyli jednakowe słowa. A
-gdy wędrowali ze wschodu, napotkali równinę w kraju Szinear i tam
-zamieszkali. I mówili jeden do drugiego: Chodźcie, wyrabiajmy cegłę
-i wypalmy ją w ogniu. A gdy już mieli cegłę zamiast kamieni i smołę
-zamiast zaprawy murarskiej, rzekli: Chodźcie, zbudujemy sobie miasto
-i wieżę, której wierzchołek będzie sięgał nieba, i w ten sposób
-uczynimy sobie znak, abyśmy się nie rozproszyli po całej ziemi.
-
-\subsection*{Czech}
-{\small\itshape Special care has recently been taken to improve
- handling
-of Eastern European languages. The developer solicits suggestions for
-further improvement.}\\
-Pojďme do Betléma a přesvědčme
-se o tom, co nám anděl oznámil. Mojžíšův Zákon přikazoval, aby každá
-žena čtyřicátý den po narození chlapce přinesla oběť do chrámu.
-{\itshape Pojďme do Betléma a přesvědčme
-se o tom, co nám anděl oznámil. Mojžíšův Zákon přikazoval, aby každá
-žena čtyřicátý den po narození chlapce přinesla oběť do chrámu.}
-{\bfseries Pojďme do Betléma a přesvědčme
-se o tom, co nám anděl oznámil. Mojžíšův Zákon přikazoval, aby každá
-žena čtyřicátý den po narození chlapce přinesla oběť do chrámu.}
-{\scshape Pojďme do Betléma a přesvědčme
-se o tom, co nám anděl oznámil. Mojžíšův Zákon přikazoval, aby každá
-žena čtyřicátý den po narození chlapce přinesla oběť do chrámu.}
-
-\subsection*{Fleurons}
-
-\begin{center}
-\huge \\
- \\[0.7ex]
-\\[0.7ex]
-\\
-
-\end{center}
-
-\chapter*{\color{myBlue}OpenType Features}
-
-{\itshape Following is a list of the OpenType features in
- Junicode. For instructions on applying OpenType features, consult
- the documentation for your preferred application. Note that you
- should turn on the following features, if they are not on by
- default: {\upshape liga} (Standard Ligatures), {\upshape ccmp}
- (Glyph Composition/Decomposition), {\upshape calt} (Contextual
- Alternates), {\upshape kern} (Horizontal Kerning).}
-
-\subsection*{Standard Ligatures (liga)}
-
-Like many old-style fonts, Junicode contains the most common f-ligatures
-(first flight offer office afflict fjord) and some that are less common
-(e.g. thrift fifty afraid für fördern). It
-also has long-s ligatures (e.g. aſſert ſtart ſlick omiſſion).
-
-\subsection*{Glyph Composition/Decomposition (ccmp)}
-
-A base character followed by one or more combining diacritical marks
-is replaced with a precomposed character when that would look
-different from the character + diacritic sequence: for example A +
-U+301 makes Á, where a special upper-case form of the diacritic is
-used.
-
-\subsection*{Contextual Alternates (calt)}
-
-When this feature is on (as it should be by default), Junicode will
-avoid unsightly collisions between neighboring characters such as f
-and vowels with diacritics, e.g. fêler fíf fŭl. If you find that f
-collides with some other character, you can select the narrower
-\saltb{f} via the OpenType salt feature.
-
-\subsection*{Stylistic Alternates (salt)}
-
-This feature gives you direct access to a number of alternates that
-are available via other features. Some of these (for example the
-narrow f) may be useful to avoid collisions that the font designer has
-not anticipated. In Greek script, alternative letter shapes should be
-accessed via salt:
-e.g. {\addfontfeature{Script=Greek}β\salt{β}γ\salt{γ}ρ\salt{ρ}τ\salt{τ}φ\salt{φ}.}
-It may be necessary to set the script to Greek explicitly to access
-Greek alternates.
-
-\subsection*{Kerning (kern)}
-
-Junicode uses class-based kerning. A few applications are unable to
-use it.
-
-\subsection*{Discretionary Ligatures (dlig)}
-
-This feature will give you fancy ligatures, e.g. %
-{\addfontfeature{Ligatures=Discretionary} act star track bitten
- attract,} %
-and also connected Roman numbers (%
-{\addfontfeature{Ligatures=Discretionary} I II III IV V VI VII VIII IX X XI
- XII}).
-Use it also for circled numbers and letters:
-[1] {\addfontfeature{Ligatures=Discretionary}= [1]};
-[A] {\addfontfeature{Ligatures=Discretionary}= [A]};
-[a] {\addfontfeature{Ligatures=Discretionary}= [a]};
-[[1]] {\addfontfeature{Ligatures=Discretionary}= [[1]]};
-<1> {\addfontfeature{Ligatures=Discretionary}= <1>}
-(regular face only).
-
-\subsection*{Historical Ligatures (hlig)}
-
-Nearly all of MUFI’s ligatures are
-accessible via “Historical Ligatures” (hlig).
-{\addfontfeature{Ligatures=Historic}Even if you are not a medievalist,
- you may still be amused by the strange effects you can achieve by
- turning on this feature: egg track caught fan sock book save aardvark
- chaos AA AO
- AU AV.} This feature willl also permit you to access a large number
-of historical Greek ligatures that appear in the Foulis Homer, e.g.
-{\addfontfeatures{Script=Greek,Ligatures=Historic}ἰφθίμους
- ἐτελείε\salt{τ}ο
-διαστήτην μάχεσθαι χραίσμῃ.} You may have to
-set the script to Greek explicitly to access Greek historical ligatures.
-
-\subsection*{Mark Positioning (mark and mkmk)}
-
-Where no precomposed character is available, combining marks should
-still be correctly positioned, and marks can be “stacked” via “Mark
-to Base” (mark) and “Mark to Mark” (mkmk): ŏ́ (o + U+306 + U+301);
-ī̆ (i + U+304 + U+306). The dot of an i or j followed by a diacritic
-will generally be removed: i̽. If your application supports these
-features, they are probably on by default.
-
-\subsection*{Small Capitals (smcp and c2sc)}
-
-Use “Small Caps” (smcp) to change lower-case letters to
-small caps; add “Caps to Small Caps” (c2sc) for text entirely in small
-caps. {\scshape Junicode has true small caps rather than scaled
- capitals.} Special small cap versions of common combining diacritics
-are available, and these should be positioned correctly relative to
-the base characters: {\scshape äçé}. {\itshape Regular face
- only.}
-
-\subsection*{Old-Style Numbers (onum)}
-
-You have a choice of either standard “lining” figures or old-style
-figures, selected by “Old-Style Numbers” (onum): 0123456789
-{\addfontfeature{Numbers=OldStyle}0123456789.}
-
-\subsection*{Superscripts and Subscripts (sups, subs)}
-
-\noindent Superscript numbers are rendered with “Superscripts” (sups):
-{\addfontfeature{Superscripts=on} 0123456789}. Subscript numbers
-are rendered with “Subscripts” (subs):
-{\addfontfeature{Subscripts=on} 0123456789}. In the regular and
-italic styles there is a complete alphabet of superscripts (e.g.
-{\addfontfeature{Superscripts=on}abcxyz}).
-
-\subsection*{Fractions (frac)}
-
-A sequence of number + slash + number is rendered by a fraction if the
-fraction has a Unicode encoding and this feature is on:
-{\addfontfeature{Fractions=on} 1/2 1/4 2/3 3/4}.
-
-\subsection*{Letters with flourishes (swsh)}
-For letters with flourishes (sometimes used for setting Middle English
-texts), use “Swash” (swsh):
-{\addfontfeature{Style=Swash}c d f g k n r}. Some capital swashes are also
-available in the italic face, based on those in Hickes's \textit{Thesaurus}:
-{\addfontfeature{Style=Swash}\textit{A D J Q Æ}}.
-
-\subsection*{Mirrored runes (rtlm)}
-
-In the regular face Junicode
-contains mirrored versions of runes. To access these, use
-Right-to-Left Mirroring (rtlm): {\addfontfeatures{MirrorRunes=on}
- ᚾᚪᛒᛋᚫᚾᚩᚱᚻ.}
-
-\subsection*{Greek letters in IPA (mgrk)}
-
-Greek β and θ are needed for phonetic work, but the Greek of Junicode
-does not harmonize with other characters in the IPA range. To solve
-the problem, use mgrk: {\addfontfeature{IPAMode=on}βθ}. Alternatively,
-both characters are available in the Private Use Area: U+F701, U+F702.
-
-\subsection*{Nordic letter-shapes (ss01)}
-
-The default shape of ð and þ in Junicode is English: this is unusual in
-modern fonts. For the shapes used in Icelandic, specify the Icelandic
-language, if your application has good language support, or select
-“Style Set 1” (ss01): {\addfontfeature{Language=Icelandic} ðþ}.
-
-\subsection*{Insular letter-shapes (ss02)}
-
-Use “Style Set 2” (ss02) for insular letter-forms:
-{\fontspec[StyleSet=insular]{Junicode} abcdefg.} Turn off “Standard
-Ligatures” (liga) for best results.
-
-\subsection*{Overlined characters (ss04, ss05)}
-
-Use “Style Set 4” (ss04) for roman numbers with high overline
-({\fontspec[StyleSet=highline]{Junicode} viii XCXV}) and “Style Set 5”
-(ss05) for lower-case roman numbers with medium-high overline
-({\fontspec[StyleSet=medline]{Junicode} viii dclx}). These Stylistic
-Sets will work only with letters used in Roman numbers.
-
-\subsection*{Enlarged minuscules (ss06)}
-
-“Style Set 6” (ss06) produces enlarged minuscules, thus:
-{\addfontfeature{StyleSet=enlarged} abcdefg.} Since the underlying
-text remains unchanged, enlarged text can be searched like normal
-text.
-
-\subsection*{Deleted text (ss07)}
-
-In medieval manuscripts, text is often deleted by placing a dot under each
-letter. Both Unicode and MUFI define many characters with dots below:
-{\addfontfeature{StyleSet=underdot} if possible, you should avoid
-hard-coding these and instead use} “Style Set 7” (ss07).
-
-\subsection*{Alternate yogh (ss08)}
-
-For Middle English, always use the yogh at U+021C and U+021D (Ȝȝ).
-Unicode also has an alternative yogh, which in Junicode has a
-flat top. If you prefer this, leave the underlying text the same and
-specify “Style Set 8” (ss08):
-{\addfontfeature{StyleSet=altyogh} Ȝȝ}.
-
-
-\subsection*{Retired letter-shapes (ss09)}
-
-The design of a few Junicode characters has changed since the font was
-introduced. The original designs, if you prefer them, will always be
-available via “Style Set 9” (ss09). Currently there are just a few
-such alternates: {\fontspec[StyleSet=altpua]{Junicode} ꝺ} for ꝺ,
-{\addfontfeature{StyleSet=altpua} T} for T,
-{\scshape{\addfontfeature{StyleSet=altpua} t} for t}.
-
-\subsection*{Letters with hook above (ss14)}
-
-The Unicode standard contains several precomposed characters with
-combining hook above in the Latin Extended Additional range
-(e.g. ẢỎ). These are used automatically when a vowel is followed by
-the diacritic U+0309. However, MUFI contains a series of precomposed
-characters in which the hook differs in shape and position. Use “Style
-Set 14” (ss14) for the MUFI characters (e.g.
-\addfontfeature{StyleSet=althook}ẢỎ).
-
-\subsection*{E caudata (ss15)}
-
-Medieval Latin texts often use an {\itshape e} with tail, called
-{\itshape e caudata}; this represents Latin {\itshape ae} or {\itshape
- oe}. Polish, Lithuanian, and several other languages also use this
-letter. While in modern editions of medieval texts the {\itshape
- cauda} (or in Polish, the {\itshape ogonek}) is often attached to
-the very bottom of the letter, in modern Polish and Lithuanian
-printing it is attached to the end of the bottom stroke: Polish ę,
-medieval Latin {\addfontfeatures{StyleSet=altogonek}ę}. The modern
-Polish version of the letter is acceptable for medieval Latin;
-however, if you prefer a centered {\itshape cauda}, use
-“Style Set 15” (ss15).
-
-\subsection*{Old-Style Punctuation (ss18)}
-
-{\addfontfeature{StyleSet=oldpunct}Old books generally set
-extra space before the heavier punctuation marks (; : ! ?);
-they also leave extra space inside quotation marks and
-parentheses (e.g. “here”). For a similar effect, use Stylistic Set 18 (ss18). Make sure
-that Contextual Alternates are also on so that Junicode can correct
-the spacing in certain environments (but you will have to kern the English plural
-possessive apostrophe manually).}
-
-\subsection*{Latin-to-Gothic Transliteration (ss19)}
-
-As transliteration of Latin to Gothic characters is straightforward,
-it can easily be handled with OpenType features. Note that the Gothic
-alphabet has no distinction between upper- and lower-case, so capitals
-and lower-case letters are transliterated the same way:
-{\addfontfeature{StyleSet=gothic} mahtedi sweþauh jah inu mans leik}.
-
-\subsection*{Gothic-to-Latin Transliteration (ss20)}
-
-The same as ss19, but in reverse. It produces all lower-case
-letters. Thus 𐌲𐌰𐌳𐍉𐌱 𐌽𐌿 𐍅𐌰𐍃 𐌼𐌰𐌹𐍃 𐌸𐌰𐌽𐍃 𐍃𐍅𐌴𐍃𐍅𐌰𐌼𐌼𐌰
-becomes ‘{\addfontfeature{StyleSet=gothtolat}𐌲𐌰𐌳𐍉𐌱 𐌽𐌿 𐍅𐌰𐍃 𐌼𐌰𐌹𐍃 𐌸𐌰𐌽𐍃 𐍃𐍅𐌴𐍃𐍅𐌰𐌼𐌼𐌰}’.
-
-\begin{center}
-\huge {\color{myRed}}
-\end{center}
-
-\chapter*{\color{myBlue}Other Features}
-
-\subsection*{Treatment of Obsolete Characters}
-
-A number of medieval characters originally assigned by MUFI to the
-Unicode Private Use Area have been accepted into the Unicode
-standard. For several years Junicode retained the obsolete
-characters, adding a mark to warn document maintainers to reencode
-their documents. Beginning with version 0.7.3 obsolete MUFI characters
-have been removed from the font.
-
-\subsection*{Character Protrusion}
-
-For XeLaTeX users who use the Microtype package for
-character protrusion, a
-configuration file (mt-Junicode.cfg) is provided for Junicode. Users
-of XeLaTeX will need Microtype version 2.5 (currently beta). The
-configuration file will work only with XeLaTeX, though it can probably be made
-to work with LuaTeX by commenting out the last five lines of the
-{\textbackslash}DeclareCharacterInheritance command.
-
-\subsection*{Fleurons}
-
-Junicode contains a number of fleurons (floral ornaments) copied from
-a 1785 Caslon specimen book. This book contains a number of
-examples. Fleurons may be found at these code-points: E270, E27D,
-E670, E67D, E68A, E736, E8B0, E8B1, EF90–EF9C, EF9F, F011, F014, F018,
-F019, F01B, F01D, F01E.
-
-\chapter*{\color{myBlue}Miscellanea}
-
-The Junicode font is available at
-http://junicode.sourceforge.net/. You can also find it in the
-repositories of many Linux distributions, and also via CTAN. Visit the
-Junicode Project Page at SourceForge to leave feature requests and bug
-reports. Contributions are welcome: if you wish to contribute to
-Junicode, leave a patch at the Project Page or contact the
-developer.\\
-
-\subsection*{Developer}
-Peter S. Baker, University of Virginia
-
-\subsection*{Contributors}
-Denis Moyogo Jacquerye\\
-Adam Buchbinder\\
-Pablo Rodriguez\\
-
-\noindent Thanks to the many users who have submitted feature requests
-and bug reports.\\
-
-\def\reflect#1{{\setbox0=\hbox{#1}\rlap{\kern0.5\wd0
- \special{x:gsave}\special{x:scale -1 1}}\box0 \special{x:grestore}}}
-\def\XeTeX{\leavevmode
- \setbox0=\hbox{X\lower.5ex\hbox{\kern-.15em\reflect{E}}\kern-.1667em \TeX}%
- \dp0=0pt\ht0=0pt\box0 }
-
-\noindent This document was set with {\XeTeX}.
-\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/junicode/README new/doc/fonts/junicode/README
--- old/doc/fonts/junicode/README 2012-04-10 00:43:49.000000000 +0200
+++ new/doc/fonts/junicode/README 2020-02-28 23:21:39.000000000 +0100
@@ -1,5 +1,24 @@
+Junicode
+Version 1.0.2
+(c) 1998-2018 Peter S. Baker
+
This is a TrueType font for medievalists (and others) with many
OpenType features. See the documentation, Junicode.pdf, for
specimens and detailed instructions.
-License: Open Font License (http://scripts.sil.org/OFL)
+License: Open Font License (see COPYING).
+
+***
+
+Since the font is a native OpenType font with many features, it is best to
+use with fontspec and LuaLaTeX or XeLaTeX. For details on the available
+OpenType features, see doc/Junicode.pdf.
+
+For use with Type 1-based engines, simply invoke \usepackage{junicode},
+though some features will not be available.
+
+***
+
+The LaTeX support was added by Daniel Benjamin Miller. This support has been
+dedicated to the public domain. Where this is not possible, you are hereby
+given permission to use this contribution for any purpose whatsoever.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/junicode/README.TEXLIVE new/doc/fonts/junicode/README.TEXLIVE
--- old/doc/fonts/junicode/README.TEXLIVE 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/junicode/README.TEXLIVE 2020-02-28 23:21:39.000000000 +0100
@@ -0,0 +1,9 @@
+The following files have been removed in the TeX Live installation of
+the current package, typically due to duplication, lack of space, or
+missing source code. You can find these files on CTAN at
+ http://mirror.ctan.org/fonts/junicode
+If questions or concerns, email tex-live@tug.org.
+
+ homer_sample.pdf
+ Junicode.pdf
+ aelfric_job.pdf
Binary files old/doc/fonts/junicode/aelfric_job.pdf and new/doc/fonts/junicode/aelfric_job.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/junicode/aelfric_job.tex new/doc/fonts/junicode/aelfric_job.tex
--- old/doc/fonts/junicode/aelfric_job.tex 2012-04-03 01:53:05.000000000 +0200
+++ new/doc/fonts/junicode/aelfric_job.tex 1970-01-01 01:00:00.000000000 +0100
@@ -1,74 +0,0 @@
-%&program=xelatex
-%&encoding=UTF-8 Unicode
-
-\documentclass[letterpaper]{article}
-
-\usepackage{fontspec}
-
-\setromanfont{Junicode}
-
-\newICUfeature{StyleSet}{1}{+ss01}
-\newICUfeature{StyleSet}{2}{+ss02,-liga}
-\newICUfeature{StyleSet}{3}{+ss03}
-\newICUfeature{LigType}{disc}{+dlig}
-\newICUfeature{LigType}{hist}{+hlig}
-\newICUfeature{IPAMode}{on}{+mgrk,-liga}
-\newICUfeature{Compose}{off}{-ccmp}
-\newICUfeature{Contextual}{on}{+calt}
-\newICUfeature{Swash}{on}{+swsh}
-\newICUfeature{Fractions}{on}{+frac}
-\newICUfeature{Superscripts}{on}{+sups}
-\newICUfeature{Subscripts}{on}{+subs}
-
-\frenchspacing
-
-\begin{document}
-
-\section*{Old English with Junicode}
-
-\linespread{1.1}\fontspec[Contextual=on]{Junicode}\Large Sum wer wæs ġeseten on þām lande þe is ġehāten Hus; his nama wæs Iob. Se wer wæs swīðe bilewite and rihtwīs and ondrǣdende God and forbūgende yfel. Him wǣron ācennede \mbox{seofan} suna and ðrēo dohtra. Hē hæfde seofon ðūsend scēapa and ðrēo ðūsend olfenda, fīf hund ġetȳmu oxena and fīf hund assan and ormǣte miċelne hīred.
-
-Iob cwæð, “Iċ ālȳsde hrȳmende þearfan, and ðām stēopbearne þe būton fultume wæs iċ ġehēolp, and wydewan \mbox{heortan} iċ ġefrēfrode. Iċ wæs ymbscrȳd mid rihtwīsnysse. Iċ wæs blind\-um men ēage and healtum fōt and þearfena fæder. Of flȳsum mīnra scēapa wǣron ġehlȳwde ðearfena sīdan, and iċ ðearfum ne forwyrnde þæs ðe hī ġyrndon, ne iċ ne ǣt āna mīnne hlāf būton stēopbearne, ne iċ ne blissode on mīnum meniġfealdum welum. Ne fæġnode iċ on mīnes fēondes hryre, ne læġ ælðēodiġ man wiðūtan mīnum heġum, ac mīn duru ġeopenode symle weġfērendum. Ne behȳdde iċ mīne synna, ne iċ on mīnum bōsme ne bedīġlode mīne unrihtwīsnysse.”
-
-Efne ðā ġȳt cōm se fēorða ǣrendraca inn and cwæð, “Ðīne suna and ðīne dohtra ǣton and druncon mid heora yldestan brēðer, and efne þā fǣrlīċe swēġde swīðliċ wind of ðām wēstene and tōslōh þæt hūs æt ðām fēower hwemmum þæt hit hrēosende ðīne bearn ofþrihte and ācwealde. Iċ āna ætbærst þæt iċ ðē þis cȳdde.”
-
-“Fel sceal for felle, and swā hwæt swā man hæfð hē sylð for his līfe. Āstreċe nū ðīne hand and hrepa his bān and his flǣsc; ðonne ġesīhst ðū þæt hē ðē on ansȳne wiriġð.”
-
-\pagebreak
-
-\itshape\noindent Sum wer wæs ġeseten on þām lande þe is ġehāten Hus; his nama wæs Iob. Se wer wæs swīðe bilewite and rihtwīs and ondrǣdende God and forbūgende yfel. Him wǣron ācennede \mbox{seofan} suna and ðrēo dohtra. Hē hæfde seofon ðūsend scēapa and ðrēo ðūsend olfenda, fīf hund ġetȳmu oxena and fīf hund assan and ormǣte miċelne hīred.
-
-Iob cwæð, “Iċ ālȳsde hrȳmende þearfan, and ðām stēopbearne þe būton fultume wæs iċ ġehēolp, and wydewan \mbox{heortan} iċ ġefrēfrode. Iċ wæs ymbscrȳd mid rihtwīsnysse. Iċ wæs blind\-um men ēage and healtum fōt and þearfena fæder. Of flȳsum mīnra scēapa wǣron ġehlȳwde ðearfena sīdan, and iċ ðearfum ne forwyrnde þæs ðe hī ġyrndon, ne iċ ne ǣt āna mīnne hlāf būton stēopbearne, ne iċ ne blissode on mīnum meniġfealdum welum. Ne fæġnode iċ on mīnes fēondes hryre, ne læġ ælðēodiġ man wiðūtan mīnum heġum, ac mīn duru ġeopenode symle weġfērendum. Ne behȳdde iċ mīne synna, ne iċ on mīnum bōsme ne bedīġlode mīne unrihtwīsnysse.”
-
-Efne ðā ġȳt cōm se fēorða ǣrendraca inn and cwæð, “Ðīne suna and ðīne dohtra ǣton and druncon mid heora yldestan brēðer, and efne þā fǣrlīċe swēġde swīðliċ wind of ðām wēstene and tōslōh þæt hūs æt ðām fēower hwemmum þæt hit hrēosende ðīne bearn ofþrihte and ācwealde. Iċ āna ætbærst þæt iċ ðē þis cȳdde.”
-
-“Fel sceal for felle, and swā hwæt swā man hæfð hē sylð for his līfe. Āstreċe nū ðīne hand and hrepa his bān and his flǣsc; ðonne ġesīhst ðū þæt hē ðē on ansȳne wiriġð.”
-
-\pagebreak
-
-\upshape\bfseries\noindent Sum wer wæs ġeseten on þām lande þe is ġehāten Hus; his nama wæs Iob. Se wer wæs swīðe bilewite and rihtwīs and ondrǣdende God and forbūgende yfel. Him wǣron ācennede \mbox{seofan} suna and ðrēo dohtra. Hē hæfde seofon ðūsend scēapa and ðrēo ðūsend olfenda, fīf hund ġetȳmu oxena and fīf hund assan and ormǣte miċelne hīred.
-
-Iob cwæð, “Iċ ālȳsde hrȳmende þearfan, and ðām stēopbearne þe būton fultume wæs iċ ġehēolp, and wydewan heort\-an iċ ġefrēfrode. Iċ wæs ymbscrȳd mid rihtwīsnysse. Iċ wæs blind\-um men ēage and healtum fōt and þearfena fæder. Of flȳsum mīnra scēapa wǣron ġehlȳwde ðearfena sīdan, and iċ ðearfum ne forwyrnde þæs ðe hī ġyrndon, ne iċ ne ǣt āna mīnne hlāf būton stēopbearne, ne iċ ne blissode on mīnum meniġfealdum welum. Ne fæġnode iċ on mīnes fēondes hryre, ne læġ ælðēodiġ man wiðūtan mīnum heġum, ac mīn duru ġeopenode symle weġfērendum. Ne behȳdde iċ mīne synna, ne iċ on mīnum bōsme ne bedīġlode mīne unrihtwīsnysse.”
-
-Efne ðā ġȳt cōm se fēorða ǣrendraca inn and cwæð, “Ðīne suna and ðīne dohtra ǣton and druncon mid heora yldestan brēðer, and efne þā fǣrlīċe swēġde swīðliċ wind of ðām wēst\-ene and tōslōh þæt hūs æt ðām fēower hwemmum þæt hit hrēosende ðīne bearn ofþrihte and ācwealde. Iċ āna ætbærst þæt iċ ðē þis cȳdde.”
-
-“Fel sceal for felle, and swā hwæt swā man hæfð hē sylð for his līfe. Āstreċe nū ðīne hand and hrepa his bān and his flǣsc; ðonne ġesīhst ðū þæt hē ðē on ansȳne wiriġð.”
-
-\pagebreak
-
-\noindent\itshape Sum wer wæs ġeseten on þām lande þe is ġehāten Hus; his nama wæs Iob. Se wer wæs swīðe bilewite and rihtwīs and ondrǣdende God and forbūgende yfel. Him wǣron ācennede \mbox{seofan} suna and ðrēo dohtra. Hē hæfde seofon ðūsend scēapa and ðrēo ðūsend olfenda, fīf hund ġetȳmu oxena and fīf hund assan and ormǣte miċelne hīred.
-
-Iob cwæð, “Iċ ālȳsde hrȳmende þearfan, and ðām stēopbearne þe būton fultume wæs iċ ġehēolp, and wydewan heort\-an iċ ġefrēfrode. Iċ wæs ymbscrȳd mid rihtwīsnysse. Iċ wæs blind\-um men ēage and healtum fōt and þearfena fæder. Of flȳsum mīnra scēapa wǣron ġehlȳwde ðearfena sīdan, and iċ ðearfum ne forwyrnde þæs ðe hī ġyrndon, ne iċ ne ǣt āna mīnne hlāf būton stēopbearne, ne iċ ne blissode on mīnum meniġfealdum welum. Ne fæġnode iċ on mīnes fēondes hryre, ne læġ ælðēodiġ man wiðūtan mīnum heġum, ac mīn duru ġeopenode symle weġ\-fēr\-end\-um. Ne behȳdde iċ mīne synna, ne iċ on mīnum bōsme ne bedīġlode mīne unrihtwīsnysse.”
-
-Efne ðā ġȳt cōm se fēorða ǣrendraca inn and cwæð, “Ðīne suna and ðīne dohtra ǣton and druncon mid heora yldestan brēðer, and efne þā fǣrlīċe swēġde swīðliċ wind of ðām wēst\-ene and tōslōh þæt hūs æt ðām fēower hwemmum þæt hit hrēosende ðīne bearn ofþrihte and ācwealde. Iċ āna ætbærst þæt iċ ðē þis cȳdde.”
-
-“Fel sceal for felle, and swā hwæt swā man hæfð hē sylð for his līfe. Āstreċe nū ðīne hand and hrepa his bān and his flǣsc; ðonne ġesīhst ðū þæt hē ðē on ansȳne wiriġð.”
-
-\pagebreak
-
-\upshape\mdseries\small\noindent In Junicode, special attention has been paid to letter-combinations that often look
-unattractive in Old English text: these are handled by ligatures and alternate forms of f, þ and ð.
-To take fullest advantage of typographical features for Old English, make sure these OpenType
-features are enabled in your application: ccmp (Glyph Composition/Decomposition), calt
-(Contextual Alternates), liga (Standard Ligatures), kern (Horizontal Kerning).
-\end{document}
Binary files old/doc/fonts/junicode/homer_sample.pdf and new/doc/fonts/junicode/homer_sample.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/junicode/homer_sample.tex new/doc/fonts/junicode/homer_sample.tex
--- old/doc/fonts/junicode/homer_sample.tex 2012-11-18 01:43:31.000000000 +0100
+++ new/doc/fonts/junicode/homer_sample.tex 1970-01-01 01:00:00.000000000 +0100
@@ -1,83 +0,0 @@
-%&program=xelatex
-%&encoding=UTF-8 Unicode
-
-\documentclass[12pt,letterpaper,twoside,openany,showidx]{book}
-\usepackage[silent]{fontspec}
-\usepackage{xltxtra}
-\usepackage{polyglossia}
-\setdefaultlanguage{greek}
-\newICUfeature{Contextual}{on}{+calt}
-\defaultfontfeatures{Mapping=tex-text,Script=Greek,Contextual=on}
-\newcommand{\hlig}[1]{{\addfontfeature{Ligatures=Historic}{#1}}}
-\newcommand{\salt}[1]{{\addfontfeature{Style=Alternate}{#1}}}
-\setromanfont{Junicode}
-\begin{document}
-\noindent\Large\addfontfeature{Ligatures=Historic} ΜΗ̃ΝΙΝ
-ἄειδε, ΘΕᾺ, Πηληϊάδεω ἈΧΙΛΗ̃ΟΣ\\
-Οὐλομένην, ἣ μυρί᾽ Ἀχαιοῖς ἄλγε᾽ ἔθηκε·\\
-Πολλὰς δ᾽ ἰφθίμους ψυχὰς ἄϊδι προΐαψεν\\
-Ἡρώων, αὐτοὺς δ᾽ ἑλώρια τεῦχε κύνεσσιν\\
-Οἰωνοῖσί τε πᾶσι· Διὸς δ᾽ ἐτελείε\salt{τ}ο βουλή·\\
-Ἐξ οὗ δὴ τὰ πρῶτα διαστήτην ἐ\salt{ρ}ίσαν\salt{τ}ε\\
-Ἀτρεΐδης τε, ἄναξ ἀνδρῶν ϗ δῖος Ἀχιλλεύς.\\
- Τίς τ᾽ ἄρ σφωε \salt{θ}εῶν ἔριδι ξυνέηκε μάχεσθαι;\\
-Λητοῦς καὶ Διὸς υἱός· ὃ γὰρ βασιλῆϊ χολωθεὶς\\
-Νοῦσον ἀνὰ στρατὸν ὄρσε κακήν· ὀλέκον\salt{τ}ο δὲ λαοί·\\
-Οὕνεκα τὸν Χρύσην ἠτίμησ᾽ ἀρητῆρα\\
-Ἀτρεΐδης· ὃ γὰρ ἦλθε \salt{θ}οὰς ἐπὶ νῆας Ἀχαιῶν\\
-Λυσόμενός τε \salt{θ}ύγα\salt{τρα φ}έρων τ᾽ ἀπερείσι᾽ ἄποινα,\\
-Στέμμα\salt{τ᾽} ἔχων ἐν χερσὶν ἑκη\salt{β}όλου Ἀπόλλωνος,\\
-Χρυσέῳ ἀνὰ σκήπ\salt{τ}ρῳ καὶ ἐλίσσε\salt{τ}ο πάν\salt{τ}ας Ἀχαιούς,\\
-Ἀτρεΐδα δὲ μάλιστα δύω, κοσμήτορε λαῶν·\\
- Ἀτρεΐδαι τε, καὶ ἄλλοι ἐϋκνήμιδες Ἀχαιοί,\\
-Ὑμῖν μὲν \salt{θ}εοὶ δοῖεν Ὀλύμπια δώμα\salt{τ᾽} ἔχοντες\\
-Ἐκπέρσαι Πριάμοιο πόλιν, εὖ δ᾽ οἴκαδ᾽ ἱκέσθαι:\\
-Παῖδα δέ μοὶ λύσαι\salt{τ}ε \salt{φ}ίλην, τὰ δ᾽ ἄποινα δέχεσθε,\\
-Ἁζόμενοι Διὸς υἱὸν ἑκη\salt{β}όλον Ἀπόλλωνα.\\
- Ἔνθ᾽ ἄλλοι μὲν πάντες ἐπευφήμησαν Ἀχαιοὶ,\\
-Αἰδεῖσθαί \salt{θ}᾽ ἱερῆα, ϗ ἀγλαὰ δέχθαι ἄποινα·\\
-Ἀλλ᾽ οὐκ Ἀτρεΐδῃ Ἀγαμέμνονι ἥνδανε \salt{θ}υμῷ,\\
-Ἀλλὰ κακῶς ἀφίει, κρα\salt{τ}ερὸν δ᾽ ἐπὶ μῦθον ἔτελλε·\\
- Μή σε, γέρον κοίλῃσιν ἐγὼ παρὰ νηυσὶ κιχείω\\
-Ἢ νῦν δηθύνον\salt{τ᾽} ἢ ὕστερον αὖτις ἰόν\salt{τ}α,\\
-Μή νύ τοι οὐ χραίσμῃ σκῆπ\salt{τ}ρον ϗ στέμμα \salt{θ}εοῖο.\\
-Τὴν δ᾽ ἐγὼ οὐ λύσω, πρίν μιν ϗ γῆρας ἔπεισιν,\\
-Ἡμετέρῳ ἐνὶ οἴκῳ ἐν Ἄργεϊ τηλόθι πάτρης\\
-Ἱστὸν ἐποιχομένην, ϗ ἐμὸν λέχος ἀν\salt{τ}ιόωσαν·\\
-Ἀλλ᾽ ἴθι μή μ᾽ ἐρέθιζε σαώτερος ὥς κε νέηαι.\\
- Ὣς ἔφα\salt{τ᾽}· ἔδδεισεν δ᾽ ὃ γέρων, ϗ ἐπείθε\salt{τ}ο μύθῳ·\\
-Βῆ δ᾽ ἀκέων παρὰ \salt{θ}ῖνα πολυφλοίσ\salt{β}οιο \salt{θ}αλάσσης·\\
-Πολλὰ δ᾽ ἔπει\salt{τ᾽} ἀπάνευθε κιὼν ἠρᾶθ᾽ ὃ γεραιὸς\\
-Ἀπόλλωνι ἄνακ\salt{τ}ι, τὸν ἠΰκομος τέκε Λητώ·\\
- Κλῦθί μευ Ἀργυρότοξ᾽, ὃς Χρύσην ἀμφι\salt{βέβ}ηκας\\
-Κίλλάν τε ζαθέην Τενέδοιό τε ἶφι ἀνάσσεις,\\
-Σμινθεῦ εἴ πο\salt{τ}έ τοι χαρίεν\salt{τ᾽} ἐπὶ νηὸν ἔρεψα,\\
-Ἢ εἰ δή πο\salt{τ}έ τοι κατὰ πίονα μηρί᾽ ἔκηα\\
-Ταύρων ἠδ᾽ αἰγῶν, τὸ δέ μοι κρήηνον ἐέλδωρ·\\
-Τίσειαν Δαναοὶ ἐμὰ δάκρυα σοῖσι βέλεσσιν.\\
- Ὣς ἔφα\salt{τ᾽} εὐχόμενος· τοῦ δ᾽ ἔκλυε Φο\salt{ῖβ}ος Ἀπόλλων,\\
-Βῆ δὲ κα\salt{τ᾽} oὐλύμποιο καρήνων χωόμενος κῆρ,\\
-Τόξ᾽ ὤμοισιν ἔχων ἀμφηρε\salt{φ}έα τε φαρέτρην·\\
-Ἔκλαγξαν δ᾽ ἄρ᾽ ὀϊστοὶ ἐπ᾽ ὤμων χωομένοιο,\\
-Αὐτοῦ κινηθέν\salt{τ}ος· ὃ δ᾽ ἤϊε νυκ\salt{τ}ὶ ἐοικώς.\\
-Ἕζε\salt{τ᾽} ἔπει\salt{τ᾽} ἀπάνευθε νεῶν, με\salt{τὰ} δ᾽ ἰὸν ἕηκε·\\
-Δεινὴ δὲ κλαγγὴ γένε\salt{τ᾽} ἀργυρέοιο βιοῖο.\\
-Οὐρῆας μὲν πρῶτον ἐπῴχε\salt{τ}ο ϗ κύνας ἀργούς,\\
-Αὐτὰρ ἔπει\salt{τ᾽} αὐτοῖσι βέλος ἐχεπευκὲς ἐφιεὶς\\
-Βάλλ᾽· αἰεὶ δὲ πυραὶ νεκύων καίον\salt{τ}ο \salt{θ}αμειαί.\\
-Ἐννῆμαρ μὲν ἀνὰ στρατὸν ᾤχετο κῆλα \salt{θ}εοῖο,\\
-Τῇ δεκάτῃ δ᾽ ἀγορὴν δὲ καλέσσα\salt{τ}ο λαὸν Ἀχιλλεύς·\\
-Τῷ γὰρ ἐπὶ φρεσὶ \salt{θ}ῆκε \salt{θ}εὰ λευκώλενος Ἥρη·\\
-Κήδε\salt{τ}ο γὰρ Δαναῶν, ὅτι ῥα \salt{θ}νήσκον\salt{τ}ας ὁρᾶτο.\\
-Οἳ δ᾽ ἐπεὶ οὖν ἤγερθεν, ὁμηγερέες τ᾽ ἐγένον\salt{τ}ο,\\
-Τοῖσι δ᾽ ἀνιστάμενος μετέφη πόδας ὠκὺς Ἀχιλλεύς·\\
- Ἀτρεΐδη νῦν ἄμμε παλιμπλα\salt{γ}χθέντας ὀΐω\\
-Ἂψ ἀπονοστήσειν, εἴ κεν \salt{θ}άνα\salt{τ}όν γε φύγοιμεν·\\
-Εἰ δὴ ὁμοῦ πόλεμός τε δαμᾷ ϗ λοιμὸς Ἀχαιούς·\\
-Ἀλλ᾽ ἄγε δή τινα μάντιν ἐρείομεν, ἢ ἱερῆα,\\
-Ἢ καὶ ὀνειροπόλον, καὶ γάρ τ᾽ ὄναρ ἐκ Διός ἐστιν,\\
-Ὅς κ᾽ εἴποι ὅ τι τόσσον ἐχώσα\salt{τ}ο Φο\salt{ῖβ}ος Ἀπόλλων·\\
-Εἴτ᾽ ἄρ᾽ ὅ γ᾽ εὐχωλῆς ἐπιμέμφεται ἠδ᾽ ἑκατόμ\salt{β}ης·\\
-Αἴ κέν πως ἀρνῶν κνίσσης αἰγῶν τε τελείων\\
-Βούλε\salt{τ}αι ἀντιάσας ἡμῖν ἀπὸ λοιγὸν ἀμῦναι.
-\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/junicode.doc.tlpobj new/tlpkg/tlpobj/junicode.doc.tlpobj
--- old/tlpkg/tlpobj/junicode.doc.tlpobj 2019-02-28 03:45:29.000000000 +0100
+++ new/tlpkg/tlpobj/junicode.doc.tlpobj 2020-02-29 01:57:51.000000000 +0100
@@ -1,15 +1,12 @@
name junicode.doc
category Package
-revision 28286
+revision 53954
shortdesc doc files of junicode
relocated 1
-docfiles size=105
- RELOC/doc/fonts/junicode/Junicode.pdf
- RELOC/doc/fonts/junicode/Junicode.tex
+docfiles size=8
+ RELOC/doc/fonts/junicode/COPYING
+ RELOC/doc/fonts/junicode/ChangeLog
RELOC/doc/fonts/junicode/README
- RELOC/doc/fonts/junicode/aelfric_job.pdf
- RELOC/doc/fonts/junicode/aelfric_job.tex
+ RELOC/doc/fonts/junicode/README.TEXLIVE
RELOC/doc/fonts/junicode/fleurons
- RELOC/doc/fonts/junicode/homer_sample.pdf
- RELOC/doc/fonts/junicode/homer_sample.tex
RELOC/doc/fonts/junicode/replacements
++++++ junicode.tar.xz ++++++
++++ 10583 lines of diff (skipped)
++++++ kantlipsum.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/kantlipsum/README.md new/doc/latex/kantlipsum/README.md
--- old/doc/latex/kantlipsum/README.md 2017-11-20 23:01:33.000000000 +0100
+++ new/doc/latex/kantlipsum/README.md 2019-07-25 23:48:10.000000000 +0200
@@ -2,14 +2,16 @@
by the "Kant generator for Python" by Mark Pilgrim, described in the
book "Dive into Python".
-This is version 0.6 of the package
+This is version 0.8a of the package
Changes from earlier version:
-The `index' option for writing index entries has been added; the
-code has been polished.
+Support for printing only a few sentences from one paragraph has been added;
+the code has been polished.
- Copyright 2011-2012 Enrico Gregorio
+Version 0.8a fixes a small glitch.
+
+ Copyright 2011-2019 Enrico Gregorio
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -27,7 +29,6 @@
README (this file)
kantlipsum.dtx
-kantlipsum.ins
kantlipsum.pdf
and of the derived file
@@ -36,4 +37,4 @@
To install the distribution:
-o run "latex kantlipsum.ins"
+o run "tex kantlipsum.dtx"
Binary files old/doc/latex/kantlipsum/kantlipsum.pdf and new/doc/latex/kantlipsum/kantlipsum.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/kantlipsum.doc.tlpobj new/tlpkg/tlpobj/kantlipsum.doc.tlpobj
--- old/tlpkg/tlpobj/kantlipsum.doc.tlpobj 2019-02-28 03:45:34.000000000 +0100
+++ new/tlpkg/tlpobj/kantlipsum.doc.tlpobj 2019-07-26 00:58:18.000000000 +0200
@@ -1,8 +1,8 @@
name kantlipsum.doc
category Package
-revision 45866
+revision 51727
shortdesc doc files of kantlipsum
relocated 1
-docfiles size=142
+docfiles size=144
RELOC/doc/latex/kantlipsum/README.md
RELOC/doc/latex/kantlipsum/kantlipsum.pdf
++++++ kantlipsum.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/kantlipsum/kantlipsum.sty new/tex/latex/kantlipsum/kantlipsum.sty
--- old/tex/latex/kantlipsum/kantlipsum.sty 2017-11-20 23:01:33.000000000 +0100
+++ new/tex/latex/kantlipsum/kantlipsum.sty 2019-07-25 23:48:10.000000000 +0200
@@ -6,20 +6,20 @@
%%
%% kantlipsum.dtx (with options: `package')
%% ---------------------------------------------------------------
-%% The kantlipsum package --- Generate text in Kant's style
+%% The kantlipsum package --- Generate text in Kantian style
%% Maintained by Enrico Gregorio
%% E-mail: enrico DOT gregorio AT univr DOT it
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
-\RequirePackage{expl3}[2017/11/14]
+\RequirePackage{expl3}[2019/07/01]
\RequirePackage{xparse}
\ProvidesExplPackage
{kantlipsum}
- {2017/11/16}
- {0.7}
+ {2019/07/23}
+ {0.8}
{Generate text in Kantian style}
-\@ifpackagelater { expl3 } { 2017/11/14 }
+\@ifpackagelater { expl3 } { 2019/07/01 }
{ }
{
\PackageError { kantlipsum } { Support~package~expl3~too~old }
@@ -43,7 +43,12 @@
}
\DeclareOption{ numbers }
- { \cs_set_protected:Nn \__kgl_number:n { #1\nobreak\enspace\textbullet\nobreak\enspace } }
+ {
+ \cs_set_protected:Nn \__kgl_number:n
+ {
+ #1\nobreak\enspace\textbullet\nobreak\enspace
+ }
+ }
\bool_new:N \g__kgl_makeindex_bool
\bool_gset_false:N \g__kgl_makeindex_bool
@@ -64,29 +69,31 @@
\int_new:N \l__kgl_end_int
\seq_new:N \g__kgl_pars_seq
\seq_new:N \g__kgl_words_seq
-\NewDocumentCommand{\kant}{s>{\SplitArgument{1}{-}}O{1-7}}
+\seq_new:N \l__kgl_sentences_seq
+\NewDocumentCommand{\kant}
+ {
+ s
+ >{\SplitArgument{1}{-}}O{1-7}
+ >{\SplitArgument{1}{-}}o}
{
\group_begin:
\IfBooleanTF{#1}
{ \cs_set_eq:NN \__kgl_par: \__kgl_star: }
{ \cs_set_eq:NN \__kgl_par: \__kgl_nostar: }
- \__kgl_process:nn #2
- \__kgl_print:
+ \IfNoValueTF{#3}
+ { \__kgl_process:nn #2 \__kgl_print: }
+ { \__kgl_process:nnnn #2 #3 \tl_use:N \l_tmpa_tl \__kgl_par: }
\group_end:
}
-\NewDocumentCommand{\kantdef}{mm}
+\NewDocumentCommand{\kantdef}
+ {
+ m
+ m
+ >{\SplitArgument{1}{-}}O{1-50}
+ }
{
\group_begin:
- \cs_set_eq:NN \__kgl_number:n \use_none:n
- \cs_set_eq:NN \__kgl_par: \prg_do_nothing:
- \cs_if_exist:NTF #1
- {
- \msg_error:nnn {kantlipsum} {already-defined} {#1}
- }
- {
- \tl_set:Nx \l_tmpa_tl { \seq_item:Nn \g__kgl_pars_seq {#2} }
- \cs_new:Npx #1 { \l_tmpa_tl }
- }
+ \__kgl_define:nnnn {#1} {#2} #3
\group_end:
}
\cs_new_protected:Nn \__kgl_process:nn
@@ -96,6 +103,13 @@
{ \int_set:Nn \l__kgl_end_int {#1} }
{ \int_set:Nn \l__kgl_end_int {#2} }
}
+\cs_new_protected:Nn \__kgl_process:nnnn
+ {
+ \tl_set:Nx \l_tmpa_tl { \seq_item:Nn \g__kgl_pars_seq {#1} }
+ \tl_if_novalue:nTF {#4}
+ { \__kgl_extract:nnV {#3} {#3} \l_tmpa_tl }
+ { \__kgl_extract:nnV {#3} {#4} \l_tmpa_tl }
+ }
\cs_new_protected:Nn \__kgl_print:
{
\int_step_function:nnnN
@@ -115,6 +129,34 @@
{ \seq_gput_right:Nn \g__kgl_pars_seq {#1\__kgl_par:} }
\cs_new_protected:Nn \__kgl_newword:n
{ \seq_gput_right:Nn \g__kgl_words_seq {#1} }
+\cs_new_protected:Nn \__kgl_define:nnnn
+ {
+ \cs_set_eq:NN \__kgl_number:n \use_none:n
+ \cs_set_eq:NN \__kgl_par: \prg_do_nothing:
+ \cs_if_exist:NTF #1
+ {
+ \msg_error:nnn {kantlipsum} {already-defined} {#1}
+ }
+ {
+ \tl_set:Nx \l_tmpa_tl { \seq_item:Nn \g__kgl_pars_seq {#2} }
+ \tl_if_novalue:nTF {#4}
+ { \__kgl_extract:nnV {#3} {#3} \l_tmpa_tl }
+ { \__kgl_extract:nnV {#3} {#4} \l_tmpa_tl }
+ \cs_new:Npx #1 { \l_tmpa_tl }
+ }
+ }
+\cs_new_protected:Nn \__kgl_extract:nnn
+ {
+ \seq_set_split:Nnn \l__kgl_sentences_seq { . } {#3}
+ \seq_clear:N \l_tmpa_seq
+ \seq_indexed_map_inline:Nn \l__kgl_sentences_seq
+ {
+ \int_compare:nT { #1 <= ##1 <= #2 }
+ {\seq_put_right:Nn \l_tmpa_seq { ##2 } }
+ }
+ \tl_set:Nx \l_tmpa_tl { \seq_use:Nn \l_tmpa_seq { .~ }. }
+ }
+\cs_generate_variant:Nn \__kgl_extract:nnn { nnV }
\group_begin:
\char_set_catcode_space:n {`\ }
\__kgl_newpara:n {As any dedicated reader can clearly see, the Ideal of
@@ -3191,7 +3233,7 @@
\group_end:
\msg_info:nnx {kantlipsum} {how-many}
{ \int_eval:n {\seq_count:N \g__kgl_pars_seq} }
-%% Copyright (C) 2011-2017 by
+%% Copyright (C) 2011-2019 by
%% Enrico Gregorio
%% enrico DOT gregorio AT univr DOT it
%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/kantlipsum.tlpobj new/tlpkg/tlpobj/kantlipsum.tlpobj
--- old/tlpkg/tlpobj/kantlipsum.tlpobj 2019-02-28 03:45:34.000000000 +0100
+++ new/tlpkg/tlpobj/kantlipsum.tlpobj 2019-07-26 00:58:18.000000000 +0200
@@ -1,6 +1,6 @@
name kantlipsum
category Package
-revision 45866
+revision 51727
shortdesc Generate sentences in Kant's style
relocated 1
longdesc The package spits out sentences in Kantian style; the text is
@@ -11,7 +11,7 @@
RELOC/tex/latex/kantlipsum/kantlipsum.sty
catalogue-also blindtext
catalogue-ctan /macros/latex/contrib/kantlipsum
-catalogue-date 2017-11-20 16:29:24 +0100
+catalogue-date 2019-07-25 09:17:57 +0200
catalogue-license lppl1.3c
catalogue-topics macro-supp dummy-gen
-catalogue-version 0.7
+catalogue-version 0.8a
++++++ kerkis.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/kerkis/License.txt new/doc/fonts/kerkis/License.txt
--- old/doc/fonts/kerkis/License.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/kerkis/License.txt 2019-11-12 22:41:56.000000000 +0100
@@ -0,0 +1,10 @@
+The Copyright of the fonts belongs to the The Department of Mathematics of
+the University of the Aegean, Karlobasi, Samos, Greece
+
+If you want to use this font family in commercial work (like in books),
+we strongly request that you include in the Copyright section the fact
+that you are using
+"Kerkis (C) Department of Mathematics, University of the Aegean".
+
+"The Kerkis fonts and kerkis.sty are licensed under the LaTeX Project
+Public License, version 1.3c or later. See http://www.latex-project.org/lppl."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/kerkis/README new/doc/fonts/kerkis/README
--- old/doc/fonts/kerkis/README 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/kerkis/README 2019-11-12 22:41:56.000000000 +0100
@@ -0,0 +1,89 @@
+ The Kerkis Font Family
+ For LaTeX
+
+ version 1.1, 12/Nov/2019
+
+ Among other features, Kerkis for LaTeX makes wide use of double forms
+ for several letters according to the hellenic typographic tradition
+ that now tends to be lost. In particular the letters beta, zeta, theta,
+ rho and phi have an initial and a different middle-word form.
+
+ Old style numbers (known as lower case numbers as well) are included in
+ the small caps font. Thus they are accessible with the \textsc or
+ \scshape command.
+
+ The fonts contain a full set of latin characters with accents that
+ support properly all latin-based languages (common like German, French
+ etc and less common like Icelandic). Special ligatures for "northern"
+ languages like ij and fj etc (try the word fiji or fjord) are also
+ included and tested to work.
+
+ Kerkis is especially usefull for the creation of pdf files due to the
+ fact that the fonts are in Type1 format.
+
+ Download
+
+ Download the following zip file: Kerkis_for_LaTeX.zip from
+ http://myria.math.aegean.gr/software/kerkis/Kerkis_for_LaTeX.html
+
+ Installation
+
+ If you have the previous version of kerkis installed you must first
+ remove it or overwrite it. To do this or just to install it do the
+ following steps:
+ 1. Replace or place the type1 files: locate the old files named k.pfb,
+ ki.pfb, kb.pfb etc and delete them. Place the new files in the same
+ place you had the old ones probably in texmf/fonts/type1/kerkis or
+ in this directory (create it!) if you did not had kerkis before.
+ 2. Replace or place the afm files: locate the files k.afm,
+ ki.afm,kb.afm etc and delete them. Place the new afm files in the
+ same place you had the old ones probably in texmf/fonts/afm/kerkis
+ or in this directory (create it!) if you did not had kerkis before.
+ 3. Replace or place the tfm and vf files (k8a.tfm, ek8a.tfm, gk7a.tfm
+ etc), in texmf/fonts/tfm/kerkis and texmf/fonts/vf/kerkis.
+ 4. Replace or place the old kerkis.sty, .fd files from the tex
+ subdirectory of the distribution in texmf/tex/latex/kerkis.
+ 5. Replace or place the .enc files from the dvips subdirectory of the
+ distribution in texmf/dvips/base/kerkis (old ones might be in
+ texmf/dvips/base/).
+ 6. Place the all html files from the doc subdirectory in
+ texmf/doc/latex/kerkis.
+ 7. Place the kerkis.map file in texmf/dvips/base/kerkis. If you had
+ kerkis before edit the file psfonts.map (found in
+ texmf/dvips/config and/or texmf/dvips/base) and delete all entries
+ relating to kerkis.
+ 8. Run texhash (on unix) or refresh the filename database (in MikTeX).
+ 9. Find the file updmap.cfg open it in an editor and add the line: Map
+ kerkis.map
+ 10. Run updmap (on MikTeX I am not sure how to do this. Alternatively
+ you may append the contents of the file kerkis.map of the
+ distribution to psfonts.map after step 7 above, refresh the
+ filename database (step 8) and skip steps 9 and 10).
+ 11. Remove all bitmaps you may have from older kerkis instalations
+ (remove all .pk files in /var/lib/texmf/pk teTeX (on unix)
+ texmf-var/fonts/pk in TeXLive and localtexmf\fonts\pk in MikTeX.
+
+ You are ready to use the fonts now. Just note the following:
+ 1. Load the kerkis.sty package after you load the inputenc package with
+ the iso-8859-7 option
+
+ 2. The -j option of dvips (which is usually the default) may not work
+ properly with older TeX installations (it works with modern ones).
+ If you run into such problems with dvips, either turn it off by
+ issuing dvips -j0 file.dvi or use the bitmap generation utility
+ gfstopk by issuing dvips -V file.dvi
+
+ Stylistic issues
+ Kerkis is a Neoclassical font. We believe that its strictly
+ rationalist axis makes it ideal for scientific typesetting.
+ Moreover its moderate contrast and apperture makes it perfectly
+ readable. Its serifs are adnate so that it guides your eyes
+ smoothly on the line.
+ Kerkis is a calm and quiet face that does not interfere with the
+ expression of important ideas in your documents.
+ The latin part of the Kerkis font is URW Bookman (except some
+ characters that were missing from Bookman). URW has kindly allowed
+ us to re-distribute their Bookman inside Kerkis.
+
+ A. Tsolomitis, atsol at aegean dot gr
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/kerkis/License.txt new/doc/latex/kerkis/License.txt
--- old/doc/latex/kerkis/License.txt 2006-11-25 02:46:28.000000000 +0100
+++ new/doc/latex/kerkis/License.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-The Copyright of the fonts belongs to the The Department of Mathematics of
-the University of the Aegean, Karlobasi, Samos, Greece
-
-If you want to use this font family in commercial work (like in books),
-we strongly request that you include in the Copyright section the fact
-that you are using
-"Kerkis (C) Department of Mathematics, University of the Aegean".
-
-"The Kerkis fonts and kerkis.sty are licensed under the LaTeX Project
-Public License, version 1.3c or later. See http://www.latex-project.org/lppl."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/kerkis/README.html new/doc/latex/kerkis/README.html
--- old/doc/latex/kerkis/README.html 2006-01-09 01:49:07.000000000 +0100
+++ new/doc/latex/kerkis/README.html 1970-01-01 01:00:00.000000000 +0100
@@ -1,129 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
- <title>Kerkis for LaTeX</title>
-
-
-</head>
-<body>
-<h1 align="center">The <i>Kerkis</i> Font Family </h1>
-<h1 align="center">For LaTeX</h1>
-<p>Among other features, Kerkis for LaTeX makes wide use of double forms for
-several letters according to the hellenic typographic tradition that now
-tends to be lost. In particular the letters beta, zeta, theta, rho and phi
-have an initial and a different middle-word form.</p>
-<p>Old style numbers (known as <i>lower case numbers</i> as well) are included
-in the small caps font. Thus they are accessible with the \textsc or \scshape
-command.</p>
-<p>The fonts contain a full set of latin characters with accents that support
-properly all latin-based languages (common like German, French etc and less
-common like Icelandic). Special ligatures for "northern" languages like ij
-and fj etc (try the word fiji or fjord) are also included and tested to work.
-</p>
-<p>Kerkis is especially usefull for the creation of pdf files due to the fact
-that the fonts are in Type1 format.<br>
-</p>
-<p align="center"><big><font color="#660000"><big>Download<big><br>
-</big></big></font></big></p>
-<p align="left"><big><font color="#660000"><big><big><small><small><small>Download the following zip file:</small> <small>Kerkis_for_LaTeX.zip</small></a></font></small><br>
-</a></small></big></big></font></big></p>
-<div align="left"><br>
-<big> </big></div>
-<center><font color="#660000"><big><big>Installation</big></big></font></center>
-<br>
-<br>
-<br>
-If you have the previous version of kerkis installed you <b>must</font></b> first remove it<small> <big>or overwrite
-it</big></small>. To do this or just to install it do the following steps:<br>
-<ol>
- <li>Replace or place the type1 files: locate the old files named <small><tt>k.pfb</tt></small>,
- <small><tt>ki.pfb</tt></small>, <small><tt>kb.pfb</tt></small> etc and
-delete them. Place the new files in the same place you had the old ones probably
-in <small><tt>texmf/fonts/type1/kerkis or in this directory (create it!) if
-you did not had kerkis before.</tt></small></li>
- <li>Replace or place the afm files: locate the files <small><tt>k.afm</tt></small>,
- <small><tt>ki.afm</tt></small>,<small><tt>kb.afm</tt></small> etc and
-delete them. Place the new afm files in the same place you had the old ones
-probably in <small><tt>texmf/fonts/afm/kerkis or in this directory (create
-it!) if you did not had kerkis before.</tt></small><br>
- </li>
- <li>Replace or place the tfm and vf files (<small><tt>k8a.tfm</tt></small>,
- <small><tt>ek8a.tfm</tt></small>, <small><tt>gk7a.tfm</tt></small> etc),
-in <small><tt>texmf/fonts/tfm/kerkis </tt><big>and</big><tt>�</tt></small><small><tt>texmf/fonts/vf/kerkis.</tt></small></li>
- <li>Replace or place the old kerkis.sty, .fd files from the tex subdirectory
-of the distribution in <small><tt>texmf/tex/latex/kerkis</tt></small>.</li>
- <li>Replace or place the .enc files from the dvips subdirectory of the distribution
-in <small><tt>texmf/dvips/base</tt></small>/kerkis (old ones might be in
- <small><tt>texmf/dvips/base</tt></small>/).</li>
- <li>Place the all html files from the doc subdirectory in <small><tt>texmf/doc/latex/kerkis</tt></small>.</li>
- <li>Place the kerkis.map file in <small><tt>texmf/dvips/base</tt></small>/kerkis.
-If you had kerkis before edit the file psfonts.map (found in texmf/dvips/config
-and/or texmf/dvips/base) and delete all entries relating to kerkis.</li>
- <li>Run texhash (on unix) or refresh the filename database (in MikTeX).</li>
- <li>Find the file <small><tt>updmap.cfg</tt></small> open it in an editor
-and add the line: Map kerkis.map</li>
- <li>Run updmap (on MikTeX I am not sure how to do this. Alternatively you
-may append the contents of the file kerkis.map of the distribution to psfonts.map
-after step 7 above, refresh the filename database (step 8) and skip steps
-9 and 10).</li>
- <li>Remove all bitmaps you may have from older kerkis instalations (remove
-all .pk files in /var/lib/texmf/pk teTeX (on unix) texmf-var/fonts/pk in TeXLive
-and localtexmf\fonts\pk in MikTeX.</li>
-</ol>
-<b><font color="#660000">You are ready to use the fonts now.</font></b> Just
-note the following:
-<ol>
-1. Load the kerkis.sty package <i>after</i> you load the inputenc package
-with the iso-8859-7 option
-</ol>
-<ol>
-2. The -j option of dvips (which is usually the default) may not work properly
-with older TeX installations (it works with modern ones). If you run into
-such problems with dvips, either turn it off by issuing dvips -j0 file.dvi
-or use the bitmap generation utility gfstopk by issuing dvips -V file.dvi
-</ol>
-<ol>
-
- <center><font color="#660000"><big>Stylistic issues<br>
- <br>
- </big></font></center>
-Kerkis is a Neoclassical font. We believe that its strictly rationalist axis
-makes it ideal for scientific typesetting. Moreover its moderate contrast
-and apperture makes it perfectly readable. Its serifs are adnate so that
-it guides your eyes smoothly on the line.
- <p>Kerkis is a calm and quiet face that does not interfere with the expression
-of important ideas in your documents.</p>
-
-<p>The latin part of the Kerkis font is URW Bookman (except some characters
-that were missing from Bookman). URW has kindly allowed us to re-distribute
-their Bookman inside Kerkis.</p>
-
-<p></p>
-<p> A. Tsolomitis, atsol at aegean dot gr
-
- <center></center>
-
- <ul>
-
- </ul>
-
- <center>
- <p>http://iris.math.aegean.gr/software/kerkis/kerkispoly.gif"
- height="192" width="627"></p>
- </center>
-
- <p><br>
- </p>
-
- <center><img src="http://iris.math.aegean.gr/software/kerkis/kerkis.gif"></center>
-</ol>
-<br>
-<br>
-<br>
-</body>
-</html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/kerkis.doc.tlpobj new/tlpkg/tlpobj/kerkis.doc.tlpobj
--- old/tlpkg/tlpobj/kerkis.doc.tlpobj 2019-02-28 03:45:35.000000000 +0100
+++ new/tlpkg/tlpobj/kerkis.doc.tlpobj 2019-11-12 23:51:31.000000000 +0100
@@ -1,8 +1,8 @@
name kerkis.doc
category Package
-revision 15878
+revision 52753
shortdesc doc files of kerkis
relocated 1
docfiles size=3
- RELOC/doc/latex/kerkis/License.txt
- RELOC/doc/latex/kerkis/README.html
+ RELOC/doc/fonts/kerkis/License.txt
+ RELOC/doc/fonts/kerkis/README
++++++ kerkis.tar.xz ++++++
Binary files old/fonts/opentype/public/kerkis/Kerkis-Bold.otf and new/fonts/opentype/public/kerkis/Kerkis-Bold.otf differ
Binary files old/fonts/opentype/public/kerkis/Kerkis-BoldItalic.otf and new/fonts/opentype/public/kerkis/Kerkis-BoldItalic.otf differ
Binary files old/fonts/opentype/public/kerkis/Kerkis-BoldSmallCaps.otf and new/fonts/opentype/public/kerkis/Kerkis-BoldSmallCaps.otf differ
Binary files old/fonts/opentype/public/kerkis/Kerkis-Calligraphic.otf and new/fonts/opentype/public/kerkis/Kerkis-Calligraphic.otf differ
Binary files old/fonts/opentype/public/kerkis/Kerkis-Italic.otf and new/fonts/opentype/public/kerkis/Kerkis-Italic.otf differ
Binary files old/fonts/opentype/public/kerkis/Kerkis-SemiBold-Italic.otf and new/fonts/opentype/public/kerkis/Kerkis-SemiBold-Italic.otf differ
Binary files old/fonts/opentype/public/kerkis/Kerkis-SemiBold.otf and new/fonts/opentype/public/kerkis/Kerkis-SemiBold.otf differ
Binary files old/fonts/opentype/public/kerkis/Kerkis-SmallCaps.otf and new/fonts/opentype/public/kerkis/Kerkis-SmallCaps.otf differ
Binary files old/fonts/opentype/public/kerkis/Kerkis.otf and new/fonts/opentype/public/kerkis/Kerkis.otf differ
Binary files old/fonts/opentype/public/kerkis/KerkisSans-Bold.otf and new/fonts/opentype/public/kerkis/KerkisSans-Bold.otf differ
Binary files old/fonts/opentype/public/kerkis/KerkisSans-BoldItalic.otf and new/fonts/opentype/public/kerkis/KerkisSans-BoldItalic.otf differ
Binary files old/fonts/opentype/public/kerkis/KerkisSans-Italic.otf and new/fonts/opentype/public/kerkis/KerkisSans-Italic.otf differ
Binary files old/fonts/opentype/public/kerkis/KerkisSans-SmallCaps.otf and new/fonts/opentype/public/kerkis/KerkisSans-SmallCaps.otf differ
Binary files old/fonts/opentype/public/kerkis/KerkisSans.otf and new/fonts/opentype/public/kerkis/KerkisSans.otf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/kerkis.tlpobj new/tlpkg/tlpobj/kerkis.tlpobj
--- old/tlpkg/tlpobj/kerkis.tlpobj 2019-02-28 03:45:35.000000000 +0100
+++ new/tlpkg/tlpobj/kerkis.tlpobj 2019-11-12 23:51:31.000000000 +0100
@@ -1,6 +1,6 @@
name kerkis
category Package
-revision 15878
+revision 52753
shortdesc Kerkis (Greek) font family
relocated 1
longdesc Sans-serif Greek fonts to match the URW Bookman set (which are
@@ -12,7 +12,7 @@
longdesc available. The philosophy, and the design process, of the
longdesc Kerkis fonts is discussed in a paper in TUGboat 23(3/4), 2002.
execute addMap kerkis.map
-runfiles size=760
+runfiles size=966
RELOC/fonts/afm/public/kerkis/Kerkis-Bold.afm
RELOC/fonts/afm/public/kerkis/Kerkis-BoldItalic.afm
RELOC/fonts/afm/public/kerkis/Kerkis-BoldSmallCaps.afm
@@ -40,6 +40,20 @@
RELOC/fonts/enc/dvips/kerkis/kmex.enc
RELOC/fonts/enc/dvips/kerkis/kmsym.enc
RELOC/fonts/map/dvips/kerkis/kerkis.map
+ RELOC/fonts/opentype/public/kerkis/Kerkis-Bold.otf
+ RELOC/fonts/opentype/public/kerkis/Kerkis-BoldItalic.otf
+ RELOC/fonts/opentype/public/kerkis/Kerkis-BoldSmallCaps.otf
+ RELOC/fonts/opentype/public/kerkis/Kerkis-Calligraphic.otf
+ RELOC/fonts/opentype/public/kerkis/Kerkis-Italic.otf
+ RELOC/fonts/opentype/public/kerkis/Kerkis-SemiBold-Italic.otf
+ RELOC/fonts/opentype/public/kerkis/Kerkis-SemiBold.otf
+ RELOC/fonts/opentype/public/kerkis/Kerkis-SmallCaps.otf
+ RELOC/fonts/opentype/public/kerkis/Kerkis.otf
+ RELOC/fonts/opentype/public/kerkis/KerkisSans-Bold.otf
+ RELOC/fonts/opentype/public/kerkis/KerkisSans-BoldItalic.otf
+ RELOC/fonts/opentype/public/kerkis/KerkisSans-Italic.otf
+ RELOC/fonts/opentype/public/kerkis/KerkisSans-SmallCaps.otf
+ RELOC/fonts/opentype/public/kerkis/KerkisSans.otf
RELOC/fonts/tfm/public/kerkis/ek8a.tfm
RELOC/fonts/tfm/public/kerkis/ek8r.tfm
RELOC/fonts/tfm/public/kerkis/ekb8a.tfm
@@ -272,6 +286,7 @@
RELOC/tex/latex/kerkis/t1mak.fd
RELOC/tex/latex/kerkis/t1maksf.fd
catalogue-ctan /fonts/greek/kerkis
-catalogue-date 2016-06-24 19:18:15 +0200
-catalogue-license lppl
+catalogue-date 2019-11-12 10:52:49 +0100
+catalogue-license lppl1.3c
catalogue-topics font font-greek font-maths font-type1
+catalogue-version 1.1
++++++ ketcindy.doc.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-m/ketcindy.doc.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-m.new.3606/ketcindy.doc.tar.xz differ: char 27, line 1
++++++ ketcindy.tar.xz ++++++
++++ 21556 lines of diff (skipped)
++++++ keyfloat.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/keyfloat/README.txt new/doc/latex/keyfloat/README.txt
--- old/doc/latex/keyfloat/README.txt 2019-03-22 21:49:29.000000000 +0100
+++ new/doc/latex/keyfloat/README.txt 2019-09-23 22:57:22.000000000 +0200
@@ -1,7 +1,7 @@
The LaTeX keyfloat package
Provides a key/value interface for generating floats.
-v2.00 — 2019/03/21
+v2.01
Copyright 2016-2019 Brian Dunn — www.BDTechConcepts.com
LaTeX Project Public License, version 1.3
Binary files old/doc/latex/keyfloat/keyfloat.pdf and new/doc/latex/keyfloat/keyfloat.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/keyfloat.doc.tlpobj new/tlpkg/tlpobj/keyfloat.doc.tlpobj
--- old/tlpkg/tlpobj/keyfloat.doc.tlpobj 2019-03-24 02:24:15.000000000 +0100
+++ new/tlpkg/tlpobj/keyfloat.doc.tlpobj 2019-09-24 01:53:46.000000000 +0200
@@ -1,9 +1,9 @@
name keyfloat.doc
category Package
-revision 50534
+revision 52160
shortdesc doc files of keyfloat
relocated 1
-docfiles size=129
+docfiles size=259
RELOC/doc/latex/keyfloat/README.txt
RELOC/doc/latex/keyfloat/images/image.pdf
RELOC/doc/latex/keyfloat/images/image2.pdf
++++++ keyfloat.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/keyfloat/keyfloat.sty new/tex/latex/keyfloat/keyfloat.sty
--- old/tex/latex/keyfloat/keyfloat.sty 2019-03-22 21:49:29.000000000 +0100
+++ new/tex/latex/keyfloat/keyfloat.sty 2019-09-23 22:57:22.000000000 +0200
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{keyfloat}
- [2019/03/21 v2.00 Key/value interface for floats and subfloats.]
+ [2019/09/23 v2.01 Key/value interface for floats and subfloats.]
@@ -78,12 +78,22 @@
\ProvideDocumentEnvironment{tablehere}{}
- {\bigbreak\noindent\minipage{\linewidth}\def\@captype{table}}
- {\endminipage\bigbreak}
+{%
+ \vskip\intextsep\noindent%
+ \minipage{\linewidth}%
+ \def\@captype{table}%
+ \normalcolor\reset@font\normalsize%
+}%
+{\endminipage\vskip\intextsep}%
\ProvideDocumentEnvironment{figurehere}{}
- {\bigbreak\noindent\minipage{\linewidth}\def\@captype{figure}}
- {\endminipage\bigbreak}
+{%
+ \vskip\intextsep\noindent%
+ \minipage{\linewidth}%
+ \def\@captype{figure}%
+ \normalcolor\reset@font\normalsize%
+}%
+{\endminipage\vskip\intextsep}%
@@ -641,11 +651,9 @@
\setkeys{KFLT@keys}{#1}%
}
-\newcommand*{\KFLT@LWR@hook@boxouter}{}%
+\newbool{KFLT@captionistop}
-\newenvironment*{KFLT@LWR@hook@boxouter@minipage}[2][]
- {\minipage[#1]{#2}}
- {\endminipage}
+\newcommand*{\KFLT@LWR@hook@boxouter}{}%
\NewDocumentEnvironment{KFLT@boxouter}{m m}
{% boxouter
@@ -655,7 +663,7 @@
\ifnumgreater{\value{KFLT@keyfloatdepth}}{0}%
{% keyfloats
\ifbool{KFLT@keywrap}%
- {\KFLT@LWR@hook@boxouter@minipage[t]{\KFLT@rowboxwidth}}%
+ {\minipage[t]{\KFLT@rowboxwidth}}%
{\minipage[\KFLT@va]{\KFLT@rowboxwidth}}%
\captionsetup*{type=\KFLT@type}%
}% keyfloats
@@ -665,7 +673,7 @@
{%
\par\addvspace{\baselineskip}%
\noindent%
- \KFLT@LWR@hook@boxouter@minipage[t]{\linewidth}%
+ \minipage[t]{\linewidth}%
\captionsetup{type=\KFLT@type}%
}%
{% not a keywrap
@@ -673,7 +681,9 @@
{% [W]
\KFLT@findwidths%
\wrapfloat{\KFLT@type}{\KFLT@wp}%
- {\KFLT@imagewidth+2\KFLTlooseframewidth}%
+ {\KFLT@imagewidth+2\KFLTlooseframewidth}%
+ \minipage{\KFLT@imagewidth+2\KFLTlooseframewidth}%
+ \normalcolor\reset@font\normalsize%
\renewcommand{\KFLT@lw}{}%
\renewcommand{\KFLT@w}{\KFLT@imagewidth}%
}% [W]
@@ -681,13 +691,13 @@
\ifstrequal{#2}{M}%
{% [M]
\KFLT@marginfloat[\KFLT@mo]{\KFLT@type}%
- \captionsetup{type=\KFLT@type}%
}% [M]
- {% not [M}
+ {% not [M]
\ifstrequal{#2}{H}%
{% [H]
- \par\addvspace{\baselineskip}%
+ \vskip\intextsep%
\noindent\minipage[\KFLT@va]{\linewidth}%
+ \normalcolor\reset@font\normalsize%
\captionsetup{type=\KFLT@type}%
}% [H]
{% not [H]
@@ -702,14 +712,15 @@
}% not subfloat
\ifbool{KFLT@cont}{\ContinuedFloat}{}%
\KFLT@findwidths%
- \caption@iftop{\KFLT@caption{}}{}%
+ \caption@iftop{\booltrue{KFLT@captionistop}}{\boolfalse{KFLT@captionistop}}%
+ \ifbool{KFLT@captionistop}{\KFLT@caption{}}{}%
\center\unskip%
}% boxouter
{% endboxouter
\endcenter\unskip%
\addvspace{\smallskipamount}%
\KFLT@addartisttext{}%
- \caption@iftop{}{\KFLT@caption{}}%
+ \ifbool{KFLT@captionistop}{}{\KFLT@caption{}}%
\ifbool{KFLT@inkeysubfloats}%
{%
\csuse{endsub\KFLT@type}%
@@ -721,12 +732,13 @@
}% keyfloats
{% not keyfloats
\ifbool{KFLT@keywrap}{%
- \endKFLT@LWR@hook@boxouter@minipage%
+ \endminipage%
\par\addvspace{\baselineskip}%
}%
{% not keywrap
\ifstrequal{#2}{W}%
{% [W]
+ \endminipage%
\endwrapfloat%
}% [W]
{% not[W]
@@ -738,7 +750,7 @@
\ifstrequal{#2}{H}%
{%
\endminipage% [H]
- \par\addvspace{\baselineskip}%
+ \vskip\intextsep%
}%
{% not [H]
\IfBooleanTF{#1}% starred float?
@@ -966,18 +978,33 @@
\KFLT@LWR@hook@keyfloatsminipage{\KFLT@rowboxwidth}%
}%
{%
- \bigbreak%
+ \vskip\intextsep%
\KFLT@LWR@hook@keyfloatsminipage{\linewidth}%
}%
+ \normalcolor\reset@font\normalsize%
\ifbool{KFLT@inkeysubfloats}%
{}%
{\captionsetup*{type=figure}}%
}% [H] or nested
- {% figure
- \IfBooleanTF{#1}% starred figure, two-col figure in a two-col format
- {\begin{figure*}[#2]}%
- {\begin{figure}[#2]}%
- }% figure
+ {% See if [W]:
+ \ifstrequal{#2}{W}
+ {% [W]:
+ \wrapfloat{figure}{O}{.5\linewidth}%
+ \minipage{\linewidth}%
+ \normalcolor\reset@font\normalsize%
+ }%
+ {% not [H]:
+ \ifstrequal{#2}{M}%
+ {% [M]:
+ \KFLT@marginfloat{figure}%
+ }%
+ {% figure
+ \IfBooleanTF{#1}% starred figure, two-col figure in a two-col format
+ {\begin{figure*}[#2]}%
+ {\begin{figure}[#2]}%
+ }% figure
+ }% not [H]
+ }%
\ifboolexpr{%
test {\ifnumgreater{\value{KFLT@keyfloatdepth}}{1}} or
bool {KFLT@inkeysubfloats}
@@ -1001,13 +1028,26 @@
test {\ifnumgreater{\value{KFLT@keyfloatdepth}}{0}} or
bool {KFLT@keywrap}
}%
- {}{%
- \bigbreak%
+ {}{% not nested
+ \vskip\intextsep%
}%
}% was [H], etc.
{% not [H], etc.
- \IfBooleanTF{#1}% starred figure?
- {\end{figure*}}{\end{figure}}%
+ \ifstrequal{#2}{W}%
+ {% [W]:
+ \endminipage%
+ \endwrapfloat%
+ }%
+ {%
+ \ifstrequal{#2}{M}%
+ {% [M]:
+ \endKFLT@marginfloat%
+ }%
+ {% figure
+ \IfBooleanTF{#1}% starred figure?
+ {\end{figure*}}{\end{figure}}%
+ }%
+ }%
}% not [H], etc.
\addtocounter{KFLT@keyfloatdepth}{-1}%
\KFLT@envignorespaces%
@@ -1038,6 +1078,8 @@
\renewcommand{\KFLT@subgrptextalign}{}%
}
+\newbool{KFLT@subcaptionistop}
+
\NewDocumentCommand{\KFLT@subfloats}{m m m +m}
{%
\KFLT@envignorespaces%
@@ -1051,19 +1093,37 @@
bool {KFLT@keywrap}
}%
{%
- \bigbreak\noindent\begin{minipage}{\linewidth}%
+ \vskip\intextsep\noindent\begin{minipage}{\linewidth}%
+ \normalcolor\reset@font\normalsize%
}%
{%
- \IfBooleanTF{#1}%
- {\begin{\KFLT@subgrptype*}[#2]}%
- {\begin{\KFLT@subgrptype}[#2]}%
+ \ifstrequal{#2}{W}%
+ {% [W]
+ \wrapfloat{\KFLT@subgrptype}{O}{.5\linewidth}%
+ \setlength{\KFLT@rowboxwidth}{.5\KFLT@rowboxwidth}%
+ \minipage{\linewidth}%
+ \normalcolor\reset@font\normalsize%
+ }%
+ {% not [H]:
+ \ifstrequal{#2}{M}%
+ {% [M]:
+ \KFLT@marginfloat{\KFLT@subgrptype}%
+ \setlength{\KFLT@rowboxwidth}{.9\marginparwidth/\real{#3}}%
+ }% [M]
+ {% subfloat
+ \IfBooleanTF{#1}%
+ {\begin{\KFLT@subgrptype*}[#2]}%
+ {\begin{\KFLT@subgrptype}[#2]}%
+ }%
+ }% not [H]
}%
\captionsetup*{type=\KFLT@subgrptype}%
\ifbool{KFLT@subgrpcont}%
{\ContinuedFloat}%
{}%
\center\unskip%
- \caption@iftop{\KFLT@caption{subgrp}}{}%
+ \caption@iftop{\booltrue{KFLT@subcaptionistop}}{\boolfalse{KFLT@subcaptionistop}}%
+ \ifbool{KFLT@subcaptionistop}{\KFLT@caption{subgrp}}{}%
\defcounter{KFLT@numcols}{#3}%
\defcounter{KFLT@thiscol}{0}%
\begingroup%
@@ -1075,16 +1135,29 @@
\endcenter%
\par\addvspace{\bigskipamount}%
\KFLT@addartisttext{subgrp}%
- \caption@iftop{}{\KFLT@caption{subgrp}}%
+ \ifbool{KFLT@subcaptionistop}{}{\KFLT@caption{subgrp}}%
\ifboolexpr{%
test {\ifstrequal{#2}{H}} or
bool{KFLT@keywrap}
}%
- {\end{minipage}\bigbreak}% was [H]
+ {\end{minipage}\vskip\intextsep}% was [H]
{% not [H]:
- \IfBooleanTF{#1}% starred?
- {\end{\KFLT@subgrptype*}}%
- {\end{\KFLT@subgrptype}}%
+ \ifstrequal{#2}{W}%
+ {% [W]
+ \endminipage%
+ \endwrapfloat%
+ }%
+ {% not [W]:
+ \ifstrequal{#2}{M}%
+ {% [M]:
+ \endKFLT@marginfloat%
+ }% [M]
+ {% subfloat
+ \IfBooleanTF{#1}% starred?
+ {\end{\KFLT@subgrptype*}}%
+ {\end{\KFLT@subgrptype}}%
+ }%
+ }% not [W]
}% not [H]
\setboolean{KFLT@inkeysubfloats}{false}%
\KFLT@envignorespaces%
@@ -1135,6 +1208,7 @@
\captionsetup{type=#2}%
\hbox{}\vspace*{#1}%
\noindent%
+ \normalcolor\reset@font\normalsize%
}% start
{% end
\end{minipage}%
@@ -1153,9 +1227,9 @@
\newlength{\KFLT@keywrapwidth}
\newlength{\KFLT@keywrapparskip}
\newlength{\KFLT@keywrapparindent}
-\DeclareDocumentEnvironment{keywrap}{m +m}
+\DeclareDocumentEnvironment{keywrap}{m +m}%
{%
- \par%
+ \par\noindent%
\setlength{\KFLT@keywrapwidth}{\linewidth}%
\addtolength{\KFLT@keywrapwidth}{-#1}%
\addtolength{\KFLT@keywrapwidth}{-2em}%
@@ -1171,6 +1245,7 @@
\hfill%
\begin{minipage}[t]{#1}%
\booltrue{KFLT@keywrap}%
+ \normalcolor\reset@font\normalsize%
#2%
\par%
\unskip\vspace{\smallskipamount}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/keyfloat.tlpobj new/tlpkg/tlpobj/keyfloat.tlpobj
--- old/tlpkg/tlpobj/keyfloat.tlpobj 2019-03-24 02:24:15.000000000 +0100
+++ new/tlpkg/tlpobj/keyfloat.tlpobj 2019-09-24 01:53:47.000000000 +0200
@@ -1,6 +1,6 @@
name keyfloat
category Package
-revision 50534
+revision 52160
shortdesc Provides a key/value interface for generating floats
relocated 1
longdesc The keyfloat package provides a key/value user interface for
@@ -23,7 +23,7 @@
RELOC/tex/latex/keyfloat/keyfloat.sty
catalogue-contact-home http://bdtechconcepts.com
catalogue-ctan /macros/latex/contrib/keyfloat
-catalogue-date 2019-03-21 21:46:01 +0100
+catalogue-date 2019-09-23 11:20:39 +0200
catalogue-license lppl1.3
catalogue-topics float
-catalogue-version 2.00
+catalogue-version 2.01
++++++ keyvaltable.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/keyvaltable/README.md new/doc/latex/keyvaltable/README.md
--- old/doc/latex/keyvaltable/README.md 2018-11-03 22:07:14.000000000 +0100
+++ new/doc/latex/keyvaltable/README.md 2020-02-21 23:54:25.000000000 +0100
@@ -1,7 +1,7 @@
The keyvaltable Package
=======================
-Copyright (C) 2016-2018 Richard Grewe
+Copyright (C) 2016-2020 Richard Grewe
Released under the [LaTeX Project Public License](http://www.latex-project.org/lppl/) version 1.2 or later
Binary files old/doc/latex/keyvaltable/keyvaltable.pdf and new/doc/latex/keyvaltable/keyvaltable.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/keyvaltable.doc.tlpobj new/tlpkg/tlpobj/keyvaltable.doc.tlpobj
--- old/tlpkg/tlpobj/keyvaltable.doc.tlpobj 2019-03-20 02:24:13.000000000 +0100
+++ new/tlpkg/tlpobj/keyvaltable.doc.tlpobj 2020-04-12 01:55:30.000000000 +0200
@@ -1,8 +1,8 @@
name keyvaltable.doc
category Package
-revision 50471
+revision 54677
shortdesc doc files of keyvaltable
relocated 1
-docfiles size=68
+docfiles size=117
RELOC/doc/latex/keyvaltable/README.md
RELOC/doc/latex/keyvaltable/keyvaltable.pdf
++++++ keyvaltable.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/keyvaltable/keyvaltable.sty new/tex/latex/keyvaltable/keyvaltable.sty
--- old/tex/latex/keyvaltable/keyvaltable.sty 2019-03-19 22:28:17.000000000 +0100
+++ new/tex/latex/keyvaltable/keyvaltable.sty 2020-04-12 00:50:13.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% keyvaltable.dtx (with options: `package')
%%
-%% Copyright (C) 2016-2018 by Richard Grewe
+%% Copyright (C) 2016-2020 by Richard Grewe
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.2 of this license
@@ -20,197 +20,407 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{keyvaltable}
- [2019/03/17 v1.0 Package for filling tables using key-value lists]
+ [2020/04/05 v2.2 Package for filling tables using key-value lists]
+
\RequirePackage{etoolbox}
\RequirePackage{xkeyval}
\RequirePackage{trimspaces}
\PassOptionsToPackage{table}{xcolor}
\RequirePackage{xcolor}
\RequirePackage{booktabs}
-\newcommand\kvtSet[1]{\bgroup
- \def\kvt@@presetqueue{\egroup}
- \setkeys[kvt]{defaults}{#1}{}%
- \kvt@@presetqueue}
+\newcommand\kvt@DeclareTrimListParser{%
+ \@ifstar{\kvt@DeclareTrimListParser@i{*}}
+ {\kvt@DeclareTrimListParser@i{}}}
+\newcommand\kvt@DeclareTrimListParser@i[3]{%
+ \DeclareListParser#1{#2}{#3}\expandafter
+ \patchcmd\csname etb@lst@\expandafter\@gobble\string#2\endcsname
+ {\etb@listitem}{\kvt@etb@listitem}{}
+ {\kvt@warn{Failed to patch a command defined by the etoolbox
+ package, possibly because etoolbox internals have changed.
+ You might encounter superfluous spaces.}}}
+\newcommand\kvt@etb@listitem[2]{%
+ \expandafter\expandafter\expandafter\kvt@etb@listitem@i
+ \expandafter\expandafter\expandafter{\trim@post@space@noexp{#2}}{#1}}
+\newcommand\kvt@etb@listitem@i[2]{\etb@listitem{#2}{#1}}
+\DeclareListParser{\kvt@dossvlist}{;}
+\kvt@DeclareTrimListParser*{\kvt@forpsvlist}{+}
+\kvt@DeclareTrimListParser{\kvt@dobrklist}{\\}
+\newcommand\kvt@error[2]{\PackageError{keyvaltable}{#1}{#2}}
+\newcommand\kvt@warn[1]{\PackageWarning{keyvaltable}{#1}}
+\newcommand\kvt@setkeys[2]{\setkeys[kvt]{#2}{#1}}
+\newcommand\kvt@setcmdkeys[2]{%
+ \expandafter\kvt@setkeys\expandafter{#1}{#2}}
+\newcommand\kvt@setcskeys[2]{%
+ \expandafter\kvt@setcmdkeys\expandafter{\csname #1\endcsname}{#2}}
+\newcommand\kvt@setkeys@nopresets[2]{%
+ \kvt@xkv@disablepreset[kvt]{#2}{\kvt@setkeys{#1}{#2}}}
+\newcommand\kvt@colsetkeys[2]{\setkeys[KeyValTable]{#1}{#2}}
+\newcommand\kvt@colsetcmdkeys[2]{%
+ \expandafter\kvt@colsetkeys\expandafter{#1}{#2}}
+\newcommand\kvt@colsetcskeys[2]{%
+ \expandafter\kvt@colsetcmdkeys\expandafter{\csname #1\endcsname}{#2}}
+\newcommand\kvtStrutted[2][\@firstofone]{%
+ \strut#1{#2}\ifhmode\expandafter\strut\fi}
+\newcommand\kvtSet[1]{%
+ \kvt@setkeys{#1}{global,Table,Column}%
+ \ifdefvoid\kvt@@presetqueue{}
+ {\kvt@@presetqueue\undef\kvt@@presetqueue}}
\newcommand\kvt@lazypreset[2]{%
\appto\kvt@@presetqueue{\presetkeys[kvt]{#1}{#2}{}}}
-\newcommand\kvt@addtableprop[2]{%
- \define@key[kvt]{defaults}{#1}{%
- \kvt@lazypreset{Table}{#1=##1}}%
- \presetkeys[kvt]{defaults}{#1=#2}{}%
- \define@cmdkey[kvt]{Table}{#1}{}%
- \presetkeys[kvt]{Table}{#1=#2}{}}
-\newcommand\kvt@addchoicetableprop[3]{%
- \define@choicekey[kvt]{defaults}{#1}{#3}{%
- \kvt@lazypreset{Table}{#1=##1}}%
- \presetkeys[kvt]{defaults}{#1=#2}{}%
- \define@choicekey[kvt]{Table}{#1}{#3}%
- {\csdef{cmdkvt@Table@#1}{##1}}%
- \presetkeys[kvt]{Table}{#1=#2}{}}
-\newcommand\kvt@addbooltableprop[2]{%
- \define@boolkey[kvt]{defaults}{#1}{%
- \kvt@lazypreset{Table}{#1=##1}}%
- \presetkeys[kvt]{defaults}{#1=#2}{}%
- \define@boolkey[kvt]{Table}{#1}%
- {\csdef{cmdkvt@Table@#1}{##1}}%
- \presetkeys[kvt]{Table}{#1=#2}{}}
-\newcommand\kvt@addcolumnprop[2]{%
- \define@key[kvt]{defaults}{#1}{%
- \kvt@lazypreset{Column}{#1=##1}}%
- \presetkeys[kvt]{defaults}{#1=#2}{}%
- \define@key[kvt]{Column}{#1}{%
- \csdef{kvt@col@#1@\kvt@@column}{##1}}%
- \presetkeys[kvt]{Column}{#1=#2}{}%
-}
-\newcommand\kvt@addchoicecolumnprop[4]{%
- \define@choicekey[kvt]{defaults}{#1}{#4}[#3]{%
- \kvt@lazypreset{Column}{#1=##1}}%
- \presetkeys[kvt]{defaults}{#1=#2}{}%
- \define@choicekey[kvt]{Column}{#1}{#4}[#3]%
- {\csdef{kvt@col@#1@\kvt@@column}{##1}}%
- \presetkeys[kvt]{Column}{#1=#2}{}%
-}
-\kvt@addtableprop{rowbg}{white..black!10}
-\kvt@addtableprop{headbg}{black!14}
-\kvt@addbooltableprop{showhead}{true}
-\kvt@addbooltableprop{showrules}{true}
-\kvt@addtableprop{headfmt}{}
-\kvt@addtableprop{headalign}{}
-\kvt@addtableprop{width}{\linewidth}
-\kvt@addchoicetableprop{shape}{multipage}{%
- multipage,onepage,tabular,longtable,tabularx}
-\kvt@addcolumnprop{default}{}
-\kvt@addcolumnprop{format}{\kvtStrutted}
-\kvt@addcolumnprop{align}{l}
-\kvt@addcolumnprop{head}{}
-\kvt@addchoicecolumnprop{hidden}{false}{true}{false,true}
-\kvtSet{}
+\newcommand\kvt@keysetter[5]{%
+ \ifdefvoid{#1}
+ {\kvt@lazypreset{#2}{#3=#4}}
+ {#5}}
\newcommand\kvtTableOpt[1]{\csname cmdkvt@Table@#1\endcsname}
-\newcommand\kvtStrutted[1]{\strut #1\ifhmode\expandafter\strut\fi}
+\define@cmdkey[kvt]{Table}{rowbg}{}
+\define@cmdkey[kvt]{Table}{headbg}{}
+\define@cmdkey[kvt]{Table}{headalign}{}
+\define@cmdkey[kvt]{Table}{headformat}{}
+\define@cmdkey[kvt]{Table}{width}{}
+\define@boolkey[kvt]{Table}{showhead}{}
+\define@boolkey[kvt]{Table}{showrules}{}
+\define@choicekey[kvt]{Table}{captionpos}{t,b}
+ {\csdef{cmdkvt@Table@captionpos}{#1}}
+\define@choicekey[kvt]{Table}{valign}{t,c,b}
+ {\csdef{cmdkvt@Table@valign}{#1}}
+\define@choicekey[kvt]{Table}{halign}{l,c,r}
+ {\csdef{cmdkvt@Table@halign}{#1}}
+\define@key[kvt]{Table}{style}{\kvt@UseTableStyles{#1}}
+\define@boolkey[kvt]{Table}{norowbg}[true]{%
+ \kvt@setkeys{rowbg={}}{Table}}
+\define@boolkey[kvt]{Table}{nobg}[true]{%
+ \kvt@setkeys{rowbg={},headbg={}}{Table}}
+\define@boolkey[kvt]{Table}{norules}[true]{%
+ \ifbool{#1}
+ {\kvt@setkeys{showrules=false}{Table}}
+ {\kvt@setkeys{showrules=true}{Table}}}
+\define@key[kvt]{Table}{backend}{\ifinlist{#1}{\kvt@@tablebackends}
+ {\csdef{cmdkvt@Table@shape}{#1}}
+ {\kvt@error{Table backend '#1' not known}
+ {Check for misspellings in '#1'}}}
+\define@key[kvt]{Table}{shape}{\ifinlist{#1}{\kvt@@tableshapes}
+ {\csdef{cmdkvt@Table@shape}{#1}}
+ {\ifinlist{#1}{\kvt@@tablebackends}
+ {\kvt@warn{Using a backend ('#1') as shape is deprecated.
+ Use the 'backend' option instead.}%
+ \csdef{cmdkvt@Table@shape}{#1}}
+ {\kvt@error{Table shape '#1' not known}
+ {Check for misspellings in '#1'}}}}
+\define@cmdkey[kvt]{TableEnv}{caption}{}
+\define@cmdkey[kvt]{TableEnv}{caption/lot}{}
+\define@cmdkey[kvt]{TableEnv}{caption/alt}{}
+\define@cmdkey[kvt]{TableEnv}{label}{}
+\define@boolkey[kvt]{TableEnv}{resume}[true]{%
+ \ifbool{#1}{\ifundef\kvt@@rowcountlast
+ {\kvt@error{No previous table whose counter could be resumed.}
+ {Check whether the "resume" is intentional and whether a
+ previously existing predecessor table has disappeared.}}{}}{}}
+\define@boolkey[kvt]{TableEnv}{resume*}[true]{%
+ \ifbool{#1}
+ {\ifundef\kvt@@lastenvopt
+ {\kvt@error{No previous table whose options could be resume*'d.}
+ {Check whether the "resume*" is intentional and whether a
+ previously existing predecessor table has disappeared.}}{}%
+ \kvt@setcmdkeys\kvt@@lastenvopt{Table}%
+ \kvt@setkeys{resume}{TableEnv}}
+ {}}
+\define@key[kvt]{Column}{default}{\kvt@colkeysetter{default}{#1}}
+\define@key[kvt]{Column}{format}{\kvt@colkeysetter{format}{#1}}
+\define@key[kvt]{Column}{align}{\kvt@colkeysetter{align}{#1}}
+\define@key[kvt]{Column}{head}{\kvt@colkeysetter{head}{#1}}
+\define@boolkey[kvt]{Column}{hidden}[true]{%
+ \kvt@colkeysetter{hidden}{#1}}
+\newcommand\kvt@colkeysetter[2]{%
+ \kvt@keysetter{\kvt@@column}{Column}{#1}{#2}{%
+ \csdef{kvt@col@#1@\kvt@@column}{#2}}}
+\newcommand\kvt@def@globalopt[2]{%
+ \define@key[kvt]{global}{#1/#2}{\kvt@lazypreset{#1}{#2={##1}}}}
+\newcommand\kvt@def@globalopts[2]{%
+ \forcsvlist{\kvt@def@globalopt{#1}}{#2}}
+\define@cmdkey[kvt]{ColGroup}{span}{%
+ \csgdef{kvt@colgrp@span@\kvt@@tname @\kvt@@colgrp}{#1}}
+\define@cmdkey[kvt]{ColGroup}{align}{%
+ \csgdef{kvt@colgrp@align@\kvt@@tname @\kvt@@colgrp}{#1}}
+\define@cmdkey[kvt]{ColGroup}{format}{%
+ \csgdef{kvt@colgrp@format@\kvt@@tname @\kvt@@colgrp}{#1}}
+\kvt@def@globalopts{ColGroup}{align, format}
+\define@cmdkey[kvt]{Layout}{headers}{%
+ \expandafter\kvt@parseheadrows\expandafter{\kvt@@tname}{#1}}
+\define@cmdkey[kvt]{Layout}{colgroups}{%
+ \expandafter\kvt@parsecolgroups\expandafter{\kvt@@tname}{#1}}
+\define@key[kvt]{HeadCell}{head}{%
+ \csdef{kvt@@hdcell@head@\kvt@@hdcell}{#1}}
+\define@key[kvt]{HeadCell}{align}{%
+ \csdef{kvt@@hdcell@align@\kvt@@hdcell}{#1}}
+\kvt@def@globalopts{HeadCell}{align}
+\define@cmdkey[kvt]{Row}{bg}{}
+\define@cmdkey[kvt]{Row}{format}{}
+\define@cmdkey[kvt]{Row}{format*}{}
+\define@cmdkey[kvt]{Row}{format!}{}
+\define@cmdkey[kvt]{Row}{align}{}
+\define@boolkey[kvt]{Row}{headlike}[true]{%
+ \ifbool{#1}{%
+ \edef\kvt@@opts{%
+ bg={\expandonce\cmdkvt@Table@headbg},%
+ format!={\expandonce\cmdkvt@Table@headformat},%
+ align={\expandonce\cmdkvt@Table@headalign}}%
+ \expandafter\kvt@setkeys@nopresets\expandafter{\kvt@@opts}{Row}%
+ }{}}
+\define@boolkey[kvt]{Row}{hidden}[true]{}
+\define@cmdkey[kvt]{Row}{below}{}
+\define@cmdkey[kvt]{Row}{above}{}
+\define@key[kvt]{Row}{around}{%
+ \kvt@setkeys@nopresets{below={#1},above={#1}}{Row}}
+\define@key[kvt]{Row}{style}{\kvt@UseRowStyles{#1}}
+\define@boolkey[kvt]{Row}{uncounted}[true]{}
+\define@boolkey[kvt]{Row}{expand}[true]{}
+\define@boolkey[kvt]{Row}{expandonce}[true]{}
+\kvt@def@globalopts{Row}{
+ bg,hidden,below,above,around,style,uncounted,
+ expand,expandonce}
+\AtEndOfPackage{\kvtSet{%
+ rowbg=white..black!10,
+ headbg=black!14,
+ showhead=true,
+ showrules=true,
+ headformat=\@firstofone,
+ headalign=,
+ shape=multipage,
+ width=\linewidth,
+ captionpos=b,
+ default=,
+ format=\kvtStrutted,
+ align=l,
+ head=,
+ hidden=false,
+ Row/bg={},
+ Row/hidden=false,
+ Row/above={},
+ Row/below={},
+ Row/uncounted=false,
+ Row/expand=false,
+ Row/expandonce=false,
+ ColGroup/align=c,
+ ColGroup/format=\kvtStrutted,
+ HeadCell/align=c,
+}}
\newcommand\NewKeyValTable[3][]{%
\@ifnextchar[%]
{\kvt@NewKeyValTable{#1}{#2}{#3}}%
{\kvt@NewKeyValTable{#1}{#2}{#3}[]}}
\def\kvt@NewKeyValTable#1#2#3[#4]{%
+ \ifinlist{#2}{\kvt@alltables}
+ {\kvt@error{Table type with name '#2' already defined}
+ {Check '#2' for typos and check other uses of
+ \string\NewKeyValTable}}{}%
\csdef{kvt@options@#2}{#1}%
\csdef{kvt@headings@#2}{}%
- \csedef{kvt@alignments@#2}{p{0pt}\expandonce\kvt@HackIntercolSpace}%
- \csdef{kvt@colkeys@#2}{}%
+ \csdef{kvt@alignments@#2}{}%
+ \csdef{kvt@allcolumns@#2}{}%
+ \csdef{kvt@displaycols@#2}{}%
\csdef{kvt@rowcount@#2}{0}%
\csdef{kvt@rows@#2}{}%
- \csdef{kvt@headings@#2}{\kvt@defaultheader}
+ \csdef{kvt@headings@#2}{\kvt@defaultheader}%
\listadd\kvt@alltables{#2}%
\def\do##1{%
\kvt@parsecolspec{#2}##1::\@undefined}%
\kvt@dossvlist{#3}%
+ \csdef{kvt@headrowcount@#2}{1}%
\csappto{kvt@headings@#2}{{\@nil}}%
- \ifstrempty{#4}
- {\csdef{kvt@headrowcount@#2}{1}}
- {\kvt@parseheadrows{#2}{#4}}%
+ \kvt@parselayout{#4}{#2}%
}
\def\kvt@parsecolspec#1#2:#3:#4\@undefined{%
+ \kvt@checkcolspecempty{#4}{column}{#2}%
+ \def\kvt@@column{#2}%
+ \trim@spaces@in\kvt@@column
+ \expandafter\kvt@parsecolspec@i\expandafter{\kvt@@column}{#1}{#3}}
+\newcommand\kvt@parsecolspec@i[3]{\kvt@parsecolspec@ii{#2}{#1}{#3}}
+\newcommand\kvt@parsecolspec@ii[3]{%
\def\kvt@@column{#1@#2}%
- \setkeys[kvt]{Column}{#3}%
+ \ifinlistcs{#2}{kvt@allcolumns@#1}
+ {\kvt@error{Column name '#2' declared more than once in table type
+ '#1'}{Check '#2' for typos; column names declared so far:%
+ \forlistcsloop{ }{kvt@allcolumns@#1}}}{}%
+ \listcsadd{kvt@allcolumns@#1}{#2}%
+ \kvt@setkeys{#3}{Column}%
\ifcsstring{kvt@col@hidden@#1@#2}{true}{}{%
\cseappto{kvt@alignments@#1}{\csexpandonce{kvt@col@align@#1@#2}}%
\ifcsvoid{kvt@col@head@#1@#2}%
{\csappto{kvt@headings@#1}{{#2}}}%
{\cseappto{kvt@headings@#1}{{\csexpandonce{kvt@col@head@#1@#2}}}}%
- \listcsadd{kvt@colkeys@#1}{#2}%
+ \listcsadd{kvt@displaycols@#1}{#2}%
}%
\define@cmdkey[KeyValTable]{#1}{#2}[]{}%
+ \define@key[KeyValTable]{#1}{#2*}{%
+ \csdef{cmdKeyValTable@#1@#2}{##1}%
+ \csdef{kvt@@noformat@#1@#2}{1}}%
\presetkeys[KeyValTable]{#1}{#2}{}%
-}
+ \undef\kvt@@column}
\newcommand\kvt@defaultheader{%
- \noexpand\rowcolor{\cmdkvt@Table@headbg}%
- \kvt@defaultheader@i}
-\newcommand\kvt@defaultheader@i[1]{%
- \kvt@ifnil{#1}{\noexpand\tabularnewline}{%
- \unexpanded{&}%
+ \noexpand\kvt@rowcolorornot{\cmdkvt@Table@headbg}%
+ \kvt@defaultheader@i{}}
+\newcommand\kvt@defaultheader@i[2]{%
+ \kvt@ifnil{#2}{\noexpand\tabularnewline}{%
+ \unexpanded{#1}%
\ifdefvoid\cmdkvt@Table@headalign
- {\expandonce\cmdkvt@Table@headfmt\unexpanded{#1}}
+ {\expandonce\cmdkvt@Table@headformat{\unexpanded{#2}}}
{\noexpand\multicolumn{1}{\expandonce\cmdkvt@Table@headalign}
- {\expandonce\cmdkvt@Table@headfmt\unexpanded{#1}}}%
- \kvt@defaultheader@i}}
+ {\expandonce\cmdkvt@Table@headformat{\unexpanded{#2}}}}%
+ \kvt@defaultheader@i{&}}}
\newcommand\kvt@ifnil[1]{%
\ifx\@nil#1\relax
\expandafter\@firstoftwo\else
\expandafter\@secondoftwo\fi}
-\newcommand\kvt@HackIntercolSpace{%
- @{\hspace{-.5\arrayrulewidth}}}
\newcommand\kvt@alltables{}
+\newcommand\kvt@parselayout[2]{%
+ \def\kvt@@tname{#2}%
+ \kvt@setkeys{#1}{Layout}%
+ \undef\kvt@@tname}
+\newcommand\kvt@parsecolgroups[2]{%
+ \begingroup
+ \def\kvt@@result{}%
+ \def\do##1{\kvt@parsecolgroup{#1}##1::\@undefined}%
+ \kvt@dossvlist{#2}%
+ \expandafter\endgroup\kvt@@result}
+\def\kvt@parsecolgroup#1#2:#3:#4\@undefined{%
+ \kvt@checkcolspecempty{#4}{column group}{#2}%
+ \ifinlistcs{#2}{kvt@allcolumns@#1}{\kvt@error
+ {Name `#2' cannot be used for a column group in table type `#1',
+ as it is already used for a column}
+ {Check the \string\NewKeyValTable{#1} for
+ the names of known columns and check `#2' for a typo.}}{}%
+ \ifinlistcs{#2}{kvt@grpcolkeys@#1}{\kvt@error
+ {Name `#2' is used twice in table type `#1'}
+ {Check the \string\NewKeyValTable{#1} for typos in the names of
+ columns groups.}}{}%
+ \def\kvt@@colgrp{#2}%
+ \kvt@setkeys{#3}{ColGroup}%
+ \kvt@checkcolgroupcs{kvt@colgrp@span@#1@#2}{#1}{#2}%
+ \eappto\kvt@@result{%
+ \noexpand\define@cmdkey[KeyValTable]{#1}{#2}{%
+ \ifdefvoid\kvt@@colgrp@first{}{%
+ \noexpand\kvt@xkv@disablepreset[KeyValTable]{#1}{%
+ \noexpand\setkeys[KeyValTable]{#1}{%
+ \expandonce\kvt@@colgrp@first=\noexpand\kvt@@@colgroup
+ {\unexpanded{#2}}%
+ {\expandonce\kvt@@colgrp@n}%
+ {\csexpandonce{kvt@colgrp@align@#1@#2}}%
+ {\unexpanded{##1}}}}%
+ }%
+ }}%
+ \listcsadd{kvt@grpcolkeys@#1}{#2}}
+\newcommand\kvt@checkcolspecempty[3]{%
+ \ifstrempty{#1}{}{\ifstrequal{#1}{:}{}{\kvt@error
+ {Too many ':' in definition of #2 '#3'}
+ {Check whether there is an accidental ':' that should actually be
+ a ',' or ';'.}}}}
+\newcommand\kvt@checkcolgroup[3]{%
+ \def\kvt@@psvdo##1{%
+ \ifinlistcs{##1}{kvt@allcolumns@#2}{}{\kvt@error
+ {Column `##1' referenced in column group `#3' not known
+ in table type `#2'}
+ {Check the \string\NewKeyValTable{#2} for
+ the names of known columns and check `##1' for a typo.}}%
+ \ifcsvoid{kvt@@incolgrp@##1}{}{\kvt@error
+ {Column `##1' used more than once in column group `#3' of table
+ type `#2'}
+ {Check `##1' for a typo.}}%
+ \csdef{kvt@@incolgrp@##1}{#2}%
+ }\kvt@forpsvlist{\kvt@@psvdo}{#1}%
+ \def\kvt@@colgrp@n{0}%
+ \let\kvt@@colgrp@first\relax
+ \def\kvt@@status{0}%
+ \def\kvt@@coldo##1{%
+ \ifcsvoid{kvt@@incolgrp@##1}
+ {\expandafter\ifcase\kvt@@status \or
+ \def\kvt@@status{2}\fi}%
+ {\expandafter\ifcase\kvt@@status
+ \def\kvt@@status{1}\def\kvt@@colgrp@first{##1}%
+ \or\or
+ \kvt@error{Column group `\kvt@@colgrp' must consist of only
+ consecutive columns, but it is not}%
+ {Compare `\string\kvt@@curgrp' to the column ordering as
+ specified in `\string\NewKeyValTable{#1}'}%
+ \fi
+ \edef\kvt@@colgrp@n{\the\numexpr\kvt@@colgrp@n+1\relax}%
+ \csundef{kvt@@incolgrp@##1}}%
+ }\forlistcsloop{\kvt@@coldo}{kvt@displaycols@#2}}
+\newcommand\kvt@checkcolgroupcs[3]{%
+ \expandafter\expandafter\expandafter
+ \kvt@checkcolgroup
+ \expandafter\expandafter\expandafter{\csname #1\endcsname}{#2}{#3}}
\newcommand\kvt@parseheadrows[2]{%
- \csdef{kvt@@colgroups@#1}{}%
- \csdef{kvt@headrowcount@#1}{0}%
- \bgroup
+ \ifstrempty{#2}{}{\kvt@parseheadrows@i{#2}{#1}}}
+\newcommand\kvt@parseheadrows@i[2]{%
+ \csdef{kvt@@custheadrows@#2}{}%
+ \csdef{kvt@headrowcount@#2}{0}%
+ \begingroup
\def\kvt@@parseheadrows{}%
\def\do##1{%
- \def\kvt@@tmp{##1}\trim@post@space@in\kvt@@tmp%
- \expandafter\ifstrequal\expandafter{\kvt@@tmp}{::}
+ \ifstrequal{##1}{::}
{\appto\kvt@@parseheadrows{%
- \cseappto{kvt@@colgroups@#1}{%
- \csexpandonce{kvt@headings@#1}}}}
- {\appto\kvt@@parseheadrows{\kvt@parseheadrow{#1}{##1}}}%
- \appto\kvt@@parseheadrows{\csedef{kvt@headrowcount@#1}{%
- \the\numexpr\csuse{kvt@headrowcount@#1}+1\relax}}%
- }\kvt@dobrklist{#2}%
- \expandafter\egroup\kvt@@parseheadrows
- \csletcs{kvt@headings@#1}{kvt@@colgroups@#1}}
+ \cseappto{kvt@@custheadrows@#2}{%
+ \csexpandonce{kvt@headings@#2}}}}
+ {\appto\kvt@@parseheadrows{\kvt@parseheadrow{#2}{##1}}}%
+ \appto\kvt@@parseheadrows{\csedef{kvt@headrowcount@#2}{%
+ \the\numexpr\csuse{kvt@headrowcount@#2}+1\relax}}%
+ }\kvt@dobrklist{#1}%
+ \expandafter\endgroup\kvt@@parseheadrows
+ \csletcs{kvt@headings@#2}{kvt@@custheadrows@#2}}
\newcommand\kvt@parseheadrow[2]{%
- \bgroup
+ \begingroup
\def\do##1{\kvt@parsehdcolspec{#1}##1::\@undefined}%
\kvt@dossvlist{#2}%
\let\kvt@@tmpgrphd\@empty
\kvt@@span\z@
- \undef\kvt@@curgrp \undef\kvt@@lastgrp
- \def\do##1{\letcs\kvt@@curgrp{kvt@@colgrpof@##1}%
- \ifdefequal\kvt@@curgrp\kvt@@lastgrp
+ \undef\kvt@@curhd \undef\kvt@@lasthd
+ \kvt@def@atseconduse\kvt@@switchcol{\appto\kvt@@tmpgrphd{&}}%
+ \def\do##1{\letcs\kvt@@curhd{kvt@@hdcellof@##1}%
+ \ifdefequal\kvt@@curhd\kvt@@lasthd
{\advance\kvt@@span\@ne}%
- {\ifnum\kvt@@span>\z@ \expandafter\kvt@concludecolumn\fi
- \ifdefvoid\kvt@@curgrp{}{\ifcsdef{kvt@@colgrpdone@\kvt@@curgrp}{%
- \kvt@error{Column group `\kvt@@curgrp' must consist of only
+ {\ifnum\kvt@@span>\z@ \expandafter\kvt@concludehdcolumn\fi
+ \ifdefvoid\kvt@@curhd{}{\ifcsdef{kvt@@hdcelldone@\kvt@@curhd}{%
+ \kvt@error{Header cell `\kvt@@curhd' must consist of only
consecutive columns, but it is not}%
- {Compare `|\kvt@@curgrp|' to the column ordering as specified
- in `\string\NewKeyValTable{#1}'}}{}}%
- \kvt@@span\@ne \let\kvt@@lastgrp\kvt@@curgrp}%
- }\dolistcsloop{kvt@colkeys@#1}%
- \kvt@concludecolumn
+ {Compare `\string\kvt@@curhd' to the column ordering as
+ specified in `\string\NewKeyValTable{#1}'}}{}}%
+ \kvt@@span\@ne \let\kvt@@lasthd\kvt@@curhd}%
+ }\dolistcsloop{kvt@displaycols@#1}%
+ \kvt@concludehdcolumn
\appto\kvt@@tmpgrphd{\tabularnewline}%
- \edef\do{\noexpand\csappto{kvt@@colgroups@#1}{%
- \noexpand\noexpand\noexpand\rowcolor{\noexpand\cmdkvt@Table@headbg}%
+ \edef\do{\noexpand\csappto{kvt@@custheadrows@#1}{%
+ \unexpanded{\noexpand\kvt@rowcolorornot{\cmdkvt@Table@headbg}}%
\noexpand\unexpanded{\expandonce{\kvt@@tmpgrphd}}}}%
- \expandafter\egroup\do}
+ \expandafter\endgroup\do}
+\newcommand\kvt@rowcolorornot[1]{\ifstrempty{#1}{}{\rowcolor{#1}}}
+\newcommand\kvt@rowcolorcmdornot[1]{\ifdefvoid{#1}{}{%
+ \expandafter\rowcolor\expandafter{#1}}}
+\newcount\kvt@@bodyrow
\newcount\kvt@@span
-\newcommand\kvt@concludecolumn{%
- \ifdefequal\kvt@@tmpgrphd\@empty
- {\let\kvt@@extraalign\kvt@HackIntercolSpace}
- {\let\kvt@@extraalign\@empty}%
- \appto\kvt@@tmpgrphd{&}%
- \ifdefvoid\kvt@@lastgrp{}{%
+\newcommand\kvt@concludehdcolumn{%
+ \kvt@@switchcol
+ \ifdefvoid\kvt@@lasthd{}{%
\eappto\kvt@@tmpgrphd{\noexpand\multicolumn
{\the\kvt@@span}
- {\expandonce\kvt@@extraalign
- \csexpandonce{kvt@@colgrp@align@\kvt@@lastgrp}}
- {\csexpandonce{kvt@@colgrp@head@\kvt@@lastgrp}}}%
- \cslet{kvt@@colgrpdone@\kvt@@lastgrp}{\@ne}}}
+ {\csexpandonce{kvt@@hdcell@align@\kvt@@lasthd}}
+ {\noexpand\cmdkvt@Table@headformat
+ {\csexpandonce{kvt@@hdcell@head@\kvt@@lasthd}}}}%
+ \cslet{kvt@@hdcelldone@\kvt@@lasthd}{\@ne}}}
\def\kvt@parsehdcolspec#1#2:#3:#4\@undefined{%
+ \kvt@checkcolspecempty{#4}{header cell}{#2}%
\def\kvt@@colreg##1{%
- \ifinlistcs{##1}{kvt@colkeys@#1}{}
- {\kvt@error{Column `##1' referenced in column group `#2' not known
- in table type `#1'}{Check the \string\NewKeyValTable{#1} for
- the names of known columns and check `##1' for a typo.}}%
- \ifcsmacro{kvt@@colgrpof@##1}
- {\kvt@error{Column `##1' used in more than one column group}
+ \ifinlistcs{##1}{kvt@allcolumns@#1}{}
+ {\kvt@error{Column `##1', referenced in header cell `#2', not
+ known in table type `#1'}{Check the \string\NewKeyValTable{#1}
+ for the names of known columns and check `##1' for a typo.}}%
+ \ifcsmacro{kvt@@hdcellof@##1}
+ {\kvt@error{Column `##1' used in more than one header cell}
{Check the fourth, optional argument of \string\NewKeyValTable
and eliminate multiple occurrences of column `##1'.}}
- {\csdef{kvt@@colgrpof@##1}{#2}}%
+ {\csdef{kvt@@hdcellof@##1}{#2}}%
}\kvt@forpsvlist{\kvt@@colreg}{#2}%
- \def\kvt@@colgrp{#2}%
- \setkeys[kvt]{ColGroup}{#3}}
-\define@key[kvt]{ColGroup}{head}{%
- \csdef{kvt@@colgrp@head@\kvt@@colgrp}{#1}}
-\define@key[kvt]{ColGroup}{align}{%
- \csdef{kvt@@colgrp@align@\kvt@@colgrp}{#1}}
-\presetkeys[kvt]{ColGroup}{align=c}{}%
+ \def\kvt@@hdcell{#2}%
+ \kvt@setkeys{#3}{HeadCell}}
\newcounter{kvtRow}
\newcounter{kvtTypeRow}
\newcounter{kvtTotalRow}
@@ -224,91 +434,253 @@
\csuse{the#2}}
\newcounter{kvt@LabelCtr}
\newenvironment{KeyValTable}[2][]{%
- \bgroup%
\def\Row{\kvt@AddKeyValRow
{\noalign\bgroup}{\expandafter\egroup\kvt@@row}{#2}}%
\kvt@SetOptions{#2}{#1}%
+ \ifbool{kvt@TableEnv@resume*}{}
+ {\gdef\kvt@@lastenvopt{#1}}%
\csuse{kvt@StartTable@\cmdkvt@Table@shape}{#2}%
}{%
- \csuse{kvt@EndTable@\cmdkvt@Table@shape}%
- \egroup}
-\AfterEndEnvironment{KeyValTable}{%
- \csdef{kvt@rowcount@\kvt@@recenttable}{\thekvtTypeRow}}
-\newcommand\kvt@SetOptions[2]{%
- \bgroup\edef\kvt@@do{\egroup\noexpand%
- \setkeys[kvt]{Table}%
- {\csexpandonce{kvt@options@#1},\unexpanded{#2}}%
- }\kvt@@do}
-\newcommand\kvt@StartTabularlike[5]{%
- \gdef\kvt@@recenttable{#2}%
+ \csuse{kvt@EndTable@\cmdkvt@Table@shape}}
+\newcommand\kvt@SetOptions[2]{\expandafter
+ \kvt@SetOptions@i\expandafter{\csname kvt@options@#1\endcsname}{#2}}
+\newcommand\kvt@SetOptions@i[2]{\expandafter
+ \kvt@setkeys\expandafter{#1,#2}{Table,TableEnv}}
+\define@boolkey[metatbl]{EnvProp}{isLong}{\metatbl@boolprop{isLong}{#1}}
+\define@boolkey[metatbl]{EnvProp}{isTabu}{\metatbl@boolprop{isTabu}{#1}}
+\define@boolkey[metatbl]{EnvProp}{hasWidth}{%
+ \metatbl@boolprop{hasWidth}{#1}}
+\define@boolkey[metatbl]{EnvProp}{hasCaption}{%
+ \metatbl@boolprop{hasCaption}{#1}}
+\define@boolkey[metatbl]{EnvProp}{canVAlign}{%
+ \metatbl@boolprop{canVAlign}{#1}}
+\define@boolkey[metatbl]{EnvProp}{canHAlign}{%
+ \metatbl@boolprop{canHAlign}{#1}}
+\define@cmdkey[metatbl]{EnvProp}{packages}{\metatbl@setprop{pkg}{#1}}
+\define@key[metatbl]{EnvProp}{atEnd}{\metatbl@setprop[1]{atEnd}{#1}}
+\newrobustcmd\metatblRegisterEnv[2]{%
+ \edef\metatbl@@envname{#1}%
+ \csdef{metatbl@@registered@#1}{true}%
+ \setkeys[metatbl]{EnvProp}{#2}}
+\newcommand\metatbl@setprop[3][0]{%
+ \expandafter\newcommand
+ \csname metatbl@EnvProp@#2@\metatbl@@envname\endcsname[#1]{#3}}
+\newcommand\metatbl@boolprop[2]{%
+ \providebool{metatbl@EnvProp@#1@\metatbl@@envname}%
+ \setbool{metatbl@EnvProp@#1@\metatbl@@envname}{#2}}
+\newcommand\metatblRegistered[1]{\ifcsdef{metatbl@@registered@#1}}
+\newcommand\metatblIsLong[1]{\ifbool{metatbl@EnvProp@isLong@#1}}
+\newcommand\metatblIsTabu[1]{\ifbool{metatbl@EnvProp@isTabu@#1}}
+\newcommand\metatblHasWidth[1]{\ifbool{metatbl@EnvProp@hasWidth@#1}}
+\newcommand\metatblHasCaption[1]{\ifbool{metatbl@EnvProp@hasCaption@#1}}
+\newcommand\metatblCanVAlign[1]{\ifbool{metatbl@EnvProp@canVAlign@#1}}
+\newcommand\metatblCanHAlign[1]{\ifbool{metatbl@EnvProp@canHAlign@#1}}
+\newcommand\metatblUsePackage[1]{%
+ \def\do##1{%
+ \metatbl@csnamearg\usepackage{metatbl@EnvProp@pkg@##1}}%
+ \docsvlist{#1}}
+\newcommand\metatblRequire[1]{%
+ \def\do##1{%
+ \metatbl@csnamearg\RequirePackage{metatbl@EnvProp@pkg@##1}}%
+ \docsvlist{#1}}
+\newcommand\metatblAtEnd[2]{%
+ \csname metatbl@EnvProp@atEnd@#1\endcsname{#2}}
+\newcommand\metatbl@csnamearg[2]{%
+ \expandafter\expandafter\expandafter#1%
+ \expandafter\expandafter\expandafter{\csname#2\endcsname}}
+\metatblRegisterEnv{tabular}{%
+ isLong=false, hasWidth=false, isTabu=false, hasCaption=false,
+ canVAlign=true, canHAlign=false,
+ packages={},
+ atEnd={\preto\endtabular{#1}},
+}
+\metatblRegisterEnv{tabularx}{%
+ isLong=false, hasWidth=true, isTabu=false, hasCaption=false,
+ canVAlign=true, canHAlign=false,
+ packages=tabularx,
+ atEnd={%
+ \preto\TX@endtabularx{\toks@\expandafter{\the\toks@#1}}%
+ \preto\XLT@i@TX@endtabularx{\toks@\expandafter{\the\toks@#1}}},
+}
+\metatblRegisterEnv{longtable}{%
+ isLong=true, hasWidth=false, isTabu=false, hasCaption=true,
+ canVAlign=false, canHAlign=true,
+ packages={longtable},
+ atEnd={\preto\endlongtable{#1}},
+}
+\metatblRegisterEnv{xltabular}{%
+ isLong=true, hasWidth=true, isTabu=false, hasCaption=true,
+ canVAlign=false, canHAlign=true,
+ packages=xltabular,
+ atEnd={\preto\XLT@ii@TX@endtabularx{\toks@\expandafter{\the\toks@#1}}},
+}
+\metatblRegisterEnv{tabu}{%
+ isLong=false, hasWidth=true, isTabu=true, hasCaption=false,
+ canVAlign=true, canHAlign=false,
+ packages={tabu},
+ atEnd={\preto\endtabular{#1}},
+}
+\metatblRegisterEnv{longtabu}{%
+ isLong=true, hasWidth=true, isTabu=true, hasCaption=true,
+ canVAlign=false, canHAlign=true,
+ packages={tabu,longtable},
+ atEnd={\preto\endlongtable{#1}},
+}
+\newrobustcmd\metatbl@ifhasXcolumns[1]{%
+ \begingroup
+ \def\metatbl@@branch{\@secondoftwo}%
+ \def\NC@rewrite@X{\def\metatbl@@branch{\@firstoftwo}\NC@find l}%
+ \@mkpream{#1}%
+ \expandafter\endgroup\metatbl@@branch}
+\newcommand\kvt@StartTabularlike[2]{%
+ \metatblAtEnd{#1}{\kvt@@endhook}%
+ \let\kvt@@endhook\@empty
+ \let\kvt@@prehook\@empty
\ifbool{kvt@Table@showrules}
{\def\kvt@@rule##1{\csuse{##1rule}}}
{\def\kvt@@rule##1{}}%
- \csuse{kvt@@patchenvend@#1}%
- \setcounter{kvtRow}{0}%
+ \appto\kvt@@prehook{\kvt@@rule{top}}%
+ \appto\kvt@@endhook{\kvt@@rule{bottom}}%
+ \appto\kvt@@endhook{\noalign{%
+ \csxdef{kvt@rowcount@#2}{\thekvtTypeRow}%
+ \csxdef{kvt@@rowcountlast}{\thekvtRow}}}%
+ \ifdefvoid\cmdkvt@TableEnv@caption
+ {\let\kvt@@caption@main\@empty
+ \let\kvt@@caption@alt\@empty}
+ {\metatblHasCaption{#1}
+ {\edef\kvt@@caption@main{%
+ \csexpandonce{kvt@caption@\cmdkvt@Table@captionpos}%
+ \ifcsvoid{cmdkvt@TableEnv@caption/lot}{}
+ {[{\csexpandonce{cmdkvt@TableEnv@caption/lot}}]}%
+ {\expandonce\cmdkvt@TableEnv@caption
+ \ifdefvoid\cmdkvt@TableEnv@label{}{%
+ \noexpand\label{\expandonce\cmdkvt@TableEnv@label}}}%
+ \noexpand\\}%
+ \ifcsvoid{cmdkvt@TableEnv@caption/alt}
+ {\def\kvt@@caption@alt{}}
+ {\edef\kvt@@caption@alt{%
+ \csexpandonce{kvt@caption@\cmdkvt@Table@captionpos}[]%
+ {\csexpandonce{cmdkvt@TableEnv@caption/alt}}%
+ \noexpand\\}}%
+ }{\kvt@error
+ {Caption lost, table backend '#1' does not support captions}
+ {Consider placing the KeyValTable environment inside a 'table'
+ environment and use the \string\caption\space macro inside.}}}%
+ \ifdefstring{\cmdkvt@Table@captionpos}{t}
+ {\let\kvt@@caption@headmain\kvt@@caption@main\let\kvt@@caption@footmain\@empty
+ \let\kvt@@caption@headalt\kvt@@caption@alt \let\kvt@@caption@footalt\@empty}
+ {\let\kvt@@caption@footmain\kvt@@caption@main\let\kvt@@caption@headmain\@empty
+ \let\kvt@@caption@footalt\kvt@@caption@alt \let\kvt@@caption@headalt\@empty}%
+ \ifbool{kvt@Table@showhead}
+ {\eappto\kvt@@prehook{\csuse{kvt@headings@#2}\noexpand\kvt@@rule{mid}}}
+ {}%
+ \ifdefvoid{\cmdkvt@Table@valign}{}{\metatblCanVAlign{#1}{}
+ {\undef{\cmdkvt@Table@valign}%
+ \kvt@warn{Table environment '#1' of table '#2'
+ does not support the vertical alignment option (valign).
+ Ignoring the option}}}%
+ \ifdefvoid{\cmdkvt@Table@halign}{}{\metatblCanHAlign{#1}{}
+ {\undef{\cmdkvt@Table@halign}%
+ \kvt@warn{Table environment '#1' of table '#2'
+ does not support the horizontal alignment option (halign).
+ Ignoring the option}}}%
+ \global\kvt@@bodyrow=0\relax
+ \ifbool{kvt@TableEnv@resume}
+ {\setcounter{kvtRow}{\csuse{kvt@@rowcountlast}}}
+ {\setcounter{kvtRow}{0}}%
\setcounter{kvtTypeRow}{\csuse{kvt@rowcount@#2}}%
- \bgroup\edef\kvt@@do{\egroup
- \ifbool{#4}{}{\noexpand\kvt@dottedrowcolors
- {\ifbool{kvt@Table@showhead}
- {\the\numexpr\csuse{kvt@headrowcount@#2}+1\relax}
- {1}}%
- {\expandonce\cmdkvt@Table@rowbg}}%
+ \expandafter\kvt@setrowcolors\expandafter{\cmdkvt@Table@rowbg}%
+ \begingroup\edef\kvt@@do{\endgroup
\expandafter\noexpand\csname #1\endcsname
- \ifbool{#5}
- {\ifbool{#4}
+ \ifdefvoid{\cmdkvt@Table@halign}{}
+ {\metatblIsTabu{#1}{}{[\cmdkvt@Table@halign]}}%
+ \metatblHasWidth{#1}
+ {\metatblIsTabu{#1}
{to \expandonce\cmdkvt@Table@width}
{{\expandonce\cmdkvt@Table@width}}}
{}%
+ \ifdefvoid{\cmdkvt@Table@valign}{}{[\cmdkvt@Table@valign]}%
+ \ifdefvoid{\cmdkvt@Table@halign}{}
+ {\metatblIsTabu{#1}{[\cmdkvt@Table@halign]}{}}%
{\csexpandonce{kvt@alignments@#2}}%
- \noexpand\kvt@@rule{top}%
- \ifbool{kvt@Table@showhead}
- {\csuse{kvt@headings@#2}\noexpand\kvt@@rule{mid}}
- {}%
- \ifbool{#4}
- {\noexpand\taburowcolors 2{\expandonce\cmdkvt@Table@rowbg}}{}%
- \ifbool{#3}{\noexpand\endhead}{}%
+ \expandonce\kvt@@caption@headmain
+ \expandonce\kvt@@prehook
+ \metatblIsLong{#1}{%
+ \noexpand\endfirsthead
+ \expandonce\kvt@@caption@headalt
+ \expandonce\kvt@@prehook
+ \noexpand\endhead}{}%
+ \expandonce\kvt@@caption@footmain
+ \metatblIsLong{#1}{%
+ \noexpand\endlastfoot
+ \expandonce\kvt@@caption@footalt
+ \noexpand\endfoot}{}%
}\kvt@@do}
-\newcommand\kvt@stepcounters[1][1]{%
- \addtocounter{kvtRow}{#1}%
- \addtocounter{kvtTypeRow}{#1}%
- \addtocounter{kvtTotalRow}{#1}}
-\newcommand\kvt@DefineStdTabEnv{\@dblarg\kvt@DefineStdTabEnv@i}
-\newcommand\kvt@DefineStdTabEnv@i[6][]{%
- \expandafter\newcommand\csname kvt@StartTable@#1\endcsname[1]{%
- \kvt@StartTabularlike{#2}{##1}{#3}{#4}{#5}}%
+\newcommand\kvt@caption@t{\caption}
+\newcommand\kvt@caption@b{%
+ \noalign{\parbox{0pt}{\vskip\baselineskip}}%
+ \caption}
+\newcommand\kvt@setrowcolors[1]{%
+ \ifstrempty{#1}{}{\kvt@setrowcolors@i#1\@nil}}
+\def\kvt@setrowcolors@i#1..#2\@nil{%
+ \def\kvt@@bgcolor@odd{#1}%
+ \def\kvt@@bgcolor@even{#2}}
+\newcommand\kvt@userowcolors{\ifnumodd{\the\kvt@@bodyrow}
+ {\kvt@rowcolorcmdornot{\kvt@@bgcolor@odd}}
+ {\kvt@rowcolorcmdornot{\kvt@@bgcolor@even}}}
+\newcommand\kvt@RegisterBackend[1]{%
+ \ifinlist{#1}{\kvt@@tablebackends}
+ {\kvt@error{Backend '#1' already registered}
+ {Internal error. Check use of \string\kvt@RegisterBackend.}}
+ {\kvt@CheckMetatblEnv{#1}%
+ \listadd{\kvt@@tablebackends}{#1}%
+ \kvt@DefineStdTabEnv{#1}{#1}}}
+\newcommand\kvt@RegisterShape[3]{%
+ \ifinlist{#1}{\kvt@@tableshapes}
+ {\kvt@error{Shape '#1' already registered}
+ {Internal error. Check use of \string\kvt@RegisterShape.}}
+ {\kvt@CheckMetatblEnv{#2}\kvt@CheckMetatblEnv{#3}%
+ \listadd{\kvt@@tableshapes}{#1}%
+ \ifstrequal{#2}{#3}
+ {\kvt@DefineStdTabEnv{#1}{#2}}
+ {\kvt@DefineDualTabEnv{#1}{#2}{#3}}}}
+\newcommand\kvt@CheckMetatblEnv[1]{\metatblRegistered{#1}{}
+ {\kvt@error{Environment '#1' not supported by keyvaltable}
+ {Check \string\metatblRegisterEnv\space for how to make it
+ supported.}}}
+\newcommand\kvt@@tablebackends{}
+\newcommand\kvt@@tableshapes{}
+\newcommand\kvt@DefineStdTabEnv[2]{%
+ \csdef{kvt@StartTable@#1}##1{%
+ \kvt@StartTabularlike{#2}{##1}}%
\csedef{kvt@EndTable@#1}{%
- \ifstrempty{#6}{\noexpand\kvt@@rule{bottom}}{}%
- \expandafter\noexpand\csname end#2\endcsname}%
- \ifstrempty{#6}{}{\csdef{kvt@@patchenvend@#2}{#6}}}
-\kvt@DefineStdTabEnv{tabular}{false}{false}{false}{}
-\kvt@DefineStdTabEnv{longtable}{true}{false}{false}{}
-\kvt@DefineStdTabEnv{tabularx}{false}{false}{true}{%
- \preto\TX@endtabularx{\toks@\expandafter{\the\toks@
- \kvt@@rule{bottom}}}}
-\kvt@DefineStdTabEnv{xltabular}{true}{false}{true}{%
- \preto\XLT@ii@TX@endtabularx{\toks@\expandafter{\the\toks@
- \kvt@@rule{bottom}}}}
-\kvt@DefineStdTabEnv[onepage]{tabu}{false}{true}{true}{}
-\kvt@DefineStdTabEnv[multipage]{longtabu}{true}{true}{true}{}
-\newcommand\kvt@dottedrowcolors[2]{%
- \kvt@dottedrowcolors@i{#1}#2\@nil}
-\def\kvt@dottedrowcolors@i#1#2..#3\@nil{%
- \ifnumodd{#1}
- {\rowcolors{#1}{#2}{#3}}
- {\rowcolors{#1}{#3}{#2}}}
-\define@cmdkey[kvt]{Row}{bg}{}%
-\define@boolkey[kvt]{Row}{hidden}[true]{}%
-\define@cmdkey[kvt]{Row}{below}{}
-\define@cmdkey[kvt]{Row}{above}{}
-\define@cmdkey[kvt]{Row}{around}{%
- \def\cmdkvt@Row@above{#1}\def\cmdkvt@Row@below{#1}}
+ \expandafter\noexpand\csname end#2\endcsname}}
+\newcommand\kvt@DefineDualTabEnv[3]{%
+ \expandafter\newcommand\csname kvt@StartTable@#1\endcsname[1]{%
+ \kvt@ifhasXcolumns{##1}
+ {\csedef{kvt@EndTable@#1}{%
+ \expandafter\noexpand\csname end#3\endcsname}%
+ \kvt@StartTabularlike{#3}{##1}%
+ }{\csedef{kvt@EndTable@#1}{%
+ \expandafter\noexpand\csname end#2\endcsname}%
+ \kvt@StartTabularlike{#2}{##1}}}}
+\newcommand\kvt@ifhasXcolumns[1]{%
+ \expandafter\expandafter\expandafter\metatbl@ifhasXcolumns
+ \expandafter\expandafter\expandafter{%
+ \csname kvt@alignments@#1\endcsname}}
+\kvt@RegisterBackend{tabular}
+\kvt@RegisterBackend{longtable}
+\kvt@RegisterBackend{tabularx}
+\kvt@RegisterBackend{xltabular}
+\kvt@RegisterBackend{tabu}
+\kvt@RegisterBackend{longtabu}
\newcommand\kvt@AddKeyValRow[3]{%
#1%
\@ifnextchar[%]
{\kvt@AddKeyValRow@i{#2}{#3}}
{\kvt@AddKeyValRow@i{#2}{#3}[]}}
\def\kvt@AddKeyValRow@i#1#2[#3]#4{%
- \setkeys[kvt]{Row}{#3}%
+ \kvt@setkeys{#3}{Row}%
\ifbool{kvt@Row@hidden}
{\let\kvt@@row\@empty #1}
{\kvt@AddKeyValRow@ii{#1}{#2}{#4}}}
@@ -318,38 +690,211 @@
\ifdefvoid\cmdkvt@Row@above{}{%
\eappto\kvt@@row{\noexpand\noalign{\noexpand\vspace{%
\expandonce\cmdkvt@Row@above}}}}%
- \ifdefvoid\cmdkvt@Row@bg{}{%
- \eappto\kvt@@row{\noexpand\rowcolor{\expandonce\cmdkvt@Row@bg}}}%
- \expandafter\appto\expandafter\kvt@@row\expandafter{\kvt@@everyrow}
+ \appto\kvt@@row{\noalign{\global\advance\kvt@@bodyrow\@ne}}%
+ \ifbool{kvt@Row@uncounted}{}{%
+ \appto\kvt@@row{\noalign{\kvt@stepcounters}}}%
+ \ifdefvoid\cmdkvt@Row@bg
+ {\appto\kvt@@row{\kvt@userowcolors}}
+ {\eappto\kvt@@row{\noexpand\rowcolor{\expandonce\cmdkvt@Row@bg}}}%
+ \ifdefvoid\cmdkvt@Row@align
+ {\let\kvt@@rowmkmulticolumn\@empty}
+ {\edef\kvt@@rowmkmulticolumn{%
+ \noexpand\multicolumn{1}{\expandonce\cmdkvt@Row@align}}}%
+ \ifcsvoid{cmdkvt@Row@format!}
+ {\edef\kvt@@cellfmtbuilder##1##2{%
+ \noexpand\edef##1####1{%
+ \noexpand\kvt@expandonce@onearg\noexpand\kvt@@mkmulticolumn
+ {\ifcsvoid{cmdkvt@Row@format*}{\@firstofone}
+ {\noexpand\unexpanded{\csexpandonce{cmdkvt@Row@format*}}}%
+ {\noexpand\csexpandonce{##2}{%
+ \ifdefvoid\cmdkvt@Row@format{\@firstofone}
+ {\noexpand\unexpanded{\expandonce\cmdkvt@Row@format}}%
+ {####1}}}}}}}%
+ {\edef\kvt@@cellfmtbuilder##1##2{%
+ \noexpand\edef##1####1{%
+ \noexpand\kvt@expandonce@onearg\noexpand\kvt@@mkmulticolumn{%
+ \noexpand\unexpanded{\csexpandonce{cmdkvt@Row@format!}}%
+ {####1}}}}}%
\kvt@@span=0\relax
+ \kvt@def@atseconduse\kvt@@switchcol{\appto\kvt@@row{&}}%
\def\do##1{%
- \ifcsvoid{cmdKeyValTable@#2@##1}
- {\letcs\kvt@@cell{kvt@col@default@#2@##1}}
- {\letcs\kvt@@cell{cmdKeyValTable@#2@##1}}%
- \edef\kvt@@fmtcell{\csexpandonce{kvt@col@format@#2@##1}{%
- \expandonce\kvt@@cell}}%
\ifnumgreater\kvt@@span{0}
{\advance\kvt@@span\m@ne
- \ifstrempty\kvt@@cell{\def\kvt@@fmtcell{}}{}}
- {\appto\kvt@@row{&}}%
- \expandafter\kvt@CheckMulticolumn\kvt@@cell
- \relax\relax\relax\relax\@undefined{#2}{##1}%
- \expandafter\appto\expandafter\kvt@@row\expandafter{\kvt@@fmtcell}%
- }\dolistcsloop{kvt@colkeys@#2}%
+ \ifcsvoid{cmdKeyValTable@#2@##1}{}
+ {\ifdefvoid\kvt@@curcgname
+ {\kvt@error{Column '##1' nonempty inside a
+ \string\multicolumn}{}}
+ {\kvt@error{Column '##1' nonempty inside column group
+ '\kvt@@curcgname'}{}}}}
+ {\kvt@@switchcol
+ \let\kvt@@mkmulticolumn\kvt@@rowmkmulticolumn
+ \letcs\kvt@@curcolformat{kvt@col@format@#2@##1}%
+ \ifcsvoid{cmdKeyValTable@#2@##1}
+ {\letcs\kvt@@cell{kvt@col@default@#2@##1}}
+ {\letcs\kvt@@cell{cmdKeyValTable@#2@##1}%
+ \expandafter\kvt@CheckMulticolumn\expandafter{\kvt@@cell}{#2}%
+ \ifbool{kvt@Row@expandonce}
+ {\expandafter\let\expandafter\kvt@@cell\kvt@@cell}{}%
+ \ifbool{kvt@Row@expand}
+ {\protected@edef\kvt@@cell{\kvt@@cell}}{}}%
+ \ifcsvoid{kvt@@noformat@#2@##1}
+ {\kvt@@cellfmtbuilder\kvt@@formatter{kvt@@curcolformat}}%
+ {\let\kvt@@formatter\@firstofone}%
+ \csundef{kvt@@noformat@#2@##1}%
+ \edef\kvt@@fmtcell{\expandafter\expandonce\expandafter{%
+ \expandafter\kvt@@formatter\expandafter{%
+ \kvt@@cell}}}%
+ \expandafter\appto\expandafter\kvt@@row\expandafter{%
+ \kvt@@fmtcell}}%
+ }\dolistcsloop{kvt@displaycols@#2}%
+ \undef\kvt@@cellfmtbuilder
\appto\kvt@@row{\tabularnewline}%
\ifdefvoid\cmdkvt@Row@below{}{%
\eappto\kvt@@row{\noexpand\noalign{\noexpand\vspace{%
\expandonce\cmdkvt@Row@below}}}}%
#1}
-\newcommand\kvt@everyrow[1]{\def\kvt@@everyrow{#1}}
-\newcommand\kvt@@everyrow{}
-\kvt@everyrow{\kvt@stepcounters}%
-\def\kvt@CheckMulticolumn#1#2#3#4\@undefined#5#6{%
- \ifx#1\multicolumn
- \kvt@@span=#2\relax \advance\kvt@@span\m@ne
- \edef\kvt@@fmtcell{\unexpanded{\multicolumn{#2}{#3}}%
- {\csexpandonce{kvt@col@format@#5@#6}{\expandonce{#4}}}}%
- \fi}
+\newcommand\kvt@def@atseconduse[2]{\def#1{\def#1{#2}}}
+\newcommand\kvt@expandonce@onearg[2]{%
+ \ifdefequal{#1}{\@empty}{#2}{\expandonce{#1}{#2}}}
+\newcommand\kvt@stepcounters[1][1]{%
+ \addtocounter{kvtRow}{#1}%
+ \addtocounter{kvtTypeRow}{#1}%
+ \addtocounter{kvtTotalRow}{#1}}
+\newcommand\kvt@CheckMulticolumn[2]{%
+ \kvt@CheckMulticolumn@i{#2}#1%
+ \relax\relax\relax\relax\relax\kvt@@undefined}
+\def\kvt@CheckMulticolumn@i#1#2#3#4#5#6#7\kvt@@undefined{%
+ \ifdefmacro{#2}{%
+ \ifx#2\multicolumn
+ \kvt@SetMulticolumn{#4}{#3}{#5}%
+ \let\kvt@@curcgname\@empty
+ \else\ifx#2\kvt@@@colgroup
+ \letcs\kvt@@curcolformat{kvt@colgrp@format@#1@#3}%
+ \def\kvt@@curcgname{#3}%
+ \ifdefvoid\cmdkvt@Row@align
+ {\kvt@SetMulticolumn{#5}{#4}{#6}}
+ {\expandafter
+ \kvt@SetMulticolumn\expandafter{\cmdkvt@Row@align}{#4}{#6}}%
+ \fi\fi}{}}
+\newcommand\kvt@@@colgroup{kvt@@@colgroup}
+\newcommand\kvt@SetMulticolumn[3]{%
+ \kvt@@span=#2\relax \advance\kvt@@span\m@ne
+ \def\kvt@@cell{#3}%
+ \def\kvt@@mkmulticolumn{\multicolumn{#2}{#1}}}
+\newcommand\kvtNewRowStyle{\kvt@NewStyle{row}{\kvtRenewRowStyle}}
+\newcommand\kvtRenewRowStyle{\kvt@RenewStyle{row}{\kvtNewRowStyle}}
+\newcommand\kvtNewTableStyle{\kvt@NewStyle{table}{\kvtRenewTableStyle}}
+\newcommand\kvtRenewTableStyle{\kvt@RenewStyle{table}{\kvtNewTableStyle}}
+\newcommand\kvt@NewStyle[4]{%
+ \ifcsundef{kvt@@#1style@#3}
+ {\csdef{kvt@@#1style@#3}{#4}}
+ {\kvt@error{The #1 style '#3' is already defined}{Use
+ \string#2\space to change an existing style.}}}
+\newcommand\kvt@RenewStyle[4]{%
+ \ifcsundef{kvt@@#1style@#3}
+ {\kvt@error{A #1 style '#3' is not defined}
+ {Use \string#2\space to define a new #1 style.}}
+ {\csdef{kvt@@#1style@#3}{#4}}}
+\newcommand\kvt@UseRowStyles[1]{%
+ \kvt@UseStyles{row}{Row}{\kvt@NewRowStyle}{#1}}
+\newcommand\kvt@UseTableStyles[1]{%
+ \kvt@UseStyles{table}{Table}{\kvt@NewTableStyle}{#1}}
+\newcommand\kvt@UseStyle[4]{%
+ \ifcsundef{kvt@@#1style@#4}
+ {\kvt@error{A #1 style '#4' is not defined}
+ {Use \string#3\space to define a new #1 style.}}
+ {\kvt@setcskeys{kvt@@#1style@#4}{#2}}}
+\newcommand\kvt@UseStyles[4]{%
+ \kvt@xkv@disablepreset[kvt]{#2}{%
+ \forcsvlist{\kvt@UseStyle{#1}{#2}{#3}}{#4}}}
+\newcommand\kvt@xkv@disablepreset[3][KV]{%
+ \ifnumgreater{\XKV@depth}{1}
+ {#3}
+ {\kvt@xkv@savepreset{#1}{#2}{h}%
+ \kvt@xkv@savepreset{#1}{#2}{t}%
+ #3%
+ \kvt@xkv@restorepreset{#1}{#2}{h}%
+ \kvt@xkv@restorepreset{#1}{#2}{t}}}
+\newcommand\kvt@xkv@savepreset[3]{%
+ \csletcs{kvt@@saved@preset#3}{XKV@#1@#2@preset#3}%
+ \csundef{XKV@#1@#2@preset#3}}
+\newcommand\kvt@xkv@restorepreset[3]{%
+ \csletcs{XKV@#1@#2@preset#3}{kvt@@saved@preset#3}}
+\newcommand\NewCollectedTable[2]{%
+ \ifcsvoid{kvt@@tnameof@#1}
+ {\csgdef{kvt@@tnameof@#1}{#2}}
+ {\kvt@error{Name '#1' for a row collection is already defined}
+ {Check for other \string\NewCollectedTable{#1}.}}}
+\newcommand\CollectRow[3][]{%
+ \ifcsvoid{kvt@@tnameof@#2}
+ {\kvt@error{No row collection with name '#2' defined}
+ {Use \string\NewCollectedTable in the preamble to define it.}}
+ {%
+ \begingroup
+ \kvt@setkeys{#1}{Row}%
+ \kvt@colsetcskeys{kvt@@tnameof@#2}{#3}%
+ \endgroup
+ \kvt@protected@write\@auxout{\string\kvt@RecordedRow{#1}{#2}{%
+ \kvt@coldefaults{#2}%
+ #3}}%
+ }}
+\newcommand\kvt@protected@write[2]{\protected@write{#1}
+ {\def\do##1{\def##1{\string##1}}%
+ \dolistloop{\kvt@@writeprotected@cmds}%
+ \forlistloop{\kvt@writeprotect@fmt}{\kvt@@numberformatters}}
+ {#2}}
+\newcommand\kvt@writeprotect@fmt[1]{%
+ \csletcs{kvt@@fmt@#1}{#1}%
+ \csdef{#1}##1{%
+ \ifcsdef{kvt@@c@##1}
+ {\expandafter\string\csname#1\endcsname{##1}}
+ {\csname kvt@@fmt@#1\endcsname{##1}}}}
+\newcommand\kvtDeclareTableMacros[1]{%
+ \forcsvlist{\listadd\kvt@@writeprotected@cmds}{#1}}
+\newcommand\kvt@@writeprotected@cmds{}
+\newcommand\kvtDeclareTableCounters[1]{%
+ \def\do##1{\cslet{kvt@@c@##1}\@ne}%
+ \docsvlist{#1}}
+\newcommand\kvtDeclareCtrFormatters[1]{%
+ \def\do##1{\listeadd\kvt@@numberformatters{%
+ \expandafter\@gobble\string##1}}%
+ \docsvlist{#1}}
+\newcommand\kvt@@numberformatters{}
+\kvtDeclareTableMacros{\thekvtRow,\thekvtTypeRow,\thekvtTotalRow}
+\kvtDeclareTableCounters{kvtRow,kvtTypeRow,kvtTotalRow}
+\kvtDeclareCtrFormatters{\arabic,\alph,\Alph,\roman,\Roman,\fnsymbol}
+\newcommand\kvt@coldefaults[1]{%
+ \kvt@coldefaults@i{\csuse{kvt@@tnameof@#1}}}
+\newcommand\kvt@coldefaults@i[1]{%
+ \forlistcsloop{\kvt@coldefault{#1}}{kvt@displaycols@#1}}
+\newcommand\kvt@coldefault[2]{\ifcsvoid{kvt@col@default@#1@#2}{}{%
+ #2={\csuse{kvt@col@default@#1@#2}},}}
+\newcommand\kvt@RecordedRow[3]{%
+ \csgappto{kvt@@rowsof@#2}{\Row[{#1}]{#3}}}
+\newcommand\ShowCollectedTable[2][]{%
+ \ifcsvoid{kvt@@tnameof@#2}
+ {\kvt@error{No row collection with name '#2' defined}
+ {Use \string\NewCollectedTable in the preamble to define it.}}
+ {\ifcsvoid{kvt@@rowsof@#2}
+ {\kvt@warn{No row data available for name '#2'.
+ A LaTeX rerun might be needed^^M
+ for the row data to be available}%
+ \kvt@tableofcname{#2}{#1}{???\tabularnewline}}%
+ {\kvt@tableofcname{#2}{#1}{\csuse{kvt@@rowsof@#2}}}}}
+\newcommand\kvt@tableof[3]{%
+ \begin{KeyValTable}[{#2}]{#1}%
+ #3%
+ \end{KeyValTable}}
+\newcommand\kvt@tableofcname[1]{\expandafter
+ \kvt@tableofcname@i\expandafter{\csname kvt@@tnameof@#1\endcsname}}
+\newcommand\kvt@tableofcname@i[1]{\expandafter
+ \kvt@tableof\expandafter{#1}}
+\newcommand\ShowKeyValTableFile[3][]{%
+ \IfFileExists{#3}
+ {\begin{KeyValTable}[{#1}]{#2}\@@input#3 \end{KeyValTable}}%
+ {\kvt@error{No KeyValTable file '#3'}
+ {Check whether the file really exists or whether there is a
+ typo in the argument '#3'}}}
\newcommand\ShowKeyValTable[2][]{%
\begin{KeyValTable}[#1]{#2}%
\csuse{kvt@rows@#2}%
@@ -357,23 +902,30 @@
\csdef{kvt@rows@#2}{}}
\newcommand\AddKeyValRow[1]{%
\kvt@AddKeyValRow
- {\bgroup}
- {\csxappto{kvt@rows@#1}{\expandonce{\kvt@@row}}\egroup}
+ {\begingroup}
+ {\csxappto{kvt@rows@#1}{\expandonce{\kvt@@row}}\endgroup}
{#1}}
\newenvironment{KeyValTableContent}[1]{%
\def\Row{\AddKeyValRow{#1}}}{}%
-\define@boolkey[kvt]{PackageOptions}[kvt@@]{noTabuPkg}[true]{}
+\define@cmdkey[kvt]{PackageOptions}[kvt@@pkg@]{compat}{}
\ExecuteOptionsX[kvt]<PackageOptions>{%
- noTabuPkg=false,
+ compat=2.0,
}
\ProcessOptionsX[kvt]<PackageOptions>\relax
-\ifbool{kvt@@noTabuPkg}{}{%
- \RequirePackage{longtable,tabu}}
-\DeclareListParser{\kvt@dossvlist}{;}
-\DeclareListParser*{\kvt@forpsvlist}{+}
-\DeclareListParser{\kvt@dobrklist}{\\}
-\newcommand\kvt@error[2]{\PackageError{keyvaltable}{#1}{#2}}
-\newcommand\kvt@warn[1]{\PackageWarning{keyvaltable}{#1}}
+\newcommand\kvt@IfVersion[2]{%
+ \ifdimcomp{\kvt@@pkg@compat pt}{#1}{#2pt}}
+\kvt@IfVersion{<}{2.0}{%
+ \metatblRequire{tabu,longtabu}
+ \kvt@RegisterShape{onepage}{tabu}{tabu}
+ \kvt@RegisterShape{multipage}{longtabu}{longtabu}
+}{%
+ \metatblRequire{tabularx,longtable,xltabular}
+ \kvt@RegisterShape{onepage}{tabular}{tabularx}
+ \kvt@RegisterShape{multipage}{longtable}{xltabular}
+}
+\kvt@IfVersion{<}{2.0}{%
+ \renewcommand\kvt@parselayout[2]{\kvt@parseheadrows{#2}{#1}}%
+}{}
\endinput
%%
%% End of file `keyvaltable.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/keyvaltable.tlpobj new/tlpkg/tlpobj/keyvaltable.tlpobj
--- old/tlpkg/tlpobj/keyvaltable.tlpobj 2019-03-20 02:24:13.000000000 +0100
+++ new/tlpkg/tlpobj/keyvaltable.tlpobj 2020-04-12 01:55:30.000000000 +0200
@@ -1,19 +1,20 @@
name keyvaltable
category Package
-revision 50471
-shortdesc Re-usable tables separating content and presentation
+revision 54677
+shortdesc Re-usable table layouts separating content and presentation
relocated 1
-longdesc The main goal of the keyvaltable package is to offer means for
-longdesc typesetting tables easily and yet still looking rather nicely
-longdesc in a way that separates content from presentation and with
-longdesc re-usable layout for tables of the same type. For this purpose,
-longdesc the package provides the environment KeyValTable, which allows
-longdesc one to typeset tables that have a previously defined column
-longdesc layout and whose rows can be produced in a key-value fashion.
-runfiles size=4
+longdesc The main goal of this package is to offer means for typesetting
+longdesc tables easily and yet still looking rather nicely in a way that
+longdesc separates content from presentation and with re-usable layout
+longdesc for tables of the same type. For this purpose, the package
+longdesc provides the environment KeyValTable, which allows one to
+longdesc typeset tables that have a previously defined column layout and
+longdesc whose rows can be produced in a key-value fashion.
+runfiles size=10
RELOC/tex/latex/keyvaltable/keyvaltable.sty
+catalogue-contact-bugs https://github.com/Ri-Ga/keyvaltable/issues
+catalogue-contact-repository https://github.com/Ri-Ga/keyvaltable
catalogue-ctan /macros/latex/contrib/keyvaltable
-catalogue-date 2019-03-18 21:55:33 +0100
catalogue-license lppl1.2
catalogue-topics table
-catalogue-version 1.0
+catalogue-version 2.2
++++++ kluwer.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/kluwer.doc.tlpobj new/tlpkg/tlpobj/kluwer.doc.tlpobj
--- old/tlpkg/tlpobj/kluwer.doc.tlpobj 2019-02-28 03:45:58.000000000 +0100
+++ new/tlpkg/tlpobj/kluwer.doc.tlpobj 2020-03-04 23:51:46.000000000 +0100
@@ -1,6 +1,6 @@
name kluwer.doc
category Package
-revision 45756
+revision 54074
shortdesc doc files of kluwer
relocated 1
docfiles size=54
++++++ kluwer.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/kluwer.tlpobj new/tlpkg/tlpobj/kluwer.tlpobj
--- old/tlpkg/tlpobj/kluwer.tlpobj 2019-02-28 03:45:58.000000000 +0100
+++ new/tlpkg/tlpobj/kluwer.tlpobj 2020-03-04 23:51:46.000000000 +0100
@@ -1,6 +1,6 @@
name kluwer
category Package
-revision 45756
+revision 54074
shortdesc Kluwer publication support
relocated 1
longdesc Most likely long obsolete, unfortunately.
++++++ knowledge.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/knowledge/README.md new/doc/latex/knowledge/README.md
--- old/doc/latex/knowledge/README.md 2019-02-15 23:22:44.000000000 +0100
+++ new/doc/latex/knowledge/README.md 2020-03-05 23:08:31.000000000 +0100
@@ -3,8 +3,8 @@
name: knowledge
license: LaTeX Project Public License version 1.2 or above
- version: v1.16
- date: 2019/02/15
+ version: v1.22
+ date: 2020/03/05
author: Thomas Colcombet
mail: thomas.colcombet@irif.fr
web: https://www.irif.fr/~colcombe/knowledge_en.html
Binary files old/doc/latex/knowledge/knowledge.pdf and new/doc/latex/knowledge/knowledge.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/knowledge/knowledge.tex new/doc/latex/knowledge/knowledge.tex
--- old/doc/latex/knowledge/knowledge.tex 2019-02-15 23:22:44.000000000 +0100
+++ new/doc/latex/knowledge/knowledge.tex 2020-03-05 23:08:31.000000000 +0100
@@ -4,7 +4,8 @@
\usepackage{paralist}
\usepackage[svgnames]{xcolor}
\usepackage{expl3}
-\usepackage[hidelinks]{hyperref}
+\usepackage{hyperref}
+%\usepackage{complexity}
\usepackage[quotation,scope]{knowledge}
\knowledgeconfigure{visible anchor points=false}
\knowledgeconfigure{notion,diagnose line=false}
@@ -145,7 +146,7 @@
-\knowledge{@token}{wrap=\Robustdisplay,up,md,typewriter,color=NavyBlue}
+\knowledge{{@token}}{wrap=\Robustdisplay,up,md,typewriter,color=NavyBlue}
@@ -159,6 +160,7 @@
\knowledgestyle{style}{typewriter,up,md,color=NavyBlue}
\knowledgestyle{intro style}{typewriter,up,md,color=blue}
+
\begin{scope}\label{style}
\knowledge{notion}{notion style}
\knowledge{intro notion}{notion style}
@@ -187,6 +189,10 @@
\knowledgeconfigure{quotation=false}
+\knowledge{LaTeX}[latex|LATEX|Latex]{text=\LaTeX}
+\knowledge{tex}[TeX|TEX]{text=\TeX}
+\knowledge{pdflatex}{typewriter}
+
\knowledge"{text=\quotesymbol}
\knowledge{""}{text=\quotesymbol\quotesymbol}
\knowledgeconfigure{quotation=true}
@@ -202,12 +208,12 @@
\ExplSyntaxOn
\knowledge{"..."}{kquotation,text=\kl{"}$\cdots$\kl{"}}
\knowledge{""...""}{kquotation,text=\kl{""}$\cdots$\kl{""}}
-\knowledge{"...@..."}{kquotation,text=\kl{"}$\cdots\arobas\cdots$\kl{"}}
-\knowledge{""...@...""}{kquotation,text=\kl{""}$\cdots\arobas\cdots$\kl{""}}
-\knowledge{"...@@..."}{kquotation,text=\kl{"}$\cdots\arobas\cdots\arobas\cdots$\kl{"}}
-\knowledge{""...@@...""}{kquotation,text=\kl{""}$\cdots\arobas\cdots\arobas\cdots$\kl{""}}
-\knowledge{"...@...@..."}{kquotation,text=\kl{"}$\cdots\arobas\cdots\arobas\cdots$\kl{"}}
-\knowledge{""...@...@...""}{kquotation,text=\kl{""}$\cdots\arobas\cdots\arobas\cdots$\kl{""}}
+\knowledge{{"...@..."}}{kquotation,text=\kl{"}$\cdots\arobas\cdots$\kl{"}}
+\knowledge{{""...@...""}}{kquotation,text=\kl{""}$\cdots\arobas\cdots$\kl{""}}
+\knowledge{{"...@@..."}}{kquotation,text=\kl{"}$\cdots\arobas\cdots\arobas\cdots$\kl{"}}
+\knowledge{{""...@@...""}}{kquotation,text=\kl{""}$\cdots\arobas\cdots\arobas\cdots$\kl{""}}
+\knowledge{{"...@...@..."}}{kquotation,text=\kl{"}$\cdots\arobas\cdots\arobas\cdots$\kl{"}}
+\knowledge{{""...@...@...""}}{kquotation,text=\kl{""}$\cdots\arobas\cdots\arobas\cdots$\kl{""}}
\ExplSyntaxOn
@@ -215,10 +221,9 @@
\makeatletter
\let\arobas @
\makeatother
-\knowledge{@}{kcommand,text=\arobas}
+\knowledge{{@}}{kcommand,text=\arobas}
-\knowledge{tex}{text=\TeX}
\knowledgedirective{people}{emphasize,color=DarkGray}
\knowledge{stackexchange}{people}
@@ -315,6 +320,7 @@
\knowledge{index key=}{directive}
\knowledge{index parent key=}{directive}
\knowledge{index style=}{directive}
+\knowledge{label scope}[label scope=]{option}
\knowledge{color=}{directive}
\knowledge{cyclic color}{directive}
\knowledge{colorbox=}{directive}
@@ -327,10 +333,10 @@
\knowledge{autoref target}{directive}
\knowledge{also now}{directive}
\knowledge{notion}{directive}
+\knowledge{no patch}{directive}
\knowledge{invisible=}[invisible]{directive}
\knowledge{detokenize}{directive}
\knowledge{remove space}{directive}
-
\begin{scope}\label{option}
\knowledge{hyperref}{option}
\knowledge{xcolor}{option}
@@ -354,7 +360,9 @@
\knowledge{unprotect link co}{option,text=unprotect link}
\knowledge{hyperlinks=}{option}
\knowledge{fix hyperref twocolumn}{option}
+\knowledge{diagnose help=}[diagnose help]{option}
\knowledge{diagnose line=}[diagnose line]{option}
+\knowledge{diagnose bar=}[diagnose bar]{option}
\knowledge{active}{option}
@@ -371,7 +379,11 @@
\knowledgedirective{package}{typewriter,color=DarkBlue}
\knowledge{CTAN}{color=darkgray,url={https://www.ctan.org/}}
\begin{scope}\label{package}
+ %\ExplSyntaxOn
+ %\def\mydebug{\tl_show:N\knowledge_knowledge_instance_tl}
+ %\ExplSyntaxOff
\knowledge{knowledge}{doc notion, package}
+ \knowledge{complexity}{package,url={https://www.ctan.org/pkg/complexity}}
\knowledge{expl3}{package,url={https://www.ctan.org/pkg/expl3}}
\knowledge{hyperref}{package,url={https://www.ctan.org/pkg/hyperref}}
\knowledge{tikzcd}{package,url={https://www.ctan.org/pkg/tikz-cd}}
@@ -382,8 +394,10 @@
\knowledge{xparse}{package,url={https://www.ctan.org/pkg/xparse}}
\knowledge{amsmath}{package,url={https://www.ctan.org/pkg/amsmath}}
\knowledge{amssymb}{package,url={https://www.ctan.org/pkg/amssymb}}
+ \knowledge{mathcommand}{package,url={https://www.ctan.org/pkg/mathcommand}}
\end{scope}
+
\knowledgedirective{environment}{typewriter}
\begin{scope}\label{env}
\knowledge{scope}{kenvironment}
@@ -408,7 +422,7 @@
\knowledge {unknown diagnose=}{directive}
\knowledge {suggestion=}{directive}
\knowledge {PDF string=}{directive}
- \knowledge {starred sequence}{doc notion}
+ \knowledge {stared sequence}{doc notion}
\knowledge {modifier}[modifiers|Modifiers]{doc notion}
\end{scope}
@@ -425,11 +439,28 @@
\knowledge{configuration option}[configuration options|Configuration options]{link=package option}
\knowledge{stack of visible scope instances}{notion}
\knowledge{quotation notation}{doc notion}
-\knowledge{jobname.kaux}[kaux file]{doc notion}
+\ExplSyntaxOn
+\def\klqn#1{{\kl[quotation~notation]{\tl_to_str:n{#1}}}}
+\def\klbn#1{{\kl[`\vbar'-notation]{\tl_to_str:n{#1}}}}
+\ExplSyntaxOff
+
+\knowledge{`\vbar'-notation}{doc notion}
+\knowledge{doc notion}
+ | jobname.kaux
+ | kaux file
\knowledge{undefined knowledge}[undefined knowledges|Undefined knowledges]{doc notion}
\knowledge{Non introduced autoref knowledge}{doc notion}
\knowledge{Duplicated intros}{doc notion}
-\knowledge{instance}[instances|Instances]{doc notion}
+\knowledge{doc notion}
+ | instance
+ | instances
+ | Instances
+\knowledge{doc notion}
+ | explicit scope
+ | explicit scoping
+ | Explicit scopes
+ | explicit scopes
+ | Explicit scoping
\knowledge{directive}[directives|Directives]{doc notion}
\knowledge{area}[areas|Areas]{doc notion}
\knowledge{knowledge}[knowledges|Knowledges]{doc notion}
@@ -440,7 +471,13 @@
\knowledge{knowledge style}[Knowledge styles|knowledge styles]{doc notion}
\knowledge{style}[styles|Styles|display style|display styles]{link=knowledge style}
\knowledge{category}[categories|Categories]{doc notion}
-\knowledge{scope}[scopes|Scopes]{doc notion} % separate the package
+\knowledge{doc notion}
+ | scope
+ | scopes
+ | Scopes
+\knowledge{doc notion}
+ | scopetag
+ | scopetags
\knowledge{namespace}[namespaces|Namespaces]{doc notion}
\knowledge{vertical mode}{doc notion}
\knowledge{debug mode}{doc notion}
@@ -450,10 +487,14 @@
\knowledge {\knowledge namespace}{doc notion}
\knowledge {\knowledge knowledge name}{doc notion}
+\knowledge {\knowledge optional scope}{doc notion}
+\knowledge {\knowledge synonym name}{doc notion}
\knowledge {\knowledge synonyms}[\knowledge optional argument]{doc notion}
\knowledge {\knowledge directives}[knowledge directive]{doc notion}
-\knowledge {composition mode}[composition]{option}
+\knowledge{option}
+ | composition mode
+ | composition
\knowledge {paper mode}[paper]{option}
\knowledge {electronic mode}[electronic]{option}
@@ -482,9 +523,6 @@
\knowledge {scope.sty}{link=scope option}
-\knowledge{latex}{text=\LaTeX}
-\knowledge{tex}{}
-\knowledge{pdflatex}{}
\knowledgedefault{}
@@ -565,11 +603,8 @@
\maketitle
\begin{abstract}\phantomintro(package){knowledge}%
-The "knowledge@@package" package offers automatic tools and commands
-for helping the writer of a (scientific) document to have all notions (hyper)linked
-to places where these are defined. Using the standard tools of \LaTeX{} for doing
-that would be extremely tedious.
-Eventually, it is intended to use the package for producing scientific semantic aware documents.
+The "knowledge@@package" package offers commands and notations for handling semantical notions in a (scientific) document.
+This allows to link the use of a notion to its definition, to add it to the index automatically, etc.
\end{abstract}
\ifcodeTF{\begin{quote}This version of the documentation includes a good part of the code. A casual user should \textit{a priori} not use this version of the documentation.\end{quote}}{}
@@ -587,7 +622,6 @@
\texttt{CTAN:}&\url{https://www.ctan.org/pkg/knowledge}
\end{tabular}
\end{quote}
-This is still in beta version but close to a first definitive release. A lot of functionalities are perfectly operational, and the syntax is close to stable. At any rate, if changes happen, these will only affect a few lines in the configuration of the document.
\newpage
\knowledgeconfigure{protect links}
\tableofcontents
@@ -603,18 +637,22 @@
\begin{asparaitem}
\item deactivate quotation by default in the preamble in particular for avoiding clashes with commands such as \cs\DeclareMathDelimiter.
\item make knowledge compatible with beamer (request of Patrick Aiyao He), probably use hypertarget and hyperlink instead of hyperlabel and hyperref. Seems complicated because I do not know how to know if some material is going to be displayed, and this is necessary for a complete working solution.
+I have seen Till Tantau who explained me how to test whether a material is displayed. This involves testing the counter |beamer@coveringdepth| which if higher than one when 'not displayed'.
+|beamer@slideinframe| could also be intersting.
\item make quotation work properly in the titles of section...,
\item allow to protect quotation in commands, and not only environments (for instance xymatrix)
-\item remove the warnings about redefining commands
+%\item remove the warnings about redefining commands
\item proper mathematics handling. Write a new \csintro{\NewDocumentCommand}-like macro
-\item detect using some trick that the previous compilation failed, and deactivate the Kaux file in this case
- (for the moment, removing the aux file deactivates the kaux file. This is convenient but not sufficient.)
-\item proper code for \cs{\nointro}.
+%\item detect using some trick that the previous compilation failed, and deactivate the Kaux file in this case
+% (for the moment, removing the aux file deactivates the kaux file. This is convenient but not sufficient.)
+%\item proper code for \cs{\nointro}.
\item improving the \cs{\AP} and \cs{\itemAP} commands. For the moment \cs{\AP} silently fails inside the
- optional argument of \cs{\item}, and probably elsewhere too. See how this can be improved.
+ optional argument of \cs{\item}, and probably elsewhere too. See how this can be improved. I tried to use the \cs{inner_mode} test, but it also detects situations when where \cs{\AP} si allowed (like in minipage).
\item solve the \kl(package){amsmath} problem that \cs{\label} is deactivated in unnumbered environment, while knowledge would nevertheless like to point to the place...
\item Code export and import features.
\item Pointing inside an external pdf document.
+\item Correct the use of parameters in a directive (see example 'highlight' below).
+\item Make the boolean parameters in knowledges to properly handle the false case (removing the default).
\end{asparaitem}%
}{}
@@ -656,7 +694,7 @@
\item[2017-04-09] Internal change of code, for "scope" handling and for the "quotation notation": slowly going toward an extended "quotation notation" that can make the "scope" of search explicit.
\item[2017-04-09] Added the \kl{protect quotation} configure option, that is given a list of environments, and deactivates automatically the "quotation notation" when in there environments. This is a simple code for the moment. Typically, one can use \smallcode{\cs\knowledgeconfigure\{\kl{protect quotation}=tikzcd\}}. For the moment, it is not explained in the document.
\item[2017-04-19] Changed the display code such that nested knowledges behave properly: before, the introduction would be performed for the object and the subobjects.
-\item[2017-04-20] The "electronic mode" has been added, and the `final mode` is now renamed into "paper mode". The \cs{\knowledgepackagemode} configuration variable is also available for easier scripting.
+\item[2017-04-20] The "electronic mode" has been added, and the `\texttt{final mode}' is now renamed into "paper mode". The \cs{\knowledgepackagemode} configuration variable is also available for easier scripting.
\item[2017-06-06] FAQ on deactivating the quote in "Emacs" (thanks to Sylvain Perifel).
\item[2017-06-08] Removed the \texttt{noknowledge} package and all references to it.
\item[2017-06-08] Removed the \texttt{knowledgeutils.sty} and \texttt{scopearticle.sty} which are now integrated in the main file.
@@ -694,6 +732,18 @@
\item[2018-11-22] Corrected bug for "makeidx@@package" (thanks to Sylvain Schmitz). V1.14 on "CTAN".
\item[2019-01-27] Minor improvement of the doc, and hiding links in it. V1.15.
\item[2019-02-15] Correction of a placement problem with \cs\AP. V1.16.
+\item[2019-05-23] Adding of the "`\vbar'-notation" for the \cs{\knowledge} command.
+"Explicit scopes" are introduced. Updating of the documentation. "up" directive in math mode now silently does nothing, and \cs{\knowledgedirective} now forbids redefinitions by default (thanks to Léo Stefanesco).
+\item[2019-07-02] Removing the `\texttt{kl}' and `\texttt{intro}' styles that prevented a proper configuration of "intro notion@@style" (thanks to Léo Stefanesco).
+\item[2019-10-03] Update of the documentation, and V1.17.
+\item[2019-10-27] Bug correction and added the `\textbf{patch label}' configuration directive (thanks to \href{https://becca.ooo/}{Rebecca Turner}). V1.18.
+\item[2019-11-19] Now the labels are evaluated before being written to the "kaux file" in a \cs\KAuxNewLinkScopetagInstance\ command (bug fix). V1.19.
+\item[2019-11-29] Help added in the "diagnose file". \textbf{bar suggestion} (still working) renamed to "diagnose bar", and activated by default. \textbf{patch label} is renamed into "label scope".
+\item[2019-12-02] The "kaux file" is now checked for completeness befor being used. This should avoid errors when the previous compilation failed.
+\item[2019-12-03] Corrected bug in the scope access. V1.20.
+\item[2020-01-25] Corrected bug when "knowledge@@package" is used without "hyperref@@package" (thanks to Rémi Nollet).
+\item[2020-01-25] Corrected bug that made the kaux file not stabilize (thanks to Rémi Nollet). V1.21 on CTAN.
+\item[2020-03-05] No \texttt{hidelinks} and \texttt{breaklinks} are automatically activated unless the new option \kl{no patch} is activated. Doc update. V1.22 on CTAN.
\end{compactdesc}
\normalsize
%\restoregeometry
@@ -717,8 +767,9 @@
The "knowledge@@package" package offers several capabilities for handling colors, changing the display style, defining internal and external hyperlinks, producing an index, etc...
All these possibilities arise from defining explicitly or implicitly \kl{knowledges} associated to terms in plain english (or other languages).
-We start by describing a certain number of problems/scenarii that a user may be confronted to, and show how to solve them. The hyperlinks in this document have been generated using the "knowledge@@package" package.
-In the subsequent questions, a more detailed account of how the "package@knowledge@package" works and can be parameterized is given.
+We start by describing a certain number of problems/scenarii that a user may be confronted to, and show how to solve them.
+%The hyperlinks in this document have been generated using the "knowledge@@package" package.
+In the subsequent sections, a more detailed account of how the "package@knowledge@package" works and can be parameterized is given.
There is also a file \texttt{knowledge-example.tex} that can be used as a starting point.
@@ -740,14 +791,18 @@
\begin{code}[8cm]
\cs{\usepackage}["hyperref@@package",\kl(option){quotation}]\{"knowledge@@package"\}
\end{code}
-\noindent or:
+\noindent or equivalently:
\begin{code}[8cm]
\cs\usepackage\{\kl(package){hyperref}\}\\
-\cs\usepackage[\kl(option){quotation}\footnote{If you want to use the \kl{"}$\cdots$\kl{"} notation.}]\{"knowledge@@package"\}
+\cs\usepackage[\kl(option){quotation}\footnote{If you want to use the \kl{"..."} notation.}]\{"knowledge@@package"\}
\end{code}
-Then, in the preamble (or in an external file), one uses commands of the form:
-
+Then, in the preamble (or in an external file), one uses commands of the form either:
+\begin{code}
+\cs\knowledge\{\kl{url=}\{https://en.wikipedia.org/wiki/LaTeX\}\}\par
+\qquad\kl{|}\quad latex
+\end{code}
+or equivalently
\begin{code}
\cs\knowledge\{latex\}\{\kl{url=}\{https://en.wikipedia.org/wiki/LaTeX\}\}
\end{code}
@@ -755,9 +810,9 @@
which means an hyperreference to this address.
Finally in the body of the paper, the sole extra command \cs{\kl} (or the \kl"-symbol if the \kl(option){quotation} option is activated) is used,
-with as parameter a text. This text is searched for, and the directives attached to it (here the url),
-are used for formatting its printing\footnote{This resembles a lot a macro so far. It nevertheless differs in that: (a) if not defined, it does not make the compilation fail as a macro would, and thus does not interfere with the writing process, (b) any text can be used and not only alphabetic letters as in \TeX, (c) you do not have to care about the space after, and (d)
-in fact the machinery for resolving the meaning of a knowledge is much more powerful than simple macro execution.}.
+with as parameter a text. This text is searched for, and the directives attached to it (here "url="),
+are used for formatting its printing\footnote{This resembles a lot a macro so far. It nevertheless differs in that: (a) if not defined, it does not make the compilation fail as a macro would, and thus does not interfere with the writing process, (b) any text can be used and not only alphabetic letters as in default \TeX, (c) you do not have to care about the space after, and (d)
+in fact the machinery for resolving the meaning of a knowledge is much more powerful than simple macro expansion.}.
Hence:
\marginpar{\begin{hint}
If the knowledge is not defined, this does not make the compilation fail.
@@ -772,7 +827,7 @@
This package has been written for use in \kl{"}latex\kl{"}.
\end{code}\noindent
yields
-\knowledge{urllatex}{url=https://en.wikipedia.org/wiki/LaTeX}
+\knowledge{urllatex}{url=https://en.wikipedia.org/wiki/LaTeX,color=black}
\begin{PDFoutput}
This package has been written for use in \kl[urllatex]{latex}.
\end{PDFoutput}
@@ -783,8 +838,9 @@
extra "directives":
\begin{code}[10.9cm]
\cs\knowledge\{latex\}\{\kl{url=}https://en.wikipedia.org/wiki/LaTeX,\\
-\qquad\kl{text=}\cs\LaTeX,~\kl{color=}gray\}
-\end{code}\noindent
+\indent\qquad\kl{text=}\cs\LaTeX,~\kl{color=}gray\}
+\end{code}
+\noindent
yields with the same text
\knowledge{urllatexgray}{url=https://en.wikipedia.org/wiki/LaTeX, color=gray, text=\LaTeX}
\begin{PDFoutput}
@@ -806,26 +862,28 @@
This can be achieved using a `\vbar' separated list of texts in the \kl[\knowledge synonyms]{optional parameter} of the\cs{\knowledge} command, it is possible to add a list of `synonyms', such as in:
%
\marginpar{\begin{hint}
-This is a shorthand for a \kl{synonym} (or \kl{link=}) directive.\\For instance, with the code
- \begin{code}[4.3cm]
- \cs{\knowledge}\{D. Knuth\}\\~~~~\{\kl{link=}Knuth\}
- \end{code}\noindent then \smallcode{\cs\kl\{D. Knuth\}}
- would also point to the same url.
- \begin{code}[4.3cm]
- \cs{\knowledge}\{D. Knuth\}\\~~~~\{\kl{synonym}\}
- \end{code}\noindent would also work if used just after the definition
- of \texttt{Knuth}.\\
+ Another syntax (called the "`\vbar'-notation") is:
+ \begin{code}[4.35cm]
+ \cs{\knowledge}\{"url="\dots\}\\
+ \indent~\vbar~Donald Ervin Knuth\\
+ \indent~\vbar~Donald Knuth\\
+ \indent~\vbar~D. Knuth\\
+ \indent~\vbar~Knuth
+ \end{code}
+ Other possibilities are to use the
+ "synonym" or "link=" directives.
\end{hint}}
%
-\begin{code}
+\begin{code}[12.4cm]
\cs{\knowledge}\{latex\}[LaTeX\vbar Latex\vbar LATEX]\\
- \{\kl{url=}http://en.wikipedia.org/wiki/LaTeX,~\kl{text=}\cs{\LaTeX}, \kl{color=}gray\}
+\indent\qquad\{\kl{url=}http://en.wikipedia.org/wiki/LaTeX,\\
+\indent\qquad\kl{text=}\cs{\LaTeX}, \kl{color=}gray\}
\end{code}
This is interesting for people's name that can be displayed in various ways depending on the context. Hence
%
- \begin{code}[9.8cm]
- \cs\knowledge\{Donald Ervin Knuth\}[Donald Knuth\vbar Knuth]
- \{\kl{url=}https://fr.wikipedia.org/wiki/Donald\_Knuth\}
+ \begin{code}[12.4cm]
+ \cs\knowledge\{Donald Ervin Knuth\}[Donald Knuth\vbar Knuth]\\
+ \indent\qquad\{\kl{url=}https://fr.wikipedia.org/wiki/Donald\_Knuth\}
\end{code}
\noindent would allow
\begin{center}
@@ -833,24 +891,24 @@
or simply \smallcode{\kl"Knuth\kl"}~~~as well as~~~\smallcode{\kl"Donald Knuth\kl"} and so on
\end{center} to all point to the same web address.
It is even more convenient to use it for nouns that are sometimes in plural form or at the beginning of a sentence. Hence:
-%\marginpar{%
-% \begin{hint}
-% Sometimes one wants to use a \kl{knowledge} by explicitly mentioning it:
-% \begin{code}[4.3cm]
-% \cs\kl[group]\{This object\}
-% \\ is very important.
-% \end{code}
-% or
-% \begin{code}[4.3cm]
-% \kl"This object\kl{@}group\kl"
-% \\ is very important.
-% \end{code}
-% \end{hint}}
-\begin{code}[10.6cm]
-\cs\knowledge\{group\}[groups\vbar Groups\vbar group morphism\vbar group morphisms\vbar Group morphisms]\\
- \{\kl{url=}https://en.wikipedia.org/wiki/Group\_(mathematics)\}
+\begin{code}[12.4cm]
+\cs\knowledge\{group\}[groups\vbar Groups\vbar group morphism\\
+\indent~~~~~~~~~~\vbar group morphisms\vbar Group morphisms]\\
+\indent~~~~~ \{\kl{url=}https://en.wikipedia.org/wiki/Group\_(mathematics)\}
+\end{code}
+\noindent
+or the more readable and maintainable:
+\begin{code}[12.4cm]
+\cs\knowledge\{\kl{url=}https://en.wikipedia.org/wiki/Group\_(mathematics)\}
+\indent~~~\vbar~~group\\
+\indent~~~\vbar~~groups\\
+\indent~~~\vbar~~Groups\\
+\indent~~~\vbar~~group morphism\\
+\indent~~~\vbar~~group morphisms\\
+\indent~~~\vbar~~Group morphisms
\end{code}
-\end{variation}\noindent
+\end{variation}
+\noindent
makes it possible to use the notions in many contexts:
\begin{code}
\kl"Groups\kl" form a category when equipped with \kl"group morphisms\kl".
@@ -863,12 +921,10 @@
\begin{problem}
-I am writing a long scientific document with many notions tied together
-(typically, I have made all my best for clarifying but nevertheless
-it remains obscure,
-or it is a long survey involving many subfields, or a book, or a PhD thesis\footnote{Reviewers should appreciate...}).
-I would like all the notions be linked inside the document for being able
-in one click, whenever something is used, to jump to its definition.
+I am writing a scientific document with many different definitions, typically a journal article, a PhD thesis\footnote{Reviewers should appreciate...}, or a book.
+
+I would like all the notions to be linked inside the document for being able
+in one click, whenever something is used, to jump to its definition. I also want to easily write an index.
However, I do not want it to be a hassle when writing.
\end{problem}
\medskip
@@ -883,10 +939,10 @@
%
%
-Then write the document using \cs{\intro} (or \kl{""}$\cdots$\kl{""} if \kl(option){quotation} is activated) when a notion is defined/introduced, and
+Then write the document using \cs{\intro} (or \kl{""...""} if \kl(option){quotation} is activated) when a notion is defined/introduced, and
\marginpar{\begin{hint} Using an \cs{\AP} command is strongly advised,
and allows to control more precisely where the target of hyperreferences is: at the beginning of a paragraph is better than the beginning of the section several pages before...\end{hint}}
-\cs{\kl} (or \kl{"}$\cdots$\kl{"} if \kl(option){quotation} is activated) when it is used. For instance:
+\cs{\kl} (or \kl{"..."} if \kl(option){quotation} is activated) when it is used. For instance:
\begin{code}[12cm]
\cs\AP{}
A \cs\intro\{semigroup\} is an ordered pair \verb|$(S,\cdot)$| where \verb|$\cdot$| is an
@@ -919,7 +975,7 @@
with a neutral element~$1$.
\end{PDFoutput}
\knowledgeconfigure{visible anchor points=false}%
-\kl{Undefined knowledges} are in brown (it is an important feature that the compilation does not fail: undefined knowledges should not interfere with the writing of the document, which is the purpose of all this).
+\kl{Undefined knowledges} are in brown (it is an important feature that the compilation does not fail: undefined knowledges should not interfere with the writing of the document, which is the main activity of the writer).
One can now see the list of such problems in the file `\kl{filename.diagnose}'.
One can in particular find in the "`Undefined knowledges' section":
\begin{verbatim}
@@ -947,25 +1003,52 @@
\end{PDFoutput}
\knowledgeconfigure{visible anchor points=false}%
%
-Clicking on `semigroup' now jumps to the place it was introduced, and very precisely at the
+Clicking on `semigroup' now jumps to the place where it was introduced, and very precisely at the
location of the red corner depicting the presence of the \cs{\AP}-command.
-If now one adds the option \kl{electronic} while loading the package, then the colors and the red corner disappear. When using the option \kl{paper}, the links are still there, but all texts are in black.
+If now one adds the option \kl{electronic} while loading the package, then the red corners disappear as well as the brownish undefined knowledges which become black. When using the option \kl{paper}, the links are still there, but all texts are in black.
\AP
It is very often the case that for plain english (or other languages) some terms can be used in several forms; verbs can be conjugated; nouns can be plural, and so on.
-\marginpar{\hint{ The \kl[\knowledge directives]{directives} \kl{synonym} and "link=" can be also convenient.}}%
So usually the lines added to the file look more like:
\begin{code}[10.7cm]
\cs\knowledge\{semigroup\}[semigroups\vbar Semigroups]\{\kl{notion}\}\\
\cs\knowledge\{monoid\}[monoid\vbar Monoids]\{\kl{notion}\}
\end{code}
\noindent
-Now, using code like
+or, using the more readable "`\vbar'-notation":
+\begin{code}[10.7cm]
+\cs\knowledge\{\kl{notion}\}\\
+\indent~~~\klbn|~~semigroup\\
+\indent~~~\klbn|~~semigroups\\
+\indent~~~\klbn|~~Semigroups\\
+\cs\knowledge\{\kl{notion}\}\\
+\indent~~~\klbn|~~monoid\\
+\indent~~~\klbn|~~monoids\\
+\indent~~~\klbn|~~Monoids
+\end{code}
+Now, using a text like
\begin{code}[11cm]
-\kl"Monoids\kl" and \kl{"}semigroups\kl{"} play the same role from now.
+\kl"Monoids\kl" are simply \kl{"}semigroups\kl{"} in which\dots
\end{code}
\noindent will properly be linked to the definition of a semigroup and a monoid.
+Finally, in particular for large documents, it is good to have an "index". For this,
+one should load the package "makeidx@@package" before "knowledge@@package".
+Then use it normally: putting \cs{\makeindex} in the preamble and \cs{\printindex} at the end of the document. The \cs{knowledge} commands are not easily adapted:
+\begin{code}[10.7cm]
+\cs\knowledge\{"notion","index="semigroup\}\\
+\indent~~~\vbar~~semigroup\\
+\indent~~~\vbar~~semigroups\\
+\indent~~~\vbar~~Semigroups\\
+\cs\knowledge\{"notion","index="monoid\}\\
+\indent~~~\vbar~~monoid\\
+\indent~~~\vbar~~monoids\\
+\indent~~~\vbar~~Monoids
+\end{code}
+\noindent
+Now, the index (after running \texttt{makeidx}) contains all entries and references to the use of semigroups and monoids.
+
+See Section~\ref{subsection:makeidx option} for more details on making an index.
%
%\subsection{Managing an index}
%Though it is not its primary goal, without using its hyperlinking capabilities, the "knowledge@@package" offers convenient features for easily managing data for the construction of an index.
@@ -977,13 +1060,19 @@
\label{subsection:mathematics scenario}
The examples above show various techniques for using \kl{knowledges} for enhancing the information associated to terms. In fact, these techniques are not incompatible with mathematics. Imagine, for instance that you would like each time a macro \kl[@token]{\monoid} is met, to display $\mathcal M$, you would do for instance:
-\marginpar{\begin{hint} Defining new macros is best done using \cs{\newrobustcmd} (of the \texttt{etoolbox} package), rather than the usual \cs{\newcommand} of \LaTeX. This remark is general in \LaTeX{}, unless you have very specific reason to have your macro expandable. This is even more true when using "knowledge@@package"\end{hint}.}
+\marginpar{%
+ \begin{hint}
+ Defining new macros is best done using \cs{\newrobustcmd}
+ (of the "etoolbox@@package" package), rather than \cs{\newcommand} as usual in \LaTeX.
+ This remark is general independently of the use of "knowledge@@package"
+ \end{hint}.}
\begin{code}[7cm]
\cs\newrobustcmd\kl[@token]\monoid\{\cs\mathcal\ M\}
\end{code}\noindent
Imagine that furthermore, you would like to hyperlink to the definition of a monoid. A standard \cs{\kl} command does the job\footnote{It is highly advised to not use the "quotation notation" in math mode or macros.}:
\begin{code}[9cm]
-\cs\newrobustcmd\kl[@token]\monoid\{\cs\kl[monoid]\{\cs\mathcal\ M\}\}\\~
+\cs\newrobustcmd\kl[@token]\monoid\{\cs\kl
+monoid]\{\cs\mathcal\ M\}\}\\~
What is \$\kl[@token]\monoid\$ ?
\end{code}\noindent
\noindent
@@ -1049,19 +1138,20 @@
The options that can be used in the optional parameter of \cs{\usepackage} when loading the "knowledge@@package" package belong to the following classes:
\begin{compactdesc}
\itemAP[Writing mode] The "paper", "electronic" or "composition" modes are possible ("composition" is by default) (see Section~\ref{subsubsection:writing modes} for more details).
-These modes change several default rendering settings.
-\itemAP[Other packages] some of the options concern the loading and the use of other packages (\kl(package){hyperref}, \kl(package){xcolor}, \kl (package){makeidx}, \dots). This is explained in Section~\ref{subsubsection:packages-loading}.
+These modes change several rendering settings.
+\itemAP[Other packages] some of the options concern the loading and the use of other packages (\kl(package){hyperref}, \kl(package){xcolor}, \kl (package){makeidx}, \dots). Note that these package can also be loaded before "knowledge@@package". This is explained in Section~\ref{subsubsection:packages-loading}.
\itemAP[Configuration options] as used by the command \cs{\knowledgeconfigure} can be used when loading the package.
-\itemAP[Scoping] The \kl[scope option]{scope} "option@package option" makes the package aware at a fine level of the structure of the document (see Section~\ref{subsection:scoping} for explanations). This provides, for instance, the possibility to define pieces of "knowledge" that are attached to a section of the document.
+\itemAP[Scoping] The \kl[scope option]{scope} "option@package option" makes the package aware at a fine level of the structure of the document (see Section~\ref{subsection:scoping} for explanations). This provides, for instance, the possibility to define pieces of "knowledge" that are attached to a sections of the document.
+\itemAP[Other] The "no patch" option prevents the "knowledge@@package" to apply some patches that are convenient by default.
\end{compactdesc}
\subsubsection{Writing mode}
\label{subsubsection:writing modes}
-Other "package options" of "knowledge@@package" concern the ""writing modes"". There are three of them:
+There are three ""writing modes"" usable when loading the package "knowledge@@package":
\begin{itemize}
\itemAP In ""paper"" mode, the paper is rendered as for printing: in particular, no informative colors are visible. Hyperlinks are nevertheless present.
\itemAP In ""electronic"" mode, the document has some colors witnessing the existence of the links for the reader to know that clicking is available.
-\itemAP In ""composition"" mode, the document has colors helping the writing: "undefined knowledges" appear explicitly, "anchor points" are displayed, and so on.
+\itemAP In ""composition"" mode (the default), the document has colors helping the writing: "undefined knowledges" appear explicitly, "anchor points" are displayed, and so on.
\end{itemize}
Activating the modes is obtained either at load time using one of:\\
\begin{tabular}[t]{ll}
@@ -1073,15 +1163,15 @@
\begin{tabular}[t]{ll}
&\smallcode{\cs\def\cs\knowledgepackagemode\texttt\{\kl{paper}\texttt\}}
\end{tabular}\\
-The idea is that this can be used in automatic compilation scripts. For instance, launching in a terminal:\\
+The idea is that this can be used in automatic compilation scripts. For instance, using in a terminal:
\begin{code}[12cm]
\smallcode{\texttt{pdflatex} \quotesymbol\cs\def\cs\knowledgepackagemode%
\texttt\{\kl{electronic}\texttt\}\cs\input\texttt\{file.tex\texttt\}\quotesymbol}
\end{code}
-would result in compiling `\texttt{file.tex}' using "knowledge@@package" in
+\noindent would result in compiling `\texttt{file.tex}' using "knowledge@@package" in
"electronic mode".
-The following primitives are available in order to be mode-dependent:\\
+The following primitives are available to the user for "writing mode"-sensitive configuration:
\begin{code}[11.4cm]
\AP
\csintro\IfKnowledgePaperModeTF\texttt\{true code\texttt\}\texttt\{false code\texttt\}\\
@@ -1125,7 +1215,7 @@
\itemAP[\intro{active}] The package will be loaded, and all the capabilities that it triggers are activated.
This is the implicit meaning when nothing more is specified.
\item[\intro{inactive}] The package is not loaded, and no capabilities are activated (even if it had been loaded previously by another |\usepackage| command).
-\item[\intro{compatibility}] The package is not loaded. The directives it used do not cause any error, but have no effect.
+\item[\intro{compatibility}] The package is not loaded. The directives it uses do not cause any error, but have no effect.
\item[\intro{auto}] If the package was loaded before, then the associated capabilities are activated. This is the default behavior when the package is not named while loading.
\end{description}
Currently, the packages that can be loaded are:
@@ -1137,7 +1227,7 @@
\subsubsection{Configuring and \cs{\knowledgeconfigure}}
-Some part of the configuration can be done outside of the \cs{\usepackage} command that loads the "knowledge@@package" package. \AP This is done using the
+Some part of the configuration can be done outside of the \cs{\usepackage} command that loads the "knowledge@@package" package. This is done using the
\cs{\knowledgeconfigure} command:
\begin{center}
\smallcode{\csintro\knowledgeconfigure\{\kl{configuration directives}\}}
@@ -1147,22 +1237,29 @@
""Configuration directives"" consists of a comma separated list of elements that can take the following values:
\begin{description}
-\itemAP["diagnose line="] can be set to true or false. It activates or deactivates the line numbering in the "diagnose file". False is the default.
+\itemAP["diagnose bar="] (de)activates the "`\vbar'-notation" in the "diagnose file". True by default.
+\itemAP["diagnose help="] can be set to true or false. It activates or deactivates the help in the "diagnose file". True by default.
+\itemAP["diagnose line="] can be set to true or false. It activates or deactivates the line numbering in the "diagnose file". False by default.
\itemAP[\kl{fix hyperref twocolumn}] triggers a hack that solves a known problem that may occur when "hyperref@@package" is used in two-columns mode.
+\itemAP[\kl{label scope}] enables or disables the redefined \cs{\label} command, which helps automatically define scopes (default is~\textmd{true}).
\itemAP["notion@@option"] configures the "notion" "directive" which is a refined version of "autoref".
\itemAP["protect quotation="] is followed by a comma separated list of environments in which the "quotation notation" will be automatically deactivated (surrounded by braces if more than one item in the list).
\itemAP[\intro{protect link co} and \intro{unprotect link co}] starts and ends respectively a zone in which the "knowledge@@package" package do not create hyperlinks. These can be nested.
This is typically useful around, e.g. the table of contents.
\itemAP[\kl(option){quotation}] activates the "quotation notation", which allows to use \kl{"..."}, \kl{"...@..."} and \kl{"...@...@..."}
instead of \cs{\kl} commands and \kl{""...""}, \kl{""...@...""} and \kl{""...@...@...""} instead of the \cs{\intro} command.
-\itemAP[""strict""] is a Boolean option which, when activated turns some warnings (for instance when a knowledge is redefined) into errors.
-\itemAP[\kl{visible anchor points}] is an option that makes visible or invisible the \kl{anchor points} of the \cs{\AP} and \cs{\itemAP} commands.
+\itemAP[""strict""] is a Boolean option which, when activated, turns some warnings (for instance when a knowledge is redefined) into errors.
+\itemAP[\kl{visible anchor points}] is an option that makes visible or invisible the \kl{anchor points} of the \cs{\AP} and \cs{\itemAP} commands. Usually, this is automatically set to true when the "composition mode" is used (the default),
+and to false when the "paper mode" or the "electronic mode" are used.
\end{description}
-%\subsubsection{Other configuration}
+\subsubsection{Other configuration option}
-%Another option at loading is "scope@scope option": it is used for activating some macros for keeping track of the structure of the document. This is in particular helpful for making "knowledges" attached to specific parts of the document, or helping in the resolution of ambiguities. See Section~\ref{subsection:scoping} for more information on its use.
+\begin{itemize}
+\itemAP[""no patch""] deactivates some patches which otherwise are applied automatically.
+ Currently, the option \texttt{hidelinks} and \texttt{breaklinks} of the package \kl(package){hyperref} are automatically applied, unless "no patch" is used while loading the package. Without \texttt{hidelinks} the links in the document are surrounded by red or light blue boxes (it depends also on the pdf viewer): while this may be acceptable when links are seldom used, this becomes problematic in combination with the "knowledge@@package" package. Without \texttt{breaklinks}, links are not broken as normal text: this may corrupt the appearance of paragraphs, in particular in a multi column context.
+\end{itemize}
\subsection{What is a \kl{knowledge}?}
@@ -1190,50 +1287,64 @@
\subsubsection{General description of the \cs{\knowledge} command}
The key command for introducing knowledges is \cs{\knowledge}.
-The syntax is:
+There are two syntaxes. The standard one is:
\begin{center}
\smallcode{\csintro\knowledge\{\kl[\knowledge knowledge name]{knowledge name}\}%
- [\kl[\knowledge synonyms]{synonyms}]\{\kl[\knowledge directives]{directives}\}}
+ [\kl[\knowledge synonyms]{synonym 1}\vbar\kl[\knowledge synonyms]{synonym 2}\vbar\dots]\{\kl[\knowledge directives]{directives}\}}
\end{center}
-
\AP
-The \intro[\knowledge knowledge name]{knowledge name} is a string describing the knowledge. It may use any combination of symbols (well balanced with respect to brackets).
+The second one is the ""`\vbar'-notation""\footnote{%
+ This is a non-standard "LaTeX" syntax. The rule is that each knowledge appears in a distinguished line
+ that starts with some spaces and a `$\vbar$', and ends at the end of the line.
+ Detecting the end of the line requires to change the catcode of the end of line character; this is
+ not robust for being used in an argument or a macro.
+ }:
+\begin{code}[10cm]
+\csreintro\knowledge\{\kl[\knowledge directives]{directives}\}\\
+\indent~~~~\klbn|~\kl[\knowledge knowledge name]{knowledge name}@\kl[\knowledge optional scope]{optional scope}\\
+\indent~~~~\klbn|~\kl[\knowledge synonyms]{synonym 1}@\kl[\knowledge optional scope]{optional scope}\\
+\indent~~~~\klbn|~\kl[\knowledge synonyms]{synonym 2}@\kl[\knowledge optional scope]{optional scope}\\
+\indent~~~~~~~~$\cdots$
+\end{code}
+\AP
+The \intro[\knowledge knowledge name]{knowledge name} as well as the \intro[\knowledge synonyms]{synonyms} are plain text strings describing the knowledge. It may contain any combination of symbols, including accents or special characters as long as it well bracketted.
This string will be used to fetch the \kl{knowledge}. Note (and this is a standard \kl{tex} behavior) that several consecutive spaces is the same as one or a line feed.
-\AP The \intro[\knowledge synonyms]{synonyms} are \kl[\knowledge knowledge name]{knowledge names} given in a `\vbar' separated list. This is a
-shorthand for writing `\kl{link=}' \kl[\knowledge directives]{directives}. (Note that there is another way to define synonyms using the \kl{synonym} directive).
+\AP In the normal syntax, \reintro[\knowledge synonyms]{synonyms} are given in a `\vbar' separated list, while in the "`\vbar'-notation" each of them has to be in a distinct line. \AP In the "`\vbar'-notation", an \intro[\knowledge optional scope]{optional scope} can be given after each \kl[\knowledge knowledge name]{knowledge name}/\kl[\knowledge synonyms]{synonym}.
+
+%This is a
+%shorthand for writing `\kl{link=}' \kl[\knowledge directives]{directives}. (Note that there is another way to %define synonyms using the \kl{synonym} directive).
\AP
The \intro[\knowledge directives]{directives} consists of `key=value' statements in a comma separated list.
-There are many \kl[\knowledge directives]{directives}. A list can be found in Section~\ref{subsection:directive list}. New ones can be defined using the \cs{\knowledgedirective} command.
+There are many \kl[\knowledge directives]{directives}. A list of them can be found in Section~\ref{subsection:directive list}. New ones can be defined using the \cs{\knowledgedirective} command.
\AP
The principle of the \cs{\knowledge} command is to introduce a new \kl{knowledge}, ready for being used.
However, what it does exactly depends a lot on the situations.
-First, the \kl[\knowledge directives]{directives} (a comma separated list of `key=value' commands) are parsed, and from it, the namespace and scope of the knowledge are determined, and it is decided if it will be executed immediately or postponed to the next compilation phase.
-Only then, either the \kl{knowledge} is written in the \kl{kaux file} for execution during the next compilation phase, or it is executed immediately.
-Finally, \kl[\knowledge synonyms]{synonyms} are parsed and linked to the \kl{knowledge}.
+First, the \kl[\knowledge directives]{directives} (a comma separated list of `key=value' commands) are parsed, and from it, the namespace and "scope" of the knowledge are determined, and it is decided if it will be defined immediately or postponed to the next compilation phase (using the \kl{kaux file}).
\subsubsection{Targeting and the corresponding directives}
The \cs{\knowledge} has to decide what to do when defining something. The basic behaviour is as follows.
\begin{itemize}
\item If the \cs{\knowledge} command is used in the preamble, then the \kl{knowledge} given as argument is defined immediately (the same effect can be obtained using the \kl{now} "directive"), and is accessible in the first compilation phase everywhere in the document (one extra phase is nevertheless required if \kl{autoref} or \kl{ref=} directives are used, for the "hyperref@@package" to do its job, or if "scope=" is used). This is the simplest way to use \cs\knowledge.
-\item Import/Export (\kl{not implemented}) writes a document containing a list of \cs{\knowledge} commands giving access to its content. This is to be imported by another document.
\item Otherwise, the \kl{knowledge} is written in an external file (the \kl{jobname.kaux} file), and the \kl{knowledge} will be really usable in the next compilation phase. This is particularly useful in conjunction with the \kl{scope option}: the \kl{knowledge} will have a scope depending on where it is introduced (for instance the document, or a theorem, or a lemma). The same \kl{knowledge name} can then point to different \kl{knowledges} depending on where it is used.
+\item Exporting (\kl{not implemented}) furthermore writes a document containing a list of \cs{\knowledge} commands giving access to its content. This is to be imported by another document.
\end{itemize}
The \intro{targeting directives} refine the above defined behaviour:
\begin{description}
-\itemAP[\intro{scope=}] When using a \kl[\knowledge directives]{directive} `\kl{scope=}name', the scope of the definition can be modified.
- \cs{\knowledge} will first check if there is an outer \kl{area} of this name, that accepts knowledge (only
+\itemAP[\intro{scope=} or `@' in the "`\vbar'-notation"] When using a \kl[\knowledge directives]{directive} `\kl{scope=}name' or `@name' in the "`\vbar'-notation", the scope of the definition can be modified.
+ \cs{\knowledge} will first check if there is an outer \kl{area} of this name (\texttt{theorem}, \texttt{section}, \dots), that accepts knowledge (only
"scope@@env" environments are subject to this unless \cs{\knowledgeconfigureenvironment} is used, or
the "scope@@option" "package option" is used when loading the package).
If this is the case, the knowledge will be associated to the corresponding \kl{instance}. For instance, inside a theorem, by default, the scope is the theorem, but adding the directive `\kl{scope=}section', the \kl{knowledge} becomes available in the whole section.
-If no scope is found using the above search, a label of the given name is searched for, and if it exists, the corresponding scope is chosen.
-\itemAP[\intro{export=}] (\kl{not implemented}) When using this directive, the knowledge will be (furthermore) written in another file, ready for being used in another document. In particular, the knowledge (in the other document) will point to the present one. The details on how this is supposed to work is to be specified.
+If no scope is found using the above search, an "explicit scope" of the given name is used.
+
+\itemAP[\intro{export=}] (\kl{not implemented}) When using this directive, the knowledge will be (furthermore) written to another file, ready for being used in another document. In particular, the knowledge (in the other document) will point to the present one. The details on how this is supposed to work is to be specified.
\itemAP[\intro{namespace=}] Allows to change the \kl{namespace}. In itself, this is useless. It has to be used in conjunction with new forms of \cs\kl-like commands.
\itemAP[\intro{now}] requires the \kl{knowledge} to be defined immediately. This may save one compilation phase. The drawback is that the \kl{knowledge} cannot be accessed before the \cs{\knowledge} command that has been introduced. It may help for modularity considerations. (for instance a \kl{knowledge}
-is used inside a proof, it has no sense to make it available elsewhere, and it is better style to locally define it).
+is used inside a proof, it makes no sense to make it available elsewhere, and it is better style to locally define it). This is implicit if the \cs{\knowledge} command happens in the preamble.
\itemAP[\intro{also now}] requires the \kl{knowledge} to be defined immediately as well as delayed to the next compilation phase. This is in particular how "auto references@autoref" should be handled. See the use of \cs{\knowledgenewvariant} for more examples.
\end{description}
@@ -1247,7 +1358,7 @@
The general boolean \kl[\knowledge directives]{directives} are the following:
\begin{description}
\itemAP[\intro{emphasize}] forces the text to be emphasized using `\cs{\emph}',
-\itemAP[\intro{italic}/\intro{up}] forces/unforces italic (be it in math or text mode),
+\itemAP[\intro{italic}/\intro{up}] forces/unforces italic ("up" does nothing in math mode),
\itemAP[\intro{boldface}/\intro{md}] forces/unforces boldface (be it in math or text mode),
\itemAP[\intro{smallcaps}] forces small capitals,
\itemAP[\intro{underline}] forces the text to be emphasized using `\cs{\underline}',
@@ -1278,7 +1389,7 @@
\AP The non-boolean general \kl[\knowledge directives]{directives} are the following:
\begin{compactdesc}
\itemAP[\intro{text=}\textmd{\{text\}}] will execute the \LaTeX{} code `text' instead of the key used for calling \cs\kl. For instance,
- \smallcode{\cs\knowledge \{latex\}\{\kl{text=}\cs{\LaTeX}\}} will typeset `\LaTeX{}' properly when used. Surrounding braces can be omitted if there are no commas. Be careful when linking to such knowledges, since the substitution of meaning will happen for all the knowledges linking to it.
+ \smallcode{\cs\knowledge \{latex\}\{\kl{text=}\cs{\LaTeX}\}} will typeset `\LaTeX{}' properly when used. Surrounding braces can be omitted if there are no commas. Be careful when linking to such knowledges, since the substitution of meaning will happen for all the knowledges linking to it, and this may not be the expected behaviour.
\itemAP[\intro{link=}\textmd{\{knowledge\}}] will continue searching the for linked \kl{knowledge}. Surrounding braces can be omitted if there are no commas.
This directive is often bypassed by the use of the \kl[\knowledge optional argument]{optional argument} of \cs{\knowledge} defining synonyms or the \kl{synonym} directive.
\itemAP[\intro{link scope=}\textmd{\{label\}}] will continue searching in the "scope" identified by the label. Surrounding braces can be omitted if there are no commas. If no "directive" "link=" is given, then the same key is searched for.
@@ -1286,11 +1397,12 @@
This directive is often bypassed by the use of the \kl[\knowledge optional argument]{optional argument} of \cs{\knowledge} defining synonyms or the \kl{synonym} directive.
\itemAP[\intro{synonym}] defines the knowledge as a link to the previously defined knowledge (in fact, the most recently defined that was not using \kl{synonym}). For instance
\begin{code}[11cm]
-\cs\knowledge\{Leslie Lamport\}\par
-~~~~~\{\kl{ref=}\{https://fr.wikipedia.org/wiki/Leslie\_Lamport\}\}\\
+\cs\knowledge\{Leslie Lamport\}\\
+\indent~~~~~\{\kl{ref=}\{https://fr.wikipedia.org/wiki/Leslie\_Lamport\}\}\\
\cs\knowledge\{L. Lamport\}\{\kl{synonym}\}\\
\cs\knowledge\{Lamport\}\{\kl{synonym}\}
-\end{code}\noindent
+\end{code}
+\noindent
results in the two subsequent \kl{knowledge names} to point to the first one.
\itemAP[\intro{style=}\textmd{\{knowledge style\}}] will adopt the styling option of the \kl{knowledge style}. Surrounding braces can be omitted if there are no commas.
\itemAP[\intro{wrap=}\textmd{\robustdisplay\token}] will execute the macro `\textmd{\robustdisplay\token}' with as argument the knowledge text before displaying it. For instance,
@@ -1311,7 +1423,7 @@
\begin{center}
\smallcode{\csintro{\knowledgestyle}*\{style name\}\{\kl[\knowledge directives]{directives}\}}
\end{center}
-The optional star permits to overload an existing style (otherwise, this results in an error). The \kl[\knowledge directives]{directives} follow the same structure as for a normal \cs{\knowledge}
+The optional star \texttt* permits to overload an existing style (otherwise, this results in an error). The \kl[\knowledge directives]{directives} follow the same structure as for a normal \cs{\knowledge}
command. When defined, a \kl{style} can be used in a \cs{\knowledge}
command using the \kl[\knowledge directives]{directives} `\kl{style=}style name' (it will be used when a \cs{\kl} command calls for the \kl{knowledge}) or `\kl{intro style=}style name' (that will be used by \cs{\intro} commands).
@@ -1335,10 +1447,10 @@
sequence of directives are used. \intro{Macro directives} are here for simplifying this situation (see also \cs{\knowledgedefault} and \cs{\knowledgestyle}). This is achieved using the \cs{\knowledgedirective} directive:
\marginpar{\begin{hint} This should not be confused with \kl{styles} which offer another way to control the display.\end{hint}}
\begin{center}
- \smallcode{\csintro{\knowledgedirective}\{name\}[optional parameter]\{directives\}}
+ \smallcode{\csintro{\knowledgedirective}*\{name\}[optional parameter]\{directives\}}
\end{center}
After such a command has been issued, `name' becomes a \kl[\knowledge directives]{directive}
-usable in \cs{\knowledge} commands, that amounts to execute the comma separated list `directives'. The newly created \kl[\knowledge directives]{directive} may receive a value, that is accessible as \texttt{\#1} in `directives'. The `optional parameter' gives
+usable in \cs{\knowledge} commands, that amounts to execute the comma separated list `directives'. The newly created \kl[\knowledge directives]{directive} may receive a value, that is accessible as \texttt{\#1} in `directives'. By default, it does not allow the redefinition of a directive. This can be forced using the optional \texttt*. The `optional parameter' gives
a default value. For instance:
\begin{code}
\cs\knowledgedirective\{highlight\}[brown]\{\kl{color=}\{\#1\},\kl{emphasize},\kl{md}\}\\{}
@@ -1364,12 +1476,14 @@
\subsubsection{\cs{\knowledgestyle} versus \cs{\knowledgedirective}}
\label{subsubsection:style versus macro}
+\AP
The two commands \cs{\knowledgestyle} and \cs{\knowledgedirective}
offer ways to systematize the writing of knowledges. These can seem redundant.
This is not the case, and for understanding it, it is necessary to understand a bit the way the \cs{\knowledge} command works.
+\AP
In general when a \cs{\knowledge} (or \cs{\knowledgestyle}) command is found, the \kl[\knowledge directives]{directives} are parsed and a new internal form of the \cs{\knowledge} command is written in the \kl{kaux file}, that will be executed during the next compilation of the document.
-In this phase, some first operations are performed. For instance, in an \kl{autoref} \kl[\knowledge directives]{directive}, an internal label name is constructed. Executing a \kl{knowledge macro} is done at this moment.
+In this phase, some first operations are performed. For instance, in an \kl{autoref} \kl[\knowledge directives]{directive}, an internal label name is constructed.
The postponed command is then executed during the next compilation phase (or immediately if we are in the preamble, or if the \kl{now} directive is used). The execution effectively stores the \kl{knowledge} in the system. This is only at that moment that the \kl{knowledge} becomes available to be used by \cs{\kl} and similar commands.
@@ -1409,9 +1523,9 @@
The \cs{\kl} command has one of the following syntaxes:
\begin{center}
\begin{tabular}{cc}
-&\smallcode{\csintro{\kl}(\kl[klab]{optional label})[\kl[knowledge name]{optional knowledge name}]\{text\}}\\
+&\smallcode{\csintro{\kl}(\kl[klab]{optional scope})[\kl[knowledge name]{optional knowledge name}]\{text\}}\\
or\quad&
-\smallcode{\csreintro{\kl}[\kl[knowledge name]{optional knowledge name}](\kl[klab]{optional label})\{text\}}\ .
+\smallcode{\csreintro{\kl}[\kl[knowledge name]{optional knowledge name}](\kl[klab]{optional scope})\{text\}}\ .
\end{tabular}
\end{center}
Its meaning is to search for the `optional knowledge name' if present, or for `text' otherwise. How this is exactly performed depends on the presence of the \kl[klab]{optional label}.
@@ -1436,25 +1550,26 @@
When activated, the ""quotation@@option"" mode activates shorthand
notations for the \cs{\kl} and \cs{\intro} macros. Possible syntaxes are as follows:
\begin{description}
-\itemAP[\smallcode{\kl"text\kl"}]\phantomintro{"..."}%
+\itemAP[\smallcode{\klqn"text\klqn"}]\phantomintro{"..."}%
uses the "knowledge" pointed to by `text'. Equivalent to~\texttt{\cs\kl\{text\}}.
-\itemAP[\smallcode{\kl"text@knowledge\kl"}]\phantomintro{"...@..."}%
+\itemAP[\smallcode{\klqn"text\klqn@knowledge\klqn"}]\phantomintro{"...@..."}%
uses the "knowledge" pointed to by `knowledge to display `text'. Equivalent to~\texttt{\cs\kl[knowledge]\{text\}}.
-\itemAP[\smallcode{\kl"text@@label\kl"}]\phantomintro{"...@@..."}%
- uses the "knowledge" pointed to by `text' in "scope" `scope' to display `text'. Equivalent to~\texttt{\cs\kl(label)\{text\}}.
-\itemAP[\smallcode{\kl"text@knowledge@label\kl"}]\phantomintro{"...@...@..."}%
- uses the "knowledge" pointed to by `knowledge in "scope" `scope' to display `text'. Equivalent to~\texttt{\cs\kl[knowledge](label)\{text\}}.
-\itemAP[\smallcode{\kl{""}text\kl{""}}]\phantomintro{""...""}%
+\itemAP[\smallcode{\klqn"text\klqn{@@}scope\klqn"}]\phantomintro{"...@@..."}%
+ uses the "knowledge" pointed to by `text' in "scope" `scope' to display `text'. Equivalent to~\texttt{\cs\kl(scope)\{text\}}.
+\itemAP[\smallcode{\klqn"text\klqn@knowledge\klqn@scope\klqn"}]\phantomintro{"...@...@..."}%
+ uses the "knowledge" pointed to by `knowledge in "scope" `scope' to display `text'. Equivalent to~\texttt{\cs\kl[knowledge](scope)\{text\}}.
+\itemAP[\smallcode{\klqn{""}text\klqn{""}}]\phantomintro{""...""}%
introduces the "knowledge" pointed to by `text'. Equivalent to~\texttt{\cs\intro\{text\}}.
-\itemAP[\smallcode{\kl{""}text@knowledge\kl{""}}]\phantomintro{""...@...""}%
+\itemAP[\smallcode{\klqn{""}text\klqn@knowledge\klqn{""}}]\phantomintro{""...@...""}%
introduces the "knowledge" pointed to by `knowledge while displaying `text'. Equivalent to~\texttt{\cs\intro[knowledge]\{text\}}.
-\itemAP[\smallcode{\kl{""}text@@label\kl{""}}]\phantomintro{""...@@...""}%
- introduces the "knowledge" pointed by `text' in "scope" `scope'. Equivalent to~\texttt{\cs\intro(label)\{text\}}.
-\itemAP[\smallcode{\kl{""}text@knowledge@label\kl{""}}]\phantomintro{""...@...@...""}%
- introduces the "knowledge" pointed to by `knowledge in "scope" `scope' while displaying `text'. Equivalent to~\texttt{\cs\intro[knowledge](label)\{text\}}.
+\itemAP[\smallcode{\klqn{""}text\klqn{@@}scope\klqn{""}}]\phantomintro{""...@@...""}%
+ introduces the "knowledge" pointed by `text' in "scope" `scope'. Equivalent to~\texttt{\cs\intro(scope)\{text\}}.
+\itemAP[\smallcode{\klqn{""}text\klqn@knowledge\klqn@scope\klqn{""}}]\phantomintro{""...@...@...""}%
+ introduces the "knowledge" pointed to by `knowledge in "scope" `scope' while displaying `text'.\\
+ Equivalent to~\texttt{\cs\intro[knowledge](scope)\{text\}}.
\end{description}
-\noindent\AP Activating and deactivating the "quotation notation" is obtained using:
+\noindent\AP Activating the "quotation notation" is obtained using:
\begin{center}
\smallcode{\cs\knowledgeconfigure\{"quotation@@option"\}}\ ,
\end{center}
@@ -1488,8 +1603,8 @@
\item several sets of "knowledges" may intersect but should use different "namespace",
\item some "knowledges" involve macros and for this reason should be non-expanded even if the \cs{\knowledge}
command is not met,
-\item the \cs{\knowledge} command should be performed automatically,
-\item activate or desactivate the warnings or messages in the "diagnose file".
+\item the \cs{\knowledge} command should be called implicitly,
+\item activate or deactivate the warnings or messages in the "diagnose file".
\end{itemize}
In fact, several macros in this document are instantiation of this mechanism. This is the case for for instance for \cs{\intro}, \cs{\phantomintro}, \cs{\reintro} or \cs{\mathkl} etc...
@@ -1520,14 +1635,14 @@
\end{compactdesc}
\smallskip
-\AP The second feature is to use "modifiers@@variant". These correspond to the starred version of the command.
+\AP The second feature is to use "modifiers@@variant". These correspond to the stared version of the command.
For instance, one expects `\cs{\intro}*\cs{\kl}' to reduce to `\cs{\intro}'. For this, one has to declare explicitly the reduction using:
\begin{center}
-\smallcode{\csintro{\knowledgevariantmodifier}\{"starred sequence@@variant"\}\cs\variant}\ ,
-\end{center}
-in which the "starred sequence@@variant" is of the form `\cs{variant1}*\cs{variant2}*\dots*\cs{variantk}'.
+\smallcode{\csintro{\knowledgevariantmodifier}\{"stared sequence@@variant"\}\cs\variant}\ ,
+\end{center}\AP
+in which the ""stared sequence@@variant"" is of the form `\cs{variant1}*\cs{variant2}*\dots*\cs{variantk}'.
This sequence is declared to reduce to \cs{\variant}.
-For instance, \smallcode{\cs{\knowledgevariantmodifier}\{\cs\intro*\cs\kl\}\cs\intro} declares `\cs{\intro}*\cs{\kl}' to reduce to `\cs{\intro}'.
+For instance, \smallcode{\cs{\knowledgevariantmodifier}\{\cs{\intro*}\cs\kl\}\cs\intro} declares `\cs{\intro}*\cs{\kl}' to reduce to `\cs{\intro}'.
\subsubsection{Examples of \kl{variants of \cs{\kl}}}
@@ -1555,7 +1670,7 @@
~~~~"unknown style cont=@@variant" "intro unknown cont@@style",\par
~~~~"style directive=@@variant" "intro style@intro style="\par
\}\par
-\cs\knowledgevariantmodifier\{\cs\intro*\cs\kl\}\cs\intro
+\cs\knowledgevariantmodifier\{\cs{\intro*}\cs\kl\}\cs\intro
\end{code}
Note that \cs{\reintro} and \cs{\phantomintro} are defined using similar code.
@@ -1597,7 +1712,7 @@
~~~~"unknown style=@@variant"csintro unknown,\par
~~~~"unknown style cont=@@variant"csintro unknown,\par
\}\par
-\cs\knowledgevariantmodifier\{\cs\intro*\cs\cs\}\cs\csintro\par
+\cs\knowledgevariantmodifier\{\cs{\intro*}\cs\cs\}\cs\csintro\par
\cs\knowledgevariantmodifier\{\cs\csintro*\cs\cs\}\cs\csintro\par
\cs\knowledgevariantmodifier\{\cs\cs*\cs\kl\}\cs\cs\par
\cs\knowledgevariantmodifier\{\cs\csintro*\cs\kl\}\cs\csintro
@@ -1619,14 +1734,115 @@
\label{section:scopes}\label{subsection:scoping}
\phantomintro{scoping}
-Rapidly, when long documents are in construction, one wants \kl{knowledges} to be isolated in some subparts. For instance, one may want that a temporary definition in a proof to not leak elsewhere in the document where the same term could be used with a different meaning. Some definitions may be only meaningful in, say, the current section/part. This is in particular true when one aims to track single variables: Clearly, a variable named $x$ can occur in several lemmas, but each of them correspond to a distinct `introduction' location. For handling this situation, the "knowledge@@package" package possesses some scoping features.
+\subsubsection{Principles of scoping}
+
+When writing long documents, one often wants \kl{knowledges} to be isolated in some subparts. For instance, one may want a temporary definition in a proof to not leak elsewhere in the document where the same term could be used with a different meaning. Some definitions may be only meaningful in, say, the current section/part.
+
+Two separate things have to be understood: how to define "knowledge" in a given "scope" (and create "scopes"), and how to access "knowledge" from a given "scope".
+
+\paragraph{Accessing knowledge attached to a given scope}
+This can be done directly either using the parenthesis notations of \cs{\kl} and the second \klqn@ of
+the "quotation notation":
+\begin{center}
+\begin{tabular}{ccc}
+ \smallcode{\cs\kl(scope name)\{knowledge\}}%
+ &~or~&%
+ \smallcode{\cs\kl(scope name)[knowledge]\{displayed text\}}\\
+ \smallcode{\klqn"knowledge\klqn{@@}scope\klqn"}%
+ &~or~&%
+ \smallcode{\klqn"displayed text\klqn@knowledge\klqn@scope\klqn"}
+ \end{tabular}
+\end{center}
+It works also for \cs{\intro} and with double quotes.
+
+Another option is to import the scope locally, using:
+\begin{code}[10cm]
+\cs\knowledgeimport\{\textit{scope name 1,scope name 2,}\dots\}
+\end{code}
+After this command, the knowledges will be searched automatically in the imported scopes.
+The import stops at the end of the current scoping environment.
+
+\paragraph{Attaching knowledge to a given scope}
+This can be done directly using the "scope=" "directive", for instance in:
+\begin{code}[12cm]
+\cs\knowledge\{knowledge\}\{"scope="\textit{scope name},\textit{directives}\}
+\end{code}
+\noindent
+or, this is obtained usint the "`\vbar'-notation" using `\klbn@'~:
+ \begin{code}[8cm]
+ \cs\knowledge\{\textit{directives}\}\\
+ \indent~~~\klbn|~~knowledge\klbn@\textit{scope name 1}\\
+ \indent~~~\klbn|~~synonym\klbn@\textit{scope name 2}\\
+ \indent~~~$\vdots$~~~~~~~~~~~~$\vdots$
+ \end{code}
+
+\AP
+The other possibility is to define a knowledge inside a "scope@@env" environment:
+\begin{code}[8cm]
+\cs\begin\{"scope@@env"\}\cs\label\{label\}\\
+\indent\quad\cs\knowledge\{knowledge 1\}\{\textit{directives}\}\\
+\indent\qquad$\vdots$\\
+\cs\end\{"scope@@env"\}
+\end{code}
+\noindent
+In such a code, the knowledge defined is automatically visible in the environment,
+and from outside, using the scope name \texttt{label}. Indeed, the \cs{\label} is overloaded for doing automatically a \cs{\knowledgescope} command.
+
+In fact, it is possible to do even more: other environments can be defined to behave like "scope@@env".
+
+
+\subsubsection{Scoping by examples}
-Note that the use of "scopes" may overconstrain the latex code, in particular if the "scope@@option" is used. The result is that a code that was compiling before activating the option, will not after doing it. This may happen for instance if one uses a \cs{\section} command inside a
-a \cs{theorem} environment. Of course, though this is not forbidden by "latex", this is not something that one usually wants to do. At any rate, the scope handling of the "knowledge@@package" package --- at least in its current form --- complains in such a situation. Indeed, it attempts to reconstruct a full hierarchically decomposed version of the document. In the above example, when the \cs{\section} command is met, the package attempts to close the outer section, but this would force the theorem also to be closed. However, closing a theorem requires an \cs{\end} command. Error...
+""Explicit scoping"" consists in attaching a precise scope name to a "knowledge" using the "scope=" "directive":
+\begin{code}
+\cs\knowledge\{thing\}\{"scope="s1,"color="red\}\\
+\cs\knowledge\{thing\}\{"scope="s2,"color="green\}\\
+\\
+Here, \klqn"thing\klqn" and \cs\kl\{thing\} are unknown.\\
+But \klqn"thing\klqn{@@}s1\klqn" and \cs\kl(s1)\{thing\} are in red,\\
+and \klqn"thing\klqn{@@}s2\klqn" and \cs\kl(s2)\{thing\} are in green.
+\end{code}
+The "`\vbar'-notation" can also be used for "explicit scoping".
+This is convenient, in particular for having synonyms in different scopes:
+\begin{code}
+\cs\knowledge\{"color="red\}\\
+\indent~~\klbn|~~abelian group\\
+\indent~~\klbn|~~abelian groups\\
+\indent~~\klbn|~~Abelian groups\\
+\indent~~\klbn|~~group\klbn@abelian\\
+\indent~~\klbn|~~groups\klbn@abelian\\
+\indent~~\klbn|~~Groups\klbn@abelian\\
+
+Here, general \klqn"groups\klqn" are not defined but \klqn"groups\klqn{@@}abelian\klqn" are,\\
+and correspond to \klqn"abelian groups\klqn".\\
+\cs\begin\{"scope@@env"\}\cs\knowledgeimport\{abelian\}\\
+\indent~~Her, all \klqn"groups\klqn" here are abelian.\\
+\cs\end\{"scope@@env"\}
+\end{code}
+
+
+"Scopes" can also be attached to areas in the code. It is convenient to use the usual \cs{\label} command to name them (though a priori two different spaces of naming are used).
+\begin{code}
+\textcolor{gray}{\% We declare first in the preamble the environments that can have}\\
+\textcolor{gray}{\% knowledges attached to them.}\\
+\cs\knowledgeconfigureenvironment\{theorem,lemma,proof\}\{\}\\
+\\
+\textcolor{gray}{\% and now in the main body of the document.}\\
+\cs{\begin}\{theorem\}\cs\label\{theorem:main\}\\
+\indent~~ \cs\knowledge\{rabbit\}[rabbits]\{notion\}\\
+\indent~~ In every hat, there is a \cs\kl\{rabbit\},\\
+\indent~~ \cs\AP~in which a \cs\intro\{rabbit\} is a small animal with long ears.\\
+\cs{\end}\{theorem\}\\
+Here a \kl"rabbit\kl" is an "unknown knowledge".\\
+But \kl{"}rabbits\kl[quotation notation]{@@}theorem:main\kl{"} point to Theorem~\cs\ref\{theorem:main\}.\\
+\cs\begin\{proof\}\cs\knowledgeimport\{theorem:main\}\\
+\indent~~ Now, \kl"rabbit\kl" is hyperlinked to Theorem~\cs\ref\{theorem:main\}.
+\cs\end\{proof\}
+\end{code}
\subsubsection{What is the structure of \kl{scopes} in a document}
-To start with, one needs to understand what are the possible \kl{scopes}.
+To start with, one needs to understand what are the possible \kl{scopes}. Scopes are aggregation of zones in the document.
\begin{itemize}
\itemAP By default, all the body of the document belongs to a \kl{scope} called `\texttt{document}'.
The user can open new scopes using the \intro(env){scope} environment:
@@ -1635,14 +1851,14 @@
~~\cs\knowledge\{local notion\}\{\kl{color=}green\}\par
~~Here is a \cs\kl\{local notion\} that appears in green.\par
\cs\end\{\kl(env){scope}\}\\
- But this \cs\kl\{local notion\} is undefined.
+ But here the \cs\kl\{local notion\} is undefined.
\end{code}
Note that scoping is independent from the grouping mechanism of \LaTeX.
- \AP The user can also declare an environment (existing or to exist)
- to behave like \kl(env){scope} using the
- command \cs{\knowledgeconfigureenvironment}.
- \itemAP The use of the ""scope@scope option"" \kl{configuration option} reconstructs the structure of the document, and \kl{scopes} will be created for sections, subsections, itemize, items, and so on. But be cautious, this feature, though working, may cause some compiling document to not compile anymore if some weird (and unnatural) nesting of scopes are used.
+ \AP The user can also declare environments such as \texttt{lemma}, \texttt{theorem},
+ \texttt{remark} or \texttt{proof} to behave like \kl(env){scope}. This is achieved using using
+ \cs{\knowledgeconfigureenvironment} command.
+ \itemAP The use of the ""scope@scope option"" \kl{configuration option} goes one step further, and attaches "scopes" to sections, subsections, itemize, items, and so on. But be cautious, this feature, though working, may cause some compiling document to not compile anymore if some weird (and unnatural) nesting of scopes are used (this is the case for instance when using \cs{\bibitem} and \cs{\thebibliography}, and this has to be corrected by hand).
\end{itemize}
\subsubsection{How is chosen the \kl{scope} of a \kl{knowledge}?}
@@ -1660,8 +1876,8 @@
\cs\knowledge\{one\}\{\kl{scope=}section,\kl{color=}green\}\par\noindent
\cs\knowledge\{two\}\{\kl{scope=}some label,\kl{color=}green\}\par\noindent
~\par\noindent
- \cs\begin\{\kl(env){scope}\}\cs\label\{some label\}\par\noindent
- ~~Here \cs\kl\{one\} and \cs\kl\{two\} are defined.\par\noindent
+ \cs\begin\{\kl(env){scope}\}\cs\label\{some label\}\\
+ \indent~~Here \cs\kl\{one\} and \cs\kl\{two\} are defined.\\
\cs\end\{\kl(env){scope}\}\par\noindent
Here \cs\kl\{one\} is defined but \cs\kl\{two\} isn't.\par\noindent
~\par\noindent
@@ -1672,9 +1888,32 @@
\end{code}
\end{itemize}
-\subsubsection{Accessing other scopes, the \cs{\knowledgeimport} command}
+\subsubsection{Naming "scopes": the \cs{\knowledgeimport}, \cs{\knowledgescope} and \cs{label} commands
+}
+
+It is often the case in a text, that one has to locally break the nesting structure of a document, and refer to a object local in an environment. For instance, a comment may refer to a variables/concept that has been locally used in the proof. The "knowledge@@package" provides suitable mechanisms for complex referencing of scopes. Let us explain this through an example:
+\begin{code}
+\textcolor{gray}{\% We declare first in the preamble the environments that use knowledge.}\\
+\cs\knowledgeconfigureenvironment\{definition\}\{knowledge=attracts\}\par\indent
+{[...]}\\
+\indent
+\cs\begin\{definition\}\cs\label\{somewhere\}\\
+\indent~~\cs\knowledge\{something\}\{notion\}\\
+\indent~~Here, \cs\intro\{something\} is a notion internal to the definition.
+\cs\end\{definition\}
+\end{code}
+Note here that what is important is the location of the \cs\knowledge\ command, irrespective of the location ofthe \cs\intro\ command.
+
+\AP The \cs\label\ command is used to name the "scope". In fact, the real command is
+\begin{center}
+ \smallcode{\csintro\knowledgescope\{scope name\}}
+\end{center}\noindent
+which associates a scope name to the surrounding environment (providing it has been declared possible to do it using
+\cs\knowledgeconfigureenvironment).
+\AP
+The standard \LaTeX\ command \cs\label\ is overloaded and performs implicitly a call to \cs\knowledgescope\ (this behavior can be deactivated/reactivated using the ""label scope=""\texttt{\{true,false\}} directive). The result is that the same string of characters can be used in order to name the scope, and at the same time is used as a standard \LaTeX\ label.
-Something important is missing so far: one rapidly wants to access to \kl{knowledges} that do not exist in the current \kl{scope}. For instance, a notion is used in a section of a document, and one would like to refer to it in the introduction. Another case is that of a notion or a mathematic variable that is introduced in the statement of a theorem, and should be accessible inside the proof. There are essentially two ways to access such distance \kl{knowledges}: either use the \smallcode{\cs\kl(label)\{text\}} command (or the equivalent \smallcode{\kl{"...@...@..."}} notation), or use the \cs{\knowledgeimport} command. We describe the second possibility now. The syntax is:
+\AP Something important is missing so far: one rapidly wants to access to \kl{knowledges} that do not exist in the current \kl{scope}. For instance, a notion is used in a section of a document, and one would like to refer to it in the introduction. Another case is that of a notion or a mathematic variable that is introduced in the statement of a theorem, and should be accessible inside the proof. There are essentially two ways to access such distant \kl{knowledges}: either use the \smallcode{\cs\kl(label)\{text\}} command (or the equivalent \smallcode{\kl{"...@...@..."}} notation), or use the \cs{\knowledgeimport} command. We describe the second possibility now. The syntax is:
\begin{center}
\smallcode{\csintro\knowledgeimport\{label\}}
\end{center}
@@ -1699,6 +1938,7 @@
\end{code}
+
\subsubsection{Managing scoping environments}
\AP The user can also declare an environment
@@ -1725,9 +1965,9 @@
would.
\end{remark}
-\AP The ""scope directives"" are low level and advanced features. These should not be used in general. Their list is the following:
+\AP The ""scope directives"" are low level and advanced features. These should not be used in general. The list is the following:
\begin{compactdesc}
-\itemAP[\intro(area){scope=}\texttt{true/false}] tells whether an environment should induce a scope. For the moment, this is not used (as soon as configured, it always behave like a scope).
+\itemAP[\intro(area){scope=}\texttt{true/false}] tells whether an environment should induce a scope. For the moment, this is not used (as soon as configured, it always behaves like a scope).
\itemAP[\intro(area){label=}\texttt{none/accepts}] tells whether a \cs{\label} command can refer to an "instance" of this "area",
\itemAP[\intro(area){environment=}\texttt{true/false}] should be set to true if the scope has to be opened whenever an environment of same name is opened using the \cs{\begin} and \cs{\end} commands of "latex".
\itemAP[\intro(area){autoclose=}\texttt{true/false}] means that the closure is triggered by another event (closure of another enclosing instance, or pushing of an area that requires its closure). It should be true for "latex" environments, and false when configuring, e.g, \cs{\section} to open an "scope" (since the end of the section is automatic: when another section is opened, or some higher level sectioning command).
@@ -1754,16 +1994,28 @@
\subsection{The \kl{diagnose file}}
\label{subsection:diagnose file}
-The \intro{diagnose file} is a file that is created when the "knowledge@@package" package is used. It enormously eases the use of the package, and it is a good habit to sometimes check it. It gathers a certain number of informations, that can be warning, code to be used, or simply information. This file has the name of the tex document with the extension \kl{.diagnose}. Its content is divided into clearly identified parts. Depending on the used options, some of these parts may appear or disappear.
+The \intro{diagnose file} is a file that is created when the "knowledge@@package" package is used
+(note that another file, ""jobname.kaux"" is also created by the "knowledge@@package" package, for internal use). It enormously eases the use of the package, and it is important to look into it when finalizing a document. It gathers a certain number of informations, that can be warning, code to be used, or simply information. This file has the name of the tex document with the extension \kl{.diagnose}. Its content is divided into clearly identified parts. Depending on the used options, some of these parts may appear or disappear.
\begin{description}
-\itemAP[\intro{Undefined knowledges}] in this section are listed all the knowledges that have been unsuccessfully searched for. These are given in a line of code of the form \texttt{\cs{\knowledge}\{undefined knowledge\}\{\}}. One result of this way of describing is that copying the content of this section to the document itself will solve all problems of \kl{undefined knowledges}. It is an efficient way,
-when one has written a document without caring so much about knowledges to copy the content of this section, and then modify it/reorganize it, in order to suit ones purposes. By default, no suggestion is offered (i.e., the \texttt{\{\}} braces are empty). Suggestion can be automatically configured using the "suggestion=@@variant" "directive@@variant" of the macros \cs{\knowledgenewvariant} and \cs{\knowledgesetvariant}.
+\itemAP[\intro{Undefined knowledges}] in this section are listed all the knowledges that have been unsuccessfully searched for. These are given in lines either of the form
+ \begin{quote}
+ \texttt{\cs{\knowledge}\{\textit{suggested directives}\}\\
+ \indent~~~\klbn|~~undefined knowledge}\textit{[\klbn@scope]}\\
+ \indent~~~~~~~~~~~~~~\vdots
+ \end{quote}
+ or of the form
+ \begin{quote}
+ \texttt{\cs{\knowledge}\{undefined knowledge\}\{\textit{suggested directives}\}}
+ \end{quote}
+ \AP Switching from one mode to another is obtained using the "configuration directive" "diagnose bar="\{true,false\} (default is true).
+The intent is that copying the content of this section to the document itself will solve all problems of \kl{undefined knowledges}. It is an efficient way,
+when one has written a document without caring so much about knowledges to copy the content of this section, and then modify it/reorganize it, in order to suit ones purposes. By default, no suggestion is offered, or "notion" is suggested if the "notion@@option" directive has been used. Suggestion can be automatically configured using the "suggestion=@@variant" "directive@@variant" of the macros \cs{\knowledgenewvariant} and \cs{\knowledgesetvariant}.
For instance, using:
\begin{center}
\smallcode{\cs\knowledgesetvariant\cs\kl\{"notion"\}}
\end{center}
-the "directive" "notion" is suggested for more directly copying the content.
+the "directive" "notion@@option" is suggested for more directly copying the content.
\itemAP[\intro{Autoref not introduced}] This section lists all \kl{knowledges} that were declared using the \kl{autoref} \kl[\knowledge directives]{directive} (this can be the case indirectly using, e.g. "notion"), but have not been introduced in the document . When a document reaches its final states, this section should be empty.
Usually, one should add the corresponding \cs{\intro} or \cs{\phantomintro} command somewhere in the text.
\itemAP[\intro{Autoref introduced twice}] In this section, all \kl{knowledges} that were declared using the \kl{autoref} \kl[\knowledge directives]{directive} and introduced using \cs{\intro} or \cs{\nointro}
@@ -1776,6 +2028,11 @@
\begin{center}
\smallcode{\cs\knowledgeconfigure\{""diagnose line=""true\}}
\end{center}
+\AP By default, the "diagnose file" gives suggestions to be used with the normal \cs\knowledge\ syntax.
+A "`\vbar'-notation" suggestion can be activated using:
+\begin{center}
+\smallcode{\cs\knowledgeconfigure\{""diagnose bar=""true\}}
+\end{center}
\iffalse
@@ -1834,21 +2091,31 @@
\end{center}
\itemAP[\intro{colorbox=}] surrounds the text with a colorbox of given color (following the syntax of the "xcolor@@package" package).
\end{description}
-Loading the package before is necessary for changing the options of the "xcolor@@package" package (for instance for using \kl{svgnames}).
+Loading the package before is necessary for changing
+the options of the "xcolor@@package" package
+(for instance for using \kl{svgnames}).
\subsubsection{The \kl{hyperref option}}
\label{subsection:hyperref option}
\subsubsubsection{Activating the \kl{hyperref option}}
-The \intro{hyperref option} loads the \intro(package){hyperref} and triggers a certain number of link-related features. This is done either by the command:
-\marginpar{\begin{hint}
- The "hyperref@@package" tends to surround links by boxes that do not help (this are visible in some viewers, and not in some others): this is deactivated by the "knowledge@@package" package using the "hidelinks" option of "hyperref@@package".\end{hint}}
+The \intro{hyperref option} loads the \intro(package){hyperref}
+and triggers a certain number of link-related features.
+This is done either by the command:
+\marginpar{%
+ \begin{hint}
+ The "hyperref@@package" surrounds by default links by boxes that are graphically heavy
+ (this are visible in some viewers, and not in some others): this is automatically deactivated when loading
+ the "knowledge@@package" package. Such automatic behavior can ba avoided using the \kl{no patch}
+ option at loading.
+ \end{hint}}
+%
\begin{center}
-\smallcode{%
-\cs{\usepackage}[\kl(option){hyperref}]\{\kl(package){knowledge}\}}
-\end{center}\noindent
-or by loading the "hyperref@@package" before the "knowledge@@package" package.
+ \smallcode{%
+ \cs{\usepackage}[\kl(option){hyperref}]\{\kl(package){knowledge}\}}
+\end{center}
+\noindent or by loading the "hyperref@@package" before the "knowledge@@package" package.
The \kl[\knowledge directives]{directives} activated by the package are:
\begin{compactdesc}
@@ -1885,6 +2152,7 @@
than simply the \kl{autoref} directive. Its use it already configured. \end{hint}}
\phantomintro{""}
The \intro{autoref} \kl[\knowledge directives]{directive} is among the most useful offered by the "knowledge@@package" package.
+It is very often used indirectly through directives like "notion".
When set, the \kl{knowledge} should be used with both \csintro{\intro} (exactly once) --
or the \kl{""...""} and \kl{""...@...""} notations (and variants) if \kl(option){quotation} is active -- and \cs{\kl} (possibly several times) -- or the \kl{"..."} notation if \kl(option){quotation} is active. The use of \cs{\kl}
will hyperlink to the location of the \cs{\intro}. The syntax of \cs{\intro} is the same as
@@ -2103,9 +2371,122 @@
\subsection{Dealing with math}
\label{subsection:math}
-This part is under development.
+There are essentially two ways in which one would like to use "knowledge@@package" with mathematics:
+\begin{description}
+\item[Single introduction] Some mathematical objects are introduced once and for all in the paper. In this case, all the use of the object
+should point to the same introduction location.
+\item[Variables] The more advanced case is when one wants to track variables. For instance, a macro variable~\cs\x\ could have a different meaning in two distinct theorems. This case is more similar to variables in a programming language, that have a scope.
+Here the situation is slightly more complicated since a variable could be introduced in a theorem, and then used many pages later in a proof section for instance.
+\end{description}
+The first use is fairly easy. The second one requires a bit more care. We review them one after the other.
+
+\subsubsection{Defining macros for math: the "mathcommand@@package" package}
+
+Defining macros is standard in \TeX, and it should be used systematically in writing scientific documents, in particular
+when using the "knowledge@@package" package.
+The standard way in \LaTeX\ for defining macros is to use \cs\newcommand. However, the resulting macro, if it has
+no optional parameters, is then expandable, and it is better to avoid it using instead \cs\newrobustcmd\ from the "etoolbox@@package"
+package (it has the same syntax).
+
+Another package "mathcommand@@package" has been designed to be used in conjunction with "knowledge@@package".
+We shall use it in the advanced examples below. It allows:
+\begin{itemize}
+\item to define/redefine commands to be used in math mode only. This allows for instance to use the macro \cs\c\ for producing as usual a cedilla in text mode, and at the same time some variable $\mathbf c$ in math mode. This is achieved using for instance:
+ \smallcode{\cs\renewmathcommand\cs\c\{\cs\mathbf\{c\}\}}.
+\item When redefining a command, it automatically stores the original command \cs\macro\ as \cs\LaTeXmacro. So for instance, if one wants to introduce the constant~$\pi$ in a document and have it linked, one can use:
+ \begin{code}
+ \cs\renewmathcommand\cs\pi\{\cs\kl[\cs\pi]\{\cs\LaTeXpi\}\}\\
+ \cs\knowledge\cs\pi\{notion\}\\
+ {[...]}\\
+ \cs\AP\ Let \$\cs{\intro*}\cs\pi=3.1415\$.\\
+ {[...]}\\
+ Now \$\cs\pi\$ points to the above sentence.
+ \end{code}
+ This code works because a different name \cs\LaTeXpi\ stores the original macro. Using~\cs\pi\ instead would yield an infinite loop.
+\item The package also gives access to the exponents and indices as well as primes that follow a command (see the documentation).
+\item It also has some facilities for disabling \LaTeX\ commands and provide suggestions of replacement (useful for remembering the macros and working with colleagues).
+\item Finally, it offers some commodity for redefining many variables in one command.
+ E.g. for defining \cs\calA, \cs\calB,\dots to be shortcuts for \smallcode{\cs\cal A}, \smallcode{\cs\cal B},\dots:
+ \begin{code}
+ \cs\LoopCommands\{ABCDEFGHIJKLMNOPQRSTUVWXYZ\}[cal\#1]\par
+ ~~~~\quad\{\cs\newmathcommand\#2\{\cs\cal~\#1\}\}
+ \end{code}
+\end{itemize}
+
+\subsubsection{Mathematical objects that are singly introduced}
+
+In this case, this is essentially as in text mode.
+Five points have to be kept in mind:
+\begin{itemize}
+\item Do not use the "quotation notation" in math mode and in macros. Indeed,
+ some packages, like "tikzcd@@package" use the double-quote symbol in their
+ (math) syntax. In this context, quotes have to be deactivated, and hence macros
+ that would use the "quotation notation" would suddenly not have the expected result.
+\item Do not mix the "knowledge" concerning math commands and normal text. It is in practice
+ difficult to maintain.
+\item Use the control sequence of the macro itself as the "knowledge" name.
+ This does not cause problems and is easier to maintain.
+\item Use the \cs{\intro*} notation for introducing macros.
+\item The surrounding space is broken by using the command \cs{\kl}. Commands like \cs\mathrel\ should be used to recover it.
+\end{itemize}
+These five points are illustrated in the following code:
+\begin{code}
+\cs\newrobustcmd\cs\comp\{\cs\mathrel\{\cs\kl[\cs\comp]\{\cs\circ\}\}\}\\
+\cs\knowledge\cs\comp\{notion\}\\
+{[...]}\\
+\cs\AP\ Composition is denoted \$\cs{\intro*}\cs\comp\$.\\
+{[...]}\\
+Now, each use of \$\cs\comp\$ points to its introduction.
+\end{code}
+
+Two variation may be comfortable to use.
+
+\paragraph{Disabling commands}
+When writing a paper, in particular with coauthors, one may be tempted to not always use the macros designed for each case.
+For helping to remember the macro, one can use instead (using the "mathcommand@@package" package):
+\begin{code}
+\cs\disablecommand\cs\rho\\
+\cs\suggestcommand\cs\rho\{Use \cs\myFunction.\}\\
+\cs\newrobustcmd\cs\myFunction\{\cs\kl[\cs\myFunction]\{\cs\LaTeXrho\}\}\\
+\cs\knowledge\cs\myFunction\{notion\}\\
+{[...]}\\
+\AP Let \$\cs{\intro*}\cs\myFunction(x)=[...]\$\\
+{[...]}\\
+Now, each use of \$\cs\myFunction\$ points to its introduction.
+\end{code}
+\noindent The result is that if one uses \cs\rho\ in the code, an error will be issued, and \cs\myFunction\ be suggested as a replacement.
+Note that more than one suggestions can be attached to the macro (if several macros use the symbol~$\rho$). Note also
+that in the definition of \cs\myFunction, \cs\LaTeXrho\ is used instead of~\cs\rho. Indeed, \cs\rho\ has been deactivated,
+but~\cs\LaTeXrho\ gives access to its original meaning.
+
+\paragraph{Redefining the original \TeX\ macro}
+Another situation is that one would like to use the \cs\rho\ control sequence for accessing our function instead of \cs\myFunction (simply because this is more convenient and easy to remember, and we know in advance that no confusion may arise).
+In this case, the "mathcommand@@package" package can also be of some help:
+\begin{code}
+\cs\renewmathcommand\cs\rho\{\cs\kl[\cs\rho]\{\cs\LaTeXrho\}\}\\
+\cs\knowledge\cs\rho\{notion\}\\
+{[...]}\\
+\cs\AP\ Let \$\cs{\intro*}\cs\rho(x)=[...]\$\\
+{[...]}\\
+Now, each use of \$\cs\rho\$ points to its introduction.
+\end{code}
+\noindent
+The effect of \cs\renewmathcommand\ is that it sets~\cs\LaTeXrho\ to have the same effect as the original \cs\rho\ command,
+and then redefines~\cs\rho.
+
+\subsubsection{Context dependent variables}
+
+This section is not yet written.
\iffalse
+We enter now a more advanced situation. We want to track all the variables in a mathematic document...
+the first thing to do is to give access to the "knowledge@@package" package to the scope of the document.
+The easiest way to do that is to declare in the preamble what are the environments that we want to use.
+\begin{code}
+\cs\knowledgeconfigureenvironment\{theorem,lemma,proof\}\{\}\par\noindent
+\end{code}}
+
+
The "knowledge@@package" package offers several tools for dealing with mathematics. It is mostly still experimental.
The essential goal is to be able to track the identity variables and to point each of them to its introduction.
For obtaining this, this requires:
@@ -2115,6 +2496,8 @@
\end{itemize}
\fi
+
+
\subsection{Fixes}
\label{subsection:fixes}
@@ -2129,14 +2512,14 @@
\subsection{Predefined configuration}
-\subsubsection{The "notion" directive}
+\subsubsection{The "notion@@option" directive}
-The configuration option~\kl{notion} is activated using:
+\AP The configuration option~\intro(option){notion} is activated using:
\begin{center}
-\smallcode{\cs\knowledgeconfigure\{\intro[notion option]{notion}\}}
+\smallcode{\cs\knowledgeconfigure\{\kl(option){notion}\}}
\end{center}\noindent
-It automatically configures a \kl[\knowledge directives]{directive} \intro{notion}
-which is an \kl{autoref} displayed properly:
+\AP It automatically configures a \kl[\knowledge directives]{directive} \intro{notion}
+which is an \kl{autoref} configured to be displayed in a configurable way:
\begin{itemize}
\item In \kl{paper mode}, the \cs{\intro} commands (not in math mode) are emphasized, while the \cs{\kl} commands are displayed as normal. It has the aspect of a normal paper.
\item In "electronic mode" and \kl{composition mode} (with the "xcolor@@package" package), notions are furthermore typeset in blue when introduced, and in dark blue when used. Without the \kl(package){xcolor} package, underlining draw the attention to the knowledges (not in math mode).
@@ -2152,12 +2535,12 @@
\cs\documentclass\{article\}\\
\cs\usepackage\{\kl(package){xcolor}\}\\
\cs\usepackage\{\kl(package){hyperref}\}\\
-\cs\usepackage[\kl{paper}]\{"knowledge@@package"\}\\
+\cs\usepackage[\kl{electronic}]\{"knowledge@@package"\}\\
\cs\knowledgeconfigure\{"notion@@option"\}\\
{[...]}\\
\cs\knowledge\{some text\}\{notion\}
\end{code}\noindent
-Then the paper is displayer in a colorful way. As soon as the \texttt{false} is replaced by \texttt{true}, the paper becomes black and seriously looking as it should.
+Then the paper is displayed in a colorful way.
\newpage
@@ -2172,7 +2555,7 @@
\subsection{Problem with \cs{\item} parameters}
-\paragraph{The use of~\cs{\AP} inside \cs{\item} does not work.} Do not use \cs{\AP} inside the optional argument of \cs{\item}, and rather use the command \cs{\itemAP}.
+\paragraph{The use of~\cs{\AP} inside the optional parameter of \cs{\item} does not work.} Do not use \cs{\AP} inside the optional argument of \cs{\item}, and rather use the command \cs{\itemAP}.
\paragraph{Argument of \cs{\kl} has an extra `\texttt\}'.} This is a problem of using optional parameters inside optional parameters such as in \smallcode{\cs\item[\cs\kl[test]\{Test\}]}. You can surround the content of the optional parameter by two level of curly braces as in \smallcode{\cs\item[\{\{\cs\kl[test]\{Test\}\}\}]}.
The notation \kl{"..."} does not have this issue.
@@ -2201,7 +2584,7 @@
\cs\end\{document\}
\end{code}\end{center}\noindent
will result in that both \kl{knowledges} are considered unknown in the table of contents.
-For the first one, this is due to the expansion of~$\texttt{\robustdisplay\Ltwo}$. For the second, this is due to an implicit translation of the accentuated letter into an internal sequence of commands (for instance `\'e' is translated into the internal sequence `\verb|\IeC {\'e}|'). Some solutions are as follows:
+For the first one, this is due to the expansion of~\cs\Ltwo. For the second, this is due to an implicit translation of the accentuated letter into an internal sequence of commands (for instance `\'e' is translated into the internal sequence `\verb|\IeC {\'e}|'). Some solutions are as follows:
\begin{itemize}
\item Make the macros non-expandable, for instance using \cs{\newrobustcmd} (of the \kl(package){etoolbox} package) or \cs{\NewDocumentCommand} (of the \kl(package){xparse} package, with a different handling of arguments) instead of \cs{\newcommand}. Hence:
\begin{code}
@@ -2247,7 +2630,7 @@
\label{section:tikzcd}
The package "tikzcd@@package" uses (heavily) the quotes. Thus, it conflicts with the "quotation notation".
-Some other packages may do the same. For solving this issue, the only thingd to do are:
+Some other packages may do the same. For solving this issue, the only things to do are:
\begin{itemize}
\item be sure to load these packages before "knowledge@@package", or at least be sure that the "quotation notation" is not
active when you do so, and
@@ -2274,7 +2657,7 @@
\label{section:amsmath questions}
\paragraph{The \cs{\intro} command does not work in \kl{align*} or similar environments}
-It happens that in starred environment (i.e., unnumbered), the package \kl(package){amsmath}
+It happens that in stared environment (i.e., unnumbered), the package \kl(package){amsmath}
deactivates the labels. As a consequence the command \cs{\intro}, which internally uses {\cs\label} (at least so far), does not work. For the moment, there is no real solution, but a workaround which consists in introducing the \kl{knowledge} before
the incriminated environment using \cs\phantomsection, and then use \cs{\reintro} inside the environment. Imagine for instance a command
\texttt{\robustdisplay\SomeCommand}, that inside uses \texttt{\cs\kl[\robustdisplay{\Somecommand}]}, then:
@@ -2283,7 +2666,7 @@
does not work&&works\\
\begin{code}[5cm]
\cs\begin\{\kl{align*}\}\\
- \cs\intro*\texttt{\robustdisplay{\SomeCommand}}\\
+ \cs{\intro*}\texttt{\robustdisplay{\SomeCommand}}\\
\cs\end\{\kl{align*}\}\\
\end{code}
&&
@@ -2300,14 +2683,44 @@
\paragraph{A fatal error occurs in twocolumn mode.} A workaround is to use
\smallcode{\cs\knowledgeconfigure\{\kl{fix hyperref twocolumn}\}}.
+\subsection{Name clash (eg with the "complexity@@package" package)}
+
+It may happen that an already defined command is redefined by the "knowledge@@package" package.
+This happens in particular wen used in combination with the "complexity@@package" package: both package redefine the command \cs\AP. For "complexity@@package", this denotes a complexity class, and for "knowledge@@package", it is an "anchor point".
+The problem has to be resolved by hand. The two following solutions are quick hacks:
+\begin{center}
+\begin{tabular}{ccc}
+\begin{code}[5.2cm]
+\cs\usepackage\{\kl(package){complexity}\}\\
+\cs\let\cs\compAP\robustdisplay\AP\\
+\cs\let\robustdisplay\AP\cs\undefined\\
+\cs\usepackage[...]\{"knowledge@@package"\}
+\end{code}
+&&
+\begin{code}[5.2cm]
+\cs\usepackage[...]\{"knowledge@@package"\}\\
+\cs\let\cs\kAP\robustdisplay\AP\\
+\cs\let\robustdisplay\AP\cs\undefined\\
+\cs\usepackage\{\kl(package){complexity}\}
+\end{code}\\
+for using \texttt{\robustdisplay\AP}from "knowledge@@package",
+ && for using \texttt{\robustdisplay\AP}from "complexity@@package",\\
+and \cs\compAP\ for "complexity@@package",
+ && and \cs\kAP\ for "knowledge@@package".
+\end{tabular}
+\end{center}
+
\subsection{Incorrect display}
\subsubsection{Incorrect breaking at the end of lines (in Arxiv for instance)}
+
It may happen that some hyperlinks generated by "knowledge@@package" are not broken properly
-at the end of lines. This is an issue with the \kl(package){hyperref} package. This in particularly happened for files compiled by the Arxiv system while the file on the local computer was not having any problem.
+at the end of lines. This is an issue with the \kl(package){hyperref} package. This happens in particular for files compiled by the Arxiv system while the file on the local computer was not having any problem. A workaround is to use the \kl{breaklinks} option of \kl(package){hyperref}. If you need this for Arxiv, then you also have to force the use of \cs\pdflatex\ (because the \kl{breaklinks} option does not work if compiled via the ancestral sequence TEX$\rightarrow$DVI$\rightarrow$PS$\rightarrow$PDF). This can be obtained by adding \smallcode{\cs\pdfoutput=1} within the five first lines of the preamble.
-A workaround is to use the \texttt{breaklinks} option of \kl(package){hyperref}. The preamble thus looks like:
+The preamble thus looks like:
\begin{code}[9cm]
+\cs\documentclass\{\kl{[...]}\}\par\noindent
+\cs\pdfoutput=1\par\noindent
\kl{[...]}\par\noindent
\cs\usepackage[\kl{breaklinks}]\{\kl(package){hyperref}\}\par\noindent
\kl{[...]}\par\noindent
@@ -2317,18 +2730,16 @@
\subsubsection{Red boxes around links}
-This is an annoying feature of the "hyperref@@package" package to surround all links by red boxes (that may appear or not depending on the viewer). This is very heavy in document with many links. The solution is to load the "hyperref@@package" package with the "hidelinks" option. Hence the preamble may look like:
-\begin{code}[9cm]
-\cs\usepackage{["hidelinks"]}\{"hyperref@@package"\}\par\noindent
-\cs\usepackage\{\kl(package){knowledge}\}\par\noindent
-\end{code}
+This is an annoying feature of the "hyperref@@package" package to surround all links by red boxes (that may appear or not depending on the viewer). This is very heavy in document with many links. By default, this is deactivated when using the "knowledge@@package",
+unless the "no patch" option is used when loading the package. When the "no patch" option is used, the same effect can nevertheless be obtain, eg using \smallcode{\cs\hypersetup\{hidelinks\}}.
+
\subsection{Problems with scope}
\subsubsection{Problems in combination with \cs{\bibitem} and "thebibliography@@env"}
-The "scope option" of the package triggers some analysis of the code, and restrains the structure of the code (in particular, this is because "scopes" have to be nested, and thus some not so well nested part of \LaTeX{} yields error). In particular, the "scope option" does not allow to have a \cs{\section} command inside a list.
+The "scope option" of the package triggers some analysis of the code, and restrains the structure of the code (in particular, this is because "scopes" have to be nested, and thus some not so well nested parts of \LaTeX{} yield errors). In particular, the "scope option" does not allow to have a \cs{\section} command inside a list.
However, this is what does the environment "thebibliography@@env", yielding a scoping error.
A simple hack to treat this situation:
@@ -2467,21 +2878,25 @@
\subsection{List of \kl{configuration directives} (to use with \cs{\knowledgeconfigure})}
\label{subsection:configuration directive list}
+
\begin{compactdesc}
+\item["diagnose bar="\textmd{\{true,false\}}] activates the \kl{`\vbar'-notation} in the "diagnose file" (default is false)
\item["composition"] switches to "composition mode",
\item["cyclic colors=@@option"] fixes the cyclic list of colors used by the "directive" "cyclic color".
\item["diagnose line="\textmd{\{true,false\}}] activates or deactivates the line numbering in the "diagnose file".
-\item["electronic"] switches to "electronic mode",
+\item["electronic"] switches to "electronic mode".
\item[\kl{fix hyperref twocolumn}] fixes a known problem between "hyperref@@package"
and the two column mode.
\item[\kl{hyperlinks=}\textmd{\{true,false\}}] activates or deactivates the hyperlinks.
-\item[{{\kl(option){notion}}}] activates the "notion" directive
-\item[\kl(option){quotation=}\textmd{\{true,false\}}] activates or deactivates the "quotation notation".
-\item["paper"] switches to "paper mode",
+\item[{{\kl{no patch}}}] deactivates the default patches made to other packages.
+\item[{{\kl(option){notion}}}] activates the "notion" directive.
+\item["paper"] switches to "paper mode".
+\itemAP[\kl{label scope=}\textmd{\{true,false\}}] enables or disables the redefined \cs{\label} command, which helps automatically define scopes (default is~\textmd{true}).
\item[\kl{protect link co} and \kl{unprotect link co}] starts and ends respectively a zone in which the "knowledge@@package" package does not create hyperlinks.
-\item[\kl{protect quotation=}\textmd{\{environment list\}}] declares a list of environment in which the "quotation notation" should be deactivated
+\item[\kl{protect quotation=}\textmd{\{environment list\}}] declares a list of environment in which the "quotation notation" should be deactivated.
+\item[{{\kl(option)[quotation]{quotation=}\textmd{\{true,false\}}}}] activates or deactivates the "quotation notation".
\item["strict"] is a Boolean which, when true, makes the compilation more restrictive by turning some of the warnings into errors (in particular in case of redefinition of knowledges).
-\item[\kl{visible anchor points=}\textmd{\{true,false\}}] makes the \kl{anchor points} either visible or invisible
+\item[\kl{visible anchor points=}\textmd{\{true,false\}}] makes the \kl{anchor points} either visible or invisible.
\end{compactdesc}
\newpage
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/knowledge.doc.tlpobj new/tlpkg/tlpobj/knowledge.doc.tlpobj
--- old/tlpkg/tlpobj/knowledge.doc.tlpobj 2019-02-28 03:45:59.000000000 +0100
+++ new/tlpkg/tlpobj/knowledge.doc.tlpobj 2020-03-06 01:02:34.000000000 +0100
@@ -1,9 +1,9 @@
name knowledge.doc
category Package
-revision 50031
+revision 54121
shortdesc doc files of knowledge
relocated 1
-docfiles size=206
+docfiles size=223
RELOC/doc/latex/knowledge/README.md
RELOC/doc/latex/knowledge/knowledge-example.tex
RELOC/doc/latex/knowledge/knowledge.pdf
++++++ knowledge.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/knowledge/knowledge.sty new/tex/latex/knowledge/knowledge.sty
--- old/tex/latex/knowledge/knowledge.sty 2019-02-15 23:22:44.000000000 +0100
+++ new/tex/latex/knowledge/knowledge.sty 2020-03-05 23:08:31.000000000 +0100
@@ -23,12 +23,11 @@
%% LaTeX version 1999/12/01 or later.
%%
\usepackage{expl3}
-\ProvidesExplPackage{knowledge}{2019/02/16}{1.16}{}
+\ProvidesExplPackage{knowledge}{2020/03/05}{1.22}{}
%%%%%%%%%%
\RequirePackage{l3keys2e}
\RequirePackage{etoolbox}
\RequirePackage{xparse}
-\RequirePackage{etoolbox}
\bool_if_exist:NTF\knowledge_package_loaded_bool
{\endinput}
{\bool_new:N\knowledge_package_loaded_bool
@@ -160,10 +159,37 @@
\KAuxWrite*{}}
\NewDocumentCommand\KAuxClose{}
- {\iow_close:N\knowledge_kaux_iow
+ {\KAuxWrite*{\KAuxEOF {}}
+ \iow_close:N\knowledge_kaux_iow
\bool_gset_true:N\kaux_can_be_used_bool
\kaux_posttreatment_tl
}
+\cs_new:Npn\kaux_if_exist_containline:nnTF#1#2{
+ \file_if_exist:nTF{#1}{
+ \ior_open:Nn\klg_tmpa_ior{#1}
+ \bool_gset_false:N\g_tmpa_bool
+ \bool_gset_false:N\g_tmpb_bool
+ \str_gset:Nn\g_tmpb_str{#2}
+ \bool_do_until:Nn\g_tmpa_bool{
+ \ior_if_eof:NTF\klg_tmpa_ior
+ {\bool_set_true:N\g_tmpa_bool}
+ {
+ \ior_str_get:NN\klg_tmpa_ior\g_tmpa_str
+ %\iow_term:x{(\exp_not:V\g_tmpa_str)=?(\exp_not:V\g_tmpb_str)}
+ \str_if_eq:NNTF\g_tmpa_str\g_tmpb_str
+ {\bool_gset_true:N\g_tmpa_bool
+ \bool_gset_true:N\g_tmpb_bool}
+ {}
+ }}
+ \ior_close:N\klg_tmpa_ior
+ %\bool_show:N\g_tmpb_bool
+ \bool_if:NTF\g_tmpb_bool
+ }
+ {\use_ii:nn}
+}
+
+\NewDocumentCommand\IfKAuxReadyTF{}
+ {\exp_args:Nx\kaux_if_exist_containline:nnTF{\c_sys_jobname_str.kaux}{\KAuxEOF {}}}
\NewDocumentCommand\KAuxBefore{m}
{\tl_gput_right:Nn\kaux_pretreatment_tl{#1}}
\NewDocumentCommand\KAuxAfter{m}
@@ -185,6 +211,9 @@
\tl_gset:cn{kaux_\cs_to_str:N#1-args_tl}{#2}
\tl_gput_right:Nn\kaux_command_list_tl{#1}
}
+\NewKAuxCommand\KAuxEOF{m}
+ {Does~nothing,~useless~empty~argument
+ ,~and~is~searched~for~knowing~if~the~kaux~file~was~written~till~the~end.}
\NewDocumentCommand\KAuxCommand{mmm}
{ \cs_if_exist:NTF #1
{}
@@ -288,7 +317,6 @@
{\exp_not:n{\exp_after:wN\exp_args:Nc\exp_after:wN}
##1 \exp_not:c{#1_id_b:#2}}
}
-
\cs_new:Nn\cell_specialize:nnn
{\cs_new:cpx{#1_#2_id:#3}
{\exp_not:c{#1_id:n#3}{#2}}
@@ -626,7 +654,6 @@
\ior_close:N\klg_tmpa_ior
\iow_close:N\klg_tmpa_iow
\group_end:}}
-
\cs_new_protected_with_variants:Nnn\kl_compare_files:Nnn{NnV,NVn,NVV}
{\group_begin:
\bool_set_false:N\l_tmpa_bool% set when finished
@@ -668,7 +695,6 @@
{\group_end:\bool_set_true:N#1}
{\group_end:\bool_set_false:N#1}
}
-
\cs_new_protected:Nn\kl_tl_to_file:nn
{\iow_open:Nn\klg_tmpa_iow{#1}
\iow_now:Nn\klg_tmpa_iow{#2}
@@ -790,6 +816,16 @@
\cs_new:Npn\klparse_if_novalue:NTF
{\tl_if_eq:NNTF\klparse_novalue_tl}
\cs_generate_variant:Nn\tl_to_str:n{V}
+\tl_new:N\char_escape_tl
+\tl_set:Nx\char_escape_tl
+ {\expandafter\tl_head:n\expandafter{\string\escape}}
+\cs_new:Nn\debug_vars:nn{
+ \iow_term:n{---~{#1}}
+ \tl_map_inline:nn{#2}
+ {\iow_term:x{\space\space\exp_not:N##1=\space\tl_if_exist:NTF##1
+ {{\exp_not:V##1}}
+ {undefined}}}
+}
\cs_new:Nn\knowledge_info:n
{\msg_info:nnn{knowledge}{knowledge~info}{#1}}
\cs_new:Nn\knowledge_warning:n
@@ -805,18 +841,20 @@
\cs_generate_variant:Nn\knowledge_warning:n{x}
\cs_generate_variant:Nn\knowledge_error:n{x}
\msg_new:nnn{ knowledge }{ knowledge~recursion }
- { The~knowledges~are~probably~cyclic,~starting~from~'#1'~(namespace~'#2'),~
+ { The~knowledges~are~probably~cyclic,~starting~from\\<#1>~(namespace~'#2'),~
currently~at~'#3'.}
\msg_new:nnn{ knowledge }{ knowledge~unknown }
- {The~knowledge~'#1'~could~not~be~found~in~scopes~<~#3~>~(namespace~'#2').}
+ {The~knowledge~'#1'~could~not~be~found~in~scopes\\<#3>~(namespace~'#2').}
\msg_new:nnn{ knowledge }{ knowledge~unknown~in~scope }
- {The~knowledge~'#1'~could~not~be~found~in~scope~'#3'~(namespace~'#2').}
+ {The~knowledge~'#1'~could~not~be~found~in~scope\\<#3>~(namespace~'#2').}
\msg_new:nnn{ knowledge }{ knowledge~unknown~label }
- {The~label~'#2'~could~not~be~found~while~searching~for~'#1'.~Possibly~rerun~latex.}
+ {The~label~'#2'~could~not~be~found~while~searching~for:\\<#1>\\Possibly~rerun~latex.}
\msg_new:nnn{ knowledge }{ package~required }
{In~order~to~use~directive~'#1',~please~load~package~or~use~option~'#2'.}
\msg_new:nnn{ knowledge }{ knowledge~exists }
{ The~knowledge~'#1'~in~scope~'#2'~(namespace~'#3')~already~exists. }
+\msg_new:nnn{ knowledge }{ knowledgedirective~redifinition }
+ { Directive~'#1'~already~exists~(\knowledgedirective~macro). }
\msg_new:nnn{scope}{area~exists}{Area~'#1'~already~exists.}
\msg_new:nnn{scope}{area~not~exist}{Area~'#1'~does~not~exist.}
\msg_new:nnn{scope}{empty~pop}{Attempt~to~pop~an~empty~area~stack.}
@@ -832,12 +870,12 @@
\msg_new:nnn{scope}{area~not~in~context}
{\tl_if_empty:nTF{#2}{}{\exp_not:n{#2}}:
~The~area~`#1'~can't~be~found~in~context.~Possibly~rerun~latex.}
-\msg_new:nnn{knowledge}{recap~unknown~knowledge}
- {Some~knowledge~are~not~defined.~See~the~'.diagnose'~file~for~more~information.}
-\msg_new:nnn{knowledge}{recap~autoref~introduced~twice}
- {Some~knowledge~is~introduced~twice.~See~the~'.diagnose'~file~for~more~information.}
-\msg_new:nnn{knowledge}{recap~autoref~not~introduced}
- {Some~knowledge~is~used~but~not~introduced.~See~the~'.diagnose'~file~for~more~information.}
+\exp_args:Nnnx\msg_new:nnn{knowledge}{recap~unknown~knowledge}
+ {Some~knowledge~are~not~defined.~See~the~'\c_sys_jobname_str.diagnose'~file~for~more~information.}
+\exp_args:Nnnx\msg_new:nnn{knowledge}{recap~autoref~introduced~twice}
+ {Some~knowledge~is~introduced~twice.~See~the~'\c_sys_jobname_str.diagnose'~file~for~more~information.}
+\exp_args:Nnnx\msg_new:nnn{knowledge}{recap~autoref~not~introduced}
+ {Some~knowledge~is~used~but~not~introduced.~See~the~'\c_sys_jobname_str.diagnose'~file~for~more~information.}
\tl_clear_new:N\knowledge_configuration_pending_tl
\newrobustcmd\knowledgeconfigure[1]{
\keys_set:nn{ knowledge~configuration~options }{#1}
@@ -925,6 +963,13 @@
\bool_new:N\knowledge_configuration_diagnoseline_bool
\bool_set_false:N\knowledge_configuration_diagnoseline_bool
\KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnoseline_bool]{diagnose~line}
+\bool_new:N\knowledge_configuration_diagnosehelp_bool
+\bool_set_true:N\knowledge_configuration_diagnosehelp_bool
+\KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnosehelp_bool]{diagnose~help}
+\bool_new:N\knowledge_configuration_diagnosebar_bool
+\bool_gset_true:N\knowledge_configuration_diagnosebar_bool
+\KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnosebar_bool]{bar~suggestion}%backward compatibility
+\KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnosebar_bool]{diagnose~bar}
\bool_new:N\knowledge_configuration_visibleAP_bool
\KnowledgeConfigureBooleanOption[\knowledge_configuration_visibleAP_bool]{visible~anchor~points}\KnowledgeConfigureBooleanOption[\knowledge_configuration_visibleAP_bool]{visible~AP}
\bool_new:N\knowledge_hyperlinks_active_bool
@@ -934,10 +979,32 @@
\KnowledgePackageTrigger{ electronic }{\tl_set:Nn\knowledge_option_mode_tl{electronic}}
\KnowledgePackageTrigger{ composition }{\tl_set:Nn\knowledge_option_mode_tl{composition}}
\KnowledgePackageTrigger{ final }{\tl_set:Nn\knowledge_option_mode_tl{final}}
+\bool_new:N\knowledge_option_texpatch_bool
+\bool_set_true:N\knowledge_option_texpatch_bool
+\KnowledgePackageTrigger{ no patch }{\bool_set_false:N\knowledge_option_texpatch_bool}
+\tl_new:N\knowledge_option_knowledgeAP_command_tl
+\tl_set:Nn\knowledge_option_knowledgeAP_command_tl{}
+\tl_new:N\knowledge_option_complexityAP_command_tl
+\tl_set:Nn\knowledge_option_complexityAP_command_tl{}
+\KnowledgePackageTrigger{ knowledge AP }{
+ \tl_if_single_token:nTF{#1}
+ {\tl_set:Nn\knowledge_option_knowledgeAP_command_tl{#1}}
+ {\knowledge_error:n{Package~option~'knowledge~AP'~must~be~followed~by~a~single~control~sequence.}}
+}
+\KnowledgePackageTrigger{ complexity AP }{
+ \tl_if_single_token:nTF{#1}
+ {\tl_set:Nn\knowledge_option_complexityAP_command_tl{#1}}
+ {\knowledge_error:n{Package~option~'complexity~AP'~must~be~followed~by~a~single~control~sequence.}}
+}
\KnowledgeConfigureTrigger{ fix~hyperref~twocolumn }
{\knowledgeFixHyperrefTwocolumn}
\KnowledgeConfigureTrigger{ notion }
- {\KnowledgeConfigureNotion{notion}}
+ {\KnowledgeConfigureNotion{notion}
+ \knowledgesetvariant\kl{suggestion=notion}
+ \knowledgesetvariant\intro{suggestion=notion}
+ \knowledgesetvariant\phantomintro{suggestion=notion}
+ \knowledgesetvariant\reintro{suggestion=notion}
+ }
\KnowledgeConfigureTrigger{ protect~links }
{\kl_kl_nesting_incr:}
\KnowledgeConfigureTrigger{ unprotect~links }
@@ -1025,7 +1092,7 @@
\keys_set:nV{ knowledge~package~modes }{ composition }}
}
\keys_set:nV{ knowledge~package~modes }\knowledge_option_mode_tl
-\knowledge_option_aci_autoload:nnn{ hyperref }{}{\hypersetup{hidelinks}}
+\knowledge_option_aci_autoload:nnn{ hyperref }{}{}
\knowledge_option_aci_autoload:nn{ xcolor }{}
\knowledge_option_aci_autoload:nn{ makeidx }{}
\tl_const:Nn\scope_tl{SC@PE}
@@ -1219,7 +1286,7 @@
\seq_gpop:NNTF\scope_instances_stack_seq\l_tmpa_tl
{\tl_gset_eq:NN\scope_top_instance_tl\l_tmpa_tl
\int_gdecr:c{\scope_tl.area[\scope_top_area_tl].nesting_int}
- \exp_args:NV\knowledge_pop_visible_instances_to:n\scope_top_instance_tl
+ \knowledge_pop_visible_instances_to_mark:
\seq_get:NN\scope_instances_stack_seq\l_tmpa_tl
\tl_gset_eq:NN\scope_top_instance_tl\l_tmpa_tl
\tl_gset:Nx\scope_top_area_tl
@@ -1317,6 +1384,7 @@
{\scope_top_area_tl-\int_to_arabic:n{\int_use:c{\scope_tl.area[\scope_top_area_tl].count_int}}}}
{\tl_gset_eq:NN\scope_top_instance_tl\scope_top_area_tl}
%
+ \knowledge_push_visible_instance_mark:
\exp_args:Nx\knowledge_push_visible_instance:n{\scope_top_instance_tl}
\seq_gpush:Nx\scope_instances_stack_seq{\scope_top_instance_tl}
%
@@ -1366,11 +1434,6 @@
{\scope_tl.area[\tl_use:c{\scope_tl.instance[##1].area_tl}].labelizable_bool}
{\tl_set:Nn#1{##1}\seq_map_break:}{}}
}
-\cs_new:Nn\knowledge_scope_track_instance:Nn{
- \scope_area_if_exist:nTF{#2}
- {\knowledge_scope_track_instance_from_area:Nn#1{#2}}
- {\knowledge_scope_track_instance_from_label:Nn#1{#2}}
-}
\cs_new:Nn\knowledge_scope_track_instance_from_area:Nn{
\tl_set:Nn#1{}
\seq_map_inline:Nn\scope_instances_stack_seq
@@ -1383,11 +1446,11 @@
{\msg_error:nnxx{scope}{area~not~in~context}{#2}{scope=}}
{}
}
-\cs_new:Nn\knowledge_scope_track_instance_from_label:Nn{
- \tl_set:Nn#1{}
- \scopept_label_instance_if_exist:nTF{#2}
- {\tl_set:Nx#1{\scopept_label_instance_use:n{#2}}}
- {\msg_warning:nnnn{scope}{unknown~label}{#2}{scope=}}
+\cs_new:Nn\knowledge_scope_track_scope:n{
+ \scope_area_if_exist:nTF{#1}
+ {\knowledge_scope_track_instance_from_area:Nn\knowledge_knowledge_instance_tl{#1}}
+ {\tl_set:Nn\knowledge_knowledge_instance_tl{explicit-scope:#1}
+ \knowledge_scopetag_warn_if_unknown:n{#1}}
}
\bool_new:N\scopept_map_break_bool
\cs_new:Nn\scopept_map_break:
@@ -1412,25 +1475,80 @@
{\scopept_map_instance_ancestors_i:nN{##1}#2
\bool_if:NTF\scopept_map_break_bool:{\seq_map_break:}{}}
}
-\NewDocumentCommand\scopeLabel{m}
- { \kl_hide_begin:
+\tl_const:Nn\knowledge_scopetag_tl{ScpT@g}
+\cs_new:Npn\knowledge_scopetag_if_exist:nTF#1
+ {\tl_if_exist:cTF{\knowledge_scopetag_tl[#1]_bool}}
+\cs_new:Nn\knowledge_scopetag_ensure:n{
+ \knowledge_scopetag_if_exist:nTF{#1}{}
+ {\bool_new:c{\knowledge_scopetag_tl[#1]_bool}
+ \bool_gset_false:c{\knowledge_scopetag_tl[#1]_bool}
+ \seq_new:c{\knowledge_scopetag_tl[#1]_seq}
+ \seq_gput_right:cn{\knowledge_scopetag_tl[#1]_seq}{explicit-scope:#1}}}
+\cs_new:Nn\knowledge_scopetag_warn_if_unknown:n{
+ \knowledge_scopetag_if_exist:nTF{#1}{}
+ {\KAuxWriteX*{\exp_not:N\KAuxUndeclaredScopeTag{#1}}
+ \knowledge_scopetag_ensure:n{#1}}
+}
+\cs_new:Nn\knowledge_scopetag_declares:n{
+ \knowledge_scopetag_ensure:n{#1}
+ \bool_if:cTF{\knowledge_scopetag_tl[#1]_bool}
+ {}
+ {\bool_gset_true:c{\knowledge_scopetag_tl[#1]_bool}}
+ \KAuxWriteX*{\exp_not:N\KAuxDeclaredScopeTag{#1}}
+}
+\NewDocumentCommand\knowledgescope{ >{\SplitList{,}}m }{
+ \kl_hide_begin:\group_begin:
+ \ProcessList{#1}\knowledge_knowledgescope_one:n
+ \group_end:\kl_hide_end:
+}
+\cs_new:Nn\knowledge_knowledgescope_one:n{
+ \knowledge_scopetag_declares:n{#1}
\scope_get_labelizable_instance:N\l_tmpb_tl
- \KAuxWriteX*{\exp_not:n{\KAuxScopeLabel}{\exp_not:n{#1}}{\l_tmpb_tl}}
- %\tl_new:cx{\scopept_tl.label[#1].instance_tl}{\l_tmpb_tl}
- \kl_hide_end:
- \cs_if_exist:NTF\LaTeXlabel\LaTeXlabel\use_none:n{#1}}
-\let\label\scopeLabel
+ \KAuxWriteX*{\exp_not:N\KAuxNewLinkScopetagInstance{#1}{\l_tmpb_tl}}
+}
+\bool_new:N\knowledge_configuration_label_autoscope_bool
+\bool_gset_true:N\knowledge_configuration_label_autoscope_bool
+\KnowledgeConfigureBooleanOption[\knowledge_configuration_label_autoscope_bool]{patch~label}
+\KnowledgeConfigureBooleanOption[\knowledge_configuration_label_autoscope_bool]{label~scope}
+\global\let\knowledge_label_before_loading_package:n\label
+\cs_gset:Npn\label{
+ \mode_if_preamble:TF
+ \knowledge_label_in_preamble:n
+ \knowledge_label_before_loading_package:n
+}
+\cs_new:Npn\knowledge_label_in_preamble:n{
+ \bool_if:NTF
+ \knowledge_configuration_label_autoscope_bool
+ \knowledge_knowledgescope_one:n
+ \use_none:n
+}
\cs_new:Npn\knowledge_latex_label:n{
\cs_if_exist:NTF\LaTeXlabel\LaTeXlabel\label
}
+\NewKAuxCommand\KAuxUndeclaredScopeTag{m}
+ {Package~scope:~States~that~a~labelname~is~used~in~a~knowledge~definition.}
+\DeclareKAuxPhaseCommand\KAuxUndeclaredScopeTag{init}{}
+\NewKAuxCommand\KAuxDeclaredScopeTag{m}
+ {Package~scope:~States~that~a~labelname~has~been~declared.}
+\DeclareKAuxPhaseCommand\KAuxDeclaredScopeTag{init}{
+ \knowledge_scopetag_if_exist:nTF{#1}{}
+ {\bool_new:c{\knowledge_scopetag_tl[#1]_bool}}
+ \bool_gset_true:c{\knowledge_scopetag_tl[#1]_bool}
+ }
+\NewKAuxCommand\KAuxNewLinkScopetagInstance{mm}
+ {Package~scope:~Declares~that~a~label~is~declared~in~an~instance~of~a~scope.}
+\DeclareKAuxPhaseCommand\KAuxNewLinkScopetagInstance{init}{
+ \knowledge_scopetag_ensure:n{#1}
+ \seq_gput_right:cn{\knowledge_scopetag_tl[#1]_seq}{#2}
+}
\NewKAuxCommand\KAuxScopeNewInstance{mmm}
{Package~scope:~Declares~a~new~instance~of~a~scope.}
\DeclareKAuxPhaseCommand\KAuxScopeNewInstance{init}
{\tl_new:cn{\scopept_tl.instance[#2].area_tl}{#1}
\tl_new:cn{\scopept_tl.instance[#2].parent_tl}{#3}}
-\NewKAuxCommand\KAuxScopeLabel{mm}
- {Package~scope:~Links~a~label~to~the~scope~of~its~definition.}
-\DeclareKAuxPhaseCommand\KAuxScopeLabel{init}
+\NewKAuxCommand\KAuxScopeTag{mm}
+ {Package~scope:~Links~a~scopetag~to~an~instance~of~a~scope.}
+\DeclareKAuxPhaseCommand\KAuxScopeTag{init}
{\tl_if_exist:cTF{\scopept_tl.label[\tl_to_str:n{#1}].instance_tl}{}
{\tl_new:cn{\scopept_tl.label[\tl_to_str:n{#1}].instance_tl}{#2}}}
\cs_new:Npn\scopept_label_instance_if_exist:nTF#1
@@ -1477,8 +1595,13 @@
\scope_if_triggers_area:nTF{##1}
{\scope_area_pop:n{##1}}
{}}
- \kutils_secure_latex_command:N\label
- \let\label\scopeLabel
+}
+\AtBeginDocument{
+ \kutils_secure_latex_command:N\label
+ \def\label#1{\bool_if:NT
+ \knowledge_configuration_label_autoscope_bool
+ {\knowledge_knowledgescope_one:n{#1}}
+ \LaTeXlabel{#1}}
}
\NewDocumentCommand\ScopeActivate{}{
\cs_gset_eq:NN\ScopeActivate\relax
@@ -1532,9 +1655,9 @@
{\scope_area_pop:n{knowledge~import~internal}}
\NewDocumentEnvironment{knowledge~context}{m}
{\ScopeActivate\scope_area_push:n{knowledge~context~internal}
- \scopeLabel{#1}}
+ \knowledgescope{#1}}
{\scope_area_pop:n{knowledge~context~internal}}
-\KAuxBefore{\KAuxProcess{init}}
+\KAuxBefore{\IfKAuxReadyTF{\KAuxProcess{init}}{}}
\KAuxInit{}
\KAuxAfter{\KnowledgeDiagnoseOutput}
\iow_new:N\knowledge_diagnosefile_iow
@@ -1577,6 +1700,21 @@
\knowledge_diagnose:n{}
\knowledge_diagnose:n{}
%
+ \bool_if:NTF\knowledge_configuration_diagnosehelp_bool
+ {
+ \knowledge_diagnose:n{********}
+ \knowledge_diagnose:n{*~Help~*}
+ \knowledge_diagnose:n{********}
+ \knowledge_diagnose:n{}
+ \knowledge_diagnose:x{\use:c{@backslashchar}\cs_to_str:N\knowledgeconfigure{diagnose~bar=false}~deactivate~`|'-notation~in~diagnose~file.}
+ \knowledge_diagnose:x{\use:c{@backslashchar}\cs_to_str:N\knowledgeconfigure{diagnose~help=false}~deactivate~long~help~in~the~diagnose~file.}
+ \knowledge_diagnose:x{\use:c{@backslashchar}\cs_to_str:N\knowledgeconfigure{diagnose~line=true}~add~line~numbers~to~diagnose~file.}
+ \knowledge_diagnose:n{}
+ }{
+ \knowledge_diagnose:x{\use:c{@backslashchar}\cs_to_str:N\knowledgeconfigure{diagnose~help=true}~to~activate~help~in~the~diagnose~file.}
+ \knowledge_diagnose:n{}
+ }
+ %
\int_compare:nNnT\kl_digest_unknownknowledge_int>0{
\knowledge_diagnose:n{************************}
\knowledge_diagnose:n{*~Undefined~knowledges~*}
@@ -1584,6 +1722,8 @@
\knowledge_diagnose:n{}
%
\knowledge_diagnose_reset_line:
+ \bool_if:NT\knowledge_configuration_diagnosebar_bool
+ {\knowledge_diagnose:x{\use:c{@backslashchar}knowledge{ignore}}}
\KAuxProcess{diagnose-unknown-suggest}
%
\knowledge_diagnose:n{}
@@ -1660,7 +1800,7 @@
\exp_args:Nc\ktuple_if_exist:NTF{\knowledge_id:nnn{#1}{#2}{#3}}
}
\cs_generate_variant:Nn
- \knowledge_knowledge_if_exist:nnnTF{VVVTF}
+ \knowledge_knowledge_if_exist:nnnTF{VVVTF,VnVTF}
\NewDocumentCommand\NewKnowledgeParamBool{smm}{
\ktuple_new_bool_index:n{#2}
\bool_new:N#3
@@ -1690,7 +1830,6 @@
}}
}
\NewDocumentCommand\NewKnowledgeParamTl{som}{
- %\tl_show:n{#2}
\IfNoValueTF{#2}
{ \tl_set:Nn\l_tmpa_tl{#3}
\tl_remove_all:Nn\l_tmpa_tl{~}
@@ -1748,28 +1887,29 @@
\seq_new:N\knowledge_visible_instances_seq
\cs_new:Nn\knowledge_push_visible_instance:n
{\seq_gpush:Nn\knowledge_visible_instances_seq{#1}}
-\cs_new:Npn\knowledge_pop_visible_instance:
- {\seq_gpop:NN\knowledge_visible_instances_seq\l_tmpa_tl}
-\cs_new:Nn\knowledge_pop_visible_instances_to:n
+\cs_new:Nn\knowledge_push_visible_instance_mark:
+ {\seq_gpush:Nn\knowledge_visible_instances_seq{|}}
+\cs_new:Nn\knowledge_pop_visible_instances_to_mark:
{\seq_gpop:NNTF\knowledge_visible_instances_seq\l_tmpa_tl
- {\exp_args:NV\tl_if_eq:nnTF\l_tmpa_tl{#1}
+ {\exp_args:NV\tl_if_eq:nnTF\l_tmpa_tl{|}
{}
- {\knowledge_pop_visible_instances_to:n{#1}}}
- {\INTERNAL_ERROR_EMPTY_POP_VISIBLE}}
+ {\knowledge_pop_visible_instances_to_mark:}}
+ {\KNOWLEDGE_INTERNAL_ERROR:_stack_of_visible_instances_is_empty_while_popping}}
\cs_new:Nn\knowledge_show_visible_instances:
{\tl_show:x
{Visible~instances~<\seq_use:Nn\knowledge_visible_instances_seq{,}>}}
-\cs_new:Nn\knowledge_import_instance:n
- {\seq_if_in:NnTF\knowledge_visible_instances_seq{#1}
- {}{\knowledge_push_visible_instance:n{#1}}}
-\NewDocumentCommand\knowledgeimport{m}
- {\kl_hide_begin:
- \scopept_label_instance_if_exist:nTF{#1}
- {\exp_args:Nx\knowledge_import_instance:n{\scopept_label_instance_use:n{#1}}}
- {\msg_warning:nnnn{scope}{unknown~label}{#1}{\knowledgeimport}}
- \kl_hide_end:
+\NewDocumentCommand\knowledgeimport{ >{\SplitList{,}}m }{
+ \kl_hide_begin:
+ \ProcessList{#1}\knowledge_knowledgeimport:n
+ \kl_hide_end:
}
-%%
+\cs_set:Nn\knowledge_knowledgeimport:n{
+ \knowledge_scopetag_warn_if_unknown:n{#1}
+ \knowledge_scopetag_ensure:n{#1}
+ \exp_args:Nc\seq_map_function:NN
+ {\knowledge_scopetag_tl[#1]_seq}
+ \knowledge_push_visible_instance:n
+ }
\keys_define:nn { knowledge~directives } {
namespace .code:n = { \tl_set:Nn\knowledge_knowledge_namespace_tl{#1} },
append .choice:,
@@ -1784,16 +1924,14 @@
export / false .code:n = {\bool_set_false:N\knowledge_knowledge_export_bool},
export / true .code:n = {\bool_set_true:N\knowledge_knowledge_export_bool},
export .default:n = false,
- instance .code:n =
- { \tl_set:Nn\knowledge_knowledge_instance_tl{#1} },
scope .code:n =
- { \knowledge_scope_track_instance:Nn\knowledge_knowledge_instance_tl{#1} },
+ { \knowledge_scope_track_scope:n{#1}
+ \tl_gput_right:Nn\knowledge_knowledge_immediate_synonym_directives_tl{,scope = {#1}}},
synonym .code:n =
{ \bool_set_true:N\knowledge_knowledge_is_synonym_bool
\exp_args:Nnx\keys_set:nn { knowledge~directives }
- {link={\exp_not:o\knowledge_knowledge_synonym_tl},
- link~instance={\exp_not:o\knowledge_knowledge_synonyminstance_tl},
- instance={\exp_not:o\knowledge_knowledge_synonyminstance_tl}}}
+ {link={\exp_not:V\knowledge_knowledge_synonymlink_tl},
+ link~instance={\exp_not:V\knowledge_knowledge_synonyminstance_tl}}},
}
\NewKAuxCommand\KAuxKnowledge{mmmm}
{Package~knowledge:~Declares~a~knowledge.~
@@ -1827,9 +1965,9 @@
\cs_generate_variant:Nn\knowledge_new_now:nnnn{nnVn}
\cs_generate_variant:Nn\knowledge_set_now:nnnn{nnVn}
\NewDocumentCommand\knowledge{}
- {\KAuxWriteLocation\__knowledge_knowledge}
-\NewDocumentCommand\__knowledge_knowledge{t! t+ m >{\SplitList{|}}o m }
-{ \kl_hide_begin:
+ {\KAuxWriteLocation\__knowledge_knowledge_init:w}
+\NewDocumentCommand\__knowledge_knowledge_init:w{t! t+ m m}{
+ \kl_hide_begin:
\group_begin:
%
\IfBooleanTF{#1}{%
@@ -1844,26 +1982,87 @@
\tl_set_eq:NN\knowledge_namespace_tl
\knowledge_default_namespace_tl
%
+ \tl_gset:Nn\knowledge_knowledge_immediate_synonym_directives_tl{synonym}
+ %
\bool_gset_false:N\knowledge_knowledge_is_synonym_bool
%
- \use:x{
- \exp_not:n{\knowledge_knowledge_process:nn{#3}}
- {\exp_not:V\knowledge_knowledgedefault_tl,\exp_not:n{#5}}}
+ \tl_if_eq:nnTF{#4}{|}
+ {\__knowledge_knowledge_cont_barnotation:nw{#3}|}
+ {\tl_if_eq:nnTF{#4}{[}
+ {\__knowledge_knowledge_cont_classical:nw{#3}[}
+ {\__knowledge_knowledge_cont_classical:nw{#3}{#4}}}
+}
+\cs_new:Nn\__knowledge_knowledge_recallsynonym:n{
+ \bool_if:NF\knowledge_knowledge_is_synonym_bool
+ {\tl_gset:Nn\knowledge_knowledge_synonymlink_tl{#1}
+ \tl_gset_eq:NN\knowledge_knowledge_synonyminstance_tl
+ \knowledge_knowledge_instance_tl}
+}
+\cs_new:Nn\__knowledge_knowledge_end:{
+ \group_end:
+ \kl_hide_end:
+}
+\NewDocumentCommand\__knowledge_knowledge_cont_classical:nw{m >{\SplitList{|}}o m }{
+ %\iow_term:n{\__knowledge_knowledge_cont_classical~{#1}{#3}}
+ \knowledge_knowledge_setparseat:NNn\l_tmpa_tl\l_tmpb_tl{#1}
%
- \bool_if:NF\knowledge_knowledge_is_synonym_bool
- {\tl_gset:Nn\knowledge_knowledge_synonym_tl{#3}
- \tl_gset_eq:NN\knowledge_knowledge_synonyminstance_tl
- \knowledge_knowledge_instance_tl}
+ \use:x{
+ \exp_not:N\knowledge_knowledge_process:nn
+ {\exp_not:V\l_tmpa_tl}
+ {\exp_not:V\knowledge_knowledgedefault_tl,
+ \exp_not:n{#3},
+ \tl_if_empty:NTF\l_tmpb_tl{}{,scope={\exp_not:V\l_tmpb_tl}}}}
+ %
+ \exp_args:NV\__knowledge_knowledge_recallsynonym:n\l_tmpa_tl
+ %\tl_show:N\l_tmpa_tl
+ %\tl_show:N\knowledge_knowledge_instance_tl
+ %\tl_show:N\knowledge_knowledge_immediate_synonym_directives_tl
%
- \IfNoValueTF{#4}{}{
+ \IfNoValueTF{#2}{}{
\cs_set:Nn\l_tmpa_cs:n
- {\exp_args:Nnx\knowledge_knowledge_process:nn{##1}{synonym}}
- \ProcessList{#4}\l_tmpa_cs:n
+ {\exp_args:Nnx\knowledge_knowledge_process:nn{##1}
+ {\exp_not:V\knowledge_knowledge_immediate_synonym_directives_tl}}
+ \ProcessList{#2}\l_tmpa_cs:n
}
%
- \group_end:
- \kl_hide_end:
+ \__knowledge_knowledge_end:
}
+\cs_new:Npn\knowledge_knowledge_barnotation_firstline:n{}
+\cs_new:Npn\knowledge_knowledge_barnotation_nextlines:n{}
+\cs_new:Npn\__knowledge_knowledge_cont_barnotation:nw#1{
+ \cs_set:Nn\knowledge_knowledge_barnotation_firstline:n{
+ %\knowledge_knowledge_setparseat\g_tmpa_tl\g_tmpb_tl{#1}
+ %\iow_term:n{\knowledge{##1}{#1}~(first)}
+ \knowledge{##1}{#1}
+ \cs_set_eq:NN
+ \knowledge_knowledge_barnotation_exec_line:n
+ \knowledge_knowledge_barnotation_nextlines:n}
+ \cs_set:Nn\knowledge_knowledge_barnotation_nextlines:n
+ {%\iow_term:n{\exp_not:n{\knowledge{##1}}{synonym}}
+ \knowledge{##1}{synonym}}
+ \cs_set_eq:NN
+ \knowledge_knowledge_barnotation_exec_line:n
+ \knowledge_knowledge_barnotation_firstline:n
+ \kl_newknowledge_parse:w
+}
+\cs_new:Npn\kl_newknowledge_parse:w{
+ \peek_charcode_remove_ignore_spaces:NTF|
+ {\kl_insert_klendline:w\knowledge_knowledge_barnotation_exec_line:w}
+ {\__knowledge_knowledge_end:}
+}
+\cs_new:Npn\knowledge_knowledge_barnotation_exec_line:w#1\kl_end_line:{
+ \knowledge_knowledge_barnotation_exec_line:n{#1}
+ \kl_newknowledge_parse:w
+}
+\char_set_catcode_active:N\^^M
+\cs_gset:Npn\kl_insert_klendline:w{\group_begin:\catcode`\^^M=\active\kl_insert_klendline_:w}
+\cs_gset:Npn\kl_insert_klendline_:w#1^^M{\group_end:#1\kl_end_line:}
+\char_set_catcode_end_line:N\^^M
+\cs_new:Nn\knowledge_knowledge_setparseat:NNn
+ {\knowledge_knowledge_setparseat_:NNw#1#2#3@@\kl_end:}
+\cs_new:Npn\knowledge_knowledge_setparseat_:NNw#1#2#3@#4@#5\kl_end:
+ {\tl_set:Nx#1{\tl_trim_spaces:n{#3}}
+ \tl_set:Nx#2{\tl_trim_spaces:n{#4}}}
\NewDocumentCommand\knowledgestyle{ s m m }
{ \kl_hide_begin:
\group_begin:
@@ -1886,8 +2085,9 @@
\bool_new:N\knowledge_knowledge_autoref_bool
\bool_new:N\knowledge_knowledge_clear_bool
\bool_new:N\knowledge_knowledge_append_bool
-\tl_clear_new:N\knowledge_knowledge_synonym_tl
+\tl_clear_new:N\knowledge_knowledge_synonymlink_tl
\tl_clear_new:N\knowledge_knowledge_synonyminstance_tl
+\tl_clear_new:N\knowledge_knowledge_immediate_synonym_directives_tl
\tl_clear_new:N\knowledge_knowledge_export_bool
\tl_clear_new:N\knowledge_knowledge_key_tl
\tl_clear_new:N\knowledge_knowledge_namespace_tl
@@ -1913,9 +2113,9 @@
{}
%
\bool_if:NT\knowledge_knowledge_clear_bool
- {\tl_put_left:Nn\knowledge_knowledge_directives_tl{clear,}}
+ {\tl_put_left:Nn\knowledge_knowledge_directives_tl{clear,}}
\bool_if:NT\knowledge_knowledge_append_bool
- {\tl_put_left:Nn\knowledge_knowledge_directives_tl{force,}}
+ {\tl_put_left:Nn\knowledge_knowledge_directives_tl{force,}}
%
\bool_if:nTF{\knowledge_knowledge_now_bool}
{\use:x{
@@ -1964,17 +2164,24 @@
{\tl_set:Nn\knowledge_knowledge_directives_tl{#1}}
{\tl_put_right:Nn\knowledge_knowledge_directives_tl{,#1}}}
\cs_generate_variant:Nn\knowledge_delay_directive:n{x}
-\NewDocumentCommand\knowledgedirective{mom}{
+\NewDocumentCommand\knowledgedirective{smom}{
\kl_hide_begin:
- \cs_new:cn
- {knowledgedirective_#1:n}
- {\keys_set:nn{ knowledge~directives }{#3}}
- \keys_define:nn{ knowledge~directives }
- {#1 .code:n = {\use:c{knowledgedirective_#1:n}{##1}}}
- \IfNoValueF{#2}
- {\keys_define:nn{ knowledge~directives }{#1 .default:n = {#2}}}
+ \keys_if_exist:nnTF{ knowledge~directives }{ #2 }
+ {\IfBooleanTF{#1}
+ {\knowledgedirective:nnn{#2}{#3}{#4}}
+ {\msg_error:nnn{ knowledge }{ knowledgedirective~redifinition }{#2}}}
+ {\knowledgedirective:nnn{#2}{#3}{#4}}
\kl_hide_end:
}
+\cs_new:Nn\knowledgedirective:nnn{
+ \cs_set:cn
+ {knowledgedirective_#1:n}
+ {\keys_set:nn{ knowledge~directives }{#3}}
+ \keys_define:nn{ knowledge~directives }
+ {#1 .code:n = {\use:c{knowledgedirective_#1:n}{##1}}}
+ \IfNoValueF{#2}
+ {\keys_define:nn{ knowledge~directives }{#2 .default:n = {#2}}}
+}
\tl_new:N\knowledge_knowledgedefault_tl
\NewDocumentCommand\knowledgedefault{sm}{
\kl_hide_begin:
@@ -2008,14 +2215,18 @@
\tl_gnew:Nn\knowledge_display_code_tl{INTERNAL~ERROR~DISPLAY~CODE}
\NewDocumentCommand\klTKS{}{\knowledge_klTKS:nnn}
\cs_new:Nn\knowledge_klTKS:nnn{
+ %\iow_term:n{\knowledge_klTKS:nnn{#1}{#2}{#3}}
\group_begin:
%
\tl_set:Nx\knowledge_kl_linkscope_tl{\tl_to_str:n{#3}}
- \tl_set:Nn\knowledge_kl_instance_tl{}
+ \tl_set:Nn\knowledge_kl_linkinstance_tl{}
\tl_set:Nn\knowledge_kl_text_tl{#1}
\tl_set:Nx\knowledge_kl_base_key_tl{\tl_to_str:n{#2}}
\tl_set_eq:NN\knowledge_kl_key_tl\knowledge_kl_base_key_tl
\int_set_eq:NN\knowledge_kl_recursion_int\knowledge_kl_max_recursion_int
+ %\debug_vars:nn{klTKS:nnn}
+ % {\knowledge_kl_linkscope_tl\knowledge_kl_linkinstance_tl
+ % \knowledge_kl_text_tl\knowledge_kl_base_key_tl}
%
\tl_if_exist:cTF
{knowledge_kl_\tl_to_str:V\knowledge_kl_modifiers_tl _init_tl}
@@ -2033,14 +2244,14 @@
}
\int_const:Nn\knowledge_kl_max_recursion_int{40}
\int_new:N\knowledge_kl_recursion_int
-\cs_set:Nn\knowledge_kl_find:{
+\cs_new:Nn\knowledge_kl_find:{
\knowledge_kl_find_recursion_exceeded:TF
- {\knowledge_kl_error_recursion:}
- {\tl_if_empty:NTF\knowledge_kl_instance_tl
- {\tl_if_empty:NTF\knowledge_kl_linkscope_tl
- \knowledge_kl_find_withoutscope:
- \knowledge_kl_find_withscope:}
- \knowledge_kl_find_withinstance:}
+ \knowledge_kl_error_recursion:
+ {\tl_if_empty:NTF\knowledge_kl_linkscope_tl
+ {\tl_if_empty:NTF\knowledge_kl_linkinstance_tl
+ {\knowledge_kl_find_withoutscope:}
+ {\knowledge_kl_find_withinstance:}}
+ \knowledge_kl_find_withscopetag:}
}
\cs_set:Npn\knowledge_kl_find_recursion_exceeded:TF{
\int_decr:N\knowledge_kl_recursion_int
@@ -2049,29 +2260,54 @@
\cs_new:Nn\knowledge_kl_find_withinstance:{
\knowledge_knowledge_if_exist:VVVTF
\knowledge_kl_namespace_tl
- \knowledge_kl_instance_tl
+ \knowledge_kl_linkinstance_tl
\knowledge_kl_key_tl
{\knowledge_kl_exec:nnV
\knowledge_kl_namespace_tl
- \knowledge_kl_instance_tl
+ \knowledge_kl_linkinstance_tl
\knowledge_kl_key_tl}
{ \knowledge_kl_error_unknown_in_scope_firsttime: }
}
-\cs_new:Nn\knowledge_kl_find_withscope:{
- \exp_args:NV
- \scopept_label_instance_if_exist:nTF\knowledge_kl_linkscope_tl
- { \tl_set:Nx\knowledge_kl_instance_tl
- {\scopept_label_instance_use:n{\knowledge_kl_linkscope_tl}}
- \knowledge_kl_find_withinstance: }
- { \knowledge_kl_error_label_unknown: }
+\cs_new:Nn\knowledge_kl_find_withscopetag:{
+ %\debug_vars:nn{\knowledge_kl_find_withscopetag:}{\knowledge_kl_linkscope_tl}
+ \exp_args:NV\knowledge_scopetag_warn_if_unknown:n\knowledge_kl_linkscope_tl
+ \tl_clear:N\l_tmpa_tl
+ \exp_args:Nc\seq_map_function:NN
+ {\knowledge_scopetag_tl[\knowledge_kl_linkscope_tl]_seq}
+ \knowledge_kl_find_scopetag_tmpa:n
+ % tests whether the search was successful
+ \tl_if_empty:NTF\l_tmpa_tl
+ {\knowledge_kl_error_unknown_in_scope_firsttime:}
+ {\knowledge_kl_exec:VVV
+ \knowledge_kl_namespace_tl
+ \l_tmpa_tl
+ \knowledge_kl_key_tl}
+}
+\cs_new:Npn\knowledge_kl_find_scopetag_tmpa:n{
+ \knowledge_kl_find_scopetag:Nn\l_tmpa_tl
+}
+\cs_new:Nn\knowledge_kl_find_scopetag:Nn{
+ \tl_if_empty:NTF#1
+ {\knowledge_knowledge_if_exist:VnVTF
+ \knowledge_kl_namespace_tl
+ {#2}%instance
+ \knowledge_kl_key_tl
+ {\tl_set:Nn#1{#2}}
+ {}}
+ {}
}
\cs_new:Nn\knowledge_kl_find_withoutscope:{
+ %\debug_vars:nn{\knowledge_kl_find_withoutscope:}
+ % {\knowledge_kl_key_tl\knowledge_kl_linkinstance_tl}
+ %\exp_args:NVVV\knowledge_knowledge_if_exist:nnnTF
+ % \knowledge_kl_namespace_tl\knowledge_kl_linkinstance_tl\knowledge_kl_key_tl
+ % {\tl_show:n{found}}{\tl_show:n{not~found}}
\knowledge_kl_find_in_scope:VNTF
\knowledge_kl_key_tl
- \knowledge_kl_instance_tl
- {\knowledge_kl_exec:nnV
+ \knowledge_kl_linkinstance_tl
+ {\knowledge_kl_exec:VVV
\knowledge_kl_namespace_tl
- \knowledge_kl_instance_tl
+ \knowledge_kl_linkinstance_tl
\knowledge_kl_key_tl}
{\knowledge_kl_error_unknown_firsttime:}
}
@@ -2081,6 +2317,7 @@
}
\cs_new:Nn\knowledge_kl_find_in_scope:nnNTF{
\group_begin:
+ %\tl_show:n{\knowledge_kl_find_in_scope:~#1/#2/#3}
\tl_set:Nn\l_tmpa_tl{#1}
\tl_set:Nn\l_tmpb_tl{#2}
\bool_gset_false:N\g_tmpa_bool
@@ -2093,23 +2330,34 @@
{#5}
}
\cs_new:Nn\knowledge_kl_find_in_scope_test:n{
+ \tl_if_eq:nnTF{#1}{|}{}{
+ \knowledge_kl_find_in_scope_test_:n{#1}
+ \seq_if_exist:cTF{\knowledge_scopetag_tl[#1]_seq}
+ {\exp_args:Nc\seq_map_function:NN
+ {\knowledge_scopetag_tl[#1]_seq}
+ \knowledge_kl_find_in_scope_test_:n
+ }{}}
+}
+\cs_new:Nn\knowledge_kl_find_in_scope_test_:n{
\exp_args:Nc\ktuple_if_exist:NTF
{\knowledge_id:nnV{\l_tmpa_tl}{#1}\l_tmpb_tl}
{\bool_gset_true:N\g_tmpa_bool
\tl_gset:Nn\g_tmpa_tl{#1}
- \seq_map_break:}{}}
+ \seq_map_break:}{}
+}
\cs_generate_variant:Nn\knowledge_kl_find_in_scope:nnNTF{nVNTF}
\cs_generate_variant:Nn\knowledge_kl_find_in_scope:nNTF{VNTF}
\cs_new:Nn\knowledge_kl_exec:nnn{
\tl_set:Nx\knowledge_kl_resourcearguments_tl
{{#1}{#2}{\exp_not:n{#3}}}
+ %\debug_vars:nn{\knowledge_kl_exec:nnn}{\knowledge_kl_resourcearguments_tl}
\exp_args:NNc\tl_set:Nn\knowledge_kl_resourcetoken_tl
{\knowledge_id:nnn{#1}{#2}{#3}}
\expandafter\ktuple_countuse_gincr:N\knowledge_kl_resourcetoken_tl
%
\tl_clear:N\knowledge_kl_link_tl
\tl_clear:N\knowledge_kl_linkscope_tl
- \tl_clear:N\knowledge_kl_instance_tl
+ \tl_clear:N\knowledge_kl_linkinstance_tl
\tl_map_function:NN
\knowledge_kl_styledirectives_tl
\tl_clear:N
@@ -2136,7 +2384,7 @@
\knowledge_kl_compute_code:
}
}
-\cs_generate_variant:Nn\knowledge_kl_exec:nnn{nnV}
+\cs_generate_variant:Nn\knowledge_kl_exec:nnn{nnV,VVV}
\cs_new:Nn\knowledge_kl_use_styles:n
{\clist_map_function:nN{#1}\knowledge_kl_use_style:n}
\cs_generate_variant:Nn\knowledge_kl_use_styles:n {x}
@@ -2179,13 +2427,25 @@
{}
\DeclareKAuxPhaseCommand\KAuxErrorKnowledgeUnknown{diagnose-unknown-suggest}
{ \knowledge_diagnose_line:
- \tl_set_eq:Nc\l_tmpa_tl{knowledge_kl_\cs_to_str:N#5_suggestion_tl}
- \tl_if_empty:nTF{#2}{}
- {\tl_if_empty:NTF\l_tmpa_tl{}
- {\tl_put_right:Nn\l_tmpa_tl{,}}
- \tl_put_right:Nn\l_tmpa_tl{scope={#2}}}
- \knowledge_diagnose:x
- {\exp_not:n{\knowledge{#3}}{\exp_not:V\l_tmpa_tl}}
+ \tl_set_eq:Nc\l_tmpa_tl{knowledge_kl_\cs_to_str:N#5_suggestion_tl}
+ \tl_if_eq:nnTF{#1}{default}
+ {}
+ {\tl_if_empty:NTF\l_tmpa_tl{}{\tl_put_right:Nn\l_tmpa_tl{,}
+ \tl_put_right:Nn\l_tmpa_tl{namespace={#1}}}}
+
+ \bool_if:NTF\knowledge_configuration_diagnosebar_bool{
+ %\knowledge_diagnose:x{\char_escape_tl knowledge{\exp_not:V\l_tmpa_tl}}
+ \tl_set:Nn\l_tmpa_tl{~~~|~~#3}
+ \tl_if_empty:nTF{#2}{}
+ {\tl_put_right:Nn\l_tmpa_tl{@#2}}
+ \knowledge_diagnose:x{\exp_not:V\l_tmpa_tl}
+ }{
+ \tl_if_empty:nTF{#2}{}
+ {\tl_if_empty:NTF\l_tmpa_tl{}{\tl_put_right:Nn\l_tmpa_tl{,}}
+ \tl_put_right:Nn\l_tmpa_tl{scope={#2}}}
+ \knowledge_diagnose:x
+ {\char_escape_tl knowledge\exp_not:n{{#3}}{\exp_not:V\l_tmpa_tl}}
+ }
}
\cs_new:Nn\knowledge_kl_error_unknown_firsttime:
{\bool_if:cTF{\knowledge_variant_var:n{unknownwarning_bool}}
@@ -2193,7 +2453,7 @@
\msg_warning:nnxxx{ knowledge }{ knowledge~unknown }
{\exp_not:V\knowledge_kl_key_tl}
{\exp_not:V\knowledge_kl_namespace_tl}
- {\seq_use:Nn\knowledge_visible_instances_seq{~|~}}}
+ {\seq_use:Nn\knowledge_visible_instances_seq{|}}}
}{}
\bool_if:cTF{\knowledge_variant_var:n{unknowndiagnose_bool}}
{\KAuxWriteX{
@@ -2286,36 +2546,38 @@
\cs_new:Nn\knowledge_variant_var:n
{knowledge_kl_\expandafter\cs_to_str:N\knowledge_kl_command_tl _#1}
\NewDocumentCommand\knowledgenewvariant{mm}{
- \exp_args:Nc\tl_new:Nn
+ \tl_if_exist:cTF{knowledge_kl_\cs_to_str:N#1_command_tl}
+ {\knowledge_error:n{Variant~#1~already~exists~(in~\knowledgenewvariant).}}
+ {\exp_args:Nc\tl_new:Nn
{knowledge_kl_\cs_to_str:N#1_command_tl}
{#1}
- %
- %
- \NewDocumentCommand#1{s}
- {\knowledge_kl_modifiers_add:N#1
- \IfBooleanF{##1}{\knowledge_kl:w}}
- %
- \tl_new_eq:cN
- {knowledge_kl_\cs_to_str:N#1_namespace_tl}
- \knowledge_default_namespace_tl
- \tl_new:cx{knowledge_kl_\cs_to_str:N#1_suggestion_tl}{}
- \bool_new_true:c{knowledge_kl_\cs_to_str:N#1_unknownwarning_bool}
- \bool_new_true:c{knowledge_kl_\cs_to_str:N#1_unknowndiagnose_bool}
- \tl_new:cn{knowledge_kl_\cs_to_str:N#1_default_style_tl}{}
- \tl_new:cn{knowledge_kl_\cs_to_str:N#1_unknown_style_tl}{}
- \tl_new:cn{knowledge_kl_\cs_to_str:N#1_unknown_style_cont_tl}{}
- \tl_new:cx{knowledge_kl_\cs_to_str:N#1_autoknowledge_tl}{}
- \tl_new:cx{knowledge_kl_\cs_to_str:N#1_styledirectives_tl}{}
- %
- \bool_if:NT\knowledge_hyperref_active_bool
- {\exp_args:Nx\pdfstringdefDisableCommands
- {\exp_not:N\def\exp_not:N#1
- {\exp_not:N\knowledge_variant_arg_absorber:Nw
- \exp_not:c{\cs_to_str:N#1_PDFstring}}}}
- \exp_args:Nc\newcommand{\cs_to_str:N#1_PDFstring}[3]{##1}
- %
- \tl_new:cx{knowledge_kl_\tl_to_str:n{#1*} _init_tl}
- {
+ %
+ %
+ \NewDocumentCommand#1{s}
+ {\knowledge_kl_modifiers_add:N#1
+ \IfBooleanF{##1}{\knowledge_kl:w}}
+ %
+ \tl_new_eq:cN
+ {knowledge_kl_\cs_to_str:N#1_namespace_tl}
+ \knowledge_default_namespace_tl
+ \tl_new:cx{knowledge_kl_\cs_to_str:N#1_suggestion_tl}{}
+ \bool_new_true:c{knowledge_kl_\cs_to_str:N#1_unknownwarning_bool}
+ \bool_new_true:c{knowledge_kl_\cs_to_str:N#1_unknowndiagnose_bool}
+ \tl_new:cn{knowledge_kl_\cs_to_str:N#1_default_style_tl}{}
+ \tl_new:cn{knowledge_kl_\cs_to_str:N#1_unknown_style_tl}{}
+ \tl_new:cn{knowledge_kl_\cs_to_str:N#1_unknown_style_cont_tl}{}
+ \tl_new:cx{knowledge_kl_\cs_to_str:N#1_autoknowledge_tl}{}
+ \tl_new:cx{knowledge_kl_\cs_to_str:N#1_styledirectives_tl}{}
+ %
+ \bool_if:NT\knowledge_hyperref_active_bool
+ {\exp_args:Nx\pdfstringdefDisableCommands
+ {\exp_not:N\def\exp_not:N#1
+ {\exp_not:N\knowledge_variant_arg_absorber:Nw
+ \exp_not:c{\cs_to_str:N#1_PDFstring}}}}
+ \exp_args:Nc\newcommand{\cs_to_str:N#1_PDFstring}[3]{##1}
+ %
+ \tl_new:cx{knowledge_kl_\tl_to_str:n{#1*} _init_tl}
+ {
\exp_not:n{\tl_set_eq:NN\knowledge_kl_command_tl}
\exp_not:c{knowledge_kl_\cs_to_str:N#1_command_tl}
\exp_not:n{\tl_set_eq:NN\knowledge_kl_namespace_tl}
@@ -2330,10 +2592,11 @@
\exp_not:c{knowledge_kl_\cs_to_str:N#1 _styledirectives_tl}
\exp_not:c{knowledge_kl_\cs_to_str:N#1 _autoknowledge_tl}
}
- %
- %\bool_if:NT\knowledge_hyperref_active_bool
- % {\pdfstringdefDisableCommands{\let#1\knowledge_fake_kl:n}}
- %
+ %
+ %\bool_if:NT\knowledge_hyperref_active_bool
+ % {\pdfstringdefDisableCommands{\let#1\knowledge_fake_kl:n}}
+ %
+ }
\knowledgesetvariant#1{#2}
}
\DeclareExpandableDocumentCommand\knowledge_variant_arg_absorber:Nw
@@ -2345,10 +2608,14 @@
\tl_new:N\knowledge_variant_command_tl
\tl_new:N\knowledge_variant_key_tl
\NewDocumentCommand\knowledgesetvariant{mm}{
- \tl_set:Nn\knowledge_variant_command_tl{#1}
- \tl_set:Nx\knowledge_variant_key_tl{\cs_to_str:N#1}
- %
- \keys_set:nn{ knowledge~configure~variant }{#2}
+ \tl_if_exist:cTF{knowledge_kl_\cs_to_str:N#1_command_tl}
+ {
+ \tl_set:Nn\knowledge_variant_command_tl{#1}
+ \tl_set:Nx\knowledge_variant_key_tl{\cs_to_str:N#1}
+ %
+ \keys_set:nn{ knowledge~configure~variant }{#2}
+ }
+ {\knowledge_error:n{Variant~#1~does~not~exist~(in~\knowledgesetvariant).}}
}
\keys_define:nn{ knowledge~configure~variant }{
namespace .code:n =
@@ -2437,13 +2704,13 @@
\NewKnowledgeParamBool*{lowercase}\kl_lowercase_bool
\NewKnowledgeParamBool*{uppercase}\kl_uppercase_bool
\NewKnowledgeParamTl*{link}
-\NewKnowledgeParamTl*{link~scope}
-\NewKnowledgeParamTl*[\knowledge_kl_instance_tl]{link~instance}
+\NewKnowledgeParamTl*[\knowledge_kl_linkscope_tl]{link~scope}
+\NewKnowledgeParamTl*[\knowledge_kl_linkinstance_tl]{link~instance}
\NewKnowledgeParamTl*[\knowledge_kl_forcedtext_tl]{text}
\NewKnowledgeParamTl*{wrap}
\NewKnowledgeParamBool*{UnKnoWn~KNowLedGE}\kl_unknown_knowledge_bool
-\bool_gset_false:N\kl_unknown_knowledge_bool
+\bool_set_false:N\kl_unknown_knowledge_bool
\ktuple_new_int_index:n{countuse}
\ktuple_countuse_expands_to:n{}
\ktuple_new_int_index:n{countintro}
@@ -2521,7 +2788,7 @@
\int_compare:nNnT\kl_countuse_int>0
{\int_compare:nNnT\kl_countintro_int=0
{\knowledge_diagnose_line:
- \knowledge_diagnose:n{\nointro{#1}{#2}{#3}}}}
+ \knowledge_diagnose:x{\char_escape_tl nointro{\exp_not:n{#1}}{\exp_not:n{#2}}{\exp_not:n{#3}}}}}
\group_end:}
\DeclareKAuxPhaseCommand\KAuxAutoref{autoref-introduced-not-used}
{\group_begin:
@@ -2644,7 +2911,7 @@
\tl_set:Nx\l_tmpa_tl
{\int_compare:nNnTF\l_tmpa_int=1
{} {\int_to_alph:n\l_tmpa_int}}
- \exp_args:Nx\label{\exp_not:V\knowledge_kl_autoref_tl\l_tmpa_tl}}
+ \exp_args:Nx\LaTeXlabel{\exp_not:V\knowledge_kl_autoref_tl\l_tmpa_tl}}
\expandafter\ktuple_countintro_gincr:N
\knowledge_kl_resourcetoken_tl
\KAuxWriteX
@@ -2664,7 +2931,7 @@
}}{}
}
-\cs_new:Npn\kl_up:n{\mode_if_math:TF\mathup\textup}
+\cs_new:Npn\kl_up:n{\mode_if_math:TF\use:n\textup}
\cs_new:Npn\kl_md:n{\mode_if_math:TF\mathmd\textmd}
\cs_new:Npn\kl_sc:n{\mode_if_math:TF\mathsc\textsc}
\cs_new:Npn\kl_it:n{\mode_if_math:TF\mathit\textit}
@@ -2698,13 +2965,14 @@
{\exp_not:V\knowledge_kl_text_tl}
}
}
-\NewDocumentCommand\AP{}
+\NewDocumentCommand\knowledge_anchor_point_cs:{}
{\bool_if:NT\knowledge_hyperref_active_bool
{\strut\vadjust{\knowledge_AP_internal:}}}
\NewDocumentCommand\itemAP{o}{
\IfNoValueTF{#1}
- {\item\AP}
+ {\item\knowledge_anchor_point_cs:}
{\item[\knowledge_itemAP: #1]}}
+\let\AP\knowledge_anchor_point_cs:
\int_new:N\kl_hyperref_kl_nesting_count_int
\bool_new:N\kl_hyperref_active_here_bool
\bool_set_true:N\kl_hyperref_active_here_bool
@@ -2943,6 +3211,12 @@
}
\ExplSyntaxOn
\makeatother
+\bool_if:NT\knowledge_option_texpatch_bool{
+ \bool_if:NT\knowledge_hyperref_active_bool{
+ \hypersetup{breaklinks}
+ \hypersetup{hidelinks}
+ }
+}
\bool_if:NF\knowledge_option_composition_bool
{\bool_if:NF\knowledge_option_paper_bool}
{\bool_set_true:N\knowledge_option_composition_bool}
@@ -2994,14 +3268,14 @@
\knowledgenewvariant\kl{
namespace= default,
- default style= {kl,autoref link},
+ default style= {autoref link},
unknown style= kl unknown,
unknown style cont= kl unknown cont,
- style directive={style}
+ style directive= style
}
\knowledgenewvariant\intro{
namespace= default,
- default style= {intro,autoref target},
+ default style= {autoref target},
unknown style= intro unknown,
unknown style cont= intro unknown cont,
style directive= intro style
@@ -3014,11 +3288,11 @@
}
\knowledgenewvariant\reintro{
namespace=default,
- default style=intro,
unknown style=intro unknown,
unknown style cont=intro unknown cont,
style directive=intro style
}
+
\knowledgevariantmodifier{\intro*\kl}{\intro}
\knowledgevariantmodifier{\reintro*\kl}{\reintro}
@@ -3029,30 +3303,24 @@
\expandafter{\tl_to_str:n{#1}}}
\newcommand\robustdisplaybracket[1]
{[\robustdisplay{#1}]}
-
+\knowledgedirective{ignore}{}
\ExplSyntaxOff
\IfKnowledgePaperModeTF{
- \knowledgestyle{kl}{}
\knowledgestyle{kl unknown}{}
\knowledgestyle{kl unknown cont}{}
- \knowledgestyle{intro}{emphasize,index style=knowledgeIntroIndexStyle}
\knowledgestyle{intro unknown}{emphasize}
\knowledgestyle{intro unknown cont}{emphasize}
}{}
\IfKnowledgeCompositionModeTF{
\IfXcolorTF{
- \knowledgestyle{kl}{color={blue!70!black}}
\knowledgestyle{kl unknown}{color=orange}
\knowledgestyle{kl unknown cont}{color=brown}
- \knowledgestyle{intro}{emphasize,color=blue,index style=knowledgeIntroIndexStyle}
\knowledgestyle{intro unknown}{emphasize,color=orange}
\knowledgestyle{intro unknown cont}{emphasize,color=brown}
}{
- \knowledgestyle{kl}{}
\knowledgestyle{kl unknown}{underline}
\knowledgestyle{kl unknown cont}{underline}
- \knowledgestyle{intro}{emphasize,index style=introindexstyle}
\knowledgestyle{intro unknown}{emphasize,underline}
\knowledgestyle{intro unknown cont}{emphasize,underline}
}
@@ -3060,17 +3328,13 @@
\IfKnowledgeElectronicModeTF{
\IfXcolorTF{
- \knowledgestyle{kl}{color={blue!70!black}}
\knowledgestyle{kl unknown}{}
\knowledgestyle{kl unknown cont}{}
- \knowledgestyle{intro}{emphasize,color=blue,index style=introindexstyle}
\knowledgestyle{intro unknown}{emphasize}
\knowledgestyle{intro unknown cont}{emphasize}
}{
- \knowledgestyle{kl}{}
\knowledgestyle{kl unknown}{}
\knowledgestyle{kl unknown cont}{}
- \knowledgestyle{intro}{emphasize,index style=introindexstyle}
\knowledgestyle{intro unknown}{emphasize}
\knowledgestyle{intro unknown cont}{emphasize}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/knowledge.tlpobj new/tlpkg/tlpobj/knowledge.tlpobj
--- old/tlpkg/tlpobj/knowledge.tlpobj 2019-02-28 03:46:00.000000000 +0100
+++ new/tlpkg/tlpobj/knowledge.tlpobj 2020-03-06 01:02:34.000000000 +0100
@@ -1,6 +1,6 @@
name knowledge
category Package
-revision 50031
+revision 54121
shortdesc Displaying, hyperlinking, and indexing notions in a document
relocated 1
longdesc The package offers a systematic way to handle
@@ -8,12 +8,11 @@
longdesc an index. In combination with hyperref it makes it easy to have
longdesc every reference of a concept linked to its introduction. It
longdesc also offers simple notations.
-runfiles size=29
+runfiles size=32
RELOC/tex/latex/knowledge/knowledge.sty
catalogue-contact-home https://www.irif.fr/~colcombe/knowledge_en.html
catalogue-contact-repository https://www.irif.fr/~colcombe/Knowledge/
catalogue-ctan /macros/latex/contrib/knowledge
-catalogue-date 2019-02-15 19:38:03 +0100
catalogue-license lppl1.2
-catalogue-topics index label-ref
-catalogue-version 1.16
+catalogue-topics index label-ref expl3
+catalogue-version 1.22
++++++ koma-script.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-m/koma-script.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-m.new.3606/koma-script.tar.xz differ: char 26, line 1
++++++ kotex-oblivoir.doc.tar.xz ++++++
++++ 7022 lines of diff (skipped)
++++++ kotex-oblivoir.tar.xz ++++++
++++ 7852 lines of diff (skipped)
++++++ kpathsea.doc.tar.xz ++++++
++++ 2810 lines of diff (skipped)
++++++ kpathsea.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/web2c/fmtutil.cnf new/texmf-dist/web2c/fmtutil.cnf
--- old/texmf-dist/web2c/fmtutil.cnf 2019-03-23 02:25:33.000000000 +0100
+++ new/texmf-dist/web2c/fmtutil.cnf 2020-04-16 01:56:36.000000000 +0200
@@ -1,27 +1,29 @@
-# Generated by /home/texlive/karl/Master/bin/x86_64-linux/tlmgr on Sat Mar 23 02:25:32 2019
-# $Id: fmtutil-hdr.cnf 37176 2015-05-04 02:06:19Z preining $
+# Generated by /home/texlive/karl/Master/bin/x86_64-linux/tlmgr on Thu Apr 16 01:56:35 2020
+# $Id: fmtutil-hdr.cnf 53804 2020-02-16 17:57:32Z karl $
# Originally written by Thomas Esser, 1998. Public domain.
#
-# As of TeX Live 2015, fmtutil reads *all* fmtutil.cnf files found.
-# Consequently, any manual edits of this file (fmtutil.cnf in the
-# TEXMFDIST tree) will be lost on update. So don't do that.
-#
-# For guidance on how to achieve local configurations, see the man
+# For guidance on how to support local formats, see the man
# page of fmtutil, or the output of fmtutil --help.
+#
+# any manual edits of this file (fmtutil.cnf in the TEXMFDIST tree) will
+# be lost on update. So don't do that.
#
# The format of the table is:
#
# format engine pattern-file arguments
+# Either spaces or tabs can be used as separators.
#
-# The last "argument" must be the name of the file on which to run
-# the ini-engine (such as initex). If the ini-engine is e-TeX, and the
-# e-TeX extensions should be enabled, the filename must be prefixed with
-# a * character; this is essentially equivalent to the -etex option.
+# The last "argument" must be the name of the file on which to run the
+# engine (e.g., initex). If the ini-engine is e-TeX (or compatible), and
+# the e-TeX extensions need to be enabled explicitly, the filename must
+# be prefixed with a * character; this is essentially equivalent to the
+# -etex option. (So don't use it if the engine doesn't support -etex.)
#
-# fmtutil always passes the -ini option to the engine.
+# The purpose of the pattern-file is to support fmtutil's --byhyphen
+# option. It is not included in the command line to rebuild the format.
# If no pattern-file is desired, use -.
-# Either spaces or tabs can be used as separators.
-#
+# fmtutil always passes the -ini option to the engine.
+#
# Other notes:
# 1) tex and amstex just load hyphen.tex. No customization.
# You can have your own customized (via babel's hyphen.cfg)
@@ -35,7 +37,9 @@
#
# 4) usual comments start with "# ", whereas disabled configurations
# start with "#! " in this file.
-
+#
+# 5) The entries in the main TeX Live fmtutil.cnf are created from the
+# AddFormat directives in (ultimately) the *.tlpsrc files. Don't edit here.
#
# from aleph:
aleph aleph - *aleph.ini
@@ -58,10 +62,10 @@
#
# from csplain:
csplain pdftex - -etex -enc csplain-utf8.ini
-pdfcsplain pdftex - -etex -enc csplain-utf8.ini
luacsplain luatex - -etex csplain.ini
-pdfcsplain xetex - -etex csplain.ini
pdfcsplain luatex - -etex csplain.ini
+pdfcsplain pdftex - -etex -enc csplain-utf8.ini
+pdfcsplain xetex - -etex csplain.ini
#
# from eplain:
eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini
@@ -71,19 +75,30 @@
pdfjadetex pdftex language.dat *pdfjadetex.ini
#
# from latex-bin:
+dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini
latex pdftex language.dat -translate-file=cp227.tcx *latex.ini
+lualatex luahbtex language.dat,language.dat.lua lualatex.ini
pdflatex pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini
-dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini
-lualatex luatex language.dat,language.dat.lua lualatex.ini
-#! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini
+#
+# from latex-bin-dev:
+dvilualatex-dev luatex language.dat,language.dat.lua dvilualatex.ini
+latex-dev pdftex language.dat -translate-file=cp227.tcx *latex.ini
+lualatex-dev luahbtex language.dat,language.dat.lua lualatex.ini
+pdflatex-dev pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini
#
# from lollipop:
lollipop tex - lollipop.ini
#
+# from luahbtex:
+luahbtex luahbtex language.def,language.dat.lua luatex.ini
+#
+# from luajittex:
+luajithbtex luajithbtex language.def,language.dat.lua luatex.ini
+luajittex luajittex language.def,language.dat.lua luatex.ini
+#
# from luatex:
-luatex luatex language.def,language.dat.lua luatex.ini
dviluatex luatex language.def,language.dat.lua dviluatex.ini
-luajittex luajittex language.def,language.dat.lua luatex.ini
+luatex luatex language.def,language.dat.lua luatex.ini
#
# from metafont:
mf mf-nowin - -translate-file=cp227.tcx mf.ini
@@ -103,17 +118,21 @@
# from mptopdf:
mptopdf pdftex - -translate-file=cp227.tcx mptopdf.tex
#
+# from optex:
+optex luatex hyphen-lan.opm optex.ini
+#
# from pdftex:
-pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
etex pdftex language.def -translate-file=cp227.tcx *etex.ini
pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
+pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
#
# from platex:
platex eptex language.dat *platex.ini
+platex-dev eptex language.dat *platex.ini
#
# from ptex:
-ptex ptex - ptex.ini
eptex eptex language.def *eptex.ini
+ptex ptex - ptex.ini
#
# from tex:
tex tex - tex.ini
@@ -123,15 +142,19 @@
#
# from uplatex:
uplatex euptex language.dat *uplatex.ini
+uplatex-dev euptex language.dat *uplatex.ini
#
# from uptex:
-uptex uptex - uptex.ini
euptex euptex language.def *euptex.ini
+uptex uptex - uptex.ini
+#
+# from xelatex-dev:
+xelatex-dev xetex language.dat -etex xelatex.ini
#
# from xetex:
-xetex xetex language.def -etex xetex.ini
xelatex xetex language.dat -etex xelatex.ini
+xetex xetex language.def -etex xetex.ini
#
# from xmltex:
-xmltex pdftex language.dat *xmltex.ini
pdfxmltex pdftex language.dat *pdfxmltex.ini
+xmltex pdftex language.dat *xmltex.ini
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/web2c/texmf.cnf new/texmf-dist/web2c/texmf.cnf
--- old/texmf-dist/web2c/texmf.cnf 2019-03-25 23:15:36.000000000 +0100
+++ new/texmf-dist/web2c/texmf.cnf 2020-03-01 23:41:34.000000000 +0100
@@ -4,8 +4,9 @@
% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
% updated. Instead, put your changes -- and only your changes, not an
% entire copy! -- in ../../texmf.cnf. That is, if this file is
-% installed in /some/path/to/texlive/2018/texmf-dist/web2c/texmf.cnf,
-% add your custom settings to /some/path/to/texlive/2018/texmf.cnf.
+% installed in /some/path/to/texlive/2020/texmf-dist/web2c/texmf.cnf,
+% add your custom settings to /some/path/to/texlive/2020/texmf.cnf.
+% (Below, we use YYYY in place of the specific year.)
%
% What follows is a super-summary of what this .cnf file can
% contain. Please read the Kpathsea manual for more information.
@@ -83,10 +84,10 @@
TEXMFHOME = ~/texmf
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
-TEXMFVAR = ~/.texlive2019/texmf-var
+TEXMFVAR = ~/.texlive2020/texmf-var
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
-TEXMFCONFIG = ~/.texlive2019/texmf-config
+TEXMFCONFIG = ~/.texlive2020/texmf-config
% This is the value manipulated by tlmgr's auxtrees subcommand in the
% root texmf.cnf. Kpathsea warns about a literally empty string for a
@@ -167,90 +168,111 @@
% formats, past or present. Not all of them are built these days.
% Plain TeX. Have the command tex check all directories as a last
-% resort, we may have plain-compatible stuff anywhere.
-TEXINPUTS.tex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}//
+% resort, we may have plain-compatible stuff anywhere. Prefer
+% latex/ to latex-dev/, implying that we have to add a latex, element to
+% every TEXINPUTS tree that recursively searches $TEXMF/tex//, which is
+% all of them except ConTeXt.
+TEXINPUTS.tex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% Fontinst needs to read afm files.
TEXINPUTS.fontinst = $TEXMFDOTDIR;$TEXMF/{tex,fonts/afm}//
% Other plain-based formats.
-TEXINPUTS.amstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,}//
-TEXINPUTS.csplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,}//
-TEXINPUTS.eplain = $TEXMFDOTDIR;$TEXMF/tex/{eplain,plain,generic,}//
-TEXINPUTS.ftex = $TEXMFDOTDIR;$TEXMF/tex/{formate,plain,generic,}//
-TEXINPUTS.mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,}//
-TEXINPUTS.texinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,}//
+TEXINPUTS.amstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,latex,}//
+TEXINPUTS.csplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,latex,}//
+TEXINPUTS.eplain = $TEXMFDOTDIR;$TEXMF/tex/{eplain,plain,generic,latex,}//
+TEXINPUTS.ftex = $TEXMFDOTDIR;$TEXMF/tex/{formate,plain,generic,latex,}//
+TEXINPUTS.mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,latex,}//
+TEXINPUTS.texinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,latex,}//
-% LaTeX 2e specific macros are stored in latex/, macros that can only be
+% LaTeX2e specific macros are stored in latex/, macros that can only be
% used with 2.09 in latex209/. In addition, we look in the directory
% latex209, useful for macros that were written for 2.09 and do not
-% mention 2e at all, but can be used with 2e.
+% mention 2e at all, but can be used with 2e. The latex-dev/ subtree
+% may contain release candidates for testing.
TEXINPUTS.cslatex = $TEXMFDOTDIR;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
TEXINPUTS.latex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.latex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,latex,generic,}//
TEXINPUTS.latex209 = $TEXMFDOTDIR;$TEXMF/tex/{latex209,generic,latex,}//
TEXINPUTS.olatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
% MLTeX.
TEXINPUTS.frlatex = $TEXMFDOTDIR;$TEXMF/tex/{french,latex,generic,}//
-TEXINPUTS.frtex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,}//
+TEXINPUTS.frtex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,latex,}//
TEXINPUTS.mllatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
-TEXINPUTS.mltex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.mltex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% e-TeX.
TEXINPUTS.elatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
-TEXINPUTS.etex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.etex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% pdfTeX.
TEXINPUTS.pdfcslatex = $TEXMFDOTDIR;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
-TEXINPUTS.pdfcsplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,}//
+TEXINPUTS.pdfcsplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,latex,}//
TEXINPUTS.pdflatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
-TEXINPUTS.pdfmex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,}//
-TEXINPUTS.utf8mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,}//
-TEXINPUTS.pdftex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}//
-TEXINPUTS.pdftexinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,}//
-TEXINPUTS.pdfamstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,}//
+TEXINPUTS.pdflatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,latex,generic,}//
+TEXINPUTS.pdfmex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,latex,}//
+TEXINPUTS.utf8mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,latex,}//
+TEXINPUTS.pdftex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
+TEXINPUTS.pdftexinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,latex,}//
+TEXINPUTS.pdfamstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,latex,}//
% pdfeTeX.
TEXINPUTS.pdfelatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
-TEXINPUTS.pdfetex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.pdfetex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% LuaTeX.
-TEXINPUTS.luatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,}//
-TEXINPUTS.luajittex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,}//
-TEXINPUTS.dviluatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,}//
-TEXINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
-TEXINPUTS.luajitlatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
-TEXINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.luatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
+TEXINPUTS.luajittex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
+TEXINPUTS.luahbtex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
+TEXINPUTS.luajithbtex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
+TEXINPUTS.dviluatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
+TEXINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.lualatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
+TEXINPUTS.luajitlatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.luahblatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.luahblatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
+TEXINPUTS.luajithblatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.dvilualatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
+
+% HarfTeX.
+TEXINPUTS.harftex = $TEXMFDOTDIR;$TEXMF/tex/{harftex,luatex,plain,generic,latex,}//
+TEXINPUTS.harflatex = $TEXMFDOTDIR;$TEXMF/tex/{harflatex,harftex,lualatex,latex,luatex,generic,}//
+TEXINPUTS.harflatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,harflatex,harftex,lualatex,latex,luatex,generic,}//
% XeTeX.
TEXINPUTS.xelatex = $TEXMFDOTDIR;$TEXMF/tex/{xelatex,latex,xetex,generic,}//
-TEXINPUTS.xeplain = $TEXMFDOTDIR;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}//
-TEXINPUTS.xetex = $TEXMFDOTDIR;$TEXMF/tex/{xetex,plain,generic,}//
+TEXINPUTS.xelatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,xelatex,latex,xetex,generic,}//
+TEXINPUTS.xeplain = $TEXMFDOTDIR;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,latex,}//
+TEXINPUTS.xetex = $TEXMFDOTDIR;$TEXMF/tex/{xetex,plain,generic,latex,}//
% Omega / Aleph.
-TEXINPUTS.aleph = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.aleph = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
TEXINPUTS.elambda = $TEXMFDOTDIR;$TEXMF/tex/{lambda,latex,generic,}//
-TEXINPUTS.eomega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.eomega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
TEXINPUTS.lambda = $TEXMFDOTDIR;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.lamed = $TEXMFDOTDIR;$TEXMF/tex/{lambda,latex,generic,}//
-TEXINPUTS.omega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.omega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% p(La)TeX.
-TEXINPUTS.ptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,}//
+TEXINPUTS.ptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,latex,}//
TEXINPUTS.platex = $TEXMFDOTDIR;$TEXMF/tex/{platex,latex,generic,}//
+TEXINPUTS.platex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,platex,latex,generic,}//
-% epTeX, and for pmpost.
-TEXINPUTS.eptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,}//
+% epTeX, and use that engine for pmpost.
+TEXINPUTS.eptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,latex,}//
TEX.pmpost = eptex
% p(La)TeX-ng
-TEXINPUTS.ptex-ng = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,}//
+TEXINPUTS.ptex-ng = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//
TEXINPUTS.platex-ng = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}//
% (e)up(La)TeX, and for upmpost
-TEXINPUTS.uplatex = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}//
-TEXINPUTS.uptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,}//
-TEXINPUTS.euptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,}//
+TEXINPUTS.uplatex = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}//
+TEXINPUTS.uplatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,uplatex,platex,latex,generic,}//
+TEXINPUTS.uptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//
+TEXINPUTS.euptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//
TEX.upmpost = euptex
% pBibTeX bibliographies and style files.
@@ -265,21 +287,21 @@
TEXINPUTS.context = $TEXMFDOTDIR;$TEXMF/tex/{context,plain,generic,}//
% jadetex.
-TEXINPUTS.jadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,}//
-TEXINPUTS.pdfjadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,}//
+TEXINPUTS.jadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,latex,}//
+TEXINPUTS.pdfjadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,latex,}//
% XMLTeX.
TEXINPUTS.xmltex = $TEXMFDOTDIR;$TEXMF/tex/{xmltex,latex,generic,}//
TEXINPUTS.pdfxmltex = $TEXMFDOTDIR;$TEXMF/tex/{xmltex,latex,generic,}//
% Miscellany, no longer built.
-TEXINPUTS.lamstex = $TEXMFDOTDIR;$TEXMF/tex/{lamstex,plain,generic,}//
-TEXINPUTS.lollipop = $TEXMFDOTDIR;$TEXMF/tex/{lollipop,plain,generic,}//
+TEXINPUTS.lamstex = $TEXMFDOTDIR;$TEXMF/tex/{lamstex,plain,generic,latex,}//
+TEXINPUTS.lollipop = $TEXMFDOTDIR;$TEXMF/tex/{lollipop,plain,generic,latex,}//
TEXINPUTS.frpdflatex = $TEXMFDOTDIR;$TEXMF/tex/{french,latex,generic,}//
-TEXINPUTS.frpdftex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,}//
+TEXINPUTS.frpdftex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,latex,}//
% Earlier entries override later ones, so put this generic one last.
-TEXINPUTS = $TEXMFDOTDIR;$TEXMF/tex/{$progname,generic,}//
+TEXINPUTS = $TEXMFDOTDIR;$TEXMF/tex/{$progname,generic,latex,}//
% ttf2tfm.
TTF2TFMINPUTS = $TEXMFDOTDIR;$TEXMF/ttf2pk//
@@ -469,14 +491,24 @@
% But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in
% the environment with a colon, say, TEXINPUTS=/some/dir:, the intended
% default expansion of TEXINPUTS will not happen and .lua files under
-% the /tex/ will not be found.
+% the /tex/ tree will not be found.
%
% So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex.
% The default LUAINPUTS suffices for luatex and dviluatex.
%
-LUAINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
-LUAINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
-LUAINPUTS = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}//
+LUAINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+LUAINPUTS.lualatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
+%
+LUAINPUTS.luahblatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luahblatex,luahbtex,lualatex,latex,luatex,generic,}//
+LUAINPUTS.luahblatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,luahblatex,luahbtex,lualatex,latex,luatex,generic,}//
+%
+LUAINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+LUAINPUTS.dvilualatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
+%
+LUAINPUTS.harflatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{harflatex,harftex,lualatex,latex,luatex,generic,}//
+LUAINPUTS.harflatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,harflatex,harftex,lualatex,latex,luatex,generic,}//
+%
+LUAINPUTS = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,latex,}//
% Lua needs to look for binary lua libraries distributed with packages.
CLUAINPUTS = $TEXMFDOTDIR;$SELFAUTOLOC/lib/{$progname,$engine,}/lua//
@@ -664,6 +696,12 @@
parse_first_line.tex = f
parse_first_line.initex = f
+% Normally we mention files created by \openout in the log file,
+% but again, trip-compatibility forbids this for (ini)tex.
+log_openout = t
+log_openout.tex = f
+log_openout.initex = f
+
% Control file:line:error style messages.
file_line_error_style = f
@@ -820,13 +858,13 @@
screen_depth.mf = 1200
% BibTeX only (max_strings also determines hash_size and hash_prime).
-ent_str_size = 250
-glob_str_size = 20000
-max_strings.bibtex = 100000
-max_strings.bibtex8 = 100000
-max_strings.bibtexu = 100000
-max_strings.pbibtex = 100000
-max_strings.upbibtex = 100000
+ent_str_size = 500
+glob_str_size = 200000
+max_strings.bibtex = 200000
+max_strings.bibtex8 = 200000
+max_strings.bibtexu = 200000
+max_strings.pbibtex = 200000
+max_strings.upbibtex= 200000
% GFtype only.
line_length.gftype = 500
@@ -836,3 +874,23 @@
% Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends?
% Default is 1, to guess. Used on Windows only.
guess_input_kanji_encoding = 1
+
+% command_line_encoding
+%
+% This variable is used on Windows only, and affects 4 TeX engines:
+% uptex, euptex, pdftex, xetex, and 2 drivers: dvips, [x]dvipdfmx.
+% Several applications also are affected by the variable:
+% dvi2tty.exe, disdvi.exe, dvibook.exe, dviconcat.exe, dviselect.exe,
+% dvitodvi.exe, and dvidvi.exe.
+% Only values utf8 or utf-8 are meaningful. Other values are simply
+% ignored. If file names in sources and DVI or XDV files are ASCII
+% only, the value of command_line_encoding is irrelevant.
+% If command_line_encoding = utf8 or command_line_encoding = utf-8,
+% file names in sources and DVI or XDV files are assumed to be UTF-8.
+% Default is utf-8, from 2019-07-24, to assume UTF-8 file names.
+% In order to switch off the function, define an environment variable:
+% set command_line_encoding=none
+% or write a line:
+% command_line_encoding = none
+% in a texmf.cnf prefered, for example $TEXMFLOCAL/web2c/texmf.cnf.
+command_line_encoding = utf-8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/kpathsea.tlpobj new/tlpkg/tlpobj/kpathsea.tlpobj
--- old/tlpkg/tlpobj/kpathsea.tlpobj 2019-04-01 02:25:00.000000000 +0200
+++ new/tlpkg/tlpobj/kpathsea.tlpobj 2020-04-17 01:55:26.000000000 +0200
@@ -1,6 +1,6 @@
name kpathsea
category TLCore
-revision 50660
+revision 54764
shortdesc Path searching library for TeX-related files
longdesc Kpathsea is a library and utility programs which provide path
longdesc searching facilities for TeX file types, including the
@@ -9,7 +9,7 @@
longdesc distributed separately, but rather is released and maintained
longdesc as part of the TeX live sources.
depend kpathsea.ARCH
-runfiles size=51
+runfiles size=52
texmf-dist/web2c/amiga-pl.tcx
texmf-dist/web2c/cp1250cs.tcx
texmf-dist/web2c/cp1250pl.tcx
@@ -44,6 +44,5 @@
catalogue-contact-home http://tug.org/kpathsea
catalogue-contact-repository http://tug.org/svn/texlive/trunk/Build/source/texk/kpathsea/
catalogue-contact-support http://lists.tug.org/tex-k
-catalogue-date 2019-01-05 09:54:55 +0100
catalogue-license lgpl2.1
catalogue-topics sys-supp
++++++ kpathsea_cnf.dif ++++++
--- /var/tmp/diff_new_pack.RrmME5/_old 2020-05-29 21:29:18.881209925 +0200
+++ /var/tmp/diff_new_pack.RrmME5/_new 2020-05-29 21:29:18.881209925 +0200
@@ -1,12 +1,12 @@
---
texmf-dist/web2c/fmtutil.cnf | 17 ++---
texmf-dist/web2c/mktex.opt | 39 +++++++++--
- texmf-dist/web2c/texmf.cnf | 140 +++++++++++++++++++++++++++----------------
- 3 files changed, 127 insertions(+), 69 deletions(-)
+ texmf-dist/web2c/texmf.cnf | 141 +++++++++++++++++++++++++++----------------
+ 3 files changed, 128 insertions(+), 69 deletions(-)
--- texmf-dist/web2c/fmtutil.cnf
-+++ texmf-dist/web2c/fmtutil.cnf 2015-03-30 10:44:48.993518643 +0000
-@@ -47,10 +47,11 @@ amstex pdftex - -translate-file=cp227.tc
++++ texmf-dist/web2c/fmtutil.cnf 2020-04-20 16:19:39.729909034 +0000
+@@ -51,10 +51,11 @@ amstex pdftex - -translate-file=cp227.tc
# from context:
cont-en pdftex cont-usr.tex -8bit *cont-en.mkii
cont-en xetex cont-usr.tex -8bit *cont-en.mkii
@@ -22,7 +22,7 @@
#
# from cslatex:
cslatex pdftex - -etex cslatex.ini
-@@ -67,8 +68,8 @@ pdfcsplain luatex - -etex csplain.ini
+@@ -71,8 +72,8 @@ pdfcsplain xetex - -etex csplain.ini
eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini
#
# from jadetex:
@@ -32,15 +32,15 @@
+pdfjadetex pdftex language.dat -translate-file=cp227.tcx *pdfjadetex.ini
#
# from latex-bin:
- latex pdftex language.dat -translate-file=cp227.tcx *latex.ini
-@@ -133,5 +134,5 @@ xetex xetex language.def -etex xetex.ini
- xelatex xetex language.dat -etex xelatex.ini
+ dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini
+@@ -156,5 +157,5 @@ xelatex xetex language.dat -etex xelatex
+ xetex xetex language.def -etex xetex.ini
#
# from xmltex:
--xmltex pdftex language.dat *xmltex.ini
-pdfxmltex pdftex language.dat *pdfxmltex.ini
-+xmltex pdftex language.dat -translate-file=cp227.tcx *xmltex.ini
+-xmltex pdftex language.dat *xmltex.ini
+pdfxmltex pdftex language.dat -translate-file=cp227.tcx *pdfxmltex.ini
++xmltex pdftex language.dat -translate-file=cp227.tcx *xmltex.ini
--- texmf-dist/web2c/mktex.opt
+++ texmf-dist/web2c/mktex.opt 2012-05-14 11:26:00.034911495 +0000
@@ -38,10 +38,11 @@ if test "$DOSISH" = "no"; then SEP=':';
@@ -120,8 +120,8 @@
# Cache values that may be useful for recursive calls.
export MT_MKTEX_OPT MT_MKTEX_CNF
--- texmf-dist/web2c/texmf.cnf
-+++ texmf-dist/web2c/texmf.cnf 2019-05-29 06:12:28.489081219 +0000
-@@ -61,20 +61,20 @@
++++ texmf-dist/web2c/texmf.cnf 2020-03-26 11:28:55.266623482 +0000
+@@ -62,20 +62,20 @@
TEXMFROOT = $SELFAUTOPARENT
% The main tree of distributed packages and programs:
@@ -146,20 +146,20 @@
% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
% more than one per-user tree, set this to a list of directories in
-@@ -83,10 +83,10 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
+@@ -84,10 +84,10 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
TEXMFHOME = ~/texmf
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
--TEXMFVAR = ~/.texlive2019/texmf-var
+-TEXMFVAR = ~/.texlive2020/texmf-var
+TEXMFVAR = ${TEXMFSYSVAR}
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
--TEXMFCONFIG = ~/.texlive2019/texmf-config
+-TEXMFCONFIG = ~/.texlive2020/texmf-config
+TEXMFCONFIG = ${TEXMFSYSCONFIG}
% This is the value manipulated by tlmgr's auxtrees subcommand in the
% root texmf.cnf. Kpathsea warns about a literally empty string for a
-@@ -107,7 +107,7 @@ TEXMFAUXTREES = {}
+@@ -108,7 +108,7 @@ TEXMFAUXTREES = {}
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
@@ -168,7 +168,7 @@
% Where to look for, and where mktexlsr creates, ls-R files. By default,
% this is all and only the !! elements of TEXMF, so that mktexlsr does not
-@@ -115,24 +115,23 @@ TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEX
+@@ -116,24 +116,23 @@ TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEX
% present, it will be used, and the disk will not (usually) be searched,
% regardless of !!. Although in principle a directory listed here need
% not contain an ls-R file, in practice they all should.
@@ -196,7 +196,7 @@
% On some systems, there will be a system tree which contains all the font
% files that may be created as well as the formats. For example
-@@ -143,7 +142,8 @@ VARTEXFONTS = $TEXMFVAR/fonts
+@@ -144,7 +143,8 @@ VARTEXFONTS = $TEXMFVAR/fonts
%
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
% one of the TEXMF directories (avoids overlapping ls-R files).
@@ -206,7 +206,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Usually you will not need to edit any of the following variables.
-@@ -151,7 +151,7 @@ VARTEXFONTS = $TEXMFVAR/fonts
+@@ -152,7 +152,7 @@ VARTEXFONTS = $TEXMFVAR/fonts
% WEB2C is for Web2C specific files. The current directory may not be
% a good place to look for them.
@@ -215,7 +215,7 @@
% This variable exists only to be redefined; it is used in nearly all
% search paths. If a document has source files not only in the current
-@@ -285,7 +285,7 @@ TEXINPUTS = $TEXMFDOTDIR;$
+@@ -307,7 +307,7 @@ TEXINPUTS = $TEXMFDOTDIR;$
TTF2TFMINPUTS = $TEXMFDOTDIR;$TEXMF/ttf2pk//
% Metafont, MetaPost inputs.
@@ -224,7 +224,7 @@
MPINPUTS = $TEXMFDOTDIR;$TEXMF/metapost//
% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
-@@ -295,31 +295,31 @@ MPINPUTS = $TEXMFDOTDIR;$TEXMF/metapost/
+@@ -317,31 +317,31 @@ MPINPUTS = $TEXMFDOTDIR;$TEXMF/metapost/
% We repeat the same definition three times because of the way fmtutil
% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
% will not be found.
@@ -263,7 +263,7 @@
% Similarly for the GF format, which only remains in existence because
% Metafont outputs it (and MF isn't going to change).
-@@ -415,8 +415,8 @@ MPSUPPORT = $TEXMFDOTDIR;$TEXMF/metapost
+@@ -437,8 +437,8 @@ MPSUPPORT = $TEXMFDOTDIR;$TEXMF/metapost
% For xdvi to find mime.types and .mailcap, if they do not exist in
% ~. These are single directories, not paths.
% (But the default mime.types, at least, may well suffice.)
@@ -274,7 +274,7 @@
% Default settings for the fontconfig library as used by the Windows
% versions of xetex/xdvipdfmx. Not used by xetex on Unixish systems.
-@@ -440,10 +440,10 @@ WEBINPUTS = $TEXMFDOTDIR;$TEXMF/web//
+@@ -462,10 +462,10 @@ WEBINPUTS = $TEXMFDOTDIR;$TEXMF/web//
CWEBINPUTS = $TEXMFDOTDIR;$TEXMF/cweb//
% Omega-related fonts and other files.
@@ -289,7 +289,7 @@
OTPINPUTS = $TEXMFDOTDIR;$TEXMF/omega/otp//
OCPINPUTS = $TEXMFDOTDIR;$TEXMF/omega/ocp//
-@@ -526,32 +526,38 @@ RUBYINPUTS = $TEXMFDOTDIR;$TEXMF/scrip
+@@ -558,32 +558,38 @@ RUBYINPUTS = $TEXMFDOTDIR;$TEXMF/scrip
% explicitly list every directory. Arguably more understandable anyway.
%
TEXMFCNF = {\
@@ -353,10 +353,10 @@
%
% For reference, here is the old brace-using definition:
%TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
-@@ -836,3 +842,33 @@ max_cols.gftype = 8191
- % Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends?
- % Default is 1, to guess. Used on Windows only.
- guess_input_kanji_encoding = 1
+@@ -894,3 +900,34 @@ guess_input_kanji_encoding = 1
+ % command_line_encoding = none
+ % in a texmf.cnf prefered, for example $TEXMFLOCAL/web2c/texmf.cnf.
+ command_line_encoding = utf-8
+
+% These are xmltex specific
+main_memory.xmltex = 1500000
@@ -387,3 +387,4 @@
+hash_extra.jadetex = 25000
+pool_size.jadetex = 500000
+save_size.jadetex = 15000
++
++++++ kvmap.doc.tar.xz ++++++
Binary files old/doc/latex/kvmap/kvmap.pdf and new/doc/latex/kvmap/kvmap.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/kvmap.doc.tlpobj new/tlpkg/tlpobj/kvmap.doc.tlpobj
--- old/tlpkg/tlpobj/kvmap.doc.tlpobj 2019-02-28 03:46:51.000000000 +0100
+++ new/tlpkg/tlpobj/kvmap.doc.tlpobj 2020-03-28 01:55:12.000000000 +0100
@@ -1,8 +1,8 @@
name kvmap.doc
category Package
-revision 48708
+revision 54585
shortdesc doc files of kvmap
relocated 1
-docfiles size=29
+docfiles size=28
RELOC/doc/latex/kvmap/README.md
RELOC/doc/latex/kvmap/kvmap.pdf
++++++ kvmap.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/kvmap/kvmap.sty new/tex/latex/kvmap/kvmap.sty
--- old/tex/latex/kvmap/kvmap.sty 2018-09-20 23:16:51.000000000 +0200
+++ new/tex/latex/kvmap/kvmap.sty 2020-03-27 22:13:10.000000000 +0100
@@ -5,7 +5,7 @@
%% The original source files were:
%%
%% kvmap.dtx (with options: `pkg,cfg')
-%% Copyright (C) 2018 Ben Frank
+%% Copyright (C) 2020 Ben Frank
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -15,7 +15,7 @@
%% http://www.latex-project.org/lppl.txt
%%
\RequirePackage{expl3}
-\ProvidesExplPackage{kvmap}{2018/09/20}{0.3.1}{Drawing karnaugh maps with LaTeX}
+\ProvidesExplPackage{kvmap}{2020/03/27}{0.3.3}{Drawing karnaugh maps with LaTeX}
\RequirePackage{xparse}
\RequirePackage{tikz}
\RequirePackage{environ}
@@ -71,7 +71,7 @@
\cs_new:Npn \__kvmap_outputmatrix:n #1
{
\int_zero:N \l_tmpa_int
-\seq_set_from_clist:Nn \l_tmpa_seq { #1 }
+\seq_set_split:Nnn \l_tmpa_seq { , } { #1 }
\seq_map_inline:Nn \l_tmpa_seq
{
\node[kvnode] ~
@@ -94,6 +94,12 @@
invert .bool_set:N = \l__kvmap_bundle_invert_bool,
invert .default:n = true,
invert .initial:n = false,
+vinvert .bool_set:N = \l__kvmap_bundle_vinvert_bool,
+vinvert .default:n = true,
+vinvert .initial:n = true,
+hinvert .bool_set:N = \l__kvmap_bundle_hinvert_bool,
+hinvert .default:n = true,
+hinvert .initial:n = true,
overlapmargins .dim_set:N = \l__kvmap_bundle_overlapmargins_dim,
overlapmargins .initial:n = { 0pt },
}
@@ -116,6 +122,7 @@
{
\int_compare_p:n { \l__kvmap_matrix_height_int - 1 = \l__kvmap_bundle_maxy_int }
&& \int_compare_p:n { 0 = \l__kvmap_bundle_miny_int }
+ && \l__kvmap_bundle_vinvert_bool
}
{
\draw[draw=\l__kvmap_bundle_color_tl,kvbundle] ~
@@ -157,6 +164,7 @@
{
\int_compare_p:n { \l__kvmap_matrix_width_int - 1 = \l__kvmap_bundle_maxx_int }
&& \int_compare_p:n { 0 = \l__kvmap_bundle_minx_int }
+ && \l__kvmap_bundle_hinvert_bool
}
{
\draw[draw=\l__kvmap_bundle_color_tl,kvbundle] ~
@@ -266,7 +274,6 @@
\seq_set_split:Nno \l_tmpa_seq { \\ } { \BODY }
\seq_remove_all:Nn \l_tmpa_seq { }
\seq_set_split:Nnx \l_tmpb_seq { & } { \seq_item:Nn \l_tmpa_seq { 1 } }
-\seq_remove_all:Nn \l_tmpb_seq { }
\int_gset:Nn \l__kvmap_matrix_width_int { \seq_count:N \l_tmpb_seq }
\int_gset:Nn \l__kvmap_matrix_height_int { \seq_count:N \l_tmpa_seq }
\seq_clear:N \l__kvmap_tmp_seq
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/kvmap.tlpobj new/tlpkg/tlpobj/kvmap.tlpobj
--- old/tlpkg/tlpobj/kvmap.tlpobj 2019-02-28 03:46:51.000000000 +0100
+++ new/tlpkg/tlpobj/kvmap.tlpobj 2020-03-28 01:55:12.000000000 +0100
@@ -1,6 +1,6 @@
name kvmap
category Package
-revision 48708
+revision 54585
shortdesc Create Karnaugh maps with LaTeX
relocated 1
longdesc This LaTeX package allows the creation of (even large) Karnaugh
@@ -13,7 +13,6 @@
catalogue-contact-bugs https://gitlab.com/benfrank/kvmap/issues
catalogue-contact-home https://gitlab.com/benfrank/kvmap
catalogue-ctan /macros/latex/contrib/kvmap
-catalogue-date 2018-09-22 04:58:35 +0200
catalogue-license lppl1.3c
catalogue-topics maths engineering
-catalogue-version 0.3.1
+catalogue-version 0.3.3
++++++ l3build.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/latex/l3build/CHANGELOG.md new/texmf-dist/doc/latex/l3build/CHANGELOG.md
--- old/texmf-dist/doc/latex/l3build/CHANGELOG.md 2019-02-10 23:47:49.000000000 +0100
+++ new/texmf-dist/doc/latex/l3build/CHANGELOG.md 2020-03-25 22:10:32.000000000 +0100
@@ -7,6 +7,221 @@
## [Unreleased]
+## [2020-03-25]
+
+### Changed
+- Exclude `sourcefiles` entries from file clean-up
+- Adjust defaults for TeX Live 2020 LuaHBTeX usage
+
+## [2020-03-16]
+
+### Changed
+- Suppress PDF compression in DVI route
+- Suppress PDF ID data in DVI route
+- Default to `dvips` for (p)TeX
+- Refinement of `/ID` line suppression
+
+## [2020-03-13]
+
+### Changed
+- Refinement of PDF test normalisation
+
+## [2020-03-12]
+
+### Added
+- Option `ps2pdfopt`
+
+### Changed
+- Normalise `/ID` lines in PDF comparisons
+- Normalise `%%` lines in PDF comparisons
+
+### Fixed
+- Enable `cleandir()` recursively
+- Install files after *all* directory cleaning/creation
+
+## [2020-02-21]
+
+### Changed
+- Avoid temporary file when unpacking
+
+### Deprecated
+- `os_yes`: use `io.popen(...,w)` instead
+
+## [2020-02-17]
+
+### Added
+- Variable `textfiledir`
+- Table `specialtypesetting` and support data
+
+### Changed
+- Documentation improvements
+
+### Fixed
+- When `checkruns` > 1 and `recordstatus=true`, testing code would crash
+ (issue #90)
+
+## [2020-02-03]
+
+### Changed
+- Normalise out DVI header lines
+
+### Fixed
+- Allow announcement field to be empty
+ (with a warning this suppresses the CTAN announcement)
+
+## [2020-01-14]
+
+### Fixed
+
+- Allow for more extracted files from DocStrip
+
+## [2019-11-27]
+
+### Changed
+
+- `\ASSERTSTR` no longer needs e-TeX
+
+### Fixed
+
+- Installation of files using the `--full` switch
+
+## [2019-11-01]
+
+### Added
+
+- New `\ASSERT` and `\ASSERTSTR` functions (issue #102)
+
+### Changed
+
+- Avoid normalisation of (u)pTeX data when this is standard engine
+ (fixes #103)
+- Normalise Lua data references (#107)
+- Extend `runtest_task()` to pass run number
+- Allow `regression-test` to load when e-TeX is unavailable (fixes #105)
+
+### Fixed
+
+- Location of `testsuppdir` when multiple configurations are used
+
+## [2019-10-02]
+
+### Added
+
+- `docinit_hook()`
+
+### Changed
+
+- Normalise out file paths in all cases
+
+## [2019-09-30]
+
+### Added
+
+- New `flattentds` variable for controlling complex TDS structures
+- Additional notes on `texmfdir`
+
+### Fixed
+
+- Copy TDS files inside subdirectories (fixes #100)
+
+## [2019-09-29]
+
+### Fixed
+
+- Path searching if `texmfdir` is set but does not exist
+
+## [2019-09-28]
+
+### Fixed
+
+- Typesetting when using an isolated system (use of texmfdir)
+
+## [2019-09-25]
+
+### Added
+
+- New `texmfdir` variable for more complex local additions
+
+### Fixed
+
+- Clean out all configuration test dirs (see #98)
+
+## [2019-09-18]
+
+### Added
+
+- `checkinit_hook()`
+
+## [2019-09-14]
+
+### Changed
+
+- Use three typesetting runs as-standard
+- Use `pdftex` not `tex` for unpacking
+
+## [2019-08-24]
+
+### Changed
+
+- Include `LUAINPUTS` when setting `TEXINPUTS` for `checksearch = false`, etc.
+
+### Fixed
+
+- Remove `.log` file before each check run: prevent inter-engine confusion
+
+## [2019-07-31]
+
+### Fixed
+
+- Interaction between secondary files in some tests
+
+## [2019-07-30]
+
+### Added
+
+- Support for non-standard file layouts via `tdslocations` table
+
+### Changed
+
+- Only write (x)dvipdfmx specials for XeTeX and (u)pTeX (see #94)
+
+## [2019-06-27]
+
+### Changed
+
+- Back out change for normalisation of LuaTeX v1.10 stack information
+ (timing issue: will reintroduce later)
+
+### Fixed
+
+- Correct test for LuaTeX (see #93)
+
+## [2019-06-26]
+
+### Added
+
+- Support for HarfTeX (see #92)
+
+### Changed
+
+- Support for normalisation of LuaTeX v1.10 stack information
+ (may require new `.tlg` files)
+
+### Fixed
+
+- Support for spaces in paths when typesetting (see #91)
+
+## [2019-06-18]
+
+### Added
+
+- Switch `--show-log-on-error` for use with `--halt-on-error`. Results in the `.log` file
+ being show in full on the console to aid in non-interactive debugging.
+
+### Changed
+
+- Moved LuaTeX-specific font cache normalisation
+
## [2019-02-10]
### Fixed
@@ -251,7 +466,30 @@
- Rationalise short option names: removed `-d`, `-E`, `-r`
- Target `cmdcheck`: specific to LaTeX3 kernel work
-[Unreleased]: https://github.com/latex3/l3build/compare/2019-02-10...HEAD
+[Unreleased]: https://github.com/latex3/l3build/compare/2020-03-25...HEAD
+[2020-03-25]: https://github.com/latex3/l3build/compare/2020-03-16...2020-03-25
+[2020-03-16]: https://github.com/latex3/l3build/compare/2020-03-13...2020-03-16
+[2020-03-13]: https://github.com/latex3/l3build/compare/2020-03-12...2020-03-13
+[2020-03-12]: https://github.com/latex3/l3build/compare/2020-02-21...2020-03-12
+[2020-02-21]: https://github.com/latex3/l3build/compare/2020-02-17...2020-02-21
+[2020-02-17]: https://github.com/latex3/l3build/compare/2020-02-03...2020-02-17
+[2020-02-03]: https://github.com/latex3/l3build/compare/2020-01-14...2020-02-03
+[2020-01-14]: https://github.com/latex3/l3build/compare/2019-11-27...2020-01-14
+[2019-11-27]: https://github.com/latex3/l3build/compare/2019-11-01...2019-11-27
+[2019-11-01]: https://github.com/latex3/l3build/compare/2019-10-02...2019-11-01
+[2019-10-02]: https://github.com/latex3/l3build/compare/2019-09-30...2019-10-02
+[2019-09-30]: https://github.com/latex3/l3build/compare/2019-09-29...2019-09-30
+[2019-09-29]: https://github.com/latex3/l3build/compare/2019-09-28...2019-09-29
+[2019-09-28]: https://github.com/latex3/l3build/compare/2019-09-25...2019-09-28
+[2019-09-25]: https://github.com/latex3/l3build/compare/2019-09-18...2019-09-25
+[2019-09-18]: https://github.com/latex3/l3build/compare/2019-09-14...2019-09-18
+[2019-09-14]: https://github.com/latex3/l3build/compare/2019-08-24...2019-09-14
+[2019-08-24]: https://github.com/latex3/l3build/compare/2019-07-31...2019-08-24
+[2019-07-31]: https://github.com/latex3/l3build/compare/2019-07-30...2019-07-31
+[2019-07-30]: https://github.com/latex3/l3build/compare/2019-06-27...2019-07-30
+[2019-06-27]: https://github.com/latex3/l3build/compare/2019-06-26...2019-06-27
+[2019-06-26]: https://github.com/latex3/l3build/compare/2019-06-18...2019-06-26
+[2019-06-18]: https://github.com/latex3/l3build/compare/2019-02-10...2019-06-18
[2019-02-10]: https://github.com/latex3/l3build/compare/2019-02-06...2019-02-10
[2019-02-06]: https://github.com/latex3/l3build/compare/2018-12-23...2019-02-06
[2018-12-23]: https://github.com/latex3/l3build/compare/2018-12-18...2018-12-23
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/latex/l3build/README.md new/texmf-dist/doc/latex/l3build/README.md
--- old/texmf-dist/doc/latex/l3build/README.md 2019-02-10 23:47:49.000000000 +0100
+++ new/texmf-dist/doc/latex/l3build/README.md 2020-03-25 22:10:32.000000000 +0100
@@ -1,7 +1,7 @@
l3build: a testing and building system for LaTeX3
=================================================
-Release 2019-02-10
+Release 2020-03-25
Overview
--------
@@ -24,37 +24,13 @@
The issue tracker for LaTeX3 is currently located
[on GitHub](https://github.com/latex3/l3build/issues).
-The LaTeX3 Project
-------------------
+Development team
+----------------
-Development of LaTeX3 is carried out by
-[The LaTeX3 Project](http://www.latex-project.org/latex3.html). Currently,
-the team members are
-
-* Johannes Braams
-* David Carlisle
-* Robin Fairbairns
-* Morten Høgholm
-* Bruno Le Floch
-* Thomas Lotze
-* Frank Mittelbach
-* Will Robertson
-* Chris Rowley
-* Rainer Schöpf
-* Joseph Wright
-
-Former members of The LaTeX3 Project team were
-
-* Michael Downes
-* Denys Duchier
-* Alan Jeffrey
-* Martin Schröder
-
-The development team can be contacted
-by e-mail: .
+The LaTeX kernel is developed by [The LaTeX3 Project](https://latex-project.org).
-----
-<p>Copyright (C) 2014-2018 The LaTeX3 Project <br />
+<p>Copyright (C) 2014-2020 The LaTeX3 Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
Binary files old/texmf-dist/doc/latex/l3build/l3build.pdf and new/texmf-dist/doc/latex/l3build/l3build.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/l3build.1 new/texmf-dist/doc/man/man1/l3build.1
--- old/texmf-dist/doc/man/man1/l3build.1 2019-02-10 23:47:49.000000000 +0100
+++ new/texmf-dist/doc/man/man1/l3build.1 2020-03-25 22:10:32.000000000 +0100
@@ -1,4 +1,4 @@
-.TH l3build 1 "2019-02-10"
+.TH l3build 1 "2020-03-25"
.SH NAME
l3build \- Checking and building packages
.SH SYNOPSIS
Binary files old/texmf-dist/doc/man/man1/l3build.man1.pdf and new/texmf-dist/doc/man/man1/l3build.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/l3build.doc.tlpobj new/tlpkg/tlpobj/l3build.doc.tlpobj
--- old/tlpkg/tlpobj/l3build.doc.tlpobj 2019-02-28 03:46:52.000000000 +0100
+++ new/tlpkg/tlpobj/l3build.doc.tlpobj 2020-03-26 01:56:01.000000000 +0100
@@ -1,8 +1,8 @@
name l3build.doc
category Package
-revision 49994
+revision 54544
shortdesc doc files of l3build
-docfiles size=179
+docfiles size=184
texmf-dist/doc/latex/l3build/CHANGELOG.md
texmf-dist/doc/latex/l3build/CONTRIBUTING.md
texmf-dist/doc/latex/l3build/README.md
++++++ l3build.tar.xz ++++++
++++ 1611 lines of diff (skipped)
++++++ l3experimental.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/l3experimental/CHANGELOG.md new/doc/latex/l3experimental/CHANGELOG.md
--- old/doc/latex/l3experimental/CHANGELOG.md 2019-03-05 23:35:14.000000000 +0100
+++ new/doc/latex/l3experimental/CHANGELOG.md 2020-01-13 22:30:36.000000000 +0100
@@ -7,39 +7,91 @@
## [Unreleased]
-## [2019-03-05]
+## [2020-01-12]
+
+### Changed
+- Track `l3kernel` changes
+
+### Fixed
+- Bounding box for clipped paths (see #660)
+
+## [2019-10-11]
+
+### Fixed
+- Error message for unknown colors (see #640)
+
+## [2019-09-28]
+
+### Changed
+- `\sys_shell_get_pwd:N` renamed as `\sys_get_shell_pwd:N`
+
+## [2019-09-19]
+
+### Changed
+- Various improvements to `l3cctab`
+
+## [2019-08-25]
+
+### Changed
+- `\draw_unit_vector:n` returns a vertical vector when the length is
+ zero (see #609)
+- Collect `pwd` data with no `\endlinechar` (see #613)
+- Default precision in `\fp_format:nn` when no style is specified
+
+### Fixed
+- Corrected behaviour of catcode tables (see #610)
+
+## [2019-07-01]
### Added
+- New module `l3pdf`
+### Changed
+- Re-order arguments for polar points (`l3draw`)
+
+### Removed
+- `l3str-convert` module: moved to `l3kernel` (`expl3` core)
+
+## [2019-05-28]
+
+### Added
+- New `l3graphics` module
+
+### Fixed
+- Missing `\scan_stop:` in benchmark code (fixes #577)
+
+## [2019-05-03]
+
+## Fixed
+
+- Clipping of paths by `l3draw`
+
+## [2019-03-05]
+
+### Added
- Support for drawing layers
-- `\draw_point:nn` to allow 'fast' processing of co-ordinates
### Changed
-
- Update `l3draw` transformation names
## [2019-01-28]
### Changed
-
- Track `expl3` changes
## [2018-10-31]
### Added
-
- New module `l3cctab`
## [2018-10-26]
### Added
-
- New module `l3benchmark`
## [2018-08-24]
### Fixed
-
- Actually distribute `l3sys-shell`
## [2018-08-23]
@@ -70,7 +122,15 @@
- New `l3color` module using `xcolor`-like expression syntax
- New `l3draw` module, based on `pgf` layer of the TikZ system
-[Unreleased]: https://github.com/latex3/latex3/compare/2019-03-05...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-01-12...HEAD
+[2020-01-12]: https://github.com/latex3/latex3/compare/2019-10-11...2020-01-12
+[2019-10-11]: https://github.com/latex3/latex3/compare/2019-09-28...2019-10-11
+[2019-09-28]: https://github.com/latex3/latex3/compare/2019-09-19...2019-09-28
+[2019-09-19]: https://github.com/latex3/latex3/compare/2019-08-25...2019-09-19
+[2019-08-25]: https://github.com/latex3/latex3/compare/2019-07-01...2019-08-25
+[2019-07-01]: https://github.com/latex3/latex3/compare/2019-05-28...2019-07-01
+[2019-05-28]: https://github.com/latex3/latex3/compare/2019-05-03...2019-05-28
+[2019-05-03]: https://github.com/latex3/latex3/compare/2019-03-05...2019-05-03
[2019-03-05]: https://github.com/latex3/latex3/compare/2019-01-28...2019-03-05
[2019-01-28]: https://github.com/latex3/latex3/compare/2018-10-31...2019-01-28
[2018-10-31]: https://github.com/latex3/latex3/compare/2018-10-26...2018-10-31
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/l3experimental/README.md new/doc/latex/l3experimental/README.md
--- old/doc/latex/l3experimental/README.md 2019-03-05 23:35:14.000000000 +0100
+++ new/doc/latex/l3experimental/README.md 2020-01-13 22:30:36.000000000 +0100
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2019-03-05
+Release 2020-01-12
Overview
--------
@@ -25,11 +25,12 @@
* `l3cctab`
* `l3color`
* `l3draw`
+* `l3graphics`
+* `l3pdf`
* `l3str`
* `l3sys-shell`
* `xcoffins`
* `xgalley`
-* `xmarks`
`l3benchmark`
-------------
@@ -58,14 +59,25 @@
interfaces are heavily inspired by the `pgf` layer of the widely-used
TikZ system.
+`l3graphics`
+-------------
+
+This module provides interfaces for the inclusion of graphics files
+in documents, similar to the `graphics` package.
+
+`l3pdf`
+-------
+
+This module provides support for core PDF concepts such compression, objects,
+PDF version and so on.
+
`l3str`
-------
A 'string' in TeX terms is a token list in which all of the tokens have
category code 12 ('other'), with the exception of spaces which have the
-category code 10 ('space'). The `l3str` bundle consists of two parts. The
-first is `l3str` itself. This is a collection of functions to act on strings,
-including for manipulations such as UTF8 mappings in pdfTeX.
+category code 10 ('space'). The `l3strf-format` module provides methods
+for formatting such strings.
`l3sys-shell`
-------------
@@ -122,27 +134,7 @@
------------------
Development of LaTeX3 is carried out by
-[The LaTeX3 Project](http://www.latex-project.org/latex3.html). Currently,
-the team members are
-
-* Johannes Braams
-* David Carlisle
-* Robin Fairbairns
-* Morten Høgholm
-* Bruno Le Floch
-* Thomas Lotze
-* Frank Mittelbach
-* Will Robertson
-* Chris Rowley
-* Rainer Schöpf
-* Joseph Wright
-
-Former members of The LaTeX3 Project team were
-
-* Michael Downes
-* Denys Duchier
-* Alan Jeffrey
-* Martin Schröder
+[The LaTeX3 Project](https://www.latex-project.org/latex3/).
The development team can be contacted
by e-mail: ; for general LaTeX3 discussion
@@ -150,6 +142,6 @@
-----
-<p>Copyright (C) 1998-2011,2015-2019 The LaTeX3 Project <br />
+<p>Copyright (C) 1998-2011,2015-2020 The LaTeX3 Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
Binary files old/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf and new/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf differ
Binary files old/doc/latex/l3experimental/l3cctab/l3cctab.pdf and new/doc/latex/l3experimental/l3cctab/l3cctab.pdf differ
Binary files old/doc/latex/l3experimental/l3color/l3color.pdf and new/doc/latex/l3experimental/l3color/l3color.pdf differ
Binary files old/doc/latex/l3experimental/l3draw/l3draw-code.pdf and new/doc/latex/l3experimental/l3draw/l3draw-code.pdf differ
Binary files old/doc/latex/l3experimental/l3draw/l3draw.pdf and new/doc/latex/l3experimental/l3draw/l3draw.pdf differ
Binary files old/doc/latex/l3experimental/l3graphics/l3graphics.pdf and new/doc/latex/l3experimental/l3graphics/l3graphics.pdf differ
Binary files old/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf and new/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/l3experimental/l3pdf/l3pdf-code.tex new/doc/latex/l3experimental/l3pdf/l3pdf-code.tex
--- old/doc/latex/l3experimental/l3pdf/l3pdf-code.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/l3experimental/l3pdf/l3pdf-code.tex 2019-07-02 23:03:06.000000000 +0200
@@ -0,0 +1,56 @@
+\iffalse meta-comment
+
+File: l3pdf-code.tex
+
+Copyright (C) 2019 The LaTeX3 Project
+
+It may be distributed and/or modified under the conditions of the
+LaTeX Project Public License (LPPL), either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in the file
+
+ https://www.latex-project.org/lppl.txt
+
+This file is part of the "l3experimental bundle" (The Work in LPPL)
+and all files in that bundle must be distributed together.
+
+The released version of this bundle is available from CTAN.
+
+-----------------------------------------------------------------------
+
+The development version of the bundle can be found at
+
+ https://github.com/latex3/latex3
+
+for those people who are interested.
+
+\fi
+
+\documentclass{l3doc}
+
+\begin{document}
+
+\makeatletter
+\let\DelayPrintIndex\PrintIndex
+\let\PrintIndex\@empty
+\makeatother
+
+\ExplSyntaxOn
+\clist_gput_right:Nn \g_docinput_clist
+ {
+ l3pdf.dtx ,
+ }
+\ExplSyntaxOff
+
+\part{Implementation}
+
+\def\maketitle{}
+\EnableImplementation
+\DisableDocumentation
+\DocInputAgain
+
+\clearpage
+
+\DelayPrintIndex
+
+\end{document}
Binary files old/doc/latex/l3experimental/l3pdf/l3pdf.pdf and new/doc/latex/l3experimental/l3pdf/l3pdf.pdf differ
Binary files old/doc/latex/l3experimental/l3str/l3str-convert.pdf and new/doc/latex/l3experimental/l3str/l3str-convert.pdf differ
Binary files old/doc/latex/l3experimental/l3str/l3str-format.pdf and new/doc/latex/l3experimental/l3str/l3str-format.pdf differ
Binary files old/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf and new/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf differ
Binary files old/doc/latex/l3experimental/xcoffins/xcoffins.pdf and new/doc/latex/l3experimental/xcoffins/xcoffins.pdf differ
Binary files old/doc/latex/l3experimental/xgalley/l3galley.pdf and new/doc/latex/l3experimental/xgalley/l3galley.pdf differ
Binary files old/doc/latex/l3experimental/xgalley/xgalley.pdf and new/doc/latex/l3experimental/xgalley/xgalley.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/l3experimental.doc.tlpobj new/tlpkg/tlpobj/l3experimental.doc.tlpobj
--- old/tlpkg/tlpobj/l3experimental.doc.tlpobj 2019-03-06 02:24:01.000000000 +0100
+++ new/tlpkg/tlpobj/l3experimental.doc.tlpobj 2020-01-14 01:54:45.000000000 +0100
@@ -1,9 +1,9 @@
name l3experimental.doc
category Package
-revision 50246
+revision 53394
shortdesc doc files of l3experimental
relocated 1
-docfiles size=1038
+docfiles size=1185
RELOC/doc/latex/l3experimental/CHANGELOG.md
RELOC/doc/latex/l3experimental/README.md
RELOC/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
@@ -12,7 +12,10 @@
RELOC/doc/latex/l3experimental/l3draw/l3draw-code.pdf
RELOC/doc/latex/l3experimental/l3draw/l3draw-code.tex
RELOC/doc/latex/l3experimental/l3draw/l3draw.pdf
- RELOC/doc/latex/l3experimental/l3str/l3str-convert.pdf
+ RELOC/doc/latex/l3experimental/l3graphics/l3graphics.pdf
+ RELOC/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf
+ RELOC/doc/latex/l3experimental/l3pdf/l3pdf-code.tex
+ RELOC/doc/latex/l3experimental/l3pdf/l3pdf.pdf
RELOC/doc/latex/l3experimental/l3str/l3str-format.pdf
RELOC/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
RELOC/doc/latex/l3experimental/xcoffins/xcoffins.pdf
++++++ l3experimental.tar.xz ++++++
++++ 4341 lines of diff (skipped)
++++++ l3kernel.doc.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-m/l3kernel.doc.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-m.new.3606/l3kernel.doc.tar.xz differ: char 26, line 1
++++++ l3kernel.tar.xz ++++++
++++ 17511 lines of diff (skipped)
++++++ l3packages.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/l3packages/CHANGELOG.md new/doc/latex/l3packages/CHANGELOG.md
--- old/doc/latex/l3packages/CHANGELOG.md 2019-03-05 23:35:14.000000000 +0100
+++ new/doc/latex/l3packages/CHANGELOG.md 2020-03-06 22:32:34.000000000 +0100
@@ -7,6 +7,58 @@
## [Unreleased]
+## [2020-03-06]
+
+### Added
+- Pre-loader file `xparse.ltx`
+
+## [2020-03-03]
+
+### Changed
+- Delimited arguments (`DdRrEet`) now allow control sequence tokens
+ as delimiters (issues #367 and #368)
+
+## [2020-02-25]
+
+### Changed
+- Issue warnings for unsupported delimiters in `xparse`
+
+## [2020-02-14]
+
+### Fixed
+- Grabbing `r`-type arguments by expandable commands (issse #672)
+
+## [2020-02-08]
+
+### Changed
+- Document that `\CurrentOption` is available and should be used in
+ `l3keys2e`
+
+## [2020-02-03]
+
+### Fixed
+- Unknown key error text after loading `l3keys2e`
+
+## [2020-01-12]
+
+### Changed
+- Track `l3kernel` changes
+
+## [2019-10-11]
+
+### Fixed
+- `xparse`: Allow processors to depend on other arguments (fixes #629)
+
+## [2019-05-28]
+
+### Fixed
+- `xparse`: Remove stray spaces in processor information
+
+## [2019-05-03]
+
+### Added
+- `xparse`: Support for `trace` package
+
## [2019-03-05]
### Added
@@ -40,7 +92,17 @@
- Switch to ISO date format
- Improve cross-module use of internal functions
-[Unreleased]: https://github.com/latex3/latex3/compare/2019-03-05...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-03-06...HEAD
+[2020-03-06]: https://github.com/latex3/latex3/compare/2020-03-03...2020-03-06
+[2020-03-03]: https://github.com/latex3/latex3/compare/2020-02-25...2020-03-03
+[2020-02-25]: https://github.com/latex3/latex3/compare/2020-02-14...2020-02-25
+[2020-02-14]: https://github.com/latex3/latex3/compare/2020-02-08...2020-02-14
+[2020-02-08]: https://github.com/latex3/latex3/compare/2020-02-03...2020-02-08
+[2020-02-03]: https://github.com/latex3/latex3/compare/2020-01-12...2020-02-03
+[2020-01-12]: https://github.com/latex3/latex3/compare/2019-10-11...2020-01-12
+[2019-10-11]: https://github.com/latex3/latex3/compare/2019-05-28...2019-10-11
+[2019-05-28]: https://github.com/latex3/latex3/compare/2019-05-03...2019-05-28
+[2019-05-03]: https://github.com/latex3/latex3/compare/2019-03-05...2019-05-03
[2019-03-05]: https://github.com/latex3/latex3/compare/2019-09-24...2019-03-05
[2018-09-24]: https://github.com/latex3/latex3/compare/2018-08-23...2018-09-24
[2018-08-23]: https://github.com/latex3/latex3/compare/2018-05-12...2018-08-23
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/l3packages/README.md new/doc/latex/l3packages/README.md
--- old/doc/latex/l3packages/README.md 2019-03-05 23:35:14.000000000 +0100
+++ new/doc/latex/l3packages/README.md 2020-03-06 22:32:34.000000000 +0100
@@ -1,12 +1,12 @@
LaTeX3 High-Level Concepts
==========================
-Release 2019-03-05
+Release 2020-03-06
Overview
--------
-The `l3packages` collection is contains implementations for aspects of the
+The `l3packages` collection contains implementations for aspects of the
LaTeX3 kernel, dealing with higher-level ideas such as the Designer Interface.
The packages here are considered broadly stable (The LaTeX3 Project does not
expect the interfaces to alter radically). These packages are build on LaTeX2e
@@ -94,27 +94,7 @@
------------------
Development of LaTeX3 is carried out by
-[The LaTeX3 Project](http://www.latex-project.org/latex3.html). Currently,
-the team members are
-
-* Johannes Braams
-* David Carlisle
-* Robin Fairbairns
-* Morten Høgholm
-* Bruno Le Floch
-* Thomas Lotze
-* Frank Mittelbach
-* Will Robertson
-* Chris Rowley
-* Rainer Schöpf
-* Joseph Wright
-
-Former members of The LaTeX3 Project team were
-
-* Michael Downes
-* Denys Duchier
-* Alan Jeffrey
-* Martin Schröder
+[The LaTeX3 Project](https://www.latex-project.org/latex3/).
The development team can be contacted
by e-mail: ; for general LaTeX3 discussion
@@ -122,6 +102,6 @@
-----
-<p>Copyright (C) 1998-2011,2015-2019 The LaTeX3 Project <br />
+<p>Copyright (C) 1998-2012,2015-2020 The LaTeX3 Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
Binary files old/doc/latex/l3packages/l3keys2e/l3keys2e.pdf and new/doc/latex/l3packages/l3keys2e/l3keys2e.pdf differ
Binary files old/doc/latex/l3packages/xfp/xfp.pdf and new/doc/latex/l3packages/xfp/xfp.pdf differ
Binary files old/doc/latex/l3packages/xfrac/xfrac.pdf and new/doc/latex/l3packages/xfrac/xfrac.pdf differ
Binary files old/doc/latex/l3packages/xparse/xparse.pdf and new/doc/latex/l3packages/xparse/xparse.pdf differ
Binary files old/doc/latex/l3packages/xtemplate/xtemplate.pdf and new/doc/latex/l3packages/xtemplate/xtemplate.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/l3packages.doc.tlpobj new/tlpkg/tlpobj/l3packages.doc.tlpobj
--- old/tlpkg/tlpobj/l3packages.doc.tlpobj 2019-03-06 02:24:09.000000000 +0100
+++ new/tlpkg/tlpobj/l3packages.doc.tlpobj 2020-03-07 01:10:10.000000000 +0100
@@ -1,9 +1,9 @@
name l3packages.doc
category Package
-revision 50246
+revision 54131
shortdesc doc files of l3packages
relocated 1
-docfiles size=502
+docfiles size=501
RELOC/doc/latex/l3packages/CHANGELOG.md
RELOC/doc/latex/l3packages/README.md
RELOC/doc/latex/l3packages/l3keys2e/l3keys2e-demo.tex
++++++ l3packages.tar.xz ++++++
++++ 2891 lines of diff (skipped)
++++++ lacheck.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/lacheck.1 new/texmf-dist/doc/man/man1/lacheck.1
--- old/texmf-dist/doc/man/man1/lacheck.1 2015-04-22 12:58:54.000000000 +0200
+++ new/texmf-dist/doc/man/man1/lacheck.1 2020-03-04 17:04:42.000000000 +0100
@@ -1,6 +1,6 @@
-.TH "LaCheck" "1" "2015-01-10" "Release 1.28"
+.TH "LaCheck" "1" "2019-07-09" "Release 1.29 (TeX Live)"
.SH NAME
-lacheck - A consistency checker for LaTeX documents.
+lacheck - a consistency checker for LaTeX documents
.SH SYNOPSIS
.B lacheck
.IR filename [ \fB.tex\fP ]
@@ -46,8 +46,7 @@
Files with suffix \`.sty\' are omitted, as they probably will cause
LaCheck to crash.
.LP
-LaCheck may be invoked from within Emacs(1) using compile:
-
+LaCheck may be invoked from within emacs(1) using M-x compile.
To run:
.B "M-x compile RET lacheck RET"
, and then
@@ -83,10 +82,9 @@
\' error may also occur, if the following sentence begins with a
lowercase letter.
.LP
-A mismatch error may cause more to follow, due to the chosen
-algorithm. In such cases just correct the
-.I "first"
-error and run LaCheck again
+A mismatch error may cause more to follow, due to the lack of good
+error recovery. In such cases, just correct the first
+error and run LaCheck again.
.LP
Braces, environments and math mode must be balanced within a file.
.LP
@@ -104,4 +102,4 @@
should be directed to the maintainers; please email tex-live@tug.org.
.SH AUTHOR
Kresten Krab Thorup with modifications by Per Abrahamsen.
-Currently maintained as part of TeX Live (http://tug.org/texlive).
+Currently maintained as part of TeX Live (https://tug.org/texlive).
Binary files old/texmf-dist/doc/man/man1/lacheck.man1.pdf and new/texmf-dist/doc/man/man1/lacheck.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lacheck.doc.tlpobj new/tlpkg/tlpobj/lacheck.doc.tlpobj
--- old/tlpkg/tlpobj/lacheck.doc.tlpobj 2019-03-27 02:24:11.000000000 +0100
+++ new/tlpkg/tlpobj/lacheck.doc.tlpobj 2020-03-04 23:51:47.000000000 +0100
@@ -1,7 +1,7 @@
name lacheck.doc
category TLCore
-revision 50602
+revision 54070
shortdesc doc files of lacheck
-docfiles size=7
+docfiles size=8
texmf-dist/doc/man/man1/lacheck.1
texmf-dist/doc/man/man1/lacheck.man1.pdf
++++++ langsci.doc.tar.xz ++++++
++++ 7313 lines of diff (skipped)
++++++ langsci.tar.xz ++++++
++++ 4623 lines of diff (skipped)
++++++ latex-bin.doc.tar.xz ++++++
Binary files old/texmf-dist/doc/man/man1/dvilualatex.man1.pdf and new/texmf-dist/doc/man/man1/dvilualatex.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/latex.1 new/texmf-dist/doc/man/man1/latex.1
--- old/texmf-dist/doc/man/man1/latex.1 2019-02-28 20:09:21.000000000 +0100
+++ new/texmf-dist/doc/man/man1/latex.1 2020-03-04 17:04:42.000000000 +0100
@@ -1,4 +1,4 @@
-.TH LATEX 1 "30 April 2018" "Web2C 2019"
+.TH LATEX 1 "30 April 2018" "Web2C 2020"
.\"=====================================================================
.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
.if n .ds TX TeX
Binary files old/texmf-dist/doc/man/man1/latex.man1.pdf and new/texmf-dist/doc/man/man1/latex.man1.pdf differ
Binary files old/texmf-dist/doc/man/man1/lualatex.man1.pdf and new/texmf-dist/doc/man/man1/lualatex.man1.pdf differ
Binary files old/texmf-dist/doc/man/man1/pdflatex.man1.pdf and new/texmf-dist/doc/man/man1/pdflatex.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/latex-bin.doc.tlpobj new/tlpkg/tlpobj/latex-bin.doc.tlpobj
--- old/tlpkg/tlpobj/latex-bin.doc.tlpobj 2019-03-27 02:24:11.000000000 +0100
+++ new/tlpkg/tlpobj/latex-bin.doc.tlpobj 2020-04-15 01:54:53.000000000 +0200
@@ -1,6 +1,6 @@
name latex-bin.doc
category TLCore
-revision 50602
+revision 54743
shortdesc doc files of latex-bin
docfiles size=32
texmf-dist/doc/man/man1/dvilualatex.1
++++++ latex-git-log.doc.tar.xz ++++++
Binary files old/texmf-dist/doc/man/man1/latex-git-log.man1.pdf and new/texmf-dist/doc/man/man1/latex-git-log.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/latex-git-log/README new/texmf-dist/doc/support/latex-git-log/README
--- old/texmf-dist/doc/support/latex-git-log/README 2013-06-27 18:44:39.000000000 +0200
+++ new/texmf-dist/doc/support/latex-git-log/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,75 +0,0 @@
-# latex-git-log
-This program will output the entire version history as table written in LaTeX
-if it is executed within a git repository.
-
-It is intended that you redirect the standard output of this script to a file
-which can then be included from your main TeX document.
-
-Because the table can be very large you might want to put the thing on a
-landscape page.
-
-## Dependencies
-### Of this script
-This module requires these other modules and libraries:
-
- IPC::System::Simple
- Locale::Maketext::Simple
-
-Everything else should already be installed.
-
-### To compile the output
-The table is using the *longtable* package and the links to a web resource for
-each commit use the `\href` macro from *hyperref*. So these two packages have
-to be loaded.
-
-Furthermore you need to defined the macro `\longtableendfoot` which will be
-expanded on the bottom of every page if the table will be continued on the next
-page. You can defined it to a localized message to inform the reader that this
-table is not complete and will be continued.
-
-## License and development
-Copyright (C) by Robin Schneider <br />
-Source code repository: https://github.com/ypid/typesetting/tree/master/scripts/latex-git-log <br />
-Please report bugs and feature requests at https://github.com/ypid/typesetting/issues <br />
-
-## Usage
-
- latex-git-log [options]
-
- Options:
-
- --author set this if you want the author included
- --startcommit set the start value of count commit
- --width set the width in cm of the commit message field in the LaTeX table
- --git-c-add set an base URL to link to a commit
- --user set a github user to derive the base URL
- --repo set a github repository to derive the base URL
- --lang language of the legend and all strings in the output
- --version, -v print version of this script
- --help brief help message
- --man full documentation
-
-### Description of some options
-
- --width Set the width in cm of the commit message field in the LaTeX
- table. If this parameter is not set then the table is not
- vertically limited. That means that if you have a very long
- commit message then the table will probably not fit on the page
- and you will get a "Overfull" error message from TeX.
-
- In this case you should specify the width of the column
- containing the commit messages. I normally use something like
- --width=14 for DIN A4 in landscape.
-
- --git-c-add
- Set an base URL to link to a commit. This script will
- automatically try to use the base URL for github.
-
- --lang Set the language of the legend and all strings in the output. Be
- default the language of your system is used but you can
- overwrite this with this parameter.
-
- Currently this script only supports English and German. If you
- need a translation to another language then you can either
- create a .po file or I can register this project on one of those
- websites for online translation.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/latex-git-log/README.md new/texmf-dist/doc/support/latex-git-log/README.md
--- old/texmf-dist/doc/support/latex-git-log/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/doc/support/latex-git-log/README.md 2020-02-27 23:08:39.000000000 +0100
@@ -0,0 +1,82 @@
+# latex-git-log
+
+This program will output the entire version history as table written in LaTeX
+if it is executed within a git repository.
+
+It is intended that you redirect the standard output of this script to a file which can then be included from your main LaTeX document.
+
+Because the table can be very large you might want to put the thing on a
+landscape page.
+
+## Dependencies
+
+### Of this script
+
+This module requires these other modules and libraries:
+
+ IPC::System::Simple
+ Locale::Maketext::Simple
+
+Everything else should already be installed.
+
+### To compile the output
+
+The table is using the *longtable* package and the links to a web resource for
+each commit use the `\href` macro from *hyperref*. So these two packages have
+to be loaded.
+
+Furthermore you need to defined the macro `\longtableendfoot` which will be
+expanded on the bottom of every page if the table will be continued on the next
+page. You can defined it to a localized message to inform the reader that this
+table is not complete and will be continued.
+
+## License and development
+
+Copyright (C) 2012-2013,2017,2019-2020 Robin Schneider <br/>
+SPDX-License-Identifier: GPL-3.0-or-later <br/>
+CTAN: https://ctan.org/pkg/latex-git-log <br/>
+Source code repository: https://github.com/ypid/typesetting/tree/master/scripts/latex-git-log <br/>
+Please report bugs and feature requests at https://github.com/ypid/typesetting/issues
+
+## Usage
+
+ latex-git-log [options]
+
+ Options:
+
+ --author set this if you want the author included
+ --startcommit set the start value of count commit
+ --width set the width in cm of the commit message field in the LaTeX table
+ --git-c-add set an base URL to link to a commit
+ --user set a github user to derive the base URL
+ --repo set a github repository to derive the base URL
+ --lang language of the legend and all strings in the output
+ --version, -v print version of this script
+ --help brief help message
+ --man full documentation
+ --range specify a git revision range
+
+### Description of some options
+
+ --width Set the width in cm of the commit message field in the LaTeX
+ table. If this parameter is not set then the table is not
+ vertically limited. That means that if you have a very long
+ commit message then the table will probably not fit on the page
+ and you will get a "Overfull" error message from TeX.
+
+ In this case you should specify the width of the column
+ containing the commit messages. I normally use something like
+ --width=14 for DIN A4 in landscape.
+
+ --git-c-add
+ Set an base URL to link to a commit. This script will
+ automatically try to use the base URL for github.
+
+ --lang Set the language of the legend and all strings in the output. By
+ default the language of your system is used but you can
+ overwrite this with this parameter.
+
+ Currently this script only supports English and German. If you
+ need a translation to another language then you can either
+ create a .po file or I can register this project on one of those
+ websites for online translation.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/latex-git-log/po/de.po new/texmf-dist/doc/support/latex-git-log/po/de.po
--- old/texmf-dist/doc/support/latex-git-log/po/de.po 2013-06-27 18:44:39.000000000 +0200
+++ new/texmf-dist/doc/support/latex-git-log/po/de.po 2020-02-27 23:08:39.000000000 +0100
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
"Project-Id-Version: latex-git-log\n"
-"Report-Msgid-Bugs-To: ypid23@aol.de\n"
+"Report-Msgid-Bugs-To: ypid@riseup.net\n"
"POT-Creation-Date: 2013-06-15 18:43+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Robin Scheider \n"
+"Last-Translator: Robin Scheider \n"
"Language-Team: LANGUAGE \n"
"Language: DE\n"
"MIME-Version: 1.0\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/latex-git-log.doc.tlpobj new/tlpkg/tlpobj/latex-git-log.doc.tlpobj
--- old/tlpkg/tlpobj/latex-git-log.doc.tlpobj 2019-02-28 03:47:37.000000000 +0100
+++ new/tlpkg/tlpobj/latex-git-log.doc.tlpobj 2020-03-02 20:52:23.000000000 +0100
@@ -1,11 +1,11 @@
name latex-git-log.doc
category Package
-revision 30983
+revision 54010
shortdesc doc files of latex-git-log
-docfiles size=31
+docfiles size=36
texmf-dist/doc/man/man1/latex-git-log.1
texmf-dist/doc/man/man1/latex-git-log.man1.pdf
- texmf-dist/doc/support/latex-git-log/README
+ texmf-dist/doc/support/latex-git-log/README.md
texmf-dist/doc/support/latex-git-log/example-output.tex
texmf-dist/doc/support/latex-git-log/example.pdf
texmf-dist/doc/support/latex-git-log/example.tex
++++++ latex-git-log.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/latex-git-log/latex-git-log new/texmf-dist/scripts/latex-git-log/latex-git-log
--- old/texmf-dist/scripts/latex-git-log/latex-git-log 2013-06-27 18:44:39.000000000 +0200
+++ new/texmf-dist/scripts/latex-git-log/latex-git-log 2020-02-27 23:08:39.000000000 +0100
@@ -1,6 +1,5 @@
#!/usr/bin/env perl
-# @author Robin Schneider
-# @licence GPLv3+ http://www.gnu.org/licenses/gpl.html
+# SPDX-License-Identifier: GPL-3.0-or-later
# Modules and pragmas {{{
use strict;
@@ -23,6 +22,7 @@
$dirpath = ( fileparse( abs_path($0) ) )[1];
}
# }}}
+
use Locale::Maketext::Simple (
Path => $dirpath . 'po/',
Decode => 1,
@@ -30,13 +30,14 @@
# }}}
# Optional parameters {{{
-my $print_author = 0;
-my $commit_count = 1;
-my $width = 0;
-my $lang = undef;
-my $version = 0;
-my $help = 0;
-my $man = 0;
+my $print_author = 0;
+my $commit_count = 1;
+my $width = 0;
+my $lang = undef;
+my $version = 0;
+my $help = 0;
+my $man = 0;
+my $revision_range = 0;
my ( $git_user, $git_repo, $git_commit_address );
GetOptions(
'author' => \$print_author,
@@ -49,24 +50,17 @@
'version' => \$version,
'help|?' => \$help,
'man' => \$man,
+ 'range=s' => \$revision_range,
);
-pod2usage(1) if $help;
-pod2usage( -verbose => 2, -exitstatus => 0, ) if $man;
-pod2usage( -verbose => 99, -sections => 'Version' ) if $version;
+pod2usage( -verbose => 99, -sections => [ qw(Synopsis Options) ] ) if $help;
+pod2usage( -verbose => 2, -exitstatus => 0, ) if $man;
+pod2usage( -verbose => 99, -sections => 'Version' ) if $version;
my $git_remote = ( split /\n/xms, capturex(qw(git remote -v)) )[0];
loc_lang($lang) if ( defined $lang );
-if ( not defined $git_user
- and not defined $git_repo
- and defined $git_remote
- and $git_remote =~ m#\s.*?:(?<user>\w+?)/(?<repo>.*?)\.git\ \(fetch\)\Z#xms )
-{
- $git_user = $+{user};
- $git_repo = $+{repo};
-}
say '%% This file was generated by the script latex-git-log';
my $git_command_commit_msg = '%s';
-if ( defined $git_user and defined $git_repo ) {
+if ( (defined $git_user and defined $git_repo) or $git_commit_address ) {
unless ( defined $git_commit_address ) {
$git_commit_address = "https://github.com/$+{user}/$+{repo}/commit";
}
@@ -133,15 +127,21 @@
else {
push( @git_command, qq(--pretty=format:%H %ad & $git_command_commit_msg) );
}
+if ($revision_range) {
+ push( @git_command, qq($revision_range) );
+}
@lines = reverse capturex(@git_command);
# }}}
# Get tags {{{
-my @tags_commits = capturex( 'git', 'for-each-ref', '--format=%(refname:short) %(objectname)', 'refs/tags' );
+my @tags_commits = capturex( 'git', 'log', '--tags', '--no-walk', '--pretty=\'%H %d\'' );
my %commit_tags; # The key will be a SHA1 commit hash and the value a comma separated list of all tags.
for (@tags_commits) {
- my ( $tag, $c_hash ) = split /\s/xms, $_;
- chomp($c_hash);
+ chomp;
+ m/\A'([^ ]+)\s*\(([^)]+)\)'\z/xms;
+ my $c_hash = $1;
+ my $tag = $2;
+ $tag =~ s/tag: //g;
if ( defined $commit_tags{$c_hash} ) {
$commit_tags{$c_hash} .= ", $tag";
}
@@ -185,11 +185,15 @@
for (@lines) {
next if /\A\Z/xms;
chomp;
+ if ( m/^([0-9a-f]{40})\s/g and !$which_line) {
+ $which_line ^= 1; ## additional toggle for merge commits
+ @changes = ( "-", "-", "-" );
+ }
if ($which_line) {
s/\A([0-9a-f]{40})\s//xms or die "Did not match the commit hash\n";
my $tags = exists $commit_tags{$1} ? $commit_tags{$1} : q();
my $date_author = '';
- my $c_msg;
+ my $c_msg = '';
if ($print_author) {
/(?:& )(.*?)NoTinAuthorFiled(& .*? &) (.*)/;
$date_author = latex_escape($1) . $2;
@@ -200,7 +204,7 @@
$date_author = $1;
$c_msg = $2;
}
- if ( defined $git_user and defined $git_repo ) {
+ if ( defined $git_commit_address ) {
$c_msg =~ /(.*?) & (.*)/;
$c_msg = sprintf '\\href{%s/%s}{%s}', $git_commit_address, $1, latex_escape($2);
}
@@ -224,11 +228,12 @@
__END__
# Documentation {{{
+=encoding UTF-8
=head1 NAME
latex-git-log - Generates the version history of a git project as LaTeX source code.
-=head1 SYNOPSIS
+=head1 Synopsis
latex-git-log [options]
@@ -244,8 +249,9 @@
--version, -v print version of this script
--help brief help message
--man full documentation
+ --range specify a git revision range
-=head1 OPTIONS
+=head1 Options
=over 8
@@ -266,7 +272,7 @@
=item B<--lang>
-Set the language of the legend and all strings in the output. Be default the
+Set the language of the legend and all strings in the output. By default the
language of your system is used but you can overwrite this with this parameter.
Currently this script only supports English and German. If you need a translation
@@ -281,7 +287,7 @@
latex-git-log --width=6 --lang=en > example-output.tex
-=head1 DEPENDENCIES
+=head1 Dependencies
=head2 Of this script
@@ -303,34 +309,36 @@
page. You can defined it to a localized message to inform the reader that this
table is not complete and will be continued.
-=head1 DESCRIPTION
+=head1 Description
B<This program> will output the entire version history as table written in
LaTeX if it is executed within a git repository.
It is intended that you redirect the standard output of this script to a file
-which can then be included from your main TeX document.
+which can then be included from your main LaTeX document.
Because the table can be very large you might want to put the thing on a
landscape page.
=head1 Version
-0.9
+1.0.0
-=head1 AUTHOR
+=head1 Author
-Robin Schneider
+Robin Schneider
=head1 Development
+CTAN: https://ctan.org/pkg/latex-git-log
+
Source code repository: https://github.com/ypid/typesetting/tree/master/scripts/latex-git-log
Please report bugs and feature requests at https://github.com/ypid/typesetting/issues
-=head1 LICENSE AND COPYRIGHT
+=head1 License and Copyright
-Copyright (C) 2012-2013 by Robin Schneider
+Copyright (C) 2012-2013,2017,2019 Robin Schneider
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/latex-git-log.tlpobj new/tlpkg/tlpobj/latex-git-log.tlpobj
--- old/tlpkg/tlpobj/latex-git-log.tlpobj 2019-02-28 03:47:37.000000000 +0100
+++ new/tlpkg/tlpobj/latex-git-log.tlpobj 2020-03-02 20:52:23.000000000 +0100
@@ -1,6 +1,6 @@
name latex-git-log
category Package
-revision 30983
+revision 54010
shortdesc Typeset git log information
longdesc The program is run within a git repository, and outputs the
longdesc entire version history, as a LaTeX table. That output will
@@ -11,7 +11,6 @@
texmf-dist/scripts/latex-git-log/latex-git-log
catalogue-contact-repository https://github.com/ypid/typesetting/tree/master/scripts/latex-git-log
catalogue-ctan /support/latex-git-log
-catalogue-date 2017-04-18 05:31:40 +0200
-catalogue-license gpl3
+catalogue-license gpl3+
catalogue-topics project-mgmt
-catalogue-version 0.9
+catalogue-version 1.0.0
++++++ latex-papersize.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/latex-papersize.doc.tlpobj new/tlpkg/tlpobj/latex-papersize.doc.tlpobj
--- old/tlpkg/tlpobj/latex-papersize.doc.tlpobj 2019-02-28 03:47:40.000000000 +0100
+++ new/tlpkg/tlpobj/latex-papersize.doc.tlpobj 2019-12-15 01:53:41.000000000 +0100
@@ -1,6 +1,6 @@
name latex-papersize.doc
category Package
-revision 42296
+revision 53131
shortdesc doc files of latex-papersize
docfiles size=1
texmf-dist/doc/support/latex-papersize/README
++++++ latex-papersize.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/latex-papersize/latex-papersize.py new/texmf-dist/scripts/latex-papersize/latex-papersize.py
--- old/texmf-dist/scripts/latex-papersize/latex-papersize.py 2016-10-17 23:30:47.000000000 +0200
+++ new/texmf-dist/scripts/latex-papersize/latex-papersize.py 2019-12-14 23:51:18.000000000 +0100
@@ -1,7 +1,7 @@
#!/usr/bin/env python
r"""
Calculate LaTeX paper and margin settings for arbitrary magnification
-(C) Silas S. Brown, 2005-2009, 2016. Version 1.62.
+(C) Silas S. Brown, 2005-2009, 2016, 2019. Version 1.63.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -32,6 +32,7 @@
This is a Python script to calculate the necessary
settings for arbitrary font and page sizes.
+Works in both Python 2 and Python 3.
BASIC USAGE
@@ -151,11 +152,16 @@
$(python latex-papersize.py 12 26 file.dvi)
"""
-import os, sys, math, commands
+import os, sys, math
+try: from commands import getoutput # Python 2
+except: from subprocess import getoutput # Python 3
+def hasKey(a,b):
+ try: return a.has_key(b) # old Python 2
+ except: return b in a # newer Python 2 + Python 3
if len(sys.argv)==2 and sys.argv[1]=="--help":
- print __doc__.strip() ; raise SystemExit
+ print(__doc__.strip()); raise SystemExit
if len(sys.argv)==2 and sys.argv[1]=="--version":
- print __doc__[:__doc__.find("\n\n")].strip() ; raise SystemExit
+ print(__doc__[:__doc__.find("\n\n")].strip()); raise SystemExit
base_pointsize = float(sys.argv[1])
desired_pointsize = float(sys.argv[2])
@@ -167,13 +173,13 @@
extra_bottom_margin_mm = 0
pageStyle = " \\pagestyle{empty}"
-if os.environ.has_key("paper_width"): paper_width=float(os.environ["paper_width"])
+if hasKey(os.environ,"paper_width"): paper_width=float(os.environ["paper_width"])
else: paper_width=210
-if os.environ.has_key("paper_height"): paper_height=float(os.environ["paper_height"])
+if hasKey(os.environ,"paper_height"): paper_height=float(os.environ["paper_height"])
else: paper_height=297
-if os.environ.has_key("margin_left"): margin_left=float(os.environ["margin_left"])
+if hasKey(os.environ,"margin_left"): margin_left=float(os.environ["margin_left"])
else: margin_left=10
-if os.environ.has_key("margin_top"): margin_top=float(os.environ["margin_top"])
+if hasKey(os.environ,"margin_top"): margin_top=float(os.environ["margin_top"])
else: margin_top=10
paper_magstep = 1.0*desired_pointsize/base_pointsize
@@ -188,15 +194,16 @@
s="\\textwidth=%.1fmm \\textheight=%.1fmm \\topmargin=%.1fmm \\marginparwidth=0mm \\oddsidemargin=%.1fmm \\evensidemargin=%.1fmm \\columnsep=%.1fmm%s" % (textwidth,textheight,margin_top_setting,margin_left_setting,margin_left_setting,margin_left_setting,pageStyle)
if sys.argv[3]=="pdftex":
s += "\\mag=%d \\pdfpagewidth=%d true mm \\pdfpageheight=%d true mm \\pdfhorigin=0 mm \\pdfvorigin=-12.95 mm \\paperwidth=%d true mm \\paperheight=%d true mm" % (1000*paper_magstep,paper_width,paper_height,paper_width,paper_height) # the -12.95mm seems to be a constant regardless of magnification (previous version had -14 but it sems -12.95 is more accurate - at least 12.9 is too small and 13 is too big). Need \paperwidth and \paperheight in there as well in case using hyperref.
- print s
+ print(s)
else:
- os.system("dvips -T %dmm,%dmm -x %d %s -o bbox_test.ps" % (paper_width*10,paper_height*10,1000*paper_magstep+0.5,sys.argv[3]))
+ r = os.system("dvips -T %dmm,%dmm -x %d %s -o bbox_test.ps" % (paper_width*10,paper_height*10,1000*paper_magstep+0.5,sys.argv[3]))
+ assert not r, "dvips failed"
# Now, that would have got the origin wrong. I can't
# figure out how dvips origin and magstep is supposed to
# interoperate, so let's work it out on a case-by-case
# basis from the bounding box.
# (Note: multiplying paper_width and paper_height by 10 above, because if dealing with very small paper sizes then this may give a reading of 0 if the origin is off the page. Increasing the paper size doesn't seem to affect the origin.)
- bbox=commands.getoutput("echo|gs -sDEVICE=bbox bbox_test.ps 2>&1|grep BoundingBox")
+ bbox=getoutput("echo|gs -sDEVICE=bbox bbox_test.ps 2>&1|grep BoundingBox")
# (previous version used 'head -1' to take only the first page, but that can cause 'broken pipe' errors if the file contains too many pages, and will give an incorrect result if there is only one line per page and it is indented on the first page, so we'll look at ALL the pages and take the outermost bounds. Will also look at high-resolution bounding boxes only, if available.)
if "HiResBoundingBox" in bbox: bbox=filter(lambda x:"HiRes" in x,bbox.split("\n"))
else: bbox=bbox.split("\n")
@@ -206,4 +213,4 @@
os.unlink("bbox_test.ps")
existing_left_margin_mm = min(map(lambda x:x[0],bbox))*25.4/72
existing_top_margin_mm = paper_height*10-max(map(lambda x:x[3],bbox))*25.4/72
- print "dvips -T %dmm,%dmm -O %.1fmm,%.1fmm -x %d %s" % (paper_width,paper_height,margin_left - existing_left_margin_mm,margin_top - existing_top_margin_mm,1000*paper_magstep+0.5,sys.argv[3])
+ print("dvips -T %dmm,%dmm -O %.1fmm,%.1fmm -x %d %s" % (paper_width,paper_height,margin_left - existing_left_margin_mm,margin_top - existing_top_margin_mm,1000*paper_magstep+0.5,sys.argv[3]))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/latex-papersize.tlpobj new/tlpkg/tlpobj/latex-papersize.tlpobj
--- old/tlpkg/tlpobj/latex-papersize.tlpobj 2019-02-28 03:47:40.000000000 +0100
+++ new/tlpkg/tlpobj/latex-papersize.tlpobj 2019-12-15 01:53:41.000000000 +0100
@@ -1,6 +1,6 @@
name latex-papersize
category Package
-revision 42296
+revision 53131
shortdesc Calculate LaTeX settings for any font and paper size
longdesc The package is a Python script, whose typical use is when
longdesc preparing printed material for users with low vision. The most
@@ -12,7 +12,6 @@
runfiles size=3
texmf-dist/scripts/latex-papersize/latex-papersize.py
catalogue-ctan /support/latex-papersize
-catalogue-date 2018-01-06 12:14:59 +0100
catalogue-license apache2
catalogue-topics layout
-catalogue-version 1.62
+catalogue-version 1.63
++++++ latex-tds.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/latex-tds.doc.tlpobj new/tlpkg/tlpobj/latex-tds.doc.tlpobj
--- old/tlpkg/tlpobj/latex-tds.doc.tlpobj 2019-02-28 03:47:44.000000000 +0100
+++ new/tlpkg/tlpobj/latex-tds.doc.tlpobj 2020-04-16 01:57:00.000000000 +0200
@@ -1,6 +1,6 @@
name latex-tds.doc
category Package
-revision 40613
+revision 54758
shortdesc doc files of latex-tds
relocated 1
docfiles size=50
++++++ latex-tds.source.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/latex-tds.source.tlpobj new/tlpkg/tlpobj/latex-tds.source.tlpobj
--- old/tlpkg/tlpobj/latex-tds.source.tlpobj 2019-02-28 03:47:44.000000000 +0100
+++ new/tlpkg/tlpobj/latex-tds.source.tlpobj 2020-04-16 01:57:00.000000000 +0200
@@ -1,6 +1,6 @@
name latex-tds.source
category Package
-revision 40613
+revision 54758
shortdesc source files of latex-tds
relocated 1
srcfiles size=112
++++++ latex-via-exemplos.doc.tar.xz ++++++
++++ 5419 lines of diff (skipped)
++++++ latex.doc.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-m/latex.doc.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-m.new.3606/latex.doc.tar.xz differ: char 25, line 1
++++++ latex.tar.xz ++++++
++++ 13741 lines of diff (skipped)