summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-02-08 03:01:14 +0000
committerNorbert Preining <norbert@preining.info>2021-02-08 03:01:14 +0000
commit314f2cf58d8c42409e06e1c52de09b77d6e5fe09 (patch)
treeaed06f32ad00ff26fb839b9fd650b51b2443a3fb /macros/latex
parente068841d2fc2976d094b382e4dd5e4d6df455506 (diff)
CTAN sync 202102080301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.pdfbin300438 -> 297365 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.tex29
-rw-r--r--macros/latex/contrib/easybook/doc/easybook.pdfbin224735 -> 225630 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/easybook.tex50
-rw-r--r--macros/latex/contrib/easybook/doc/pages/appendix.tex6
-rw-r--r--macros/latex/contrib/easybook/doc/pages/chapter1.tex35
-rw-r--r--macros/latex/contrib/easybook/doc/pages/chapter2.tex25
-rw-r--r--macros/latex/contrib/easybook/doc/pages/chapter3.tex40
-rw-r--r--macros/latex/contrib/easybook/easybook.cls123
-rw-r--r--macros/latex/contrib/hyperref/ChangeLog.txt12
-rw-r--r--macros/latex/contrib/hyperref/README.md6
-rw-r--r--macros/latex/contrib/hyperref/backref.dtx4
-rw-r--r--macros/latex/contrib/hyperref/bmhydoc.sty6
-rw-r--r--macros/latex/contrib/hyperref/doc/backref.pdfbin198724 -> 198815 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/cmmi10-22.gifbin917 -> 0 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/cmsy10-21.gifbin956 -> 0 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.css (renamed from macros/latex/contrib/hyperref/doc/manual.css)0
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.html (renamed from macros/latex/contrib/hyperref/doc/manual.html)429
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.pdf (renamed from macros/latex/contrib/hyperref/doc/manual.pdf)bin297131 -> 296810 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.tex (renamed from macros/latex/contrib/hyperref/doc/manual.tex)444
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc2.html (renamed from macros/latex/contrib/hyperref/doc/manual2.html)4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc3.html (renamed from macros/latex/contrib/hyperref/doc/manual3.html)4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc4.html (renamed from macros/latex/contrib/hyperref/doc/manual4.html)4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc5.html (renamed from macros/latex/contrib/hyperref/doc/manual5.html)4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc6.html (renamed from macros/latex/contrib/hyperref/doc/manual6.html)4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc7.html (renamed from macros/latex/contrib/hyperref/doc/manual7.html)4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref.pdfbin2414308 -> 2421160 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/nameref.pdfbin188982 -> 188802 bytes
-rw-r--r--macros/latex/contrib/hyperref/fdl.tex422
-rw-r--r--macros/latex/contrib/hyperref/hluatex.dtx8
-rw-r--r--macros/latex/contrib/hyperref/hyperref.dtx20
-rw-r--r--macros/latex/contrib/hyperref/hyperref.ins2
-rw-r--r--macros/latex/contrib/hyperref/manifest.txt14
-rw-r--r--macros/latex/contrib/hyperref/minitoc-hyper.sty2
-rw-r--r--macros/latex/contrib/hyperref/nameref.dtx6
-rw-r--r--macros/latex/contrib/hyperref/ntheorem-hyper.sty927
-rw-r--r--macros/latex/contrib/hyperref/xr-hyper.sty40
-rw-r--r--macros/latex/contrib/l3backend/CHANGELOG.md12
-rw-r--r--macros/latex/contrib/l3backend/README.md2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-basics.dtx14
-rw-r--r--macros/latex/contrib/l3backend/l3backend-box.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-code.pdfbin805273 -> 805972 bytes
-rw-r--r--macros/latex/contrib/l3backend/l3backend-color.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-draw.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-graphics.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-header.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-opacity.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-pdf.dtx22
-rw-r--r--macros/latex/contrib/l3experimental/CHANGELOG.md12
-rw-r--r--macros/latex/contrib/l3experimental/README.md2
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.pdfbin313934 -> 314447 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3bitset.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3bitset.pdfbin382047 -> 382530 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3color.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3color.pdfbin368500 -> 369039 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-boxes.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-code.pdfbin606502 -> 606904 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-layers.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-paths.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-points.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-scopes.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-softpath.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-state.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-transforms.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.pdfbin489498 -> 490075 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.pdfbin385433 -> 386004 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.pdfbin362791 -> 363302 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3pdf-code.pdfbin278649 -> 279001 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3pdf.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3pdf.pdfbin376888 -> 377364 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.pdfbin344581 -> 345158 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.pdfbin311407 -> 311867 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.dtx7
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.pdfbin372577 -> 373136 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.dtx9
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.pdfbin285358 -> 285978 bytes
-rw-r--r--macros/latex/contrib/l3kernel/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/l3kernel/README.md2
-rw-r--r--macros/latex/contrib/l3kernel/expl3.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/expl3.pdfbin589868 -> 590739 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.pdfbin1573345 -> 1575865 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3box.dtx18
-rw-r--r--macros/latex/contrib/l3kernel/l3candidates.dtx10
-rw-r--r--macros/latex/contrib/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3clist.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3coffins.dtx18
-rw-r--r--macros/latex/contrib/l3kernel/l3color-base.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3debug.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3deprecation.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3doc.dtx10
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.pdfbin262745 -> 263501 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3file.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3int.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3kernel-functions.dtx9
-rw-r--r--macros/latex/contrib/l3kernel/l3keys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3names.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3news.pdfbin379428 -> 380237 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news01.pdfbin113600 -> 113669 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news02.pdfbin140873 -> 140944 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news03.pdfbin138073 -> 138141 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news04.pdfbin107122 -> 107188 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news05.pdfbin105090 -> 105169 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news06.pdfbin140913 -> 140971 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news07.pdfbin119094 -> 119190 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news08.pdfbin152504 -> 152604 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news09.pdfbin235891 -> 236052 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news10.pdfbin140388 -> 140521 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news11.pdfbin159248 -> 159391 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news12.pdfbin192502 -> 192710 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.pdfbin75619 -> 75619 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prop.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.pdfbin279525 -> 280295 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.pdfbin227809 -> 228483 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.pdfbin217177 -> 217942 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3token.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/source3.pdfbin5995035 -> 5998896 bytes
-rw-r--r--macros/latex/contrib/l3kernel/source3.tex2
-rw-r--r--macros/latex/contrib/moodle/README.md6
-rw-r--r--macros/latex/contrib/moodle/moodle.dtx827
-rw-r--r--macros/latex/contrib/moodle/moodle.pdfbin241634 -> 260933 bytes
168 files changed, 1656 insertions, 2184 deletions
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.pdf b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
index a30d93392e..5fb27f8d90 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.tex b/macros/latex/contrib/easybook/doc/easybook-demo.tex
index 3d9712293f..57801d4faf 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.tex
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.tex
@@ -9,7 +9,7 @@
{
style =
{
- color = forest,
+ color = seaside,
% capdash = true,
% multoc = true,
% withpart = true,
@@ -34,11 +34,11 @@
},
elfont =
{
- tabfont = \sffamily\small,
- figfont = \sffamily\small,
- lstfont = \sffamily\small,
+ tabfont = \sffamily\zihao{5},
+ figfont = \sffamily\zihao{5},
+ lstfont = \sffamily\zihao{5},
fnfont = \rmfamily,
- marfont = \sffamily\footnotesize
+ marfont = \sffamily\zihao{-5}
},
thmset =
{
@@ -57,9 +57,9 @@
},
hdrset =
{
- \fancyhead[EC]{\color{DarkViolet}\kaishu\leftmark}
- \fancyhead[OC]{\color{DarkViolet}\kaishu\rightmark}
- \fancyhead[EL,OR]{\color{DarkViolet}\thepage}
+ \easyhead[EC]{\color{DarkViolet}\kaishu\leftmark}
+ \easyhead[OC]{\color{DarkViolet}\kaishu\rightmark}
+ \easyhead[EL,OR]{\color{DarkViolet}\thepage}
},
tocset =
{
@@ -93,10 +93,9 @@
瞿毅\thanks{texeasybook@foxmail.com.} \\
\git~\url{https://gitee.com/texl3/easybook}\thanks{Gitee为项目的主è¦å‘布地å€ã€‚} \\
\github~\url{https://github.com/texl3/easybook} \\
- \edge~\url{https://latexstudio.net} \\
- \url{https://ctan.org/pkg/easybook}
+ \edge~\url{https://latexstudio.net}
}
- \date{2021/02/02\hskip\ccwd\relax v1.23}
+ \date{2021/02/08\hskip\ccwd\relax v1.23a}
}
\begin{document}
@@ -106,10 +105,10 @@
\mainmatter
\part{使用示例}
-\subfile{pages/chapter1}
-\subfile{pages/chapter2}
-\subfile{pages/chapter3}
-\subfile{pages/appendix}
+\include{pages/chapter1}
+\include{pages/chapter2}
+\include{pages/chapter3}
+\include{pages/appendix}
\backmatter
\printbibliography
diff --git a/macros/latex/contrib/easybook/doc/easybook.pdf b/macros/latex/contrib/easybook/doc/easybook.pdf
index 6dac946312..cea72f04f6 100644
--- a/macros/latex/contrib/easybook/doc/easybook.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/easybook.tex b/macros/latex/contrib/easybook/doc/easybook.tex
index d2a9be0bdf..4cd23121b7 100644
--- a/macros/latex/contrib/easybook/doc/easybook.tex
+++ b/macros/latex/contrib/easybook/doc/easybook.tex
@@ -1,13 +1,9 @@
\documentclass{ctxdoc}
-\hypersetup
- {
- linkcolor = blue,
- urlcolor = blue
- }
+\hypersetup{linkcolor = blue,urlcolor = blue}
\title{\sffamily easybook书ç±æ–‡æ¡£ç±»}
\author{瞿毅}
-\date{2021/02/02\hskip\ccwd\relax v1.23\thanks{\url{https://gitee.com/texl3/easybook}}}
+\date{2021/02/08\hskip\ccwd\relax v1.23a\thanks{\url{https://gitee.com/texl3/easybook}}}
\begin{document}
\maketitle
@@ -19,7 +15,7 @@
\tableofcontents
\section{编译方å¼}
-模æ¿å«æœ‰ä¸€ä¸ªä½¿ç”¨ç¤ºä¾‹æ–‡ä»¶ï¼Œç¼–译å‰å»ºè®®æ»¡è¶³ä»¥ä¸‹çš„æ¡ä»¶
+模æ¿å«æœ‰ä¸€ä¸ªä½¿ç”¨ç¤ºä¾‹æ–‡ä»¶ \opt{easybook-demo.tex},编译å‰å»ºè®®æ»¡è¶³ä»¥ä¸‹çš„æ¡ä»¶
\begin{itemize}
\item 使用 \hologo{XeLaTeX}(推è)或 \hologo{LuaLaTeX} 两ç§ç¼–译方å¼ã€‚
\item å‚考文献支æŒç”¨ \hologo{BibTeX}(默认)或 \hologo{biber} åŽç«¯å¤„ç†ã€‚
@@ -40,7 +36,8 @@
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
\end{frameverb}
-\subsection{字体设置}\label{font settings}
+\subsection{字体设置}
+\label{font settings}
默认使用\CTeX é¢„ç½®ä¸­æ–‡å­—åº“ï¼Œå½“å¼€å¯ \opt{font = noto} 选项时需è¦å®‰è£…å¼€æºå­—体,中文使用方正系列的{\songti 方正书宋}ã€{\heiti 方正黑体}ã€{\kaishu 方正楷体}å’Œ{\fangsong 方正仿宋},英文使用æ€æºç³»åˆ—çš„{\rmfamily Noto Serif}ã€{\sffamily Noto Sans}å’Œ{\ttfamily Noto Sans Mono},数学字体使用 \pkg{notomath}。相关选项å¯ä»¥è§å°èŠ‚ \ref{document class options} 中的 \opt{font} 选项,字体点击此处下载\href{https://wws.lanzous.com/b01ns361i}{下载地å€}。
如果您ä¸æƒ³ä½¿ç”¨\CTeX 默认字体和方正ã€æ€æºå­—体,\textbf{自定义字体}需å¯ç”¨é€‰é¡¹ \opt{font = none},并å¯åœ¨å¯¼è¨€åŒºè®¾ç½®ä¸­æ–‡å­—体,粗体与斜体ä¸è®¾ç½®ä¼šäº§ç”Ÿè­¦å‘Šã€‚
@@ -50,7 +47,8 @@
\setCJKmonofont{FangSong}
\end{ctexexam}
-\section{文档类选项}\label{document class options}
+\section{文档类选项}
+\label{document class options}
标准 \cls{book} 文类与 \cls{ctexbook} 文类的选项åŒæ ·é€‚用于本文档。除此之外选项分为两类
\begin{itemize}
\item 带有 \rexptarget\rexpstar{} å·çš„选项,需è¦åœ¨å¼•å…¥æ–‡æ¡£ç±»çš„时候设定。
@@ -111,9 +109,9 @@
\end{function}
\subsection{风格}
-\begin{function}[EXP,added = 2021-01-05,updated = 2021-02-02]{style/color,style/capdash,style/multoc,style/withpart,style/perpart,style/perpage,style/notomath}
+\begin{function}[EXP,added = 2021-01-05,updated = 2021-02-08]{style/color,style/capdash,style/multoc,style/withpart,style/perpart,style/perpage,style/notomath}
\begin{syntax}
- color = <(none)|forest|energy|cyberpunk>
+ color = <(none)|seaside|energy|cyberpunk>
capdash = <true|(false)>
multoc = <true|(false)>
withpart = <true|(false)>
@@ -143,7 +141,8 @@
\item[notomath] 使用 \opt{noto} 风格的数学字体,将会加载 \pkg{newtxmath} å®åŒ…。
\end{optdesc}
-\subsection{超链接}\label{hyperlinks}
+\subsection{超链接}
+\label{hyperlinks}
\begin{function}[EXP,added = 2021-01-05,updated = 2021-01-08]{link/hyperlink,link/linkcolor,link/linktopage}
\begin{syntax}
hyperlink = <(edge)|various|none>
@@ -189,7 +188,7 @@
\end{optdesc}
\subsection{其它字体}
-\begin{function}[EXP,added = 2021-01-08]{elfont/tabfont,elfont/figfont,elfont/lstfont,elfont/fnfont,elfont/marfont}
+\begin{function}[EXP,added = 2021-01-08,updated = 2021-02-08]{elfont/tabfont,elfont/figfont,elfont/lstfont,elfont/fnfont,elfont/marfont}
\begin{syntax}
tabfont = <\tn{sffamily}\tn{small}>
figfont = <\tn{sffamily}\tn{small}>
@@ -198,6 +197,7 @@
marfont = <\tn{rmfamily}\tn{footnotesize}>
\end{syntax}
\changes{v1.10}{2021/01/08}{加入自定义éžæ­£æ–‡å­—体选项。}
+\changes{v1.23a}{2021/02/08}{ä¿®å¤ä½¿ç”¨ \tn{zihao} 命令设置字体失效的问题。}
\end{function}
\begin{optdesc}
@@ -291,23 +291,23 @@
\end{function}
\subsection{页眉页脚}
-\begin{function}[EXP,added = 2021-01-13,updated = 2021-01-15]{hdrset,\fancyhead,\fancyfoot,...}
+\begin{function}[EXP,added = 2021-01-13,updated = 2021-02-08]{hdrset,\easyhead,\easyfoot,...}
\begin{syntax}
hdrset = <载入 \opt{fancyhdr} 的设置>
- \tn{fancyhead}\oarg{ä½ç½®}\marg{内容}
- \tn{fancyfoot}\oarg{ä½ç½®}\marg{内容}
+ \tn{easyhead}\oarg{ä½ç½®}\marg{内容}
+ \tn{easyfoot}\oarg{ä½ç½®}\marg{内容}
\end{syntax}
\changes{v1.21}{2021/01/11}{ä¿®å¤å•é¢æ–‡æ¡£æ—¶é¡µçœ‰æ¨ªçº¿æ¶ˆå¤±çš„问题。}
\changes{v1.21c}{2021/01/13}{增加é…置页眉页脚的选项。}
-\opt{hdrset} 设置的命令由 \pkg{fancyhdr} å®åŒ…æ供支æŒï¼Œè®¾ç½®çš„是一个å为 \opt{fancy} 的页é¢é£Žæ ¼ã€‚\pkg{fancyhdr} 将页眉页脚分æˆäº†å·¦ä¸­å³å’Œå¥‡æ•°é¡µï¼ˆodd)ã€å¶æ•°é¡µï¼ˆeven)共12个部分,å¯é€‰å‚数中Eã€O代表å¶æ•°ã€å¥‡æ•°ï¼ŒLã€Cã€R代表左ã€ä¸­ã€å³éƒ¨åˆ†ã€‚å•é¢æ‰“å°æ—¶ï¼Œå«æœ‰å¶æ•°çš„选项无效。
+\opt{hdrset} 设置的命令由 \pkg{fancyhdr} å®åŒ…æ供支æŒï¼Œå‘½ä»¤ \tn{easyhead} å’Œ \tn{easyfoot} çš„å«ä¹‰ä¸Ž \tn{fancyhead} å’Œ \tn{fancyfoot} 相åŒï¼Œè®¾ç½®çš„是一个å为 \opt{fancy} 的页é¢é£Žæ ¼ã€‚\pkg{fancyhdr} 将页眉页脚分æˆäº†å·¦ä¸­å³å’Œå¥‡æ•°é¡µï¼ˆodd)ã€å¶æ•°é¡µï¼ˆeven)共12个部分,å¯é€‰å‚数中Eã€O代表å¶æ•°ã€å¥‡æ•°ï¼ŒLã€Cã€R代表左ã€ä¸­ã€å³éƒ¨åˆ†ã€‚å•é¢æ‰“å°æ—¶ï¼Œå«æœ‰å¶æ•°çš„选项无效。
\begin{ctexexam}
\ctexset
{
hdrset =
{
- \fancyhead[ER]{\leftmark}
- \fancyhead[OL]{\rightmark}
- \fancyhead[EL,OR]{\textbf{\thepage}}
+ \easyhead[ER]{\leftmark}
+ \easyhead[OL]{\rightmark}
+ \easyhead[EL,OR]{\textbf{\thepage}}
}
}
\end{ctexexam}
@@ -365,7 +365,7 @@
\tn{item} <列表内容>
\tn{end}\marg{环境å}
\end{syntax}
-\pkg{enumitem} å®åŒ…为系统自带的列表环境æ供了更çµæ´»çš„标签以åŠé—´è·çš„控制。已设置默认格å¼ï¼Œè‹¥è‡ªå®šä¹‰æ ‡ç­¾å¯ä¾‹å¦‚
+\pkg{enumitem} å®åŒ…为系统自带的列表环境æ供了更çµæ´»çš„标签以åŠé—´è·çš„控制,å¯ä½¿ç”¨ \tn{setlist} 命令设置原有的三ç§åˆ—表格å¼ã€‚已设置默认格å¼ï¼Œè‹¥è‡ªå®šä¹‰æ ‡ç­¾å¯ä¾‹å¦‚
\begin{ctexexam}
\begin{enumerate}[label = \arabic*(a),leftmargin = 1cm,resume]
\begin{itemize}[label = \textbullet]
@@ -373,7 +373,8 @@
\end{ctexexam}
\end{function}
-\subsubsection{排åºåˆ—表}\label{sort list}
+\subsubsection{排åºåˆ—表}
+\label{sort list}
使用 \opt{enumerate} 环境å¯åˆ›å»ºæŽ’åºåˆ—表,使用 \opt{enumerate*} 环境产生行内部列表,å¯ä»¥ä½¿ç”¨\textbf{Aã€aã€Iã€iå’Œ1}作为å¯é€‰é¡¹ä¸º \opt{enumerate} 与 \opt{enumerate*} æ ¼å¼åŒ–标签。若生æˆ\textbf{Item Iã€Item IIã€Item III}æ ¼å¼å¯ä»¥è¿™æ ·
\begin{ctexexam}
\begin{enumerate*}[(a)]
@@ -409,12 +410,13 @@
\end{function}
\subsection{习题}
-\begin{function}[added = 2021-01-05]{exercise}
+\begin{function}[added = 2021-01-05,updated = 2021-02-08]{exercise}
\begin{syntax}
\tn{begin}\marg{exercise}\oarg{颜色å}\oarg{ç¼–å·}\oarg{标题}
\tn{item} <习题内容>
\tn{end}\marg{exercise}
\end{syntax}
+\changes{v1.23a}{2021/02/08}{增加准确的习题盒å­æ ‡é¢˜ç›®å½•é”šç‚¹ã€‚}
习题环境 \opt{exercise} 的标题紧接上一节编å·å¹¶åŠ å…¥ç›®å½•ä¸Žé¡µçœ‰ï¼Œå½“使用星å·çŽ¯å¢ƒæ—¶ä¸è¿›è¡Œç¼–å·ã€‚三个å¯é€‰å‚数中颜色为自定义或 \pkg{xcolor} 包å«çš„颜色å称(深色),正文编å·æ ¼å¼ä¸Žå°èŠ‚ \ref{sort list} 排åºåˆ—表相åŒï¼Œæ ‡é¢˜å默认为摘è¦ï¼Œå‚æ•°åªèƒ½\textbf{从å³å¾€å·¦}çœç•¥ã€‚
\begin{ctexexam}
\begin{exercise}[black][1.][习题]
@@ -478,7 +480,7 @@
<行间代ç >
\tn{end}\marg{lstlisting}
\end{syntax}
-使用 \pkg{listings} å®åŒ…å¯ä»¥å¯¹ä»£ç æ ¼å¼è¿›è¡Œé«˜åº¦å®šåˆ¶ï¼Œ\tn{listoflistings} 命令用于输出代ç ç›®å½•ã€‚
+加载了 \pkg{listings} å®åŒ…以对代ç æ ¼å¼è¿›è¡Œé«˜åº¦å®šåˆ¶ï¼Œä»£ç æ ·å¼å¯ä½¿ç”¨ \tn{lstset} 命令设置,\tn{listoflistings} 命令用于输出代ç ç›®å½•ã€‚
\end{function}
\subsection{物ç†é‡}
diff --git a/macros/latex/contrib/easybook/doc/pages/appendix.tex b/macros/latex/contrib/easybook/doc/pages/appendix.tex
index f5981487b1..e05362d02d 100644
--- a/macros/latex/contrib/easybook/doc/pages/appendix.tex
+++ b/macros/latex/contrib/easybook/doc/pages/appendix.tex
@@ -1,11 +1,7 @@
% 附录
-\documentclass[../easybook-demo]{subfiles}
-\begin{document}
\appendix
\chapter{维基百科}
\section{阿å¸åŒ¹æž—}
-\zhlipsum[50-52][name = aspirin]
-
-\end{document} \ No newline at end of file
+\zhlipsum[50-52][name = aspirin] \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/pages/chapter1.tex b/macros/latex/contrib/easybook/doc/pages/chapter1.tex
index 80157ecaac..28df558200 100644
--- a/macros/latex/contrib/easybook/doc/pages/chapter1.tex
+++ b/macros/latex/contrib/easybook/doc/pages/chapter1.tex
@@ -1,10 +1,9 @@
% Chapter 1
-\documentclass[../easybook-demo]{subfiles}
-\begin{document}
\chapter{常用环境}
-\section{å…¬å¼}\index{g@å…¬å¼}
+\section{å…¬å¼}
+\index{g@å…¬å¼}
\zhlipsum*[42][name = aspirin]
\begin{equation}\label{eq:matrix}
\bm{A} = \left[
@@ -44,7 +43,8 @@
\vfill{\small\doclicenseThis}
\clearpage
-\section{æ’图}\index{c@æ’图}
+\section{æ’图}
+\index{c@æ’图}
当我们需è¦æŽ’列一组å­å›¾å…±äº«æ ‡é¢˜çš„图片时,å¯ä»¥ä½¿ç”¨ä¾èµ–于 \lstinline{caption} å®åŒ…çš„ \lstinline{subcaption} å®åŒ…的功能,效果è§\cref{fig:example}。
\begin{figure}[htbp]
\centering
@@ -56,7 +56,8 @@
\bicaption[使用subcaption排版å­å›¾]{使用subcaptionå®åŒ…çš„subcaptionbox命令排版å­å›¾}[Use subcaption to typeset subgraphs]{Use the subcaptionbox command of the subcaption package to typeset sub-pictures}\label{fig:example}
\end{figure}
-\section{表格}\index{b@表格}
+\section{表格}
+\index{b@表格}
åˆå¹¶è¡¨æ ¼åˆ—使用 \lstinline{\multicolumn} 命令,åˆå¹¶è¡Œä½¿ç”¨ \lstinline{\multirowcell} 命令。当æ’入的表格内容过长以至于一行放ä¸ä¸‹çš„情况å¯ä»¥ä½¿ç”¨ \lstinline{tabularx} 环境,设置了\textsf{Lã€Cå’ŒR}三个列对é½é€‰é¡¹ï¼Œä¸€ä¸ªä¾‹å­å¦‚\cref{tab:example} 所示。
\begin{table}[htbp]
\centering
@@ -74,31 +75,33 @@
\end{table}
\clearpage
-\section{列表}\index{l@列表}
-\zhlipsum*[10][name = aspirin]
+\section{列表}
+\index{l@列表}
+\zhlipsum*[42][name = aspirin]
-\subsection{排åºåˆ—表}\label{subsec1}\index{l@列表!p@排åºåˆ—表}
+\subsection{排åºåˆ—表}
+\index{l@列表!p@排åºåˆ—表}
\begin{enumerate}
- \item \zhlipsum*[41][name = aspirin]
+ \item \zhlipsum*[42][name = aspirin]
\begin{enumerate}
\item \zhlipsum*[42][name = aspirin]
\end{enumerate}
- \item \zhlipsum*[41][name = aspirin]
+ \item \zhlipsum*[42][name = aspirin]
\end{enumerate}
-\subsection{常规列表}\index{l@列表!c@常规列表}
+\subsection{常规列表}
+\index{l@列表!c@常规列表}
\begin{itemize}
\item \zhlipsum[41-42][name = aspirin]
\begin{itemize}
\item \zhlipsum*[42][name = aspirin]
\end{itemize}
- \item \zhlipsum*[41][name = aspirin]
+ \item \zhlipsum*[42][name = aspirin]
\end{itemize}
-\subsection{主题列表}\index{l@列表!z@主题列表}
+\subsection{主题列表}
+\index{l@列表!z@主题列表}
\begin{description}
\item[主题一] \zhlipsum*[42][name = aspirin]
\item[主题二] \zhlipsum*[42][name = aspirin]
-\end{description}
-
-\end{document} \ No newline at end of file
+\end{description} \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/pages/chapter2.tex b/macros/latex/contrib/easybook/doc/pages/chapter2.tex
index 49e9d1e824..bf2bbf7798 100644
--- a/macros/latex/contrib/easybook/doc/pages/chapter2.tex
+++ b/macros/latex/contrib/easybook/doc/pages/chapter2.tex
@@ -1,16 +1,18 @@
% Chapter 2
-\documentclass[../easybook-demo]{subfiles}
-\begin{document}
\chapter{定ç†ç›’å­}
-\begin{outline}\index{zhaiyao@摘è¦ç›’å­}
+\begin{outline}
+\index{zhaiyao@摘è¦ç›’å­}
\item 这是一个摘è¦ç›’å­ã€‚
\item 它的标题是å¯é€‰å‚数,默认标题是摘è¦ã€‚
\end{outline}
-\section{定ç†}\index{d@定ç†}
-\begin{theorem}[(高斯公å¼\footnote{选自高等数学公å¼ã€‚})]\label{theorem:gauss formula}\index{d@定ç†!g@高斯公å¼}
+\section{定ç†}
+\index{d@定ç†}
+\begin{theorem}[(高斯公å¼\footnote{选自高等数学公å¼ã€‚})]
+\label{theorem:gauss formula}
+\index{d@定ç†!g@高斯公å¼}
设空间闭区域$\Omega$是由分片光滑的闭曲é¢$\Sigma$å›´æˆï¼Œè‹¥å‡½æ•°$P(x,y,z)$,$Q(x,y,z)$,$R(x,y,z)$在$\Omega$上具有一节连续å导数,则有
\begin{align}
\iiint_\Omega\left(\frac{\partial P}{\partial x}+\frac{\partial Q}{\partial y}+\frac{\partial R}{\partial x}\right)\mathrm{d}V & =\oiint_\Sigma P\mathrm{d}y\mathrm{d}z+Q\mathrm{d}z\mathrm{d}x+R\mathrm{d}x\mathrm{d}y
@@ -20,7 +22,8 @@
这里$\Sigma$是整个边界曲é¢$\Omega$的外侧,$\cos\alpha,\cos\beta,\cos\gamma$是$\Sigma$在点$(x,y,z)$处的法å‘é‡çš„æ–¹å‘余弦。引用这个公å¼å¦‚\cref{theorem:gauss formula}。
\end{theorem}
-\begin{definition}[(Stokes formula)]\index{d@定ç†!s@Stokes formula}
+\begin{definition}[(Stokes formula)]
+\index{d@定ç†!s@Stokes formula}
Let $\Gamma$ be a piecewise smooth directed closed curve, $\Sigma$ is a piecewise smooth directed surface bounded by $\Gamma$, the side of $\Gamma$ and the positive direction of $\Sigma$ According to the right-hand rule, if the function $P(x,y,z)$, $Q(x,y,z)$, $R(x,y,z)$ has a first-order continuous deviation on the curve $\Sigma$ Derivative, then
\begin{multline}
\iint_\Sigma\left(\frac{\partial R}{\partial y}-\frac{\partial Q}{\partial z}\right)\mathrm{d}y\mathrm{d}z+\left(\frac{\partial P}{\partial z}-\frac{\partial R}{\partial x}\right)\mathrm{d}z\mathrm{d}x+\left(\frac{\partial Q}{\partial x}-\frac{\partial P}{\partial y}\right)\mathrm{d}x\mathrm{d}y
@@ -55,14 +58,16 @@ The Stokes formula is an extension of the basic calculus formula in the case of
这是一个è¯æ˜Žï¼Œæœ«å°¾è‡ªåŠ¨æ·»åŠ è¯æ˜Žç»“æŸç¬¦ã€‚
\end{proof}
-\begin{mybox}*[My title]\index{z@自定义盒å­}
+\begin{mybox}*[My title]
+\index{z@自定义盒å­}
\zhlipsum*[3][name = aspirin]
\tcblower
\zhlipsum*[8][name = aspirin]
\end{mybox}
\zhlipsum*[3][name = aspirin]
-\begin{exercise}[black][1.][习题]\index{x@习题环境}
+\begin{exercise}[black][1.][习题]
+\index{x@习题环境}
\item 设$w = f(x+y+z,xyz)$,$f$具有二阶连续å导数,求$\dfrac{{\partial w}}{{\partial x}}$å’Œ$\dfrac{{{\partial ^2}w}}{{\partial x\partial z}}$。
\item 已知$y = y(x)$在任æ„点$x$处的增é‡$\Delta y = \dfrac{y\Delta x}{1+x^2}+\alpha$,其中$\alpha$是$\Delta x$的高阶无穷å°ï¼ˆ$\Delta x\to 0$时),$y(0) = \pi$,则$y(1) = \uline{\mbox{\hspace{2em}}}$。
\item 设函数$f(x)$在$(-\infty,+\infty)$上有定义,则下述命题中正确的是 \mbox{(\hspace{1.5em})}
@@ -72,6 +77,4 @@ The Stokes formula is an extension of the basic calculus formula in the case of
\task è‹¥$f''(x_0) = 0$,则$(x_0,f(x_0))$是曲线$y = f(x)$çš„æ‹ç‚¹å标。
\task è‹¥$f'(x_0) = 0$, $f''(x_0) = 0$,$f'''(x_0)\ne 0$,则$x_0$一定ä¸æ˜¯$f(x)$çš„æžå€¼ç‚¹ã€‚
\end{tasks}
-\end{exercise}
-
-\end{document} \ No newline at end of file
+\end{exercise} \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/pages/chapter3.tex b/macros/latex/contrib/easybook/doc/pages/chapter3.tex
index 04fa95dc34..8670c10975 100644
--- a/macros/latex/contrib/easybook/doc/pages/chapter3.tex
+++ b/macros/latex/contrib/easybook/doc/pages/chapter3.tex
@@ -1,10 +1,10 @@
% Chapter 3
-\documentclass[../easybook-demo]{subfiles}
-\begin{document}
-\chapter{其它格å¼}\label{chap:other formats}
+\chapter{其它格å¼}
+\label{chap:other formats}
-\section{代ç }\index{d@代ç }
+\section{代ç }
+\index{d@代ç }
\zhlipsum[42][name = aspirin]
\begin{lstlisting}[language = Python,caption = {python程åºç»ƒä¹ é¢˜}]
#!/usr/bin/python
@@ -18,10 +18,12 @@ if __name__ == '__main__':
print ptr
\end{lstlisting}
-\section{物ç†é‡}\index{w@物ç†é‡}
+\section{物ç†é‡}
+\index{w@物ç†é‡}
阿å¸åŒ¹æž—还有三ç§ä½œç”¨æ–¹å¼ \num{-21x.3e5}。一是使线粒体的氧化磷酸化解å¶è”。阿å¸åŒ¹æž—会æºå¸¦è´¨å­ä»Žçº¿ç²’体膜间隙扩散进入线粒体基质,然åŽå†æ¬¡ç”µç¦»é‡Šæ”¾è´¨å­ \SI{.5}{mol}。
-\section{化学å¼}\index{h@化学å¼}
+\section{化学å¼}
+\index{h@化学å¼}
阿å¸åŒ¹æž—还有三ç§ä½œç”¨æ–¹å¼ã€‚一是使线粒体的氧化磷酸化解å¶è”。阿å¸åŒ¹æž—会æºå¸¦è´¨å­ä»Žçº¿ç²’体膜间隙扩散进入线粒体基质,然åŽå†æ¬¡ç”µç¦»é‡Šæ”¾è´¨å­\ch{(NH4)2S}ã€\ch{[Cu(NH3)4]^2+}。
\[\ch{$x$ Na(NH4)HPO4 ->[$\Delta$] (NaPO3)_{$x$} + $x$ NH3 ^ + $x$ H2O}\]
阿å¸åŒ¹æž—还有三ç§ä½œç”¨æ–¹å¼ã€‚
@@ -29,26 +31,28 @@ if __name__ == '__main__':
HN-[::+60]CH_3)=-(-HO)=)}\]
\clearpage
-\section{引用}\index{y@引用}
+\section{引用}
+\index{y@引用}
\zhlipsum[8][name = aspirin]
-\subsection{索引}\index{y@引用!s@索引}
+\subsection{索引}
+\index{y@引用!s@索引}
\zhlipsum[8][name = aspirin]
-\subsection{脚注}\index{y@引用!j@脚注}
+\subsection{脚注}
+\index{y@引用!j@脚注}
六年之åŽçš„1859年,冯·基尔姆让水æ¨é…¸å’Œä¹™é…°æ°¯å应,制得了分æžçº¯çš„乙酰水æ¨é…¸ï¼Œä»–称之为“乙酰化水æ¨é…¸â€ï¼ˆacetylierte*Salicyls+"aure)\footnote{这是一个悬挂缩进的脚注。\par 这是分段将会缩进两字符。}。
60å’Œ70年代,约翰·范æ©ç­‰äººå‘现了阿å¸åŒ¹æž—的作用机ç†ï¼Œ60至80年代的其他研究和临床试验è¯æ˜Žè¯¥è¯æœ‰æŠ—å‡è¡€çš„è¯æ•ˆï¼Œå¯é™ä½Žè¡€æ “疾病的å‘病率\Footnote{*}{这是å¯ä»¥è‡ªå®šä¹‰æ ‡è®°çš„脚注。}。
-\subsection{边注}\index{y@引用!b@边注}
-对乙酰氨基酚和布洛芬\marginnote{这是一个边注。}于1956å¹´å’Œ1959年相继问世以åŽï¼Œé˜¿å¸åŒ¹æž—的使用率开始下é™ã€‚
-
-\subsection{引用章节}\label{subsec:reference section}\index{y@引用!s@索引}
+\subsection{引用章节}
+\label{subsec:reference section}
+\index{y@引用!s@索引}
兽医有时用阿å¸åŒ¹æž—æ¥é•‡ç—›æˆ–抗血栓,主è¦ç»™ç‹—用\cref{chap:other formats},有时给马用\cref{subsec:reference section},ä¸è¿‡çŽ°åœ¨ä¸€èˆ¬ä¼šç”¨å‰¯ä½œç”¨è¾ƒå°‘的新疗法。
-\subsection{å‚考文献}\index{y@引用!c@å‚考文献}
+\subsection{å‚考文献}
+\index{y@引用!c@å‚考文献}
这是一个å‚考文献引用的范例\cite{1979Prospect}。引用多个文献,将引用标å·ä¸­çš„多个文献åºå·æŒ‰å‡åºæŽ’列,若其中有2个以上的连续åºå·ï¼Œåˆ™æ”¹ç”¨èŒƒå›´åºå·ï¼Œä¾‹å¦‚\cite{1979Prospect,1989The,2010An}。
-\section{行内盒å­}\index{h@行内盒å­}
-对乙酰氨基酚和布洛芬 \concise[Aqua][fontupper = \rmfamily]{concise} 于1956å¹´å’Œ1959年相继问世以åŽï¼Œé˜¿å¸åŒ¹æž— \fuzzy[DarkSeaGreen][fontupper = \ttfamily,colupper = black]{fuzzy} 的使用率开始下é™ã€‚
-
-\end{document} \ No newline at end of file
+\section{行内盒å­}
+\index{h@行内盒å­}
+对乙酰氨基酚和布洛芬 \concise[Aqua][fontupper = \rmfamily]{concise} 于1956å¹´å’Œ1959年相继问世以åŽï¼Œé˜¿å¸åŒ¹æž— \fuzzy[DarkSeaGreen][fontupper = \ttfamily,colupper = black]{fuzzy} 的使用率开始下é™ã€‚ \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/easybook.cls b/macros/latex/contrib/easybook/easybook.cls
index 3460278512..d0d8ae2c1e 100644
--- a/macros/latex/contrib/easybook/easybook.cls
+++ b/macros/latex/contrib/easybook/easybook.cls
@@ -9,7 +9,7 @@
%% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/02/02}{1.23}{}
+\ProvidesExplClass{easybook}{2021/02/08}{1.23a}{}
\cs_generate_variant:Nn \keys_define:nn {nx}
\cs_generate_variant:Nn \int_to_arabic:n {v}
@@ -43,18 +43,12 @@
font .choice:,
font .value_required:n = true,
font/overleaf .code:n = {},
- font/adobe .code:n =
- {\__put_ctexbook:n {fontset = #1}},
- font/founder .code:n =
- {\__put_ctexbook:n {fontset = #1}},
- font/mac .code:n =
- {\__put_ctexbook:n {fontset = #1}},
- font/windows .code:n =
- {\__put_ctexbook:n {fontset = #1}},
- font/linux .code:n =
- {\__put_ctexbook:n {fontset = ubuntu}},
- font/none .code:n =
- {\__put_ctexbook:n {fontset = #1}},
+ font/adobe .code:n = {\__put_ctexbook:n {fontset = #1}},
+ font/founder .code:n = {\__put_ctexbook:n {fontset = #1}},
+ font/mac .code:n = {\__put_ctexbook:n {fontset = #1}},
+ font/windows .code:n = {\__put_ctexbook:n {fontset = #1}},
+ font/linux .code:n = {\__put_ctexbook:n {fontset = ubuntu}},
+ font/none .code:n = {\__put_ctexbook:n {fontset = #1}},
font/noto .code:n =
{
\bool_set_true:N \l__font_noto_bool
@@ -64,16 +58,14 @@
paper .choice:,
paper .value_required:n = true,
- paper/unknown .code:n =
- {\PassOptionsToPackage{#1}{geometry}},
+ paper/unknown .code:n = {\PassOptionsToPackage{#1}{geometry}},
paper .initial:n = a4paper,
- oneside .value_forbidden:n = true,
- twoside .value_forbidden:n = true,
- oneside .code:n =
- {\bool_set_false:N \l__page_twoside_bool},
+ oneside .value_forbidden:n = true,
+ twoside .value_forbidden:n = true,
+ oneside .code:n = {\bool_set_false:N \l__page_twoside_bool},
- unknown .code:n =
+ unknown .code:n =
{\clist_gput_right:No \g__options_clist{\CurrentOption}}
}
@@ -150,8 +142,7 @@
\RequirePackage
{
xcolor,
- pdfpages,subfiles,
- footmisc,
+ pdfpages,footmisc,
setspace,zhlineskip,
amsthm,thmtools,cases,
chemformula,chemfig,siunitx,ulem,
@@ -183,8 +174,7 @@
\RequirePackage[noto,upint]{newtxmath}
\RequirePackage{bm}
}
- \tl_if_empty:NF \g__config_tl
- {\file_input:n {\g__config_tl}}
+ \tl_if_empty:NF \g__config_tl{\file_input:n {\g__config_tl}}
}
\sys_if_engine_xetex:TF
@@ -316,15 +306,17 @@
\@mainmatterfalse
\pagenumbering{Roman}
}
-
+\cs_gset_eq:NN \easyhead\fancyhead
+\cs_gset_eq:NN \easyfoot\fancyfoot
+\cs_gset_eq:NN \easypagestyle\fancypagestyle
\ctex_define:n
{
hdrset .tl_set:N = \l__fancyhf_content_tl,
hdrset .initial:n =
{
- \fancyhead[EC]{\color{ctex@frame}\kaishu\leftmark}
- \fancyhead[OC]{\color{ctex@frame}\kaishu\rightmark}
- \fancyhead[EL,OR]{\color{ctex@frame}\thepage}
+ \easyhead[EC]{\color{ctex@frame}\kaishu\leftmark}
+ \easyhead[OC]{\color{ctex@frame}\kaishu\rightmark}
+ \easyhead[EL,OR]{\color{ctex@frame}\thepage}
}
}
\ctex_at_end_preamble:n
@@ -402,8 +394,8 @@
\bool_if:NT \l__draft_bool
{
\bool_if:NTF \l__page_twoside_bool
- {\fancyfoot[C]{\color{gray!60}\sffamily\today}}
- {\fancyhead[L]{\color{gray!60}\sffamily\today}}
+ {\easyfoot[C]{\color{gray!60}\sffamily\today}}
+ {\easyhead[L]{\color{gray!60}\sffamily\today}}
\geometry{showframe}
}
}
@@ -419,16 +411,14 @@
\__ctex_define:nn {tocset}
{
part/format .tl_set:N = \l__toc_part_format_tl,
- part/format .initial:n =
- {\addvspace{1pc}\sffamily\large},
+ part/format .initial:n = \addvspace{1pc}\sffamily\large,
part/indent .tl_set:N = \l__toc_part_indent_tl,
part/indent .initial:n = 0\ccwd,
part/rule .tl_set:N = \l__toc_part_rule_tl,
part/rule .initial:n = \tocrule{}[\bfseries],
chapter/format .tl_set:N = \l__toc_chap_format_tl,
- chapter/format .initial:n =
- {\addvspace{1pc}\sffamily\large},
+ chapter/format .initial:n = \addvspace{1pc}\sffamily\large,
chapter/indent .tl_set:N = \l__toc_chap_indent_tl,
chapter/indent .initial:n = 0\ccwd,
chapter/rule .tl_set:N = \l__toc_chap_rule_tl,
@@ -662,30 +652,20 @@
format = hang,
% figurewithin = section,
% tablewithin = section,
+ font = {stretch = \l__cap_spread_tl},
+ labelfont = {color = ctex@frame},
labelsep = ccwd,
belowskip = 0pt,aboveskip = 10pt
}
-\captionsetup[table]
- {
- labelfont = {tabfont,color = ctex@frame},
- textfont = {tabfont,stretch = \l__cap_spread_tl}
- }
-\captionsetup[figure]
- {
- labelfont = {figfont,color = ctex@frame},
- textfont = {figfont,stretch = \l__cap_spread_tl}
- }
+\captionsetup[table]{font += tabfont}
+\captionsetup[figure]{font += figfont}
+\captionsetup[lstlisting]{singlelinecheck = false,font += lstfont}
\captionsetup[subfigure]
{
labelformat = parens,
+ font += figfont,
belowskip = 2pt,aboveskip = 6pt
}
-\captionsetup[lstlisting]
- {
- singlelinecheck = false,
- labelfont = {lstfont,color = ctex@frame},
- textfont = {lstfont,stretch = \l__cap_spread_tl}
- }
\captionsetup[figure][bi-second]{name = Figure}
\captionsetup[table][bi-second]{name = Table}
\cs_new:Npn \__arabic:n #1{\int_to_arabic:v {c@#1}}
@@ -770,11 +750,6 @@
\skip_set:Nn \plpartopsep{0ex}
\skip_set:Nn \plitemsep{.75ex plus .1ex}
\skip_set:Nn \plparsep{0ex}
-\cs_new:Npn \circled#1
- {
- \lower .7ex
- \hbox{\tikz\draw(0pt,0pt)circle(.5\ccwd)node{\makebox[\ccwd][c]{\small#1}};}
- }
\cs_new_protected:Npn \__thmname_set:nn #1#2
{\tl_const:cn {c__name_#1_tl}{#2}}
@@ -972,13 +947,6 @@
}
\NewDocumentEnvironment{exercise}{sO{black}O{1.}O{\c__name_exercise_tl}}
{
- \IfBooleanF{#1}
- {
- \CTEX@ifnametrue
- \refstepcounter{section}
- \CTEX@addtocline{section}{#4}
- \markright{\CTEXthesection\hspace{0.5\ccwd}#4}
- }
\begin{center}
\bool_if:NTF \l__thmbox_bool
{
@@ -986,9 +954,25 @@
exsty,
colback = #2!8!white,colframe = #2!50!black,
drop~fuzzy~shadow = #2!50!white,
+ phantom =
+ \IfBooleanF{#1}
+ {
+ \CTEX@ifnametrue
+ \refstepcounter{section}
+ \markright{\CTEXthesection\hspace{0.5\ccwd}#4}
+ \CTEX@addtocline{section}{#4}
+ },
]{\IfBooleanF{#1}{\CTEXthesection\hspace{0.5\ccwd}}#4}
}{
- \sffamily\Large\IfBooleanF{#1}{\CTEXthesection\hspace{0.5\ccwd}}#4
+ \sffamily\Large
+ \IfBooleanF{#1}
+ {
+ \CTEX@ifnametrue
+ \refstepcounter{section}
+ \markright{\CTEXthesection\hspace{0.5\ccwd}#4}
+ \CTEX@addtocline{section}{#4}
+ \CTEXthesection\hspace{0.5\ccwd}
+ }#4
}
\end{center}
\begin{compactenum}[#3]
@@ -1148,8 +1132,10 @@
\lstdefinestyle{mystyle}
{
language = [LaTeX]TeX,
- texcsstyle = *\lst@ifdisplaystyle\bfseries\color{ctex@emph}\else\color{ctex@verb}\fi,
- basicstyle = \ttfamily\lst@ifdisplaystyle\small\else\color{ctex@verb}\fi,
+ texcsstyle =
+ *\lst@ifdisplaystyle\bfseries\color{ctex@emph}\else\color{ctex@verb}\fi,
+ basicstyle =
+ \ttfamily\lst@ifdisplaystyle\small\else\color{ctex@verb}\fi,
framexleftmargin = 0pt,
framexrightmargin = 0pt,
xleftmargin = 0pt,
@@ -1160,7 +1146,8 @@
commentstyle = \color{gray},
emphstyle = \color{ctex@emph},
emph = {caption,subcaption,tabularx},
- keywordstyle = \lst@ifdisplaystyle\bfseries\color{ctex@emph}\else\color{ctex@verb}\fi,
+ keywordstyle =
+ \lst@ifdisplaystyle\bfseries\color{ctex@emph}\else\color{ctex@verb}\fi,
morekeywords =
{
includegraphics,setmainfont,setsansfont,setmonofont,setCJKmainfont,setCJKsansfont,setCJKmonofont,setCJKfamilyfont,RequirePackage
@@ -1172,7 +1159,7 @@
breaklines = true,
resetmargins = true,
numbers = left,
- numberstyle = \small,
+ numberstyle = \footnotesize,
abovecaptionskip = -1ex,
belowcaptionskip = 1ex,
aboveskip = 1.5ex plus .2ex minus .1ex,
@@ -1262,7 +1249,7 @@
\clist_map_function:nN
{
{none, 000000,000000,000000},
- {forest, 005752,004986,a40000},
+ {seaside, 13abae,004986,a40000},
{energy, f39800,00a0e9,893895},
{cyberpunk, 005982,eb6877,a4005b}
}
diff --git a/macros/latex/contrib/hyperref/ChangeLog.txt b/macros/latex/contrib/hyperref/ChangeLog.txt
index 6eeff73b71..b784bc129e 100644
--- a/macros/latex/contrib/hyperref/ChangeLog.txt
+++ b/macros/latex/contrib/hyperref/ChangeLog.txt
@@ -1,3 +1,15 @@
+2021-02-07 Ulrike Fischer/David Carlisle
+ * renamed the manual to hyperref-doc
+ * moved the license of the documentation into the file
+ * puenc.def defines cyrillic command, specially \C, only if
+ \CYRDZE has been defined previously
+ * puenc.def defines greek commands only if
+ \textBeta has been defined previously
+ * puenc.def defines hebrew command only if
+ \hebdalet has been defined previously
+ * ntheorem-hyper.sty made an obsolete stub
+ as ntheorem has been hyperref-compatible for some years.
+
2021-02-04 Ulrike Fischer
* corrected the definition of \begin/\end in \pdfstringdef
* removed patches for russian, new version is on ctan
diff --git a/macros/latex/contrib/hyperref/README.md b/macros/latex/contrib/hyperref/README.md
index 828532e08e..fb1c2ac9fd 100644
--- a/macros/latex/contrib/hyperref/README.md
+++ b/macros/latex/contrib/hyperref/README.md
@@ -1,6 +1,6 @@
# README for hyperref bundle
-Version 2021-02-04 v7.00g
+Version 2021-02-07 v7.00h
## INTRODUCTION
@@ -69,7 +69,7 @@ Example for TeXLive:
The exception is `bmhydoc.sty`, it belongs to the source files
(`TDS:source/latex/hyperref/`).
4. Copy the documentation files to "`TDS:doc/latex/hyperref/`":
- manual.pdf, README.md, ChangeLog.txt,
+ hyperref-doc.pdf, README.md, ChangeLog.txt,
slides.pdf, paper.pdf, hyperref.pdf, backref.pdf,
nameref.pdf (Also the HTML version of the manual can be put there).
5. Update the databases if necessary, eg. for TeXLive:
@@ -79,7 +79,7 @@ Example for TeXLive:
* Sebastian Rahtz (died 2016)
* Heiko Oberdiek (inactive)
- * The LaTeX3 Project
+ * The LaTeX Project
## LICENSE
diff --git a/macros/latex/contrib/hyperref/backref.dtx b/macros/latex/contrib/hyperref/backref.dtx
index 2687a448de..3fe08479a5 100644
--- a/macros/latex/contrib/hyperref/backref.dtx
+++ b/macros/latex/contrib/hyperref/backref.dtx
@@ -3,7 +3,7 @@
%% Copyright (C) 1995-2000 David Carlisle, Sebastian Rahtz, Heiko Oberdiek
%% 2001-2012 Heiko Oberdiek
%% 2016-2019 Oberdiek Package Suport Group
-%% 2019-2021 The LaTeX3 Project
+%% 2019-2021 The LaTeX Project
%% https://github.com/latex3/hyperref/issues
%%
%% This file is part of the `Hyperref Bundle'.
@@ -19,7 +19,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is The LaTeX3 Project.
+%% The Current Maintainer of this work is The LaTeX Project.
%%
%% The list of all files belonging to the `Hyperref Bundle' is
%% given in the file `manifest.txt'.
diff --git a/macros/latex/contrib/hyperref/bmhydoc.sty b/macros/latex/contrib/hyperref/bmhydoc.sty
index d25c4d6bf8..f41634002c 100644
--- a/macros/latex/contrib/hyperref/bmhydoc.sty
+++ b/macros/latex/contrib/hyperref/bmhydoc.sty
@@ -1,7 +1,7 @@
%% Copyright
%% 1995-2015 Heiko Oberdiek
%% 2016-2019 Oberdiek Package Support Group
-%% 2019-2020 LaTeX3 Project
+%% 2019-2020 LaTeX Project
%% https://github.com/latex3/hyperref/issues
%%
%% This file is part of the `Hyperref Bundle'.
@@ -49,7 +49,7 @@
}%
}
\AtEndDocument{%
- \@bmhydoc[open=false]{0}{manual.pdf}{Hyperref manual}
+ \@bmhydoc[open=false]{0}{hyperref-doc.pdf}{Hyperref manual}
\@bmhydoc{1}{slides.pdf}{Bookmark talk, slides}
\@bmhydoc{2}{paper.pdf}{Bookmark talk, paper}
\@bmhydoc{1}{hyperref.pdf}{Sources: hyperref.dtx}
@@ -78,7 +78,7 @@
\ignorespaces
}%
\begin{description}
- \entry{manual.pdf}{\textbf{Manual}}
+ \entry{hyperref-doc.pdf}{\textbf{Manual}}
The \textbf{USER MANUAL} (also available as HTML).
\entry{ChangeLog.txt}{ChangeLog}
This file records the version history.
diff --git a/macros/latex/contrib/hyperref/doc/backref.pdf b/macros/latex/contrib/hyperref/doc/backref.pdf
index 0e0a9b0bef..f610fbc67d 100644
--- a/macros/latex/contrib/hyperref/doc/backref.pdf
+++ b/macros/latex/contrib/hyperref/doc/backref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/cmmi10-22.gif b/macros/latex/contrib/hyperref/doc/cmmi10-22.gif
deleted file mode 100644
index ab41b85ae2..0000000000
--- a/macros/latex/contrib/hyperref/doc/cmmi10-22.gif
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/cmsy10-21.gif b/macros/latex/contrib/hyperref/doc/cmsy10-21.gif
deleted file mode 100644
index dd190e44e9..0000000000
--- a/macros/latex/contrib/hyperref/doc/cmsy10-21.gif
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/manual.css b/macros/latex/contrib/hyperref/doc/hyperref-doc.css
index ea1c3e45c1..ea1c3e45c1 100644
--- a/macros/latex/contrib/hyperref/doc/manual.css
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.css
diff --git a/macros/latex/contrib/hyperref/doc/manual.html b/macros/latex/contrib/hyperref/doc/hyperref-doc.html
index e743ee9640..7b4ce3d361 100644
--- a/macros/latex/contrib/hyperref/doc/manual.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.html
@@ -6,8 +6,8 @@
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
<!-- html -->
-<meta name="src" content="manual.tex">
-<link rel="stylesheet" type="text/css" href="manual.css">
+<meta name="src" content="hyperref-doc.tex">
+<link rel="stylesheet" type="text/css" href="hyperref-doc.css">
</head><body
>
<div class="maketitle">
@@ -25,7 +25,7 @@ href="https://github.com/latex3/hyperref/issues" class="url" ><span
class="ec-lmvtt-10x-x-120">https://github.com/latex3/hyperref/issues</span></a><span
class="ec-lmr-12">)</span></div><br />
<div class="date" ><span
-class="ec-lmr-12">2021-02-04 v7.00g</span></div>
+class="ec-lmr-12">2021-02-07 v7.00h</span></div>
</div>
<h3 class="likesectionHead"><a
id="x1-1000"></a>Contents</h3>
@@ -194,7 +194,7 @@ href="#x1-12200013.10" id="QQ2-1-122">Future revisions of this license</a></span
<!--l. 192--><p class="noindent" >The package derives from, and builds on, the work of the Hyper<span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span> project, described at
<span
class="ec-lmvtt-10">http://xxx.lanl.gov/hypertex/</span><span class="footnote-mark"><a
-href="manual2.html#fn1x0"><sup class="textsuperscript">1</sup></a></span><a
+href="hyperref-doc2.html#fn1x0"><sup class="textsuperscript">1</sup></a></span><a
id="x1-2001f1"></a> .
It extends the functionality of all the <span class="HoLogo-LaTeX">L<span class="HoLogo-a">A</span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span> cross-referencing commands (including the table of
contents, bibliographies etc) to produce <span
@@ -221,7 +221,7 @@ class="ec-lmri-10">X</span></span></span> <span
class="ec-lmri-10">Web Companion</span>,
where you will find additional examples.
<!--l. 210--><p class="indent" > The Hyper<span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span> specification<span class="footnote-mark"><a
-href="manual3.html#fn2x0"><sup class="textsuperscript">2</sup></a></span><a
+href="hyperref-doc3.html#fn2x0"><sup class="textsuperscript">2</sup></a></span><a
id="x1-2002f2"></a>
says that conformant viewers/translators must recognize the following set of <span
class="ec-lmvtt-10">\special </span>constructs:
@@ -390,7 +390,7 @@ class="ec-lmvtt-10">\special</span></span></span> commands for XeTeX</dd></dl>
class="ec-lmss-10">dvips </span>or <span
class="ec-lmss-10">dvipsone </span>must be processed using Acrobat Distiller to obtain a PDF
file.<span class="footnote-mark"><a
-href="manual4.html#fn3x0"><sup class="textsuperscript">3</sup></a></span><a
+href="hyperref-doc4.html#fn3x0"><sup class="textsuperscript">3</sup></a></span><a
id="x1-2003f3"></a>
The result is generally preferable to that produced by using the <span
class="ec-lmss-10">hypertex </span>driver, and then
@@ -3354,7 +3354,7 @@ class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-109-3"
class="td10">
<!--l. 1019--><p class="noindent" >Unicode encoded pdf strings, starting with
- version 2021-02-04 v7.00g set by default to
+ version 2021-02-07 v7.00h set by default to
true for all engines. </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-110-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-110-1"
@@ -4252,7 +4252,7 @@ and an undefined control sequence error would arise.
<!--l. 1442--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">5 </span> <a
id="x1-200005"></a>New Features<span class="footnote-mark"><a
-href="manual5.html#fn4x0"><sup class="textsuperscript">4</sup></a></span><a
+href="hyperref-doc5.html#fn4x0"><sup class="textsuperscript">4</sup></a></span><a
id="x1-20001f4"></a> </h3>
<h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a
id="x1-210005.1"></a>Option &#8216;pdflinkmargin&#8217;</h4>
@@ -6406,8 +6406,8 @@ properly, for example.
<!--l. 2756--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.26 </span> <a
id="x1-800009.1.26"></a>minitoc-hyper</h5>
-<!--l. 2758--><p class="noindent" >This package is obsolete, use the uptodate original package minitoc instead.
-<!--l. 2762--><p class="noindent" >
+<!--l. 2758--><p class="noindent" >This package is obsolete, use the up-to-date original package minitoc instead.
+<!--l. 2763--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.27 </span> <a
id="x1-810009.1.27"></a>multind</h5>
@@ -6416,8 +6416,8 @@ properly, for example.
&#x00A0;\usepackage{multind}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2766--><p class="nopar" >
-<!--l. 2768--><p class="noindent" >
+<!--l. 2767--><p class="nopar" >
+<!--l. 2769--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.28 </span> <a
id="x1-820009.1.28"></a>natbib</h5>
@@ -6426,18 +6426,22 @@ properly, for example.
&#x00A0;\usepackage{natbib}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2772--><p class="nopar" >
-<!--l. 2774--><p class="noindent" >
+<!--l. 2773--><p class="nopar" >
+<!--l. 2775--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.29 </span> <a
id="x1-830009.1.29"></a>nomencl</h5>
-<!--l. 2775--><p class="noindent" >Example for introducing links for the page numbers:
+<!--l. 2776--><p class="noindent" >Example for introducing links for the page numbers:
<pre class="verbatim" id="verbatim-58">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\pagedeclaration}[1]{\unskip,&#x00A0;\hyperpage{#1}}
</pre>
-<!--l. 2778--><p class="nopar" >
-<!--l. 2781--><p class="indent" > For equations the following might work:
+<!--l. 2779--><p class="nopar" >
+<!--l. 2782--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.30 </span> <a
+ id="x1-840009.1.30"></a>ntheorem-hyper</h5>
+<!--l. 2783--><p class="noindent" >This package is obsolete, use the up-to-date original package ntheorem instead.
+<!--l. 2787--><p class="indent" > For equations the following might work:
<pre class="verbatim" id="verbatim-59">
@@ -6447,22 +6451,22 @@ properly, for example.
&#x00A0;&#x00A0;&#x00A0;&#x00A0;But&#x00A0;the&#x00A0;mapping&#x00A0;from&#x00A0;the&#x00A0;equation&#x00A0;number&#x00A0;to&#x00A0;the&#x00A0;anchor&#x00A0;name
&#x00A0;&#x00A0;&#x00A0;&#x00A0;is&#x00A0;not&#x00A0;available&#x00A0;in&#x00A0;general.
</pre>
-<!--l. 2788--><p class="nopar" >
-<!--l. 2790--><p class="noindent" >
- <h5 class="subsubsectionHead"><span class="titlemark">9.1.30 </span> <a
- id="x1-840009.1.30"></a>parskip</h5>
+<!--l. 2794--><p class="nopar" >
+<!--l. 2796--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.31 </span> <a
+ id="x1-850009.1.31"></a>parskip</h5>
<pre class="verbatim" id="verbatim-60">
&#x00A0;\usepackage{parskip}
&#x00A0;&#x00A0;\usepackage{hyperref}[2012/08/20]
</pre>
-<!--l. 2794--><p class="nopar" >
-<!--l. 2797--><p class="indent" > Both packages want to redefine <span class="obeylines-h"><span class="verb"><span
+<!--l. 2800--><p class="nopar" >
+<!--l. 2803--><p class="indent" > Both packages want to redefine <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\@starttoc</span></span></span>.
-<!--l. 2800--><p class="noindent" >
- <h5 class="subsubsectionHead"><span class="titlemark">9.1.31 </span> <a
- id="x1-850009.1.31"></a>prettyref</h5>
+<!--l. 2806--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.32 </span> <a
+ id="x1-860009.1.32"></a>prettyref</h5>
<pre class="verbatim" id="verbatim-61">
@@ -6485,48 +6489,35 @@ class="ec-lmvtt-10">\@starttoc</span></span></span>.
%%%&#x00A0;example&#x00A0;for&#x00A0;prettyref&#x00A0;%%%
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;
</pre>
-<!--l. 2819--><p class="nopar" >
-<!--l. 2821--><p class="noindent" >
- <h5 class="subsubsectionHead"><span class="titlemark">9.1.32 </span> <a
- id="x1-860009.1.32"></a>ntheorem</h5>
-
-
- <pre class="verbatim" id="verbatim-62">
-&#x00A0;ntheorem-hyper.sty&#x00A0;is&#x00A0;an&#x00A0;old&#x00A0;patched&#x00A0;version&#x00A0;of&#x00A0;ntheorem.sty.
-&#x00A0;&#x00A0;Newer&#x00A0;versions&#x00A0;of&#x00A0;ntheorem&#x00A0;know&#x00A0;the&#x00A0;option&#x00A0;hyperref:
-&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
-&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[hyperref]{ntheorem}
-&#x00A0;&#x00A0;But&#x00A0;there&#x00A0;are&#x00A0;still&#x00A0;unsolved&#x00A0;problems&#x00A0;(options&#x00A0;thref,&#x00A0;...).
-</pre>
-<!--l. 2828--><p class="nopar" >
-<!--l. 2830--><p class="noindent" >
+<!--l. 2825--><p class="nopar" >
+<!--l. 2828--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.33 </span> <a
id="x1-870009.1.33"></a>setspace</h5>
- <pre class="verbatim" id="verbatim-63">
+ <pre class="verbatim" id="verbatim-62">
&#x00A0;\usepackage{setspace}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2834--><p class="nopar" >
-<!--l. 2836--><p class="noindent" >
+<!--l. 2832--><p class="nopar" >
+<!--l. 2834--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.34 </span> <a
id="x1-880009.1.34"></a>sidecap</h5>
- <pre class="verbatim" id="verbatim-64">
+ <pre class="verbatim" id="verbatim-63">
&#x00A0;Before&#x00A0;2002/05/24&#x00A0;v1.5h:
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{nameref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{sidecap}
</pre>
-<!--l. 2842--><p class="nopar" >
-<!--l. 2844--><p class="noindent" >
+<!--l. 2840--><p class="nopar" >
+<!--l. 2842--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.35 </span> <a
id="x1-890009.1.35"></a>subfigure</h5>
- <pre class="verbatim" id="verbatim-65">
+ <pre class="verbatim" id="verbatim-64">
&#x00A0;1995/03/06&#x00A0;v2.0:
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{subfigure}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
@@ -6545,35 +6536,35 @@ class="ec-lmvtt-10">\@starttoc</span></span></span>.
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{subfigure}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;or&#x00A0;vice&#x00A0;versa?
</pre>
-<!--l. 2863--><p class="nopar" >
-<!--l. 2865--><p class="noindent" >
+<!--l. 2861--><p class="nopar" >
+<!--l. 2863--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.36 </span> <a
id="x1-900009.1.36"></a>titleref</h5>
- <pre class="verbatim" id="verbatim-66">
+ <pre class="verbatim" id="verbatim-65">
&#x00A0;\usepackage{nameref}
&#x00A0;&#x00A0;\usepackage{titleref}%&#x00A0;without&#x00A0;usetoc
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2870--><p class="nopar" >
-<!--l. 2872--><p class="noindent" >
+<!--l. 2868--><p class="nopar" >
+<!--l. 2870--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.37 </span> <a
id="x1-910009.1.37"></a>tabularx</h5>
-<!--l. 2874--><p class="noindent" >Linked footnotes are not supported inside environment &#8216;tabularx&#8217;, because they uses the optional
+<!--l. 2872--><p class="noindent" >Linked footnotes are not supported inside environment &#8216;tabularx&#8217;, because they uses the optional
argument of <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotetext</span></span></span>, see section &#8216;Limitations&#8217;. Before version 2011/09/28 6.82i hyperref had
disabled footnotes entirely by &#8216;hyperfootnotes=false&#8217;.
-<!--l. 2880--><p class="noindent" >
+<!--l. 2878--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.38 </span> <a
id="x1-920009.1.38"></a>titlesec</h5>
-<!--l. 2882--><p class="noindent" ><span
+<!--l. 2880--><p class="noindent" ><span
class="ec-lmss-10">nameref </span>supports titlesec, but hyperref does not (unsolved is the anchor setting, missing with
unnumbered section, perhaps problems with page breaks with numbered ones).
-<!--l. 2887--><p class="noindent" >
+<!--l. 2885--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.39 </span> <a
id="x1-930009.1.39"></a>ucs/utf8x.def</h5>
-<!--l. 2889--><p class="noindent" >The first time a multibyte UTF8 sequence is called, it does some calculations and stores the result in a
+<!--l. 2887--><p class="noindent" >The first time a multibyte UTF8 sequence is called, it does some calculations and stores the result in a
macro for speeding up the next calls of that UTF8 sequence. However this makes the first call
non-expandable and will break if used in information entries or bookmarks. Package <span
class="ec-lmss-10">ucs </span>offers
@@ -6582,33 +6573,33 @@ class="ec-lmvtt-10">\PrerenderUnicode</span></span></span> or <span class="obeyl
class="ec-lmvtt-10">\PreloadUnicodePage</span></span></span> to solve this:
- <pre class="verbatim" id="verbatim-67">
+ <pre class="verbatim" id="verbatim-66">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{ucs}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[utf8x]{inputenc}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}%&#x00A0;or&#x00A0;with&#x00A0;option&#x00A0;unicode
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\PrerenderUnicode{^^c3^^b6}%&#x00A0;or&#x00A0;\PrerenderUnicodePage{1}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\hypersetup{pdftitle={Umlaut&#x00A0;example:&#x00A0;^^c3^^b6}}
</pre>
-<!--l. 2902--><p class="nopar" > The notation with two carets avoids trouble with 8-bit bytes for the README file, you can use the
+<!--l. 2900--><p class="nopar" > The notation with two carets avoids trouble with 8-bit bytes for the README file, you can use the
characters directly.
-<!--l. 2907--><p class="noindent" >
+<!--l. 2905--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.40 </span> <a
id="x1-940009.1.40"></a>varioref</h5>
-<!--l. 2908--><p class="noindent" >There are too many problems with varioref. Nobody has time to sort them out. Therefore this package is
+<!--l. 2906--><p class="noindent" >There are too many problems with varioref. Nobody has time to sort them out. Therefore this package is
now unsupported.
-<!--l. 2912--><p class="indent" > Perhaps you are lucky and some of the features of varioref works with the following loading
+<!--l. 2910--><p class="indent" > Perhaps you are lucky and some of the features of varioref works with the following loading
order:
- <pre class="verbatim" id="verbatim-68">
+ <pre class="verbatim" id="verbatim-67">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{nameref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{varioref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2918--><p class="nopar" >
-<!--l. 2921--><p class="indent" > Also some babel versions can be problematic. For example, 2005/05/21 v3.8g contains a patch for
+<!--l. 2916--><p class="nopar" >
+<!--l. 2919--><p class="indent" > Also some babel versions can be problematic. For example, 2005/05/21 v3.8g contains a patch for
varioref that breaks the hyperref support for varioref.
-<!--l. 2927--><p class="indent" > Also unsupported:
+<!--l. 2925--><p class="indent" > Also unsupported:
<ul class="itemize1">
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\Ref</span></span></span>, <span class="obeylines-h"><span class="verb"><span
@@ -6616,14 +6607,14 @@ class="ec-lmvtt-10">\Vref</span></span></span> do not uppercase the first letter
</li>
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\vpageref[]{...}</span></span></span> On the same page a previous space is not suppressed.</li></ul>
-<!--l. 2934--><p class="noindent" >
+<!--l. 2932--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.41 </span> <a
id="x1-950009.1.41"></a>verse</h5>
-<!--l. 2936--><p class="noindent" >Version 2005/08/22 v2.22 contains support for hyperref.
-<!--l. 2938--><p class="indent" > For older versions see example from de.comp.text.tex (2005/08/11, slightly modified):
+<!--l. 2934--><p class="noindent" >Version 2005/08/22 v2.22 contains support for hyperref.
+<!--l. 2936--><p class="indent" > For older versions see example from de.comp.text.tex (2005/08/11, slightly modified):
- <pre class="verbatim" id="verbatim-69">
+ <pre class="verbatim" id="verbatim-68">
&#x00A0;&#x00A0;\documentclass{article}
&#x00A0;&#x00A0;%&#x00A0;package&#x00A0;order&#x00A0;does&#x00A0;not&#x00A0;matter
@@ -6665,32 +6656,32 @@ class="ec-lmvtt-10">\vpageref[]{...}</span></span></span> On the same page a pre
&#x00A0;&#x00A0;\end{document}
</pre>
-<!--l. 2982--><p class="nopar" >
-<!--l. 2984--><p class="noindent" >
+<!--l. 2980--><p class="nopar" >
+<!--l. 2982--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.42 </span> <a
id="x1-960009.1.42"></a>vietnam</h5>
- <pre class="verbatim" id="verbatim-70">
+ <pre class="verbatim" id="verbatim-69">
&#x00A0;%&#x00A0;pd1enc.def&#x00A0;should&#x00A0;be&#x00A0;loaded&#x00A0;before&#x00A0;package&#x00A0;dblaccnt:
&#x00A0;&#x00A0;\usepackage[PD1,OT1]{fontenc}
&#x00A0;&#x00A0;\usepackage{vietnam}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2990--><p class="nopar" >
-<!--l. 2992--><p class="noindent" >
+<!--l. 2988--><p class="nopar" >
+<!--l. 2990--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.43 </span> <a
id="x1-970009.1.43"></a>XeTeX</h5>
-<!--l. 2994--><p class="noindent" >Default for the encoding of bookmarks is <span class="obeylines-h"><span class="verb"><span
+<!--l. 2992--><p class="noindent" >Default for the encoding of bookmarks is <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">pdfencoding=unicode</span></span></span>. That means the strings are always
treated as unicode strings. If <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">auto</span></span></span> or <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">pdfdoc</span></span></span> is forced it applies only if the string restricts to the
printable ASCII set, The reason is that the <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> does not support PDFDocEncoding.
-<!--l. 3000--><p class="indent" > In older versions hyperref contained special conversion code from UTF-16BE back to UTF-8 in a
+<!--l. 2998--><p class="indent" > In older versions hyperref contained special conversion code from UTF-16BE back to UTF-8 in a
number of places for xetex to avoid the xdvipdfmx warning
-<!--l. 3004--><p class="indent" > <span class="obeylines-h"><span class="verb"><span
+<!--l. 3002--><p class="indent" > <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">Failed</span><span
class="ec-lmvtt-10">&#x00A0;to</span><span
class="ec-lmvtt-10">&#x00A0;convert</span><span
@@ -6698,20 +6689,20 @@ class="ec-lmvtt-10">&#x00A0;input</span><span
class="ec-lmvtt-10">&#x00A0;string</span><span
class="ec-lmvtt-10">&#x00A0;to</span><span
class="ec-lmvtt-10">&#x00A0;UTF16...</span></span></span>
-<!--l. 3006--><p class="indent" > This is no longer needed with a current xdvipdfmx, so this code has been removed.
+<!--l. 3004--><p class="indent" > This is no longer needed with a current xdvipdfmx, so this code has been removed.
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\csname</span><span
class="ec-lmvtt-10">&#x00A0;HyPsd@XeTeXBigCharstrue\endcsname</span></span></span> should no longer be used.
-<!--l. 3012--><p class="noindent" >
+<!--l. 3010--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">10 </span> <a
id="x1-9800010"></a>Limitations<span class="footnote-mark"><a
-href="manual6.html#fn5x0"><sup class="textsuperscript">5</sup></a></span><a
+href="hyperref-doc6.html#fn5x0"><sup class="textsuperscript">5</sup></a></span><a
id="x1-98001f5"></a> </h3>
<h4 class="subsectionHead"><span class="titlemark">10.1 </span> <a
id="x1-9900010.1"></a>Wrapped/broken link support</h4>
-<!--l. 3015--><p class="noindent" >Only few drivers support automatically wrapped/broken links, e.g. pdftex, dvipdfm, hypertex. Other
+<!--l. 3013--><p class="noindent" >Only few drivers support automatically wrapped/broken links, e.g. pdftex, dvipdfm, hypertex. Other
drivers lack this feature, e.g. dvips, dvipsone.
-<!--l. 3019--><p class="indent" > Workarounds:
+<!--l. 3017--><p class="indent" > Workarounds:
<ul class="itemize1">
<li class="itemize">For long section or caption titles in the table of contents or list of figures/tables option
<span
@@ -6727,25 +6718,25 @@ class="ec-lmss-10">breakurl</span>.
class="ec-lmss-10">breaklinks </span>is intended for internal use. But it can be used to force link wrapping,
e.g. when printing a document. However, when such a document is converted to PDF and
viewed with a PDF viewer, the active link area will be misplaced.
- <!--l. 3033--><p class="noindent" >Another limitation: some penalties are &#8220;optimized&#8221; by TeX, thus there are missing break
+ <!--l. 3031--><p class="noindent" >Another limitation: some penalties are &#8220;optimized&#8221; by TeX, thus there are missing break
points, especially within <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\url</span></span></span>. (See thread &#8220;hyperref.sty, breaklinks and url.sty 3.2&#8221; in
comp.text.tex 2005-09).</li></ul>
-<!--l. 3039--><p class="noindent" >
+<!--l. 3037--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">10.2 </span> <a
id="x1-10000010.2"></a>Links across pages</h4>
-<!--l. 3041--><p class="noindent" >In general they have problems:
+<!--l. 3039--><p class="noindent" >In general they have problems:
<ul class="itemize1">
<li class="itemize">Some driver doesn&#8217;t support them at all (see above).
</li>
<li class="itemize">The driver allows it, but the link result might include the footer and/or header, or an error
message can occur sometimes.</li></ul>
-<!--l. 3049--><p class="noindent" >
+<!--l. 3047--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">10.3 </span> <a
id="x1-10100010.3"></a>Footnotes</h4>
-<!--l. 3051--><p class="noindent" >LaTeX allows the separation of the footnote mark and the footnote text (<span class="obeylines-h"><span class="verb"><span
+<!--l. 3049--><p class="noindent" >LaTeX allows the separation of the footnote mark and the footnote text (<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotemark</span></span></span>,
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotetext</span></span></span>). This interface might be enough for visual typesetting. But the relation between
@@ -6761,52 +6752,52 @@ Thus the implementation of hyperref does not support the optional argument of <s
class="ec-lmvtt-10">\footnotemark</span></span></span> and
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotetext</span></span></span>.
-<!--l. 3062--><p class="noindent" >
+<!--l. 3060--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">11 </span> <a
id="x1-10200011"></a>Hints<span class="footnote-mark"><a
-href="manual7.html#fn6x0"><sup class="textsuperscript">6</sup></a></span><a
+href="hyperref-doc7.html#fn6x0"><sup class="textsuperscript">6</sup></a></span><a
id="x1-102001f6"></a> </h3>
<h4 class="subsectionHead"><span class="titlemark">11.1 </span> <a
id="x1-10300011.1"></a>Spaces in option values</h4>
-<!--l. 3066--><p class="noindent" >Unhappily LaTeX strips spaces from options if they are given in <span class="obeylines-h"><span class="verb"><span
+<!--l. 3064--><p class="noindent" >Unhappily LaTeX strips spaces from options if they are given in <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\documentclass</span></span></span> or <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\usepackage</span></span></span> (or
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\RequirePackage</span></span></span>), e.g.:
- <pre class="verbatim" id="verbatim-71">
+ <pre class="verbatim" id="verbatim-70">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[pdfborder=0&#x00A0;0&#x00A0;1]{hyperref}
</pre>
-<!--l. 3070--><p class="nopar" > Package hyperref now gets
+<!--l. 3068--><p class="nopar" > Package hyperref now gets
- <pre class="verbatim" id="verbatim-72">
+ <pre class="verbatim" id="verbatim-71">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;pdfborder=001
</pre>
-<!--l. 3074--><p class="nopar" > and the result is an invalid PDF file. As workaround braces can be used:
+<!--l. 3072--><p class="nopar" > and the result is an invalid PDF file. As workaround braces can be used:
- <pre class="verbatim" id="verbatim-73">
+ <pre class="verbatim" id="verbatim-72">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[pdfborder={0&#x00A0;0&#x00A0;1}]{hyperref}
</pre>
-<!--l. 3079--><p class="nopar" > Some options can also be given in <span class="obeylines-h"><span class="verb"><span
+<!--l. 3077--><p class="nopar" > Some options can also be given in <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypersetup</span></span></span>
- <pre class="verbatim" id="verbatim-74">
+ <pre class="verbatim" id="verbatim-73">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\hypersetup{pdfborder=0&#x00A0;0&#x00A0;1}
</pre>
-<!--l. 3083--><p class="nopar" > In <span class="obeylines-h"><span class="verb"><span
+<!--l. 3081--><p class="nopar" > In <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypersetup</span></span></span> the options are directly processed as key value options (see package keyval) without
space stripping in the value part.
-<!--l. 3089--><p class="indent" > Alternatively, LaTeX&#8217;s option handling system can be adapted to key value options by one of the
+<!--l. 3087--><p class="indent" > Alternatively, LaTeX&#8217;s option handling system can be adapted to key value options by one of the
packages <span
class="ec-lmss-10">kvoptions-patch </span>(from project <span
class="ec-lmss-10">kvoptions</span>) or <span
class="ec-lmss-10">xkvltxp </span>(from project <span
class="ec-lmss-10">xsetkeys</span>).
-<!--l. 3094--><p class="noindent" >
+<!--l. 3092--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.2 </span> <a
id="x1-10400011.2"></a>Index with makeindex</h4>
<ul class="itemize1">
@@ -6828,7 +6819,7 @@ class="ec-lmvtt-10">\hyperpage</span></span></span> command. With
logical markup this situation can easily be solved:
- <pre class="verbatim" id="verbatim-75">
+ <pre class="verbatim" id="verbatim-74">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{makeidx}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\makeindex
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[hyperindex]{hyperref}
@@ -6836,7 +6827,7 @@ class="ec-lmvtt-10">\hyperpage</span></span></span> command. With
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;...
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\index{Some&#x00A0;example|main}
</pre>
- <!--l. 3118--><p class="nopar" >
+ <!--l. 3116--><p class="nopar" >
</li>
<li class="itemize">Scientic Word/Scientific WorkPlace users can use package robustindex with hyperindex=false.
</li>
@@ -6844,10 +6835,10 @@ class="ec-lmvtt-10">\hyperpage</span></span></span> command. With
class="ec-lmss-10">encap</span>. Example for use of &#8220;?&#8221;:
- <pre class="verbatim" id="verbatim-76">
+ <pre class="verbatim" id="verbatim-75">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[encap=?]{hyperref}
</pre>
- <!--l. 3125--><p class="nopar" >
+ <!--l. 3123--><p class="nopar" >
</li>
<li class="itemize">Another possibility is the insertion of <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyperpage</span></span></span> by a style file for makeindex. For this case,
@@ -6857,7 +6848,7 @@ class="ec-lmvtt-10">\hyperpage</span></span></span> will be defined regardless o
setting of hyperindex.
- <pre class="verbatim" id="verbatim-77">
+ <pre class="verbatim" id="verbatim-76">
%%%&#x00A0;cut&#x00A0;%%%&#x00A0;hyperindex.ist&#x00A0;%%%&#x00A0;cut&#x00A0;%%%
delim_0&#x00A0;",&#x00A0;\\hyperpage{"
delim_1&#x00A0;",&#x00A0;\\hyperpage{"
@@ -6869,89 +6860,89 @@ class="ec-lmvtt-10">\hyperpage</span></span></span> will be defined regardless o
encap_suffix&#x00A0;"}"
%%%&#x00A0;cut&#x00A0;%%%&#x00A0;hyperindex.ist&#x00A0;%%%&#x00A0;cut&#x00A0;%%%
</pre>
- <!--l. 3141--><p class="nopar" ></li></ul>
-<!--l. 3144--><p class="noindent" >
+ <!--l. 3139--><p class="nopar" ></li></ul>
+<!--l. 3142--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.3 </span> <a
id="x1-10500011.3"></a>Warning <span
class="ec-lmvtt-10">"bookmark level for unknown &#x003C;foobar&#x003E; defaults to 0"</span></h4>
-<!--l. 3146--><p class="noindent" >Getting rid of it:
+<!--l. 3144--><p class="noindent" >Getting rid of it:
- <pre class="verbatim" id="verbatim-78">
+ <pre class="verbatim" id="verbatim-77">
\makeatletter
\providecommand*{\toclevel@&#x003C;foobar&#x003E;}{0}
\makeatother
</pre>
-<!--l. 3151--><p class="nopar" >
-<!--l. 3153--><p class="noindent" >
+<!--l. 3149--><p class="nopar" >
+<!--l. 3151--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.4 </span> <a
id="x1-10600011.4"></a>Link anchors in figures</h4>
-<!--l. 3155--><p class="noindent" >The caption command increments the counter and here is the place where hyperref set the corresponding
+<!--l. 3153--><p class="noindent" >The caption command increments the counter and here is the place where hyperref set the corresponding
anchor. Unhappily the caption is set below the figure, so the figure is not visible if a link jumps
to a figure. In this case, try package <span
class="ec-lmss-10">hypcap </span>that implements a method to circumvent the
problem.
-<!--l. 3163--><p class="noindent" >
+<!--l. 3161--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.5 </span> <a
id="x1-10700011.5"></a>Additional unicode characters in bookmarks and pdf information entries:</h4>
- <pre class="verbatim" id="verbatim-79">
+ <pre class="verbatim" id="verbatim-78">
\documentclass[pdftex]{article}
\usepackage[unicode]{hyperref}
</pre>
-<!--l. 3167--><p class="nopar" >
-<!--l. 3169--><p class="indent" > Support for additional unicode characters:
-<!--l. 3171--><p class="indent" > Example: <span class="obeylines-h"><span class="verb"><span
+<!--l. 3165--><p class="nopar" >
+<!--l. 3167--><p class="indent" > Support for additional unicode characters:
+<!--l. 3169--><p class="indent" > Example: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\.{a}</span></span></span> and <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\d{a}</span></span></span>
-<!--l. 3173--><p class="indent" > 1. Get a list with unicode data, eg:
-<!--l. 3175--><p class="indent" > http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
-<!--l. 3177--><p class="indent" > 2. Identify the characters (<span class="obeylines-h"><span class="verb"><span
+<!--l. 3171--><p class="indent" > 1. Get a list with unicode data, eg:
+<!--l. 3173--><p class="indent" > http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
+<!--l. 3175--><p class="indent" > 2. Identify the characters (<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\.{a}</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\d{a}</span></span></span>):
- <pre class="verbatim" id="verbatim-80">
+ <pre class="verbatim" id="verbatim-79">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;0227;LATIN&#x00A0;SMALL&#x00A0;LETTER&#x00A0;A&#x00A0;WITH&#x00A0;DOT&#x00A0;ABOVE;...
&#x00A0;&#x00A0;&#x00A0;&#x00A0;1EA1;LATIN&#x00A0;SMALL&#x00A0;LETTER&#x00A0;A&#x00A0;WITH&#x00A0;DOT&#x00A0;BELOW;...
</pre>
-<!--l. 3181--><p class="nopar" >
-<!--l. 3183--><p class="indent" > 3. Calculate the octal code:
-<!--l. 3185--><p class="indent" > The first characters of the line in the file are hex values, convert each byte and prepend them with a
+<!--l. 3179--><p class="nopar" >
+<!--l. 3181--><p class="indent" > 3. Calculate the octal code:
+<!--l. 3183--><p class="indent" > The first characters of the line in the file are hex values, convert each byte and prepend them with a
backslash. (This will go into the PDF file.)
- <pre class="verbatim" id="verbatim-81">
+ <pre class="verbatim" id="verbatim-80">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;0227&#x00A0;-&#x003E;&#x00A0;\002\047
&#x00A0;&#x00A0;&#x00A0;&#x00A0;1EA1&#x00A0;-&#x003E;&#x00A0;\036\241
</pre>
-<!--l. 3192--><p class="nopar" >
-<!--l. 3194--><p class="indent" > 4. Transform into a form understood by hyperref:
-<!--l. 3196--><p class="indent" > Hyperref must know where the first byte starts, this is marked by <span class="obeylines-h"><span class="verb"><span
+<!--l. 3190--><p class="nopar" >
+<!--l. 3192--><p class="indent" > 4. Transform into a form understood by hyperref:
+<!--l. 3194--><p class="indent" > Hyperref must know where the first byte starts, this is marked by <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">9</span></span></span> (8 and 9 cannot occur in octal
numbers):
- <pre class="verbatim" id="verbatim-82">
+ <pre class="verbatim" id="verbatim-81">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\002\047&#x00A0;-&#x003E;&#x00A0;\9002\047
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\036\241&#x00A0;-&#x003E;&#x00A0;\9036\241
</pre>
-<!--l. 3203--><p class="nopar" >
-<!--l. 3205--><p class="indent" > Optional: <span class="obeylines-h"><span class="verb"><span
+<!--l. 3201--><p class="nopar" >
+<!--l. 3203--><p class="indent" > Optional: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">8</span></span></span> is used for abbreviations:
- <pre class="verbatim" id="verbatim-83">
+ <pre class="verbatim" id="verbatim-82">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\900&#x00A0;=&#x00A0;\80,&#x00A0;\901&#x00A0;=&#x00A0;\81,&#x00A0;\902&#x00A0;=&#x00A0;\82,&#x00A0;...
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\9002\047&#x00A0;-&#x003E;&#x00A0;\82\047
</pre>
-<!--l. 3211--><p class="nopar" >
-<!--l. 3213--><p class="indent" > 5. Declare the character with LaTeX:
+<!--l. 3209--><p class="nopar" >
+<!--l. 3211--><p class="indent" > 5. Declare the character with LaTeX:
- <pre class="verbatim" id="verbatim-84">
+ <pre class="verbatim" id="verbatim-83">
\DeclareTextCompositeCommand{\.}{PU}{a}{\82\047}
\DeclareTextCompositeCommand{\d}{PU}{a}{\9036\241}
@@ -6960,11 +6951,11 @@ class="ec-lmvtt-10">8</span></span></span> is used for abbreviations:
\end{document}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;
</pre>
-<!--l. 3222--><p class="nopar" >
-<!--l. 3224--><p class="noindent" >
+<!--l. 3220--><p class="nopar" >
+<!--l. 3222--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.6 </span> <a
id="x1-10800011.6"></a>Footnotes</h4>
-<!--l. 3226--><p class="noindent" >The footnote support is rather limited. It is beyond the scope to use <span class="obeylines-h"><span class="verb"><span
+<!--l. 3224--><p class="noindent" >The footnote support is rather limited. It is beyond the scope to use <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotemark</span></span></span> and <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotetext</span></span></span>
out of order or reusing <span class="obeylines-h"><span class="verb"><span
@@ -6973,7 +6964,7 @@ class="ec-lmvtt-10">\footnotemark</span></span></span>. Here you can either disa
class="ec-lmvtt-10">hyperfootnotes=false</span></span></span> or fiddle with internal macros, nasty examples:
- <pre class="verbatim" id="verbatim-85">
+ <pre class="verbatim" id="verbatim-84">
\documentclass{article}
\usepackage{hyperref}
\begin{document}
@@ -7022,12 +7013,12 @@ C%
\end{document}
</pre>
-<!--l. 3280--><p class="nopar" >
+<!--l. 3278--><p class="nopar" >
-<!--l. 3282--><p class="noindent" >
+<!--l. 3280--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.7 </span> <a
id="x1-10900011.7"></a>Subordinate counters</h4>
-<!--l. 3284--><p class="noindent" >Some counters do not have unique values and require the value of other counters to be unique. For
+<!--l. 3282--><p class="noindent" >Some counters do not have unique values and require the value of other counters to be unique. For
example, sections or figures might be numbered within chapters or <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\newtheorem</span></span></span> is used with an
optional counter argument. Internally LaTeX uses <span class="obeylines-h"><span class="verb"><span
@@ -7036,40 +7027,40 @@ another counter. Package hyperref hooks into <span class="obeylines-h"><span cla
class="ec-lmvtt-10">\@addtoreset</span></span></span> to catch this situation. Also <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\numberwithin</span></span></span>
of package amsmath is caught by hyperref.
-<!--l. 3294--><p class="indent" > However, if the definition of subordinate counters take place before hyperref is loaded, the old
+<!--l. 3292--><p class="indent" > However, if the definition of subordinate counters take place before hyperref is loaded, the old
meaning of <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\@addtoreset</span></span></span> is called without hyperref&#8217;s additions. Then the companion counter macro
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\theH&#x003C;counter&#x003E;</span></span></span> can be redefined accordingly. Or move the definition of subordinate counters after
hyperref is loaded.
-<!--l. 3300--><p class="indent" > Example for <span class="obeylines-h"><span class="verb"><span
+<!--l. 3298--><p class="indent" > Example for <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\newtheorem</span></span></span>, problematic case:
- <pre class="verbatim" id="verbatim-86">
+ <pre class="verbatim" id="verbatim-85">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newtheorem{corA}{CorollaryA}[section]
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 3304--><p class="nopar" > Solution a)
+<!--l. 3302--><p class="nopar" > Solution a)
- <pre class="verbatim" id="verbatim-87">
+ <pre class="verbatim" id="verbatim-86">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newtheorem{corA}{CorollaryA}[section}
</pre>
-<!--l. 3309--><p class="nopar" > Solution b)
+<!--l. 3307--><p class="nopar" > Solution b)
- <pre class="verbatim" id="verbatim-88">
+ <pre class="verbatim" id="verbatim-87">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newtheorem{corA}{CorollaryA}[section]
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newcommand*{\theHcorA}{\theHsection.\number\value{corA}}
</pre>
-<!--l. 3315--><p class="nopar" >
-<!--l. 3317--><p class="noindent" >
+<!--l. 3313--><p class="nopar" >
+<!--l. 3315--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">12 </span> <a
id="x1-11000012"></a>History and acknowledgments</h3>
-<!--l. 3319--><p class="noindent" >The original authors of <span
+<!--l. 3317--><p class="noindent" >The original authors of <span
class="ec-lmss-10">hyperbasics.tex </span>and <span
class="ec-lmss-10">hypertex.sty</span>, from which this package descends, are
Tanmoy Bhattacharya and Thorsten Ohl. Package <span
@@ -7082,12 +7073,12 @@ Carlisle, T.&#x00A0;V.&#x00A0;Raman and Leslie Lamport for comments, requests, t
get the package into its first useable state. Various other people are mentioned at the point
in the source where I had to change the code in later versions because of problems they
found.
-<!--l. 3332--><p class="indent" > Tanmoy found a great many of the bugs, and (even better) often provided fixes, which has
+<!--l. 3330--><p class="indent" > Tanmoy found a great many of the bugs, and (even better) often provided fixes, which has
made the package more robust. The days spent on RevTeX&#x00A0;are entirely due to him! The
investigations of Bill Moss into the later versions including native PDF support uncovered a
good many bugs, and his testing is appreciated. Hans Hagen provided a lot of insight into
PDF.
-<!--l. 3340--><p class="indent" > Berthold Horn provided help, encouragement and sponsorship for the <span
+<!--l. 3338--><p class="indent" > Berthold Horn provided help, encouragement and sponsorship for the <span
class="ec-lmss-10">dvipsone </span>and <span
class="ec-lmss-10">dviwindo </span>drivers.
Sergey Lesenko provided the changes needed for <span
@@ -7101,14 +7092,14 @@ class="ec-lmss-10">hyper </span>package (developed in parallel with
<span
class="ec-lmss-10">hyperref</span>) showed me solutions for some problems. Hopefully the two packages will combine one
day.
-<!--l. 3349--><p class="indent" > The forms creation section owes a great deal to: T.&#x00A0;V.&#x00A0;Raman, for encouragement, support and
+<!--l. 3347--><p class="indent" > The forms creation section owes a great deal to: T.&#x00A0;V.&#x00A0;Raman, for encouragement, support and
ideas; Thomas Merz, whose book <span
class="ec-lmri-10">Web Publishing with Acrobat/PDF </span>provided crucial insights;
D.&#x00A0;P.&#x00A0;Story, whose detailed article about pdfmarks and forms solved many practical problems; and Hans
Hagen, who explained how to do it in <span
class="ec-lmss-10">pdftex</span>.
-<!--l. 3355--><p class="indent" > Steve Peter recreated the manual source in July 2003 after it had been lost.
-<!--l. 3358--><p class="indent" > Especial extra thanks to David Carlisle for the <span
+<!--l. 3353--><p class="indent" > Steve Peter recreated the manual source in July 2003 after it had been lost.
+<!--l. 3356--><p class="indent" > Especial extra thanks to David Carlisle for the <span
class="ec-lmss-10">backref </span>module, the ps2pdf and dviwindo support,
frequent general rewrites of my bad code, and for working on changes to the <span
class="ec-lmss-10">xr </span>package to suit
@@ -7118,61 +7109,61 @@ class="ec-lmss-10">hyperref</span>.
<h3 class="sectionHead"><span class="titlemark">13 </span> <a
id="x1-11100013"></a>GNU Free Documentation License</h3>
-<!--l. 6--><p class="noindent" >Version 1.2, November 2002
-<!--l. 9--><p class="indent" > Copyright <span
+<!--l. 3396--><p class="noindent" >Version 1.2, November 2002
+<!--l. 3399--><p class="indent" > Copyright <span
class="ts1-lmr10-">©</span>&#x00A0;2000,2001,2002 Free Software Foundation, Inc.<br
class="newline" />59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br
class="newline" />Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is
not allowed.
-<!--l. 15--><p class="noindent" >
+<!--l. 3405--><p class="noindent" >
<h4 class="likesubsectionHead"><a
id="x1-11200013"></a>Preamble</h4>
-<!--l. 17--><p class="noindent" >The purpose of this License is to make a manual, textbook, or other functional and useful document
+<!--l. 3407--><p class="noindent" >The purpose of this License is to make a manual, textbook, or other functional and useful document
&#8220;free&#8221; in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with
or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for
the author and publisher a way to get credit for their work, while not being considered responsible for
modifications made by others.
-<!--l. 25--><p class="indent" > This License is a kind of &#8220;copyleft&#8221;, which means that derivative works of the document must
+<!--l. 3415--><p class="indent" > This License is a kind of &#8220;copyleft&#8221;, which means that derivative works of the document must
themselves be free in the same sense. It complements the GNU General Public License, which is a
copyleft license designed for free software.
-<!--l. 30--><p class="indent" > We have designed this License in order to use it for manuals for free software, because free software
+<!--l. 3420--><p class="indent" > We have designed this License in order to use it for manuals for free software, because free software
needs free documentation: a free program should come with manuals providing the same
freedoms that the software does. But this License is not limited to software manuals; it can
be used for any textual work, regardless of subject matter or whether it is published as a
printed book. We recommend this License principally for works whose purpose is instruction or
reference.
-<!--l. 39--><p class="noindent" >
+<!--l. 3429--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.1 </span> <a
id="x1-11300013.1"></a>Applicability and definitions</h4>
-<!--l. 42--><p class="noindent" >This License applies to any manual or other work, in any medium, that contains a notice placed by
+<!--l. 3432--><p class="noindent" >This License applies to any manual or other work, in any medium, that contains a notice placed by
the copyright holder saying it can be distributed under the terms of this License. Such a
notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under
the conditions stated herein. The &#8220;Document&#8221;, below, refers to any such manual or work.
Any member of the public is a licensee, and is addressed as &#8220;you&#8221;. You accept the license
if you copy, modify or distribute the work in a way requiring permission under copyright
law.
-<!--l. 52--><p class="indent" > A &#8220;Modified Version&#8221; of the Document means any work containing the Document or a
+<!--l. 3442--><p class="indent" > A &#8220;Modified Version&#8221; of the Document means any work containing the Document or a
portion of it, either copied verbatim, or with modifications and/or translated into another
language.
-<!--l. 56--><p class="indent" > A &#8220;Secondary Section&#8221; is a named appendix or a front-matter section of the Document that deals
+<!--l. 3446--><p class="indent" > A &#8220;Secondary Section&#8221; is a named appendix or a front-matter section of the Document that deals
exclusively with the relationship of the publishers or authors of the Document to the Document&#8217;s overall
subject (or to related matters) and contains nothing that could fall directly within that overall subject.
(Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical connection with the subject or with
related matters, or of legal, commercial, philosophical, ethical or political position regarding
them.
-<!--l. 67--><p class="indent" > The &#8220;Invariant Sections&#8221; are certain Secondary Sections whose titles are designated, as being those of
+<!--l. 3457--><p class="indent" > The &#8220;Invariant Sections&#8221; are certain Secondary Sections whose titles are designated, as being those of
Invariant Sections, in the notice that says that the Document is released under this License. If a section
does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The
Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections
then there are none.
-<!--l. 75--><p class="indent" > The &#8220;Cover Texts&#8221; are certain short passages of text that are listed, as Front-Cover Texts or
+<!--l. 3465--><p class="indent" > The &#8220;Cover Texts&#8221; are certain short passages of text that are listed, as Front-Cover Texts or
Back-Cover Texts, in the notice that says that the Document is released under this License.
A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25
words.
-<!--l. 80--><p class="indent" > A &#8220;Transparent&#8221; copy of the Document means a machine-readable copy, represented in a format
+<!--l. 3470--><p class="indent" > A &#8220;Transparent&#8221; copy of the Document means a machine-readable copy, represented in a format
whose specification is available to the general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or
(for drawings) some widely available drawing editor, and that is suitable for input to text formatters or
@@ -7181,7 +7172,7 @@ otherwise Transparent file format whose markup, or absence of markup, has been a
discourage subsequent modification by readers is not Transparent. An image format is not
Transparent if used for any substantial amount of text. A copy that is not &#8220;Transparent&#8221; is called
&#8220;Opaque&#8221;.
-<!--l. 93--><p class="indent" > Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo
+<!--l. 3483--><p class="indent" > Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo
input format, LaTeX&#x00A0;input format, SGML or XML using a publicly available DTD, and
standard-conforming simple HTML, PostScript or PDF designed for human modification.
Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include
@@ -7189,26 +7180,26 @@ proprietary formats that can be read and edited only by proprietary word process
or XML for which the DTD and/or processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word processors for output purposes
only.
-<!--l. 104--><p class="indent" > The &#8220;Title Page&#8221; means, for a printed book, the title page itself, plus such following pages as are
+<!--l. 3494--><p class="indent" > The &#8220;Title Page&#8221; means, for a printed book, the title page itself, plus such following pages as are
needed to hold, legibly, the material this License requires to appear in the title page. For works in
formats which do not have any title page as such, &#8220;Title Page&#8221; means the text near the
most prominent appearance of the work&#8217;s title, preceding the beginning of the body of the
text.
-<!--l. 111--><p class="indent" > A section &#8220;Entitled XYZ&#8221; means a named subunit of the Document whose title either is precisely
+<!--l. 3501--><p class="indent" > A section &#8220;Entitled XYZ&#8221; means a named subunit of the Document whose title either is precisely
XYZ or contains XYZ in parentheses following text that translates XYZ in another language.
(Here XYZ stands for a specific section name mentioned below, such as &#8220;Acknowledgements&#8221;,
&#8220;Dedications&#8221;, &#8220;Endorsements&#8221;, or &#8220;History&#8221;.) To &#8220;Preserve the Title&#8221; of such a section when you
modify the Document means that it remains a section &#8220;Entitled XYZ&#8221; according to this
definition.
-<!--l. 119--><p class="indent" > The Document may include Warranty Disclaimers next to the notice which states that this
+<!--l. 3509--><p class="indent" > The Document may include Warranty Disclaimers next to the notice which states that this
License applies to the Document. These Warranty Disclaimers are considered to be included by
reference in this License, but only as regards disclaiming warranties: any other implication
that these Warranty Disclaimers may have is void and has no effect on the meaning of this
License.
-<!--l. 127--><p class="noindent" >
+<!--l. 3517--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.2 </span> <a
id="x1-11400013.2"></a>Verbatim copying</h4>
-<!--l. 130--><p class="noindent" >You may copy and distribute the Document in any medium, either commercially or noncommercially,
+<!--l. 3520--><p class="noindent" >You may copy and distribute the Document in any medium, either commercially or noncommercially,
provided that this License, the copyright notices, and the license notice saying this License applies to the
Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this
License. You may not use technical measures to obstruct or control the reading or further copying of the
@@ -7216,14 +7207,14 @@ copies you make or distribute. However, you may accept compensation in exchange
If you distribute a large enough number of copies you must also follow the conditions in
section&#x00A0;<a
href="#x1-11500013.3">13.3<!--tex4ht:ref: copying --></a>.
-<!--l. 141--><p class="indent" > You may also lend copies, under the same conditions stated above, and you may publicly display
+<!--l. 3531--><p class="indent" > You may also lend copies, under the same conditions stated above, and you may publicly display
copies.
-<!--l. 145--><p class="noindent" >
+<!--l. 3535--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.3 </span> <a
id="x1-11500013.3"></a>Copying in quantity</h4>
-<!--l. 148--><p class="noindent" >If you publish printed copies (or copies in media that commonly have printed covers) of the Document,
+<!--l. 3538--><p class="noindent" >If you publish printed copies (or copies in media that commonly have printed covers) of the Document,
numbering more than 100, and the Document&#8217;s license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front
cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly
@@ -7232,10 +7223,10 @@ words of the title equally prominent and visible. You may add other material on
addition. Copying with changes limited to the covers, as long as they preserve the title of
the Document and satisfy these conditions, can be treated as verbatim copying in other
respects.
-<!--l. 161--><p class="indent" > If the required texts for either cover are too voluminous to fit legibly, you should put the first ones
+<!--l. 3551--><p class="indent" > If the required texts for either cover are too voluminous to fit legibly, you should put the first ones
listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent
pages.
-<!--l. 166--><p class="indent" > If you publish or distribute Opaque copies of the Document numbering more than 100, you must
+<!--l. 3556--><p class="indent" > If you publish or distribute Opaque copies of the Document numbering more than 100, you must
either include a machine-readable Transparent copy along with each Opaque copy, or state in or with
each Opaque copy a computer-network location from which the general network-using public has access
to download using public-standard network protocols a complete Transparent copy of the Document, free
@@ -7244,20 +7235,20 @@ begin distribution of Opaque copies in quantity, to ensure that this Transparent
remain thus accessible at the stated location until at least one year after the last time you
distribute an Opaque copy (directly or through your agents or retailers) of that edition to the
public.
-<!--l. 179--><p class="indent" > It is requested, but not required, that you contact the authors of the Document well before
+<!--l. 3569--><p class="indent" > It is requested, but not required, that you contact the authors of the Document well before
redistributing any large number of copies, to give them a chance to provide you with an updated version
of the Document.
-<!--l. 184--><p class="noindent" >
+<!--l. 3574--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.4 </span> <a
id="x1-11600013.4"></a>Modifications</h4>
-<!--l. 187--><p class="noindent" >You may copy and distribute a Modified Version of the Document under the conditions of sections&#x00A0;<a
+<!--l. 3577--><p class="noindent" >You may copy and distribute a Modified Version of the Document under the conditions of sections&#x00A0;<a
href="#x1-11400013.2">13.2<!--tex4ht:ref: verbatim --></a>
and <a
href="#x1-11500013.3">13.3<!--tex4ht:ref: copying --></a> above, provided that you release the Modified Version under precisely this License, with the
Modified Version filling the role of the Document, thus licensing distribution and modification of the
Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified
Version:
-<!--l. 196--><p class="indent" >
+<!--l. 3586--><p class="indent" >
<ol class="enumerate1" >
<li
class="enumerate" id="x1-116002x1">Use in the Title Page (and on the covers, if any) a title distinct from that of the Document,
@@ -7331,73 +7322,73 @@ Version:
</li></ol>
-<!--l. 247--><p class="indent" > If the Modified Version includes new front-matter sections or appendices that qualify as Secondary
+<!--l. 3637--><p class="indent" > If the Modified Version includes new front-matter sections or appendices that qualify as Secondary
Sections and contain no material copied from the Document, you may at your option designate some or
all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in
the Modified Version&#8217;s license notice. These titles must be distinct from any other section
titles.
-<!--l. 254--><p class="indent" > You may add a section Entitled &#8220;Endorsements&#8221;, provided it contains nothing but endorsements of
+<!--l. 3644--><p class="indent" > You may add a section Entitled &#8220;Endorsements&#8221;, provided it contains nothing but endorsements of
your Modified Version by various parties&#8211;for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a standard.
-<!--l. 260--><p class="indent" > You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as
+<!--l. 3650--><p class="indent" > You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as
a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any
one entity. If the Document already includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of, you may not add another; but you
may replace the old one, on explicit permission from the previous publisher that added the old
one.
-<!--l. 270--><p class="indent" > The author(s) and publisher(s) of the Document do not by this License give permission to use their
+<!--l. 3660--><p class="indent" > The author(s) and publisher(s) of the Document do not by this License give permission to use their
names for publicity for or to assert or imply endorsement of any Modified Version.
-<!--l. 275--><p class="noindent" >
+<!--l. 3665--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.5 </span> <a
id="x1-11700013.5"></a>Combining documents</h4>
-<!--l. 278--><p class="noindent" >You may combine the Document with other documents released under this License, under the terms
+<!--l. 3668--><p class="noindent" >You may combine the Document with other documents released under this License, under the terms
defined in section&#x00A0;<a
href="#x1-11600013.4">13.4<!--tex4ht:ref: modifications --></a> above for modified versions, provided that you include in the combination all of
the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant
Sections of your combined work in its license notice, and that you preserve all their Warranty
Disclaimers.
-<!--l. 286--><p class="indent" > The combined work need only contain one copy of this License, and multiple identical Invariant
+<!--l. 3676--><p class="indent" > The combined work need only contain one copy of this License, and multiple identical Invariant
Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name
but different contents, make the title of each such section unique by adding at the end of it, in
parentheses, the name of the original author or publisher of that section if known, or else a unique
number. Make the same adjustment to the section titles in the list of Invariant Sections in the license
notice of the combined work.
-<!--l. 295--><p class="indent" > In the combination, you must combine any sections Entitled &#8220;History&#8221; in the various original
+<!--l. 3685--><p class="indent" > In the combination, you must combine any sections Entitled &#8220;History&#8221; in the various original
documents, forming one section Entitled &#8220;History&#8221;; likewise combine any sections Entitled
&#8220;Acknowledgements&#8221;, and any sections Entitled &#8220;Dedications&#8221;. You must delete all sections Entitled
&#8220;Endorsements&#8221;.
-<!--l. 302--><p class="noindent" >
+<!--l. 3692--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.6 </span> <a
id="x1-11800013.6"></a>Collections of documents</h4>
-<!--l. 305--><p class="noindent" >You may make a collection consisting of the Document and other documents released under this License,
+<!--l. 3695--><p class="noindent" >You may make a collection consisting of the Document and other documents released under this License,
and replace the individual copies of this License in the various documents with a single copy that is
included in the collection, provided that you follow the rules of this License for verbatim copying of each
of the documents in all other respects.
-<!--l. 311--><p class="indent" > You may extract a single document from such a collection, and distribute it individually under this
+<!--l. 3701--><p class="indent" > You may extract a single document from such a collection, and distribute it individually under this
License, provided you insert a copy of this License into the extracted document, and follow this License
in all other respects regarding verbatim copying of that document.
-<!--l. 317--><p class="noindent" >
+<!--l. 3707--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.7 </span> <a
id="x1-11900013.7"></a>Aggregation with independent works</h4>
-<!--l. 320--><p class="noindent" >A compilation of the Document or its derivatives with other separate and independent documents or
+<!--l. 3710--><p class="noindent" >A compilation of the Document or its derivatives with other separate and independent documents or
works, in or on a volume of a storage or distribution medium, is called an &#8220;aggregate&#8221; if the copyright
resulting from the compilation is not used to limit the legal rights of the compilation&#8217;s users beyond what
the individual works permit. When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves derivative works of the
Document.
-<!--l. 329--><p class="indent" > If the Cover Text requirement of section&#x00A0;<a
+<!--l. 3719--><p class="indent" > If the Cover Text requirement of section&#x00A0;<a
href="#x1-11500013.3">13.3<!--tex4ht:ref: copying --></a> is applicable to these copies of the Document, then if
the Document is less than one half of the entire aggregate, the Document&#8217;s Cover Texts may be placed
on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the
Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole
aggregate.
-<!--l. 338--><p class="noindent" >
+<!--l. 3728--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.8 </span> <a
id="x1-12000013.8"></a>Translation</h4>
-<!--l. 341--><p class="noindent" >Translation is considered a kind of modification, so you may distribute translations of the Document
+<!--l. 3731--><p class="noindent" >Translation is considered a kind of modification, so you may distribute translations of the Document
under the terms of section&#x00A0;<a
href="#x1-11600013.4">13.4<!--tex4ht:ref: modifications --></a>. Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include translations of some or all Invariant
@@ -7407,26 +7398,26 @@ provided that you also include the original English version of this License and
versions of those notices and disclaimers. In case of a disagreement between the translation
and the original version of this License or a notice or disclaimer, the original version will
prevail.
-<!--l. 355--><p class="indent" > If a section in the Document is Entitled &#8220;Acknowledgements&#8221;, &#8220;Dedications&#8221;, or &#8220;History&#8221;, the
+<!--l. 3745--><p class="indent" > If a section in the Document is Entitled &#8220;Acknowledgements&#8221;, &#8220;Dedications&#8221;, or &#8220;History&#8221;, the
requirement (section&#x00A0;<a
href="#x1-11600013.4">13.4<!--tex4ht:ref: modifications --></a>) to Preserve its Title (section&#x00A0;<a
href="#x1-11300013.1">13.1<!--tex4ht:ref: applicability --></a>) will typically require changing the actual
title.
-<!--l. 362--><p class="noindent" >
+<!--l. 3752--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.9 </span> <a
id="x1-12100013.9"></a>Termination</h4>
-<!--l. 365--><p class="noindent" >You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under
+<!--l. 3755--><p class="noindent" >You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under
this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However, parties who have received copies, or
rights, from you under this License will not have their licenses terminated so long as such parties remain
in full compliance.
-<!--l. 374--><p class="noindent" >
+<!--l. 3764--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.10 </span> <a
id="x1-12200013.10"></a>Future revisions of this license</h4>
-<!--l. 377--><p class="noindent" >The Free Software Foundation may publish new, revised versions of the GNU Free Documentation
+<!--l. 3767--><p class="noindent" >The Free Software Foundation may publish new, revised versions of the GNU Free Documentation
License from time to time. Such new versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
-<!--l. 383--><p class="indent" > Each version of the License is given a distinguishing version number. If the Document specifies that a
+<!--l. 3773--><p class="indent" > Each version of the License is given a distinguishing version number. If the Document specifies that a
particular numbered version of this License &#8220;or any later version&#8221; applies to it, you have the option of
following the terms and conditions either of that specified version or of any later version that has been
published (not as a draft) by the Free Software Foundation. If the Document does not specify a version
@@ -7434,32 +7425,28 @@ number of this License, you may choose any version ever published (not as a draf
Foundation.
-<!--l. 393--><p class="noindent" >
+<!--l. 3783--><p class="noindent" >
<h4 class="likesubsectionHead"><a
id="x1-12300013.10"></a>Addendum: how to use this license for your documents</h4>
-<!--l. 395--><p class="noindent" >To use this License in a document you have written, include a copy of the License in the document and
+<!--l. 3785--><p class="noindent" >To use this License in a document you have written, include a copy of the License in the document and
put the following copyright and license notices just after the title page:
-<!--l. 399--><p class="indent" >
+<!--l. 3789--><p class="indent" >
<blockquote class="quote">
- <!--l. 400--><p class="noindent" >Copyright <span
+ <!--l. 3790--><p class="noindent" >Copyright <span
class="ts1-lmr10-">©</span>&#x00A0;YEAR YOUR NAME. Permission is granted to copy, distribute and/or
modify this document under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the
license is included in the section entitled &#8220;GNU Free Documentation License&#8221;.</blockquote>
-<!--l. 409--><p class="indent" > If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the &#8220;with...Texts.&#8221;
+<!--l. 3799--><p class="indent" > If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the &#8220;with...Texts.&#8221;
line with this:
-<!--l. 412--><p class="indent" > with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and
+<!--l. 3802--><p class="indent" > with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and
with the Back-Cover Texts being LIST.
-<!--l. 415--><p class="indent" > If you have Invariant Sections without Cover Texts, or some other combination of the three, merge
+<!--l. 3805--><p class="indent" > If you have Invariant Sections without Cover Texts, or some other combination of the three, merge
those two alternatives to suit the situation.
-<!--l. 419--><p class="indent" > If your document contains nontrivial examples of program code, we recommend releasing these
+<!--l. 3809--><p class="indent" > If your document contains nontrivial examples of program code, we recommend releasing these
examples in parallel under your choice of free software license, such as the GNU General Public License,
to permit their use in free software.
-
-
-
-
</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/manual.pdf b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
index 64dffdeb28..d25eb36501 100644
--- a/macros/latex/contrib/hyperref/doc/manual.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/manual.tex b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
index ddd48e6ea1..f1e1895645 100644
--- a/macros/latex/contrib/hyperref/doc/manual.tex
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
@@ -177,7 +177,7 @@
}
\makeatother
\title{Hypertext marks in \hologo{LaTeX}: a manual for \xpackage{hyperref}}
-\date{2021-02-04 v7.00g}
+\date{2021-02-07 v7.00h}
\begin{document}
@@ -1016,7 +1016,7 @@ runcolor & \textit{filecolor} & color of `run' links\\
setpagesize & \textit{true} & set page size by special driver commands \\
tex4ht & & use \textsf{\TeX4ht} backend \\
textures & & use \textsf{Textures} backend \\
-unicode & \textit{true} & Unicode encoded pdf strings, starting with version 2021-02-04 v7.00g set by default to true for all engines. \\
+unicode & \textit{true} & Unicode encoded pdf strings, starting with version 2021-02-07 v7.00h set by default to true for all engines. \\
urlbordercolor & \textit{0 1 1} & color of border around URL links \\
urlcolor & \textit{magenta} & color of URL links \\
verbose & \textit{false} & be chatty \\
@@ -2755,10 +2755,11 @@ earlier.
\subsubsection{minitoc-hyper}
- This package is obsolete, use the uptodate original
+ This package is obsolete, use the up-to-date original
package minitoc instead.
+
\subsubsection{multind}
\begin{verbatim}
\usepackage{multind}
@@ -2778,6 +2779,11 @@ Example for introducing links for the page numbers:
\end{verbatim}
+\subsubsection{ntheorem-hyper}
+ This package is obsolete, use the up-to-date original
+ package ntheorem instead.
+
+
For equations the following might work:
\begin{verbatim}
\renewcommand*{\eqdeclaration}[1]{%
@@ -2818,14 +2824,6 @@ For equations the following might work:
%%% example for prettyref %%%
\end{verbatim}
-\subsubsection{ntheorem}
-\begin{verbatim}
- ntheorem-hyper.sty is an old patched version of ntheorem.sty.
- Newer versions of ntheorem know the option hyperref:
- \usepackage{hyperref}
- \usepackage[hyperref]{ntheorem}
- But there are still unsolved problems (options thref, ...).
-\end{verbatim}
\subsubsection{setspace}
\begin{verbatim}
@@ -3390,7 +3388,429 @@ code, and for working on changes to the \xpackage{xr} package to suit
}%
\x
}
- \include{fdl}
+\clearpage
+
+
+\chapter{GNU Free Documentation License}
+
+Version 1.2, November 2002
+
+
+ Copyright \copyright\ 2000,2001,2002 Free Software Foundation, Inc.\\
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\\
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+\section*{PREAMBLE}
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document ``free'' in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of ``copyleft'', which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+\section{APPLICABILITY AND DEFINITIONS}
+\label{applicability}
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The ``Document'', below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as ``you''. You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A ``Modified Version'' of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A ``Secondary Section'' is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (Thus, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The ``Invariant Sections'' are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The ``Cover Texts'' are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A ``Transparent'' copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not ``Transparent'' is called ``Opaque''.
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, \LaTeX\ input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The ``Title Page'' means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, ``Title Page'' means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+A section ``Entitled XYZ'' means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as ``Acknowledgements'',
+``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
+of such a section when you modify the Document means that it remains a
+section ``Entitled XYZ'' according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+
+\section{VERBATIM COPYING}
+\label{verbatim}
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in
+section~\ref{copying}.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+\section{COPYING IN QUANTITY}
+\label{copying}
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+\section{MODIFICATIONS}
+\label{modifications}
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections~\ref{verbatim} and \ref{copying} above,
+provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+\renewcommand{\labelenumi}{\Alph{enumi}.}
+\begin{enumerate}
+\item Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+\item List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+\item State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+\item Preserve all the copyright notices of the Document.
+\item Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+\item Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+\item Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+\item Include an unaltered copy of this License.
+\item Preserve the section Entitled ``History'', Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled ``History'' in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+\item Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the ``History'' section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+\item For any section Entitled ``Acknowledgements'' or ``Dedications'',
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+\item Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+\item Delete any section Entitled ``Endorsements''. Such a section
+ may not be included in the Modified Version.
+\item Do not retitle any existing section to be Entitled ``Endorsements''
+ or to conflict in title with any Invariant Section.
+\item Preserve any Warranty Disclaimers.
+
+\end{enumerate}
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled ``Endorsements'', provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+\section{COMBINING DOCUMENTS}
+\label{combining}
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section~\ref{modifications}
+above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled ``History''
+in the various original documents, forming one section Entitled
+``History''; likewise combine any sections Entitled ``Acknowledgements'',
+and any sections Entitled ``Dedications''. You must delete all sections
+Entitled ``Endorsements''.
+
+
+\section{COLLECTIONS OF DOCUMENTS}
+\label{collections}
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+
+\section{AGGREGATION WITH INDEPENDENT WORKS}
+\label{aggregation}
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an ``aggregate'' if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section~\ref{copying} is applicable to
+these copies of the Document, then if the Document is less than one half
+of the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+\section{TRANSLATION}
+\label{translation}
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of
+section~\ref{modifications}.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled ``Acknowledgements'',
+``Dedications'', or ``History'', the requirement
+(section~\ref{modifications}) to Preserve
+its Title (section~\ref{applicability}) will typically require
+changing the actual title.
+
+
+\section{TERMINATION}
+\label{termination}
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+
+\section{FUTURE REVISIONS OF THIS LICENSE}
+\label{future}
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License ``or any later version'' applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+
+\section*{ADDENDUM: How to use this License for your documents}
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+\begin{quote}
+ Copyright \copyright\ YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+\end{quote}
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the ``with...Texts.'' line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
+
\endgroup
\end{document}
diff --git a/macros/latex/contrib/hyperref/doc/manual2.html b/macros/latex/contrib/hyperref/doc/hyperref-doc2.html
index 71af561e04..9537a69998 100644
--- a/macros/latex/contrib/hyperref/doc/manual2.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc2.html
@@ -6,8 +6,8 @@
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
<!-- html -->
-<meta name="src" content="manual.tex">
-<link rel="stylesheet" type="text/css" href="manual.css">
+<meta name="src" content="hyperref-doc.tex">
+<link rel="stylesheet" type="text/css" href="hyperref-doc.css">
</head><body
>
<div class="footnote-text">
diff --git a/macros/latex/contrib/hyperref/doc/manual3.html b/macros/latex/contrib/hyperref/doc/hyperref-doc3.html
index 00062b22f0..15226b2dc2 100644
--- a/macros/latex/contrib/hyperref/doc/manual3.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc3.html
@@ -6,8 +6,8 @@
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
<!-- html -->
-<meta name="src" content="manual.tex">
-<link rel="stylesheet" type="text/css" href="manual.css">
+<meta name="src" content="hyperref-doc.tex">
+<link rel="stylesheet" type="text/css" href="hyperref-doc.css">
</head><body
>
<div class="footnote-text">
diff --git a/macros/latex/contrib/hyperref/doc/manual4.html b/macros/latex/contrib/hyperref/doc/hyperref-doc4.html
index 70dae2e346..ea4d955228 100644
--- a/macros/latex/contrib/hyperref/doc/manual4.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc4.html
@@ -6,8 +6,8 @@
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
<!-- html -->
-<meta name="src" content="manual.tex">
-<link rel="stylesheet" type="text/css" href="manual.css">
+<meta name="src" content="hyperref-doc.tex">
+<link rel="stylesheet" type="text/css" href="hyperref-doc.css">
</head><body
>
<div class="footnote-text">
diff --git a/macros/latex/contrib/hyperref/doc/manual5.html b/macros/latex/contrib/hyperref/doc/hyperref-doc5.html
index 01434811f6..da6b99aee2 100644
--- a/macros/latex/contrib/hyperref/doc/manual5.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc5.html
@@ -6,8 +6,8 @@
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
<!-- html -->
-<meta name="src" content="manual.tex">
-<link rel="stylesheet" type="text/css" href="manual.css">
+<meta name="src" content="hyperref-doc.tex">
+<link rel="stylesheet" type="text/css" href="hyperref-doc.css">
</head><body
>
<div class="footnote-text">
diff --git a/macros/latex/contrib/hyperref/doc/manual6.html b/macros/latex/contrib/hyperref/doc/hyperref-doc6.html
index eba4717509..949ee1903a 100644
--- a/macros/latex/contrib/hyperref/doc/manual6.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc6.html
@@ -6,8 +6,8 @@
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
<!-- html -->
-<meta name="src" content="manual.tex">
-<link rel="stylesheet" type="text/css" href="manual.css">
+<meta name="src" content="hyperref-doc.tex">
+<link rel="stylesheet" type="text/css" href="hyperref-doc.css">
</head><body
>
<div class="footnote-text">
diff --git a/macros/latex/contrib/hyperref/doc/manual7.html b/macros/latex/contrib/hyperref/doc/hyperref-doc7.html
index 17b42e0aef..c43b481adc 100644
--- a/macros/latex/contrib/hyperref/doc/manual7.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc7.html
@@ -6,8 +6,8 @@
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
<!-- html -->
-<meta name="src" content="manual.tex">
-<link rel="stylesheet" type="text/css" href="manual.css">
+<meta name="src" content="hyperref-doc.tex">
+<link rel="stylesheet" type="text/css" href="hyperref-doc.css">
</head><body
>
<div class="footnote-text">
diff --git a/macros/latex/contrib/hyperref/doc/hyperref.pdf b/macros/latex/contrib/hyperref/doc/hyperref.pdf
index d93f8f2cb8..fd5f236b7c 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/nameref.pdf b/macros/latex/contrib/hyperref/doc/nameref.pdf
index 86eea30ba5..73a288882e 100644
--- a/macros/latex/contrib/hyperref/doc/nameref.pdf
+++ b/macros/latex/contrib/hyperref/doc/nameref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/fdl.tex b/macros/latex/contrib/hyperref/fdl.tex
deleted file mode 100644
index 57f9b31621..0000000000
--- a/macros/latex/contrib/hyperref/fdl.tex
+++ /dev/null
@@ -1,422 +0,0 @@
-% This file is a chapter. It must be included in a larger document to work
-% properly.
-
-\chapter{GNU Free Documentation License}
-
-Version 1.2, November 2002
-
-
- Copyright \copyright\ 2000,2001,2002 Free Software Foundation, Inc.\\
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\\
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
-\section*{PREAMBLE}
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document ``free'' in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of ``copyleft'', which means that derivative
-works of the document must themselves be free in the same sense. It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does. But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book. We recommend this License
-principally for works whose purpose is instruction or reference.
-
-
-\section{APPLICABILITY AND DEFINITIONS}
-\label{applicability}
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License. Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein. The ``Document'', below,
-refers to any such manual or work. Any member of the public is a
-licensee, and is addressed as ``you''. You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A ``Modified Version'' of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A ``Secondary Section'' is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject. (Thus, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.) The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The ``Invariant Sections'' are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License. If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant. The Document may contain zero
-Invariant Sections. If the Document does not identify any Invariant
-Sections then there are none.
-
-The ``Cover Texts'' are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License. A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A ``Transparent'' copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters. A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text. A copy that is not ``Transparent'' is called ``Opaque''.
-
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, \LaTeX\ input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification. Examples of
-transparent image formats include PNG, XCF and JPG. Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
-
-The ``Title Page'' means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page. For works in
-formats which do not have any title page as such, ``Title Page'' means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-A section ``Entitled XYZ'' means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language. (Here XYZ stands for a
-specific section name mentioned below, such as ``Acknowledgements'',
-``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
-of such a section when you modify the Document means that it remains a
-section ``Entitled XYZ'' according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document. These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-
-\section{VERBATIM COPYING}
-\label{verbatim}
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License. You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute. However, you may accept
-compensation in exchange for copies. If you distribute a large enough
-number of copies you must also follow the conditions in
-section~\ref{copying}.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-
-\section{COPYING IN QUANTITY}
-\label{copying}
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover. Both covers must also clearly and legibly identify
-you as the publisher of these copies. The front cover must present
-the full title with all words of the title equally prominent and
-visible. You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-
-\section{MODIFICATIONS}
-\label{modifications}
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections~\ref{verbatim} and \ref{copying} above,
-provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it. In addition, you must do these things in the Modified Version:
-
-\renewcommand{\labelenumi}{\Alph{enumi}.}
-\begin{enumerate}
-\item Use in the Title Page (and on the covers, if any) a title distinct
- from that of the Document, and from those of previous versions
- (which should, if there were any, be listed in the History section
- of the Document). You may use the same title as a previous version
- if the original publisher of that version gives permission.
-\item List on the Title Page, as authors, one or more persons or entities
- responsible for authorship of the modifications in the Modified
- Version, together with at least five of the principal authors of the
- Document (all of its principal authors, if it has fewer than five),
- unless they release you from this requirement.
-\item State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
-\item Preserve all the copyright notices of the Document.
-\item Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
-\item Include, immediately after the copyright notices, a license notice
- giving the public permission to use the Modified Version under the
- terms of this License, in the form shown in the Addendum below.
-\item Preserve in that license notice the full lists of Invariant Sections
- and required Cover Texts given in the Document's license notice.
-\item Include an unaltered copy of this License.
-\item Preserve the section Entitled ``History'', Preserve its Title, and add
- to it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page. If
- there is no section Entitled ``History'' in the Document, create one
- stating the title, year, authors, and publisher of the Document as
- given on its Title Page, then add an item describing the Modified
- Version as stated in the previous sentence.
-\item Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and likewise
- the network locations given in the Document for previous versions
- it was based on. These may be placed in the ``History'' section.
- You may omit a network location for a work that was published at
- least four years before the Document itself, or if the original
- publisher of the version it refers to gives permission.
-\item For any section Entitled ``Acknowledgements'' or ``Dedications'',
- Preserve the Title of the section, and preserve in the section all
- the substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
-\item Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.
-\item Delete any section Entitled ``Endorsements''. Such a section
- may not be included in the Modified Version.
-\item Do not retitle any existing section to be Entitled ``Endorsements''
- or to conflict in title with any Invariant Section.
-\item Preserve any Warranty Disclaimers.
-
-\end{enumerate}
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant. To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled ``Endorsements'', provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version. Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity. If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-
-\section{COMBINING DOCUMENTS}
-\label{combining}
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section~\ref{modifications}
-above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy. If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled ``History''
-in the various original documents, forming one section Entitled
-``History''; likewise combine any sections Entitled ``Acknowledgements'',
-and any sections Entitled ``Dedications''. You must delete all sections
-Entitled ``Endorsements''.
-
-
-\section{COLLECTIONS OF DOCUMENTS}
-\label{collections}
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-
-\section{AGGREGATION WITH INDEPENDENT WORKS}
-\label{aggregation}
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an ``aggregate'' if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section~\ref{copying} is applicable to
-these copies of the Document, then if the Document is less than one half
-of the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-
-\section{TRANSLATION}
-\label{translation}
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of
-section~\ref{modifications}.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections. You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers. In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled ``Acknowledgements'',
-``Dedications'', or ``History'', the requirement
-(section~\ref{modifications}) to Preserve
-its Title (section~\ref{applicability}) will typically require
-changing the actual title.
-
-
-\section{TERMINATION}
-\label{termination}
-
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License. Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License. However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-
-\section{FUTURE REVISIONS OF THIS LICENSE}
-\label{future}
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns. See
-http://www.gnu.org/copyleft/.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License ``or any later version'' applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation. If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-
-
-\section*{ADDENDUM: How to use this License for your documents}
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-\begin{quote}
- Copyright \copyright\ YEAR YOUR NAME.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled ``GNU
- Free Documentation License''.
-\end{quote}
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the ``with...Texts.'' line with this:
-
- with the Invariant Sections being LIST THEIR TITLES, with the
- Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
diff --git a/macros/latex/contrib/hyperref/hluatex.dtx b/macros/latex/contrib/hyperref/hluatex.dtx
index b70a38a86a..91f9abc006 100644
--- a/macros/latex/contrib/hyperref/hluatex.dtx
+++ b/macros/latex/contrib/hyperref/hluatex.dtx
@@ -1,10 +1,10 @@
% \iffalse
% Source File: hluatex.dtx
-% 2021-02-04 v7.00g
+% 2021-02-07 v7.00h
%
% Copyright
% 2016-2019 Oberdiek Package Support Group
-% 2019-2020 The LaTeX3 Project
+% 2019-2020 The LaTeX Project
% https://github.com/latex3/hyperref/issues%%
%
% Derived from hpdftex.def
@@ -19,7 +19,7 @@
\GetFileInfo{hluatex.def}%
\title{hluatex.def}
\date{}%
- \author{Maintained by The \LaTeX3 Project\\%
+ \author{Maintained by The \LaTeX\ Project\\%
\texttt{https://github.com/latex3/hyperref/issues}%
}
\maketitle
@@ -31,7 +31,7 @@
%
% \begin{macrocode}
%<*luatex>
-%% 2021-02-04 v7.00g
+%% 2021-02-07 v7.00h
%% force unicode encoding, see issue #101
%% code mostly copied from hxetex.def
\HyPsd@LoadUnicode
diff --git a/macros/latex/contrib/hyperref/hyperref.dtx b/macros/latex/contrib/hyperref/hyperref.dtx
index 3e84e320ab..5ab411463a 100644
--- a/macros/latex/contrib/hyperref/hyperref.dtx
+++ b/macros/latex/contrib/hyperref/hyperref.dtx
@@ -4,7 +4,7 @@
%% 1995-2001 Sebastian Rahtz, with portions written by David Carlisle and Heiko Oberdiek,
%% 2001-2015 Heiko Oberdiek.
%% 2016-2019 Oberdiek Package Support Group
-%% 2019-2021 LaTeX3 Project
+%% 2019-2021 LaTeX Project
%% https://github.com/latex3/hyperref/issues
%%
%% This file is part of the `Hyperref Bundle'.
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% The list of all files belonging to the `Hyperref Bundle' is
%% given in the file `manifest.txt'.
@@ -51,7 +51,7 @@
%<puarenc>\ProvidesFile{puarenc.def}
%<psdextra>\ProvidesFile{psdextra.def}
%<lang>\ProvidesFile{hyperref-langpatches.def}
-%<!none> [2021-02-04 v7.00g %
+%<!none> [2021-02-07 v7.00h %
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -124,7 +124,7 @@
\title{Hypertext marks in \LaTeX}%
\author{Sebastian Rahtz (deceased)\\%
Heiko Oberdiek (inactive)\\%
- The \LaTeX3 Project\\%
+ The \LaTeX\ Project\\%
\texttt{https://github.com/latex3/hyperref/issues}}%
% \date{processed \today}%
\date{\filedate\space\fileversion}%
@@ -20966,7 +20966,9 @@
\DeclareTextCommand{\v}{PU}[1]{#1\83\014}% U+030C
% U+030F COMBINING DOUBLE GRAVE ACCENT; dblgravecmb
\DeclareTextCommand{\G}{PU}[1]{#1\83\017}% U+030F
+\ifx\CYRDZE\@undefined \else
\DeclareTextCommand{\C}{PU}[1]{#1\83\017}% U+030F
+\fi
% U+0311 COMBINING INVERTED BREVE; breveinvertedcmb
\DeclareTextCommand{\textinvbreve}{PU}[1]{#1\83\021}% U+0311
\DeclareTextCommand{\newtie}{PU}[1]{#1\83\021}% U+0311
@@ -22305,8 +22307,9 @@
% \end{macrocode}
%
% \subsubsection{Greek and Coptic: U+0370 to U+03FF}
-%
+% Greek is only loaded if \cs{textBeta} is defined.
% \begin{macrocode}
+\ifx\textBeta\@undefined \else
% U+0374 GREEK NUMERAL SIGN; numeralsigngreek
\DeclareTextCommand{\textnumeralsigngreek}{PU}{\83\164}% U+0374
\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164}% U+0374
@@ -22488,13 +22491,16 @@
% U+03F6 GREEK REVERSED LUNATE EPSILON SYMBOL;
% \backepsilon (AmS)
\DeclareTextCommand{\textbackepsilon}{PU}{\83\366}% U+03F6
+\fi
% \end{macrocode}
%
% \subsubsection{Cyrillic: U+0400 to U+04FF}
%
% Thanks to Vladimir Volovich (\Email{vvv@vvv.vsu.ru}) for
% the help with the Cyrillic glyph names.
+% Cyrillic only loaded if \cs{CYRDZE} is defined.
% \begin{macrocode}
+\ifx\CYRDZE\@undefined \else
% U+0400 CYRILLIC CAPITAL LETTER IE WITH GRAVE
\DeclareTextCompositeCommand{\`}{PU}{\CYRE}{\84\000}% U+0400
% U+0401 CYRILLIC CAPITAL LETTER IO; Iocyrillic, *afii10023
@@ -23030,6 +23036,7 @@
\DeclareTextCommand{\CYRHHK}{PU}{\84\374}% U+04FC
% U+04FD CYRILLIC SMALL LETTER HA WITH HOOK
\DeclareTextCommand{\cyrhhk}{PU}{\84\375}% U+04FD
+\fi
% \end{macrocode}
% |\84\376|: U+04FE CYRILLIC CAPITAL LETTER HA WITH STROKE\\
% |\84\377|: U+04FF CYRILLIC SMALL LETTER HA WITH STROKE
@@ -23037,7 +23044,9 @@
% \subsubsection{Hebrew: U+0590 to U+05FF}
%
% Macro names are taken from \texttt{he8enc.def}.
+% hebrew is only loaded if \cs{hebdalet} is defined
% \begin{macrocode}
+\ifx\hebdalet\@undefined\else
% U+05C3 HEBREW PUNCTUATION SOF PASUQ
\DeclareTextCommand{\sofpasuq}{PU}{\85\303}% U+05C3
% U+05D0 HEBREW LETTER ALEF
@@ -23101,6 +23110,7 @@
\DeclareTextCommand{\vavyod}{PU}{\85\361}% U+05F1
% U+05F2 HEBREW LIGATURE YIDDISH DOUBLE YOD
\DeclareTextCommand{\doubleyod}{PU}{\85\362}% U+05F2
+\fi
% \end{macrocode}
%
% \subsubsection{Thai: U+0E00 to U+0E7F}
diff --git a/macros/latex/contrib/hyperref/hyperref.ins b/macros/latex/contrib/hyperref/hyperref.ins
index d8cc5275b1..43b531fba5 100644
--- a/macros/latex/contrib/hyperref/hyperref.ins
+++ b/macros/latex/contrib/hyperref/hyperref.ins
@@ -7,7 +7,7 @@
%% 1995-2001 Sebastian Rahtz, with portions written by David Carlisle and Heiko Oberdiek
%% 2001-2015 Heiko Oberdiek
%% 2016-2019 Oberdiek Package Support Group
-%% 2019-2021 LaTeX3 Project
+%% 2019-2021 LaTeX Project
%% https://github.com/latex3/hyperref/issues
%%
%% This file is part of the `Hyperref Bundle'.
diff --git a/macros/latex/contrib/hyperref/manifest.txt b/macros/latex/contrib/hyperref/manifest.txt
index 818a27d6a9..3998d8c1d3 100644
--- a/macros/latex/contrib/hyperref/manifest.txt
+++ b/macros/latex/contrib/hyperref/manifest.txt
@@ -3,6 +3,8 @@
hyperref.dtx
Main package with various drivers.
+hluatex.dtx
+ luatex back end for hyperref.
backref.dtx
Bibliographical back referencing.
nameref.dtx
@@ -15,9 +17,9 @@ hyperref.ins
Docstrip batch file.
minitoc-hyper.sty
- Patched version of `minitoc.sty' to work with `hyperref.sty'.
+ Obsolete, now just calls minitoc.
ntheorem-hyper.sty
- Patched version of `ntheorem.sty' to work with `hyperref.sty'.
+ Obsolete, now just calls ntheorem.
xr-hyper.sty
Patched version of `xr.sty' to work with `hyperref.sty'.
@@ -54,6 +56,7 @@ htexture.def
hdvipson.def
hdvips.def
hpdftex.def
+hluatex.def
hdviwind.def
htex4ht.def
hvtex.def
@@ -71,10 +74,9 @@ psdextra.def
% Directory doc/
% =============
-manual.pdf
- Manual, but a little out of date.
-manual.html, manual[2-6].html, manual.css,
-cmsy10-21.gif, cmmi10-22.gif
+hyperref-doc.pdf
+ Hyperref manual
+hyperref-doc.html, hyperref-doc[2-7].html, hyperref-doc.css,
HTML version of the manual.
paper.pdf
Online version of paper for Heiko Oberdiek's talk
diff --git a/macros/latex/contrib/hyperref/minitoc-hyper.sty b/macros/latex/contrib/hyperref/minitoc-hyper.sty
index 4e2e66fa05..9efb3a3ebd 100644
--- a/macros/latex/contrib/hyperref/minitoc-hyper.sty
+++ b/macros/latex/contrib/hyperref/minitoc-hyper.sty
@@ -1,4 +1,4 @@
-% Copyright 2020 LaTeX3 Project
+% Copyright 2020 The LaTeX Project
% Licence LPPL: https://www.latex-project.org/lppl/lppl-1-3c.txt
\ProvidesPackage{minitoc-hyper}[2020/01/14]
\PackageWarningNoLine{minitoc-hyper}{%
diff --git a/macros/latex/contrib/hyperref/nameref.dtx b/macros/latex/contrib/hyperref/nameref.dtx
index ec02e2eceb..adc41b8fdc 100644
--- a/macros/latex/contrib/hyperref/nameref.dtx
+++ b/macros/latex/contrib/hyperref/nameref.dtx
@@ -4,7 +4,7 @@
%% 2000 Sebastian Rahtz, Heiko Oberdiek
%% 2001-2012 Heiko Oberdiek
%% 2016-2019 Oberdiek Package Suport Group
-%% 2019-2021 The LaTeX3 Project
+%% 2019-2021 The LaTeX Project
%% https://github.com/latex3/hyperref/issues
%%
%% This file is part of the `Hyperref Bundle'.
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is The LaTeX3 Project.
+%% The Current Maintainer of this work is The LaTeX Project.
%%
%% The list of all files belonging to the `Hyperref Bundle' is
%% given in the file `manifest.txt'.
@@ -57,7 +57,7 @@
}%
\author{Sebastian Rahtz (deceased)\\%
Heiko Oberdiek (inactive)\\%
- The \LaTeX3 Project\\%
+ The \LaTeX\ Project\\%
\texttt{https://github.com/latex3/hyperref/issues}}%
\date{\filedate}%
\maketitle
diff --git a/macros/latex/contrib/hyperref/ntheorem-hyper.sty b/macros/latex/contrib/hyperref/ntheorem-hyper.sty
index 1db77c3170..dcdd59167e 100644
--- a/macros/latex/contrib/hyperref/ntheorem-hyper.sty
+++ b/macros/latex/contrib/hyperref/ntheorem-hyper.sty
@@ -1,920 +1,7 @@
-%%
-%% This is file `ntheorem.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% ntheorem.dtx (with options: `package')
-%%
-%%
-%% ### WARNING: =============================================================
-%%
-%% This file is a patched version that works (it seems) with hyperref.
-%% Hyperref's \contentsline version breaks with ntheorem because it puts 3
-%% arguments in the text field (e.g.: \contentsline{def}{{def}{1}{foo}}{21})
-%%
-%% To work around the problem, the following steps are implemented:
-%% 1/ Don't use hyperref's contentsline: restore the normal definition at the
-%% beginning of \thm@processlist.
-%% 2/ Let the different versions of \thm@@thmline take a 5th argument, the one
-%% provided by hyperref.
-%% 3/ Let \thm@lgobble take a 3rd argument, the one provided by hyperref.
-%% 4/ Do the hyperlinks manually in the different versions of \thm@@thmline
-%%
-%% You'll find comments starting with `%%DV' around my changes in the code.
-%%
-%%
-%% Didier Verna <verna@inf.enst.fr>
-%%
-%% ==========================================================================
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
-%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from ntheorem.sty.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file ntheorem.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-\def\filedate{1998/12/03}
-\def\docdate{1998/12/03}
-\def\fileversion{1.14}
-\def\basename{ntheorem-hyper}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-\typeout{Style `\basename', Version \fileversion\space <\filedate>}
-\ProvidesPackage{ntheorem-hyper}[\filedate \space\fileversion]
-\newif\if@thmmarks\@thmmarksfalse
-\newif\ifthm@tempif
-\DeclareOption{thmmarks}{%*********************************
-\PackageInfo{\basename}{Option `thmmarks' loaded}%
-\@thmmarkstrue
-\newcounter{endNonectr}
-\newcounter{currNonectr}
-\newif\ifsetendmark\setendmarktrue
-\gdef\endtrivlist{%
- \@endtrivlist{\PotEndMark{\hbox{}\nobreak\hfill\nobreak}}}
-\gdef\@endtrivlist#1{% % from \endtrivlist
- \if@inlabel \indent\fi
- \if@newlist \@noitemerr\fi
- \ifhmode
- \ifdim\lastskip >\z@ #1\unskip \par %<<<<<<<<<<<<<<<<<<<<<<
- \else \unskip \par \fi
- \fi
- \if@noparlist \else
- \ifdim\lastskip >\z@
- \@tempskipa\lastskip \vskip -\lastskip
- \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
- \vskip\@tempskipa
- \fi
- \@endparenv
- \fi}
-\gdef\SetMark@endeqn{\quad}% as default, cf. option leqno
-\gdef\endequation{\eqno \hbox{\@eqnnum \PotEndMark{\SetMark@endeqn}}%
- $$\global\@ignoretrue}
-\gdef\[{%
- \relax\ifmmode
- \@badmath
- \else
- \ifvmode
- \nointerlineskip
- \makebox[.6\linewidth]%
- \fi
- $$\stepcounter{end\InTheoType ctr}%
- \@ifundefined{mark\roman{curr\InTheoType ctr}%
- \InTheoType\roman{end\InTheoType ctr}}{\relax}%
- {\ifx\csname\InTheoType Symbol\endcsname\@empty\else
- \boxmaxdepth=.5ex\begin{array}[b]{l}%
- \boxmaxdepth=\maxdimen\displaystyle\fi}%
- \addtocounter{end\InTheoType ctr}{-1}%
- %%$$ BRACE MATCH HACK
- \fi}
-\gdef\]{%
- \stepcounter{end\InTheoType ctr}%
- \@ifundefined{mark\roman{curr\InTheoType ctr}%
- \InTheoType\roman{end\InTheoType ctr}}{\relax}%
- {\ifx\csname\InTheoType Symbol\endcsname\@empty\else
- \end{array}\fi}%
- \addtocounter{end\InTheoType ctr}{-1}%
- \relax\ifmmode
- \ifinner
- \@badmath
- \else
- \PotEndMark{\eqno}\global\@ignoretrue$$%%$$ BRACE MATCH HACK
- \fi
- \else
- \@badmath
- \fi
- \ignorespaces}
-\gdef\SetMark@endeqnarray#1{\llap{\raisebox{-1.3em}{#1}}}
-\gdef\endeqnarray{%
- \global\let\Oldeqnnum=\@eqnnum
- \gdef\@eqnnum{\Oldeqnnum\PotEndMark{\SetMark@endeqnarray}}%
- \@@eqncr
- \egroup
- \global\advance\c@equation\m@ne
- $$\global\@ignoretrue
- \global\let\@eqnnum\Oldeqnnum}
-\@namedef{endeqnarray*}{%
- % from \@@eqncr:
- \let\reserved@a\relax
- \ifcase\@eqcnt \def\reserved@a{& & &}\or \def\reserved@a{& &}%
- \or \def\reserved@a{&}\else
- \let\reserved@a\@empty
- \@latex@error{Too many columns in eqnarray environment}\@ehc\fi
- \reserved@a {\normalfont \normalcolor \PotEndMark{}}%
- \global\@eqnswtrue\global\@eqcnt\z@\cr
- %
- \egroup
- \global\advance\c@equation\m@ne
- $$\global\@ignoretrue}
-\gdef\endtabbing{%
- \PotEndMark{\`}\@stopline\ifnum\@tabpush >\z@ \@badpoptabs
- \fi\endtrivlist}
-\gdef\endcenter{%
- \@endtrivlist
- {\PotEndMark{\rightskip0pt%
- \settowidth{\leftskip}%
- { \csname mark\roman{curr\InTheoType ctr}\InTheoType
- \roman{end\InTheoType ctr}\endcsname}%
- \advance\leftskip\@flushglue\hskip\@flushglue}}}
-\gdef\@empty{}
-\gdef\@endtheorem{%
- \expandafter
- \ifx\csname\InTheoType Symbol\endcsname\@empty\setendmarkfalse\fi
- \@endtrivlist
- {\ifsetendmark
- \hbox{}\nobreak\hfill\nobreak\csname\InTheoType Symbol\endcsname
- \setendmarkfalse \fi}%
- \ifsetendmark\OrganizeTheoremSymbol\else\global\setendmarktrue\fi}
-\gdef\NoEndMark{\global\setendmarkfalse}
-\gdef\qed{\expandafter\def\csname \InTheoType Symbol\endcsname
- {\the\qedsymbol}}%
-\gdef\PotEndMark#1{\SetEndMark{\InTheoType}{#1}}%
-\gdef\SetEndMark#1#2{%
- \stepcounter{end#1ctr}%
- \@ifundefined{mark\roman{curr#1ctr}#1\roman{end#1ctr}}%
- {\relax}%
- {#2{\csname mark\roman{curr#1ctr}#1\roman{end#1ctr}\endcsname}}}%
-\newskip\mysavskip
-\gdef\@bbsphack{%
- \mysavskip\lastskip
- \unskip}
-\gdef\@eesphack{%
- \ifdim\mysavskip>\z@
- \vskip\mysavskip \else\fi}
-%% \begin{macrocode}
-\gdef\OrganizeTheoremSymbol{%
- \@bbsphack
- \edef\thm@tmp{\expandafter\expandafter\expandafter\thm@meaning
- \expandafter\meaning\csname\InTheoType Symbol\endcsname\relax}%
- \protected@write\@auxout{}%
- {\string\global\string\def\string\mark%
- \roman{curr\InTheoType ctr}\InTheoType \roman{end\InTheoType ctr}%
- {\thm@tmp}}%
- \@eesphack}
-} % end of option [thmmarks]
-\DeclareOption{leqno}{%
- \if@thmmarks
- \PackageInfo{\basename}{Option `leqno' loaded}%
- \gdef\SetMark@endeqn#1{\hss\llap{#1}}
- \gdef\SetMark@endeqnarray#1{\hss\llap{#1}}
- \fi}%
-\DeclareOption{fleqn}{%
-\if@thmmarks
- \PackageInfo{\basename}{Option `fleqn' loaded}%
- \renewcommand\[{\relax
- \ifmmode\@badmath
- \else
- \begin{trivlist}%
- \@beginparpenalty\predisplaypenalty
- \@endparpenalty\postdisplaypenalty
- \item[]\leavevmode
- \hb@xt@\linewidth\bgroup $\m@th\displaystyle %$
- \hskip\mathindent\bgroup
- \stepcounter{end\InTheoType ctr}%
- \@ifundefined{mark\roman{curr\InTheoType ctr}%
- \InTheoType\roman{end\InTheoType ctr}}{\relax}%
- {\ifx\csname\InTheoType Symbol\endcsname\@empty\else
- \boxmaxdepth=.5ex\begin{array}[b]{l}%
- \boxmaxdepth=\maxdimen\displaystyle\fi}%
- \addtocounter{end\InTheoType ctr}{-1}%
- \fi}
- \renewcommand\]{%
- \stepcounter{end\InTheoType ctr}%
- \@ifundefined{mark\roman{curr\InTheoType ctr}%
- \InTheoType\roman{end\InTheoType ctr}}{\relax}%
- {\ifx\csname\InTheoType Symbol\endcsname\@empty\else
- \end{array}\fi}%
- \addtocounter{end\InTheoType ctr}{-1}%
- \relax\ifmmode
- \egroup $\hfil\PotEndMark{}% $
- \egroup
- \end{trivlist}%
- \else \@badmath
- \fi}
-\gdef\endequation{%
- $\hfil % $
- \displaywidth\linewidth\hbox{\@eqnnum \PotEndMark{\SetMark@endeqn}}%
- \egroup
- \endtrivlist}
-\gdef\endeqnarray{%
- \global\let\Oldeqnnum=\@eqnnum
- \gdef\@eqnnum{\Oldeqnnum\PotEndMark{\SetMark@endeqnarray}}%
- \@@eqncr
- \egroup
- \global\advance\c@equation\m@ne$$% $$
- \global\@ignoretrue
- \global\let\@eqnnum\Oldeqnnum}
-\fi}% end of option fleqn
-\DeclareOption{amsmath}{%
-\if@thmmarks
- \PackageInfo{\basename}{Option `amsmath' loaded}%
-\newdimen\thm@amstmpdepth
-\gdef\TagsPlusEndmarks{%
- \global\let\Old@maketag@@@=\maketag@@@
- \global\let\Old@df@tag=\df@tag
- \if@eqnsw\SetTagPlusEndMark\else
- \iftag@\SetTagPlusEndMark
- \else\SetOnlyEndMark
- \fi\fi}
-\gdef\SetOnlyEndMark{%
- \global\tag@true
- \iftagsleft@
- \gdef\df@tag{\hbox
- to \displaywidth{\hss\PotEndMark{\maketag@@@}}}%
- \else
- \gdef\df@tag{\PotEndMark{\maketag@@@}}%
- \fi}
-\gdef\SetTagPlusEndMark{%
- \iftagsleft@
- \gdef\maketag@@@##1{%
- \hbox to \displaywidth{\m@th\normalfont##1%
- \PotEndMark{\hss}}}%
- \else
- \gdef\maketag@@@##1{\hbox{\m@th\normalfont##1%
- \llap{\hss\PotEndMark{\raisebox{-1.3em}}}}}%
- \fi}
-\gdef\RestoreTags{%
- \global\let\maketag@@@=\Old@maketag@@@
- \global\let\df@tag=\Old@df@tag}
-\gdef\endgather{%
- \TagsPlusEndmarks % <<<<<<<<<
- \math@cr
- \black@\totwidth@
- \egroup
- $$%
- \RestoreTags % <<<<<<<<<
- \global\@ignoretrue}
-\expandafter\let\csname endgather*\endcsname\endgather
-\def\endalign{%
- \ifingather@\else % <<<<<<<<<
- \TagsPlusEndmarks\fi % <<<<<<<<<
- \math@cr
- \black@\totwidth@
- \egroup
- \ifingather@
- \restorealignstate@
- \egroup
- \nonumber
- \ifnum0=`{\fi}%
- \else
- $$%
- \RestoreTags % <<<<<<<<<
- \fi
- \global\@ignoretrue}
-\expandafter\let\csname endalign*\endcsname\endalign
-\let\endxalignat\endalign
-\expandafter\let\csname endxalignat*\endcsname\endalign
-\let\endxxalignat\endalign
-\let\endalignat\endalign
-\expandafter\let\csname endalignat*\endcsname\endalign
-\let\endflalign\endalign
-\expandafter\let\csname endflalign*\endcsname\endalign
-\def\lendmultline@{%
- \@eqnswfalse\tag@true\tagsleft@false
- \rendmultline@}
-\def\rendmultline@{%
- \TagsPlusEndmarks % <<<<<<<<<
- \iftag@
- \begingroup
- \ifshifttag@
- \hskip\multlinegap
- \llap{\vtop{%
- \raise@tag
- \normalbaselines
- \setbox\@ne\null
- \dp\@ne\lineht@
- \box\@ne
- \hbox{\strut@\make@display@tag}%
- }}%
- \else
- \hskip\multlinetaggap
- \make@display@tag
- \fi
- \endgroup
- \else
- \hskip\multlinegap
- \fi
- \hfilneg
- \math@cr
- \egroup$$%
- \RestoreTags} % <<<<<<<<<
-\def\[{%
- \relax\ifmmode% \RIfM@ <<<<<<<<<<<<<<<<<<<<<<<<<<<<
- \@badmath
- \else
- \DN@{%
- $$%
- \ingather@true
- \inany@true
- \def\\{\@amsmath@err{\Invalid@@\\}\@eha}%
- \tabskip\@mathmargin
- \halign to \displaywidth\bgroup
- \if@fleqn\else\hfil\fi
- \setboxz@h{$\m@th\displaystyle{####}$}%
- \global\totwidth@\wdz@
- \global\thm@amstmpdepth\dp0% <<<<<<<<<<<<
- \boxz@
- \tabskip 0pt plus 1000pt%<<<<<<<<<<<<<<
- & ####% <<<<<<<<<<<<<<<<<<<<<<<<
- \tabskip 0pt%
- \cr
- }%
- \@xp\next@
- \fi}
-\def\]{%
- \relax\ifmmode% \RIfM@ <<<<<<<<<<
- \DN@{%
- \PotEndMark{&\raisebox{-\thm@amstmpdepth}}% <<<<<<<<<
- \crcr
- \black@\totwidth@
- \egroup
- $$%
- }%
- \@xp\next@
- \else
- \@badmath
- \fi}
-\def\equation{\gather\def\\{\@amsmath@err{\Invalid@@\\}\@eha}}
-\def\endequation{\endgather}
-\renewenvironment{equation*}{\equation}{\nonumber\endequation}
-\else\PackageError{\basename}{Option amsmath cannot be used without
- option thmmarks.}\@eha
-\fi
-}% end of option amsmath
-\let\thm@usestd\@undefined
-\DeclareOption{standard}{\let\thm@usestd\relax}
-\let\thm@noconfig\@undefined
-\DeclareOption{noconfig}{\let\thm@noconfig\relax}
-\gdef\InTheoType{None}
-\def\output@None{None}
-\def\None{None}
-\gdef\newtheoremstyle#1#2#3{%
- \expandafter\@ifundefined{th@#1}%
- {\expandafter\gdef\csname th@#1\endcsname{%
- \def\@begintheorem####1####2{#2}%
- \def\@opargbegintheorem####1####2####3{#3}}}%
- {\PackageError{\basename}{Theorem style #1 already defined}\@eha}}
-\gdef\renewtheoremstyle#1#2#3{%
- \expandafter\@ifundefined{th@#1}%
- {\PackageError{\basename}{Theorem style #1 undefined}\@ehc}%
- {}%
- \expandafter\let\csname th@#1\endcsname\relax
- \newtheoremstyle{#1}{#2}{#3}}
-\newtheoremstyle{plain}%
- {\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]}%
- {\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ (##3)\theorem@separator]}
-\newtheoremstyle{break}%
- {\item\hbox to \textwidth{\theorem@headerfont ##1\
- ##2\theorem@separator\hfill}}%
- {\item\hbox to \textwidth{\theorem@headerfont ##1\ ##2\
- (##3)\theorem@separator\hfill}}
-\newtheoremstyle{change}%
- {\item[\hskip\labelsep \theorem@headerfont ##2\ ##1\theorem@separator]}%
- {\item[\hskip\labelsep \theorem@headerfont ##2\ ##1\ (##3)\theorem@separator]}
-\newtheoremstyle{changebreak}%
- {\item\hbox to \textwidth{\theorem@headerfont ##2\
- ##1\theorem@separator\hfill}}%
- {\item\hbox to \textwidth{\theorem@headerfont ##2\ ##1\
- (##3)\theorem@separator\hfill}}
-\newtheoremstyle{margin}%
- {\item[\theorem@headerfont \llap{##2}\hskip\labelsep ##1\theorem@separator]}%
- {\item[\theorem@headerfont \llap{##2}\hskip\labelsep ##1\ (##3)\theorem@separator]}
-\newtheoremstyle{marginbreak}%
- {\item\hbox to \textwidth{\theorem@headerfont \llap{##2}\hskip\labelsep
- ##1\theorem@separator\hfill}}%
- {\item\hbox to \textwidth{\theorem@headerfont
- \llap{##2}\hskip\labelsep
- ##1\ (##3)\theorem@separator\hfill}}
-\newtheoremstyle{nonumberplain}%
- {\item[\theorem@headerfont\hskip\labelsep ##1\theorem@separator]}%
- {\item[\theorem@headerfont\hskip \labelsep ##1\ (##3)\theorem@separator]}
-\newtheoremstyle{nonumberbreak}%
- {\item\hbox to \textwidth{\theorem@headerfont\hskip\labelsep
- ##1\theorem@separator\hfill}}%
- {\item\hbox to \textwidth{\theorem@headerfont\hskip\labelsep
- ##1\ (##3)\theorem@separator\hfill}}
-\newtheoremstyle{empty}%
- {\item~\hfill}%
- {\item\hbox to \textwidth{\theorem@headerfont##3\hfill}}
-\@namedef{th@nonumbermargin}{\th@nonumberplain}
-\@namedef{th@nonumberchange}{\th@nonumberplain}
-\@namedef{th@nonumbermarginbreak}{\th@nonumberbreak}
-\@namedef{th@nonumberchangebreak}{\th@nonumberbreak}
-\@namedef{th@plainNo}{\th@nonumberplain}
-\@namedef{th@breakNo}{\th@nonumberplain}
-\@namedef{th@marginNo}{\th@nonumberplain}
-\@namedef{th@changeNo}{\th@nonumberplain}
-\@namedef{th@marginbreakNo}{\th@nonumberbreak}
-\@namedef{th@changebreakNo}{\th@nonumberbreak}
-\gdef\theoremstyle#1{%
- \@ifundefined{th@#1}{\@warning
- {Unknown theoremstyle `#1'. Using `plain'}%
- \theorem@style{plain}}%
- {\theorem@style{#1}}}
-\newtoks\theorem@style
-\newtoks\theorem@@style
-\global\theoremstyle{plain}
-\newtoks\theorembodyfont
-\global\theorembodyfont{\itshape}
-\newtoks\theoremnumbering
-\global\theoremnumbering{arabic}
-\newskip\theorempreskipamount
-\newskip\theorempostskipamount
-\global\theorempreskipamount\topsep
-\global\theorempostskipamount\topsep
-\newdimen\theoremindent
-\global\theoremindent0cm
-\newdimen\theorem@indent
-\newtoks\theoremheaderfont
-\global\theoremheaderfont{\normalfont\bfseries}
-\def\theorem@headerfont{\normalfont\bfseries}
-\newtoks\theoremseparator
-\global\theoremseparator{}
-\def\theorem@separator{}
-\newtoks\theoremsymbol
-\global\theoremsymbol{}
-\newtoks\qedsymbol
-\global\qedsymbol{}
-\DeclareOption{amsthm}{%
- \PackageInfo{\basename}{Option `amsthm' loaded}%
-\def\swapnumbers{\PackageError{\basename}{swapnumbers not implemented.
- Use theoremstyle change instead.}\@eha}
-
-\gdef\th@plain{%
- \def\theorem@headerfont{\normalfont\bfseries}\itshape%
- \def\@begintheorem##1##2{%
- \item[\hskip\labelsep \theorem@headerfont ##1\ ##2.]}%
- \def\@opargbegintheorem##1##2##3{%
- \item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ (##3).]}}
-\gdef\th@nonumberplain{%
- \def\theorem@headerfont{\normalfont\bfseries}\itshape%
- \def\@begintheorem##1##2{%
- \item[\hskip\labelsep \theorem@headerfont ##1.]}%
- \def\@opargbegintheorem##1##2##3{%
- \item[\hskip\labelsep \theorem@headerfont ##1\ (##3).]}}
-\gdef\th@definition{%
- \th@plain\def\theorem@headerfont{\normalfont\bfseries}\itshape}
-\gdef\th@nonumberdefinition{%
- \th@nonumberplain\def\theorem@headerfont{\normalfont\bfseries}\itshape}
-\gdef\th@remark{%
- \th@plain\def\theorem@headerfont{\itshape}\normalfont}
-\gdef\th@nonumberremark{%
- \th@nonumberplain\def\theorem@headerfont{\itshape}\normalfont}
-\newcounter{proof}%
-\if@thmmarks
- \newcounter{currproofctr}%
- \newcounter{endproofctr}%
-\fi
-\newcommand{\openbox}{\leavevmode
- \hbox to.77778em{%
- \hfil\vrule
- \vbox to.675em{\hrule width.6em\vfil\hrule}%
- \vrule\hfil}}
-\gdef\proofSymbol{\openbox}
-\newcommand{\proofname}{Proof}
-\newenvironment{proof}[1][\proofname]{
- \th@nonumberplain
- \def\theorem@headerfont{\itshape}%
- \normalfont
- \theoremsymbol{\ensuremath{_\blacksquare}}
- \@thm{proof}{proof}{#1}}%
- {\@endtheorem}
-}% end of option amsthm
-\newskip\thm@topsepadd
-\gdef\newtheorem{%
- \@ifstar
- {\edef\@tempa{{nonumber\the\theorem@style}}%
- \expandafter\theorem@@style\@tempa}%
- {\edef\@tempa{{\the\theorem@style}}%
- \expandafter\theorem@@style\@tempa}%
- \@newtheorem}
-
-\gdef\renewtheorem{%
- \@ifstar
- {\edef\@tempa{{nonumber\the\theorem@style}}%
- \expandafter\theorem@@style\@tempa}%
- {\edef\@tempa{{\the\theorem@style}}%
- \expandafter\theorem@@style\@tempa}%
- \@renewtheorem}
-\gdef\@newtheorem#1{%
- \thm@tempiffalse
- \expandafter\@ifdefinable\csname #1\endcsname
- {\expandafter\@ifdefinable\csname #1*\endcsname
- {\thm@tempiftrue
- \thm@definelthm{#1}% for lists
- \if@thmmarks
- \expandafter\@ifundefined{c@curr#1ctr}%
- {\newcounter{curr#1ctr}}{}%
- \expandafter\@ifundefined{c@end#1ctr}%
- {\newcounter{end#1ctr}}{}%
- \fi
- \expandafter\xdef\csname #1Symbol\endcsname{\the\theoremsymbol}%
- \expandafter\gdef\csname#1\endcsname{%
- \let\thm@starredenv\@undefined
- \csname mkheader@#1\endcsname}%
- \expandafter\gdef\csname#1*\endcsname{%
- \let\thm@starredenv\relax
- \csname mkheader@#1\endcsname}%
- \def\@tempa{\expandafter\noexpand\csname end#1\endcsname}%
- \expandafter\xdef\csname end#1*\endcsname{\@tempa}%
- \expandafter\xdef\csname setparms@#1\endcsname
- {\noexpand \def \noexpand \theorem@headerfont
- {\the\theoremheaderfont\noexpand\theorem@checkbold}%
- \noexpand \def \noexpand \theorem@separator
- {\the\theoremseparator}%
- \noexpand \def \noexpand \theorem@indent
- {\the\theoremindent}%
- \the \theorembodyfont
- \noexpand\csname th@\the \theorem@@style \endcsname}}}%
- \@ifnextchar[{\@othm{#1}}{\@nthm{#1}}}% MUST NOT BE IN ANY IF !!!
-\gdef\@renewtheorem#1{%
- \expandafter\@ifundefined{#1}%
- {\PackageError{\basename}{Theorem style #1 undefined}\@ehc}%
- {}%
- \expandafter\let\csname #1\endcsname\relax
- \expandafter\let\csname #1*\endcsname\relax
- \newtheorem{#1}}
-\gdef\@nthm#1#2{%
- \expandafter\xdef\csname num@addtheoremline#1\endcsname{%
- \noexpand\@num@addtheoremline{#1}{#2}}%
- \expandafter\xdef\csname nonum@addtheoremline#1\endcsname{%
- \noexpand\@nonum@addtheoremline{#1}{#2}}%
- \expandafter\xdef\csname output@#1\endcsname{#2}%
- \@ifnextchar[{\@xnthm{#1}{#2}}{\@ynthm{#1}{#2}}}
-\gdef\@othm#1[#2]#3{%
- \@ifundefined{c@#2}{\@nocounterr{#2}}%
- {\ifthm@tempif
- \global\@namedef{the#1}{\@nameuse{the#2}}%
- \expandafter\xdef\csname num@addtheoremline#1\endcsname{%
- \noexpand\@num@addtheoremline{#1}{#3}}%
- \expandafter\xdef\csname nonum@addtheoremline#1\endcsname{%
- \noexpand\@nonum@addtheoremline{#1}{#3}}%
- \expandafter\xdef\csname output@#1\endcsname{#3}%
- \expandafter\gdef\csname mkheader@#1\endcsname
- {\csname setparms@#1\endcsname
- \@thm{#1}{#2}{#3}}%
- \global\@namedef{end#1}{\@endtheorem}\fi}}
-\gdef\@xnthm#1#2[#3]{%
- \ifthm@tempif
- \expandafter\@ifundefined{c@#1}%
- {\@definecounter{#1}}{}%
- \@newctr{#1}[#3]%
- \expandafter\xdef\csname the#1\endcsname{%
- \expandafter\noexpand\csname the#3\endcsname \@thmcountersep
- {\noexpand\csname\the\theoremnumbering\endcsname{#1}}}%
- \expandafter\gdef\csname mkheader@#1\endcsname
- {\csname setparms@#1\endcsname
- \@thm{#1}{#1}{#2}}%
- \global\@namedef{end#1}{\@endtheorem}\fi}
-\gdef\@ynthm#1#2{%
- \ifthm@tempif
- \expandafter\@ifundefined{c@#1}%
- {\@definecounter{#1}}{}%
- \expandafter\xdef\csname the#1\endcsname
- {\noexpand\csname\the\theoremnumbering\endcsname{#1}}%
- \expandafter\gdef\csname mkheader@#1\endcsname
- {\csname setparms@#1\endcsname
- \@thm{#1}{#1}{#2}}%
- \global\@namedef{end#1}{\@endtheorem}\fi}
-\gdef\@thm#1#2#3{%
- \if@thmmarks
- \stepcounter{end\InTheoType ctr}%
- \fi
- \renewcommand{\InTheoType}{#1}%
- \if@thmmarks
- \stepcounter{curr#1ctr}%
- \setcounter{end#1ctr}{0}%
- \fi
- \refstepcounter{#2}%
- \thm@topsepadd \theorempostskipamount % cf. latex.ltx: \@trivlist
- \ifvmode \advance\thm@topsepadd\partopsep\fi
- \trivlist
- \@topsep \theorempreskipamount
- \@topsepadd \thm@topsepadd % used by \@endparenv
- \advance\linewidth -\theorem@indent
- \advance\@totalleftmargin \theorem@indent
- \parshape \@ne \@totalleftmargin \linewidth
- \@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}}
-\def\@xthm#1#2#3{%
- \@begintheorem{#3}{\csname the#2\endcsname}%
- \ifx\thm@starredenv\@undefined
- \thm@thmcaption{#1}{{#3}{\csname the#2\endcsname}{}}\fi
- \ignorespaces}
-\def\@ythm#1#2#3[#4]{%
- \expandafter\global\expandafter\def\csname#1name\endcsname{#4}%
- \@opargbegintheorem{#3}{\csname the#2\endcsname}{#4}%
- \ifx\thm@starredenv\@undefined
- \thm@thmcaption{#1}{{#3}{\csname the#2\endcsname}{#4}}\fi%
- \ignorespaces}
-\DeclareOption{thref}{%*********************************
- \PackageInfo{\basename}{Option `thref' loaded}%
-\def\label#1{
- \@ifnextchar[%]
- {\label@optarg{#1}}%
- {\label@optarg{#1}%
- [\csname output@\InTheoType\endcsname]}}
-\def\label@optarg#1[#2]{\@bsphack
- \protected@write\@auxout{}%
- {\string\newlabel{#1}{{\@currentlabel}{\thepage}}[#2]}%
- \@esphack}
-\def\@newl@bel#1#2#3{%
- \@ifundefined{#1@#2}%
- \relax
- {\gdef \@multiplelabels {%
- \@latex@warning@no@line{There were multiply-defined labels}}%
- \@latex@warning@no@line{Label `#2' multiply defined}}%
- \global\@namedef{#1@#2}{#3}%
- \@ifnextchar[{\set@labeltype#1#2}{\relax}%]
- }
-\def\set@labeltype#1#2[#3]{\global\@namedef{#1@#2@type}{#3}}
-\@ifpackageloaded{babel}%
- {\message{ntheorem-babel adapation loaded}%
- \def\newlabel#1#2{%
- \@ifnextchar[{\nth@bbl@newlabel{#1}{#2}}%]
- {\nth@bbl@newlabel{#1}{#2}[None]}}%
- \def\nth@bbl@newlabel#1#2[#3]{%
- \@safe@activestrue\bbl@newlabel{#1}{#2}[#3]\@safe@activesfalse}}%
- \relax
-\def\thref#1{%
- \expandafter\ifx\csname r@#1@type\endcsname\None
- \PackageWarning{\basename}{thref: Reference Type of `#1' on page
- \thepage \space undefined}\G@refundefinedtrue
- \else\csname r@#1@type\endcsname~\fi%
- \expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
-}% end of option thref
-\def\thm@thmcaption#1#2{\thm@@thmcaption{#1}#2}
-\def\thm@@thmcaption#1#2#3#4{%
- \thm@parseforwriting{#4}%
- \edef\thm@t{{#2}{#3}{\thm@tmp}}%
- \addcontentsline{thm}{#1}{\thm@t}}
-\def\theoremlistall{%
- \let\thm@@thmlstart=\relax
- \let\thm@@thmlend=\relax
-%%DV Use a fith argument (supplied by hyperref) and do the links manually
- \def\thm@@thmline##1##2##3##4##5{%
- \ifx\\##5\\%
- \@dottedtocline{-2}{0em}{2.3em}%
- {\protect\numberline{##2}##3}%
- {##4}
- \else
- \ifhy@linktocpage
- \@dottedtocline{-2}{0em}{2.3em}%
- {\protect\numberline{##2}##3}%
- {\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
- \else
- \@dottedtocline{-2}{0em}{2.3em}%
- {\hyper@linkstart{link}{##5}{\protect\numberline{##2}##3}%
- \hyper@linkend}%
- {##4}
- \fi
- \fi}}
-%%DV \def\thm@@thmline##1##2##3##4{%
-%%DV \@dottedtocline{-2}{0em}{2.3em}%
-%%DV {\protect\numberline{##2}##3}%
-%%DV {##4}}}
-\def\theoremlistallname{%
- \let\thm@@thmlstart=\relax
- \let\thm@@thmlend=\relax
-%%DV Use a fith argument (supplied by hyperref) and do the links manually
- \def\thm@@thmline##1##2##3##4##5{%
- \ifx\\##5\\%
- \@dottedtocline{-2}{0em}{2.3em}%
- {##1 \protect\numberline{##2}##3}%
- {##4}
- \else
- \ifhy@linktocpage
- \@dottedtocline{-2}{0em}{2.3em}%
- {##1 \protect\numberline{##2}##3}%
- {\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
- \else
- \@dottedtocline{-2}{0em}{2.3em}%
- {\hyper@linkstart{link}{##5}%
- {##1 \protect\numberline{##2}##3}\hyper@linkend}%
- {##4}
- \fi
- \fi}}
-%%DV \def\thm@@thmline##1##2##3##4{%
-%%DV \@dottedtocline{-2}{0em}{2.3em}%
-%%DV {##1 \protect\numberline{##2}##3}%
-%%DV {##4}}}
-\def\theoremlistoptional{%
- \let\thm@@thmlstart=\relax
- \let\thm@@thmlend=\relax
-%%DV Use a fith argument (supplied by hyperref) and do the links manually
- \def\thm@@thmline##1##2##3##4##5{%
- \ifx\empty ##3%
- \else%
- \ifx\\##5\\%
- \@dottedtocline{-2}{0em}{2.3em}%
- {\protect\numberline{##2}##3}%
- {##4}
- \else
- \ifhy@linktocpage
- \@dottedtocline{-2}{0em}{2.3em}%
- {\protect\numberline{##2}##3}%
- {\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
- \else
- \@dottedtocline{-2}{0em}{2.3em}%
- {\hyper@linkstart{link}{##5}{\protect\numberline{##2}##3}%
- \hyper@linkend}%
- {##4}
- \fi
- \fi
- \fi}}
-%%DV \def\thm@@thmline##1##2##3##4{%
-%%DV \ifx\empty ##3%
-%%DV \else%
-%%DV \@dottedtocline{-2}{0em}{2.3em}%
-%%DV {\protect\numberline{##2}##3}%
-%%DV {##4}%
-%%DV \fi}}
-\def\theoremlistoptname{%
- \let\thm@@thmlstart=\relax
- \let\thm@@thmlend=\relax
-%%DV Use a fith argument (supplied by hyperref) and do the links manually
- \def\thm@@thmline##1##2##3##4##5{%
- \ifx\empty ##3%
- \else
- \ifx\\##5\\%
- \@dottedtocline{-2}{0em}{2.3em}%
- {##1 \protect\numberline{##2}##3}%
- {##4}
- \else
- \ifhy@linktocpage
- \@dottedtocline{-2}{0em}{2.3em}%
- {##1 \protect\numberline{##2}##3}%
- {\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
- \else
- \@dottedtocline{-2}{0em}{2.3em}%
- {\hyper@linkstart{link}{##5}%
- {##1 \protect\numberline{##2}##3}\hyper@linkend}%
- {##4}
- \fi
- \fi
- \fi}}
-%%DV \def\thm@@thmline##1##2##3##4{%
-%%DV \ifx\empty ##3%
-%%DV \else%
-%%DV \@dottedtocline{-2}{0em}{2.3em}%
-%%DV {##1 \protect\numberline{##2}##3}%
-%%DV {##4}%
-%%DV \fi}}
-\theoremlistall
-\def\theoremlisttype#1{%
- \@ifundefined{thm@thml@#1}%
- {\PackageError{\basename}{Listtype #1 not defined}\@eha}
- {\csname thm@thml@#1\endcsname}}
-\def\thm@thml@all{\theoremlistall}
-\def\thm@thml@opt{\theoremlistoptional}
-\def\thm@thml@optname{\theoremlistoptname}
-\def\thm@thml@allname{\theoremlistallname}
-\def\newtheoremlisttype#1#2#3#4{%
- \@ifundefined{thm@thml@#1}%
- {\expandafter\gdef\csname thm@thml@#1\endcsname{%
- \def\thm@@thmlstart{#2}%
- \def\thm@@thmline####1####2####3####4{#3}%
- \def\thm@@thmlend{#4}}%
- }{\PackageError{\basename}{list type #1 already defined}\@eha}}
-\def\renewtheoremlisttype#1#2#3#4{%
- \@ifundefined{thm@thml@#1}%
- {\PackageError{\basename}{List type #1 not defined}\@ehc}{}%
- \expandafter\let\csname thm@thml@#1\endcsname\relax
- \newtheoremlisttype{#1}{#2}{#3}{#4}}
-%%DV Use a third argument (supplied by hyperref)
-\def\thm@thmline#1#2#3{\thm@@thmline#1{#2}{#3}}
-%%DV\def\thm@thmline#1#2{\thm@@thmline#1{#2}}
-%%DV Use a third argument (supplied by hyperref)
-\long\def\thm@lgobble#1#2#3{\ignorespaces}
-%%DV\long\def\thm@lgobble#1#2{\ignorespaces}
-\def\thm@definelthm#1{%
- \expandafter\gdef\csname l@#1\endcsname{\thm@lgobble}%
- \expandafter\gdef\csname thm@listdo#1\endcsname{\thm@lgobble}}
-\long\def\thm@inlistdo#1#2{#2}%
-\def\listtheorems#1{\begingroup%
- \c@tocdepth=-2%
- \def\thm@list{#1}\thm@processlist%
- \endgroup}
-\def\thm@processlist{%
- \begingroup%
- \typeout{** Generating table of \thm@list}%
-%%DV: don't use hyperref's \contentsline !! Use the normal definition.
- \def\contentsline##1{\csname l@##1\endcsname}
- \thm@@thmlstart
- \@for\thm@currentlist:=\thm@list\do{%
- \ifx\thm@currentlist\@empty\else%
- \expandafter\gdef\csname l@\thm@currentlist\endcsname{\thm@thmline}%
- \expandafter\gdef\csname thm@listdo\thm@currentlist\endcsname{\thm@inlistdo}%
- \fi%
- }%
- \@input{\jobname .thm}%
- \thm@@thmlend%
- \@for\thm@currentlist:=\thm@list\do{%
- \ifx\thm@currentlist\@empty\else%
- \expandafter\gdef\csname l@\thm@currentlist\endcsname{\thm@lgobble}%
- \expandafter\gdef\csname thm@listdo\thm@currentlist\endcsname{\thm@lgobble}%
- \fi%
- }%
- \endgroup}
-\def\thm@enablelistoftheorems{%
- \begingroup%
- \makeatletter%
- \if@filesw%
- \expandafter\newwrite\csname tf@thm\endcsname%
- \immediate\openout \csname tf@thm\endcsname \jobname.thm\relax%
- \fi%
- \@nobreakfalse%
- \endgroup}
-\def\addtheoremline{\@ifstar{\nonum@addtheoremline}{\num@addtheoremline}}
-\def\nonum@addtheoremline#1{\csname nonum@addtheoremline#1\endcsname}%
-\def\num@addtheoremline#1{\csname num@addtheoremline#1\endcsname}%
-\def\@nonum@addtheoremline#1#2#3{%
- \thm@parseforwriting{#3}%
- \edef\thm@t{{#2}{}{\thm@tmp}}%
- \addcontentsline{thm}{#1}{\thm@t}}
-\def\@num@addtheoremline#1#2#3{%
- \thm@parseforwriting{#3}%
- \edef\thm@t{{#2}{\csname the#1\endcsname}{\thm@tmp}}%
- \addcontentsline{thm}{#1}{\thm@t}}
-\long\def\addtotheoremfile{%
- \@ifnextchar[{\@@addtotheoremfile}{\@addtotheoremfile}}
-\long\def\@addtotheoremfile#1{%
- \thm@parseforwriting{#1}%
- \protected@write\@auxout%
- {}{\string\@writefile{thm}{\thm@tmp}}}
-\long\def\@@addtotheoremfile[#1]#2{%
- \thm@parseforwriting{#2}%
- \protected@write\@auxout%
- {}{\string\@writefile{thm}{\string\theoremlistdo{#1}{\thm@tmp}}}}
-\long\def\theoremlistdo#1#2{\csname thm@listdo#1\endcsname{#1}{#2}}
-\AtEndDocument{\thm@enablelistoftheorems}
-\def\thm@meaning#1->#2\relax{#2}% remove "macro:->"
-\long\def\thm@parseforwriting#1{%
- \def\thm@tmp{#1}%
- \edef\thm@tmp{\expandafter\thm@meaning\meaning\thm@tmp\relax}}
-\def\theorem@checkbold{\if b\expandafter\@car\f@series\@nil\boldmath\fi}
-\def\@greek#1{\theorem@checkbold%
- \ifcase#1\or$\alpha$\or$\beta$\or$\gamma$\or$\delta$\or$\varepsilon$%
- \or$\zeta$\or$\eta$\or$\vartheta$\or$\iota$\or$\kappa$\or$\lambda$\or$%
- \mu$\or$\nu$\or$\xi$\or$ o$\or$\varpi$\or$\varrho$\or$\varsigma$\or$\tau$%
- \or$\upsilon$\or$\varphi$\or$\chi$\or$\psi$\or$\omega$\else\@ctrerr\fi}
-\def\@Greek#1{\theorem@checkbold%
- \ifcase#1\or A\or B\or$\Gamma$\or$\Delta$\or E%
- \or Z\or H\or$\Theta$\or I\or K\or$\Lambda$\or M%
- \or N\or$\Xi$\or O\or$\Pi$\or P\or$\Sigma$\or T%
- \or$\Upsilon$\or$\Phi$\or X\or$\Psi$\or$\Omega$\else\@ctrerr\fi}
-\def\greek#1{\@greek{\csname c@#1\endcsname}}
-\def\Greek#1{\@Greek{\csname c@#1\endcsname}}
-\ProcessOptions\relax
-\ifx\thm@noconfig\@undefined
-\InputIfFileExists{ntheorem.cfg}%
- {\PackageInfo{\basename}{Local config file ntheorem.cfg used}}%
- {\ifx\thm@usestd\@undefined%
- \else%
- \InputIfFileExists{ntheorem.std}%
- {\PackageInfo{\basename}{Standard config file ntheorem.std used}}{}
- \fi}
-\fi
-\endinput
-%%
-%% End of file `ntheorem.sty'.
+% Copyright 2021 The LaTeX Project
+% Licence LPPL: https://www.latex-project.org/lppl/lppl-1-3c.txt
+\ProvidesPackage{ntheorem-hyper}[2021/02/07]
+\PackageWarningNoLine{ntheorem-hyper}{%
+This package is obsolete,\MessageBreak
+please use ntheorem instead}
+\RequirePackage{ntheorem}
diff --git a/macros/latex/contrib/hyperref/xr-hyper.sty b/macros/latex/contrib/hyperref/xr-hyper.sty
index 369f0bea06..a18ca9dc41 100644
--- a/macros/latex/contrib/hyperref/xr-hyper.sty
+++ b/macros/latex/contrib/hyperref/xr-hyper.sty
@@ -29,7 +29,7 @@
%% Unless a package redefines \XR@addfile, the optional URL argument
%% will be ignored.
%%
-%% This version (beta2) also has another improvement unrelated
+%% Version beta2 also added another improvement unrelated
%% to the hyperref support. Olivier Michel pointed out that
%% if the aux file was not on texinputs you could not always go
%% \externaldocument{/some/path/to/file}
@@ -59,26 +59,9 @@
%% \ref to avoid generating a hyperlink.
%%
%%
-%% History
-%%
-%% 1997/10/06 v6.00beta2
-%%
-%% 1999/09/01 v6.00beta3
-%% Definitions of \XR@addURL corrected (Heiko Oberdiek).
-%%
-%% 2000/03/22 v6.00beta4
-%% \xdef changed to \protected@xdef.
-%%
-%% 2019/10/03 v6.1
-%% Incorporate updates to xr (including citation support)
-%%
-%% 2020-05-14 v7.00e
-%% add additional braces to \r@ only if hyperref is not detected in the aux
-%% of the source document (https://github.com/latex3/hyperref/issues/118)
-%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xr-hyper}
- [2021-02-04 v7.00g eXternal References (DPC)]
+ [2021-02-07 v7.00h eXternal References (DPC)]
\def\externaldocument{\@testopt\XR@cite{}}
\let\externalcitedocument\externaldocument
@@ -168,3 +151,22 @@
\endinput
%%
%% End of file `xr-hyper.sty'.
+
+
+%% History
+%%
+%% 1997/10/06 v6.00 beta2
+%%
+%% 1999/09/01 v6.00 beta3
+%% Definitions of \XR@addURL corrected (Heiko Oberdiek).
+%%
+%% 2000/03/22 v6.00 beta4
+%% \xdef changed to \protected@xdef.
+%%
+%% 2019/10/03 v6.1
+%% Incorporate updates to xr (including citation support)
+%%
+%% 2020-05-14 v7.00e
+%% add additional braces to \r@ only if hyperref is not detected in the aux
+%% of the source document (https://github.com/latex3/hyperref/issues/118)
+%%
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md
index 4d4f19b44b..b04d1fd195 100644
--- a/macros/latex/contrib/l3backend/CHANGELOG.md
+++ b/macros/latex/contrib/l3backend/CHANGELOG.md
@@ -6,7 +6,12 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
-## [2020-01-29]
+## [2021-02-06]
+
+### Changed
+- Use new (internal) interface for kerns
+
+## [2021-01-29]
### Added
- Basic opacity support
@@ -146,8 +151,9 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2020-01-29...HEAD
-[2020-01-29]: https://github.com/latex3/latex3/compare/2021-01-09...2020-01-29
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-02-06...HEAD
+[2021-02-06]: https://github.com/latex3/latex3/compare/2021-01-29...2021-02-06
+[2021-01-29]: https://github.com/latex3/latex3/compare/2021-01-09...2021-01-29
[2021-01-09]: https://github.com/latex3/latex3/compare/2020-09-24...2021-01-09
[2020-09-24]: https://github.com/latex3/latex3/compare/2020-09-11...2020-09-24
[2020-09-11]: https://github.com/latex3/latex3/compare/2020-09-01...2020-09-11
diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md
index bc607bd543..07d6aadd6a 100644
--- a/macros/latex/contrib/l3backend/README.md
+++ b/macros/latex/contrib/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2020-01-29
+Release 2021-02-06
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/contrib/l3backend/l3backend-basics.dtx
index 0033514bdc..80504ebf03 100644
--- a/macros/latex/contrib/l3backend/l3backend-basics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2020-01-29}{}
+ {l3backend-dvipdfmx.def}{2021-02-06}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2020-01-29}{}
+ {l3backend-dvips.def}{2021-02-06}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2020-01-29}{}
+ {l3backend-dvisvgm.def}{2021-02-06}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2020-01-29}{}
+ {l3backend-luatex.def}{2021-02-06}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2020-01-29}{}
+ {l3backend-pdftex.def}{2021-02-06}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2020-01-29}{}
+ {l3backend-xetex.def}{2021-02-06}{}
{L3 backend support: XeTeX}
%</xetex>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/contrib/l3backend/l3backend-box.dtx
index d47bd2ed7a..f6268a776c 100644
--- a/macros/latex/contrib/l3backend/l3backend-box.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf
index 2e72444e29..c6f39549e5 100644
--- a/macros/latex/contrib/l3backend/l3backend-code.pdf
+++ b/macros/latex/contrib/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx
index 9e19d8ac0a..9373df677d 100644
--- a/macros/latex/contrib/l3backend/l3backend-color.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx
index 8992c92d68..8602a4da4c 100644
--- a/macros/latex/contrib/l3backend/l3backend-draw.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
index b0881891f2..484e5b20b9 100644
--- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/contrib/l3backend/l3backend-header.dtx
index 269214356a..77d1d93a26 100644
--- a/macros/latex/contrib/l3backend/l3backend-header.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-opacity.dtx b/macros/latex/contrib/l3backend/l3backend-opacity.dtx
index 62317fa8b4..06d17b6745 100644
--- a/macros/latex/contrib/l3backend/l3backend-opacity.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-opacity.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
index 226f864933..dd279399d9 100644
--- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -297,9 +297,9 @@
{
\hbox:n
{
- \tex_kern:D #1 \scan_stop:
+ \__kernel_kern:n {#1}
\__kernel_backend_postscript:n { pdf.save.ur }
- \tex_kern:D -#1 \scan_stop:
+ \__kernel_kern:n { -#1 }
}
}
\int_gincr:N \g_@@_backend_object_int
@@ -658,18 +658,18 @@
{
\vbox_to_zero:n
{
- \tex_kern:D \dim_eval:n {#4} \scan_stop:
+ \__kernel_kern:n {#4}
\hbox:n { \__kernel_backend_postscript:n { pdf.save.ll } }
\tex_vss:D
}
- \tex_kern:D #1 \scan_stop:
+ \__kernel_kern:n {#1}
\vbox_to_zero:n
{
- \tex_kern:D \dim_eval:n { -#3 } \scan_stop:
+ \__kernel_kern:n { -#3 }
\hbox:n { \__kernel_backend_postscript:n { pdf.save.ur } }
\tex_vss:D
}
- \tex_kern:D -#1 \scan_stop:
+ \__kernel_kern:n { -#1 }
\@@_backend_pdfmark:n
{
/View
@@ -1523,7 +1523,7 @@
{
\vbox_to_zero:n
{
- \tex_kern:D \dim_eval:n {#4} \scan_stop:
+ \__kernel_kern:n {#4}
\hbox:n
{
\@@_backend:n { obj ~ @pdf_ #2 _llx ~ @xpos }
@@ -1531,10 +1531,10 @@
}
\tex_vss:D
}
- \tex_kern:D #1 \scan_stop:
+ \__kernel_kern:n {#1}
\vbox_to_zero:n
{
- \tex_kern:D \dim_eval:n { -#3 } \scan_stop:
+ \__kernel_kern:n { -#3 }
\hbox:n
{
\@@_backend:n
@@ -1550,7 +1550,7 @@
}
\tex_vss:D
}
- \tex_kern:D -#1 \scan_stop:
+ \__kernel_kern:n { -#1 }
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/l3experimental/CHANGELOG.md b/macros/latex/contrib/l3experimental/CHANGELOG.md
index 01cb972bbb..5c3d6b7d4a 100644
--- a/macros/latex/contrib/l3experimental/CHANGELOG.md
+++ b/macros/latex/contrib/l3experimental/CHANGELOG.md
@@ -7,7 +7,12 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
-## [2020-01-29]
+## [2021-02-06]
+
+### Changed
+- Use new (internal) interface for kerns
+
+## [2021-01-29]
### Added
- New `l3bitset` module
@@ -190,8 +195,9 @@ this project uses date-based 'snapshot' version identifiers.
- 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/2020-01-29...HEAD
-[2020-01-29]: https://github.com/latex3/latex3/compare/2020-10-27...2020-01-29
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-02-06...HEAD
+[2021-02-06]: https://github.com/latex3/latex3/compare/2021-01-29...2021-02-06
+[2021-01-29]: https://github.com/latex3/latex3/compare/2021-10-27...2021-01-29
[2020-10-27]: https://github.com/latex3/latex3/compare/2020-09-24...2020-10-27
[2020-09-24]: https://github.com/latex3/latex3/compare/2020-09-11...2020-09-24
[2020-09-11]: https://github.com/latex3/latex3/compare/2020-09-01...2020-09-11
diff --git a/macros/latex/contrib/l3experimental/README.md b/macros/latex/contrib/l3experimental/README.md
index 31af1893e5..417d53493e 100644
--- a/macros/latex/contrib/l3experimental/README.md
+++ b/macros/latex/contrib/l3experimental/README.md
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2020-01-29
+Release 2021-02-06
Overview
--------
diff --git a/macros/latex/contrib/l3experimental/l3benchmark.dtx b/macros/latex/contrib/l3experimental/l3benchmark.dtx
index b7d0c8963f..76f3677781 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.dtx
+++ b/macros/latex/contrib/l3experimental/l3benchmark.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -129,7 +129,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3benchmark}{2020-01-29}{}
+\ProvidesExplPackage{l3benchmark}{2021-02-06}{}
{L3 Experimental benchmarking}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3benchmark.pdf b/macros/latex/contrib/l3experimental/l3benchmark.pdf
index 7cd6fe9bd6..a788198674 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.pdf
+++ b/macros/latex/contrib/l3experimental/l3benchmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3bitset.dtx b/macros/latex/contrib/l3experimental/l3bitset.dtx
index c7c3e43c06..7c61b81f83 100644
--- a/macros/latex/contrib/l3experimental/l3bitset.dtx
+++ b/macros/latex/contrib/l3experimental/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
% \begin{documentation}
@@ -264,7 +264,7 @@
%<@@=bitset>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesExplPackage{l3bitset}{2020-01-29}{}
+\ProvidesExplPackage{l3bitset}{2021-02-06}{}
{L3 Experimental bitset support}
% \end{macrocode}
% A bitset is a string variable.
diff --git a/macros/latex/contrib/l3experimental/l3bitset.pdf b/macros/latex/contrib/l3experimental/l3bitset.pdf
index 85df863511..68490cb185 100644
--- a/macros/latex/contrib/l3experimental/l3bitset.pdf
+++ b/macros/latex/contrib/l3experimental/l3bitset.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3color.dtx b/macros/latex/contrib/l3experimental/l3color.dtx
index 703815a96f..0f1b130da8 100644
--- a/macros/latex/contrib/l3experimental/l3color.dtx
+++ b/macros/latex/contrib/l3experimental/l3color.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -423,7 +423,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3color}{2020-01-29}{}
+\ProvidesExplPackage{l3color}{2021-02-06}{}
{L3 Experimental color support}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3color.pdf b/macros/latex/contrib/l3experimental/l3color.pdf
index 4cf6a862c4..aacda29a30 100644
--- a/macros/latex/contrib/l3experimental/l3color.pdf
+++ b/macros/latex/contrib/l3experimental/l3color.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
index 3b251b3305..29103416ee 100644
--- a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -113,7 +113,7 @@
}
\hbox_set:Nn \l_@@_tmp_box
{
- \tex_kern:D \l_@@_xshift_dim
+ \__kernel_kern:n { \l_@@_xshift_dim }
\box_move_up:nn { \l_@@_yshift_dim }
{ \box_use_drop:N \l_@@_tmp_box }
}
diff --git a/macros/latex/contrib/l3experimental/l3draw-code.pdf b/macros/latex/contrib/l3experimental/l3draw-code.pdf
index 452126336b..c52386b2b1 100644
--- a/macros/latex/contrib/l3experimental/l3draw-code.pdf
+++ b/macros/latex/contrib/l3experimental/l3draw-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3draw-layers.dtx b/macros/latex/contrib/l3experimental/l3draw-layers.dtx
index c17e0eea67..0ed23162fd 100644
--- a/macros/latex/contrib/l3experimental/l3draw-layers.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-layers.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-paths.dtx b/macros/latex/contrib/l3experimental/l3draw-paths.dtx
index 82f5588a93..bfad9e14a3 100644
--- a/macros/latex/contrib/l3experimental/l3draw-paths.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-paths.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-points.dtx b/macros/latex/contrib/l3experimental/l3draw-points.dtx
index 791b2f2034..8c170eeb27 100644
--- a/macros/latex/contrib/l3experimental/l3draw-points.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-points.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
index 3425856267..4b28b10397 100644
--- a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
index bd22800902..2bda7e3c2d 100644
--- a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-state.dtx b/macros/latex/contrib/l3experimental/l3draw-state.dtx
index e93266913b..42709122b7 100644
--- a/macros/latex/contrib/l3experimental/l3draw-state.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-state.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
index 7a242150a4..880fff8b1a 100644
--- a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw.dtx b/macros/latex/contrib/l3experimental/l3draw.dtx
index a42e75b75a..68f83903ec 100644
--- a/macros/latex/contrib/l3experimental/l3draw.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw.dtx
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -1136,7 +1136,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3draw}{2020-01-29}{}
+\ProvidesExplPackage{l3draw}{2021-02-06}{}
{L3 Experimental core drawing support}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3draw.pdf b/macros/latex/contrib/l3experimental/l3draw.pdf
index 4021d6a156..c93d56a3e6 100644
--- a/macros/latex/contrib/l3experimental/l3draw.pdf
+++ b/macros/latex/contrib/l3experimental/l3draw.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3galley.dtx b/macros/latex/contrib/l3experimental/l3galley.dtx
index 10a359f003..2209ce8d9e 100644
--- a/macros/latex/contrib/l3experimental/l3galley.dtx
+++ b/macros/latex/contrib/l3experimental/l3galley.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -686,7 +686,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3galley}{2020-01-29}{}
+\ProvidesExplPackage{l3galley}{2021-02-06}{}
{L3 Experimental galley code}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3galley.pdf b/macros/latex/contrib/l3experimental/l3galley.pdf
index 392daf3909..4e836f86ad 100644
--- a/macros/latex/contrib/l3experimental/l3galley.pdf
+++ b/macros/latex/contrib/l3experimental/l3galley.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3graphics.dtx b/macros/latex/contrib/l3experimental/l3graphics.dtx
index 280c368386..c244ad7258 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.dtx
+++ b/macros/latex/contrib/l3experimental/l3graphics.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -240,7 +240,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3graphics}{2020-01-29}{}
+\ProvidesExplPackage{l3graphics}{2021-02-06}{}
{L3 Experimental graphics inclusion support}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3graphics.pdf b/macros/latex/contrib/l3experimental/l3graphics.pdf
index c430eec006..835fc34762 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.pdf
+++ b/macros/latex/contrib/l3experimental/l3graphics.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3pdf-code.pdf b/macros/latex/contrib/l3experimental/l3pdf-code.pdf
index ce06690f50..cc3e9f9c5e 100644
--- a/macros/latex/contrib/l3experimental/l3pdf-code.pdf
+++ b/macros/latex/contrib/l3experimental/l3pdf-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3pdf.dtx b/macros/latex/contrib/l3experimental/l3pdf.dtx
index 218f4bd5d5..f5a5c72cfe 100644
--- a/macros/latex/contrib/l3experimental/l3pdf.dtx
+++ b/macros/latex/contrib/l3experimental/l3pdf.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -258,7 +258,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3pdf}{2020-01-29}{}
+\ProvidesExplPackage{l3pdf}{2021-02-06}{}
{L3 Experimental core PDF support}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3pdf.pdf b/macros/latex/contrib/l3experimental/l3pdf.pdf
index 1bdd3b530b..38b9038f82 100644
--- a/macros/latex/contrib/l3experimental/l3pdf.pdf
+++ b/macros/latex/contrib/l3experimental/l3pdf.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3str-format.dtx b/macros/latex/contrib/l3experimental/l3str-format.dtx
index 0751244b40..e39f2e7e03 100644
--- a/macros/latex/contrib/l3experimental/l3str-format.dtx
+++ b/macros/latex/contrib/l3experimental/l3str-format.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -166,7 +166,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3str-format}{2020-01-29}{}
+\ProvidesExplPackage{l3str-format}{2021-02-06}{}
{L3 Experimental string formatting}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3str-format.pdf b/macros/latex/contrib/l3experimental/l3str-format.pdf
index fd848569ca..df1b4600dc 100644
--- a/macros/latex/contrib/l3experimental/l3str-format.pdf
+++ b/macros/latex/contrib/l3experimental/l3str-format.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3sys-shell.dtx b/macros/latex/contrib/l3experimental/l3sys-shell.dtx
index 1126f56257..2e1d15d8db 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.dtx
+++ b/macros/latex/contrib/l3experimental/l3sys-shell.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -135,7 +135,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3sys-shell}{2020-01-29}{}
+\ProvidesExplPackage{l3sys-shell}{2021-02-06}{}
{L3 Experimental system shell functions}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3sys-shell.pdf b/macros/latex/contrib/l3experimental/l3sys-shell.pdf
index 50f28c4226..a2de0baee3 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.pdf
+++ b/macros/latex/contrib/l3experimental/l3sys-shell.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/xcoffins.dtx b/macros/latex/contrib/l3experimental/xcoffins.dtx
index 8106487df7..37ef1c2cfe 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.dtx
+++ b/macros/latex/contrib/l3experimental/xcoffins.dtx
@@ -22,9 +22,6 @@
%
% for those people who are interested.
%
-%<*driver|package>
-\RequirePackage{xparse}
-%</driver|package>
%<*driver>
\documentclass[full]{l3doc}
\usepackage{xcoffins} % Not yet part of expl3, so not in l3doc
@@ -56,7 +53,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -675,7 +672,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2020-01-29}{}
+\ProvidesExplPackage{xcoffins}{2021-02-06}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/xcoffins.pdf b/macros/latex/contrib/l3experimental/xcoffins.pdf
index ad6c06eb79..6c76fdd7b2 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.pdf
+++ b/macros/latex/contrib/l3experimental/xcoffins.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/xgalley.dtx b/macros/latex/contrib/l3experimental/xgalley.dtx
index a12bc47e20..9292de0889 100644
--- a/macros/latex/contrib/l3experimental/xgalley.dtx
+++ b/macros/latex/contrib/l3experimental/xgalley.dtx
@@ -23,9 +23,6 @@
%
% for those people who are interested.
%
-%<*driver|package>
-\RequirePackage{xparse}
-%</driver|package>
%<*driver>
\documentclass[full]{l3doc}
\begin{document}
@@ -47,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-29}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -734,9 +731,9 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2020-01-29}{}
+\ProvidesExplPackage{xgalley}{2021-02-06}{}
{L3 Experimental galley}
-\RequirePackage{xparse,xtemplate,l3galley}
+\RequirePackage{xtemplate,l3galley}
% \end{macrocode}
%
% \subsection{Variables}
diff --git a/macros/latex/contrib/l3experimental/xgalley.pdf b/macros/latex/contrib/l3experimental/xgalley.pdf
index 6475274853..3d8a23cec1 100644
--- a/macros/latex/contrib/l3experimental/xgalley.pdf
+++ b/macros/latex/contrib/l3experimental/xgalley.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md
index ce8e2d5ab6..2f39d7d20d 100644
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ b/macros/latex/contrib/l3kernel/CHANGELOG.md
@@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2021-02-06]
+
+### Changed
+- Use new (internal) interface for kerns
+
## [2021-02-02]
### Added
@@ -831,7 +836,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step func­tions have been added for dim vari­ables,
e.g. `\dim_step_in­line:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2021-02-02...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-02-06...HEAD
+[2021-02-06]: https://github.com/latex3/latex3/compare/2021-02-02...2021-02-06
[2021-02-02]: https://github.com/latex3/latex3/compare/2021-01-09...2021-02-02
[2021-01-09]: https://github.com/latex3/latex3/compare/2020-12-07...2021-01-09
[2020-12-07]: https://github.com/latex3/latex3/compare/2020-12-05...2020-12-07
diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md
index f3bec88c61..5e74712262 100644
--- a/macros/latex/contrib/l3kernel/README.md
+++ b/macros/latex/contrib/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2021-02-02
+Release 2021-02-06
Overview
--------
diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx
index f2951e0c72..bf589f7c8c 100644
--- a/macros/latex/contrib/l3kernel/expl3.dtx
+++ b/macros/latex/contrib/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2021-02-02}%
+\def\ExplFileDate{2021-02-06}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf
index 95ce931534..cf1c397ce1 100644
--- a/macros/latex/contrib/l3kernel/expl3.pdf
+++ b/macros/latex/contrib/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf
index 556ae911ec..62ac1b4490 100644
--- a/macros/latex/contrib/l3kernel/interface3.pdf
+++ b/macros/latex/contrib/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex
index ee49ebfcc3..3243a6e00e 100644
--- a/macros/latex/contrib/l3kernel/interface3.tex
+++ b/macros/latex/contrib/l3kernel/interface3.tex
@@ -54,7 +54,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-02-02}
+\date{Released 2021-02-06}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx
index 2992cb6ce3..535226f9b4 100644
--- a/macros/latex/contrib/l3kernel/l3basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
index a612c61c75..2849deda77 100644
--- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx
index 647f5b68dd..0247deaf42 100644
--- a/macros/latex/contrib/l3kernel/l3box.dtx
+++ b/macros/latex/contrib/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -917,6 +917,16 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{'\__kernel_kern:n}
+% We need kerns in a few places. At present, we don't have a module for
+% this concept, so it goes in at first use: here. The idea is to avoid
+% repeated use of the bare primitive.
+% \begin{macrocode}
+\cs_new_protected:Npn \__kernel_kern:n #1
+ { \tex_kern:D \@@_dim_eval:n {#1} }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Creating and initialising boxes}
%
% \TestFiles{m3box001.lvt}
@@ -1768,7 +1778,7 @@
\hbox_set:Nn \l_@@_internal_box { \box_use:N #1 }
\hbox_set:Nn \l_@@_internal_box
{
- \tex_kern:D -\l_@@_left_new_dim
+ \__kernel_kern:n { -\l_@@_left_new_dim }
\hbox:n
{
\@@_backend_rotate:Nn
@@ -2227,7 +2237,7 @@
{
\hbox_to_wd:nn { \l_@@_right_new_dim }
{
- \tex_kern:D \l_@@_right_new_dim
+ \__kernel_kern:n { \l_@@_right_new_dim }
\box_use_drop:N \l_@@_internal_box
\tex_hss:D
}
@@ -2236,7 +2246,7 @@
\box_set_wd:Nn \l_@@_internal_box { \l_@@_right_new_dim }
\hbox:n
{
- \tex_kern:D \c_zero_dim
+ \__kernel_kern:n { 0pt }
\box_use_drop:N \l_@@_internal_box
\tex_hss:D
}
diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx
index 9c7e925212..a19ed84dd3 100644
--- a/macros/latex/contrib/l3kernel/l3candidates.dtx
+++ b/macros/latex/contrib/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -732,9 +732,9 @@
{
\hbox_set:Nn \l_@@_internal_box
{
- \tex_kern:D - \@@_dim_eval:n {#2}
+ \__kernel_kern:n { -#2 }
\box_use:N #1
- \tex_kern:D - \@@_dim_eval:n {#4}
+ \__kernel_kern:n { -#4 }
}
% \end{macrocode}
% For the height and depth, there is a need to watch the baseline is
@@ -809,9 +809,9 @@
{
\hbox_set:Nn \l_@@_internal_box
{
- \tex_kern:D - \@@_dim_eval:n {#2}
+ \__kernel_kern:n { -#2 }
\box_use:N #1
- \tex_kern:D \@@_dim_eval:n { #4 - \box_wd:N #1 }
+ \__kernel_kern:n { #4 - \box_wd:N #1 }
}
\dim_compare:nNnTF {#3} < \c_zero_dim
{
diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx
index 003d1b4467..6e9d1c240c 100644
--- a/macros/latex/contrib/l3kernel/l3cctab.dtx
+++ b/macros/latex/contrib/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx
index 442674eb40..05b2ca2255 100644
--- a/macros/latex/contrib/l3kernel/l3clist.dtx
+++ b/macros/latex/contrib/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx
index 1df2770f86..6dc7ab596e 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/contrib/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -1412,10 +1412,8 @@
% \begin{macrocode}
\hbox_set:Nn \l_@@_internal_box
{
- \tex_kern:D
- \dim_eval:n
+ \__kernel_kern:n
{ \l_@@_bounding_shift_dim - \l_@@_left_corner_dim }
- \exp_stop_f:
\box_move_down:nn { \l_@@_bottom_corner_dim }
{ \box_use:N #1 }
}
@@ -1870,12 +1868,12 @@
\hbox_set:Nn \l_@@_aligned_coffin
{
\dim_compare:nNnT { \l_@@_offset_x_dim } < \c_zero_dim
- { \tex_kern:D -\l_@@_offset_x_dim }
+ { \__kernel_kern:n { -\l_@@_offset_x_dim } }
\hbox_unpack:N \l_@@_aligned_coffin
\dim_set:Nn \l_@@_internal_dim
{ \l_@@_offset_x_dim - \box_wd:N #1 + \box_wd:N #4 }
\dim_compare:nNnT \l_@@_internal_dim < \c_zero_dim
- { \tex_kern:D -\l_@@_internal_dim }
+ { \__kernel_kern:n { -\l_@@_internal_dim } }
}
% \end{macrocode}
% The coffin structure is reset, and the corners are cleared: only
@@ -2001,8 +1999,8 @@
\hbox_set:Nn \l_@@_aligned_internal_coffin
{
\box_use:N #1
- \tex_kern:D -\box_wd:N #1
- \tex_kern:D \l_@@_offset_x_dim
+ \__kernel_kern:n { -\box_wd:N #1 }
+ \__kernel_kern:n { \l_@@_offset_x_dim }
\box_move_up:nn { \l_@@_offset_y_dim } { \box_use:N #4 }
}
\coffin_set_eq:NN #9 \l_@@_aligned_internal_coffin
@@ -2455,8 +2453,8 @@
\hbox_set:Nn \l_@@_aligned_coffin
{
\box_use:N \l_@@_display_coffin
- \tex_kern:D -\box_wd:N \l_@@_display_coffin
- \tex_kern:D \l_@@_offset_x_dim
+ \__kernel_kern:n { -\box_wd:N \l_@@_display_coffin }
+ \__kernel_kern:n { \l_@@_offset_x_dim }
\box_move_up:nn { \l_@@_offset_y_dim } { \box_use:N #1 }
}
\box_set_ht:Nn \l_@@_aligned_coffin
diff --git a/macros/latex/contrib/l3kernel/l3color-base.dtx b/macros/latex/contrib/l3kernel/l3color-base.dtx
index 3e5eff250c..497f7fbe78 100644
--- a/macros/latex/contrib/l3kernel/l3color-base.dtx
+++ b/macros/latex/contrib/l3kernel/l3color-base.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx
index 198f701b5a..80a2cc426a 100644
--- a/macros/latex/contrib/l3kernel/l3debug.dtx
+++ b/macros/latex/contrib/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx
index aa9c8178aa..96d386ecfe 100644
--- a/macros/latex/contrib/l3kernel/l3deprecation.dtx
+++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx
index 397e6f38b2..e3fd13dab6 100644
--- a/macros/latex/contrib/l3kernel/l3doc.dtx
+++ b/macros/latex/contrib/l3kernel/l3doc.dtx
@@ -57,7 +57,7 @@ and all files in that bundle must be distributed together.
%</driver>
%
%<*driver|class>
-\RequirePackage{expl3,xparse,calc}
+\RequirePackage{expl3,calc}
%</driver|class>
%
%<*driver>
@@ -79,7 +79,7 @@ and all files in that bundle must be distributed together.
%
% \title{The \cls{l3doc} class}
% \author{\Team}
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
% \maketitle
% \tableofcontents
%
@@ -168,7 +168,7 @@ and all files in that bundle must be distributed together.
% Furthermore, we need another \enquote{layer} of documentation commands
% to account for \enquote{user-macro} as opposed to
% \enquote{code-functions}; the \pkg{expl3} functions should be
-% documented differently, probably, to the \pkg{xparse} user macros (at
+% documented differently, probably, to the \pkg{ltcmd} user macros (at
% least in terms of indexing).
%
% In no particular order, a list of things to do:
@@ -1590,7 +1590,7 @@ and all files in that bundle must be distributed together.
% \begin{macro}{\@@_pdfstring_newline:w}
% We avoid some hyperref warnings by making |\\| (almost) trivial in
% bookmarks: more precisely it might be used with a star and an
-% optional argument, which we thus remove using an \pkg{xparse}
+% optional argument, which we thus remove using an \pkg{ltcmd}
% expandable command. Since there cannot be trailing optional
% arguments, pick up an extra mandatory one and put it back.
% \begin{macrocode}
@@ -2932,7 +2932,7 @@ and all files in that bundle must be distributed together.
%
% \begin{macro}{\@@_macro:nnw}
% The arguments are a key--value list of \meta{options} and a
-% comma-list of \meta{names}, read verbatim by \pkg{xparse}. First
+% comma-list of \meta{names}, read verbatim by \pkg{ltcmd}. First
% initialize some variables before applying the \meta{options}, then
% parse the \meta{names} to get a sequence of macro names, then apply
% \cs{@@_macro_single:nNN} to each (this step is more subtle than
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx
index aed912d754..a1f86a9c19 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.dtx
+++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf
index 00d32bcd1b..9ad75d5745 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.pdf
+++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx
index efff4bc496..0025d711d8 100644
--- a/macros/latex/contrib/l3kernel/l3expan.dtx
+++ b/macros/latex/contrib/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx
index a34d734039..01693e26dc 100644
--- a/macros/latex/contrib/l3kernel/l3file.dtx
+++ b/macros/latex/contrib/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx
index 193dacb347..0e6892fc6d 100644
--- a/macros/latex/contrib/l3kernel/l3flag.dtx
+++ b/macros/latex/contrib/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
index 2a9dc638a9..4e5c3d6b45 100644
--- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
index 565d9cc0fb..be4dec34c9 100644
--- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
index b58e991be8..445ea0006d 100644
--- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
index c3b6d9ada2..dbdee9f5b8 100644
--- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
index 28617289ff..38e41cd8fa 100644
--- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
index 076cfbd6e4..549e9451ab 100644
--- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
index 80a7a9947a..b2060ef461 100644
--- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
index 37207e1b26..c8c0ed52dd 100644
--- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx
index 4e5d7bf9de..5cf52ba78e 100644
--- a/macros/latex/contrib/l3kernel/l3fp-random.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx
index ef94103115..e2f868e939 100644
--- a/macros/latex/contrib/l3kernel/l3fp-round.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
index e0915c63f5..1e0524c092 100644
--- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
index 113c8858a9..287efa3d54 100644
--- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx
index 6d04ac5b6d..aabdf04924 100644
--- a/macros/latex/contrib/l3kernel/l3fp.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx
index 457490afcd..8ed455c2df 100644
--- a/macros/latex/contrib/l3kernel/l3fparray.dtx
+++ b/macros/latex/contrib/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx
index b22e7a9ac7..9a96fb09eb 100644
--- a/macros/latex/contrib/l3kernel/l3int.dtx
+++ b/macros/latex/contrib/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx
index 369788f9e3..97185bab73 100644
--- a/macros/latex/contrib/l3kernel/l3intarray.dtx
+++ b/macros/latex/contrib/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
index bc10c5e5c9..31484c0473 100644
--- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
@@ -259,6 +259,13 @@
% that \tn{errorcontextlines} is $-1$ when displaying a message.
% \end{function}
%
+% \begin{variable}{\__kernel_kern:n}
+% \begin{syntax}
+% \cs{__kernel_kern:n} \Arg{length}
+% \end{syntax}
+% Inserts a kern of the specified \meta{length}, a dimension expression.
+% \end{variable}
+%
% \begin{function}
% {\__kernel_msg_new:nnnn, \__kernel_msg_new:nnn}
% \begin{syntax}
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx
index 6476398791..03e7b5210c 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/contrib/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx
index e8191b19c9..02b7e3037e 100644
--- a/macros/latex/contrib/l3kernel/l3legacy.dtx
+++ b/macros/latex/contrib/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx
index 26892b81c1..d58eeb5010 100644
--- a/macros/latex/contrib/l3kernel/l3luatex.dtx
+++ b/macros/latex/contrib/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx
index b9d0c5f4b5..747d087bc9 100644
--- a/macros/latex/contrib/l3kernel/l3msg.dtx
+++ b/macros/latex/contrib/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx
index cd70775514..a456c295d3 100644
--- a/macros/latex/contrib/l3kernel/l3names.dtx
+++ b/macros/latex/contrib/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf
index 9be306f351..dd8b0b931e 100644
--- a/macros/latex/contrib/l3kernel/l3news.pdf
+++ b/macros/latex/contrib/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf
index a58a6b2a9f..f14be43327 100644
--- a/macros/latex/contrib/l3kernel/l3news01.pdf
+++ b/macros/latex/contrib/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf
index a15fbd0f69..e60449a772 100644
--- a/macros/latex/contrib/l3kernel/l3news02.pdf
+++ b/macros/latex/contrib/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf
index 2621b17d60..f4b9bbed9b 100644
--- a/macros/latex/contrib/l3kernel/l3news03.pdf
+++ b/macros/latex/contrib/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf
index f234a371e7..3370183ddb 100644
--- a/macros/latex/contrib/l3kernel/l3news04.pdf
+++ b/macros/latex/contrib/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf
index cb71d32c6a..7ce5287d25 100644
--- a/macros/latex/contrib/l3kernel/l3news05.pdf
+++ b/macros/latex/contrib/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf
index 7e1d1b4842..f894701058 100644
--- a/macros/latex/contrib/l3kernel/l3news06.pdf
+++ b/macros/latex/contrib/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf
index 7cf72e1b1a..4d31b834ce 100644
--- a/macros/latex/contrib/l3kernel/l3news07.pdf
+++ b/macros/latex/contrib/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf
index 85a3340bda..1bd8516026 100644
--- a/macros/latex/contrib/l3kernel/l3news08.pdf
+++ b/macros/latex/contrib/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf
index 7da363ec51..0e9df261fc 100644
--- a/macros/latex/contrib/l3kernel/l3news09.pdf
+++ b/macros/latex/contrib/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf
index 5558d8c2f8..dd97f75d0b 100644
--- a/macros/latex/contrib/l3kernel/l3news10.pdf
+++ b/macros/latex/contrib/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf
index 36cdb2411b..a0e9a272c6 100644
--- a/macros/latex/contrib/l3kernel/l3news11.pdf
+++ b/macros/latex/contrib/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf
index d9d55511a3..13621d6f7c 100644
--- a/macros/latex/contrib/l3kernel/l3news12.pdf
+++ b/macros/latex/contrib/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf
index 613ca272b9..ebb1745f91 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.pdf
+++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx
index 0f707ad0e8..a8089df0b4 100644
--- a/macros/latex/contrib/l3kernel/l3prg.dtx
+++ b/macros/latex/contrib/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx
index b278969850..fe8ffaf588 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/contrib/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx
index ab96c815d5..3b7d7ea1c2 100644
--- a/macros/latex/contrib/l3kernel/l3quark.dtx
+++ b/macros/latex/contrib/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx
index b9dbe7d270..c26c8c0dd0 100644
--- a/macros/latex/contrib/l3kernel/l3regex.dtx
+++ b/macros/latex/contrib/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx
index afd444f50d..134f3c57dc 100644
--- a/macros/latex/contrib/l3kernel/l3seq.dtx
+++ b/macros/latex/contrib/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx
index 94aca857b0..fe5be582f5 100644
--- a/macros/latex/contrib/l3kernel/l3skip.dtx
+++ b/macros/latex/contrib/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx
index 07e574abbf..b55b2223da 100644
--- a/macros/latex/contrib/l3kernel/l3sort.dtx
+++ b/macros/latex/contrib/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx
index 52066270d8..9ea4c90166 100644
--- a/macros/latex/contrib/l3kernel/l3str-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx
index b8a3186538..00c26f5f45 100644
--- a/macros/latex/contrib/l3kernel/l3str.dtx
+++ b/macros/latex/contrib/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf
index 2adb562237..484275928c 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.pdf
+++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex
index 336d83c0f9..645fe07fd9 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.tex
+++ b/macros/latex/contrib/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-02-02}
+\date{Released 2021-02-06}
\begin{document}
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
index d4bdd5bd8d..0a29f62dc5 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex
index 4a9cd46123..670bbd3e13 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-02-02}
+\date{Released 2021-02-06}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx
index 538b7b860b..8761c5f4e7 100644
--- a/macros/latex/contrib/l3kernel/l3sys.dtx
+++ b/macros/latex/contrib/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
index 275d749a38..26c76842fd 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex
index 1825fed3a9..97580c6b7c 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.tex
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-02-02}
+\date{Released 2021-02-06}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx
index 2b84ae3b5c..8ebc6e3ccb 100644
--- a/macros/latex/contrib/l3kernel/l3text-case.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx
index 1ded5b386f..2495a89db0 100644
--- a/macros/latex/contrib/l3kernel/l3text-purify.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx
index c374836616..2634fd0a4c 100644
--- a/macros/latex/contrib/l3kernel/l3text.dtx
+++ b/macros/latex/contrib/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
index 4a39de840d..8bc8bb8652 100644
--- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx
index cc8183c7a1..5e11227e3c 100644
--- a/macros/latex/contrib/l3kernel/l3tl.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx
index 5313d9d8f6..a0027a698b 100644
--- a/macros/latex/contrib/l3kernel/l3token.dtx
+++ b/macros/latex/contrib/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx
index 11fd169518..8d4c2092ae 100644
--- a/macros/latex/contrib/l3kernel/l3unicode.dtx
+++ b/macros/latex/contrib/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-02}
+% \date{Released 2021-02-06}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf
index 87e2f72f2e..2c5c8920da 100644
--- a/macros/latex/contrib/l3kernel/source3.pdf
+++ b/macros/latex/contrib/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex
index 7a1d21fb4d..60ca616620 100644
--- a/macros/latex/contrib/l3kernel/source3.tex
+++ b/macros/latex/contrib/l3kernel/source3.tex
@@ -53,7 +53,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-02-02}
+\date{Released 2021-02-06}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/moodle/README.md b/macros/latex/contrib/moodle/README.md
index 83eb22b4bf..30e1b4a976 100644
--- a/macros/latex/contrib/moodle/README.md
+++ b/macros/latex/contrib/moodle/README.md
@@ -10,7 +10,7 @@ part of all distributions of LaTeX version 2005/12/01 or later.
Original contents (2016): [Anders O.F. Hendrickson](/author/hendrickson) ([contact](mailto:anders.o.f.hendricksonATgmail.com))
-2019-2021: [Matthieu Guerquin-Kern](author/guerquin-kern) ([contact](mailto:guerquin-kernATcrans.org))
+2019-2021: [Matthieu Guerquin-Kern](/author/guerquin-kern) ([contact](mailto:guerquin-kernATcrans.org))
# Contents
@@ -19,6 +19,9 @@ This work, under version number 0.8, consists of the files
[`moodle.ins`](/tex-archive/macros/latex/contrib/moodle/moodle.ins), and the derived documentation
file [`moodle.pdf`](/tex-archive/macros/latex/contrib/moodle/moodle.pdf).
+The derived file `moodle.sty` can be downloaded from [here](https://www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/moodle/moodle.sty?view=co).
+Details on how to generate derived files from the sources are given in Section "Building" at the end of this document.
+
A TDS archive [moodle.tds.zip](http://mirrors.ctan.org/install/macros/latex/contrib/moodle.tds.zip) is
also available to be conveniently expanded in your local texmf directory.
It contains the derived file `moodle.sty` and a set of test files.
@@ -65,3 +68,4 @@ The documentation file `moodle.pdf` can be generated by running twice the comman
```bash
lualatex -shell-escape moodle.dtx
```
+(n.b. the requirements in the previous section)
diff --git a/macros/latex/contrib/moodle/moodle.dtx b/macros/latex/contrib/moodle/moodle.dtx
index 17a7b125b4..9e932fb576 100644
--- a/macros/latex/contrib/moodle/moodle.dtx
+++ b/macros/latex/contrib/moodle/moodle.dtx
@@ -17,7 +17,7 @@
% The Current Maintainer of this work is Matthieu Guerquin-Kern.
%
% This work consists of the files moodle.dtx and moodle.ins
-% and the derived files moodle.sty and getitems.sty.
+% and the derived file moodle.sty.
%
% \fi
%
@@ -28,7 +28,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{moodle}
%<*package>
- [2021/01/04 v0.8 Moodle quiz XML generation]
+ [2021/02/07 v0.9 Moodle quiz XML generation]
%</package>
%
%<*driver>
@@ -44,7 +44,8 @@
\setmainfont[Mapping=tex-text]{Linux Libertine O}
\fi
%\usepackage{moodle}[2020/07/09]
-\usepackage{amssymb,metalogo,multirow,threeparttable,booktabs,hyperref,tikz,minted,changelog}
+\usepackage{amssymb,metalogo,multirow,threeparttable,booktabs}
+\usepackage{hyperref,tikz,minted,changelog}
\usetikzlibrary{arrows,positioning,decorations.text}
%\usemintedstyle{Wombat}
\EnableCrossrefs
@@ -58,7 +59,7 @@
%</driver>
% \fi
%
-% \CheckSum{7442} ^^A Comment \OnlyDescription above to adjust
+% \CheckSum{7729} ^^A Comment \OnlyDescription above to adjust
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -89,9 +90,9 @@
% \author{Anders Hendrickson\footnote{original author of the package (\texttt{v0.5}), inactive.}\\
% \texttt{anders.o.f.hendrickson AT gmail.com} \and
% Matthieu Guerquin-Kern\footnote{current maintainer, author of the updates (\texttt{v0.6}
-% to \texttt{v0.8}), partially funded by \href{https://www.ensea.fr/en/}{ENSEA Graduate School}, France.}\\
+% to \texttt{v0.9}), partially funded in 2019 by \href{https://www.ensea.fr/en/}{ENSEA Graduate School}, France.}\\
% \href{mailto:guerquin-kern AT crans.org}{guerquin-kern AT crans.org}}
-% \date{January 4, 2021}
+% \date{February 7, 2021}
%
% \maketitle
%
@@ -238,11 +239,15 @@
% \end{figure}
%
% \section{Usage}\label{sect:usage}
-% \subsection{Example Document}
-%
% The following pages presume the reader already has some familiarity with creating
% and editing Moodle quizzes through the web interface.
+% Users that are not familiar with Moodle quizzes can learn more in the Moodle
+% documentation. For instance, \url{https://docs.moodle.org/310/en/Question_types}.
+%
% The |xkeyval| package is used to provide a key-value interface.
+%
+% \subsection{Example Document}
+%
% Here is a simple example document:
% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
% \documentclass[12pt]{article}
@@ -318,7 +323,7 @@
% file. This stamp contains information gathered about the TeX engine,
% the operating system used and the package version. For instance:
% \begin{quote}\small
-% |<!-- This file was generated on 2020-11-30 by LuaLaTeX -->|\\
+% |<!-- This file was generated on 2021-01-07 by LuaLaTeX -->|\\
% |<!-- running on Linux with the package moodle |\texttt{\fileversion}| -->|
% \end{quote}
% The package option
@@ -454,28 +459,34 @@
% may also be given by setting the |feedback| key \emph{at the individual answer}.
%
% \DescribeMacro{tags}
-% The |tags| key sets a keyword for the question that will be taken into account by Moodle for
-% filtering purposes or classification of questions inside the question bank. It is possible
-% for instance to build a quiz with questions cherry-picked among the set of questions holding
-% a particular tag.
+% The |tags| key sets a list of keywords for the question that will be taken into account
+% by Moodle for filtering purposes or classification of questions inside the question bank.
+% It is possible for instance to build a quiz with questions cherry-picked among the set of
+% questions holding a particular tag.
% For example, one might set
% \begin{center}
% |tags={easy}|
% \end{center}
-% The desired tag should be included in braces.
+% The desired tag should be specified in between braces. Multiple tags can be set as a
+% comma-separated list:
+% \begin{center}
+% |tags={tag1,tag2,{ leading whitespace},{including, comma}}|
+% \end{center}
%
-% Tags can be assigned at two levels. If the |tags| key is set at the quiz level,
-% then that tags will be assigned by default to each question of the quiz.
+% Tags can be assigned at two levels. If the |tags| key is set at the quiz level,
+% then that tag list will serve as a default for each question of the quiz.
% Question-specific tags can be assigned by setting the |tags| key \emph{at the question level}.
-% Since only single tag is supported, the tag a the question-level overrides eventual tags
-% specified at the quiz-level.
+% The question-level |tags| key overrides eventual quiz-level tags.
+%
+% Users willing to specify a same tag for all questions of the quiz could
+% also rely on Moodle's category mechanism.
%
-% \subsection{Question Types}
+% \subsection{\href{https://docs.moodle.org/en/Question_types}{Question Types}}
%
% We next discuss the various question types supported by \textsf{moodle}
% and the options that may be set.
%
-%\subsubsection{True/False}
+%\subsubsection{\href{https://docs.moodle.org/en/True/False_question_type}{True/False}}
%
% \DescribeMacro{truefalse}
% The syntax for a True/False question is as follows:
@@ -502,7 +513,7 @@
%
% With the True/False question type, the |penalty| key has no effect.
%
-% \subsubsection{Multiple Choice}
+% \subsubsection{\href{https://docs.moodle.org/310/Multiple_Choice_question_type}{Multiple Choice}}
%
% \DescribeMacro{multi}
% The syntax for a classic multiple choice question,
@@ -593,7 +604,22 @@
% Note that, in this example, negative fractions are set for wrong choices. This
% prevents students selecting all options to obtain a good grade with no merit.
%
-% \subsubsection{Numerical}
+% \DescribeMacro{allornothing}
+% There also exists a \href{https://moodle.org/plugins/qtype_multichoiceset}
+% {``All-or-Nothing Multiple Choice''} plugin for Moodle that introduces a
+% question type similar to a multiple choice with multiple correct answers,
+% with the specificity that the points are given if and only if the student
+% selects all correct answers. This kind of question is set up using the
+% |allornothing| key.
+% The recommended way for designating correct answers is with |\item*|. If instead
+% the |fraction| is used, \textsf{moodle} moodle will consider that non-negative
+% fractions ($>0$) designate correct answers and negative fractions ($\leq 0$)
+% designate incorrect choices.
+% The option |allornothing| supersedes the options |multiple| and |single|.
+% To the best of our knowledge, Moodle does not offer the all-or-nothing behavior
+% for multiple choice questions embedded inside a cloze question.
+%
+% \subsubsection{\href{https://docs.moodle.org/en/Numerical_question_type}{Numerical}}
%
% A numerical question in Moodle requires the student
% to input a real number in decimal form.
@@ -647,7 +673,7 @@
%
% Units, unit-handling and multipliers are currently unsupported.
%
-% \subsubsection{Short Answer}
+% \subsubsection{\href{https://docs.moodle.org/en/Short-Answer_question_type}{Short Answer}}
% A short answer question resembles a numerical question: the student is to fill
% in a text box with a missing word or phrase.
% \begin{quote}
@@ -694,7 +720,7 @@
% \item any non empty answer will match the pattern |*| (wildcard alone).
% \end{itemize}
%
-% \subsubsection{Essay}\label{subsubsect:essay}
+% \subsubsection{\href{https://docs.moodle.org/en/Essay_question_type}{Essay}}\label{subsubsect:essay}
% Instructors may ask essay questions on a Moodle quiz,
% although Moodle's software is not up to the task of grading them!
% Instead each essay question answer must be graded manually by the
@@ -737,6 +763,12 @@
%
% \DescribeMacro{response field lines}
% The key |response field lines| controls the height of the input box.
+% For Moodle, the admissible values are: 5, 10, 15, 20, 25, 30, 35, and 40.
+% If the value set is not admissible, \textsf{moodle} will approximate the value:
+% \begin{itemize}
+% \item with either 5 or 40 if the value set was out of range, or
+% \item with the next multiple of 5 otherwise.
+% \end{itemize}
% The default is |response field lines=15|.
%
% \DescribeMacro{attachments allowed}
@@ -752,7 +784,7 @@
% will edit and/or type over, with the key |template=|\marg{template}.
% The \meta{template} should be enclosed in braces.
%
-% \subsubsection{Matching}
+% \subsubsection{\href{https://docs.moodle.org/en/Matching_question_type}{Matching}}
%
% A matching question offers a series of subquestions
% and a set of possible answers from which to choose.
@@ -784,7 +816,8 @@
% \DescribeMacro{drag and drop}\DescribeMacro{dd}
% The standard matching question offered by Moodle corresponds to
% a dropdown box for choosing the answer to each question.
-% There also exists a ``drag and drop matching'' plugin for Moodle that
+% There also exists a \href{https://docs.moodle.org/310/en/Drag_and_drop_matching_question_type}
+% {``drag and drop matching''} plugin for Moodle that
% shows all questions in one column,
% all answers in a second column, and allows students to drag the correct
% answer to the question using a mouse.
@@ -793,7 +826,8 @@
% If you choose the standard format, then due to the limitations of
% dropdown boxes, no \LaTeX\ or HTML code can be used in the answers.
%
-% \subsubsection{Cloze Questions and Subquestions}
+% \subsubsection{\href{https://docs.moodle.org/en/Embedded_Answers_(Cloze)_question_type}
+% {Cloze Questions and Subquestions}}
%
% A ``cloze question'' has one or more subquestions embedded within a passage of text.
% For example, you might ask students to fill in several missing words within
@@ -852,7 +886,7 @@
% Within a cloze question, the short answer question can be made case sensitive.
% This option, disabled by default, is selected with |case sensitive| or |usecase|.
%
-%\subsubsection{Description}
+%\subsubsection{\href{https://docs.moodle.org/en/Description_question_type}{Description}}
%
% The Moodle description type is not really a question. It is more like a label.
% One can set a |feedback| that the student gets when reviewing the submission.
@@ -878,51 +912,51 @@
% \caption{Options offered at the question and answer levels for each question type.}
% \label{tab:key-options}
% \small
-% \begin{tabular}{*{14}{l}}
+% \begin{tabular}{*{15}{l}}
% \toprule
-% & \multicolumn{10}{l}{Question} & \multicolumn{3}{l}{Answer}\\
-% \cmidrule(lr){2-11}\cmidrule(lr){12-14}
+% & \multicolumn{11}{l}{Question} & \multicolumn{3}{l}{Answer}\\
+% \cmidrule(lr){2-12}\cmidrule(lr){13-15}
% Question type & \rotatebox{90}{points} &
% \rotatebox{90}{penalty} & \rotatebox{90}{feedback} & \rotatebox{90}{tags} &
% \rotatebox{90}{shuffle} & \rotatebox{90}{numbering} & \rotatebox{90}{multiple} &
-% \rotatebox{90}{usecase} & \rotatebox{90}{tolerance} &\rotatebox{90}{dd} &
-% \rotatebox{90}{fraction} & \rotatebox{90}{feedback} &
+% \rotatebox{90}{allornothing} &\rotatebox{90}{usecase} & \rotatebox{90}{tolerance} &
+% \rotatebox{90}{dd} & \rotatebox{90}{fraction} & \rotatebox{90}{feedback} &
% \rotatebox{90}{tolerance}\\\cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}
% \cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}
% \cmidrule(lr){8-8}\cmidrule(lr){9-9}\cmidrule(lr){10-10}\cmidrule(lr){11-11}
-% \cmidrule(lr){12-12}\cmidrule(lr){13-13}\cmidrule(lr){14-14}
+% \cmidrule(lr){12-12}\cmidrule(lr){13-13}\cmidrule(lr){14-14}\cmidrule(lr){15-15}
% \href{https://docs.moodle.org/35/en/Multiple_Choice_question_type}
% {Multichoice} & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ &
-% $\bullet$ & $\bullet$ & $\bullet$ & & & & $\bullet$ & $\bullet$ \\
+% $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & & & $\bullet$ & $\bullet$ \\
% \href{https://docs.moodle.org/35/en/Numerical_question_type}{Numerical}
-% & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & &
+% & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & & &
% & & $\bullet$ & & $\bullet$ & $\bullet$ & $\bullet$ \\
% \href{https://docs.moodle.org/35/en/Short-Answer_question_type}{Short
-% Answer} & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & &
+% Answer} & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & & &
% & $\bullet$ & & & $\bullet$ & $\bullet$ \\
% \href{https://docs.moodle.org/35/en/Matching_question_type}{Matching}
-% & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & &
+% & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & &
% & & & $\bullet$ & $\bullet$ & \\
% \href{https://docs.moodle.org/35/en/True/False_question_type}
-% {True/False} & $\bullet$ & & $\bullet$ & $\bullet$ & & &
+% {True/False} & $\bullet$ & & $\bullet$ & $\bullet$ & & & &
% & & & & & $\bullet$ \\
% \href{https://docs.moodle.org/35/en/Description_question_type}
-% {Description} & & & $\bullet$ & $\bullet$ & & &
+% {Description} & & & $\bullet$ & $\bullet$ & & & &
% & & & & & \\
% ^^A\href{https://docs.moodle.org/35/en/Essay_question_type}{Essay} & \\\hline%
% \href{https://docs.moodle.org/35/en/Embedded_Answers_(Cloze)_question_type}{Cloze}
-% & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & &
+% & & $\bullet$ & $\bullet$ & $\bullet$ & & & &
% & & & & & \\\cmidrule(lr){1-1}
-% \hspace{1em}Numerical & $\bullet$ & & & & & &
+% \hspace{1em}Numerical & $\bullet$ & & & & & & &
% & &$\bullet$ & & $\bullet$ & $\bullet$ & $\bullet$ \\
-% \hspace{1em}Short Answer & $\bullet$ & & & & & &
+% \hspace{1em}Short Answer & $\bullet$ & & & & & & &
% & $\bullet$ & & & $\bullet$ & $\bullet$ \\
-% \hspace{1em}Multi (regular) & $\bullet$ & & & & $\bullet$ & & $\bullet$
+% \hspace{1em}Multi (inline) & $\bullet$ & & & & $\bullet$ & & &
% & & & & $\bullet$ & $\bullet$ \\
% \hspace{1em}Multi (horizontal)& $\bullet$ & & & & $\bullet$ & & $\bullet$
-% & & & & $\bullet$ & $\bullet$ \\
-% \hspace{1em}Multi (vertical)& $\bullet$ & & & & $\bullet$ & &
-% & & & & $\bullet$ & $\bullet$ \\
+% & & & & & $\bullet$ & $\bullet$ \\
+% \hspace{1em}Multi (vertical)& $\bullet$ & & & & $\bullet$ & & $\bullet$
+% & & & & & $\bullet$ & $\bullet$ \\
% \bottomrule
% \end{tabular}
% \end{table}
@@ -945,7 +979,7 @@
% \toprule
% \multicolumn{2}{l}{Macros} & Commands & Environnments \\
% \cmidrule(lr){1-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}
-% |~| & |\#| &|\emph{}| & |\begin{center}|\\
+% |\%| & |\#| &|\emph{}| & |\begin{center}|\\
% |\$| & |\&| &|\textbf{}| & |\begin{enumerate}|\\
% |\\| & |\par| &|\textit{}| & |\begin{itemize}|\\
% |\&| & |\S| & |\texttt{}| & |\begin{tikzpicture}|\\
@@ -956,7 +990,7 @@
% |\euro| & |\texteuro| & |\fup{}| & \\
% |\TeX| & |\LaTeX|& |\textsubscript{}| & \\
% |\_| & |\textbackslash| & |\url{}| & \\
-% & & |\href{}{}| & \\
+% |~| & & |\href{}{}| & \\
% & & |\tikz[]{}| & \\
% & & |\includegraphics[]{}| & \\
% & & |\verbatiminput{}| & \\
@@ -967,22 +1001,40 @@
% \bottomrule
% \end{tabular}
% \end{table}
-% Single and double quotation marks, french quotation marks, inverted exclamation and
-% question marks, and the diacritical
-% commands |\^|, |\'|, |\`|, |\"|, |\~|, |\c|, |\H|, |\u| and |\v| are also handled,
-% as are the characters |\aa|, |\ae|, |\l|, |\oe|, |\o|, |\ss|, and their
-% capitalizations. See Tables~\ref{tab:diacritical}, \ref{tab:ligatures}, and
-% \ref{tab:other} for more details.
+% Single and double quotation marks (with german variants), french quotation marks,
+% inverted exclamation and question marks, and the diacritical
+% commands |\^|, |\'|, |\`|, |\"|, |\~|, |\c|, |\H|, |\k|, |\u| and |\v| are
+% also handled, as are the characters |\aa|, |\ae|, |\l|, |\oe|,
+% |\o|, |\ss|, and their capitalizations. See Tables~\ref{tab:diacritical},
+% \ref{tab:ligatures}, and \ref{tab:other} for more details.
%
% In addition, |<| and |>| will be converted to |&lt;| and |&gt;| \emph{within math mode only}.
% If they should be typed outside of math mode, they will be passed as typed to
% the HTML, and probably interpreted by students' browsers as HTML tags
% or other unpredicated results.
+% A doubled dash will be converted to en-dash |&ndash;| \emph{outside math mode}.
%
% Be aware that \emph{\textsf{moodle} does not know how to convert any
% other \TeX\ or \LaTeX\ commands to HTML.}
% If other sequences are used, they may be passed verbatim to the XML file
% or may cause unpredicted results.
+%
+% \DescribeMacro{\htmlonly}The |\htmlonly|\oarg{Content for traditional output}
+% \marg{HTML content} command is to be used inside question environments (text,
+% answers, or feedback). It lets you pass directly code to the XML file while being
+% ignored for the traditional output (PDF). The HTML content passed as an argument
+% is subject to no particular processing and users should not expect to be able to
+% pass dangerous characters like |\|, |%|, or |#|. An optional argument allows to
+% pass contents to be processed for the traditional output. This argument is
+% ignored for the XML output.
+% For instance, one can write code like this in a question environment
+% \begin{quote}
+% |\htmlonly[\fbox{PDF contents}]{|\\
+% |<div style="border: 1px solid green; display: inline-block;">|\\
+% \rule{10em}{0pt}|HTML contents</div>|\\
+% |}|
+% \end{quote}
+%
% \DescribeMacro{\htmlregister}The |\htmlregister| command lets you specify
% the macros that must be expanded in the XML file. It works only when no
% optional argument is used.
@@ -996,9 +1048,8 @@
% Again, this works only if the macros are defined \emph{without} optional
% argument.
%
-% If you think of another \LaTeX\ command that should be changed to an HTML equivalent,
-% please contact the maintainer at \url{guerquin-kern AT crans.org}
-% so that it may be added to a future revision of the package.
+% If you think of another \LaTeX\ command that should be changed to an HTML
+% equivalent, please have a look at Section~\ref{sec:dev}.
%
% \section{Graphics}
% The \textsf{moodle} package can handle two kinds of graphics seamlessly.
@@ -1042,6 +1093,10 @@
%^^A \marg{native extension}\marg{command line for conversion}.
%
% \subsection{\TikZ\ Pictures}
+% \TikZ\ is a user-friendly syntax layer for PGF, the macro \LaTeX\ package for creating
+% graphics. Users that are not familiar with TikZ\ can learn more here:
+% \url{https://ctan.org/pkg/pgf}.
+%
% When \TikZ\ is loaded and used to define pictures, \textsf{moodle} invokes
% the |external| \TikZ\ library, so that each |tikzpicture| environment is compiled
% to a freestanding PDF file.
@@ -1112,9 +1167,10 @@
% environment or trust the files handled at the system-level, you may want to disable this
% over-zelous security policy. For example,
% \href{https://stackoverflow.com/a/52661288/14608059}{see this}.
-% \item Users of the |circuitikz| package must enclose their circuits' \TikZ\ code in the
-% |tikzpicture| environment instead of |circuitikz|. That is required,
-% as of \TikZ\ 2.1, by the |external| library.
+% \item Users of the |circuitikz| package (\url{https://www.ctan.org/pkg/circuitikz}) must
+% enclose their circuits' \TikZ\ code in the |tikzpicture| environment instead of
+% the historical |circuitikz| environment. That is required, as of \TikZ\ 2.1,
+% by the |external| library.
% \end{itemize}
%
% \subsection{Package Option \texttt{svg}}\label{subsec:svg}
@@ -1169,6 +1225,10 @@
% specified language.
% \end{enumerate}
% The \textsf{moodle} package handles these three commands to pass the code in the output XML.
+% With |\inputminted|, an external Python tool, \textsc{pygmentize}, performs syntax analysis and
+% its HTML formatter is used to populate the XML. With the other commands, the contents of the
+% file is passed as-is to the XML. A drawback of this approach, is that characters |<|, |>|,
+% |&|, |'|, and |"| are likely to mislead the web browser rendering the question on Moodle.
%
% With |\VerbatimInput| and |\inputminted|, the options that are taken care of for XML
% generation are listed in Table~\ref{tab:verbatim-options}. Using |\fvset|\marg{key=value,...},
@@ -1209,6 +1269,53 @@
% \textsf{filecontents} package or \LaTeX\ kernel itself since 2019) or |VerbatimOut|
% (from the \textsf{fancyvrb} and \textsf{fvextra} packages).
%
+% Here is an example:
+% \begin{VerbatimOut}[gobble=2]{minted.doc.out}
+% \documentclass[12pt,a4paper]{article}
+% \usepackage[section]{moodle}
+% \usepackage{minted}
+% \begin{document}
+% \begin{quiz}[tags={minted}]{LaTeX Quiz}
+% \begin{filecontents*}{excerpt.tex}
+% % !TeX encoding = UTF-8
+% % !TeX spellcheck = en_US
+% % !TEX TS-program = lualatex
+% \documentclass{article}
+% \usepackage[nostamp]{moodle}
+% \ifPDFTeX % FOR LATEX and PDFLATEX
+% \usepackage[utf8]{inputenc} % necessary
+% \usepackage[T1]{fontenc} % necessary
+% \else % assuming XELATEX or LUALATEX
+% \usepackage{fontspec}
+% \fi
+% \end{filecontents*}
+% \begin{numerical}[tolerance=0]{Loading a Class}
+% Consider the following \LaTeX\ code excerpt.\\
+% \inputminted[numbers=left]{latex}{excerpt.tex}
+% On which line is the class loaded?
+% \item[feedback={
+% yes! \inputminted[highlightlines={4}]{latex}{excerpt.tex}
+% } ] 4
+% \item[feedback={No. On line 3, there is only a comment.},
+% fraction=0] 3
+% \item[feedback={No. On line 5, the package \texttt{moodle} is loaded.},
+% fraction=0] 5
+% \end{numerical}
+% \begin{multi}[single]{IDE}
+% Consider the following \LaTeX\ code excerpt.\\
+% \inputminted[numbers=left]{latex}{excerpt.tex}
+% Which \TeX\ engine will be used by the IDE for compilation.
+% \item[feedback={Have a closer look at line 3}] \texttt{tex}
+% \item[feedback={Have a closer look at line 3}] \texttt{latex}
+% \item[feedback={Have a closer look at line 3}] \texttt{pdflatex}
+% \item[feedback={Have a closer look at line 3}] \texttt{xelatex}
+% \item* \texttt{lualatex}
+% \end{multi}
+% \end{quiz}
+% \end{document}
+% \end{VerbatimOut}
+% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
+%
% When code decorated with left-side line numbers is placed in question items, the output PDF could
% show a collision between numbers of the item and the first line. To avoid this, |\LVerbatimInput| or
% |\BVerbatimInput| can be used. Instead, when \textsf{minted} is used, the ``left-right'' mode can be
@@ -1217,8 +1324,8 @@
% |\RecustomVerbatimEnvironment{Verbatim}{LVerbatim}{}|
% \end{quote}
%
-% When using utilies from \textsf{fancyvrb}, \textsf{fvextra}, or \textsf{minted}, \textsf{moodle} sets
-% framing options for the display of code in the output PDF:
+% When using utilities from \textsf{fancyvrb}, \textsf{fvextra}, or \textsf{minted}, \textsf{moodle}
+% sets framing options for the display of code in the output PDF:
% \begin{quote}
% |\fvset{frame=lines,label={[Beginning of code]End of code},|\\
% | framesep=3mm,numbersep=9pt}|
@@ -1233,11 +1340,11 @@
% the same prototype.
%
% We suggest to apply a specific tag to these questions. After import in Moodle, when creating
-% a quizz, this tag can be selected to narrow down a random selection of question.
+% a quizz, this tag can be selected to narrow down a random selection of questions.
% This would mimic the behavior of calculated questions while bringing the flexibility of your
% favorite scripting language.
%
-% Here are two examples inspired from the work of A. Wohns. The first one relies on the
+% Here are two examples inspired from the work of A. Vohns. The first one relies on the
% native Lua capabilities of \LuaLaTeX.
% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
% \begin{quiz}[tags={calculated}]{Example Quiz}
@@ -1313,9 +1420,8 @@
% These two codes yield the same XML content.
%
% \section{Known Limitations and Call for Bug Reports}
-% Table~\ref{tab:support-limitations} lists some different features supported, limitations, and
+% Table~\ref{tab:support-limitations} lists some features supported, limitations, and
% bugs.
-%
%\begin{table}[tbp]
%\centering
%\begin{threeparttable}[b]
@@ -1347,7 +1453,7 @@
%yes & $\varnothing$& $\varnothing$ \\\cmidrule(lr){1-1}
%\hspace{1em}Numerical & yes & no\tnote{1} & yes \\
%\hspace{1em}Short Answer & yes & no\tnote{1} & yes\tnote{7} \\
-%\hspace{1em}Multi (regular) & yes & no\tnote{2} & yes\tnote{7} \\
+%\hspace{1em}Multi (inline) & yes & no\tnote{2} & yes\tnote{7} \\
%\hspace{1em}Multi (horizontal) & yes & yes & yes \\
%\hspace{1em}Multi (vertical) & yes & yes & yes \\\bottomrule
%\end{tabular}
@@ -1373,10 +1479,8 @@
%\end{tablenotes}
%\end{threeparttable}
%\end{table}
-%
% Tables~\ref{tab:diacritical}, \ref{tab:ligatures}, and \ref{tab:other} describe the current
-% support for some special characters, accents and other diacritical marks.
-%
+% state of support special characters, accents and other diacritical marks.
%\begin{table}[tbp]
% \centering
% \caption{Support for diacritical marks
@@ -1414,6 +1518,11 @@
% \H{o} & \H{O} & \verb|\H{o}| & \verb|\H{O}| & Unicode and \LaTeX & \LaTeX\ only\\
% \H{u} & \H{U} & \verb|\H{u}| & \verb|\H{U}| & Unicode and \LaTeX & \LaTeX\ only\\
% \"y & \"Y & \verb|\"y| & \verb|\"Y| & Unicode and \LaTeX & \LaTeX only\\
+% \k{a} & \k{A} & \verb|\k{a}| & \verb|\k{A}| & Unicode and \LaTeX & \LaTeX\ only\\
+% \k{e} & \k{E} & \verb|\k{e}| & \verb|\k{E}| & Unicode and \LaTeX & \LaTeX\ only\\
+% \k{i} & \k{I} & \verb|\k{i}| & \verb|\k{I}| & Unicode and \LaTeX & \LaTeX\ only\\
+% \k{o} & \k{O} & \verb|\k{o}| & \verb|\k{O}| & Unicode and \LaTeX & \LaTeX\ only\\
+% \k{u} & \k{U} & \verb|\k{u}| & \verb|\k{U}| & Unicode and \LaTeX & \LaTeX\ only\\
% \u{a} & \u{A} & \verb|\u{a}| & \verb|\u{A}| & Unicode and \LaTeX & \LaTeX\ only\\
% \u{e} & \u{E} & \verb|\u{e}| & \verb|\u{E}| & Unicode and \LaTeX & \LaTeX\ only\\
% \u{g} & \u{G} & \verb|\u{g}| & \verb|\u{G}| & Unicode and \LaTeX & \LaTeX\ only\\
@@ -1431,10 +1540,11 @@
% \bottomrule
% \end{tabular}
% \begin{tablenotes}
-% \item[1] \XeLaTeX\ renders correctly |\u{i}|, that is, without a superscript dot.
-% Instead, with (pdf)\LaTeX\ the rendering of |\u{i}| is flawed by the
-% superposition of the superscript dot and the breve diacritical mark.
-% Both engines render |\u{\i}| as expected.
+% \item[1] The rendering of |\u{i}| is flawed in (pdf)\LaTeX's traditional output.
+% ^^A \XeLaTeX\ renders correctly |\u{i}|, that is, without a superscript dot.
+% ^^A Instead, with (pdf)\LaTeX\ the rendering of |\u{i}| is flawed by the
+% ^^A superposition of the superscript dot and the breve diacritical mark.
+% ^^A Both engines render |\u{\i}| as expected.
% \end{tablenotes}
% \end{threeparttable}
% \end{table}
@@ -1487,11 +1597,13 @@
% \bottomrule
% \end{tabular}
% \begin{tablenotes}
-% \item[1] the package |babel| loaded with option |french| defines |\og| and |\fg| for
-% the same symbols. These are also supported by \textsf{moodle}.
+% \item[1] for the same symbols the package |babel| defines |\flqq| and |\frqq|, and
+% if loaded with option |french| defines |\og| and |\fg|. These commands
+% are also supported by \textsf{moodle}.
% \end{tablenotes}
% \end{threeparttable}
% \end{table}
+%
% Some features of Moodle quizzes have not yet been implemented in \textsf{moodle}.
% Here is a non-exhaustive list.
% \begin{itemize}
@@ -1500,12 +1612,11 @@
%^^A \item Calculated questions; that is, automatically generated numerical questions
%^^A using randomly chosen numbers.
% \item Hints
-% \item Multiple keywords (tags) for questions
+% \item Units handling in numerical questions
% \end{itemize}
% The authors have used this package together with a limited number of colleagues
% for a few semesters of teaching. If other users adopt this package, we fully expect them
-% to find bugs. \emph{Please} send all bugs you find to \url{guerquin-kern@crans.org},
-% so that we can fix them for subsequent versions.
+% to find bugs. If you run into a problem, please have a look at Section~\ref{sec:dev}.
%
% \section{Compatibility}
% This package has been originally written for and tested with the implementation of
@@ -1516,8 +1627,8 @@
%
% As the ultimate purpose of this package is the generation of XML files,
% future versions of \textsf{moodle} will attempt to maintain backwards
-% compatability with earlier versions regarding the XML output, apart from
-% bug fixes.
+% compatibility with earlier versions regarding the XML output, apart from
+% bug fixes.
% Backwards compatibility of the PDF output is not yet guaranteed, however,
% in case the author or users discover better ways for the PDF to display
% the underlying XML data to be proofread.
@@ -1539,12 +1650,71 @@
% but turn ``MathJax'' \emph{on}. This forces \TeX\ code to be rendered by MathJax
% instead of Moodle, producing much higher-quality results.
%
+% \clearpage
+% \section{Package Development}\label{sec:dev}
+% This package is developed as a collaborative project, currently hosted
+% on the Gitlab server instance \url{https://framagit.org/mattgk/moodle}.
+% The project's activity can be monitored there: reported issues, last
+% modifications, \dots
+%
+% Contributions, either bug reports or fixes, are welcome. Users willing to
+% help can either sign-in with an existing \textsf{GitHub}, \textsf{Gitlab.com}, or
+% \textsf{Bitbucket} account or register a new account.
+%
+% Of course, getting in touch with the package maintainer by
+% \href{mailto:guerquin-kernATcrans.org}{email} works as well.
+%
+% When experiencing a problem and before reporting it, please check whether
+% or not something similar has already been filed as an issue
+% \href{https://framagit.org/mattgk/moodle/-/issues?scope=all&state=all}{here}.
+% If the problem appears to be new, please report it by following these steps:
+% \begin{enumerate}
+% \item Prepare a \emph{minimal} working example, i.e. a |.tex| file shunk down
+% to the strict minimum (loaded packages, code, \dots) while still showing the
+% faulty behavior upon compilation.
+% \item Gather and send the |*.tex|, |*.log| and |*-moodle.xml| files together
+% with an explanation about
+% \begin{itemize}
+% \item your working environment (\TeX\ engine and distribution, operating
+% system, \dots),
+% \item the faulty behavior, and
+% \item what you expected instead.
+% \end{itemize}
+% \end{enumerate}
+%
% ^^A\clearpage
% \changes{v0.5}{2016/01/05}{Initial version}
% \changes{v0.6}{2019/02/18}{Bux-fixing release}
% \changes{v0.7}{2020/07/09}{Feature extensions}
% \changes{v0.8}{2021/01/04}{Bug fixes and feature extensions}
+% \changes{v0.9}{2021/02/07}{Bug fixes and feature extensions}
% \begin{changelog}[title={Version History},author={Matthieu Guerquin-Kern}]
+% \begin{version}[version=0.9,date=2021-02-07]
+% \added
+% \item Support for \href{https://docs.moodle.org/310/en/All_or_nothing_multiple_choice_question_type}
+% {all-or-nothing multiple choice} questions.
+% \item Support for the ogonek diacritical mark via |\k|\marg{\dots}.
+% \item Warn user of the \texttt{babel} package set for a German-related language
+% that using the character |"| will not play well with \textsf{moodle}.
+% \item Support for \textsf{babel} commands related to German quotes.
+% \item Support for en-dash (--) outside of math mode.
+% \item Support for |\%| in conversion to HTML.
+% \item Command |\htmlonly[]{}| to pass HTML contents directly to the XML file.
+% \changed
+% \item An error is issued when a graphics conversion step fails.
+% \item Irrelevant points are no longer written at the cloze question level in PDF and XML.
+% \item The total number of marks is shown in the PDF at the end of each quiz.
+% \item The |tags| key can now be used to specify a comma-separated list of tags.
+% \fixed
+% \item Answer text of shortanswer questions is converted to HTML.
+% \item Paragraph breaks in multi and essay items no longer break compilation.
+% \item Question text in Essays was not shown in PDF file.
+% \item Commands |\textsc|, |\underline|, |\url|, and |\href| yielded HTML code with
+% inadequate double quotation marks.
+% \item Broken base64-encoding pipeline for images under Windows (thanks to Andreas Vohns).
+% \item Repeated single right quotation marks no longer merged in math mode
+% (thanks to Alberto Albano).
+% \end{version}
% \begin{version}[version=0.8,date=2021-01-04]
% \added
% \item Support for inclusion of GIF pictures.
@@ -1598,15 +1768,15 @@
% \item Irrelevant \texttt{penalty} tag in cloze subquestions.
% \fixed
% \item Non-integer fractions can now be specified in cloze subquestions.
-% \item Signifiantly squeeze PNG images size by skipping ancillary data.
+% \item Significantly squeeze PNG images size by skipping ancillary data.
% \item Enumerate or itemize environment can now be nested in question items.
% \item Several pictures can be included in a question without being mixed
% in the XML file.
-% \item management and rendering of fraction in questions.
-% \item Correctly handling a \LaTeX\ starting the last item of a question.
+% \item Management and rendering of fraction in questions.
+% \item Correctly handling a \LaTeX\ command starting the last item of a question.
% \item Closing braces escaped in cloze subquestions. This allows \LaTeX\
% equations or images to be included.
-% \item Image inclusion with MacOS.
+% \item Image inclusion with macOS.
% \end{version}
% \begin{version}[version=0.6b,date=2019-11-27]
% \added
@@ -1626,7 +1796,7 @@
% \item General feedbacks can now contain backslashes.
% \item Several quizzes can now be defined in a single source file, each
% specifying a category for Moodle's question bank.
-% \item Correct encoding information in now written in XML depending on
+% \item Correct encoding information is now written in XML depending on
% the \LaTeX\ compiler used.
% \end{version}
% \begin{version}[version=0.6a,date=2019-06-21]
@@ -1634,7 +1804,7 @@
% \item \XeLaTeX\ is now recommended when using UTF8-encoded sources (support
% of accents).
% \item Feedbacks are now displayed in the PDF file produced.
-% \item The \texttt{optipng} utility is used (and required) to reduce the size
+% \item The \texttt{optipng} utility is used to reduce the size
% of images embedded in the XML file.
% \item Question options and settings are now displayed in the PDF file
% \item Supporting more \LaTeX\ macros for symbols and accents (mostly
@@ -1642,7 +1812,7 @@
% \item Introduce shuffle options in cloze-multi subquestions.
% \item Package option \texttt{final}.
% \changed
-% \item In draft mode, \TikZ\ externalization in no longer triggered.
+% \item In draft mode, \TikZ\ externalization is no longer triggered.
% \fixed
% \item In the different question types, the feedback fields are now converted
% for HTML allowing \LaTeX\ equation and images.
@@ -1694,16 +1864,23 @@
\RequirePackage{xkeyval} %For key-handling
\RequirePackage{amssymb} %For \checkmark symbol
%\RequirePackage{trimspaces} %To remove extra spaces from strings (loaded by environ)
-\RequirePackage{etex} %Expansion control, detokenization, etc.
-\RequirePackage{etoolbox}%List management
-\RequirePackage{xpatch} %To patch commands easily in HTML mode
-\RequirePackage{array} %For formatting tables in the LaTeX mode of Clozes
-\RequirePackage{ifplatform} % To choose Ghostscript commands
\@ifpackageloaded{iftex}{}{\RequirePackage{iftex}}
% iftex already required by recent versions of ifplatform. Needed to know:
% 1) whether we can convert output from PDF to PNG (ifpdf),
% 2) when output pdf is latin1-encoded (ifpdf)
% 3) when output xml is utf8-encoded (if?tex)
+\@ifundefined{ifeTeX}{% version of 'iftex' prior to November 2019.
+ \RequirePackage{etex}{}
+}{
+ \ifeTeX\else
+ \RequirePackage{etex}{} % Recent (2015+) TeX engines should be e-TeX.
+ %This is needed for expansion control, detokenization, etc.
+ \fi
+}
+\RequirePackage{etoolbox}%List management
+\RequirePackage{xpatch} %To patch commands easily in HTML mode
+\RequirePackage{array} %For formatting tables in the LaTeX mode of Clozes
+\RequirePackage{ifplatform} % To choose Ghostscript commands
\@ifundefined{ifpdf}{\RequirePackage{ifpdf}}{}% old iftex would not define the conditional
\RequirePackage{shellesc} %Luatex-compatible way of getting system access
\RequirePackage{fancybox} %For fancy LaTeX tags
@@ -1802,7 +1979,7 @@
\fi
\writetomoodle{<!-- \moodle@stamp -->}%
\def\moodle@stamp{running on \platformname}%
- \g@addto@macro{\moodle@stamp}{ with the package moodle v0.8 }%
+ \g@addto@macro{\moodle@stamp}{ with the package moodle v0.9 }%
\writetomoodle{<!-- \moodle@stamp -->}%
\fi
\immediate\write\moodle@outfile{}%
@@ -1867,13 +2044,14 @@
}{}%
}}%
\newcommand*\@enumeratename{enumerate}%
+\newdimen\moodle@totalmarks \moodle@totalmarks=0pt%
\newenvironment{quiz}[2][]{%
\setkeys{moodle}{#1}%
\gdef\setcategory##1{%
% At first call (end of \begin{quiz}) enumerate is not started yet
\ifx\@currenvir\@enumeratename
% In case no question is defined between two calls of \setcategory
- \def\@noitemerr{\@latex@warning{Empty question list}}%
+ \def\@noitemerr{}%\@latex@warning{Empty question list}
\end{enumerate}%
\fi
\gdef\moodle@currentcategory{##1}%
@@ -1894,7 +2072,7 @@
\begin{enumerate}%
}%
\gdef\setsubcategory##1{%
- \def\@noitemerr{\@latex@warning{Empty question list}}%
+ \def\@noitemerr{}%\@latex@warning{Empty question list}
\end{enumerate}%
\moodle@write@category@xml{\moodle@currentcategory/##1}%
\ifmoodle@section
@@ -1915,6 +2093,7 @@
\setcategory{#2}%
}{%
\end{enumerate}%
+ \emph{Total of marks: \strip@pt\moodle@totalmarks}%
\let\setcategory\relax
\let\setsubcategory\relax
}%
@@ -2053,21 +2232,29 @@
}%
}%
-\def\generate@moodle@write@tags#1{%
- % #1 = NAME for \moodle@writeNAME
- % #3 = what, exactly, to write
- \xa\gdef\csname moodle@writetags\endcsname{%
- %\xa\xa\xdef\xa\xa\ds\xa\xa{Encountered '\string #1'}\show\ds
- \xa\xdef\xa\test@iii\xa{\moodle@tags}%
- \ifx\test@iii\@moodle@empty\relax\else
- \xa\converttohtmlmacro\xa\moodle@htmltowrite\xa{\moodle@tags}%
- \writetomoodle[2]{ <tags>}%
+\def\moodle@writetags{%
+ \xa\xdef\xa\test@iii\xa{\moodle@tags}%
+ \ifx\test@iii\@moodle@empty\relax\else
+ \writetomoodle[2]{ <tags>}%
+ \renewcommand*{\do}[1]{%
+ \def\moodle@tagtext{##1}%
+ \xa\converttohtmlmacro\xa\moodle@htmltowrite\xa{\moodle@tagtext}%
\writetomoodle[4]{ <tag><text><![CDATA[\moodle@htmltowrite]]></text></tag>}%
- \writetomoodle[2]{ </tags>}%
- \fi
- }%
+ }
+ \xa\docsvlist\xa{\moodle@tags}%
+ \writetomoodle[2]{ </tags>}%
+ \fi
+}%
+\newif\ifmoodle@firsttag
+\moodle@firsttagtrue
+\def\moodle@latex@writetags{%
+ \xa\xdef\xa\test@iii\xa{\moodle@tags}%
+ \ifx\test@iii\@moodle@empty\relax\else
+ \hfill tags: %
+ \renewcommand*{\do}[1]{\ifmoodle@firsttag\moodle@firsttagfalse\else, \fi\texttt{##1}}%
+ \xa\docsvlist\xa{\test@iii}%
+ \fi
}%
-
% \end{macrocode}
% \subsubsection{Keys for all question types}
% \begin{macrocode}
@@ -2142,9 +2329,7 @@
%which defines a "tag" (i.e., keyword) for the question.
%Key calls like [tags={random}] set \moodle@tags.
\define@cmdkey{moodle}[moodle@]{tags}[]{}%
- \generate@moodle@write@tags{\csname moodle@tags\endcsname}%
- \moodleset{tags}%
-% TODO: handle multiple 'tags' for one question
+ \moodleset{tags={}}%
% \end{macrocode}
% \subsubsection{Keys for all answers}
@@ -2175,6 +2360,11 @@
\generate@moodle@write@code*{shuffle}<shuffleanswers>{\ifmoodle@shuffle 1\else 0\fi}%
\moodleset{shuffle=true}%
+%% ALLORNOTHING -- for multichoice with multiple answers where all the points are given
+% if and only if all the correct answers are selected.
+ \define@boolkey{moodle}[moodle@]{allornothing}[true]{}%
+ \moodleset{allornothing=false}%
+
%% TODO: CORRECTFEEDBACK
%% TODO: PARTIALLYCORRECTFEEDBACK
%% TODO: INCORRECTFEEDBACK
@@ -2491,6 +2681,7 @@
\NewEnviron{#1}[2][]{%
\bgroup
\setkeys{moodle}{##1,questionname={##2}}%
+ \global\advance\moodle@totalmarks by \csname moodle@default grade\endcsname pt
\expandafter\gatheritems\xa{\BODY}%
\let\moodle@questionheader=\gatheredheader
%First, the LaTeX processing
@@ -2498,10 +2689,7 @@
\ifmoodle@handout
\moodle@makelatextag@qtype{#1}
\else
- \xa\xdef\xa\test@iii\xa{\moodle@tags}%
- \ifx\test@iii\@moodle@empty\relax\else
- \hfill tags: \texttt{\moodle@tags}
- \fi
+ \moodle@latex@writetags
\par
\noindent
\moodle@makelatextag@qtype{#1}
@@ -2540,41 +2728,41 @@
% Description blocks can be empty. In this case, nothing is done.
%
% \begin{macrocode}
-\let\description\relax% remove the meaning of existing \description and \enddescription
-\let\enddescription\relax
-\NewEnviron{description}[2][]{%
- \bgroup
- \setkeys{moodle}{#1,questionname={#2}}%
- \let\moodle@questiontext=\BODY
- \trim@spaces@in\moodle@questiontext
- \ifx\moodle@questiontext\@empty\relax\else%
- %First, the LaTeX processing.
- \item \textbf{\moodle@questionname}
- \ifmoodle@handout\else
- \xa\xdef\xa\test@iii\xa{\moodle@tags}%
- \ifx\test@iii\@moodle@empty\relax\else
- \hfill tags: \texttt{\moodle@tags}%
+\AfterEndPreamble{% in case something like \usepackage[french]{babel} is loaded
+ \let\description\relax% remove the meaning of existing \description and \enddescription
+ \let\enddescription\relax
+
+ \NewEnviron{description}[2][]{%
+ \bgroup
+ \setkeys{moodle}{#1,questionname={#2}}%
+ \let\moodle@questiontext=\BODY
+ \trim@spaces@in\moodle@questiontext
+ \ifx\moodle@questiontext\@empty\relax\else%
+ %First, the LaTeX processing.
+ \item \textbf{\moodle@questionname}
+ \ifmoodle@handout\else
+ \moodle@latex@writetags
+ \par
+ \noindent
\fi
- \par
+ \moodle@makelatextag@qtype{description}\par
\noindent
- \fi
- \moodle@makelatextag@qtype{description}\par
- \noindent
- \moodle@questiontext\par
- \ifmoodle@handout\else
- \ifx\moodle@feedback\@empty\relax\else
- \fbox{\parbox{\linewidth}{\emph{\moodle@feedback}}}%
+ \moodle@questiontext\par
+ \ifmoodle@handout\else
+ \ifx\moodle@feedback\@empty\relax\else
+ \fbox{\parbox{\linewidth}{\emph{\moodle@feedback}}}%
+ \fi
\fi
+ %Now, writing information to memory.
+ \@moodle@ifgeneratexml{%
+ \writetomoodle{<question type="description">}%
+ \moodle@writecommondata
+ \moodle@writetags%
+ \writetomoodle{</question>}%
+ }{}%
\fi
- %Now, writing information to memory.
- \@moodle@ifgeneratexml{%
- \writetomoodle{<question type="description">}%
- \moodle@writecommondata
- \moodle@writetags%
- \writetomoodle{</question>}%
- }{}%
- \fi
- \egroup
+ \egroup
+ }%
}%
% \end{macrocode}
%
@@ -2587,7 +2775,6 @@
% Moodle cannot automatically grade an essay,
% but if the user puts \item's in, we can list them in an itemize as notes.
\par\noindent \emph{Notes for grader:}
- \moodle@questionheader
\ifnum\c@numgathereditems>0\relax
\begin{itemize} \setlength\itemsep{0pt}\setlength\parskip{0pt}%
\loopthroughitemswithcommand{\moodle@print@essay@answer}%
@@ -2601,6 +2788,8 @@
\NewEnviron{essay}[2][]{%
\bgroup
\setkeys{moodle}{#1,questionname={#2}}%
+ \global\advance\moodle@totalmarks by \csname moodle@default grade\endcsname pt
+ \moodle@checkresponsefieldlines
\expandafter\gatheritems\expandafter{\BODY}%
\let\moodle@questionheader=\gatheredheader
%First, the LaTeX processing.
@@ -2608,10 +2797,7 @@
\ifmoodle@handout
\moodle@makelatextag@qtype{essay}
\else
- \xa\xdef\xa\test@iii\xa{\moodle@tags}%
- \ifx\test@iii\@moodle@empty\relax\else
- \hfill tags: \texttt{\moodle@tags}
- \fi
+ \moodle@latex@writetags
\par
\noindent
\moodle@makelatextag@qtype{essay}
@@ -2621,7 +2807,9 @@
\fi
\par
\noindent
- \ifx\moodle@responsetemplate\@empty\relax\else%
+ \moodle@questionheader
+ \long\def\@lempty{}%
+ \ifx\moodle@responsetemplate\@lempty\else
\par\noindent \emph{Template:}
\par\fbox{\parbox{\linewidth}{\moodle@responsetemplate}}\par
\fi
@@ -2660,6 +2848,31 @@
\egroup
}%
+\def\moodle@checkresponsefieldlines{%
+ \newcount\a\a=\number\csname moodle@response field lines\endcsname
+ \newcount\b\b=5%
+ \ifnum\the\a>40% if the value was more than 40
+ \a=40%
+ \fi
+ \ifnum\the\a<5% if the value was less than 5
+ \a=5%
+ \fi
+ \divide\a by\b% integer division by 5
+ \multiply\a by\b% multiply by 5
+ \ifnum\a=\csname moodle@response field lines\endcsname% equality holds if we had 5, 10, 15, 20, 25, 30, or 40
+ \else
+ \ifnum\csname moodle@response field lines\endcsname>5%
+ \ifnum\csname moodle@response field lines\endcsname<40%
+ \advance\a by\b% approximate with the next multiple of 5
+ \fi
+ \fi
+ \PackageWarning{moodle}{"response field lines" admits only multiples of 5 between 5 and 40
+ (You tried to set \csname moodle@response field lines\endcsname). The value
+ \the\a\space will be used.}%
+ \setkeys{moodle}{response field lines=\the\a}%
+ \fi
+}%
+
%%%% TODO
%%%% To make essay work will be tough.
%%%% Every line from \ifnum\c@numgathereditems=0\relax through its \else and \fi,
@@ -2704,12 +2917,12 @@
\moodle@writeattachmentsrequired%
}%
-\def\moodle@print@essay@answer#1{%
+\long\def\moodle@print@essay@answer#1{%
\item #1%
}%
-\def\moodle@savegraderinfo#1{%
+\long\def\moodle@savegraderinfo#1{%
%\def\ds{#1}\show\ds
\bgroup
\moodle@savegraderinfo@int#1\moodle@answer@rdelim
@@ -2720,7 +2933,7 @@
\setkeys{moodle}{fraction=0,#1}%
\moodle@savegraderinfo@int@int%
}%
-\def\moodle@savegraderinfo@int@int#1\moodle@answer@rdelim{%
+\long\def\moodle@savegraderinfo@int@int#1\moodle@answer@rdelim{%
\def\moodle@answertext{#1}
\xa\converttohtmlmacro\xa\moodle@answertext@html\xa{\moodle@answertext}%
%\trim@spaces@in\moodle@answertext
@@ -2830,7 +3043,8 @@
\trim@spaces@in\moodle@answertext
\moodle@checkfraction
\addto@xml[2]{\moodle@answers@xml}{<answer fraction="\moodle@fraction" format="plain_text">}%
- \addto@xml[4]{\moodle@answers@xml}{ <text>\moodle@answertext</text>}%
+ \xa\converttohtmlmacro\xa\moodle@answertext@html\xa{\moodle@answertext}%
+ \addto@xml[4]{\moodle@answers@xml}{ <text>\moodle@answertext@html</text>}%
\ifx\moodle@feedback\@empty\relax\else
\trim@spaces@in\moodle@feedback
\xa\converttohtmlmacro\xa\moodle@feedback@html\xa{\moodle@feedback}%
@@ -2956,10 +3170,19 @@
% LATEX PROCESSING
\def\moodle@makelatextag@multi{%
- \ifmoodle@multiple
- \moodle@makelatextagbox{Multiple}\relax%
+ \ifmoodle@allornothing
+ \ifx\endmulti\endclozemulti
+ \PackageError{moodle}{Unsupported option "allornothing" for a multichoice subquestion}
+ {Please set "allornothing=false"}%
+ \else
+ \moodle@makelatextagbox{All-or-nothing}%
+ \fi
\else
- \moodle@makelatextagbox{Single}\relax%
+ \ifmoodle@multiple
+ \moodle@makelatextagbox{Multiple}%
+ \else
+ \moodle@makelatextagbox{Single}%
+ \fi
\fi
\ifmoodle@handout\else
\ifmoodle@shuffle
@@ -2969,6 +3192,9 @@
}
\def\moodle@multi@latexprocessing{%
+ \ifmoodle@allornothing
+ \moodle@singletrue
+ \fi
\moodle@countcorrectanswers%
\ifmoodle@handout\NewList{answerlist}\fi
\begin{enumerate}\moodle@obeynumberingstyle%
@@ -2990,7 +3216,7 @@
\fi
\fi
}
- \def\moodle@print@multichoice@answer#1{%
+ \long\def\moodle@print@multichoice@answer#1{%
\let\moodle@feedback=\@empty%
\moodle@print@multichoice@answer@int#1 \@rdelim%
}%
@@ -2999,7 +3225,7 @@
\setkeys{moodle}{#1}%
\moodle@print@multichoice@answer@int@int%
}%
- \def\moodle@print@multichoice@answer@int@int#1#2\@rdelim{%
+ \long\def\moodle@print@multichoice@answer@int@int#1#2\@rdelim{%
\def\test@i{#1}%
\def\test@ii{#2}%
\def\moodle@answertext{\item }%
@@ -3020,11 +3246,11 @@
\ifx\moodle@fraction\@empty\relax%
\setkeys{moodle}{fraction=0}%
\fi
+ \moodle@checkfraction
\ifx\moodle@fraction\@hundred%
\trim@spaces@in\moodle@answertext%
\g@addto@macro\moodle@answertext{$~\checkmark$}%
\else
- \moodle@checkfraction
\ifdim0pt=\moodle@fraction pt\relax\else%
\g@addto@macro\moodle@answertext{$~(\moodle@fraction\%)$}%
\fi
@@ -3101,7 +3327,7 @@
\fi
\gdef\moodle@autosanctions{\strip@pt\moodle@pointsperincorrect}%
}
- \def\moodle@countcorrectanswers@a#1{%
+ \long\def\moodle@countcorrectanswers@a#1{%
%The grouping is to keep key answer-specific key changes local.
\bgroup
\moodle@countcorrectanswers@b#1\moodle@answer@rdelim
@@ -3114,7 +3340,7 @@
\moodle@countcorrectanswers@c%
%\fi
}%
- \def\moodle@countcorrectanswers@c#1#2\moodle@answer@rdelim{%
+ \long\def\moodle@countcorrectanswers@c#1#2\moodle@answer@rdelim{%
\def\test@i{#1}%
\ifx\test@i\@star
\stepcounter{moodle@numcorrectanswers}%
@@ -3150,7 +3376,15 @@
\fi
\fi
}
- \def\moodle@checkfraction{%
+ \def\moodle@checkfraction{%
+ \ifmoodle@allornothing
+ \ifnum\moodle@fraction>0%
+ \setkeys{moodle}{fraction=100}%
+ \fi
+ \ifnum\moodle@fraction<0%
+ \setkeys{moodle}{fraction=0}%
+ \fi
+ \else
%\def\test@i{#1}%
\setlength{\test@fraction}{\moodle@fraction pt}%
% take the absolute value
@@ -3168,11 +3402,12 @@
\else
\setkeys{moodle}{fraction=\test@fractionmatched}%
\fi
- }
+ \fi
+ }
% TODO: Put these macros in same order as other sections'.
% SAVING ANSWERS TO MEMORY
-\def\savemultianswer#1{%
+\long\def\savemultianswer#1{%
\bgroup
\savemultianswer@int#1 \moodle@answer@rdelim
\passvalueaftergroup{\moodle@answers@xml}%
@@ -3181,9 +3416,12 @@
\newcommand\savemultianswer@int[1][]{%
\let\moodle@fraction\@empty%
\setkeys{moodle}{#1}%
+ \ifmoodle@allornothing
+ \moodle@singletrue
+ \fi
\savemultianswer@int@int%
}%
- \def\savemultianswer@int@int#1#2\moodle@answer@rdelim{%
+ \long\def\savemultianswer@int@int#1#2\moodle@answer@rdelim{%
\def\test@i{#1}%
\ifx\test@i\@star
\ifmoodle@single
@@ -3218,9 +3456,12 @@
% WRITING QUESTION TO XML FILE
\gdef\writemultiquestion{%
- \writetomoodle{<question type="multichoice">}%
+
+ \writetomoodle{<question type="multichoice\ifmoodle@allornothing set\fi">}%
\moodle@writecommondata%
- \moodle@writesingle%
+ \ifmoodle@allornothing\else
+ \moodle@writesingle%
+ \fi
\moodle@writeshuffle%
\moodle@writeanswernumbering%
}%
@@ -3241,6 +3482,7 @@
\NewEnviron{truefalse}[2][]{%
\bgroup
\setkeys{moodle}{#1,questionname={#2}}%
+ \global\advance\moodle@totalmarks by \csname moodle@default grade\endcsname pt
\expandafter\gatheritems\xa{\BODY}%
\let\moodle@questionheader=\gatheredheader
%First, the LaTeX processing
@@ -3248,10 +3490,7 @@
\ifmoodle@handout
\moodle@makelatextag@qtype{truefalse}
\else
- \xa\xdef\xa\test@iii\xa{\moodle@tags}%
- \ifx\test@iii\@moodle@empty\relax\else
- \hfill tags: \texttt{\moodle@tags}
- \fi
+ \moodle@latex@writetags
\par
\noindent
\moodle@makelatextag@qtype{truefalse}
@@ -3494,10 +3733,10 @@
\setcounter{moodle@numcorrectanswers}{0}% Here this counter is for "questions" (items on the left column)
\loopthroughitemswithcommand{\moodle@print@matching@answer}%
\ifnum\c@numgathereditems<3%
- \PackageWarning{moodle}{Moodle expects at least three "answers" with matching type}
+ \PackageWarning{moodle}{Moodle expects at least three "answers" with matching type}%
\fi
\ifnum\c@moodle@numcorrectanswers<2%
- \PackageWarning{moodle}{Moodle expects at least two "questions" with the matching type}
+ \PackageWarning{moodle}{Moodle expects at least two "questions" with the matching type}%
\fi
\ifmoodle@handout
\ifmoodle@shuffle
@@ -3645,14 +3884,10 @@
\ifmoodle@handout
\moodle@makelatextag@qtype{cloze}
\else
- \xa\xdef\xa\test@iii\xa{\moodle@tags}%
- \ifx\test@iii\@moodle@empty\relax\else
- \hfill tags: \texttt{\moodle@tags}
- \fi
+ \moodle@latex@writetags
\par
\noindent
\moodle@makelatextag@qtype{cloze}
- \moodle@makelatextag@value{default grade}{\moodle@marks{\csname moodle@default grade\endcsname}}
\moodle@makelatextag@value{penalty}{penalty}
\fi
\par
@@ -3685,7 +3920,11 @@
% WRITING QUESTION TO XML FILE
\gdef\writeclozequestion{%
\writetomoodle{<question type="cloze">}%
- \moodle@writecommondata%
+ \moodle@writequestionname%
+ \moodle@writequestiontext%
+ \moodle@writegeneralfeedback%
+ \moodle@writepenalty%
+ \moodle@writehidden%
\moodle@writetags%
\writetomoodle{</question>}%
}%
@@ -3746,6 +3985,7 @@
\def\endclozemulti@code{\htmlize@patchendenvironment}%
\else
%LaTeX version
+ \global\advance\moodle@totalmarks by \csname moodle@default grade\endcsname pt
\moodle@questionheader% %Any introductory text just continues to be typeset.
\par
\noindent
@@ -3800,7 +4040,7 @@
}[\endclozemulti@code]%
-\def\moodle@print@clozemultichoice@answer#1{%
+\long\def\moodle@print@clozemultichoice@answer#1{%
\let\moodle@feedback=\@empty
\moodle@print@clozemultichoice@answer@int#1 \@rdelim%
}%
@@ -3808,7 +4048,7 @@
\setkeys{moodle}{fraction=0,#1}%
\moodle@print@clozemultichoice@answer@int@int%
}%
-\def\moodle@print@clozemultichoice@answer@int@int#1#2\@rdelim{%
+\long\def\moodle@print@clozemultichoice@answer@int@int#1#2\@rdelim{%
\def\moodle@answertext{}%
% Case 0: "(answer) \\ \hline"
% Case 1: "\item (answer)"
@@ -3867,7 +4107,7 @@
\fi
}%
-\def\saveclozemultichoiceanswer#1{%
+\long\def\saveclozemultichoiceanswer#1{%
\bgroup
\saveclozemultichoiceanswer@int#1 \moodle@answer@rdelim
\egroup
@@ -3876,7 +4116,7 @@
\setkeys{moodle}{fraction=0,#1}%
\saveclozemultichoiceanswer@int@int%
}%
-\def\saveclozemultichoiceanswer@int@int#1#2\moodle@answer@rdelim{%
+\long\def\saveclozemultichoiceanswer@int@int#1#2\moodle@answer@rdelim{%
\def\test@i{#1}%
\ifgatherbeginningofloop\else
\xa\gdef\xa\clozemulti@coding\xa{\clozemulti@coding\clozetilde}% separator between answers
@@ -3929,6 +4169,7 @@
\def\endclozenumerical@code{\htmlize@patchendenvironment}%
\else
%LaTeX version
+ \global\advance\moodle@totalmarks by \csname moodle@default grade\endcsname pt
\moodle@questionheader% %Any introductory text just continues to be typeset.
\par
\noindent
@@ -4058,6 +4299,7 @@
\def\endclozeshortanswer@code{\htmlize@patchendenvironment}%
\else
%LaTeX version
+ \global\advance\moodle@totalmarks by \csname moodle@default grade\endcsname pt
\moodle@questionheader% %Any introductory text just continues to be typeset.
\par
\noindent
@@ -4358,6 +4600,7 @@
\def\@lt{<}%
\def\@gt{>}%
+\def\@dash{-}%
\long\def\htmlize@recursive@i#1#2#3\htmlize@rdelim@i{%
% #1#2#3 is a sequence of tokens. All should be categories 11 (letter) or 12 (other).
@@ -4568,11 +4811,12 @@
\fi% \ifx\test@ii\@lsinglequote%
\else
\ifx\test@i\@rsinglequote%
- \ifx\test@ii\@rsinglequote%
- %Double right quote
- \g@addto@macro\htmlize@output{\otherampersand rdquo;}%
+ \ifx\test@ii\@rsinglequote% Double right quote
+ %AAedit 2021.01.06: in math mode, you should write 2 single right quotes, for second derivatives
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherampersand rsquo;\otherampersand rsquo;}}%
+ {\g@addto@macro\htmlize@output{\otherampersand rdquo;}}%
\def\htmlize@next@i{\htmlize@recursive@i#3\htmlize@rdelim@i}%
- \else
+ \else% Single right quote
\g@addto@macro\htmlize@output{\otherampersand rsquo;}%
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
\fi% \ifx\test@ii\@rsinglequote%
@@ -4591,9 +4835,20 @@
{\g@addto@macro\htmlize@output{>}}%
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
\else
- % Default case: write first token to output, call self on remaining tokens.
- \g@addto@macro\htmlize@output{#1}%
- \def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
+ \ifx\test@i\@dash
+ \ifx\test@ii\@dash% en-dash (--)
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{--}}%
+ {\g@addto@macro\htmlize@output{\otherampersand ndash;}}%
+ \def\htmlize@next@i{\htmlize@recursive@i#3\htmlize@rdelim@i}%
+ \else
+ \g@addto@macro\htmlize@output{-}%
+ \def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
+ \fi
+ \else
+ % Default case: write first token to output, call self on remaining tokens.
+ \g@addto@macro\htmlize@output{#1}%
+ \def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
+ \fi% \ifx\test@i\@dash
\fi% \ifx\test@i\@gt
\fi% \ifx\test@i\@lt
\fi% \ifx\test@i\@doublequote
@@ -4927,6 +5182,7 @@
\htmlize@record@action{\endclozemode}%
\htmlize@record@action{\relax}%
+\html@action@def\%{\g@addto@macro\htmlize@output{\otherpercent}}%
\html@action@def\#{\g@addto@macro\htmlize@output{\otherhash}}%
\html@action@def\&{\g@addto@macro\htmlize@output{\otherampersand}}%
\html@action@def\\{\moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\otherbackslash}}%
@@ -4971,6 +5227,9 @@
\html@action@def\${%
\g@addto@macro\htmlize@output{\otherdollar}%
}%
+\html@action@def\@dquote{%
+ \g@addto@macro\htmlize@output{"}%
+ }%
\html@action@def\clozetilde{%
\xa\g@addto@macro\xa\htmlize@output\xa{\othertilde}%
}%
@@ -5138,25 +5397,48 @@
{\g@addto@macro\htmlize@output{\otherampersand#1caron\othersemicol}}%
{\xa\g@addto@macro\htmlize@output\xa{\string\v#1}}%
}%
+
+% Ogonek diacritics
+{\catcode`|=3\relax
+ \gdef\htmlize@ogonek{A|E|I|U|a|e|i|u|}}
+\html@action@def\k#1{%
+ \ifinlist{#1}{\htmlize@ogonek}%
+ {\g@addto@macro\htmlize@output{\otherampersand#1ogon\othersemicol}}%
+ {
+ \bgroup
+ \def\test@i{#1}%
+ \ifx\test@i\@O
+ \def\toadd{\otherampersand\otherhash490\othersemicol}%
+ \else
+ \ifx\test@i\@o
+ \def\toadd{\otherampersand\otherhash491\othersemicol}%
+ \else
+ \def\toadd{\otherbackslash\otherlbrace#1\otherrbrace}%
+ \fi
+ \fi
+ \xa\g@addto@macro\xa\htmlize@output\xa{\toadd}%
+ \egroup
+ }%
+}%
% \end{macrocode}
%
% \subsubsection{Command sequences for Expansion}
%
% \begin{macrocode}
-\html@def\underline#1{<SPAN STYLE=\&\#34;text-decoration: underline;\&\#34;>#1</SPAN>}
+\html@def\underline#1{<SPAN STYLE=\@dquote text-decoration: underline;\@dquote>#1</SPAN>}%
\html@def\emph#1{<EM>#1</EM>}%
\html@def\textit#1{<I>#1</I>}%
\html@def\textbf#1{<B>#1</B>}%
\html@def\texttt#1{<CODE>#1</CODE>}%
-\html@def\textsc#1{<SPAN STYLE=\&\#34;font-variant: small-caps;\&\#34;>#1</SPAN>}
-\html@def\url#1{<A href=\&\#34;#1\&\#34;>#1</A>}%
-\html@def\href#1#2{<A href=\&\#34;#1\&\#34;>#2</A>}%
+\html@def\textsc#1{<SPAN STYLE=\@dquote font-variant: small-caps;\@dquote>#1</SPAN>}%
+\html@def\url#1{<A href=\@dquote #1\@dquote>#1</A>}%
+\html@def\href#1#2{<A href=\@dquote #1\@dquote>#2</A>}%
\html@def\textsuperscript#1{<SUP>#1</SUP>}%
\html@def\up#1{<SUP>#1</SUP>}%
\html@def\fup#1{<SUP>#1</SUP>}%
\html@def\textsubscript#1{<SUB>#1</SUB>}%
\html@def\blank{____________}%
-\html@def\par{</P><P>}%
+\html@def\par{<BR/>}%
\html@def\aa{\&aring;}%
\html@def\AA{\&Aring;}%
\html@def\ae{\&aelig;}%
@@ -5176,6 +5458,15 @@
\html@def\guillemotleft{\&laquo;\&\#8239;}%
\html@def\fg{\&\#8239;\&raquo;}%
\html@def\guillemotright{\&\#8239;\&raquo;}%
+\html@def\glqq{\&bdquo;}%
+\html@def\grqq{\&ldquo;}%
+\html@def\glq{\&sbquo;}%
+\html@def\grq{\&lsquo;}%
+\html@def\flqq{\&laquo;\&\#8239;}%
+\html@def\frqq{\&\#8239;\&raquo;}%
+\html@def\flq{\&lsaquo;}%
+\html@def\frq{\&rsaquo;}%
+\html@def\dq{\&quot;}%
\html@def\,{\&\#8239;}%
\html@def\thinspace{\&\#8239;}%
\html@def\textbackslash{\&\#92;}%
@@ -5191,7 +5482,21 @@
\htmlize@record@action\displaymathrightdelim
% \end{macrocode}
-%
+%
+% \subsubsection{Passing Code to XML Only}
+% Users may want to include pieces of HTML code to the XML file only.
+% When producing the traditional output, the optional argument, empty
+% by default, is used.
+% \begin{macrocode}
+\newcommand\htmlonly[2][]{#1}%
+% \end{macrocode}
+% When producing the XML file, the mandatory argument is passed as-is.
+% \begin{macrocode}
+\html@action@newcommand{htmlonly}[2][]{%
+ \g@addto@macro\htmlize@output{#2}%
+}%
+% \end{macrocode}
+%
% \subsection{Graphics via {\ttfamily\string\includegraphics}}
%
% \subsubsection{Finding Media Files}
@@ -5206,6 +5511,14 @@
% are set with the basename, including path, and extension, respectively.
%
% \begin{macrocode}
+\AtEndPreamble{%
+ \@ifpackageloaded{graphics}{%
+ \@ifpackagelater{graphics}{2019/10/08}{}{%
+ \PackageError{moodle}{`moodle' is made to interact with the `graphics'
+ package not older than 2019/10/08.}%
+ }%
+ }{}%
+}%
\def\moodle@media@find#1{%
\ifx\detokenize\@undefined\else
\edef\Gin@extensions{\detokenize\expandafter{\Gin@extensions}}%
@@ -5382,7 +5695,10 @@
% While the picture will be animated after Moodle import, it will not be in the PDF
% output, whatever the viewer is.
\DeclareGraphicsAlien{.gif}{.png}{\htmlize@imagemagick@convert\otherspace '\SourceFile[0]' \OutputFile}%
- }{}%
+ }{
+ \newcommand\includegraphics[2][]{\PackageError{moodle}{"\string\includegraphics" is not defined}%
+ {Add "\string\usepackage{graphicx}" to you preamble.}}{}%}%
+ }%
}%
% \end{macrocode}
% \subsubsection{Graphics key-handling}
@@ -5434,25 +5750,30 @@
\SVGtoPDF\otherspace '\SourceFile' -o '\OutputFile' 2>/dev/null}%
}%
\fi
-
-\ifmoodle@tikz
-\AfterEndPreamble{%
- %\htmlize@record@expand{\embedaspict}%
- \let\oldincludegraphics=\includegraphics
- % patching includegraphics to trigger externalization
- \renewcommand{\includegraphics}[2][]{%
- %\message{moodle.sty: Processing \string\includegraphics[#1]{#2} for HTML^^J}%
- \tikz{\node[inner sep=0pt]{\oldincludegraphics[#1]{#2}};}%
- }%
- % externalized images must be included with the regular command
- \pgfkeys{/pgf/images/include external/.code={\oldincludegraphics{#1}}}%
- \html@action@newcommand{includegraphics}[2][]{%
- \message{moodle.sty: Processing \string\includegraphics[#1]{#2} ^^J}
- \global\advance\numpicturesread by 1\relax
- \edef\htmlize@imagetag{<IMG SRC="data:\TikzExportMIME;base64,\csname picbaselxiv@\the\numpicturesread\endcsname">}%
- \xa\g@addto@macro\xa\htmlize@output\xa{\htmlize@imagetag}%
+\def\moodle@checkconversionsuccess#1#2{%
+ \IfFileExists{#1}{}{%
+ \PackageError{moodle}{#2 failed}%
+ {If the XML file is not of importance to you: use package option "draft"}%
}%
}%
+\ifmoodle@tikz
+ \AfterEndPreamble{%
+ %\htmlize@record@expand{\embedaspict}%
+ \let\oldincludegraphics=\includegraphics
+ % patching includegraphics to trigger externalization
+ \renewcommand{\includegraphics}[2][]{%
+ %\message{moodle.sty: Processing \string\includegraphics[#1]{#2} for HTML^^J}%
+ \tikz{\node[inner sep=0pt]{\oldincludegraphics[#1]{#2}};}%
+ }%
+ % externalized images must be included with the regular command
+ \pgfkeys{/pgf/images/include external/.code={\oldincludegraphics{#1}}}%
+ \html@action@newcommand{includegraphics}[2][]{%
+ \message{moodle.sty: Processing \string\includegraphics[#1]{#2} ^^J}
+ \global\advance\numpicturesread by 1\relax
+ \edef\htmlize@imagetag{<IMG SRC="data:\TikzExportMIME;base64,\csname picbaselxiv@\the\numpicturesread\endcsname">}%
+ \xa\g@addto@macro\xa\htmlize@output\xa{\htmlize@imagetag}%
+ }%
+ }%
\else
\html@action@newcommand{includegraphics}[2][]{%
\bgroup% The grouping is to localize the changes caused by \setkeys.
@@ -5502,6 +5823,7 @@
\edef\cmdline{\PDFtoSVG\otherspace "\moodle@media@base\moodle@media@ext" -o "\moodle@media@base\moodle@media@ext@current" 2>/dev/null}%
\message{moodle.sty: Converting '#2' to SVG...^^J}%
\xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{\moodle@media@base\moodle@media@ext@current}{PDFtoSVG conversion}%
%Next, optimize inline
\ifwindows\else
\edef\cmdline{\optiSVG < "\moodle@media@base\moodle@media@ext@current" >
@@ -5509,6 +5831,7 @@
"\moodle@media@base\moodle@media@ext@current"}%
\message{moodle.sty: Optimizing '\moodle@media@base\moodle@media@ext@current'...^^J}%
\xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{\moodle@media@base\moodle@media@ext@current}{SVG optimization}%
\fi
\else% call ImageMagick
\def\moodle@media@ext@current{.png}%
@@ -5516,10 +5839,12 @@
\edef\cmdline{\htmlize@imagemagick@convert\otherspace "\moodle@media@base\moodle@media@ext" -resize \moodle@graphics@geometry\otherspace "\moodle@media@base\moodle@media@ext@current"}%
\message{moodle.sty: Converting '#2' to PNG...^^J}%
\xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{\moodle@media@base\moodle@media@ext@current}{ImageMagick conversion}%
%Next, optimize inline
\edef\cmdline{\optipng\otherspace "\moodle@media@base\moodle@media@ext@current"}%
\message{moodle.sty: Optimizing '\moodle@media@base\moodle@media@ext@current'...^^J}%
\xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{\moodle@media@base\moodle@media@ext@current}{PNG optimization}%
\fi
\fi
%Next, convert the file to base64 encoding
@@ -5546,27 +5871,25 @@
% \end{macrocode}
% This macro is in charge of throwing a system call to convert local files to base64.
% \begin{macrocode}
+\def\ConvertToBaseLXIV#1#2{%
+ \message{moodle.sty: Converting '#1#2' to base64...^^J}%
+ \ConvertToBaseLXIV@int{#1}{#2}
+ \xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{#1.enc}{Base64 conversion}%
+}%
\ifwindows
- \def\ConvertToBaseLXIV#1#2{%
- \def\cmdline{\baselxiv\otherspace -encode "#1#2"\otherspace tmp.b64 && findstr /vbc:"---" tmp.b64 > "#1" && del tmp.b64"}%
- \message{moodle.sty: Converting '#1#2' to base64...^^J}%
- \xa\ShellEscape\xa{\cmdline}%
- % Starting from Windows 7, CertUtil is included by default. There should be no windows XP still running
- }%
+ \def\ConvertToBaseLXIV@int#1#2{%
+ \def\cmdline{\baselxiv\otherspace -encode "#1#2"\otherspace tmp.b64 && findstr /vbc:"---" tmp.b64 > "#1.enc" && del tmp.b64}%
+ }% Starting from Windows 7, CertUtil is included by default. There should be no windows XP still running
\else
\ifmacosx
- \def\ConvertToBaseLXIV#1#2{%
+ \def\ConvertToBaseLXIV@int#1#2{%
\def\cmdline{\baselxiv\otherspace -b 64 -i "#1#2"\otherspace -o "#1.enc"}%
- \message{moodle.sty: Converting '#1#2' to base64...^^J}%
- \xa\ShellEscape\xa{\cmdline}%
}%
\else % Linux, Cygwin
- \def\ConvertToBaseLXIV#1#2{%
+ \def\ConvertToBaseLXIV@int#1#2{%
\def\cmdline{\baselxiv\otherspace "#1#2"\otherspace > "#1.enc"}%
- \message{moodle.sty: Converting '#1#2' to base64...^^J}%
- \xa\ShellEscape\xa{\cmdline}%
- }%
- % base64 is part of coreutils, add "-w 64" to get exactly the previous behavior %
+ }% base64 is part of coreutils, add "-w 64" to get exactly the previous behavior %
\fi
\fi
% \end{macrocode}
@@ -5621,32 +5944,44 @@
\ifpdfoutput% tex engines defaulting to PDF output (pdflatex, xelatex, lualatex)
\def\ExportTikz{ \message{moodle.sty: Converting picture '\moodle@basename.pdf' to SVG...^^J}%
\edef\cmdline{\PDFtoSVG\otherspace "\moodle@basename.pdf" -o "\moodle@basename\TikzExportExtension" 2>/dev/null}%
- \xa\ShellEscape\xa{\cmdline}}%
+ \xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{PDFtoSVG conversion}%
+ }%
\else % latex
\def\ExportTikz{ \message{moodle.sty: Converting picture '\moodle@basename.ps' to SVG...^^J}%
\edef\cmdline{\PDFtoSVG\otherspace "\moodle@basename.ps" -o "\moodle@basename\TikzExportExtension" 2>/dev/null}%
- \xa\ShellEscape\xa{\cmdline}}%
+ \xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{PStoSVG conversion}%
+ }%
\fi
\def\OptimizeExport{ \message{moodle.sty: Optimizing '\moodle@basename.svg'...^^J}%
\edef\cmdline{\optiSVG\otherspace < "\moodle@basename\TikzExportExtension" >
"\moodle@basename.tmp.svg" && mv "\moodle@basename.tmp.svg"
"\moodle@basename\TikzExportExtension" }%
- \xa\ShellEscape\xa{\cmdline}}%
+ \xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{SVG optimization}%
+ }%
\else
\def\TikzExportExtension{.png}%
\def\TikzExportMIME{image/png}%
\ifpdfoutput% tex engines defaulting to PDF output (pdflatex, xelatex, lualatex)
\def\ExportTikz{ \message{moodle.sty: Converting picture '\moodle@basename.pdf' to PNG...^^J}%
\edef\gscmdline{\gs\otherspace -sOutputFile=\moodle@basename\TikzExportExtension\otherspace -r150 \moodle@basename.pdf}%
- \xa\ShellEscape\xa{\gscmdline}}%
+ \xa\ShellEscape\xa{\gscmdline}%
+ \moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{Ghostscript conversion}%
+ }%
\else % latex
\def\ExportTikz{ \message{moodle.sty: Converting picture '\moodle@basename.ps' to PNG...^^J}%
\edef\gscmdline{\gs\otherspace -sOutputFile=\moodle@basename\TikzExportExtension\otherspace -r150 \\moodle@basename.ps}%
- \xa\ShellEscape\xa{\gscmdline}}%
+ \xa\ShellEscape\xa{\gscmdline}%
+ \moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{Ghostscript conversion}%
+ }%
\fi
\def\OptimizeExport{ \message{moodle.sty: Optimizing '\moodle@basename.png'...^^J}%
\edef\cmdline{\optipng\otherspace \moodle@basename\TikzExportExtension}%
- \xa\ShellEscape\xa{\cmdline}}%
+ \xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{PNG optimization}%
+ }%
\fi
\let\moodle@oldtikzpicture=\tikzpicture
%The following code lets us run things *before* the normal \begin{tikzpicture}.
@@ -5678,6 +6013,7 @@
\ExportTikz
\OptimizeExport
\ConvertToBaseLXIV{\moodle@basename}{\TikzExportExtension}%
+ \IfFileExists{\moodle@basename.enc}{}{\PackageError{moodle}{Conversion failed}{Check your base64 conversion utiliy}}%
\message{moodle.sty: Reading base64 file '\tikzexternalrealjob-tikztemp-\the\numconvertedpictures.enc'...^^J}%
\savebaselxivdata
\message{moodle.sty: base64 data saved.^^J}%
@@ -6182,6 +6518,19 @@
% related to autospacing when using |pdfLaTeX|. We shall warn them.
% \begin{macrocode}
\AtBeginDocument{%
+ \def\moodle@babel@german@warn{\PackageWarning{moodle}{Be careful when using moodle
+ and German-related babel package options. The symbol " is made active and your umlauts
+ will confuse moodle. You can either 1) compile with xelatex/lualatex with UTF-8 coded
+ characters or 2) avoid the babel option.}
+ }
+ \@ifpackagewith{babel}{german}{\moodle@babel@german@warn}{\relax}%
+ \@ifpackagewith{babel}{austrian}{\moodle@babel@german@warn}{\relax}%
+ \@ifpackagewith{babel}{swissgerman}{\moodle@babel@german@warn}{\relax}%
+ \@ifpackagewith{babel}{swissgerman.toss}{\moodle@babel@german@warn}{\relax}%
+ \@ifpackagewith{babel}{ngerman}{\moodle@babel@german@warn}{\relax}%
+ \@ifpackagewith{babel}{naustrian}{\moodle@babel@german@warn}{\relax}%
+ \@ifpackagewith{babel}{nswissgerman}{\moodle@babel@german@warn}{\relax}%
+ \@ifpackagewith{babel}{nswissgerman.toss}{\moodle@babel@german@warn}{\relax}%
\ifPDFTeX % pdflatex or latex
\@ifpackagewith{babel}{french}{%
\PackageWarning{moodle}{Be careful when using LaTeX, moodle, and the babel package with option 'french'. Autospacing produces in undesired symbols in the XML. You can either 1) compile with xelatex/lualatex or 2) add '\NoAutoSpacing' after '\begin{quiz}'.}%
diff --git a/macros/latex/contrib/moodle/moodle.pdf b/macros/latex/contrib/moodle/moodle.pdf
index 1c047103cd..47a4c2ecca 100644
--- a/macros/latex/contrib/moodle/moodle.pdf
+++ b/macros/latex/contrib/moodle/moodle.pdf
Binary files differ